Bug 621072 - Don't bake JS_THREAD_DATA(cx)->interruptFlags into traces (r=igor,a=blocker)

This commit is contained in:
Bill McCloskey 2010-12-23 15:14:33 -08:00
parent 0dd3c4d1bd
commit 176cdc3928

View File

@ -2345,7 +2345,13 @@ TraceRecorder::TraceRecorder(JSContext* cx, VMSideExit* anchor, VMFragment* frag
* thread and cannot outlive the corresponding JSThreadData.
*/
w.comment("begin-interruptFlags-check");
LIns* flagptr = w.nameImmpNonGC((void *) &JS_THREAD_DATA(cx)->interruptFlags);
/* FIXME: See bug 621140 for moving interruptCounter to the compartment. */
#ifdef JS_THREADSAFE
void *interrupt = (void*) &cx->runtime->interruptCounter;
#else
void *interrupt = (void*) &JS_THREAD_DATA(cx)->interruptFlags;
#endif
LIns* flagptr = w.nameImmpNonGC(interrupt);
LIns* x = w.ldiVolatile(flagptr);
guard(true, w.eqi0(x), TIMEOUT_EXIT);
w.comment("end-interruptFlags-check");