From 5b87294d2fc84b7039a703cbbd02c7cf50c5b560 Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Sat, 3 Jan 2026 09:27:15 -0500 Subject: Add rb_gc_print_backtrace --- gc.c | 8 ++++++++ gc/gc.h | 1 + 2 files changed, 9 insertions(+) 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 -- cgit v1.2.3