From 3d0d4596e1d13487b15f99c5ddb768a9319bdc08 Mon Sep 17 00:00:00 2001 From: Brendan Eich Date: Thu, 21 Aug 2008 01:38:50 -0700 Subject: [PATCH] Fix CHECK_RECORDER macro to use XOR to evaluate both terms. --- js/src/jsinterp.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/js/src/jsinterp.cpp b/js/src/jsinterp.cpp index 3ed60cf18dae..db7cf69b09e3 100644 --- a/js/src/jsinterp.cpp +++ b/js/src/jsinterp.cpp @@ -2507,8 +2507,8 @@ js_Interpret(JSContext *cx) # ifdef JS_TRACER # define CHECK_RECORDER() JS_BEGIN_MACRO \ - JS_ASSERT(!JS_TRACE_MONITOR(cx).recorder || \ - jumpTable == recordingJumpTable); \ + JS_ASSERT(!JS_TRACE_MONITOR(cx).recorder ^ \ + (jumpTable == recordingJumpTable)); \ JS_END_MACRO # else # define CHECK_RECORDER() ((void)0) @@ -4935,9 +4935,9 @@ js_Interpret(JSContext *cx) jsdtrace_function_return(cx, fp, fun); } #endif + regs.sp = vp + 1; if (!ok) goto error; - regs.sp = vp + 1; goto end_call; } }