changes
authorbdemsky <bdemsky>
Tue, 14 Jun 2011 06:39:33 +0000 (06:39 +0000)
committerbdemsky <bdemsky>
Tue, 14 Jun 2011 06:39:33 +0000 (06:39 +0000)
Robust/src/Runtime/bamboo/multicoregarbage.c
Robust/src/Runtime/bamboo/multicoregarbage.h

index 0aa25612880f209ba2613331695594118da0bebe..01572d64f74558ec099d76a4dc873897b986e0e9 100644 (file)
@@ -522,7 +522,7 @@ INLINE void moveLObjs() {
     gc_lobjqueueinit4_I();
     while(gc_lobjmoreItems4_I()) {
       ptr = (unsigned int)(gc_lobjdequeue4_I(&size, &host));
-      ALIGNSIZE(size, &isize);
+      isize=ALIGNSIZE(size, &isize);
       if(remain >= isize) {
         remain -= isize;
         // move the large obj
index 83e945756a160dffb1f9c93f5977373a3675af94..5dd5ceebae559777f92aa0f7a2b792cc7f50890b 100644 (file)
@@ -96,7 +96,6 @@ volatile unsigned int gcmovepending;
 // memory and will never be moved or garbage collected
 unsigned int * gcmappingtbl;
 unsigned int bamboo_rmsp_size;
-unsigned int bamboo_baseobjsize;
 
 // table recording the starting address of each small block
 // (size is BAMBOO_SMEM_SIZE)
@@ -133,7 +132,10 @@ unsigned int size_cachepolicytbl;
 
 #define ALIGNMENTBYTES 32
 #define ALIGNMENTSHIFT 5
-#define ALIGNSIZE(x) (x>>ALIGNMENTSHIFT)
+#define ALIGNOBJSIZE(x) (x>>ALIGNMENTSHIFT)
+
+#define ALIGNSIZE(s, as) (*((unsigned int*)as))=((((unsigned int)(s-1))&(~(BAMBOO_CACHE_LINE_MASK)))+(BAMBOO_CACHE_LINE_SIZE))
+
 
 // mapping of pointer to block # (start from 0), here the block # is
 // the global index