From 6abf99b9ae4a8868e55215a74dd4c0e8a97ec99b Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sat, 1 Feb 2014 03:33:31 -0800 Subject: Export break_obj. * gc.c (break_obj): Change to external linkage. (mark): Use t variable instead of re-evaluating obj->t.type. * gc.h (break_obj): Declared. --- ChangeLog | 9 +++++++++ gc.c | 4 ++-- gc.h | 4 ++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 46a88252..d4943119 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2014-02-01 Kaz Kylheku + + Export break_obj. + + * gc.c (break_obj): Change to external linkage. + (mark): Use t variable instead of re-evaluating obj->t.type. + + * gc.h (break_obj): Declared. + 2014-02-01 Kaz Kylheku * lib.c (d): Disable garbage collection around the dump. diff --git a/gc.c b/gc.c index fd1658bc..0df85323 100644 --- a/gc.c +++ b/gc.c @@ -86,7 +86,7 @@ static int full_gc; #endif #if EXTRA_DEBUGGING -static val break_obj; +val break_obj; #endif val prot1(val *loc) @@ -260,7 +260,7 @@ tail_call: if ((t & FREE) != 0) abort(); - obj->t.type = (type_t) (obj->t.type | REACHABLE); + obj->t.type = (type_t) (t | REACHABLE); #if EXTRA_DEBUGGING if (obj == break_obj) diff --git a/gc.h b/gc.h index 54afac9f..ba7c5777 100644 --- a/gc.h +++ b/gc.h @@ -43,6 +43,10 @@ val gc_mutated(val); void unmark(void); void gc_hint_func(val *); +#if EXTRA_DEBUGGING +val break_obj; +#endif + #define gc_hint(var) gc_hint_func(&var) #define REACHABLE 0x100 #define FREE 0x200 -- cgit v1.2.3