execution: bugfix - resolved promises should propagate synchronization
[cdsspec-compiler.git] / cyclegraph.cc
index 77c0b68f13cfa86ef88ac0274b20435feec6c637..7e5e95602408b47f5d4ff5b746e64db88287366f 100644 (file)
@@ -2,7 +2,6 @@
 #include "action.h"
 #include "common.h"
 #include "promise.h"
-#include "model.h"
 #include "threads-model.h"
 
 /** Initializes a CycleGraph object. */
@@ -314,12 +313,12 @@ static void print_node(FILE *file, const CycleNode *node, int label)
 {
        if (node->is_promise()) {
                const Promise *promise = node->getPromise();
-               int idx = model->get_promise_number(promise);
+               int idx = promise->get_index();
                fprintf(file, "P%u", idx);
                if (label) {
                        int first = 1;
                        fprintf(file, " [label=\"P%d, T", idx);
-                       for (unsigned int i = 0 ; i < model->get_num_threads(); i++)
+                       for (unsigned int i = 0 ; i < promise->max_available_thread_idx(); i++)
                                if (promise->thread_is_available(int_to_id(i))) {
                                        fprintf(file, "%s%u", first ? "": ",", i);
                                        first = 0;