Commit 6b03f223 authored by paul.lind's avatar paul.lind Committed by Commit bot

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}
parent fa7c3476
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment