Complete the transfer of deletions of some actions
[c11tester.git] / history.cc
index d5179332a36e8e489a73b5248921d8535cd74a01..3fe570b28e8c71f1334f195d4be23253a8efbe75 100644 (file)
@@ -181,15 +181,13 @@ void ModelHistory::process_action(ModelAction *act, thread_id_t tid)
                return;
 
        /* Add to curr_inst_list */
                return;
 
        /* Add to curr_inst_list */
-       act->setFuncActRef(curr_act_list->add_back(act));
+       curr_act_list->push_back(act);
+
+       // Increment ref count for every action and reads_froms
+       act->incr_read_ref_count();
        if (act->is_read()) {
                ModelAction * rf = act->get_reads_from();
        if (act->is_read()) {
                ModelAction * rf = act->get_reads_from();
-               void * func_act_ref = rf->getFuncActRef();
-               if (func_act_ref == WRITE_REFERENCED) {
-                       // do nothing
-               } else if (func_act_ref == NULL) {
-                       rf->setFuncActRef(WRITE_REFERENCED);
-               }
+               rf->incr_read_ref_count();
        }
 
        FuncNode * func_node = func_nodes[func_id];
        }
 
        FuncNode * func_node = func_nodes[func_id];