Lines Matching refs:masm
34 #define __ ACCESS_MASM(masm)
38 static void AssertCodeIsBaseline(MacroAssembler* masm, Register code,
48 static void GetSharedFunctionInfoBytecodeOrBaseline(MacroAssembler* masm,
53 ASM_CODE_COMMENT(masm);
59 AssertCodeIsBaseline(masm, sfi_data, scratch1);
74 void Generate_OSREntry(MacroAssembler* masm, Register entry_address,
86 void ResetBytecodeAgeAndOsrState(MacroAssembler* masm, Register bytecode_array,
102 void Generate_BaselineOrInterpreterEntry(MacroAssembler* masm,
132 __ Jump(masm->isolate()->builtins()->code_handle(builtin_id),
143 AssertCodeIsBaseline(masm, code_obj, r5);
211 FrameScope scope(masm, StackFrame::INTERNAL);
221 ResetBytecodeAgeAndOsrState(masm, kInterpreterBytecodeArrayRegister, r1);
222 Generate_OSREntry(masm, code_obj, Code::kHeaderSize - kHeapObjectTag);
243 FrameScope scope(masm, StackFrame::INTERNAL);
258 void OnStackReplacement(MacroAssembler* masm, OsrSourceTier source) {
259 ASM_CODE_COMMENT(masm);
261 FrameScope scope(masm, StackFrame::INTERNAL);
294 Generate_OSREntry(masm, r2, Code::kHeaderSize - kHeapObjectTag);
299 void Builtins::Generate_Adaptor(MacroAssembler* masm, Address address) {
301 __ Jump(BUILTIN_CODE(masm->isolate(), AdaptorWithBuiltinExitFrame),
305 static void GenerateTailCallToReturnedCode(MacroAssembler* masm,
313 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
340 void Generate_PushArguments(MacroAssembler* masm, Register array, Register argc,
361 void Generate_JSBuiltinsConstructStubHelper(MacroAssembler* masm) {
378 FrameAndConstantPoolScope scope(masm, StackFrame::CONSTRUCT);
396 Generate_PushArguments(masm, r6, r2, r1, ArgumentsElementType::kRaw);
422 FrameScope scope(masm, StackFrame::INTERNAL);
431 void Builtins::Generate_JSConstructStubGeneric(MacroAssembler* masm) {
441 FrameScope scope(masm, StackFrame::MANUAL);
470 __ IncrementCounter(masm->isolate()->counters()->constructed_objects(), 1, r6,
472 __ Call(BUILTIN_CODE(masm->isolate(), FastNewObject), RelocInfo::CODE_TARGET);
488 masm->isolate()->heap()->SetConstructStubCreateDeoptPCOffset(
489 masm->pc_offset());
529 Generate_PushArguments(masm, r6, r2, r1, ArgumentsElementType::kRaw);
547 masm->isolate()->heap()->SetConstructStubInvokeDeoptPCOffset(
548 masm->pc_offset());
603 void Builtins::Generate_JSBuiltinsConstructStub(MacroAssembler* masm) {
604 Generate_JSBuiltinsConstructStubHelper(masm);
608 void Builtins::Generate_ResumeGeneratorTrampoline(MacroAssembler* masm) {
634 ExternalReference::debug_hook_on_function_call_address(masm->isolate());
643 ExternalReference::debug_suspended_generator_address(masm->isolate());
701 GetSharedFunctionInfoBytecodeOrBaseline(masm, r5, ip, &is_baseline);
726 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
739 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
750 FrameScope scope(masm, StackFrame::INTERNAL);
756 void Builtins::Generate_ConstructedNonConstructable(MacroAssembler* masm) {
757 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
779 void Generate_JSEntryVariant(MacroAssembler* masm, StackFrame::Type type,
796 NoRootArrayScope no_root_array(masm);
851 masm->isolate()));
879 masm->isolate());
901 masm->isolate()->builtins()->SetJSEntryHandlerOffset(handler_entry.pos());
909 masm->isolate()));
931 masm->isolate()->builtins()->code_handle(entry_trampoline);
953 masm->isolate()));
988 void Builtins::Generate_JSEntry(MacroAssembler* masm) {
989 Generate_JSEntryVariant(masm, StackFrame::ENTRY, Builtin::kJSEntryTrampoline);
992 void Builtins::Generate_JSConstructEntry(MacroAssembler* masm) {
993 Generate_JSEntryVariant(masm, StackFrame::CONSTRUCT_ENTRY,
997 void Builtins::Generate_JSRunMicrotasksEntry(MacroAssembler* masm) {
998 Generate_JSEntryVariant(masm, StackFrame::ENTRY,
1002 static void Generate_JSEntryTrampolineHelper(MacroAssembler* masm,
1026 FrameScope scope(masm, StackFrame::INTERNAL);
1030 IsolateAddressId::kContextAddress, masm->isolate());
1059 Generate_PushArguments(masm, r6, r2, r1, ArgumentsElementType::kHandle);
1081 ? BUILTIN_CODE(masm->isolate(), Construct)
1082 : masm->isolate()->builtins()->Call();
1093 void Builtins::Generate_JSEntryTrampoline(MacroAssembler* masm) {
1094 Generate_JSEntryTrampolineHelper(masm, false);
1097 void Builtins::Generate_JSConstructEntryTrampoline(MacroAssembler* masm) {
1098 Generate_JSEntryTrampolineHelper(masm, true);
1101 void Builtins::Generate_RunMicrotasksTrampoline(MacroAssembler* masm) {
1108 __ Jump(BUILTIN_CODE(masm->isolate(), RunMicrotasks), RelocInfo::CODE_TARGET);
1111 static void ReplaceClosureCodeWithOptimizedCode(MacroAssembler* masm,
1131 static void LeaveInterpreterFrame(MacroAssembler* masm, Register scratch1,
1163 static void TailCallRuntimeIfStateEquals(MacroAssembler* masm,
1170 GenerateTailCallToReturnedCode(masm, function_id);
1174 static void TailCallOptimizedCodeSlot(MacroAssembler* masm,
1204 ReplaceClosureCodeWithOptimizedCode(masm, optimized_code_entry, closure,
1214 GenerateTailCallToReturnedCode(masm, Runtime::kHealOptimizedCodeSlot);
1217 static void MaybeOptimizeCode(MacroAssembler* masm, Register feedback_vector,
1229 TailCallRuntimeIfStateEquals(masm, tiering_state,
1232 TailCallRuntimeIfStateEquals(masm, tiering_state,
1244 static void AdvanceBytecodeOffsetOrReturn(MacroAssembler* masm,
1320 MacroAssembler* masm, Register optimization_state,
1331 MaybeOptimizeCode(masm, feedback_vector, tiering_state);
1339 TailCallOptimizedCodeSlot(masm, optimized_code_entry, r8);
1345 MacroAssembler* masm, Register optimization_state, Register feedback_vector,
1347 ASM_CODE_COMMENT(masm);
1362 void Builtins::Generate_BaselineOutOfLinePrologue(MacroAssembler* masm) {
1363 // UseScratchRegisterScope temps(masm);
1390 LoadTieringStateAndJumpIfNeedsProcessing(masm, optimization_state,
1407 FrameScope frame_scope(masm, StackFrame::MANUAL);
1409 ASM_CODE_COMMENT_STRING(masm, "Frame Setup");
1428 ResetBytecodeAgeAndOsrState(masm, bytecodeArray, r1);
1447 ASM_CODE_COMMENT_STRING(masm, "Stack/interrupt check");
1468 ASM_CODE_COMMENT_STRING(masm, "Optimized marker check");
1472 MaybeOptimizeCodeOrTailCallOptimizedCodeSlot(masm, optimization_state,
1479 ASM_CODE_COMMENT_STRING(masm, "Stack/interrupt call");
1480 FrameScope frame_scope(masm, StackFrame::INTERNAL);
1510 void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
1525 masm, kInterpreterBytecodeArrayRegister, ip, &is_baseline);
1577 FrameScope frame_scope(masm, StackFrame::MANUAL);
1580 ResetBytecodeAgeAndOsrState(masm, kInterpreterBytecodeArrayRegister, r1);
1646 ExternalReference::interpreter_dispatch_table_address(masm->isolate()));
1655 masm->isolate()->heap()->SetInterpreterEntryReturnPCOffset(masm->pc_offset());
1671 AdvanceBytecodeOffsetOrReturn(masm, kInterpreterBytecodeArrayRegister,
1678 LeaveInterpreterFrame(masm, r4, r6);
1707 MaybeOptimizeCodeOrTailCallOptimizedCodeSlot(masm, optimization_state,
1729 LoadTieringStateAndJumpIfNeedsProcessing(masm, optimization_state,
1736 ReplaceClosureCodeWithOptimizedCode(masm, r4, closure, ip, r1);
1740 GenerateTailCallToReturnedCode(masm, Runtime::kInstallBaselineCode);
1744 GenerateTailCallToReturnedCode(masm, Runtime::kCompileLazy);
1751 static void GenerateInterpreterPushArgs(MacroAssembler* masm, Register num_args,
1754 ASM_CODE_COMMENT(masm);
1765 MacroAssembler* masm, ConvertReceiverMode receiver_mode,
1790 GenerateInterpreterPushArgs(masm, r5, r4, r6);
1805 __ Jump(BUILTIN_CODE(masm->isolate(), CallWithSpread),
1808 __ Jump(masm->isolate()->builtins()->Call(ConvertReceiverMode::kAny),
1822 MacroAssembler* masm, InterpreterPushArgsMode mode) {
1841 GenerateInterpreterPushArgs(masm, argc_without_receiver, r6, r7);
1862 Handle<Code> code = BUILTIN_CODE(masm->isolate(), ArrayConstructorImpl);
1866 __ Jump(BUILTIN_CODE(masm->isolate(), ConstructWithSpread),
1871 __ Jump(BUILTIN_CODE(masm->isolate(), Construct), RelocInfo::CODE_TARGET);
1882 static void Generate_InterpreterEnterBytecode(MacroAssembler* masm) {
1887 masm->isolate()->heap()->interpreter_entry_return_pc_offset());
1912 masm->isolate()));
1921 ExternalReference::interpreter_dispatch_table_address(masm->isolate()));
1953 UseScratchRegisterScope temps(masm);
1963 void Builtins::Generate_InterpreterEnterAtNextBytecode(MacroAssembler* masm) {
1983 AdvanceBytecodeOffsetOrReturn(masm, kInterpreterBytecodeArrayRegister,
1993 Generate_InterpreterEnterBytecode(masm);
2009 void Builtins::Generate_InterpreterEnterAtBytecode(MacroAssembler* masm) {
2010 Generate_InterpreterEnterBytecode(masm);
2014 void Generate_ContinueToBuiltinHelper(MacroAssembler* masm,
2058 UseScratchRegisterScope temps(masm);
2070 void Builtins::Generate_ContinueToCodeStubBuiltin(MacroAssembler* masm) {
2071 Generate_ContinueToBuiltinHelper(masm, false, false);
2075 MacroAssembler* masm) {
2076 Generate_ContinueToBuiltinHelper(masm, false, true);
2079 void Builtins::Generate_ContinueToJavaScriptBuiltin(MacroAssembler* masm) {
2080 Generate_ContinueToBuiltinHelper(masm, true, false);
2084 MacroAssembler* masm) {
2085 Generate_ContinueToBuiltinHelper(masm, true, true);
2088 void Builtins::Generate_NotifyDeoptimized(MacroAssembler* masm) {
2090 FrameScope scope(masm, StackFrame::INTERNAL);
2100 void Builtins::Generate_FunctionPrototypeApply(MacroAssembler* masm) {
2145 __ Jump(BUILTIN_CODE(masm->isolate(), CallWithArrayLike),
2153 __ Jump(masm->isolate()->builtins()->Call(), RelocInfo::CODE_TARGET);
2158 void Builtins::Generate_FunctionPrototypeCall(MacroAssembler* masm) {
2177 __ Jump(masm->isolate()->builtins()->Call(), RelocInfo::CODE_TARGET);
2180 void Builtins::Generate_ReflectApply(MacroAssembler* masm) {
2225 __ Jump(BUILTIN_CODE(masm->isolate(), CallWithArrayLike),
2229 void Builtins::Generate_ReflectConstruct(MacroAssembler* masm) {
2280 __ Jump(BUILTIN_CODE(masm->isolate(), ConstructWithArrayLike),
2291 MacroAssembler* masm, Register count, Register argc_in_out,
2326 void Builtins::Generate_CallOrConstructVarargs(MacroAssembler* masm,
2368 Generate_AllocateSpaceAndShiftExistingArguments(masm, r6, r2, r7, ip, r8);
2399 void Builtins::Generate_CallOrConstructForwardVarargs(MacroAssembler* masm,
2421 FrameScope scope(masm, StackFrame::MANUAL);
2462 Generate_AllocateSpaceAndShiftExistingArguments(masm, r7, r2, r4, scratch,
2491 void Builtins::Generate_CallFunction(MacroAssembler* masm,
2548 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
2553 __ Call(BUILTIN_CODE(masm->isolate(), ToObject),
2582 void Generate_PushBoundArguments(MacroAssembler* masm) {
2618 FrameScope scope(masm, StackFrame::MANUAL);
2653 void Builtins::Generate_CallBoundFunctionImpl(MacroAssembler* masm) {
2666 Generate_PushBoundArguments(masm);
2671 __ Jump(BUILTIN_CODE(masm->isolate(), Call_ReceiverIsAny),
2676 void Builtins::Generate_Call(MacroAssembler* masm, ConvertReceiverMode mode) {
2693 __ Jump(masm->isolate()->builtins()->CallFunction(mode),
2696 __ Jump(BUILTIN_CODE(masm->isolate(), CallBoundFunction),
2710 __ Jump(BUILTIN_CODE(masm->isolate(), CallProxy), RelocInfo::CODE_TARGET, eq);
2715 __ Jump(BUILTIN_CODE(masm->isolate(), CallWrappedFunction),
2729 __ Jump(masm->isolate()->builtins()->CallFunction(
2736 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
2745 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
2753 void Builtins::Generate_ConstructFunction(MacroAssembler* masm) {
2775 __ Jump(BUILTIN_CODE(masm->isolate(), JSBuiltinsConstructStub),
2779 __ Jump(BUILTIN_CODE(masm->isolate(), JSConstructStubGeneric),
2784 void Builtins::Generate_ConstructBoundFunction(MacroAssembler* masm) {
2794 Generate_PushBoundArguments(masm);
2807 __ Jump(BUILTIN_CODE(masm->isolate(), Construct), RelocInfo::CODE_TARGET);
2811 void Builtins::Generate_Construct(MacroAssembler* masm) {
2842 __ Jump(BUILTIN_CODE(masm->isolate(), ConstructFunction),
2848 __ Jump(BUILTIN_CODE(masm->isolate(), ConstructBoundFunction),
2854 __ Jump(BUILTIN_CODE(masm->isolate(), ConstructProxy),
2865 __ Jump(masm->isolate()->builtins()->CallFunction(),
2872 __ Jump(BUILTIN_CODE(masm->isolate(), ConstructedNonConstructable),
2877 void Builtins::Generate_WasmCompileLazy(MacroAssembler* masm) {
2883 HardAbortScope hard_abort(masm); // Avoid calls to Abort.
2884 FrameAndConstantPoolScope scope(masm, StackFrame::WASM_COMPILE_LAZY);
2941 void Builtins::Generate_WasmDebugBreak(MacroAssembler* masm) {
2942 HardAbortScope hard_abort(masm); // Avoid calls to Abort.
2944 FrameAndConstantPoolScope scope(masm, StackFrame::WASM_DEBUG_BREAK);
2963 void Builtins::Generate_GenericJSToWasmWrapper(MacroAssembler* masm) {
2968 void Builtins::Generate_WasmReturnPromiseOnSuspend(MacroAssembler* masm) {
2973 void Builtins::Generate_WasmSuspend(MacroAssembler* masm) {
2978 void Builtins::Generate_WasmResume(MacroAssembler* masm) {
2983 void Builtins::Generate_WasmOnStackReplace(MacroAssembler* masm) {
2989 void Builtins::Generate_CEntry(MacroAssembler* masm, int result_size,
3014 FrameScope scope(masm, StackFrame::MANUAL);
3060 __ Move(isolate_reg, ExternalReference::isolate_address(masm->isolate()));
3081 IsolateAddressId::kPendingExceptionAddress, masm->isolate());
3107 IsolateAddressId::kPendingHandlerContextAddress, masm->isolate());
3110 IsolateAddressId::kPendingHandlerEntrypointAddress, masm->isolate());
3112 IsolateAddressId::kPendingHandlerFPAddress, masm->isolate());
3114 IsolateAddressId::kPendingHandlerSPAddress, masm->isolate());
3121 FrameScope scope(masm, StackFrame::MANUAL);
3125 __ Move(r4, ExternalReference::isolate_address(masm->isolate()));
3147 UseScratchRegisterScope temps(masm);
3149 masm->isolate()));
3160 void Builtins::Generate_DoubleToI(MacroAssembler* masm) {
3164 HardAbortScope hard_abort(masm); // Avoid calls to Abort.
3282 static void CallApiFunctionAndReturn(MacroAssembler* masm,
3288 Isolate* isolate = masm->isolate();
3395 void Builtins::Generate_CallApiCallback(MacroAssembler* masm) {
3442 __ Move(scratch, ExternalReference::isolate_address(masm->isolate()));
3471 FrameScope frame_scope(masm, StackFrame::MANUAL);
3515 AllowExternalCallThatCantCauseGC scope(masm);
3516 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref,
3521 void Builtins::Generate_CallApiGetter(MacroAssembler* masm) {
3551 __ Move(scratch, ExternalReference::isolate_address(masm->isolate()));
3586 FrameScope frame_scope(masm, StackFrame::MANUAL);
3614 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref,
3619 void Builtins::Generate_DirectCEntry(MacroAssembler* masm) {
3628 void Generate_DeoptimizationEntry(MacroAssembler* masm,
3630 Isolate* isolate = masm->isolate();
3689 AllowExternalCallThatCantCauseGC scope(masm);
3727 UseScratchRegisterScope temps(masm);
3764 AllowExternalCallThatCantCauseGC scope(masm);
3828 UseScratchRegisterScope temps(masm);
3845 void Builtins::Generate_DeoptimizationEntry_Eager(MacroAssembler* masm) {
3846 Generate_DeoptimizationEntry(masm, DeoptimizeKind::kEager);
3849 void Builtins::Generate_DeoptimizationEntry_Lazy(MacroAssembler* masm) {
3850 Generate_DeoptimizationEntry(masm, DeoptimizeKind::kLazy);
3853 void Builtins::Generate_DeoptimizationEntry_Unused(MacroAssembler* masm) {
3854 Generate_DeoptimizationEntry(masm, DeoptimizeKind::kUnused);
3857 void Builtins::Generate_InterpreterOnStackReplacement(MacroAssembler* masm) {
3858 OnStackReplacement(masm, OsrSourceTier::kInterpreter);
3862 void Builtins::Generate_BaselineOnStackReplacement(MacroAssembler* masm) {
3865 OnStackReplacement(masm, OsrSourceTier::kBaseline);
3870 MacroAssembler* masm) {
3871 Generate_BaselineOrInterpreterEntry(masm, false);
3875 MacroAssembler* masm) {
3876 Generate_BaselineOrInterpreterEntry(masm, true);
3880 MacroAssembler* masm) {
3881 Generate_BaselineOrInterpreterEntry(masm, false, true);