mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 987442 - Correctly clear compile-time tracking frame for SPS when emitting OOL code. r=sstangl
This commit is contained in:
parent
f71cba5543
commit
de35048eca
@ -291,6 +291,13 @@ class SPSInstrumentation
|
||||
Vector<FrameState, 1, SystemAllocPolicy> frames;
|
||||
FrameState *frame;
|
||||
|
||||
static void clearFrame(FrameState *frame) {
|
||||
frame->script = nullptr;
|
||||
frame->pc = nullptr;
|
||||
frame->skipNext = false;
|
||||
frame->left = 0;
|
||||
}
|
||||
|
||||
public:
|
||||
/*
|
||||
* Creates instrumentation which writes information out the the specified
|
||||
@ -333,10 +340,7 @@ class SPSInstrumentation
|
||||
if (!frames.growBy(1))
|
||||
return false;
|
||||
frame = &frames[frames.length() - 1];
|
||||
frame->script = nullptr;
|
||||
frame->pc = nullptr;
|
||||
frame->skipNext = false;
|
||||
frame->left = 0;
|
||||
clearFrame(frame);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -360,6 +364,7 @@ class SPSInstrumentation
|
||||
}
|
||||
frames[0].pc = frames[0].script->code();
|
||||
frame = &frames[1];
|
||||
clearFrame(frame);
|
||||
return true;
|
||||
}
|
||||
void finishOOL() {
|
||||
|
Loading…
Reference in New Issue
Block a user