#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().
1.5.4