From 717134569106c41a6501a02539770d6800131aca Mon Sep 17 00:00:00 2001 From: Hannes Verschore Date: Wed, 19 Oct 2016 11:50:01 +0200 Subject: [PATCH] Bug 1304641 - TraceLogger: Also throw compartment mismatch error when running in the jits, r=bbouvier --- js/src/jit-test/tests/tracelogger/bug1304641.js | 13 +++++++++++++ js/src/vm/TraceLogging.cpp | 4 ++-- 2 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 js/src/jit-test/tests/tracelogger/bug1304641.js 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);