diff options
Diffstat (limited to 'deps/v8/src/builtins/mips64/builtins-mips64.cc')
-rw-r--r-- | deps/v8/src/builtins/mips64/builtins-mips64.cc | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/deps/v8/src/builtins/mips64/builtins-mips64.cc b/deps/v8/src/builtins/mips64/builtins-mips64.cc index a93c75b2fce..d59f7c0ce5c 100644 --- a/deps/v8/src/builtins/mips64/builtins-mips64.cc +++ b/deps/v8/src/builtins/mips64/builtins-mips64.cc @@ -13,7 +13,9 @@ #include "src/frames.h" #include "src/mips64/constants-mips64.h" #include "src/objects-inl.h" +#include "src/objects/js-generator.h" #include "src/runtime/runtime.h" +#include "src/wasm/wasm-objects.h" namespace v8 { namespace internal { @@ -2288,7 +2290,7 @@ void Builtins::Generate_WasmCompileLazy(MacroAssembler* masm) { // Convert to Smi for the runtime call __ SmiTag(t0); { - TrapOnAbortScope trap_on_abort_scope(masm); // Avoid calls to Abort. + HardAbortScope hard_abort(masm); // Avoid calls to Abort. FrameScope scope(masm, StackFrame::WASM_COMPILE_LAZY); // Save all parameter registers (see wasm-linkage.cc). They might be @@ -2382,10 +2384,9 @@ void Builtins::Generate_CEntry(MacroAssembler* masm, int result_size, if (kArchVariant >= kMips64r6) { __ addiupc(ra, kNumInstructionsToJump + 1); } else { - // This branch-and-link sequence is needed to find the current PC on mips - // before r6, saved to the ra register. - __ bal(&find_ra); // bal exposes branch delay slot. - __ Daddu(ra, ra, kNumInstructionsToJump * Instruction::kInstrSize); + // This no-op-and-link sequence saves PC + 8 in ra register on pre-r6 MIPS + __ nal(); // nal has branch delay slot. + __ Daddu(ra, ra, kNumInstructionsToJump * kInstrSize); } __ bind(&find_ra); |