mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 851459 - Don't use ScriptFrameIter in EnsureCanEnterIon. r=djvj
This commit is contained in:
parent
89bdac61f0
commit
b6daf4f5cb
@ -579,6 +579,20 @@ ICStackCheck_Fallback::Compiler::generateStubCode(MacroAssembler &masm)
|
||||
//
|
||||
// UseCount_Fallback
|
||||
//
|
||||
static bool
|
||||
IsTopFrameConstructing(JSContext *cx)
|
||||
{
|
||||
IonFrameIterator iter(cx);
|
||||
JS_ASSERT(iter.type() == IonFrame_Exit);
|
||||
|
||||
++iter;
|
||||
JS_ASSERT(iter.type() == IonFrame_BaselineStub);
|
||||
|
||||
++iter;
|
||||
JS_ASSERT(iter.isBaselineJS());
|
||||
|
||||
return iter.isConstructing();
|
||||
}
|
||||
|
||||
static bool
|
||||
EnsureCanEnterIon(JSContext *cx, ICUseCount_Fallback *stub, BaselineFrame *frame,
|
||||
@ -589,7 +603,7 @@ EnsureCanEnterIon(JSContext *cx, ICUseCount_Fallback *stub, BaselineFrame *frame
|
||||
|
||||
bool isLoopEntry = (JSOp(*pc) == JSOP_LOOPENTRY);
|
||||
|
||||
bool isConstructing = ScriptFrameIter(cx).isConstructing();
|
||||
bool isConstructing = IsTopFrameConstructing(cx);
|
||||
MethodStatus stat;
|
||||
if (isLoopEntry) {
|
||||
IonSpew(IonSpew_BaselineOSR, " Compile at loop entry!");
|
||||
|
Loading…
Reference in New Issue
Block a user