diff options
-rw-r--r-- | gc.c | 12 | ||||
-rw-r--r-- | gc.h | 1 |
2 files changed, 13 insertions, 0 deletions
@@ -918,3 +918,15 @@ void gc_hint_func(val *val) { (void) val; } + +void gc_report_copies(val *pvar) +{ + val *opvar = pvar; + val obj = *pvar++; + + for (; pvar < gc_stack_bottom; pvar++) { + if (*pvar == obj) + printf("%p found at %p (offset %d)\n", + (void *) obj, (void *) pvar, (int) (pvar - opvar)); + } +} @@ -47,6 +47,7 @@ extern int full_gc; void unmark(void); void gc_hint_func(val *); +void gc_report_copies(val *pvar); extern int gc_enabled; extern val **gc_prot_top; |