00001 #line 447 "./lpsrc/flx_gc.pak"
00002
00003
00004
00005
00006 namespace flx {
00007 namespace gc {
00008 namespace generic {
00009
00010
00011 struct frame_t
00012 {
00013 gc_shape_t *shape;
00014 unsigned long n_objects;
00015 frame_t *next;
00016 frame_t *prev;
00017 collector_t *collector;
00018 bool garbage;
00019 bool finalised;
00020 };
00021
00022 }}}
00023
00024
00025
00026 #define _ROUNDUP(i,n) ((i + n - 1) / n * n)
00027 #define _ALIGN(i) _ROUNDUP(i,FLX_MAX_ALIGN)
00028
00029 #define FRAMESIZE int(_ALIGN(sizeof(flx::gc::generic::frame_t)))
00030 #define FRAME_TO_CLIENT(p) \
00031 ((void*)((unsigned char*)(void*)p + FRAMESIZE))
00032 #define CLIENT_TO_FRAME(p) \
00033 ((frame_t*)(void*)((unsigned char*)p - FRAMESIZE))
00034
00035