From: Brian Demsky Date: Thu, 9 Apr 2020 00:38:29 +0000 (-0700) Subject: Fix mistakes in refactoring X-Git-Url: http://plrg.eecs.uci.edu/git/?p=c11tester.git;a=commitdiff_plain;h=909fa209cb60fff5d6f72e5826eae13e6eca96de Fix mistakes in refactoring --- diff --git a/actionlist.cc b/actionlist.cc index 68345986..9f95384d 100644 --- a/actionlist.cc +++ b/actionlist.cc @@ -174,15 +174,16 @@ void actionlist::removeAction(ModelAction * act) { int shiftbits = MODELCLOCKBITS; modelclock_t clock = act->get_seq_number(); allnode * ptr = &root; + allnode * oldptr; modelclock_t currindex; while(shiftbits != 0) { shiftbits -= ALLBITS; currindex = (clock >> shiftbits) & ALLMASK; - allnode * tmp = ptr->children[currindex]; - if (tmp == NULL) + oldptr = ptr; + ptr = ptr->children[currindex]; + if (ptr == NULL) return; - ptr = tmp; } sllnode * llnode = reinterpret_cast *>(((uintptr_t) ptr) & ACTMASK); @@ -205,11 +206,11 @@ void actionlist::removeAction(ModelAction * act) { if (first) { //see if previous node has same clock as us... if (llnodeprev != NULL && llnodeprev->val->get_seq_number() == clock) { - ptr->children[currindex] = reinterpret_cast(((uintptr_t)llnodeprev) | ISACT); + oldptr->children[currindex] = reinterpret_cast(((uintptr_t)llnodeprev) | ISACT); } else { //remove ourselves and go up tree - ptr->children[currindex] = NULL; - decrementCount(ptr); + oldptr->children[currindex] = NULL; + decrementCount(oldptr); } } delete llnode;