README.md: update much of the README
[cdsspec-compiler.git] / execution.h
index bb4ebb08f0b67cb3b30af855196c3b2b217b8013..9c9c1ca454431dc64a3ee8ddf17cd19d13c8a5d4 100644 (file)
@@ -141,7 +141,7 @@ private:
        ModelAction * check_current_action(ModelAction *curr);
        bool initialize_curr_action(ModelAction **curr);
        bool process_read(ModelAction *curr);
-       bool process_write(ModelAction *curr);
+       bool process_write(ModelAction *curr, work_queue_t *work);
        bool process_fence(ModelAction *curr);
        bool process_mutex(ModelAction *curr);
        bool process_thread_action(ModelAction *curr);
@@ -160,7 +160,8 @@ private:
        void set_backtracking(ModelAction *act);
        bool set_latest_backtrack(ModelAction *act);
        Promise * pop_promise_to_resolve(const ModelAction *curr);
-       bool resolve_promise(ModelAction *curr, Promise *promise);
+       bool resolve_promise(ModelAction *curr, Promise *promise,
+                       work_queue_t *work);
        void compute_promises(ModelAction *curr);
        void compute_relseq_breakwrites(ModelAction *curr);
 
@@ -201,6 +202,13 @@ private:
        HashTable<const void *, action_list_t *, uintptr_t, 4> condvar_waiters_map;
 
        HashTable<void *, SnapVector<action_list_t> *, uintptr_t, 4> obj_thrd_map;
+
+       /**
+        * @brief List of currently-pending promises
+        *
+        * Promises are sorted by the execution order of the read(s) which
+        * created them
+        */
        SnapVector<Promise *> promises;
        SnapVector<struct PendingFutureValue> futurevalues;