diff --git a/js/src/jit-test/tests/tracelogger/bug1304641.js b/js/src/jit-test/tests/tracelogger/bug1304641.js new file mode 100644 index 000000000..7ad48b7a4 --- /dev/null +++ b/js/src/jit-test/tests/tracelogger/bug1304641.js @@ -0,0 +1,13 @@ + +var du = new Debugger(); +if (typeof du.startTraceLogger === "function") { + var failed = false; + try { + newGlobal().startTraceLogger(); + print("z"); + } catch (e) { + failed = true; + } + + assertEq(failed, true); +} diff --git a/js/src/vm/TraceLogging.cpp b/js/src/vm/TraceLogging.cpp index ce7acc6e9..90575dbc5 100644 --- a/js/src/vm/TraceLogging.cpp +++ b/js/src/vm/TraceLogging.cpp @@ -256,9 +256,9 @@ TraceLoggerThread::enable(JSContext* cx) script = fp->script(); engine = TraceLogger_Interpreter; - if (script->compartment() != cx->compartment()) - return fail(cx, "compartment mismatch"); } + if (script->compartment() != cx->compartment()) + return fail(cx, "compartment mismatch"); TraceLoggerEvent event(this, TraceLogger_Scripts, script); startEvent(event);