From d6ac5397a15f511a0a3b06e3533fc1d34c48f618 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Thu, 10 Jun 2010 23:42:35 -0700 Subject: [PATCH] [JAEGER] Don't call into JIT while recording. --- js/src/jsops.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) 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). */