bug fix
authorbdemsky <bdemsky>
Fri, 24 Jun 2011 23:39:08 +0000 (23:39 +0000)
committerbdemsky <bdemsky>
Fri, 24 Jun 2011 23:39:08 +0000 (23:39 +0000)
Robust/src/Runtime/bamboo/multicoregccompact.c
Robust/src/Runtime/bamboo/multicoregcflush.c
Robust/src/Runtime/mem.c

index a7434d4662150c5a511fd7d3bf1535d69f786381..8c7b14d2fcc0e417cf5f05948dedcb719fa62928 100644 (file)
@@ -135,6 +135,7 @@ void compacthelper(struct moveHelper * orig,struct moveHelper * to) {
       senttopmessage=true;
     }
     unsigned int minimumbytes=compactblocks(orig, to);
+
     if (orig->ptr==orig->bound) {
       //need more data to compact
       //increment the core
@@ -326,7 +327,6 @@ unsigned int compactblocks(struct moveHelper * orig, struct moveHelper * to) {
     //Scan more carefully next
     objlength=getMarkedLength(origptr);
 
-
     if (objlength!=NOTMARKED) {
       unsigned int length=ALIGNSIZETOBYTES(objlength);
       void *endtoptr=toptr+length;
index 740f7a258ce7716cacc9ff4a47ec15ced4989f6e..4706c6a6d7015a5100faa2fe8e9cdea518d96a2c 100644 (file)
@@ -190,7 +190,7 @@ void * updateblocks(struct moveHelper * orig, struct moveHelper * to) {
     if (!gcmarktbl[arrayoffset]) {
       do {
        arrayoffset++;
-       if (arrayoffset<origendoffset) {
+       if (arrayoffset>=origendoffset) {
          //finished with block...
          origptr=origbound;
          orig->ptr=origptr;
@@ -213,17 +213,18 @@ void * updateblocks(struct moveHelper * orig, struct moveHelper * to) {
        orig->ptr=origptr;
        return dstptr;
       }
-      
+
       /* Move the object */
       if(origptr <= endtoptr) {
         memmove(dstptr, origptr, length);
       } else {
         memcpy(dstptr, origptr, length);
       }
-      
+
       /* Update the pointers in the object */
       updatePtrsInObj(dstptr);
 
+
       /* Clear the mark */
       clearMark(origptr);
 
index 29c7e4d0e2009576c8fd86edeac9915c5640e8fd..1e2e1a5f64985143f516344a0c99f94878881382 100644 (file)
@@ -21,6 +21,7 @@ void * mycalloc_share(struct garbagelist * stackptr, int size) {
       gc(stackptr);
     }
     p = BAMBOO_SHARE_MEM_CALLOC(isize); // calloc(m, isize);
+
     if(p == NULL) {
       // no more global shared memory
       if(hasgc < 5) {