diff --git a/js/src/methodjit/Compiler.cpp b/js/src/methodjit/Compiler.cpp index 9d32ceff86b..f6276d5cac6 100644 --- a/js/src/methodjit/Compiler.cpp +++ b/js/src/methodjit/Compiler.cpp @@ -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. diff --git a/js/src/methodjit/FastArithmetic.cpp b/js/src/methodjit/FastArithmetic.cpp index 5daba7cab60..653581d63ed 100644 --- a/js/src/methodjit/FastArithmetic.cpp +++ b/js/src/methodjit/FastArithmetic.cpp @@ -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;