#include <stdio.h>
#include "gc_private.h"
Go to the source code of this file.
Defines | |
#define | INITIAL_MARK_STACK_SIZE (1*HBLKSIZE) |
#define | SPLIT_RANGE_WORDS 128 |
#define | BUFSIZE 1024 |
Functions | |
mse * | GC_normal_mark_proc (word *addr, hdr *hhdr, mse *msp, mse *msl) |
mse * | GC_no_mark_proc (word *addr, hdr *hhdr, mse *msp, mse *msl) |
void | GC_mark () |
static void | alloc_mark_stack (word n) |
void | GC_mark_init () |
void | GC_mark_reliable () |
void | GC_mark_all (ptr_t bottom, ptr_t top) |
void | GC_mark_all_stack (ptr_t bottom, ptr_t top) |
static void | remark_block (struct hblk *h, word dummy) |
void | GC_remark () |
Variables | |
mse * | GC_mark_stack |
word | GC_mark_stack_size = 0 |
mse * | GC_mark_stack_top |
static bool | dropped_some = FALSE |
word * | GC_buffer |
#define BUFSIZE 1024 |
#define INITIAL_MARK_STACK_SIZE (1*HBLKSIZE) |
#define SPLIT_RANGE_WORDS 128 |
Referenced by GC_mark().
static void alloc_mark_stack | ( | word | n | ) | [static] |
Definition at line 194 of file mark.c.
References EXIT, GC_add_to_heap(), GC_err_printf0, GC_mark_stack_size, and GET_MEM.
Referenced by GC_mark_init(), and GC_mark_reliable().
void GC_mark | ( | ) |
Definition at line 96 of file mark.c.
References BYTES_TO_WORDS, divWORDSZ, GC_ADD_TO_BLACK_LIST_NORMAL, GC_greatest_plausible_heap_addr, GC_least_plausible_heap_addr, GC_mark_stack_size, hblkhdr::hb_sz, HBLKDISPL, HBLKPTR, HBLKSIZE, HDR, HDR_BYTES, IS_FORWARDING_ADDR_OR_NIL, MAP_ENTRY, map_entry_type, modWORDSZ, OBJ_INVALID, and SPLIT_RANGE_WORDS.
Referenced by GC_mark_reliable(), and remark_block().
Definition at line 268 of file mark.c.
References BUFSIZE, GC_add_to_black_list_stack(), GC_base(), GC_buffer, GC_greatest_plausible_heap_addr, GC_least_plausible_heap_addr, GC_mark_all(), and GC_scratch_alloc().
void GC_mark_init | ( | ) |
void GC_mark_reliable | ( | ) |
Definition at line 225 of file mark.c.
References alloc_mark_stack(), dropped_some, FALSE, GC_mark(), GC_mark_stack_size, GC_printf1, and GC_remark().
Referenced by GC_mark_all().
void GC_remark | ( | ) |
Definition at line 357 of file mark.c.
References GC_apply_to_all_blocks(), and remark_block().
Referenced by GC_mark_reliable().
Definition at line 324 of file mark.c.
References GC_mark(), HDR, HDR_WORDS, mark_bit_from_hdr, and MAXOBJSZ.
Referenced by GC_remark().
bool dropped_some = FALSE [static] |
Definition at line 40 of file mark.c.
Referenced by alloc_mark_stack(), GC_mark(), and GC_mark_reliable().