Home | History | Annotate | Download | only in s390

Lines Matching refs:masm

24 #define __ ACCESS_MASM(masm)
26 void ArrayNArgumentsConstructorStub::Generate(MacroAssembler* masm) {
46 static void EmitIdenticalObjectComparison(MacroAssembler* masm, Label* slow,
48 static void EmitSmiNonsmiComparison(MacroAssembler* masm, Register lhs,
51 static void EmitStrictTwoHeapObjectCompare(MacroAssembler* masm, Register lhs,
54 void HydrogenCodeStub::GenerateLightweightMiss(MacroAssembler* masm,
63 FrameScope scope(masm, StackFrame::INTERNAL);
76 void DoubleToIStub::Generate(MacroAssembler* masm) {
202 static void EmitIdenticalObjectComparison(MacroAssembler* masm, Label* slow,
314 static void EmitSmiNonsmiComparison(MacroAssembler* masm, Register lhs,
380 static void EmitStrictTwoHeapObjectCompare(MacroAssembler* masm, Register lhs,
420 static void EmitCheckForTwoHeapNumbers(MacroAssembler* masm, Register lhs,
443 masm,
505 static void CompareICStub_CheckInputType(MacroAssembler* masm, Register input,
525 void CompareICStub::GenerateGeneric(MacroAssembler* masm) {
531 CompareICStub_CheckInputType(masm, lhs, r4, left(), &miss);
532 CompareICStub_CheckInputType(masm, rhs, r5, right(), &miss);
551 EmitIdenticalObjectComparison(masm, &slow, cc);
567 EmitSmiNonsmiComparison(masm, lhs, rhs, &lhs_not_nan, &slow, strict());
605 EmitStrictTwoHeapObjectCompare(masm, lhs, rhs);
615 EmitCheckForTwoHeapNumbers(masm, lhs, rhs, &both_loaded_as_doubles,
626 EmitCheckForInternalizedStringsOrObjects(masm, lhs, rhs, &flat_string_check,
639 StringHelper::GenerateFlatOneByteStringEquals(masm, lhs, rhs, r4, r5);
641 StringHelper::GenerateCompareFlatOneByteStrings(masm, lhs, rhs, r4, r5, r6);
649 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
676 GenerateMiss(masm);
679 void StoreBufferOverflowStub::Generate(MacroAssembler* masm) {
691 AllowExternalCallThatCantCauseGC scope(masm);
703 void StoreRegistersStateStub::Generate(MacroAssembler* masm) {
708 void RestoreRegistersStateStub::Generate(MacroAssembler* masm) {
713 void MathPowStub::Generate(MacroAssembler* masm) {
823 AllowExternalCallThatCantCauseGC scope(masm);
904 AllowExternalCallThatCantCauseGC scope(masm);
957 void CEntryStub::Generate(MacroAssembler* masm) {
967 ProfileEntryHookStub::MaybeCallEntryHook(masm);
981 FrameScope scope(masm, StackFrame::MANUAL);
1104 FrameScope scope(masm, StackFrame::MANUAL);
1138 void JSEntryStub::Generate(MacroAssembler* masm) {
1147 ProfileEntryHookStub::MaybeCallEntryHook(masm);
1334 void FunctionPrototypeStub::Generate(MacroAssembler* masm) {
1342 NamedLoadHandlerCompiler::GenerateLoadFunctionPrototype(masm, receiver, r6,
1346 masm, PropertyAccessCompiler::MissBuiltin(Code::LOAD_IC));
1349 void LoadIndexedStringStub::Generate(MacroAssembler* masm) {
1369 char_at_generator.GenerateFast(masm);
1373 char_at_generator.GenerateSlow(masm, PART_OF_IC_HANDLER, call_helper);
1377 masm, PropertyAccessCompiler::MissBuiltin(Code::KEYED_LOAD_IC));
1380 void RegExpExecStub::Generate(MacroAssembler* masm) {
1640 stub.GenerateCall(masm, code);
1804 static void CallStubInRecordCallTarget(MacroAssembler* masm, CodeStub* stub) {
1809 FrameScope scope(masm, StackFrame::INTERNAL);
1821 static void GenerateRecordCallTarget(MacroAssembler* masm) {
1832 DCHECK_EQ(*TypeFeedbackVector::MegamorphicSentinel(masm->isolate()),
1833 masm->isolate()->heap()->megamorphic_symbol());
1834 DCHECK_EQ(*TypeFeedbackVector::UninitializedSentinel(masm->isolate()),
1835 masm->isolate()->heap()->uninitialized_symbol());
1904 CreateAllocationSiteStub create_stub(masm->isolate());
1905 CallStubInRecordCallTarget(masm, &create_stub);
1910 CreateWeakCellStub weak_cell_stub(masm->isolate());
1911 CallStubInRecordCallTarget(masm, &weak_cell_stub);
1934 void CallConstructStub::Generate(MacroAssembler* masm) {
1947 GenerateRecordCallTarget(masm);
1977 void CallICStub::HandleArrayCase(MacroAssembler* masm, Label* miss) {
1998 ArrayConstructorStub stub(masm->isolate(), arg_count());
2002 void CallICStub::Generate(MacroAssembler* masm) {
2045 __ Jump(masm->isolate()->builtins()->CallFunction(convert_mode(),
2061 HandleArrayCase(masm, &miss);
2084 __ Jump(masm->isolate()->builtins()->Call(convert_mode(), tail_call_mode()),
2118 FrameScope scope(masm, StackFrame::INTERNAL);
2119 CreateWeakCellStub create_stub(masm->isolate());
2130 GenerateMiss(masm);
2135 void CallICStub::GenerateMiss(MacroAssembler* masm) {
2136 FrameScope scope(masm, StackFrame::INTERNAL);
2149 void StringCharCodeAtGenerator::GenerateFast(MacroAssembler* masm) {
2174 StringCharLoadGenerator::Generate(masm, object_, index_, result_,
2182 MacroAssembler* masm, EmbedMode embed_mode,
2191 call_helper.BeforeCall(masm);
2212 call_helper.AfterCall(masm);
2222 call_helper.BeforeCall(masm);
2227 call_helper.AfterCall(masm);
2236 void StringCharFromCodeGenerator::GenerateFast(MacroAssembler* masm) {
2257 MacroAssembler* masm, const RuntimeCallHelper& call_helper) {
2261 call_helper.BeforeCall(masm);
2265 call_helper.AfterCall(masm);
2273 void StringHelper::GenerateCopyCharacters(MacroAssembler* masm, Register dest,
2308 void SubStringStub::Generate(MacroAssembler* masm) {
2348 Condition is_string = masm->IsObjectStringType(r2, r3);
2491 StringHelper::GenerateCopyCharacters(masm, r3, r7, r4, r5,
2510 StringHelper::GenerateCopyCharacters(masm, r3, r7, r4, r5,
2531 generator.GenerateFast(masm);
2534 generator.SkipSlow(masm, &runtime);
2537 void ToStringStub::Generate(MacroAssembler* masm) {
2570 void ToNameStub::Generate(MacroAssembler* masm) {
2600 void StringHelper::GenerateFlatOneByteStringEquals(MacroAssembler* masm,
2628 GenerateOneByteCharsCompareLoop(masm, left, right, length, scratch2,
2637 MacroAssembler* masm, Register left, Register right, Register scratch1,
2655 GenerateOneByteCharsCompareLoop(masm, left, right, min_length, scratch2,
2679 MacroAssembler* masm, Register left, Register right, Register length,
2704 void BinaryOpICWithAllocationSiteStub::Generate(MacroAssembler* masm) {
2733 void CompareICStub::GenerateBooleans(MacroAssembler* masm) {
2749 GenerateMiss(masm);
2752 void CompareICStub::GenerateSmis(MacroAssembler* masm) {
2771 GenerateMiss(masm);
2774 void CompareICStub::GenerateNumbers(MacroAssembler* masm) {
2854 GenerateMiss(masm);
2857 void CompareICStub::GenerateInternalizedStrings(MacroAssembler* masm) {
2893 GenerateMiss(masm);
2896 void CompareICStub::GenerateUniqueNames(MacroAssembler* masm) {
2932 GenerateMiss(masm);
2935 void CompareICStub::GenerateStrings(MacroAssembler* masm) {
2997 StringHelper::GenerateFlatOneByteStringEquals(masm, left, right, tmp1,
3000 StringHelper::GenerateCompareFlatOneByteStrings(masm, left, right, tmp1,
3008 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
3021 GenerateMiss(masm);
3024 void CompareICStub::GenerateReceivers(MacroAssembler* masm) {
3041 GenerateMiss(masm);
3044 void CompareICStub::GenerateKnownReceivers(MacroAssembler* masm) {
3071 GenerateMiss(masm);
3074 void CompareICStub::GenerateMiss(MacroAssembler* masm) {
3077 FrameScope scope(masm, StackFrame::INTERNAL);
3093 void DirectCEntryStub::Generate(MacroAssembler* masm) {
3099 void DirectCEntryStub::GenerateCall(MacroAssembler* masm, Register target) {
3114 MacroAssembler* masm, Label* miss, Label* done, Register receiver,
3177 NameDictionaryLookupStub stub(masm->isolate(), NEGATIVE_LOOKUP);
3193 MacroAssembler* masm, Label* miss, Label* done, Register elements,
3253 NameDictionaryLookupStub stub(masm->isolate(), POSITIVE_LOOKUP);
3265 void NameDictionaryLookupStub::Generate(MacroAssembler* masm) {
3371 void RecordWriteStub::Generate(MacroAssembler* masm) {
3392 GenerateIncremental(masm, INCREMENTAL);
3395 GenerateIncremental(masm, INCREMENTAL_COMPACTION);
3402 void RecordWriteStub::GenerateIncremental(MacroAssembler* masm, Mode mode) {
3403 regs_.Save(masm);
3418 masm, kUpdateRememberedSetOnNoNeedToInformIncrementalMarker, mode);
3419 InformIncrementalMarker(masm);
3420 regs_.Restore(masm);
3428 masm, kReturnOnNoNeedToInformIncrementalMarker, mode);
3429 InformIncrementalMarker(masm);
3430 regs_.Restore(masm);
3434 void RecordWriteStub::InformIncrementalMarker(MacroAssembler* masm) {
3435 regs_.SaveCallerSaveRegisters(masm, save_fp_regs_mode());
3447 AllowExternalCallThatCantCauseGC scope(masm);
3451 regs_.RestoreCallerSaveRegisters(masm, save_fp_regs_mode());
3455 MacroAssembler* masm, OnNoNeedToInformIncrementalMarker on_no_need,
3477 regs_.Restore(masm);
3516 regs_.Restore(masm);
3532 void StubFailureTrampolineStub::Generate(MacroAssembler* masm) {
3541 masm->LeaveFrame(StackFrame::STUB_FAILURE_TRAMPOLINE);
3547 void LoadICTrampolineStub::Generate(MacroAssembler* masm) {
3550 stub.GenerateForTrampoline(masm);
3553 void KeyedLoadICTrampolineStub::Generate(MacroAssembler* masm) {
3556 stub.GenerateForTrampoline(masm);
3559 void CallICTrampolineStub::Generate(MacroAssembler* masm) {
3565 void LoadICStub::Generate(MacroAssembler* masm) { GenerateImpl(masm, false); }
3567 void LoadICStub::GenerateForTrampoline(MacroAssembler* masm) {
3568 GenerateImpl(masm, true);
3571 static void HandleArrayCases(MacroAssembler* masm, Register feedback,
3640 static void HandleMonomorphicCase(MacroAssembler* masm, Register receiver,
3661 void LoadICStub::GenerateImpl(MacroAssembler* masm, bool in_frame) {
3678 HandleMonomorphicCase(masm, receiver, receiver_map, feedback, vector, slot,
3686 HandleArrayCases(masm, feedback, receiver_map, scratch1, r9, true, &miss);
3693 masm->isolate()->stub_cache()->GenerateProbe(masm, Code::LOAD_IC, code_flags,
3698 LoadIC::GenerateMiss(masm);
3705 void KeyedLoadICStub::Generate(MacroAssembler* masm) {
3706 GenerateImpl(masm, false);
3709 void KeyedLoadICStub::GenerateForTrampoline(MacroAssembler* masm) {
3710 GenerateImpl(masm, true);
3713 void KeyedLoadICStub::GenerateImpl(MacroAssembler* masm, bool in_frame) {
3730 HandleMonomorphicCase(masm, receiver, receiver_map, feedback, vector, slot,
3742 HandleArrayCases(masm, feedback, receiver_map, scratch1, r9, true, &miss);
3749 KeyedLoadIC::ChooseMegamorphicStub(masm->isolate(), GetExtraICState());
3761 HandleArrayCases(masm, feedback, receiver_map, scratch1, r9, false, &miss);
3764 KeyedLoadIC::GenerateMiss(masm);
3771 void VectorStoreICTrampolineStub::Generate(MacroAssembler* masm) {
3774 stub.GenerateForTrampoline(masm);
3777 void VectorKeyedStoreICTrampolineStub::Generate(MacroAssembler* masm) {
3780 stub.GenerateForTrampoline(masm);
3783 void VectorStoreICStub::Generate(MacroAssembler* masm) {
3784 GenerateImpl(masm, false);
3787 void VectorStoreICStub::GenerateForTrampoline(MacroAssembler* masm) {
3788 GenerateImpl(masm, true);
3791 void VectorStoreICStub::GenerateImpl(MacroAssembler* masm, bool in_frame) {
3810 HandleMonomorphicCase(masm, receiver, receiver_map, feedback, vector, slot,
3820 HandleArrayCases(masm, feedback, receiver_map, scratch1, scratch2, true,
3828 masm->isolate()->stub_cache()->GenerateProbe(
3829 masm, Code::STORE_IC, code_flags, receiver, key, feedback, receiver_map,
3833 StoreIC::GenerateMiss(masm);
3840 void VectorKeyedStoreICStub::Generate(MacroAssembler* masm) {
3841 GenerateImpl(masm, false);
3844 void VectorKeyedStoreICStub::GenerateForTrampoline(MacroAssembler* masm) {
3845 GenerateImpl(masm, true);
3848 static void HandlePolymorphicStoreCase(MacroAssembler* masm, Register feedback,
3912 void VectorKeyedStoreICStub::GenerateImpl(MacroAssembler* masm, bool in_frame) {
3931 HandleMonomorphicCase(masm, receiver, receiver_map, feedback, vector, slot,
3946 HandlePolymorphicStoreCase(masm, feedback, receiver_map, scratch1, scratch2,
3954 KeyedStoreIC::ChooseMegamorphicStub(masm->isolate(), GetExtraICState());
3967 HandleArrayCases(masm, feedback, receiver_map, scratch1, scratch2, false,
3971 KeyedStoreIC::GenerateMiss(masm);
3978 void ProfileEntryHookStub::MaybeCallEntryHook(MacroAssembler* masm) {
3979 if (masm->isolate()->function_entry_hook() != NULL) {
3980 PredictableCodeSizeScope predictable(masm,
3988 ProfileEntryHookStub stub(masm->isolate());
3996 void ProfileEntryHookStub::Generate(MacroAssembler* masm) {
4030 int frame_alignment = masm->ActivationFrameAlignment();
4085 static void CreateArrayDispatch(MacroAssembler* masm,
4088 T stub(masm->isolate(), GetInitialFastElementsKind(), mode);
4096 T stub(masm->isolate(), kind);
4107 static void CreateArrayDispatchOneArgument(MacroAssembler* masm,
4138 masm->isolate(), holey_initial, DISABLE_ALLOCATION_SITES);
4142 ArraySingleArgumentConstructorStub stub(masm->isolate(), initial,
4169 ArraySingleArgumentConstructorStub stub(masm->isolate(), kind);
4211 MacroAssembler* masm, AllocationSiteOverrideMode mode) {
4216 CreateArrayDispatch<ArrayNoArgumentConstructorStub>(masm, mode);
4221 CreateArrayDispatchOneArgument(masm, mode);
4224 ArrayNArgumentsConstructorStub stub(masm->isolate());
4227 CreateArrayDispatch<ArrayNoArgumentConstructorStub>(masm, mode);
4229 CreateArrayDispatchOneArgument(masm, mode);
4231 ArrayNArgumentsConstructorStub stub(masm->isolate());
4238 void ArrayConstructorStub::Generate(MacroAssembler* masm) {
4280 GenerateDispatchToArrayStub(masm, DONT_OVERRIDE);
4283 GenerateDispatchToArrayStub(masm, DISABLE_ALLOCATION_SITES);
4307 void InternalArrayConstructorStub::GenerateCase(MacroAssembler* masm,
4332 void InternalArrayConstructorStub::Generate(MacroAssembler* masm) {
4372 GenerateCase(masm, FAST_HOLEY_ELEMENTS);
4375 GenerateCase(masm, FAST_ELEMENTS);
4378 void FastNewObjectStub::Generate(MacroAssembler* masm) {
4465 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
4476 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
4496 void FastNewRestParameterStub::Generate(MacroAssembler* masm) {
4569 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
4636 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
4652 void FastNewSloppyArgumentsStub::Generate(MacroAssembler* masm) {
4906 void FastNewStrictArgumentsStub::Generate(MacroAssembler* masm) {
5011 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
5026 void StoreGlobalViaContextStub::Generate(MacroAssembler* masm) {
5161 static void CallApiFunctionAndReturn(MacroAssembler* masm,
5168 Isolate* isolate = masm->isolate();
5207 FrameScope frame(masm, StackFrame::MANUAL);
5220 stub.GenerateCall(masm, scratch);
5223 FrameScope frame(masm, StackFrame::MANUAL);
5291 void CallApiCallbackStub::Generate(MacroAssembler* masm) {
5348 __ mov(scratch, Operand(ExternalReference::isolate_address(masm->isolate())));
5367 FrameScope frame_scope(masm, StackFrame::MANUAL);
5384 ExternalReference::invoke_function_callback(masm->isolate());
5386 AllowExternalCallThatCantCauseGC scope(masm);
5403 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref, stack_space,
5408 void CallApiGetterStub::Generate(MacroAssembler* masm) {
5471 FrameScope frame_scope(masm, StackFrame::MANUAL);
5496 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref,