Home | History | Annotate | Download | only in mips

Lines Matching refs:masm

24 #define __ ACCESS_MASM(masm)
26 void ArrayNArgumentsConstructorStub::Generate(MacroAssembler* masm) {
47 static void EmitIdenticalObjectComparison(MacroAssembler* masm, Label* slow,
49 static void EmitSmiNonsmiComparison(MacroAssembler* masm,
55 static void EmitStrictTwoHeapObjectCompare(MacroAssembler* masm,
60 void HydrogenCodeStub::GenerateLightweightMiss(MacroAssembler* masm,
69 FrameScope scope(masm, StackFrame::INTERNAL);
86 void DoubleToIStub::Generate(MacroAssembler* masm) {
229 static void EmitIdenticalObjectComparison(MacroAssembler* masm, Label* slow,
335 static void EmitSmiNonsmiComparison(MacroAssembler* masm,
394 static void EmitStrictTwoHeapObjectCompare(MacroAssembler* masm,
432 static void EmitCheckForTwoHeapNumbers(MacroAssembler* masm,
454 static void EmitCheckForInternalizedStringsOrObjects(MacroAssembler* masm,
517 static void CompareICStub_CheckInputType(MacroAssembler* masm, Register input,
538 void CompareICStub::GenerateGeneric(MacroAssembler* masm) {
544 CompareICStub_CheckInputType(masm, lhs, a2, left(), &miss);
545 CompareICStub_CheckInputType(masm, rhs, a3, right(), &miss);
564 EmitIdenticalObjectComparison(masm, &slow, cc);
580 EmitSmiNonsmiComparison(masm, lhs, rhs,
640 EmitStrictTwoHeapObjectCompare(masm, lhs, rhs);
650 EmitCheckForTwoHeapNumbers(masm,
664 masm, lhs, rhs, &flat_string_check, &slow);
676 StringHelper::GenerateFlatOneByteStringEquals(masm, lhs, rhs, a2, a3, t0);
678 StringHelper::GenerateCompareFlatOneByteStrings(masm, lhs, rhs, a2, a3, t0,
686 FrameScope scope(masm, StackFrame::INTERNAL);
715 GenerateMiss(masm);
719 void StoreRegistersStateStub::Generate(MacroAssembler* masm) {
727 void RestoreRegistersStateStub::Generate(MacroAssembler* masm) {
735 void StoreBufferOverflowStub::Generate(MacroAssembler* masm) {
747 AllowExternalCallThatCantCauseGC scope(masm);
762 void MathPowStub::Generate(MacroAssembler* masm) {
876 AllowExternalCallThatCantCauseGC scope(masm);
958 AllowExternalCallThatCantCauseGC scope(masm);
1022 void CEntryStub::Generate(MacroAssembler* masm) {
1033 ProfileEntryHookStub::MaybeCallEntryHook(masm);
1045 FrameScope scope(masm, StackFrame::MANUAL);
1089 { Assembler::BlockTrampolinePoolScope block_trampoline_pool(masm);
1117 masm->InstructionsGeneratedSince(&find_ra));
1181 FrameScope scope(masm, StackFrame::MANUAL);
1215 void JSEntryStub::Generate(MacroAssembler* masm) {
1217 Isolate* isolate = masm->isolate();
1229 ProfileEntryHookStub::MaybeCallEntryHook(masm);
1344 ExternalReference entry(Builtins::kJSEntryTrampoline, masm->isolate());
1387 void LoadIndexedStringStub::Generate(MacroAssembler* masm) {
1403 char_at_generator.GenerateFast(masm);
1407 char_at_generator.GenerateSlow(masm, PART_OF_IC_HANDLER, call_helper);
1411 masm, PropertyAccessCompiler::MissBuiltin(Code::KEYED_LOAD_IC));
1415 void FunctionPrototypeStub::Generate(MacroAssembler* masm) {
1423 NamedLoadHandlerCompiler::GenerateLoadFunctionPrototype(masm, receiver, t0,
1427 masm, PropertyAccessCompiler::MissBuiltin(Code::LOAD_IC));
1430 void RegExpExecStub::Generate(MacroAssembler* masm) {
1680 stub.GenerateCall(masm, t9);
1850 static void CallStubInRecordCallTarget(MacroAssembler* masm, CodeStub* stub) {
1855 FrameScope scope(masm, StackFrame::INTERNAL);
1872 static void GenerateRecordCallTarget(MacroAssembler* masm) {
1883 DCHECK_EQ(*TypeFeedbackVector::MegamorphicSentinel(masm->isolate()),
1884 masm->isolate()->heap()->megamorphic_symbol());
1885 DCHECK_EQ(*TypeFeedbackVector::UninitializedSentinel(masm->isolate()),
1886 masm->isolate()->heap()->uninitialized_symbol());
1947 CreateAllocationSiteStub create_stub(masm->isolate());
1948 CallStubInRecordCallTarget(masm, &create_stub);
1952 CreateWeakCellStub weak_cell_stub(masm->isolate());
1953 CallStubInRecordCallTarget(masm, &weak_cell_stub);
1974 void CallConstructStub::Generate(MacroAssembler* masm) {
1987 GenerateRecordCallTarget(masm);
2017 void CallICStub::HandleArrayCase(MacroAssembler* masm, Label* miss) {
2035 ArrayConstructorStub stub(masm->isolate(), arg_count());
2040 void CallICStub::Generate(MacroAssembler* masm) {
2080 __ Jump(masm->isolate()->builtins()->CallFunction(convert_mode(),
2097 HandleArrayCase(masm, &miss);
2120 __ Jump(masm->isolate()->builtins()->Call(convert_mode(), tail_call_mode()),
2155 FrameScope scope(masm, StackFrame::INTERNAL);
2156 CreateWeakCellStub create_stub(masm->isolate());
2167 GenerateMiss(masm);
2173 void CallICStub::GenerateMiss(MacroAssembler* masm) {
2174 FrameScope scope(masm, StackFrame::INTERNAL);
2188 void StringCharCodeAtGenerator::GenerateFast(MacroAssembler* masm) {
2215 StringCharLoadGenerator::Generate(masm,
2227 MacroAssembler* masm, EmbedMode embed_mode,
2239 call_helper.BeforeCall(masm);
2261 call_helper.AfterCall(masm);
2271 call_helper.BeforeCall(masm);
2278 call_helper.AfterCall(masm);
2288 void StringCharFromCodeGenerator::GenerateFast(MacroAssembler* masm) {
2313 MacroAssembler* masm,
2318 call_helper.BeforeCall(masm);
2323 call_helper.AfterCall(masm);
2333 void StringHelper::GenerateCopyCharacters(MacroAssembler* masm,
2374 void SubStringStub::Generate(MacroAssembler* masm) {
2552 masm, a1, t1, a2, a3, String::ONE_BYTE_ENCODING);
2571 masm, a1, t1, a2, a3, String::TWO_BYTE_ENCODING);
2590 generator.GenerateFast(masm);
2592 generator.SkipSlow(masm, &runtime);
2596 void ToStringStub::Generate(MacroAssembler* masm) {
2628 void ToNameStub::Generate(MacroAssembler* masm) {
2662 MacroAssembler* masm, Register left, Register right, Register scratch1,
2688 GenerateOneByteCharsCompareLoop(masm, left, right, length, scratch2, scratch3,
2698 MacroAssembler* masm, Register left, Register right, Register scratch1,
2713 GenerateOneByteCharsCompareLoop(masm, left, right, min_length, scratch2,
2738 MacroAssembler* masm, Register left, Register right, Register length,
2766 void BinaryOpICWithAllocationSiteStub::Generate(MacroAssembler* masm) {
2794 void CompareICStub::GenerateBooleans(MacroAssembler* masm) {
2810 GenerateMiss(masm);
2814 void CompareICStub::GenerateSmis(MacroAssembler* masm) {
2833 GenerateMiss(masm);
2837 void CompareICStub::GenerateNumbers(MacroAssembler* masm) {
2926 GenerateMiss(masm);
2930 void CompareICStub::GenerateInternalizedStrings(MacroAssembler* masm) {
2966 GenerateMiss(masm);
2970 void CompareICStub::GenerateUniqueNames(MacroAssembler* masm) {
3010 GenerateMiss(masm);
3014 void CompareICStub::GenerateStrings(MacroAssembler* masm) {
3079 StringHelper::GenerateFlatOneByteStringEquals(masm, left, right, tmp1, tmp2,
3082 StringHelper::GenerateCompareFlatOneByteStrings(masm, left, right, tmp1,
3090 FrameScope scope(masm, StackFrame::INTERNAL);
3103 GenerateMiss(masm);
3107 void CompareICStub::GenerateReceivers(MacroAssembler* masm) {
3124 GenerateMiss(masm);
3128 void CompareICStub::GenerateKnownReceivers(MacroAssembler* masm) {
3153 GenerateMiss(masm);
3157 void CompareICStub::GenerateMiss(MacroAssembler* masm) {
3160 FrameScope scope(masm, StackFrame::INTERNAL);
3177 void DirectCEntryStub::Generate(MacroAssembler* masm) {
3202 void DirectCEntryStub::GenerateCall(MacroAssembler* masm,
3212 void NameDictionaryLookupStub::GenerateNegativeLookup(MacroAssembler* masm,
3278 NameDictionaryLookupStub stub(masm->isolate(), NEGATIVE_LOOKUP);
3292 void NameDictionaryLookupStub::GeneratePositiveLookup(MacroAssembler* masm,
3355 NameDictionaryLookupStub stub(masm->isolate(), POSITIVE_LOOKUP);
3366 void NameDictionaryLookupStub::Generate(MacroAssembler* masm) {
3471 void RecordWriteStub::Generate(MacroAssembler* masm) {
3496 GenerateIncremental(masm, INCREMENTAL);
3499 GenerateIncremental(masm, INCREMENTAL_COMPACTION);
3504 PatchBranchIntoNop(masm, 0);
3505 PatchBranchIntoNop(masm, 2 * Assembler::kInstrSize);
3509 void RecordWriteStub::GenerateIncremental(MacroAssembler* masm, Mode mode) {
3510 regs_.Save(masm);
3526 masm, kUpdateRememberedSetOnNoNeedToInformIncrementalMarker, mode);
3527 InformIncrementalMarker(masm);
3528 regs_.Restore(masm);
3539 masm, kReturnOnNoNeedToInformIncrementalMarker, mode);
3540 InformIncrementalMarker(masm);
3541 regs_.Restore(masm);
3546 void RecordWriteStub::InformIncrementalMarker(MacroAssembler* masm) {
3547 regs_.SaveCallerSaveRegisters(masm, save_fp_regs_mode());
3559 AllowExternalCallThatCantCauseGC scope(masm);
3563 regs_.RestoreCallerSaveRegisters(masm, save_fp_regs_mode());
3568 MacroAssembler* masm,
3589 regs_.Restore(masm);
3633 regs_.Restore(masm);
3653 void StubFailureTrampolineStub::Generate(MacroAssembler* masm) {
3662 masm->LeaveFrame(StackFrame::STUB_FAILURE_TRAMPOLINE);
3669 void LoadICTrampolineStub::Generate(MacroAssembler* masm) {
3672 stub.GenerateForTrampoline(masm);
3676 void KeyedLoadICTrampolineStub::Generate(MacroAssembler* masm) {
3679 stub.GenerateForTrampoline(masm);
3683 void CallICTrampolineStub::Generate(MacroAssembler* masm) {
3690 void LoadICStub::Generate(MacroAssembler* masm) { GenerateImpl(masm, false); }
3693 void LoadICStub::GenerateForTrampoline(MacroAssembler* masm) {
3694 GenerateImpl(masm, true);
3698 static void HandleArrayCases(MacroAssembler* masm, Register feedback,
3763 static void HandleMonomorphicCase(MacroAssembler* masm, Register receiver,
3785 void LoadICStub::GenerateImpl(MacroAssembler* masm, bool in_frame) {
3802 HandleMonomorphicCase(masm, receiver, receiver_map, feedback, vector, slot,
3810 HandleArrayCases(masm, feedback, receiver_map, scratch1, t5, true, &miss);
3817 masm->isolate()->stub_cache()->GenerateProbe(masm, Code::LOAD_IC, code_flags,
3822 LoadIC::GenerateMiss(masm);
3830 void KeyedLoadICStub::Generate(MacroAssembler* masm) {
3831 GenerateImpl(masm, false);
3835 void KeyedLoadICStub::GenerateForTrampoline(MacroAssembler* masm) {
3836 GenerateImpl(masm, true);
3840 void KeyedLoadICStub::GenerateImpl(MacroAssembler* masm, bool in_frame) {
3857 HandleMonomorphicCase(masm, receiver, receiver_map, feedback, vector, slot,
3870 HandleArrayCases(masm, feedback, receiver_map, scratch1, t5, true, &miss);
3877 KeyedLoadIC::ChooseMegamorphicStub(masm->isolate(), GetExtraICState());
3888 HandleArrayCases(masm, feedback, receiver_map, scratch1, t5, false, &miss);
3891 KeyedLoadIC::GenerateMiss(masm);
3899 void VectorStoreICTrampolineStub::Generate(MacroAssembler* masm) {
3902 stub.GenerateForTrampoline(masm);
3906 void VectorKeyedStoreICTrampolineStub::Generate(MacroAssembler* masm) {
3909 stub.GenerateForTrampoline(masm);
3913 void VectorStoreICStub::Generate(MacroAssembler* masm) {
3914 GenerateImpl(masm, false);
3918 void VectorStoreICStub::GenerateForTrampoline(MacroAssembler* masm) {
3919 GenerateImpl(masm, true);
3923 void VectorStoreICStub::GenerateImpl(MacroAssembler* masm, bool in_frame) {
3941 HandleMonomorphicCase(masm, receiver, receiver_map, feedback, vector, slot,
3951 HandleArrayCases(masm, feedback, receiver_map, scratch1, scratch2, true,
3959 masm->isolate()->stub_cache()->GenerateProbe(
3960 masm, Code::STORE_IC, code_flags, receiver, key, feedback, receiver_map,
3964 StoreIC::GenerateMiss(masm);
3972 void VectorKeyedStoreICStub::Generate(MacroAssembler* masm) {
3973 GenerateImpl(masm, false);
3977 void VectorKeyedStoreICStub::GenerateForTrampoline(MacroAssembler* masm) {
3978 GenerateImpl(masm, true);
3982 static void HandlePolymorphicStoreCase(MacroAssembler* masm, Register feedback,
4044 void VectorKeyedStoreICStub::GenerateImpl(MacroAssembler* masm, bool in_frame) {
4062 HandleMonomorphicCase(masm, receiver, receiver_map, feedback, vector, slot,
4077 HandlePolymorphicStoreCase(masm, feedback, receiver_map, scratch1, scratch2,
4085 KeyedStoreIC::ChooseMegamorphicStub(masm->isolate(), GetExtraICState());
4096 HandleArrayCases(masm, feedback, receiver_map, scratch1, scratch2, false,
4100 KeyedStoreIC::GenerateMiss(masm);
4108 void ProfileEntryHookStub::MaybeCallEntryHook(MacroAssembler* masm) {
4109 if (masm->isolate()->function_entry_hook() != NULL) {
4110 ProfileEntryHookStub stub(masm->isolate());
4118 void ProfileEntryHookStub::Generate(MacroAssembler* masm) {
4143 int frame_alignment = masm->ActivationFrameAlignment();
4182 static void CreateArrayDispatch(MacroAssembler* masm,
4185 T stub(masm->isolate(), GetInitialFastElementsKind(), mode);
4192 T stub(masm->isolate(), kind);
4204 static void CreateArrayDispatchOneArgument(MacroAssembler* masm,
4233 ArraySingleArgumentConstructorStub stub_holey(masm->isolate(),
4239 ArraySingleArgumentConstructorStub stub(masm->isolate(),
4268 ArraySingleArgumentConstructorStub stub(masm->isolate(), kind);
4314 MacroAssembler* masm,
4320 CreateArrayDispatch<ArrayNoArgumentConstructorStub>(masm, mode);
4324 CreateArrayDispatchOneArgument(masm, mode);
4327 ArrayNArgumentsConstructorStub stub(masm->isolate());
4330 CreateArrayDispatch<ArrayNoArgumentConstructorStub>(masm, mode);
4332 CreateArrayDispatchOneArgument(masm, mode);
4334 ArrayNArgumentsConstructorStub stub(masm->isolate());
4342 void ArrayConstructorStub::Generate(MacroAssembler* masm) {
4384 GenerateDispatchToArrayStub(masm, DONT_OVERRIDE);
4387 GenerateDispatchToArrayStub(masm, DISABLE_ALLOCATION_SITES);
4414 MacroAssembler* masm, ElementsKind kind) {
4437 void InternalArrayConstructorStub::Generate(MacroAssembler* masm) {
4480 GenerateCase(masm, FAST_HOLEY_ELEMENTS);
4483 GenerateCase(masm, FAST_ELEMENTS);
4487 void FastNewObjectStub::Generate(MacroAssembler* masm) {
4575 FrameScope scope(masm, StackFrame::INTERNAL);
4586 FrameScope scope(masm, StackFrame::INTERNAL);
4607 void FastNewRestParameterStub::Generate(MacroAssembler* masm) {
4676 FrameScope scope(masm, StackFrame::INTERNAL);
4741 FrameScope scope(masm, StackFrame::INTERNAL);
4757 void FastNewSloppyArgumentsStub::Generate(MacroAssembler* masm) {
4987 void FastNewStrictArgumentsStub::Generate(MacroAssembler* masm) {
5086 FrameScope scope(masm, StackFrame::INTERNAL);
5101 void StoreGlobalViaContextStub::Generate(MacroAssembler* masm) {
5224 MacroAssembler* masm, Register function_address,
5227 Isolate* isolate = masm->isolate();
5261 FrameScope frame(masm, StackFrame::MANUAL);
5274 stub.GenerateCall(masm, t9);
5277 FrameScope frame(masm, StackFrame::MANUAL);
5349 void CallApiCallbackStub::Generate(MacroAssembler* masm) {
5397 __ li(scratch, Operand(ExternalReference::isolate_address(masm->isolate())));
5408 FrameScope frame_scope(masm, StackFrame::MANUAL);
5425 ExternalReference::invoke_function_callback(masm->isolate());
5427 AllowExternalCallThatCantCauseGC scope(masm);
5443 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref, stack_space,
5449 void CallApiGetterStub::Generate(MacroAssembler* masm) {
5497 FrameScope frame_scope(masm, StackFrame::MANUAL);
5515 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref,