mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Ensure that cx->interpState is always accurate by maintaing a stack (490776, r=jorendorff).
This commit is contained in:
parent
d6c2eeddf4
commit
4778325174
@ -4312,6 +4312,7 @@ js_ExecuteTree(JSContext* cx, Fragment* f, uintN& inlineCallCount,
|
||||
|
||||
JS_ASSERT(!tm->tracecx);
|
||||
tm->tracecx = cx;
|
||||
state->prev = cx->interpState;
|
||||
cx->interpState = state;
|
||||
|
||||
debug_only(fflush(NULL);)
|
||||
@ -4325,9 +4326,7 @@ js_ExecuteTree(JSContext* cx, Fragment* f, uintN& inlineCallCount,
|
||||
|
||||
AUDIT(traceTriggered);
|
||||
|
||||
#ifdef DEBUG
|
||||
cx->interpState = NULL;
|
||||
#endif
|
||||
cx->interpState = state->prev;
|
||||
|
||||
JS_ASSERT(lr->exitType != LOOP_EXIT || !lr->calldepth);
|
||||
tm->tracecx = NULL;
|
||||
|
@ -385,6 +385,7 @@ struct InterpState
|
||||
#ifdef EXECUTE_TREE_TIMER
|
||||
uint64 startTime;
|
||||
#endif
|
||||
InterpState* prev;
|
||||
|
||||
/*
|
||||
* Used by _FAIL builtins; see jsbuiltins.h. The builtin sets the
|
||||
|
Loading…
Reference in New Issue
Block a user