minor fix
[cdsspec-compiler.git] / benchmark / ms-queue / my_queue.c
index 634a051c56ad79622fcea50c1937fb2c2ab61b65..232e5d839347794a2056a5c0de5c7e17c6d50811 100644 (file)
@@ -58,12 +58,6 @@ static void reclaim(unsigned int node)
 
 void init_queue(queue_t *q, int num_threads)
 {
-       /**
-               @Begin
-               @Entry_point
-               @End
-       */
-
        int i, j;
 
        /* Initialize each thread's free list with INITIAL_FREE pointers */
@@ -113,20 +107,19 @@ void enqueue(queue_t *q, unsigned int val)
                                pointer value = MAKE_POINTER(node, get_count(next) + 1);
                                success = atomic_compare_exchange_strong_explicit(&q->nodes[get_ptr(tail)].next,
                                                &next, value, release, release);
+                               /**
+                                       @Begin
+                                       @Commit_point_define_check: success == true
+                                       @Label: Enqueue_Success_Point
+                                       @End
+                               */
                        }
                        if (!success) {
                                unsigned int ptr = get_ptr(atomic_load_explicit(&q->nodes[get_ptr(tail)].next, acquire));
                                pointer value = MAKE_POINTER(ptr,
                                                get_count(tail) + 1);
-                               int commit_success = 0;
-                               commit_success = atomic_compare_exchange_strong_explicit(&q->tail,
+                               atomic_compare_exchange_strong_explicit(&q->tail,
                                                &tail, value, release, release);
-                               /**
-                                       @Begin
-                                       @Commit_point_define_check: __ATOMIC_RET__ == true
-                                       @Label: Enqueue_Success_Point
-                                       @End
-                               */
                                thrd_yield();
                        }
                }
@@ -137,7 +130,6 @@ void enqueue(queue_t *q, unsigned int val)
                        release, release);
 }
 
-
 /**
        @Begin
        @Interface_define: Dequeue
@@ -162,6 +154,12 @@ unsigned int dequeue(queue_t *q)
                                MODEL_ASSERT(get_ptr(next) != POISON_IDX);
 
                                if (get_ptr(next) == 0) { // NULL
+                                       /**
+                                               @Begin
+                                               @Commit_point_define_check: true
+                                               @Label: Dequeue_Empty_Point
+                                               @End
+                                       */
                                        return 0; // NULL
                                }
                                atomic_compare_exchange_strong_explicit(&q->tail,
@@ -177,7 +175,7 @@ unsigned int dequeue(queue_t *q)
                                                release, release);
                                /**
                                        @Begin
-                                       @Commit_point_define_check: __ATOMIC_RET__ == true
+                                       @Commit_point_define_check: success == true
                                        @Label: Dequeue_Success_Point
                                        @End
                                */