mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-21 14:49:18 +02:00
s/gc_mark/markedp to avoid confusion with the mark command
This commit is contained in:
parent
3aeef15032
commit
3804c0ecb2
3 changed files with 12 additions and 12 deletions
14
gc.c
14
gc.c
|
@ -107,9 +107,9 @@ void sexp_mark (sexp ctx, sexp x) {
|
|||
sexp t, *p;
|
||||
struct sexp_gc_var_t *saves;
|
||||
loop:
|
||||
if (!x || !sexp_pointerp(x) || !sexp_valid_object_p(ctx, x) || sexp_gc_mark(x))
|
||||
if (!x || !sexp_pointerp(x) || !sexp_valid_object_p(ctx, x) || sexp_markedp(x))
|
||||
return;
|
||||
sexp_gc_mark(x) = 1;
|
||||
sexp_markedp(x) = 1;
|
||||
if (sexp_contextp(x))
|
||||
for (saves=sexp_context_saves(x); saves; saves=saves->next)
|
||||
if (saves->var) sexp_mark(ctx, *(saves->var));
|
||||
|
@ -150,7 +150,7 @@ void sexp_conservative_mark (sexp ctx) {
|
|||
p = (sexp) (((char*)p) + r->size);
|
||||
continue;
|
||||
}
|
||||
if (!sexp_gc_mark(p) && stack_references_pointer_p(ctx, p)) {
|
||||
if (!sexp_markedp(p) && stack_references_pointer_p(ctx, p)) {
|
||||
#if SEXP_USE_DEBUG_GC > 3
|
||||
if (p && sexp_pointerp(p)) {
|
||||
fprintf(stderr, SEXP_BANNER("MISS: %p: %s"), p,sexp_pointer_source(p));
|
||||
|
@ -189,14 +189,14 @@ void sexp_reset_weak_references(sexp ctx) {
|
|||
p = (sexp) (((char*)p) + r->size);
|
||||
continue;
|
||||
}
|
||||
if (sexp_gc_mark(p)) {
|
||||
if (sexp_markedp(p)) {
|
||||
t = sexp_object_type(ctx, p);
|
||||
if (sexp_type_weak_base(t) > 0) {
|
||||
all_reset_p = 1;
|
||||
v = (sexp*) ((char*)p + sexp_type_weak_base(t));
|
||||
len = sexp_type_num_weak_slots_of_object(t, p);
|
||||
for (i=0; i<len; i++) {
|
||||
if (v[i] && sexp_pointerp(v[i]) && ! sexp_gc_mark(v[i])) {
|
||||
if (v[i] && sexp_pointerp(v[i]) && ! sexp_markedp(v[i])) {
|
||||
v[i] = SEXP_FALSE;
|
||||
sexp_brokenp(p) = 1;
|
||||
} else {
|
||||
|
@ -243,7 +243,7 @@ sexp sexp_sweep (sexp ctx, size_t *sum_freed_ptr) {
|
|||
fprintf(stderr, SEXP_BANNER("%p sweep: bad size at %p + %d > %p"),
|
||||
ctx, p, sexp_pointer_tag(p), r);
|
||||
#endif
|
||||
if (! sexp_gc_mark(p)) {
|
||||
if (! sexp_markedp(p)) {
|
||||
/* free p */
|
||||
finalizer = sexp_type_finalize(sexp_object_type(ctx, p));
|
||||
if (finalizer) finalizer(ctx sexp_api_pass(NULL, 1), p);
|
||||
|
@ -279,7 +279,7 @@ sexp sexp_sweep (sexp ctx, size_t *sum_freed_ptr) {
|
|||
if (freed > max_freed)
|
||||
max_freed = freed;
|
||||
} else {
|
||||
sexp_gc_mark(p) = 0;
|
||||
sexp_markedp(p) = 0;
|
||||
p = (sexp) (((char*)p)+size);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -230,7 +230,7 @@ struct sexp_core_form_struct {
|
|||
|
||||
struct sexp_struct {
|
||||
sexp_tag_t tag;
|
||||
char gc_mark;
|
||||
char markedp;
|
||||
unsigned int immutablep:1;
|
||||
unsigned int freep:1;
|
||||
unsigned int brokenp:1;
|
||||
|
@ -489,7 +489,7 @@ void *sexp_realloc(sexp ctx, sexp x, size_t size);
|
|||
#define sexp_booleanp(x) (((x) == SEXP_TRUE) || ((x) == SEXP_FALSE))
|
||||
|
||||
#define sexp_pointer_tag(x) ((x)->tag)
|
||||
#define sexp_gc_mark(x) ((x)->gc_mark)
|
||||
#define sexp_markedp(x) ((x)->markedp)
|
||||
#define sexp_flags(x) ((x)->flags)
|
||||
#define sexp_immutablep(x) ((x)->immutablep)
|
||||
#define sexp_freep(x) ((x)->freep)
|
||||
|
|
6
sexp.c
6
sexp.c
|
@ -355,10 +355,10 @@ void sexp_destroy_context (sexp ctx) {
|
|||
size_t sum_freed;
|
||||
if (sexp_context_heap(ctx)) {
|
||||
heap = sexp_context_heap(ctx);
|
||||
sexp_gc_mark(ctx) = 1;
|
||||
sexp_markedp(ctx) = 1;
|
||||
#if ! SEXP_USE_GLOBAL_TYPES
|
||||
sexp_gc_mark(sexp_context_globals(ctx)) = 1;
|
||||
sexp_gc_mark(sexp_global(ctx, SEXP_G_TYPES)) = 1;
|
||||
sexp_markedp(sexp_context_globals(ctx)) = 1;
|
||||
sexp_markedp(sexp_global(ctx, SEXP_G_TYPES)) = 1;
|
||||
#endif
|
||||
sexp_sweep(ctx, &sum_freed); /* sweep w/o mark to run finalizers */
|
||||
sexp_context_heap(ctx) = NULL;
|
||||
|
|
Loading…
Add table
Reference in a new issue