MIPS: Fix another bug with mozilla regress-396684.js
As with TF fix 94506cc3
, correctly support absurdly large stack
adjustments.
TEST=mozilla/js/tests/js1_5/Regress/regress-396684.js
BUG=
Review URL: https://codereview.chromium.org/1057763002
Cr-Commit-Position: refs/heads/master@{#27592}
This commit is contained in:
parent
fa7c34764c
commit
6b03f2233f
@ -3151,6 +3151,7 @@ void MacroAssembler::Jalr(Label* L, BranchDelaySlot bdslot) {
|
||||
|
||||
|
||||
void MacroAssembler::DropAndRet(int drop) {
|
||||
DCHECK(is_int16(drop * kPointerSize));
|
||||
Ret(USE_DELAY_SLOT);
|
||||
addiu(sp, sp, drop * kPointerSize);
|
||||
}
|
||||
@ -3188,7 +3189,7 @@ void MacroAssembler::Drop(int count,
|
||||
Branch(&skip, NegateCondition(cond), reg, op);
|
||||
}
|
||||
|
||||
addiu(sp, sp, count * kPointerSize);
|
||||
Addu(sp, sp, Operand(count * kPointerSize));
|
||||
|
||||
if (cond != al) {
|
||||
bind(&skip);
|
||||
|
@ -3164,6 +3164,7 @@ void MacroAssembler::Jalr(Label* L, BranchDelaySlot bdslot) {
|
||||
|
||||
|
||||
void MacroAssembler::DropAndRet(int drop) {
|
||||
DCHECK(is_int16(drop * kPointerSize));
|
||||
Ret(USE_DELAY_SLOT);
|
||||
daddiu(sp, sp, drop * kPointerSize);
|
||||
}
|
||||
@ -3201,7 +3202,7 @@ void MacroAssembler::Drop(int count,
|
||||
Branch(&skip, NegateCondition(cond), reg, op);
|
||||
}
|
||||
|
||||
daddiu(sp, sp, count * kPointerSize);
|
||||
Daddu(sp, sp, Operand(count * kPointerSize));
|
||||
|
||||
if (cond != al) {
|
||||
bind(&skip);
|
||||
|
Loading…
Reference in New Issue
Block a user