| Index: src/mips/macro-assembler-mips.cc
|
| diff --git a/src/mips/macro-assembler-mips.cc b/src/mips/macro-assembler-mips.cc
|
| index 8b46155cc1144af090b81c4cc2fd5500b479a750..22b44ca48569feaa49a8a09154f11ad4eabd629b 100644
|
| --- a/src/mips/macro-assembler-mips.cc
|
| +++ b/src/mips/macro-assembler-mips.cc
|
| @@ -5806,16 +5806,19 @@ void MacroAssembler::Abort(BailoutReason reason) {
|
| }
|
| #endif
|
|
|
| - li(a0, Operand(Smi::FromInt(reason)));
|
| - push(a0);
|
| + // Check if Abort() has already been initialized.
|
| + DCHECK(isolate()->builtins()->Abort()->IsHeapObject());
|
| +
|
| + Move(a0, Smi::FromInt(static_cast<int>(reason)));
|
| +
|
| // Disable stub call restrictions to always allow calls to abort.
|
| if (!has_frame_) {
|
| // We don't actually want to generate a pile of code for this, so just
|
| // claim there is a stack frame, without generating one.
|
| FrameScope scope(this, StackFrame::NONE);
|
| - CallRuntime(Runtime::kAbort);
|
| + Call(isolate()->builtins()->Abort(), RelocInfo::CODE_TARGET);
|
| } else {
|
| - CallRuntime(Runtime::kAbort);
|
| + Call(isolate()->builtins()->Abort(), RelocInfo::CODE_TARGET);
|
| }
|
| // Will not return here.
|
| if (is_trampoline_pool_blocked()) {
|
|
|