Home | History | Annotate | Download | only in ppc

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,
55 void HydrogenCodeStub::GenerateLightweightMiss(MacroAssembler* masm,
64 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
78 void DoubleToIStub::Generate(MacroAssembler* masm) {
201 static void EmitIdenticalObjectComparison(MacroAssembler* masm, Label* slow,
317 static void EmitSmiNonsmiComparison(MacroAssembler* masm, Register lhs,
388 static void EmitStrictTwoHeapObjectCompare(MacroAssembler* masm, Register lhs,
429 static void EmitCheckForTwoHeapNumbers(MacroAssembler* masm, Register lhs,
452 static void EmitCheckForInternalizedStringsOrObjects(MacroAssembler* masm,
512 static void CompareICStub_CheckInputType(MacroAssembler* masm, Register input,
533 void CompareICStub::GenerateGeneric(MacroAssembler* masm) {
539 CompareICStub_CheckInputType(masm, lhs, r5, left(), &miss);
540 CompareICStub_CheckInputType(masm, rhs, r6, right(), &miss);
559 EmitIdenticalObjectComparison(masm, &slow, cc);
575 EmitSmiNonsmiComparison(masm, lhs, rhs, &lhs_not_nan, &slow, strict());
622 EmitStrictTwoHeapObjectCompare(masm, lhs, rhs);
632 EmitCheckForTwoHeapNumbers(masm, lhs, rhs, &both_loaded_as_doubles,
643 EmitCheckForInternalizedStringsOrObjects(masm, lhs, rhs, &flat_string_check,
656 StringHelper::GenerateFlatOneByteStringEquals(masm, lhs, rhs, r5, r6);
658 StringHelper::GenerateCompareFlatOneByteStrings(masm, lhs, rhs, r5, r6, r7);
666 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
693 GenerateMiss(masm);
697 void StoreBufferOverflowStub::Generate(MacroAssembler* masm) {
710 AllowExternalCallThatCantCauseGC scope(masm);
724 void StoreRegistersStateStub::Generate(MacroAssembler* masm) {
730 void RestoreRegistersStateStub::Generate(MacroAssembler* masm) {
736 void MathPowStub::Generate(MacroAssembler* masm) {
843 AllowExternalCallThatCantCauseGC scope(masm);
926 masm);
988 void CEntryStub::Generate(MacroAssembler* masm) {
998 ProfileEntryHookStub::MaybeCallEntryHook(masm);
1013 FrameScope scope(masm, StackFrame::MANUAL);
1134 FrameScope scope(masm, StackFrame::MANUAL);
1159 ConstantPoolUnavailableScope constant_pool_unavailable(masm);
1173 void JSEntryStub::Generate(MacroAssembler* masm) {
1185 ProfileEntryHookStub::MaybeCallEntryHook(masm);
1333 void FunctionPrototypeStub::Generate(MacroAssembler* masm) {
1341 NamedLoadHandlerCompiler::GenerateLoadFunctionPrototype(masm, receiver, r7,
1345 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));
1381 void RegExpExecStub::Generate(MacroAssembler* masm) {
1629 stub.GenerateCall(masm, code);
1793 static void CallStubInRecordCallTarget(MacroAssembler* masm, CodeStub* stub) {
1798 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
1811 static void GenerateRecordCallTarget(MacroAssembler* masm) {
1822 DCHECK_EQ(*TypeFeedbackVector::MegamorphicSentinel(masm->isolate()),
1823 masm->isolate()->heap()->megamorphic_symbol());
1824 DCHECK_EQ(*TypeFeedbackVector::UninitializedSentinel(masm->isolate()),
1825 masm->isolate()->heap()->uninitialized_symbol());
1894 CreateAllocationSiteStub create_stub(masm->isolate());
1895 CallStubInRecordCallTarget(masm, &create_stub);
1900 CreateWeakCellStub weak_cell_stub(masm->isolate());
1901 CallStubInRecordCallTarget(masm, &weak_cell_stub);
1925 void CallConstructStub::Generate(MacroAssembler* masm) {
1938 GenerateRecordCallTarget(masm);
1974 void CallICStub::HandleArrayCase(MacroAssembler* masm, Label* miss) {
1995 ArrayConstructorStub stub(masm->isolate(), arg_count());
2000 void CallICStub::Generate(MacroAssembler* masm) {
2043 __ Jump(masm->isolate()->builtins()->CallFunction(convert_mode(),
2059 HandleArrayCase(masm, &miss);
2082 __ Jump(masm->isolate()->builtins()->Call(convert_mode(), tail_call_mode()),
2116 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
2117 CreateWeakCellStub create_stub(masm->isolate());
2128 GenerateMiss(masm);
2134 void CallICStub::GenerateMiss(MacroAssembler* masm) {
2135 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
2149 void StringCharCodeAtGenerator::GenerateFast(MacroAssembler* masm) {
2173 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);
2237 void StringCharFromCodeGenerator::GenerateFast(MacroAssembler* masm) {
2259 MacroAssembler* masm, const RuntimeCallHelper& call_helper) {
2263 call_helper.BeforeCall(masm);
2267 call_helper.AfterCall(masm);
2277 void StringHelper::GenerateCopyCharacters(MacroAssembler* masm, Register dest,
2312 void SubStringStub::Generate(MacroAssembler* masm) {
2352 Condition is_string = masm->IsObjectStringType(r3, r4);
2489 StringHelper::GenerateCopyCharacters(masm, r4, r8, r5, r6,
2508 StringHelper::GenerateCopyCharacters(masm, r4, r8, r5, r6,
2529 generator.GenerateFast(masm);
2532 generator.SkipSlow(masm, &runtime);
2535 void ToStringStub::Generate(MacroAssembler* masm) {
2565 void ToNameStub::Generate(MacroAssembler* masm) {
2596 void StringHelper::GenerateFlatOneByteStringEquals(MacroAssembler* masm,
2624 GenerateOneByteCharsCompareLoop(masm, left, right, length, scratch2,
2634 MacroAssembler* masm, Register left, Register right, Register scratch1,
2656 GenerateOneByteCharsCompareLoop(masm, left, right, min_length, scratch2,
2689 MacroAssembler* masm, Register left, Register right, Register length,
2715 void BinaryOpICWithAllocationSiteStub::Generate(MacroAssembler* masm) {
2746 masm) {
2762 GenerateMiss(masm);
2766 void CompareICStub::GenerateSmis(MacroAssembler* masm) {
2785 GenerateMiss(masm);
2789 void CompareICStub::GenerateNumbers(MacroAssembler* masm) {
2878 GenerateMiss(masm);
2882 void CompareICStub::GenerateInternalizedStrings(MacroAssembler* masm) {
2918 GenerateMiss(masm);
2922 void CompareICStub::GenerateUniqueNames(MacroAssembler* masm) {
2958 GenerateMiss(masm);
2962 void CompareICStub::GenerateStrings(MacroAssembler* masm) {
3022 StringHelper::GenerateFlatOneByteStringEquals(masm, left, right, tmp1,
3025 StringHelper::GenerateCompareFlatOneByteStrings(masm, left, right, tmp1,
3033 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
3046 GenerateMiss(masm);
3050 void CompareICStub::GenerateReceivers(MacroAssembler* masm) {
3067 GenerateMiss(masm);
3071 void CompareICStub::GenerateKnownReceivers(MacroAssembler* masm) {
3098 GenerateMiss(masm);
3102 void CompareICStub::GenerateMiss(MacroAssembler* masm) {
3105 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
3122 void DirectCEntryStub::Generate(MacroAssembler* masm) {
3134 void DirectCEntryStub::GenerateCall(MacroAssembler* masm, Register target) {
3152 MacroAssembler* masm, Label* miss, Label* done, Register receiver,
3218 NameDictionaryLookupStub stub(masm->isolate(), NEGATIVE_LOOKUP);
3235 MacroAssembler* masm, Label* miss, Label* done, Register elements,
3295 NameDictionaryLookupStub stub(masm->isolate(), POSITIVE_LOOKUP);
3307 void NameDictionaryLookupStub::Generate(MacroAssembler* masm) {
3414 void RecordWriteStub::Generate(MacroAssembler* masm) {
3436 GenerateIncremental(masm, INCREMENTAL);
3439 GenerateIncremental(masm, INCREMENTAL_COMPACTION);
3447 void RecordWriteStub::GenerateIncremental(MacroAssembler* masm, Mode mode) {
3448 regs_.Save(masm);
3463 masm, kUpdateRememberedSetOnNoNeedToInformIncrementalMarker, mode);
3464 InformIncrementalMarker(masm);
3465 regs_.Restore(masm);
3473 masm, kReturnOnNoNeedToInformIncrementalMarker, mode);
3474 InformIncrementalMarker(masm);
3475 regs_.Restore(masm);
3480 void RecordWriteStub::InformIncrementalMarker(MacroAssembler* masm) {
3481 regs_.SaveCallerSaveRegisters(masm, save_fp_regs_mode());
3493 AllowExternalCallThatCantCauseGC scope(masm);
3497 regs_.RestoreCallerSaveRegisters(masm, save_fp_regs_mode());
3502 MacroAssembler* masm, OnNoNeedToInformIncrementalMarker on_no_need,
3525 regs_.Restore(masm);
3564 regs_.Restore(masm);
3581 void StubFailureTrampolineStub::Generate(MacroAssembler* masm) {
3590 masm->LeaveFrame(StackFrame::STUB_FAILURE_TRAMPOLINE);
3597 void LoadICTrampolineStub::Generate(MacroAssembler* masm) {
3600 stub.GenerateForTrampoline(masm);
3604 void KeyedLoadICTrampolineStub::Generate(MacroAssembler* masm) {
3607 stub.GenerateForTrampoline(masm);
3611 void CallICTrampolineStub::Generate(MacroAssembler* masm) {
3618 void LoadICStub::Generate(MacroAssembler* masm) { GenerateImpl(masm, false); }
3621 void LoadICStub::GenerateForTrampoline(MacroAssembler* masm) {
3622 GenerateImpl(masm, true);
3626 static void HandleArrayCases(MacroAssembler* masm, Register feedback,
3697 static void HandleMonomorphicCase(MacroAssembler* masm, Register receiver,
3720 void LoadICStub::GenerateImpl(MacroAssembler* masm, bool in_frame) {
3738 HandleMonomorphicCase(masm, receiver, receiver_map, feedback, vector, slot,
3746 HandleArrayCases(masm, feedback, receiver_map, scratch1, r10, true, &miss);
3753 masm->isolate()->stub_cache()->GenerateProbe(masm, Code::LOAD_IC, code_flags,
3758 LoadIC::GenerateMiss(masm);
3766 void KeyedLoadICStub::Generate(MacroAssembler* masm) {
3767 GenerateImpl(masm, false);
3771 void KeyedLoadICStub::GenerateForTrampoline(MacroAssembler* masm) {
3772 GenerateImpl(masm, true);
3776 void KeyedLoadICStub::GenerateImpl(MacroAssembler* masm, bool in_frame) {
3794 HandleMonomorphicCase(masm, receiver, receiver_map, feedback, vector, slot,
3806 HandleArrayCases(masm, feedback, receiver_map, scratch1, r10, true, &miss);
3813 KeyedLoadIC::ChooseMegamorphicStub(masm->isolate(), GetExtraICState());
3826 HandleArrayCases(masm, feedback, receiver_map, scratch1, r10, false, &miss);
3829 KeyedLoadIC::GenerateMiss(masm);
3837 void VectorStoreICTrampolineStub::Generate(MacroAssembler* masm) {
3840 stub.GenerateForTrampoline(masm);
3844 void VectorKeyedStoreICTrampolineStub::Generate(MacroAssembler* masm) {
3847 stub.GenerateForTrampoline(masm);
3851 void VectorStoreICStub::Generate(MacroAssembler* masm) {
3852 GenerateImpl(masm, false);
3856 void VectorStoreICStub::GenerateForTrampoline(MacroAssembler* masm) {
3857 GenerateImpl(masm, true);
3861 void VectorStoreICStub::GenerateImpl(MacroAssembler* masm, bool in_frame) {
3880 HandleMonomorphicCase(masm, receiver, receiver_map, feedback, vector, slot,
3890 HandleArrayCases(masm, feedback, receiver_map, scratch1, scratch2, true,
3898 masm->isolate()->stub_cache()->GenerateProbe(
3899 masm, Code::STORE_IC, code_flags, receiver, key, feedback, receiver_map,
3903 StoreIC::GenerateMiss(masm);
3911 void VectorKeyedStoreICStub::Generate(MacroAssembler* masm) {
3912 GenerateImpl(masm, false);
3916 void VectorKeyedStoreICStub::GenerateForTrampoline(MacroAssembler* masm) {
3917 GenerateImpl(masm, true);
3921 static void HandlePolymorphicStoreCase(MacroAssembler* masm, Register feedback,
3986 void VectorKeyedStoreICStub::GenerateImpl(MacroAssembler* masm, bool in_frame) {
4005 HandleMonomorphicCase(masm, receiver, receiver_map, feedback, vector, slot,
4020 HandlePolymorphicStoreCase(masm, feedback, receiver_map, scratch1, scratch2,
4028 KeyedStoreIC::ChooseMegamorphicStub(masm->isolate(), GetExtraICState());
4041 HandleArrayCases(masm, feedback, receiver_map, scratch1, scratch2, false,
4045 KeyedStoreIC::GenerateMiss(masm);
4053 void ProfileEntryHookStub::MaybeCallEntryHook(MacroAssembler* masm) {
4054 if (masm->isolate()->function_entry_hook() != NULL) {
4055 PredictableCodeSizeScope predictable(masm,
4061 ProfileEntryHookStub stub(masm->isolate());
4071 void ProfileEntryHookStub::Generate(MacroAssembler* masm) {
4095 int frame_alignment = masm->ActivationFrameAlignment();
4145 static void CreateArrayDispatch(MacroAssembler* masm,
4148 T stub(masm->isolate(), GetInitialFastElementsKind(), mode);
4156 T stub(masm->isolate(), kind);
4168 static void CreateArrayDispatchOneArgument(MacroAssembler* masm,
4199 masm->isolate(), holey_initial, DISABLE_ALLOCATION_SITES);
4203 ArraySingleArgumentConstructorStub stub(masm->isolate(), initial,
4233 ArraySingleArgumentConstructorStub stub(masm->isolate(), kind);
4278 MacroAssembler* masm, AllocationSiteOverrideMode mode) {
4283 CreateArrayDispatch<ArrayNoArgumentConstructorStub>(masm, mode);
4288 CreateArrayDispatchOneArgument(masm, mode);
4291 ArrayNArgumentsConstructorStub stub(masm->isolate());
4294 CreateArrayDispatch<ArrayNoArgumentConstructorStub>(masm, mode);
4296 CreateArrayDispatchOneArgument(masm, mode);
4298 ArrayNArgumentsConstructorStub stub(masm->isolate());
4306 void ArrayConstructorStub::Generate(MacroAssembler* masm) {
4348 GenerateDispatchToArrayStub(masm, DONT_OVERRIDE);
4351 GenerateDispatchToArrayStub(masm, DISABLE_ALLOCATION_SITES);
4376 void InternalArrayConstructorStub::GenerateCase(MacroAssembler* masm,
4402 void InternalArrayConstructorStub::Generate(MacroAssembler* masm) {
4442 GenerateCase(masm, FAST_HOLEY_ELEMENTS);
4445 GenerateCase(masm, FAST_ELEMENTS);
4448 void FastNewObjectStub::Generate(MacroAssembler* masm) {
4533 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
4544 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
4564 void FastNewRestParameterStub::Generate(MacroAssembler* masm) {
4637 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
4701 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
4717 void FastNewSloppyArgumentsStub::Generate(MacroAssembler* masm) {
4987 void FastNewStrictArgumentsStub::Generate(MacroAssembler* masm) {
5092 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
5107 void StoreGlobalViaContextStub::Generate(MacroAssembler* masm) {
5244 static void CallApiFunctionAndReturn(MacroAssembler* masm,
5251 Isolate* isolate = masm->isolate();
5295 FrameScope frame(masm, StackFrame::MANUAL);
5308 stub.GenerateCall(masm, scratch);
5311 FrameScope frame(masm, StackFrame::MANUAL);
5381 void CallApiCallbackStub::Generate(MacroAssembler* masm) {
5438 __ mov(scratch, Operand(ExternalReference::isolate_address(masm->isolate())));
5457 FrameScope frame_scope(masm, StackFrame::MANUAL);
5474 ExternalReference::invoke_function_callback(masm->isolate());
5476 AllowExternalCallThatCantCauseGC scope(masm);
5493 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref, stack_space,
5499 void CallApiGetterStub::Generate(MacroAssembler* masm) {
5562 FrameScope frame_scope(masm, StackFrame::MANUAL);
5587 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref,