gc bug fix
authorbdemsky <bdemsky>
Tue, 5 Apr 2011 20:45:02 +0000 (20:45 +0000)
committerbdemsky <bdemsky>
Tue, 5 Apr 2011 20:45:02 +0000 (20:45 +0000)
Robust/src/Runtime/garbage.c

index 7d8c7fde395a39af153fb61144c65f54ba4fad76..dcef65b701467b10695e71b2f6cf189d079692e1 100644 (file)
@@ -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;