1 #ifndef BAMBOO_MULTICORE_GC_COMPACT_H
2 #define BAMBOO_MULTICORE_GC_COMPACT_H
8 unsigned int localblocknum; // local block num for heap
9 void * base; // base virtual address of current heap block
10 void * ptr; // current pointer into block
11 void * bound; // upper bound of current block
13 void * pagebound; // upper bound of current available page
17 void initOrig_Dst(struct moveHelper * orig,struct moveHelper * to);
18 void compacthelper(struct moveHelper * orig,struct moveHelper * to);
20 void compact_master(struct moveHelper * orig, struct moveHelper * to);
22 unsigned int compactpages(struct moveHelper * orig,struct moveHelper * to);
23 #define COMPACTUNITS(o,t) compactpages((o), (t))
25 unsigned int compactblocks(struct moveHelper * orig,struct moveHelper * to);
26 #define COMPACTUNITS(o,t) compactblocks((o), (t))
28 #endif // MULTICORE_GC
30 #endif // BAMBOO_MULTICORE_GC_COMPACT_H