#include "gc_private.h"
Go to the source code of this file.
Defines | |
#define | LOG_HT_ENTRIES 14 |
#define | HT_ENTRIES ((word)1 << LOG_HT_ENTRIES) |
#define | HT_SIZE (HT_ENTRIES >> LOGWL) |
#define | HASH(addr) (((addr) >> LOG_HBLKSIZE) & (HT_ENTRIES - 1)) |
#define | get_bl_entry_from_index(bl, index) (((bl)[divWORDSZ(index)] >> modWORDSZ(index)) & 1) |
#define | set_bl_entry_from_index(bl, index) (bl)[divWORDSZ(index)] |= 1 << modWORDSZ(index) |
#define | clear_bl_entry_from_index(bl, index) (bl)[divWORDSZ(index)] &= ~(1 << modWORDSZ(index)) |
Typedefs | |
typedef word | black_list_t [HT_SIZE] |
Functions | |
GC_bl_init () | |
void | GC_clear_bl (word *doomed) |
void | GC_promote_black_lists () |
void | GC_add_to_black_list_normal (word p) |
void | GC_add_to_black_list_stack (word p) |
struct hblk * | GC_is_black_listed (struct hblk *h, word len) |
Variables | |
word * | GC_new_normal_bl |
word * | GC_old_normal_bl |
word * | GC_incomplete_normal_bl |
word * | GC_new_stack_bl |
word * | GC_old_stack_bl |
word * | GC_incomplete_stack_bl |
#define clear_bl_entry_from_index | ( | bl, | |||
index | ) | (bl)[divWORDSZ(index)] &= ~(1 << modWORDSZ(index)) |
Definition at line 61 of file black_list.c.
#define get_bl_entry_from_index | ( | bl, | |||
index | ) | (((bl)[divWORDSZ(index)] >> modWORDSZ(index)) & 1) |
Definition at line 57 of file black_list.c.
Referenced by GC_add_to_black_list_normal(), GC_add_to_black_list_stack(), and GC_is_black_listed().
#define HASH | ( | addr | ) | (((addr) >> LOG_HBLKSIZE) & (HT_ENTRIES - 1)) |
Definition at line 40 of file black_list.c.
Referenced by GC_add_to_black_list_normal(), GC_add_to_black_list_stack(), GC_is_black_listed(), GC_register_disappearing_link(), GC_register_finalizer(), and GC_unregister_disappearing_link().
#define HT_ENTRIES ((word)1 << LOG_HT_ENTRIES) |
Definition at line 36 of file black_list.c.
#define HT_SIZE (HT_ENTRIES >> LOGWL) |
#define LOG_HT_ENTRIES 14 |
Definition at line 33 of file black_list.c.
#define set_bl_entry_from_index | ( | bl, | |||
index | ) | (bl)[divWORDSZ(index)] |= 1 << modWORDSZ(index) |
Definition at line 59 of file black_list.c.
Referenced by GC_add_to_black_list_normal(), and GC_add_to_black_list_stack().
typedef word black_list_t[HT_SIZE] |
Definition at line 38 of file black_list.c.
void GC_add_to_black_list_normal | ( | word | p | ) |
Definition at line 107 of file black_list.c.
References GC_incomplete_normal_bl, GC_modws_valid_offsets, GC_new_normal_bl, GC_printf1, get_bl_entry_from_index, HASH, HDR, and set_bl_entry_from_index.
void GC_add_to_black_list_stack | ( | word | p | ) |
Definition at line 129 of file black_list.c.
References GC_incomplete_stack_bl, GC_new_stack_bl, GC_printf1, get_bl_entry_from_index, HASH, HDR, and set_bl_entry_from_index.
Referenced by GC_mark_all_stack().
GC_bl_init | ( | ) |
Definition at line 64 of file black_list.c.
References GC_incomplete_normal_bl, GC_incomplete_stack_bl, GC_new_normal_bl, GC_new_stack_bl, GC_old_normal_bl, GC_old_stack_bl, and GC_scratch_alloc().
void GC_clear_bl | ( | word * | doomed | ) |
Definition at line 78 of file black_list.c.
References bzero, and HT_SIZE.
Referenced by GC_promote_black_lists().
Definition at line 153 of file black_list.c.
References divHBLKSZ, divWORDSZ, GC_new_normal_bl, GC_new_stack_bl, GC_old_normal_bl, GC_old_stack_bl, get_bl_entry_from_index, HASH, modWORDSZ, and WORDSZ.
Referenced by GC_allochblk().
void GC_promote_black_lists | ( | ) |
Definition at line 86 of file black_list.c.
References GC_clear_bl(), GC_incomplete_normal_bl, GC_incomplete_stack_bl, GC_new_normal_bl, GC_new_stack_bl, GC_old_normal_bl, and GC_old_stack_bl.
Referenced by GC_gcollect_inner().
Definition at line 50 of file black_list.c.
Referenced by GC_add_to_black_list_normal(), GC_bl_init(), and GC_promote_black_lists().
Definition at line 55 of file black_list.c.
Referenced by GC_add_to_black_list_stack(), GC_bl_init(), and GC_promote_black_lists().
Definition at line 44 of file black_list.c.
Referenced by GC_add_to_black_list_normal(), GC_bl_init(), GC_is_black_listed(), and GC_promote_black_lists().
Definition at line 53 of file black_list.c.
Referenced by GC_add_to_black_list_stack(), GC_bl_init(), GC_is_black_listed(), and GC_promote_black_lists().
Definition at line 47 of file black_list.c.
Referenced by GC_bl_init(), GC_is_black_listed(), and GC_promote_black_lists().
Definition at line 54 of file black_list.c.
Referenced by GC_bl_init(), GC_is_black_listed(), and GC_promote_black_lists().