drop native stack traces from continuations; they're expensive to compute, not actually used, and could be computed on demand

svn: r17667
This commit is contained in:
Matthew Flatt 2010-01-15 20:57:52 +00:00
parent 9a2408f267
commit f2e60c97a7

View File

@ -5169,7 +5169,9 @@ static Scheme_Cont *grab_continuation(Scheme_Thread *p, int for_prompt, int comp
} }
#ifdef MZ_USE_JIT #ifdef MZ_USE_JIT
{ /* This information can be expensive to compute, no one uses it
currently, and it's approximate anyway. So skip it. */
if (0) {
Scheme_Object *tr; Scheme_Object *tr;
tr = scheme_native_stack_trace(); tr = scheme_native_stack_trace();
cont->native_trace = tr; cont->native_trace = tr;
@ -5648,7 +5650,12 @@ internal_call_cc (int argc, Scheme_Object *argv[])
if (sub_cont && (sub_cont->ss.cont_mark_pos == MZ_CONT_MARK_POS)) { if (sub_cont && (sub_cont->ss.cont_mark_pos == MZ_CONT_MARK_POS)) {
Scheme_Object *argv2[1]; Scheme_Object *argv2[1];
#ifdef MZ_USE_JIT #ifdef MZ_USE_JIT
ret = scheme_native_stack_trace(); /* See note above on how the stack trace is expensive to compute
and not all that useful. */
if (0)
ret = scheme_native_stack_trace();
else
ret = NULL;
#endif #endif
/* Old cont is the same as this one, except that it may /* Old cont is the same as this one, except that it may
have different marks (not counting cont_key). */ have different marks (not counting cont_key). */