From 7e68f1020279703eabe1f56f1396c29fe6ecdb0e Mon Sep 17 00:00:00 2001 From: Igor Bukanov Date: Tue, 7 Sep 2010 13:29:22 +0200 Subject: [PATCH] bug 592617 - cannot compile without JS_METHODJIT. r=dmandelin --- js/src/jsapi.h | 12 ------------ js/src/jsinterp.cpp | 7 +++++-- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/js/src/jsapi.h b/js/src/jsapi.h index 88851059b0..2ce9779aa5 100644 --- a/js/src/jsapi.h +++ b/js/src/jsapi.h @@ -1329,23 +1329,12 @@ JSVAL_TRACE_KIND(jsval v) return JSVAL_TRACE_KIND_IMPL(l); } -#ifdef __cplusplus -namespace js { - class ConservativeGCStackMarker; -} -#endif - struct JSTracer { JSContext *context; JSTraceCallback callback; JSTraceNamePrinter debugPrinter; const void *debugPrintArg; size_t debugPrintIndex; -#ifndef __cplusplus - void *conservativeMarker; -#else - js::ConservativeGCStackMarker *conservativeMarker; -#endif }; /* @@ -1445,7 +1434,6 @@ JS_CallTracer(JSTracer *trc, void *thing, uint32 kind); (trc)->debugPrinter = NULL; \ (trc)->debugPrintArg = NULL; \ (trc)->debugPrintIndex = (size_t)-1; \ - (trc)->conservativeMarker = NULL; \ JS_END_MACRO extern JS_PUBLIC_API(void) diff --git a/js/src/jsinterp.cpp b/js/src/jsinterp.cpp index 901ae76b2a..b1467cdd4d 100644 --- a/js/src/jsinterp.cpp +++ b/js/src/jsinterp.cpp @@ -2116,6 +2116,9 @@ Interpret(JSContext *cx, JSStackFrame *entryFrame, uintN inlineCallCount) #ifdef JS_METHODJIT bool leaveOnTracePoint = (fp->flags & JSFRAME_BAILING) && !fp->hasIMacroPC(); +# define CLEAR_LEAVE_ON_TRACE_POINT() ((void) (leaveOnTracePoint = false)) +#else +# define CLEAR_LEAVE_ON_TRACE_POINT() ((void) 0) #endif #define LOAD_ATOM(PCOFF, atom) \ @@ -2179,7 +2182,7 @@ Interpret(JSContext *cx, JSStackFrame *entryFrame, uintN inlineCallCount) JS_ASSERT(TRACE_RECORDER(cx)); \ MONITOR_BRANCH_TRACEVIS; \ ENABLE_INTERRUPTS(); \ - leaveOnTracePoint = false; \ + CLEAR_LEAVE_ON_TRACE_POINT(); \ } \ RESTORE_INTERP_VARS(); \ JS_ASSERT_IF(cx->throwing, r == MONITOR_ERROR); \ @@ -2412,7 +2415,7 @@ Interpret(JSContext *cx, JSStackFrame *entryFrame, uintN inlineCallCount) case ARECORD_IMACRO_ABORTED: atoms = COMMON_ATOMS_START(&rt->atomState); op = JSOp(*regs.pc); - leaveOnTracePoint = false; + CLEAR_LEAVE_ON_TRACE_POINT(); if (status == ARECORD_IMACRO) DO_OP(); /* keep interrupting for op. */ break; -- 2.11.4.GIT