Lines Matching full:masm
48 #define __ ACCESS_MASM(masm)
51 static void GenerateGlobalInstanceTypeCheck(MacroAssembler* masm,
64 static void GenerateStringDictionaryReceiverCheck(MacroAssembler* masm,
88 GenerateGlobalInstanceTypeCheck(masm, scratch1, miss);
118 static void GenerateDictionaryLoad(MacroAssembler* masm,
132 StringDictionaryLookupStub::GeneratePositiveLookup(masm,
171 static void GenerateDictionaryStore(MacroAssembler* masm,
185 StringDictionaryLookupStub::GeneratePositiveLookup(masm,
218 void LoadIC::GenerateArrayLength(MacroAssembler* masm) {
227 StubCompiler::GenerateLoadArrayLength(masm, a0, a3, &miss);
229 StubCompiler::GenerateLoadMiss(masm, Code::LOAD_IC);
233 void LoadIC::GenerateStringLength(MacroAssembler* masm, bool support_wrappers) {
242 StubCompiler::GenerateLoadStringLength(masm, a0, a1, a3, &miss,
246 StubCompiler::GenerateLoadMiss(masm, Code::LOAD_IC);
250 void LoadIC::GenerateFunctionPrototype(MacroAssembler* masm) {
259 StubCompiler::GenerateLoadFunctionPrototype(masm, a0, a1, a3, &miss);
261 StubCompiler::GenerateLoadMiss(masm, Code::LOAD_IC);
267 static void GenerateKeyedLoadReceiverCheck(MacroAssembler* masm,
293 static void GenerateFastArrayLoad(MacroAssembler* masm,
357 static void GenerateKeyStringCheck(MacroAssembler* masm,
387 void CallICBase::GenerateMonomorphicCacheProbe(MacroAssembler* masm,
404 masm, flags, a1, a2, a3, t0, t1, t2);
417 masm, Context::NUMBER_FUNCTION_INDEX, a1);
424 masm, Context::STRING_FUNCTION_INDEX, a1);
435 masm, Context::BOOLEAN_FUNCTION_INDEX, a1);
440 masm, flags, a1, a2, a3, t0, t1, t2);
446 static void GenerateFunctionTailCall(MacroAssembler* masm,
466 void CallICBase::GenerateNormal(MacroAssembler* masm, int argc) {
476 GenerateStringDictionaryReceiverCheck(masm, a1, a0, a3, t0, &miss);
480 GenerateDictionaryLoad(masm, &miss, a0, a2, a1, a3, t0);
482 GenerateFunctionTailCall(masm, argc, &miss, t0);
489 void CallICBase::GenerateMiss(MacroAssembler* masm,
497 Isolate* isolate = masm->isolate();
509 FrameScope scope(masm, StackFrame::INTERNAL);
554 void CallIC::GenerateMegamorphic(MacroAssembler* masm,
564 GenerateMonomorphicCacheProbe(masm, argc, Code::CALL_IC, extra_ic_state);
565 GenerateMiss(masm, argc, extra_ic_state);
569 void KeyedCallIC::GenerateMegamorphic(MacroAssembler* masm, int argc) {
589 masm, a1, a0, a3, Map::kHasIndexedInterceptor, &slow_call);
592 masm, a1, a2, t0, a3, a0, a1, &check_number_dictionary, &slow_load);
593 Counters* counters = masm->isolate()->counters();
601 GenerateFunctionTailCall(masm, argc, &slow_call, a0);
621 FrameScope scope(masm, StackFrame::INTERNAL);
631 GenerateKeyStringCheck(masm, a2, a0, a3, &index_string, &slow_call);
638 masm, a1, a0, a3, Map::kHasNamedInterceptor, &lookup_monomorphic_cache);
645 GenerateDictionaryLoad(masm, &slow_load, a0, a2, a1, a3, t0);
651 GenerateMonomorphicCacheProbe(masm,
665 GenerateMiss(masm, argc);
674 void KeyedCallIC::GenerateNormal(MacroAssembler* masm, int argc) {
685 CallICBase::GenerateNormal(masm, argc);
687 GenerateMiss(masm, argc);
694 void LoadIC::GenerateMegamorphic(MacroAssembler* masm) {
705 masm, flags, a0, a2, a3, t0, t1, t2);
708 GenerateMiss(masm);
712 void LoadIC::GenerateNormal(MacroAssembler* masm) {
721 GenerateStringDictionaryReceiverCheck(masm, a0, a1, a3, t0, &miss);
724 GenerateDictionaryLoad(masm, &miss, a1, a2, v0, a3, t0);
729 GenerateMiss(masm);
733 void LoadIC::GenerateMiss(MacroAssembler* masm) {
740 Isolate* isolate = masm->isolate();
753 static MemOperand GenerateMappedArgumentsLookup(MacroAssembler* masm,
811 static MemOperand GenerateUnmappedArgumentsLookup(MacroAssembler* masm,
840 void KeyedLoadIC::GenerateNonStrictArguments(MacroAssembler* masm) {
848 GenerateMappedArgumentsLookup(masm, a1, a0, a2, a3, t0, ¬in, &slow);
854 GenerateUnmappedArgumentsLookup(masm, a0, a2, a3, &slow);
861 GenerateMiss(masm, false);
865 void KeyedStoreIC::GenerateNonStrictArguments(MacroAssembler* masm) {
875 GenerateMappedArgumentsLookup(masm, a2, a1, a3, t0, t1, ¬in, &slow);
887 GenerateUnmappedArgumentsLookup(masm, a1, a3, t0, &slow);
896 GenerateMiss(masm, false);
900 void KeyedCallIC::GenerateNonStrictArguments(MacroAssembler* masm,
910 GenerateMappedArgumentsLookup(masm, a1, a2, a3, t0, t1, ¬in, &slow);
912 GenerateFunctionTailCall(masm, argc, &slow, a3);
916 GenerateUnmappedArgumentsLookup(masm, a2, a3, t0, &slow);
920 GenerateFunctionTailCall(masm, argc, &slow, a3);
922 GenerateMiss(masm, argc);
929 void KeyedLoadIC::GenerateMiss(MacroAssembler* masm, bool force_generic) {
935 Isolate* isolate = masm->isolate();
950 void KeyedLoadIC::GenerateRuntimeGetProperty(MacroAssembler* masm) {
963 void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) {
975 Isolate* isolate = masm->isolate();
984 masm, receiver, a2, a3, Map::kHasIndexedInterceptor, &slow);
990 masm, receiver, key, t0, a3, a2, v0, NULL, &slow);
1015 GenerateRuntimeGetProperty(masm);
1018 GenerateKeyStringCheck(masm, key, a2, a3, &index_string, &slow);
1021 masm, receiver, a2, a3, Map::kHasIndexedInterceptor, &slow);
1125 GenerateGlobalInstanceTypeCheck(masm, a2, &slow);
1127 GenerateDictionaryLoad(masm, &slow, a3, a0, v0, a2, t0);
1141 void KeyedLoadIC::GenerateString(MacroAssembler* masm) {
1162 char_at_generator.GenerateFast(masm);
1166 char_at_generator.GenerateSlow(masm, call_helper);
1169 GenerateMiss(masm, false);
1173 void KeyedStoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
1192 void KeyedStoreIC::GenerateGeneric(MacroAssembler* masm,
1244 GenerateRuntimeSetProperty(masm, strict_mode);
1358 ElementsTransitionGenerator::GenerateSmiOnlyToDouble(masm, &slow);
1370 ElementsTransitionGenerator::GenerateSmiOnlyToObject(masm);
1384 ElementsTransitionGenerator::GenerateDoubleToObject(masm, &slow);
1390 void KeyedLoadIC::GenerateIndexedInterceptor(MacroAssembler* masm) {
1418 IC_Utility(kKeyedLoadPropertyWithInterceptor), masm->isolate()), 2, 1);
1421 GenerateMiss(masm, false);
1425 void KeyedStoreIC::GenerateMiss(MacroAssembler* masm, bool force_generic) {
1438 masm->isolate())
1439 : ExternalReference(IC_Utility(kKeyedStoreIC_Miss), masm->isolate());
1444 void KeyedStoreIC::GenerateSlow(MacroAssembler* masm) {
1459 ExternalReference(IC_Utility(kKeyedStoreIC_Slow), masm->isolate());
1465 void KeyedStoreIC::GenerateTransitionElementsSmiToDouble(MacroAssembler* masm) {
1474 ElementsTransitionGenerator::GenerateSmiOnlyToDouble(masm, &fail);
1486 MacroAssembler* masm) {
1495 ElementsTransitionGenerator::GenerateDoubleToObject(masm, &fail);
1506 void StoreIC::GenerateMegamorphic(MacroAssembler* masm,
1519 masm, flags, a1, a2, a3, t0, t1, t2);
1522 GenerateMiss(masm);
1526 void StoreIC::GenerateMiss(MacroAssembler* masm) {
1537 masm->isolate());
1542 void StoreIC::GenerateArrayLength(MacroAssembler* masm) {
1589 masm->isolate());
1594 GenerateMiss(masm);
1598 void StoreIC::GenerateNormal(MacroAssembler* masm) {
1607 GenerateStringDictionaryReceiverCheck(masm, a1, a3, t0, t1, &miss);
1609 GenerateDictionaryStore(masm, &miss, a3, a2, a0, t0, t1);
1610 Counters* counters = masm->isolate()->counters();
1616 GenerateMiss(masm);
1620 void StoreIC::GenerateGlobalProxy(MacroAssembler* masm,
1743 patcher.masm()->andi(at, reg, kSmiTagMask);
1756 patcher.masm()->andi(at, reg, kSmiTagMask);