From: bdemsky Date: Tue, 5 Apr 2011 20:45:02 +0000 (+0000) Subject: gc bug fix X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=da189779f0fa706ea48b1f61e42a907ea44ae586;p=IRC.git gc bug fix --- diff --git a/Robust/src/Runtime/garbage.c b/Robust/src/Runtime/garbage.c index 7d8c7fde..dcef65b7 100644 --- a/Robust/src/Runtime/garbage.c +++ b/Robust/src/Runtime/garbage.c @@ -242,6 +242,17 @@ void fixtable(chashlistnode_t ** tc_table, chashlistnode_t **tc_list, cliststruc } } #endif + { + pointer=pointerarray[OBJECTTYPE]; + //handle object class + INTPTR size=pointer[0]; + int i; + for(i=1; i<=size; i++) { + unsigned int offset=pointer[i]; + void * objptr=*((void **)(((char *)vptr)+offset)); + SENQUEUE(objptr, *((void **)(((char *)vptr)+offset))); + } + } } else { INTPTR size=pointer[0]; int i;