CACAO
Macros | Functions | Variables
rootset.c File Reference

Go to the source code of this file.

Macros

#define ROOTSET_ADD(adr, mrk, tp)
 

Functions

rootset_trootset_create (void)
 
rootset_trootset_resize (rootset_t *rs)
 
static rootset_trootset_from_globals (rootset_t *rs)
 
static rootset_trootset_from_classes (rootset_t *rs)
 
static rootset_trootset_from_thread (threadobject *thread, rootset_t *rs)
 
rootset_trootset_readout ()
 
void rootset_writeback (rootset_t *rs)
 
void rootset_print (rootset_t *rs)
 

Variables

static const char * reftype_names []
 

Macro Definition Documentation

#define ROOTSET_ADD (   adr,
  mrk,
  tp 
)
Value:
if (refcount >= rs->capacity) \
rs = rootset_resize(rs); \
rs->refs[refcount].ref = (adr); \
rs->refs[refcount].marks = (mrk); \
rs->refs[refcount].reftype = (tp); \
refcount++;
rootset_t * rootset_resize(rootset_t *rs)
Definition: rootset.c:60

Definition at line 96 of file rootset.c.

Function Documentation

rootset_t* rootset_create ( void  )

Definition at line 45 of file rootset.c.

static rootset_t* rootset_from_classes ( rootset_t rs)
static

Definition at line 150 of file rootset.c.

static rootset_t* rootset_from_globals ( rootset_t rs)
static

Definition at line 104 of file rootset.c.

static rootset_t* rootset_from_thread ( threadobject thread,
rootset_t rs 
)
static

Definition at line 222 of file rootset.c.

void rootset_print ( rootset_t rs)

Definition at line 403 of file rootset.c.

rootset_t* rootset_readout ( )

Definition at line 330 of file rootset.c.

rootset_t* rootset_resize ( rootset_t rs)

Definition at line 60 of file rootset.c.

void rootset_writeback ( rootset_t rs)

Definition at line 366 of file rootset.c.

Variable Documentation

const char* reftype_names[]
static
Initial value:
= {
"THREADOBJECT", "CLASSLOADER ", "GLOBAL-REF ",
"FINALIZER ", "LOCAL-REF ", "ON-STACK-ADR",
"STATIC FIELD", "LOCKRECORD "
}

Definition at line 397 of file rootset.c.