Home | History | Annotate | Download | only in x87

Lines Matching refs:masm

25 #define __ ACCESS_MASM(masm)
27 void ArrayNArgumentsConstructorStub::Generate(MacroAssembler* masm) {
48 void HydrogenCodeStub::GenerateLightweightMiss(MacroAssembler* masm,
57 FrameScope scope(masm, StackFrame::INTERNAL);
71 void StoreBufferOverflowStub::Generate(MacroAssembler* masm) {
83 AllowExternalCallThatCantCauseGC scope(masm);
111 static void LoadFloatOperand(MacroAssembler* masm, Register number);
116 static void CheckFloatOperands(MacroAssembler* masm,
122 void DoubleToIStub::Generate(MacroAssembler* masm) {
231 void FloatingPointHelper::LoadFloatOperand(MacroAssembler* masm,
249 void FloatingPointHelper::CheckFloatOperands(MacroAssembler* masm,
257 Factory* factory = masm->isolate()->factory();
272 void MathPowStub::Generate(MacroAssembler* masm) {
282 AllowExternalCallThatCantCauseGC scope(masm);
296 void FunctionPrototypeStub::Generate(MacroAssembler* masm) {
310 masm, PropertyAccessCompiler::MissBuiltin(Code::LOAD_IC));
314 void LoadIndexedStringStub::Generate(MacroAssembler* masm) {
336 char_at_generator.GenerateFast(masm);
340 char_at_generator.GenerateSlow(masm, PART_OF_IC_HANDLER, call_helper);
344 masm, PropertyAccessCompiler::MissBuiltin(Code::KEYED_LOAD_IC));
348 void RegExpExecStub::Generate(MacroAssembler* masm) {
764 static void CheckInputType(MacroAssembler* masm, Register input,
772 Immediate(masm->isolate()->factory()->heap_number_map()));
781 static void BranchIfNotInternalizedString(MacroAssembler* masm,
794 void CompareICStub::GenerateGeneric(MacroAssembler* masm) {
799 CheckInputType(masm, edx, left(), &miss);
800 CheckInputType(masm, eax, right(), &miss);
939 masm, &non_number_comparison, ebx);
940 FloatingPointHelper::LoadFloatOperand(masm, eax);
941 FloatingPointHelper::LoadFloatOperand(masm, edx);
980 BranchIfNotInternalizedString(masm, &check_for_strings, eax, ecx);
981 BranchIfNotInternalizedString(masm, &check_for_strings, edx, ecx);
996 StringHelper::GenerateFlatOneByteStringEquals(masm, edx, eax, ecx, ebx);
998 StringHelper::GenerateCompareFlatOneByteStrings(masm, edx, eax, ecx, ebx,
1060 FrameScope scope(masm, StackFrame::INTERNAL);
1084 GenerateMiss(masm);
1088 static void CallStubInRecordCallTarget(MacroAssembler* masm, CodeStub* stub) {
1095 FrameScope scope(masm, StackFrame::INTERNAL);
1117 static void GenerateRecordCallTarget(MacroAssembler* masm) {
1125 Isolate* isolate = masm->isolate();
1190 CallStubInRecordCallTarget(masm, &create_stub);
1195 CallStubInRecordCallTarget(masm, &weak_cell_stub);
1205 void CallConstructStub::Generate(MacroAssembler* masm) {
1218 GenerateRecordCallTarget(masm);
1247 static void IncrementCallCount(MacroAssembler* masm, Register feedback_vector,
1254 void CallICStub::HandleArrayCase(MacroAssembler* masm, Label* miss) {
1268 IncrementCallCount(masm, ebx, edx);
1272 ArrayConstructorStub stub(masm->isolate());
1279 void CallICStub::Generate(MacroAssembler* masm) {
1284 Isolate* isolate = masm->isolate();
1315 masm, ebx, edx);
1317 __ Jump(masm->isolate()->builtins()->CallFunction(convert_mode(),
1333 HandleArrayCase(masm, &miss);
1358 IncrementCallCount(masm, ebx, edx);
1362 __ Jump(masm->isolate()->builtins()->Call(convert_mode(), tail_call_mode()),
1392 FrameScope scope(masm, StackFrame::INTERNAL);
1414 GenerateMiss(masm);
1423 void CallICStub::GenerateMiss(MacroAssembler* masm) {
1424 FrameScope scope(masm, StackFrame::INTERNAL);
1484 void CEntryStub::Generate(MacroAssembler* masm) {
1495 ProfileEntryHookStub::MaybeCallEntryHook(masm);
1605 FrameScope scope(masm, StackFrame::MANUAL);
1645 void JSEntryStub::Generate(MacroAssembler* masm) {
1649 ProfileEntryHookStub::MaybeCallEntryHook(masm);
1745 void StringCharCodeAtGenerator::GenerateFast(MacroAssembler* masm) {
1768 Factory* factory = masm->isolate()->factory();
1770 masm, factory, object_, index_, result_, &call_runtime_);
1778 MacroAssembler* masm, EmbedMode embed_mode,
1786 masm->isolate()->factory()->heap_number_map(),
1789 call_helper.BeforeCall(masm);
1810 call_helper.AfterCall(masm);
1821 call_helper.BeforeCall(masm);
1829 call_helper.AfterCall(masm);
1839 void StringCharFromCodeGenerator::GenerateFast(MacroAssembler* masm) {
1848 Factory* factory = masm->isolate()->factory();
1864 MacroAssembler* masm,
1869 call_helper.BeforeCall(masm);
1875 call_helper.AfterCall(masm);
1882 void StringHelper::GenerateCopyCharacters(MacroAssembler* masm,
1915 void StringHelper::GenerateFlatOneByteStringEquals(MacroAssembler* masm,
1942 GenerateOneByteCharsCompareLoop(masm, left, right, length, scratch2,
1952 MacroAssembler* masm, Register left, Register right, Register scratch1,
1954 Counters* counters = masm->isolate()->counters();
1979 GenerateOneByteCharsCompareLoop(masm, left, right, min_length, scratch2,
2015 MacroAssembler* masm, Register left, Register right, Register length,
2040 void BinaryOpICWithAllocationSiteStub::Generate(MacroAssembler* masm) {
2068 void CompareICStub::GenerateBooleans(MacroAssembler* masm) {
2072 masm->emit_debug_code() ? Label::kFar : Label::kNear;
2091 GenerateMiss(masm);
2095 void CompareICStub::GenerateSmis(MacroAssembler* masm) {
2117 GenerateMiss(masm);
2121 void CompareICStub::GenerateNumbers(MacroAssembler* masm) {
2171 GenerateMiss(masm);
2175 void CompareICStub::GenerateInternalizedStrings(MacroAssembler* masm) {
2216 GenerateMiss(masm);
2220 void CompareICStub::GenerateUniqueNames(MacroAssembler* masm) {
2261 GenerateMiss(masm);
2265 void CompareICStub::GenerateStrings(MacroAssembler* masm) {
2331 StringHelper::GenerateFlatOneByteStringEquals(masm, left, right, tmp1,
2334 StringHelper::GenerateCompareFlatOneByteStrings(masm, left, right, tmp1,
2342 FrameScope scope(masm, StackFrame::INTERNAL);
2347 __ sub(eax, Immediate(masm->isolate()->factory()->true_value()));
2358 GenerateMiss(masm);
2362 void CompareICStub::GenerateReceivers(MacroAssembler* masm) {
2380 GenerateMiss(masm);
2384 void CompareICStub::GenerateKnownReceivers(MacroAssembler* masm) {
2410 GenerateMiss(masm);
2414 void CompareICStub::GenerateMiss(MacroAssembler* masm) {
2417 FrameScope scope(masm, StackFrame::INTERNAL);
2440 void NameDictionaryLookupStub::GenerateNegativeLookup(MacroAssembler* masm,
2471 __ cmp(entity_name, masm->isolate()->factory()->undefined_value());
2480 __ cmp(entity_name, masm->isolate()->factory()->the_hole_value());
2490 NameDictionaryLookupStub stub(masm->isolate(), properties, r0, r0,
2505 void NameDictionaryLookupStub::GeneratePositiveLookup(MacroAssembler* masm,
2547 NameDictionaryLookupStub stub(masm->isolate(), elements, r1, r0,
2561 void NameDictionaryLookupStub::Generate(MacroAssembler* masm) {
2661 void RecordWriteStub::Generate(MacroAssembler* masm) {
2680 GenerateIncremental(masm, INCREMENTAL);
2683 GenerateIncremental(masm, INCREMENTAL_COMPACTION);
2687 masm->set_byte_at(0, kTwoByteNopInstruction);
2688 masm->set_byte_at(2, kFiveByteNopInstruction);
2692 void RecordWriteStub::GenerateIncremental(MacroAssembler* masm, Mode mode) {
2693 regs_.Save(masm);
2709 masm,
2712 InformIncrementalMarker(masm);
2713 regs_.Restore(masm);
2721 masm,
2724 InformIncrementalMarker(masm);
2725 regs_.Restore(masm);
2730 void RecordWriteStub::InformIncrementalMarker(MacroAssembler* masm) {
2731 regs_.SaveCallerSaveRegisters(masm, save_fp_regs_mode());
2739 AllowExternalCallThatCantCauseGC scope(masm);
2744 regs_.RestoreCallerSaveRegisters(masm, save_fp_regs_mode());
2749 MacroAssembler* masm,
2762 regs_.Restore(masm);
2806 regs_.Restore(masm);
2823 void StubFailureTrampolineStub::Generate(MacroAssembler* masm) {
2829 masm->LeaveFrame(StackFrame::STUB_FAILURE_TRAMPOLINE);
2837 void KeyedStoreICTrampolineStub::Generate(MacroAssembler* masm) {
2840 stub.GenerateForTrampoline(masm);
2844 static void HandlePolymorphicStoreCase(MacroAssembler* masm, Register receiver,
2923 static void HandleMonomorphicStoreCase(MacroAssembler* masm, Register receiver,
2959 void KeyedStoreICStub::Generate(MacroAssembler* masm) {
2960 GenerateImpl(masm, false);
2963 void KeyedStoreICStub::GenerateForTrampoline(MacroAssembler* masm) {
2964 GenerateImpl(masm, true);
2968 static void HandlePolymorphicKeyedStoreCase(MacroAssembler* masm,
3088 void KeyedStoreICStub::GenerateImpl(MacroAssembler* masm, bool in_frame) {
3126 HandleMonomorphicStoreCase(masm, receiver, key, vector, slot, scratch, &miss);
3132 HandlePolymorphicKeyedStoreCase(masm, receiver, key, vector, slot, scratch,
3141 KeyedStoreIC::ChooseMegamorphicStub(masm->isolate(), GetExtraICState());
3152 HandlePolymorphicStoreCase(masm, receiver, key, vector, slot, scratch, false,
3156 KeyedStoreIC::GenerateMiss(masm);
3159 void CallICTrampolineStub::Generate(MacroAssembler* masm) {
3165 void ProfileEntryHookStub::MaybeCallEntryHook(MacroAssembler* masm) {
3166 if (masm->isolate()->function_entry_hook() != NULL) {
3167 ProfileEntryHookStub stub(masm->isolate());
3168 masm->CallStub(&stub);
3172 void ProfileEntryHookStub::Generate(MacroAssembler* masm) {
3204 static void CreateArrayDispatch(MacroAssembler* masm,
3207 T stub(masm->isolate(), GetInitialFastElementsKind(), mode);
3217 T stub(masm->isolate(), kind);
3229 static void CreateArrayDispatchOneArgument(MacroAssembler* masm,
3261 masm->isolate(), holey_initial, DISABLE_ALLOCATION_SITES);
3265 ArraySingleArgumentConstructorStub stub(masm->isolate(), initial,
3275 masm->isolate()->factory()->allocation_site_map();
3295 ArraySingleArgumentConstructorStub stub(masm->isolate(), kind);
3341 MacroAssembler* masm, AllocationSiteOverrideMode mode) {
3345 CreateArrayDispatch<ArrayNoArgumentConstructorStub>(masm, mode);
3350 CreateArrayDispatchOneArgument(masm, mode);
3353 ArrayNArgumentsConstructorStub stub(masm->isolate());
3357 void ArrayConstructorStub::Generate(MacroAssembler* masm) {
3401 GenerateDispatchToArrayStub(masm, DONT_OVERRIDE);
3404 GenerateDispatchToArrayStub(masm, DISABLE_ALLOCATION_SITES);
3417 void InternalArrayConstructorStub::GenerateCase(MacroAssembler* masm,
3452 void InternalArrayConstructorStub::Generate(MacroAssembler* masm) {
3494 GenerateCase(masm, FAST_HOLEY_ELEMENTS);
3497 GenerateCase(masm, FAST_ELEMENTS);
3500 void FastNewObjectStub::Generate(MacroAssembler* masm) {
3536 masm->isolate()->factory()->empty_fixed_array());
3538 masm->isolate()->factory()->empty_fixed_array());
3594 FrameScope scope(masm, StackFrame::INTERNAL);
3606 FrameScope scope(masm, StackFrame::INTERNAL);
3628 void FastNewRestParameterStub::Generate(MacroAssembler* masm) {
3695 FrameScope scope(masm, StackFrame::INTERNAL);
3762 FrameScope scope(masm, StackFrame::INTERNAL);
3792 void FastNewSloppyArgumentsStub::Generate(MacroAssembler* masm) {
3911 masm->isolate()->factory()->empty_fixed_array());
3913 masm->isolate()->factory()->empty_fixed_array());
4047 void FastNewStrictArgumentsStub::Generate(MacroAssembler* masm) {
4149 FrameScope scope(masm, StackFrame::INTERNAL);
4189 static void PrepareCallApiFunction(MacroAssembler* masm, int argc) {
4201 static void CallApiFunctionAndReturn(MacroAssembler* masm,
4208 Isolate* isolate = masm->isolate();
4224 FrameScope frame(masm, StackFrame::MANUAL);
4254 FrameScope frame(masm, StackFrame::MANUAL);
4361 void CallApiCallbackStub::Generate(MacroAssembler* masm) {
4412 __ push(Immediate(masm->isolate()->factory()->undefined_value()));
4414 __ push(Immediate(masm->isolate()->factory()->undefined_value()));
4422 __ push(Immediate(reinterpret_cast<int>(masm->isolate())));
4446 PrepareCallApiFunction(masm, kApiArgc + kApiStackSpace);
4461 ExternalReference::invoke_function_callback(masm->isolate());
4478 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref,
4485 void CallApiGetterStub::Generate(MacroAssembler* masm) {
4526 PrepareCallApiFunction(masm, kApiArgc);
4551 CallApiFunctionAndReturn(masm, function_address, thunk_ref, thunk_last_arg,