diff --git a/gc.c b/gc.c index f77ee417c5..98e5712ca4 100644 --- a/gc.c +++ b/gc.c @@ -129,6 +129,14 @@ #include "builtin.h" #include "shape.h" +// TODO: Don't export this function in modular GC, instead MMTk should figure out +// how to combine GC thread backtrace with mutator thread backtrace. +void +rb_gc_print_backtrace(void) +{ + rb_print_backtrace(stderr); +} + unsigned int rb_gc_vm_lock(const char *file, int line) { diff --git a/gc/gc.h b/gc/gc.h index a5edc266e7..097ddb9394 100644 --- a/gc/gc.h +++ b/gc/gc.h @@ -108,6 +108,7 @@ MODULAR_GC_FN void rb_gc_initialize_vm_context(struct rb_gc_vm_context *context) MODULAR_GC_FN void rb_gc_worker_thread_set_vm_context(struct rb_gc_vm_context *context); MODULAR_GC_FN void rb_gc_worker_thread_unset_vm_context(struct rb_gc_vm_context *context); MODULAR_GC_FN void rb_gc_move_obj_during_marking(VALUE from, VALUE to); +MODULAR_GC_FN void rb_gc_print_backtrace(); #endif #if USE_MODULAR_GC