зеркало из https://github.com/mozilla/pjs.git
Bug 626361: Reserve space for call/equality ICs. (r=dmandelin)
This commit is contained in:
Родитель
88c8056909
Коммит
f29a6d4ead
|
@ -2625,6 +2625,7 @@ mjit::Compiler::inlineCallHelper(uint32 callImmArgc, bool callingNew)
|
|||
|
||||
Jump rejoin1, rejoin2;
|
||||
{
|
||||
RESERVE_OOL_SPACE(stubcc.masm);
|
||||
stubcc.linkExitDirect(j, stubcc.masm.label());
|
||||
callIC.slowPathStart = stubcc.masm.label();
|
||||
|
||||
|
@ -2710,6 +2711,8 @@ mjit::Compiler::inlineCallHelper(uint32 callImmArgc, bool callingNew)
|
|||
rejoin2 = stubcc.masm.jump();
|
||||
}
|
||||
|
||||
RESERVE_IC_SPACE(masm);
|
||||
|
||||
/*
|
||||
* If the call site goes to a closure over the same function, it will
|
||||
* generate an out-of-line stub that joins back here.
|
||||
|
|
|
@ -1015,11 +1015,13 @@ mjit::Compiler::jsop_equality_int_string(JSOp op, BoolStub stub, jsbytecode *tar
|
|||
frame.pop();
|
||||
frame.discardFrame();
|
||||
|
||||
JaegerSpew(JSpew_Insns, " ---- BEGIN STUB CALL CODE ---- \n");
|
||||
|
||||
RESERVE_OOL_SPACE(stubcc.masm);
|
||||
|
||||
/* Start of the slow path for equality stub call. */
|
||||
Label stubEntry = stubcc.masm.label();
|
||||
|
||||
JaegerSpew(JSpew_Insns, " ---- BEGIN STUB CALL CODE ---- \n");
|
||||
|
||||
/* The lhs/rhs need to be synced in the stub call path. */
|
||||
frame.ensureValueSynced(stubcc.masm, lhs, lvr);
|
||||
frame.ensureValueSynced(stubcc.masm, rhs, rvr);
|
||||
|
@ -1063,6 +1065,7 @@ mjit::Compiler::jsop_equality_int_string(JSOp op, BoolStub stub, jsbytecode *tar
|
|||
Jump stubFallthrough = stubcc.masm.jump();
|
||||
|
||||
JaegerSpew(JSpew_Insns, " ---- END STUB CALL CODE ---- \n");
|
||||
CHECK_OOL_SPACE();
|
||||
|
||||
Jump fast;
|
||||
MaybeJump firstStubJump;
|
||||
|
|
Загрузка…
Ссылка в новой задаче