diff --git a/js/src/jsops.cpp b/js/src/jsops.cpp index 43e5c56a461..3683a0e1fab 100644 --- a/js/src/jsops.cpp +++ b/js/src/jsops.cpp @@ -2365,15 +2365,17 @@ BEGIN_CASE(JSOP_APPLY) * :FIXME: try to method jit - take this out once we're more * complete. */ - JSObject *scope = newfp->scopeChainObj(); - mjit::CompileStatus status = mjit::CanMethodJIT(cx, newscript, fun, scope); - if (status == mjit::Compile_Error) - goto error; - if (status == mjit::Compile_Okay) { - if (!mjit::JaegerShot(cx)) + if (!TRACE_RECORDER(cx)) { + JSObject *scope = newfp->scopeChainObj(); + mjit::CompileStatus status = mjit::CanMethodJIT(cx, newscript, fun, scope); + if (status == mjit::Compile_Error) goto error; - interpReturnOK = true; - goto inline_return; + if (status == mjit::Compile_Okay) { + if (!mjit::JaegerShot(cx)) + goto error; + interpReturnOK = true; + goto inline_return; + } } /* Load first op and dispatch it (safe since JSOP_STOP). */