| Index: src/mips64/macro-assembler-mips64.cc
|
| diff --git a/src/mips64/macro-assembler-mips64.cc b/src/mips64/macro-assembler-mips64.cc
|
| index 97d63a421ca496bc8eea9343d4cc7ffce1ef43ea..93b436bb4797874218caa701b5d3f4e0b70ea6fd 100644
|
| --- a/src/mips64/macro-assembler-mips64.cc
|
| +++ b/src/mips64/macro-assembler-mips64.cc
|
| @@ -6088,16 +6088,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()) {
|
|
|