CACAO
Macros | Functions
compact.c File Reference

Go to the source code of this file.

Macros

#define GC_THREAD_BIT   0x01
 
#define GC_IS_THREADED(ptr)   (((ptrint) ptr) & GC_THREAD_BIT)
 
#define GC_REMOVE_THREAD_BIT(ptr)   (((ptrint) ptr) & ~GC_THREAD_BIT)
 
#define GC_SET_THREAD_BIT(ptr)   (((ptrint) ptr) | GC_THREAD_BIT)
 
#define GC_THREAD(ref, refptr, start, end)
 

Functions

static void compact_thread_rootset (rootset_t *rs, void *start, void *end)
 
static void compact_thread_references (java_object_t *o, void *start, void *end)
 
static void compact_unthread_references (java_object_t *o, void *new)
 
static u4 compact_move (u1 *old, u1 *new, u4 size)
 
void compact_me (rootset_t *rs, regioninfo_t *region)
 

Macro Definition Documentation

#define GC_IS_THREADED (   ptr)    (((ptrint) ptr) & GC_THREAD_BIT)

Definition at line 42 of file compact.c.

#define GC_REMOVE_THREAD_BIT (   ptr)    (((ptrint) ptr) & ~GC_THREAD_BIT)

Definition at line 43 of file compact.c.

#define GC_SET_THREAD_BIT (   ptr)    (((ptrint) ptr) | GC_THREAD_BIT)

Definition at line 44 of file compact.c.

#define GC_THREAD (   ref,
  refptr,
  start,
  end 
)
Value:
if (POINTS_INTO(ref, start, end)) { \
*refptr = (java_object_t *) ref->vftbl; \
ref->vftbl = (struct _vftbl *) GC_SET_THREAD_BIT(refptr); \
}
#define GC_IS_MARKED(obj)
Definition: mark.h:42
#define POINTS_INTO(ptr, ptr_start, ptr_end)
Definition: gc.h:105
#define GC_SET_THREAD_BIT(ptr)
Definition: compact.c:44
#define GC_ASSERT(assertion)
Definition: gc.h:59

Definition at line 46 of file compact.c.

#define GC_THREAD_BIT   0x01

Definition at line 40 of file compact.c.

Function Documentation

void compact_me ( rootset_t rs,
regioninfo_t region 
)

Definition at line 276 of file compact.c.

static u4 compact_move ( u1 old,
u1 new,
u4  size 
)
static

Definition at line 211 of file compact.c.

static void compact_thread_references ( java_object_t o,
void start,
void end 
)
static

Definition at line 108 of file compact.c.

static void compact_thread_rootset ( rootset_t rs,
void start,
void end 
)
static

Definition at line 65 of file compact.c.

static void compact_unthread_references ( java_object_t o,
void new 
)
static

Definition at line 155 of file compact.c.