Lines Matching refs:masm

95 #define __ ACCESS_MASM(masm)
98 void HydrogenCodeStub::GenerateLightweightMiss(MacroAssembler* masm,
107 FrameScope scope(masm, StackFrame::INTERNAL);
112 MacroAssembler::PushPopQueue queue(masm);
125 void DoubleToIStub::Generate(MacroAssembler* masm) {
132 DCHECK(jssp.Is(masm->StackPointer()));
174 if (masm->emit_debug_code()) {
205 static void EmitIdenticalObjectComparison(MacroAssembler* masm,
294 static void EmitStrictTwoHeapObjectCompare(MacroAssembler* masm,
302 if (masm->emit_debug_code()) {
348 static void EmitSmiNonsmiComparison(MacroAssembler* masm,
418 static void EmitCheckForInternalizedStringsOrObjects(MacroAssembler* masm,
470 static void CompareICStub_CheckInputType(MacroAssembler* masm, Register input,
486 void CompareICStub::GenerateGeneric(MacroAssembler* masm) {
493 CompareICStub_CheckInputType(masm, lhs, left(), &miss);
494 CompareICStub_CheckInputType(masm, rhs, right(), &miss);
511 EmitIdenticalObjectComparison(masm, lhs, rhs, x10, d0, &slow, cond);
527 EmitSmiNonsmiComparison(masm, lhs, rhs, lhs_d, rhs_d, &slow, strict());
569 EmitStrictTwoHeapObjectCompare(masm, lhs, rhs, lhs_type, rhs_type, x14);
596 EmitCheckForInternalizedStringsOrObjects(masm, lhs, rhs, lhs_map, rhs_map,
610 StringHelper::GenerateFlatOneByteStringEquals(masm, lhs, rhs, x10, x11,
613 StringHelper::GenerateCompareFlatOneByteStrings(masm, lhs, rhs, x10, x11,
647 GenerateMiss(masm);
651 void StoreBufferOverflowStub::Generate(MacroAssembler* masm) {
660 saved_regs.Remove(*(masm->TmpList()));
661 saved_fp_regs.Remove(*(masm->FPTmpList()));
668 AllowExternalCallThatCantCauseGC scope(masm);
690 void StoreRegistersStateStub::Generate(MacroAssembler* masm) {
691 MacroAssembler::NoUseRealAbortsScope no_use_real_aborts(masm);
692 UseScratchRegisterScope temps(masm);
704 void RestoreRegistersStateStub::Generate(MacroAssembler* masm) {
705 MacroAssembler::NoUseRealAbortsScope no_use_real_aborts(masm);
706 UseScratchRegisterScope temps(masm);
715 void MathPowStub::Generate(MacroAssembler* masm) {
823 if (masm->emit_debug_code()) {
824 UseScratchRegisterScope temps(masm);
861 AllowExternalCallThatCantCauseGC scope(masm);
950 AllowExternalCallThatCantCauseGC scope(masm);
1023 void CEntryStub::Generate(MacroAssembler* masm) {
1029 MacroAssembler::NoUseRealAbortsScope no_use_real_aborts(masm);
1032 ProfileEntryHookStub::MaybeCallEntryHook(masm);
1074 FrameScope scope(masm, StackFrame::MANUAL);
1140 UseScratchRegisterScope temps(masm);
1244 void JSEntryStub::Generate(MacroAssembler* masm) {
1269 ProfileEntryHookStub::MaybeCallEntryHook(masm);
1321 Assembler::BlockPoolsScope block_pools(masm);
1412 void FunctionPrototypeStub::Generate(MacroAssembler* masm) {
1416 NamedLoadHandlerCompiler::GenerateLoadFunctionPrototype(masm, receiver, x10,
1421 masm, PropertyAccessCompiler::MissBuiltin(Code::LOAD_IC));
1425 void InstanceofStub::Generate(MacroAssembler* masm) {
1589 FrameScope scope(masm, StackFrame::INTERNAL);
1605 void ArgumentsAccessStub::GenerateReadElement(MacroAssembler* masm) {
1656 void ArgumentsAccessStub::GenerateNewSloppySlow(MacroAssembler* masm) {
1685 void ArgumentsAccessStub::GenerateNewSloppyFast(MacroAssembler* masm) {
1958 void LoadIndexedInterceptorStub::Generate(MacroAssembler* masm) {
1972 masm->isolate()),
1977 masm, PropertyAccessCompiler::MissBuiltin(Code::KEYED_LOAD_IC));
1981 void ArgumentsAccessStub::GenerateNewStrict(MacroAssembler* masm) {
2113 void RegExpExecStub::Generate(MacroAssembler* masm) {
2435 stub.GenerateCall(masm, code_object);
2599 if (masm->emit_debug_code()) {
2634 static void GenerateRecordCallTarget(MacroAssembler* masm,
2652 DCHECK_EQ(*TypeFeedbackVector::MegamorphicSentinel(masm->isolate()),
2653 masm->isolate()->heap()->megamorphic_symbol());
2654 DCHECK_EQ(*TypeFeedbackVector::UninitializedSentinel(masm->isolate()),
2655 masm->isolate()->heap()->uninitialized_symbol());
2710 FrameScope scope(masm, StackFrame::INTERNAL);
2711 CreateAllocationSiteStub create_stub(masm->isolate());
2746 static void EmitContinueIfStrictOrNative(MacroAssembler* masm, Label* cont) {
2757 static void EmitSlowCase(MacroAssembler* masm,
2771 masm->isolate()->builtins()->ArgumentsAdaptorTrampoline();
2782 __ Jump(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(),
2787 static void EmitWrapCase(MacroAssembler* masm, int argc, Label* cont) {
2789 { FrameScope frame_scope(masm, StackFrame::INTERNAL);
2799 static void CallFunctionNoFeedback(MacroAssembler* masm,
2824 EmitContinueIfStrictOrNative(masm, &cont);
2847 EmitSlowCase(masm, argc, function, type, &non_function);
2852 EmitWrapCase(masm, argc, &cont);
2857 void CallFunctionStub::Generate(MacroAssembler* masm) {
2859 CallFunctionNoFeedback(masm, argc(), NeedsChecks(), CallAsMethod());
2863 void CallConstructStub::Generate(MacroAssembler* masm) {
2880 GenerateRecordCallTarget(masm, x0, function, x2, x3, x4, x5);
2933 static void EmitLoadTypeFeedbackVector(MacroAssembler* masm, Register vector) {
2942 void CallIC_ArrayStub::Generate(MacroAssembler* masm) {
2951 EmitLoadTypeFeedbackVector(masm, feedback_vector);
2970 ArrayConstructorStub stub(masm->isolate(), arg_count());
2974 GenerateMiss(masm);
2977 CallFunctionNoFeedback(masm,
2986 void CallICStub::Generate(MacroAssembler* masm) {
3002 EmitLoadTypeFeedbackVector(masm, feedback_vector);
3014 EmitContinueIfStrictOrNative(masm, &cont);
3031 EmitSlowCase(masm, argc, function, type, &non_function);
3035 EmitWrapCase(masm, argc, &cont);
3058 GenerateMiss(masm);
3072 void CallICStub::GenerateMiss(MacroAssembler* masm) {
3079 FrameScope scope(masm, StackFrame::INTERNAL);
3089 masm->isolate());
3098 void StringCharCodeAtGenerator::GenerateFast(MacroAssembler* masm) {
3120 StringCharLoadGenerator::Generate(masm,
3131 MacroAssembler* masm,
3138 call_helper.BeforeCall(masm);
3155 call_helper.AfterCall(masm);
3166 call_helper.BeforeCall(masm);
3171 call_helper.AfterCall(masm);
3178 void StringCharFromCodeGenerator::GenerateFast(MacroAssembler* masm) {
3193 MacroAssembler* masm,
3198 call_helper.BeforeCall(masm);
3202 call_helper.AfterCall(masm);
3209 void CompareICStub::GenerateSmis(MacroAssembler* masm) {
3228 GenerateMiss(masm);
3232 void CompareICStub::GenerateNumbers(MacroAssembler* masm) {
3294 GenerateMiss(masm);
3298 void CompareICStub::GenerateInternalizedStrings(MacroAssembler* masm) {
3332 GenerateMiss(masm);
3336 void CompareICStub::GenerateUniqueNames(MacroAssembler* masm) {
3371 GenerateMiss(masm);
3375 void CompareICStub::GenerateStrings(MacroAssembler* masm) {
3435 StringHelper::GenerateFlatOneByteStringEquals(masm, lhs, rhs, x10, x11,
3438 StringHelper::GenerateCompareFlatOneByteStrings(masm, lhs, rhs, x10, x11,
3452 GenerateMiss(masm);
3456 void CompareICStub::GenerateObjects(MacroAssembler* masm) {
3476 GenerateMiss(masm);
3480 void CompareICStub::GenerateKnownObjects(MacroAssembler* masm) {
3504 GenerateMiss(masm);
3512 void CompareICStub::GenerateMiss(MacroAssembler* masm) {
3520 FrameScope scope(masm, StackFrame::INTERNAL);
3544 void SubStringStub::Generate(MacroAssembler* masm) {
3788 generator.GenerateFast(masm);
3791 generator.SkipSlow(masm, &runtime);
3796 MacroAssembler* masm, Register left, Register right, Register scratch1,
3825 GenerateOneByteCharsCompareLoop(masm, left, right, left_length, scratch2,
3835 MacroAssembler* masm, Register left, Register right, Register scratch1,
3851 GenerateOneByteCharsCompareLoop(masm, left, right, min_length, scratch2,
3875 MacroAssembler* masm, Register left, Register right, Register length,
3902 void StringCompareStub::Generate(MacroAssembler* masm) {
3930 StringHelper::GenerateCompareFlatOneByteStrings(masm, left, right, x12, x13,
3946 void BinaryOpICWithAllocationSiteStub::Generate(MacroAssembler* masm) {
3973 void RecordWriteStub::GenerateIncremental(MacroAssembler* masm, Mode mode) {
3976 regs_.Save(masm);
3991 masm, kUpdateRememberedSetOnNoNeedToInformIncrementalMarker, mode);
3992 InformIncrementalMarker(masm);
3993 regs_.Restore(masm); // Restore the extra scratch registers we used.
4003 masm, kReturnOnNoNeedToInformIncrementalMarker, mode);
4004 InformIncrementalMarker(masm);
4005 regs_.Restore(masm); // Restore the extra scratch registers we used.
4010 void RecordWriteStub::InformIncrementalMarker(MacroAssembler* masm) {
4011 regs_.SaveCallerSaveRegisters(masm, save_fp_regs_mode());
4021 AllowExternalCallThatCantCauseGC scope(masm);
4027 regs_.RestoreCallerSaveRegisters(masm, save_fp_regs_mode());
4032 MacroAssembler* masm,
4052 regs_.Restore(masm); // Restore the extra scratch registers we used.
4092 regs_.Restore(masm); // Restore the extra scratch registers we used.
4109 void RecordWriteStub::Generate(MacroAssembler* masm) {
4119 InstructionAccurateScope scope(masm, 2);
4132 GenerateIncremental(masm, INCREMENTAL);
4135 GenerateIncremental(masm, INCREMENTAL_COMPACTION);
4139 void StoreArrayLiteralElementStub::Generate(MacroAssembler* masm) {
4209 void StubFailureTrampolineStub::Generate(MacroAssembler* masm) {
4218 masm->LeaveFrame(StackFrame::STUB_FAILURE_TRAMPOLINE);
4225 void LoadICTrampolineStub::Generate(MacroAssembler* masm) {
4226 EmitLoadTypeFeedbackVector(masm, VectorLoadICDescriptor::VectorRegister());
4232 void KeyedLoadICTrampolineStub::Generate(MacroAssembler* masm) {
4233 EmitLoadTypeFeedbackVector(masm, VectorLoadICDescriptor::VectorRegister());
4239 static unsigned int GetProfileEntryHookCallSize(MacroAssembler* masm) {
4253 void ProfileEntryHookStub::MaybeCallEntryHook(MacroAssembler* masm) {
4254 if (masm->isolate()->function_entry_hook() != NULL) {
4255 ProfileEntryHookStub stub(masm->isolate());
4256 Assembler::BlockConstPoolScope no_const_pools(masm);
4257 DontEmitDebugCodeScope no_debug_code(masm);
4262 DCHECK(masm->SizeOfCodeGeneratedSince(&entry_hook_call_start) ==
4263 GetProfileEntryHookCallSize(masm));
4270 void ProfileEntryHookStub::Generate(MacroAssembler* masm) {
4271 MacroAssembler::NoUseRealAbortsScope no_use_real_aborts(masm);
4281 __ Sub(x0, lr, GetProfileEntryHookCallSize(masm));
4304 FrameScope frame(masm, StackFrame::MANUAL);
4313 void DirectCEntryStub::Generate(MacroAssembler* masm) {
4334 void DirectCEntryStub::GenerateCall(MacroAssembler* masm,
4356 MacroAssembler* masm,
4392 UseScratchRegisterScope temps(masm);
4420 NameDictionaryLookupStub stub(masm->isolate(), POSITIVE_LOOKUP);
4433 void NameDictionaryLookupStub::GenerateNegativeLookup(MacroAssembler* masm,
4491 NameDictionaryLookupStub stub(masm->isolate(), NEGATIVE_LOOKUP);
4503 void NameDictionaryLookupStub::Generate(MacroAssembler* masm) {
4590 static void CreateArrayDispatch(MacroAssembler* masm,
4594 T stub(masm->isolate(), GetInitialFastElementsKind(), mode);
4607 T stub(masm->isolate(), candidate_kind);
4623 static void CreateArrayDispatchOneArgument(MacroAssembler* masm,
4657 ArraySingleArgumentConstructorStub stub_holey(masm->isolate(),
4663 ArraySingleArgumentConstructorStub stub(masm->isolate(),
4696 ArraySingleArgumentConstructorStub stub(masm->isolate(), candidate_kind);
4751 MacroAssembler* masm,
4761 CreateArrayDispatchOneArgument(masm, mode);
4765 CreateArrayDispatch<ArrayNoArgumentConstructorStub>(masm, mode);
4769 CreateArrayDispatch<ArrayNArgumentsConstructorStub>(masm, mode);
4772 CreateArrayDispatch<ArrayNoArgumentConstructorStub>(masm, mode);
4774 CreateArrayDispatchOneArgument(masm, mode);
4776 CreateArrayDispatch<ArrayNArgumentsConstructorStub>(masm, mode);
4783 void ArrayConstructorStub::Generate(MacroAssembler* masm) {
4824 GenerateDispatchToArrayStub(masm, DONT_OVERRIDE);
4827 GenerateDispatchToArrayStub(masm, DISABLE_ALLOCATION_SITES);
4832 MacroAssembler* masm, ElementsKind kind) {
4868 void InternalArrayConstructorStub::Generate(MacroAssembler* masm) {
4911 GenerateCase(masm, FAST_HOLEY_ELEMENTS);
4914 GenerateCase(masm, FAST_ELEMENTS);
4918 void CallApiFunctionStub::Generate(MacroAssembler* masm) {
4971 __ Mov(args, masm->StackPointer());
4981 FrameScope frame_scope(masm, StackFrame::MANUAL);
4987 __ Add(x0, masm->StackPointer(), 1 * kPointerSize);
5000 AllowExternalCallThatCantCauseGC scope(masm);
5022 void CallApiGetterStub::Generate(MacroAssembler* masm) {
5033 __ Mov(x0, masm->StackPointer()); // x0 = Handle<Name>
5042 FrameScope frame_scope(masm, StackFrame::MANUAL);
5048 __ Add(x1, masm->StackPointer(), 1 * kPointerSize); // x1 = AccessorInfo&