fix build for !JS_TRACER, both threaded and switch interps

This commit is contained in:
shaver@mozilla.org 2008-08-12 12:09:59 -04:00
parent 9d4a33a8c6
commit 41a6158c57
2 changed files with 19 additions and 2 deletions

View File

@ -3202,7 +3202,9 @@ js_GC(JSContext *cx, JSGCInvocationKind gckind)
/* Clear property and JIT caches (only for cx->thread if JS_THREADSAFE). */ /* Clear property and JIT caches (only for cx->thread if JS_THREADSAFE). */
js_FlushPropertyCache(cx); js_FlushPropertyCache(cx);
#ifdef JS_TRACER
js_FlushJITCache(cx); js_FlushJITCache(cx);
#endif
#ifdef JS_THREADSAFE #ifdef JS_THREADSAFE
/* /*

View File

@ -2660,6 +2660,7 @@ js_Interpret(JSContext *cx)
* the compiler can keep it in a register when it is non-null. * the compiler can keep it in a register when it is non-null.
*/ */
#if JS_THREADED_INTERP #if JS_THREADED_INTERP
#ifdef JS_TRACER
# define LOAD_INTERRUPT_HANDLER(cx) \ # define LOAD_INTERRUPT_HANDLER(cx) \
((void) (jumpTable = (cx)->debugHooks->interruptHandler \ ((void) (jumpTable = (cx)->debugHooks->interruptHandler \
? interruptJumpTable \ ? interruptJumpTable \
@ -2672,7 +2673,15 @@ js_Interpret(JSContext *cx)
JS_ASSERT(flag_ == !!JS_TRACE_MONITOR(cx).recorder); \ JS_ASSERT(flag_ == !!JS_TRACE_MONITOR(cx).recorder); \
jumpTable = flag_ ? recordingJumpTable : normalJumpTable; \ jumpTable = flag_ ? recordingJumpTable : normalJumpTable; \
JS_END_MACRO JS_END_MACRO
#else #else /* !JS_TRACER */
# define LOAD_INTERRUPT_HANDLER(cx) \
((void) (jumpTable = (cx)->debugHooks->interruptHandler \
? interruptJumpTable \
: normalJumpTable))
# define ENABLE_TRACER(flag) (void)0
#endif /* !JS_TRACER */
#else /* !JS_THREADED_INTERP */
#ifdef JS_TRACER
# define LOAD_INTERRUPT_HANDLER(cx) \ # define LOAD_INTERRUPT_HANDLER(cx) \
((void) (switchMask = ((cx)->debugHooks->interruptHandler || \ ((void) (switchMask = ((cx)->debugHooks->interruptHandler || \
JS_TRACE_MONITOR(cx).recorder) \ JS_TRACE_MONITOR(cx).recorder) \
@ -2683,7 +2692,13 @@ js_Interpret(JSContext *cx)
JS_ASSERT(flag_ == !!JS_TRACE_MONITOR(cx).recorder); \ JS_ASSERT(flag_ == !!JS_TRACE_MONITOR(cx).recorder); \
switchMask = flag_ ? 0 : 255; \ switchMask = flag_ ? 0 : 255; \
JS_END_MACRO JS_END_MACRO
#endif #else /* !JS_TRACER */
# define LOAD_INTERRUPT_HANDLER(cx) \
((void) (switchMask = ((cx)->debugHooks->interruptHandler \
? 0 : 255)))
# define ENABLE_TRACER(flag) (void)0
#endif /* !JS_TRACER */
#endif /* !JS_THREADED_INTERP */
LOAD_INTERRUPT_HANDLER(cx); LOAD_INTERRUPT_HANDLER(cx);