diff --git a/racket/src/racket/src/jitcommon.c b/racket/src/racket/src/jitcommon.c index f2f2619a16..e58e30ec06 100644 --- a/racket/src/racket/src/jitcommon.c +++ b/racket/src/racket/src/jitcommon.c @@ -3663,7 +3663,8 @@ static int more_common0(mz_jit_state *jitter, void *_data) jit_ret(); CHECK_LIMIT(); - scheme_jit_register_sub_func(jitter, sjc.thread_start_child_code, scheme_eof); + /* No scheme_jit_register_sub_func, because we don't want to try to + traverse past this frame for a native stack trace. */ } return 1; diff --git a/racket/src/racket/src/jitstack.c b/racket/src/racket/src/jitstack.c index 5b18d41405..52fe69a40f 100644 --- a/racket/src/racket/src/jitstack.c +++ b/racket/src/racket/src/jitstack.c @@ -719,6 +719,7 @@ void *scheme_module_start_start(struct Start_Module_Args *a, Scheme_Object *name } void scheme_thread_start_child(Scheme_Thread *child, Scheme_Object *child_thunk) + XFORM_SKIP_PROC { Thread_Start_Child_Proc proc = (Thread_Start_Child_Proc)sjc.thread_start_child_code; if (proc) diff --git a/racket/src/racket/src/thread.c b/racket/src/racket/src/thread.c index 62adb3f330..c90024a925 100644 --- a/racket/src/racket/src/thread.c +++ b/racket/src/racket/src/thread.c @@ -3168,6 +3168,7 @@ static void start_child(Scheme_Thread * volatile child, } void scheme_do_thread_start_child(Scheme_Thread *child, Scheme_Object *child_eval) + XFORM_SKIP_PROC { return start_child(child, child_eval); }