diff options
Diffstat (limited to 'deps/v8/src/builtins/arm/builtins-arm.cc')
-rw-r--r-- | deps/v8/src/builtins/arm/builtins-arm.cc | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/deps/v8/src/builtins/arm/builtins-arm.cc b/deps/v8/src/builtins/arm/builtins-arm.cc index fe2536fa0a..b8cfcd19d8 100644 --- a/deps/v8/src/builtins/arm/builtins-arm.cc +++ b/deps/v8/src/builtins/arm/builtins-arm.cc @@ -3549,10 +3549,6 @@ void Builtins::Generate_DeoptimizationEntry_Soft(MacroAssembler* masm) { Generate_DeoptimizationEntry(masm, DeoptimizeKind::kSoft); } -void Builtins::Generate_DeoptimizationEntry_Bailout(MacroAssembler* masm) { - Generate_DeoptimizationEntry(masm, DeoptimizeKind::kBailout); -} - void Builtins::Generate_DeoptimizationEntry_Lazy(MacroAssembler* masm) { Generate_DeoptimizationEntry(masm, DeoptimizeKind::kLazy); } @@ -3733,74 +3729,6 @@ void Builtins::Generate_InterpreterOnStackReplacement_ToBaseline( Generate_BaselineOrInterpreterEntry(masm, false, true); } -void Builtins::Generate_DynamicCheckMapsTrampoline(MacroAssembler* masm) { - Generate_DynamicCheckMapsTrampoline<DynamicCheckMapsDescriptor>( - masm, BUILTIN_CODE(masm->isolate(), DynamicCheckMaps)); -} - -void Builtins::Generate_DynamicCheckMapsWithFeedbackVectorTrampoline( - MacroAssembler* masm) { - Generate_DynamicCheckMapsTrampoline< - DynamicCheckMapsWithFeedbackVectorDescriptor>( - masm, BUILTIN_CODE(masm->isolate(), DynamicCheckMapsWithFeedbackVector)); -} - -template <class Descriptor> -void Builtins::Generate_DynamicCheckMapsTrampoline( - MacroAssembler* masm, Handle<Code> builtin_target) { - FrameScope scope(masm, StackFrame::MANUAL); - __ EnterFrame(StackFrame::INTERNAL); - - // Only save the registers that the DynamicCheckMaps builtin can clobber. - Descriptor descriptor; - RegList registers = descriptor.allocatable_registers(); - // FLAG_debug_code is enabled CSA checks will call C function and so we need - // to save all CallerSaved registers too. - if (FLAG_debug_code) registers |= kCallerSaved; - __ MaybeSaveRegisters(registers); - - // Load the immediate arguments from the deopt exit to pass to the builtin. - Register slot_arg = descriptor.GetRegisterParameter(Descriptor::kSlot); - Register handler_arg = descriptor.GetRegisterParameter(Descriptor::kHandler); - __ ldr(handler_arg, MemOperand(fp, CommonFrameConstants::kCallerPCOffset)); - __ ldr(slot_arg, MemOperand(handler_arg, - Deoptimizer::kEagerWithResumeImmedArgs1PcOffset)); - __ ldr( - handler_arg, - MemOperand(handler_arg, Deoptimizer::kEagerWithResumeImmedArgs2PcOffset)); - - __ Call(builtin_target, RelocInfo::CODE_TARGET); - - Label deopt, bailout; - __ cmp_raw_immediate(r0, static_cast<int>(DynamicCheckMapsStatus::kSuccess)); - __ b(ne, &deopt); - - __ MaybeRestoreRegisters(registers); - __ LeaveFrame(StackFrame::INTERNAL); - __ Ret(); - - __ bind(&deopt); - __ cmp_raw_immediate(r0, static_cast<int>(DynamicCheckMapsStatus::kBailout)); - __ b(eq, &bailout); - - if (FLAG_debug_code) { - __ cmp_raw_immediate(r0, static_cast<int>(DynamicCheckMapsStatus::kDeopt)); - __ Assert(eq, AbortReason::kUnexpectedDynamicCheckMapsStatus); - } - __ MaybeRestoreRegisters(registers); - __ LeaveFrame(StackFrame::INTERNAL); - Handle<Code> deopt_eager = masm->isolate()->builtins()->code_handle( - Deoptimizer::GetDeoptimizationEntry(DeoptimizeKind::kEager)); - __ Jump(deopt_eager, RelocInfo::CODE_TARGET); - - __ bind(&bailout); - __ MaybeRestoreRegisters(registers); - __ LeaveFrame(StackFrame::INTERNAL); - Handle<Code> deopt_bailout = masm->isolate()->builtins()->code_handle( - Deoptimizer::GetDeoptimizationEntry(DeoptimizeKind::kBailout)); - __ Jump(deopt_bailout, RelocInfo::CODE_TARGET); -} - #undef __ } // namespace internal |