Lines Matching refs:masm
34 #define __ ACCESS_MASM(masm)
37 static void AssertCodeIsBaseline(MacroAssembler* masm, Register code,
47 static void GetSharedFunctionInfoBytecodeOrBaseline(MacroAssembler* masm,
52 ASM_CODE_COMMENT(masm);
58 AssertCodeIsBaseline(masm, sfi_data, scratch1);
73 void Generate_OSREntry(MacroAssembler* masm, Register entry_address,
82 void ResetBytecodeAgeAndOsrState(MacroAssembler* masm, Register bytecode_array,
98 void Generate_BaselineOrInterpreterEntry(MacroAssembler* masm,
129 __ Jump(masm->isolate()->builtins()->code_handle(builtin_id),
140 AssertCodeIsBaseline(masm, code_obj, r6);
210 FrameScope scope(masm, StackFrame::INTERNAL);
219 ResetBytecodeAgeAndOsrState(masm, kInterpreterBytecodeArrayRegister,
221 Generate_OSREntry(masm, code_obj, Code::kHeaderSize - kHeapObjectTag);
242 FrameScope scope(masm, StackFrame::INTERNAL);
254 void Builtins::Generate_Adaptor(MacroAssembler* masm, Address address) {
256 __ Jump(BUILTIN_CODE(masm->isolate(), AdaptorWithBuiltinExitFrame),
260 static void GenerateTailCallToReturnedCode(MacroAssembler* masm,
268 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
295 void Generate_PushArguments(MacroAssembler* masm, Register array, Register argc,
317 void Generate_JSBuiltinsConstructStubHelper(MacroAssembler* masm) {
334 FrameAndConstantPoolScope scope(masm, StackFrame::CONSTRUCT);
354 Generate_PushArguments(masm, r7, r3, r8, ArgumentsElementType::kRaw);
364 ConstantPoolUnavailableScope constant_pool_unavailable(masm);
382 FrameScope scope(masm, StackFrame::INTERNAL);
388 void OnStackReplacement(MacroAssembler* masm, bool is_interpreter) {
389 ASM_CODE_COMMENT(masm);
391 FrameScope scope(masm, StackFrame::INTERNAL);
416 ConstantPoolUnavailableScope constant_pool_unavailable(masm);
442 void Builtins::Generate_JSConstructStubGeneric(MacroAssembler* masm) {
452 FrameScope scope(masm, StackFrame::MANUAL);
481 __ IncrementCounter(masm->isolate()->counters()->constructed_objects(), 1, r7,
483 __ Call(BUILTIN_CODE(masm->isolate(), FastNewObject), RelocInfo::CODE_TARGET);
499 masm->isolate()->heap()->SetConstructStubCreateDeoptPCOffset(
500 masm->pc_offset());
541 Generate_PushArguments(masm, r7, r3, r8, ArgumentsElementType::kRaw);
548 ConstantPoolUnavailableScope constant_pool_unavailable(masm);
562 masm->isolate()->heap()->SetConstructStubInvokeDeoptPCOffset(
563 masm->pc_offset());
618 void Builtins::Generate_JSBuiltinsConstructStub(MacroAssembler* masm) {
619 Generate_JSBuiltinsConstructStubHelper(masm);
622 static void GetSharedFunctionInfoBytecode(MacroAssembler* masm,
636 void Builtins::Generate_ResumeGeneratorTrampoline(MacroAssembler* masm) {
661 ExternalReference::debug_hook_on_function_call_address(masm->isolate());
671 ExternalReference::debug_suspended_generator_address(masm->isolate());
728 GetSharedFunctionInfoBytecode(masm, r6, r3);
752 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
765 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
776 FrameScope scope(masm, StackFrame::INTERNAL);
782 void Builtins::Generate_ConstructedNonConstructable(MacroAssembler* masm) {
783 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
800 void Generate_JSEntryVariant(MacroAssembler* masm, StackFrame::Type type,
816 NoRootArrayScope no_root_array(masm);
853 masm->isolate()));
872 masm->isolate());
894 ConstantPoolUnavailableScope constant_pool_unavailable(masm);
899 masm->isolate()->builtins()->SetJSEntryHandlerOffset(handler_entry.pos());
907 IsolateAddressId::kPendingExceptionAddress, masm->isolate()));
930 masm->isolate()->builtins()->code_handle(entry_trampoline);
950 masm->isolate()));
970 void Builtins::Generate_JSEntry(MacroAssembler* masm) {
971 Generate_JSEntryVariant(masm, StackFrame::ENTRY, Builtin::kJSEntryTrampoline);
974 void Builtins::Generate_JSConstructEntry(MacroAssembler* masm) {
975 Generate_JSEntryVariant(masm, StackFrame::CONSTRUCT_ENTRY,
979 void Builtins::Generate_JSRunMicrotasksEntry(MacroAssembler* masm) {
980 Generate_JSEntryVariant(masm, StackFrame::ENTRY,
984 static void Generate_JSEntryTrampolineHelper(MacroAssembler* masm,
996 FrameScope scope(masm, StackFrame::INTERNAL);
1000 IsolateAddressId::kContextAddress, masm->isolate());
1023 Generate_PushArguments(masm, r8, r7, r9, ArgumentsElementType::kHandle);
1046 ? BUILTIN_CODE(masm->isolate(), Construct)
1047 : masm->isolate()->builtins()->Call();
1058 void Builtins::Generate_JSEntryTrampoline(MacroAssembler* masm) {
1059 Generate_JSEntryTrampolineHelper(masm, false);
1062 void Builtins::Generate_JSConstructEntryTrampoline(MacroAssembler* masm) {
1063 Generate_JSEntryTrampolineHelper(masm, true);
1066 void Builtins::Generate_RunMicrotasksTrampoline(MacroAssembler* masm) {
1073 __ Jump(BUILTIN_CODE(masm->isolate(), RunMicrotasks), RelocInfo::CODE_TARGET);
1076 static void ReplaceClosureCodeWithOptimizedCode(MacroAssembler* masm,
1096 static void LeaveInterpreterFrame(MacroAssembler* masm, Register scratch1,
1127 static void TailCallRuntimeIfStateEquals(MacroAssembler* masm,
1134 GenerateTailCallToReturnedCode(masm, function_id);
1138 static void TailCallOptimizedCodeSlot(MacroAssembler* masm,
1171 ReplaceClosureCodeWithOptimizedCode(masm, optimized_code_entry, closure,
1181 GenerateTailCallToReturnedCode(masm, Runtime::kHealOptimizedCodeSlot);
1184 static void MaybeOptimizeCode(MacroAssembler* masm, Register feedback_vector,
1196 TailCallRuntimeIfStateEquals(masm, tiering_state,
1199 TailCallRuntimeIfStateEquals(masm, tiering_state,
1211 static void AdvanceBytecodeOffsetOrReturn(MacroAssembler* masm,
1287 MacroAssembler* masm, Register optimization_state,
1298 MaybeOptimizeCode(masm, feedback_vector, tiering_state);
1307 TailCallOptimizedCodeSlot(masm, optimized_code_entry, r9);
1313 MacroAssembler* masm, Register optimization_state, Register feedback_vector,
1315 ASM_CODE_COMMENT(masm);
1331 void Builtins::Generate_BaselineOutOfLinePrologue(MacroAssembler* masm) {
1356 LoadTieringStateAndJumpIfNeedsProcessing(masm, optimization_state,
1375 FrameScope frame_scope(masm, StackFrame::MANUAL);
1377 ASM_CODE_COMMENT_STRING(masm, "Frame Setup");
1396 ResetBytecodeAgeAndOsrState(masm, bytecodeArray, r13);
1415 ASM_CODE_COMMENT_STRING(masm, "Stack/interrupt check");
1436 ASM_CODE_COMMENT_STRING(masm, "Optimized marker check");
1441 MaybeOptimizeCodeOrTailCallOptimizedCodeSlot(masm, optimization_state,
1448 ASM_CODE_COMMENT_STRING(masm, "Stack/interrupt call");
1449 FrameScope frame_scope(masm, StackFrame::INTERNAL);
1479 void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
1491 GetSharedFunctionInfoBytecode(masm, kInterpreterBytecodeArrayRegister, ip);
1551 FrameScope frame_scope(masm, StackFrame::MANUAL);
1554 ResetBytecodeAgeAndOsrState(masm, kInterpreterBytecodeArrayRegister, r8);
1620 ExternalReference::interpreter_dispatch_table_address(masm->isolate()));
1628 masm->isolate()->heap()->SetInterpreterEntryReturnPCOffset(masm->pc_offset());
1644 AdvanceBytecodeOffsetOrReturn(masm, kInterpreterBytecodeArrayRegister,
1651 LeaveInterpreterFrame(masm, r5, r7);
1680 MaybeOptimizeCodeOrTailCallOptimizedCodeSlot(masm, optimization_state,
1684 GenerateTailCallToReturnedCode(masm, Runtime::kCompileLazy);
1691 static void GenerateInterpreterPushArgs(MacroAssembler* masm, Register num_args,
1694 ASM_CODE_COMMENT(masm);
1705 MacroAssembler* masm, ConvertReceiverMode receiver_mode,
1731 GenerateInterpreterPushArgs(masm, r6, r5, r7);
1746 __ Jump(BUILTIN_CODE(masm->isolate(), CallWithSpread),
1749 __ Jump(masm->isolate()->builtins()->Call(ConvertReceiverMode::kAny),
1763 MacroAssembler* masm, InterpreterPushArgsMode mode) {
1783 GenerateInterpreterPushArgs(masm, argc_without_receiver, r7, r8);
1804 Handle<Code> code = BUILTIN_CODE(masm->isolate(), ArrayConstructorImpl);
1808 __ Jump(BUILTIN_CODE(masm->isolate(), ConstructWithSpread),
1813 __ Jump(BUILTIN_CODE(masm->isolate(), Construct), RelocInfo::CODE_TARGET);
1824 static void Generate_InterpreterEnterBytecode(MacroAssembler* masm) {
1829 masm->isolate()->heap()->interpreter_entry_return_pc_offset());
1855 masm->isolate()));
1865 ExternalReference::interpreter_dispatch_table_address(masm->isolate()));
1899 UseScratchRegisterScope temps(masm);
1909 void Builtins::Generate_InterpreterEnterAtNextBytecode(MacroAssembler* masm) {
1929 AdvanceBytecodeOffsetOrReturn(masm, kInterpreterBytecodeArrayRegister,
1939 Generate_InterpreterEnterBytecode(masm);
1955 void Builtins::Generate_InterpreterEnterAtBytecode(MacroAssembler* masm) {
1956 Generate_InterpreterEnterBytecode(masm);
1960 void Generate_ContinueToBuiltinHelper(MacroAssembler* masm,
2004 UseScratchRegisterScope temps(masm);
2016 void Builtins::Generate_ContinueToCodeStubBuiltin(MacroAssembler* masm) {
2017 Generate_ContinueToBuiltinHelper(masm, false, false);
2021 MacroAssembler* masm) {
2022 Generate_ContinueToBuiltinHelper(masm, false, true);
2025 void Builtins::Generate_ContinueToJavaScriptBuiltin(MacroAssembler* masm) {
2026 Generate_ContinueToBuiltinHelper(masm, true, false);
2030 MacroAssembler* masm) {
2031 Generate_ContinueToBuiltinHelper(masm, true, true);
2034 void Builtins::Generate_NotifyDeoptimized(MacroAssembler* masm) {
2036 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
2046 void Builtins::Generate_InterpreterOnStackReplacement(MacroAssembler* masm) {
2047 return OnStackReplacement(masm, true);
2051 void Builtins::Generate_BaselineOnStackReplacement(MacroAssembler* masm) {
2054 return OnStackReplacement(masm, false);
2059 void Builtins::Generate_FunctionPrototypeApply(MacroAssembler* masm) {
2104 __ Jump(BUILTIN_CODE(masm->isolate(), CallWithArrayLike),
2112 __ Jump(masm->isolate()->builtins()->Call(), RelocInfo::CODE_TARGET);
2117 void Builtins::Generate_FunctionPrototypeCall(MacroAssembler* masm) {
2136 __ Jump(masm->isolate()->builtins()->Call(), RelocInfo::CODE_TARGET);
2139 void Builtins::Generate_ReflectApply(MacroAssembler* masm) {
2183 __ Jump(BUILTIN_CODE(masm->isolate(), CallWithArrayLike),
2187 void Builtins::Generate_ReflectConstruct(MacroAssembler* masm) {
2237 __ Jump(BUILTIN_CODE(masm->isolate(), ConstructWithArrayLike),
2248 MacroAssembler* masm, Register count, Register argc_in_out,
2280 void Builtins::Generate_CallOrConstructVarargs(MacroAssembler* masm,
2321 Generate_AllocateSpaceAndShiftExistingArguments(masm, r7, r3, r8, ip, r9);
2352 void Builtins::Generate_CallOrConstructForwardVarargs(MacroAssembler* masm,
2374 FrameScope scope(masm, StackFrame::MANUAL);
2414 Generate_AllocateSpaceAndShiftExistingArguments(masm, r8, r3, r5, scratch,
2443 void Builtins::Generate_CallFunction(MacroAssembler* masm,
2500 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
2505 __ Call(BUILTIN_CODE(masm->isolate(), ToObject),
2534 void Generate_PushBoundArguments(MacroAssembler* masm) {
2571 FrameScope scope(masm, StackFrame::MANUAL);
2607 void Builtins::Generate_CallBoundFunctionImpl(MacroAssembler* masm) {
2620 Generate_PushBoundArguments(masm);
2625 __ Jump(BUILTIN_CODE(masm->isolate(), Call_ReceiverIsAny),
2630 void Builtins::Generate_Call(MacroAssembler* masm, ConvertReceiverMode mode) {
2647 __ Jump(masm->isolate()->builtins()->CallFunction(mode),
2650 __ Jump(BUILTIN_CODE(masm->isolate(), CallBoundFunction),
2664 __ Jump(BUILTIN_CODE(masm->isolate(), CallProxy), RelocInfo::CODE_TARGET, eq);
2669 __ Jump(BUILTIN_CODE(masm->isolate(), CallWrappedFunction),
2683 __ Jump(masm->isolate()->builtins()->CallFunction(
2690 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
2699 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
2707 void Builtins::Generate_ConstructFunction(MacroAssembler* masm) {
2730 __ Jump(BUILTIN_CODE(masm->isolate(), JSBuiltinsConstructStub),
2734 __ Jump(BUILTIN_CODE(masm->isolate(), JSConstructStubGeneric),
2739 void Builtins::Generate_ConstructBoundFunction(MacroAssembler* masm) {
2749 Generate_PushBoundArguments(masm);
2762 __ Jump(BUILTIN_CODE(masm->isolate(), Construct), RelocInfo::CODE_TARGET);
2766 void Builtins::Generate_Construct(MacroAssembler* masm) {
2797 __ Jump(BUILTIN_CODE(masm->isolate(), ConstructFunction),
2803 __ Jump(BUILTIN_CODE(masm->isolate(), ConstructBoundFunction),
2809 __ Jump(BUILTIN_CODE(masm->isolate(), ConstructProxy),
2820 __ Jump(masm->isolate()->builtins()->CallFunction(),
2827 __ Jump(BUILTIN_CODE(masm->isolate(), ConstructedNonConstructable),
2832 void Builtins::Generate_WasmCompileLazy(MacroAssembler* masm) {
2838 HardAbortScope hard_abort(masm); // Avoid calls to Abort.
2839 FrameAndConstantPoolScope scope(masm, StackFrame::WASM_COMPILE_LAZY);
2904 void Builtins::Generate_WasmDebugBreak(MacroAssembler* masm) {
2905 HardAbortScope hard_abort(masm); // Avoid calls to Abort.
2907 FrameAndConstantPoolScope scope(masm, StackFrame::WASM_DEBUG_BREAK);
2928 void Builtins::Generate_GenericJSToWasmWrapper(MacroAssembler* masm) {
2933 void Builtins::Generate_WasmReturnPromiseOnSuspend(MacroAssembler* masm) {
2938 void Builtins::Generate_WasmSuspend(MacroAssembler* masm) {
2943 void Builtins::Generate_WasmResume(MacroAssembler* masm) {
2948 void Builtins::Generate_WasmOnStackReplace(MacroAssembler* masm) {
2954 void Builtins::Generate_CEntry(MacroAssembler* masm, int result_size,
2980 FrameScope scope(masm, StackFrame::MANUAL);
3018 __ Move(isolate_reg, ExternalReference::isolate_address(masm->isolate()));
3039 IsolateAddressId::kPendingExceptionAddress, masm->isolate());
3066 IsolateAddressId::kPendingHandlerContextAddress, masm->isolate());
3069 IsolateAddressId::kPendingHandlerEntrypointAddress, masm->isolate());
3073 masm->isolate());
3075 IsolateAddressId::kPendingHandlerFPAddress, masm->isolate());
3077 IsolateAddressId::kPendingHandlerSPAddress, masm->isolate());
3084 FrameScope scope(masm, StackFrame::MANUAL);
3088 __ Move(r5, ExternalReference::isolate_address(masm->isolate()));
3110 UseScratchRegisterScope temps(masm);
3112 masm->isolate()));
3118 ConstantPoolUnavailableScope constant_pool_unavailable(masm);
3128 void Builtins::Generate_DoubleToI(MacroAssembler* masm) {
3132 HardAbortScope hard_abort(masm); // Avoid calls to Abort.
3256 static void CallApiFunctionAndReturn(MacroAssembler* masm,
3262 Isolate* isolate = masm->isolate();
3374 void Builtins::Generate_CallApiCallback(MacroAssembler* masm) {
3421 __ Move(scratch, ExternalReference::isolate_address(masm->isolate()));
3450 FrameScope frame_scope(masm, StackFrame::MANUAL);
3494 AllowExternalCallThatCantCauseGC scope(masm);
3495 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref,
3501 void Builtins::Generate_CallApiGetter(MacroAssembler* masm) {
3531 __ Move(scratch, ExternalReference::isolate_address(masm->isolate()));
3566 FrameScope frame_scope(masm, StackFrame::MANUAL);
3594 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref,
3599 void Builtins::Generate_DirectCEntry(MacroAssembler* masm) {
3600 UseScratchRegisterScope temps(masm);
3626 void Generate_DeoptimizationEntry(MacroAssembler* masm,
3628 Isolate* isolate = masm->isolate();
3658 UseScratchRegisterScope temps(masm);
3690 AllowExternalCallThatCantCauseGC scope(masm);
3722 UseScratchRegisterScope temps(masm);
3759 AllowExternalCallThatCantCauseGC scope(masm);
3814 UseScratchRegisterScope temps(masm);
3828 UseScratchRegisterScope temps(masm);
3837 UseScratchRegisterScope temps(masm);
3850 void Builtins::Generate_DeoptimizationEntry_Eager(MacroAssembler* masm) {
3851 Generate_DeoptimizationEntry(masm, DeoptimizeKind::kEager);
3854 void Builtins::Generate_DeoptimizationEntry_Lazy(MacroAssembler* masm) {
3855 Generate_DeoptimizationEntry(masm, DeoptimizeKind::kLazy);
3858 void Builtins::Generate_DeoptimizationEntry_Unused(MacroAssembler* masm) {
3859 Generate_DeoptimizationEntry(masm, DeoptimizeKind::kUnused);
3863 MacroAssembler* masm) {
3865 Generate_BaselineOrInterpreterEntry(masm, false);
3869 MacroAssembler* masm) {
3871 Generate_BaselineOrInterpreterEntry(masm, true);
3875 MacroAssembler* masm) {
3877 Generate_BaselineOrInterpreterEntry(masm, false, true);