Exemple #1
0
static void
_chimp_symtable_mark (ChimpGC *gc, ChimpRef *self)
{
    CHIMP_SUPER (self)->mark (gc, self);

    chimp_gc_mark_ref (gc, CHIMP_SYMTABLE(self)->filename);
    chimp_gc_mark_ref (gc, CHIMP_SYMTABLE(self)->lookup);
    chimp_gc_mark_ref (gc, CHIMP_SYMTABLE(self)->stack);
    chimp_gc_mark_ref (gc, CHIMP_SYMTABLE(self)->ste);
}
Exemple #2
0
static void
_chimp_symtable_entry_mark (ChimpGC *gc, ChimpRef *self)
{
    CHIMP_SUPER (self)->mark (gc, self);

    chimp_gc_mark_ref (gc, CHIMP_SYMTABLE_ENTRY(self)->symtable);
    chimp_gc_mark_ref (gc, CHIMP_SYMTABLE_ENTRY(self)->scope);
    chimp_gc_mark_ref (gc, CHIMP_SYMTABLE_ENTRY(self)->symbols);
    chimp_gc_mark_ref (gc, CHIMP_SYMTABLE_ENTRY(self)->parent);
    chimp_gc_mark_ref (gc, CHIMP_SYMTABLE_ENTRY(self)->children);
}
Exemple #3
0
Fichier : hash.c Projet : eax/chimp
static void
_chimp_hash_mark (ChimpGC *gc, ChimpRef *self)
{
    CHIMP_SUPER (self)->mark (gc, self);

    size_t i;
    for (i = 0; i < CHIMP_HASH(self)->size; i++) {
        chimp_gc_mark_ref (gc, CHIMP_HASH(self)->keys[i]);
        chimp_gc_mark_ref (gc, CHIMP_HASH(self)->values[i]);
    }
}