Lines Matching refs:masm
44 #define __ ACCESS_MASM(masm)
47 static void GenerateGlobalInstanceTypeCheck(MacroAssembler* masm, in GenerateGlobalInstanceTypeCheck() argument
63 static void GenerateStringDictionaryReceiverCheck(MacroAssembler* masm, in GenerateStringDictionaryReceiverCheck() argument
86 GenerateGlobalInstanceTypeCheck(masm, r0, miss); in GenerateStringDictionaryReceiverCheck()
106 static void GenerateDictionaryLoad(MacroAssembler* masm, in GenerateDictionaryLoad() argument
130 StringDictionaryLookupStub::GeneratePositiveLookup(masm, in GenerateDictionaryLoad()
163 static void GenerateDictionaryStore(MacroAssembler* masm, in GenerateDictionaryStore() argument
185 StringDictionaryLookupStub::GeneratePositiveLookup(masm, in GenerateDictionaryStore()
219 void LoadIC::GenerateArrayLength(MacroAssembler* masm) { in GenerateArrayLength() argument
227 StubCompiler::GenerateLoadArrayLength(masm, eax, edx, &miss); in GenerateArrayLength()
229 StubCompiler::GenerateLoadMiss(masm, Code::LOAD_IC); in GenerateArrayLength()
233 void LoadIC::GenerateStringLength(MacroAssembler* masm, in GenerateStringLength() argument
242 StubCompiler::GenerateLoadStringLength(masm, eax, edx, ebx, &miss, in GenerateStringLength()
245 StubCompiler::GenerateLoadMiss(masm, Code::LOAD_IC); in GenerateStringLength()
249 void LoadIC::GenerateFunctionPrototype(MacroAssembler* masm) { in GenerateFunctionPrototype() argument
257 StubCompiler::GenerateLoadFunctionPrototype(masm, eax, edx, ebx, &miss); in GenerateFunctionPrototype()
259 StubCompiler::GenerateLoadMiss(masm, Code::LOAD_IC); in GenerateFunctionPrototype()
265 static void GenerateKeyedLoadReceiverCheck(MacroAssembler* masm, in GenerateKeyedLoadReceiverCheck() argument
298 static void GenerateFastArrayLoad(MacroAssembler* masm, in GenerateFastArrayLoad() argument
341 static void GenerateKeyStringCheck(MacroAssembler* masm, in GenerateKeyStringCheck() argument
367 static Operand GenerateMappedArgumentsLookup(MacroAssembler* masm, in GenerateMappedArgumentsLookup() argument
374 Heap* heap = masm->isolate()->heap(); in GenerateMappedArgumentsLookup()
375 Factory* factory = masm->isolate()->factory(); in GenerateMappedArgumentsLookup()
422 static Operand GenerateUnmappedArgumentsLookup(MacroAssembler* masm, in GenerateUnmappedArgumentsLookup() argument
432 Handle<Map> fixed_array_map(masm->isolate()->heap()->fixed_array_map()); in GenerateUnmappedArgumentsLookup()
444 void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) { in GenerateGeneric() argument
460 masm, edx, ecx, Map::kHasIndexedInterceptor, &slow); in GenerateGeneric()
465 GenerateFastArrayLoad(masm, in GenerateGeneric()
472 Isolate* isolate = masm->isolate(); in GenerateGeneric()
514 GenerateRuntimeGetProperty(masm); in GenerateGeneric()
517 GenerateKeyStringCheck(masm, eax, ecx, ebx, &index_string, &slow); in GenerateGeneric()
520 masm, edx, ecx, Map::kHasNamedInterceptor, &slow); in GenerateGeneric()
545 ExternalReference::keyed_lookup_cache_keys(masm->isolate()); in GenerateGeneric()
577 ExternalReference::keyed_lookup_cache_field_offsets(masm->isolate()); in GenerateGeneric()
617 GenerateGlobalInstanceTypeCheck(masm, ecx, &slow); in GenerateGeneric()
619 GenerateDictionaryLoad(masm, &slow, ebx, eax, ecx, edi, eax); in GenerateGeneric()
630 void KeyedLoadIC::GenerateString(MacroAssembler* masm) { in GenerateString() argument
651 char_at_generator.GenerateFast(masm); in GenerateString()
655 char_at_generator.GenerateSlow(masm, call_helper); in GenerateString()
658 GenerateMiss(masm, false); in GenerateString()
662 void KeyedLoadIC::GenerateIndexedInterceptor(MacroAssembler* masm) { in GenerateIndexedInterceptor() argument
696 masm->isolate()); in GenerateIndexedInterceptor()
700 GenerateMiss(masm, false); in GenerateIndexedInterceptor()
704 void KeyedLoadIC::GenerateNonStrictArguments(MacroAssembler* masm) { in GenerateNonStrictArguments() argument
711 Factory* factory = masm->isolate()->factory(); in GenerateNonStrictArguments()
713 GenerateMappedArgumentsLookup(masm, edx, eax, ebx, ecx, ¬in, &slow); in GenerateNonStrictArguments()
719 GenerateUnmappedArgumentsLookup(masm, eax, ebx, ecx, &slow); in GenerateNonStrictArguments()
725 GenerateMiss(masm, false); in GenerateNonStrictArguments()
729 void KeyedStoreIC::GenerateNonStrictArguments(MacroAssembler* masm) { in GenerateNonStrictArguments() argument
738 GenerateMappedArgumentsLookup(masm, edx, ecx, ebx, edi, ¬in, &slow); in GenerateNonStrictArguments()
747 GenerateUnmappedArgumentsLookup(masm, ecx, ebx, edi, &slow); in GenerateNonStrictArguments()
754 GenerateMiss(masm, false); in GenerateNonStrictArguments()
758 void KeyedStoreIC::GenerateGeneric(MacroAssembler* masm, in GenerateGeneric() argument
800 GenerateRuntimeSetProperty(masm, strict_mode); in GenerateGeneric()
817 __ cmp(edi, masm->isolate()->factory()->fixed_array_map()); in GenerateGeneric()
825 __ cmp(edi, masm->isolate()->factory()->fixed_double_array_map()); in GenerateGeneric()
855 __ cmp(edi, masm->isolate()->factory()->fixed_array_map()); in GenerateGeneric()
882 __ cmp(edi, masm->isolate()->factory()->fixed_double_array_map()); in GenerateGeneric()
896 masm->isolate()->factory()->heap_number_map(), in GenerateGeneric()
907 ElementsTransitionGenerator::GenerateSmiOnlyToDouble(masm, &slow); in GenerateGeneric()
918 ElementsTransitionGenerator::GenerateSmiOnlyToObject(masm); in GenerateGeneric()
932 ElementsTransitionGenerator::GenerateDoubleToObject(masm, &slow); in GenerateGeneric()
940 void CallICBase::GenerateMonomorphicCacheProbe(MacroAssembler* masm, in GenerateMonomorphicCacheProbe() argument
956 Isolate* isolate = masm->isolate(); in GenerateMonomorphicCacheProbe()
957 isolate->stub_cache()->GenerateProbe(masm, flags, edx, ecx, ebx, eax); in GenerateMonomorphicCacheProbe()
970 masm, Context::NUMBER_FUNCTION_INDEX, edx); in GenerateMonomorphicCacheProbe()
978 masm, Context::STRING_FUNCTION_INDEX, edx); in GenerateMonomorphicCacheProbe()
989 masm, Context::BOOLEAN_FUNCTION_INDEX, edx); in GenerateMonomorphicCacheProbe()
993 isolate->stub_cache()->GenerateProbe(masm, flags, edx, ecx, ebx, no_reg); in GenerateMonomorphicCacheProbe()
998 static void GenerateFunctionTailCall(MacroAssembler* masm, in GenerateFunctionTailCall() argument
1025 void CallICBase::GenerateNormal(MacroAssembler* masm, int argc) { in GenerateNormal() argument
1038 GenerateStringDictionaryReceiverCheck(masm, edx, eax, ebx, &miss); in GenerateNormal()
1042 GenerateDictionaryLoad(masm, &miss, eax, ecx, edi, ebx, edi); in GenerateNormal()
1043 GenerateFunctionTailCall(masm, argc, &miss); in GenerateNormal()
1049 void CallICBase::GenerateMiss(MacroAssembler* masm, in GenerateMiss() argument
1061 Counters* counters = masm->isolate()->counters(); in GenerateMiss()
1072 FrameScope scope(masm, StackFrame::INTERNAL); in GenerateMiss()
1081 __ mov(ebx, Immediate(ExternalReference(IC_Utility(id), masm->isolate()))); in GenerateMiss()
1121 void CallIC::GenerateMegamorphic(MacroAssembler* masm, in GenerateMegamorphic() argument
1134 CallICBase::GenerateMonomorphicCacheProbe(masm, argc, Code::CALL_IC, in GenerateMegamorphic()
1137 GenerateMiss(masm, argc, extra_state); in GenerateMegamorphic()
1141 void KeyedCallIC::GenerateMegamorphic(MacroAssembler* masm, int argc) { in GenerateMegamorphic() argument
1165 masm, edx, eax, Map::kHasIndexedInterceptor, &slow_call); in GenerateMegamorphic()
1168 masm, edx, ecx, eax, edi, &check_number_dictionary, &slow_load); in GenerateMegamorphic()
1169 Isolate* isolate = masm->isolate(); in GenerateMegamorphic()
1177 GenerateFunctionTailCall(masm, argc, &slow_call); in GenerateMegamorphic()
1205 FrameScope scope(masm, StackFrame::INTERNAL); in GenerateMegamorphic()
1218 GenerateKeyStringCheck(masm, ecx, eax, ebx, &index_string, &slow_call); in GenerateMegamorphic()
1225 masm, edx, eax, Map::kHasNamedInterceptor, &lookup_monomorphic_cache); in GenerateMegamorphic()
1233 GenerateDictionaryLoad(masm, &slow_load, ebx, ecx, eax, edi, edi); in GenerateMegamorphic()
1239 CallICBase::GenerateMonomorphicCacheProbe(masm, argc, Code::KEYED_CALL_IC, in GenerateMegamorphic()
1251 GenerateMiss(masm, argc); in GenerateMegamorphic()
1260 void KeyedCallIC::GenerateNonStrictArguments(MacroAssembler* masm, in GenerateNonStrictArguments() argument
1270 Factory* factory = masm->isolate()->factory(); in GenerateNonStrictArguments()
1273 GenerateMappedArgumentsLookup(masm, edx, ecx, ebx, eax, ¬in, &slow); in GenerateNonStrictArguments()
1275 GenerateFunctionTailCall(masm, argc, &slow); in GenerateNonStrictArguments()
1279 GenerateUnmappedArgumentsLookup(masm, ecx, ebx, eax, &slow); in GenerateNonStrictArguments()
1283 GenerateFunctionTailCall(masm, argc, &slow); in GenerateNonStrictArguments()
1285 GenerateMiss(masm, argc); in GenerateNonStrictArguments()
1289 void KeyedCallIC::GenerateNormal(MacroAssembler* masm, int argc) { in GenerateNormal() argument
1301 Condition cond = masm->IsObjectStringType(ecx, eax, eax); in GenerateNormal()
1303 CallICBase::GenerateNormal(masm, argc); in GenerateNormal()
1305 GenerateMiss(masm, argc); in GenerateNormal()
1309 void LoadIC::GenerateMegamorphic(MacroAssembler* masm) { in GenerateMegamorphic() argument
1318 Isolate::Current()->stub_cache()->GenerateProbe(masm, flags, eax, ecx, ebx, in GenerateMegamorphic()
1322 GenerateMiss(masm); in GenerateMegamorphic()
1326 void LoadIC::GenerateNormal(MacroAssembler* masm) { in GenerateNormal() argument
1334 GenerateStringDictionaryReceiverCheck(masm, eax, edx, ebx, &miss); in GenerateNormal()
1338 GenerateDictionaryLoad(masm, &miss, edx, ecx, edi, ebx, eax); in GenerateNormal()
1343 GenerateMiss(masm); in GenerateNormal()
1347 void LoadIC::GenerateMiss(MacroAssembler* masm) { in GenerateMiss() argument
1354 __ IncrementCounter(masm->isolate()->counters()->load_miss(), 1); in GenerateMiss()
1363 ExternalReference(IC_Utility(kLoadIC_Miss), masm->isolate()); in GenerateMiss()
1368 void KeyedLoadIC::GenerateMiss(MacroAssembler* masm, bool force_generic) { in GenerateMiss() argument
1375 __ IncrementCounter(masm->isolate()->counters()->keyed_load_miss(), 1); in GenerateMiss()
1385 masm->isolate()) in GenerateMiss()
1386 : ExternalReference(IC_Utility(kKeyedLoadIC_Miss), masm->isolate()); in GenerateMiss()
1391 void KeyedLoadIC::GenerateRuntimeGetProperty(MacroAssembler* masm) { in GenerateRuntimeGetProperty() argument
1408 void StoreIC::GenerateMegamorphic(MacroAssembler* masm, in GenerateMegamorphic() argument
1419 Isolate::Current()->stub_cache()->GenerateProbe(masm, flags, edx, ecx, ebx, in GenerateMegamorphic()
1423 GenerateMiss(masm); in GenerateMegamorphic()
1427 void StoreIC::GenerateMiss(MacroAssembler* masm) { in GenerateMiss() argument
1443 ExternalReference(IC_Utility(kStoreIC_Miss), masm->isolate()); in GenerateMiss()
1448 void StoreIC::GenerateArrayLength(MacroAssembler* masm) { in GenerateArrayLength() argument
1498 ExternalReference(IC_Utility(kStoreIC_ArrayLength), masm->isolate()); in GenerateArrayLength()
1503 GenerateMiss(masm); in GenerateArrayLength()
1507 void StoreIC::GenerateNormal(MacroAssembler* masm) { in GenerateNormal() argument
1517 GenerateStringDictionaryReceiverCheck(masm, edx, ebx, edi, &miss); in GenerateNormal()
1523 GenerateDictionaryStore(masm, &restore_miss, ebx, ecx, eax, edx, edi); in GenerateNormal()
1525 Counters* counters = masm->isolate()->counters(); in GenerateNormal()
1534 GenerateMiss(masm); in GenerateNormal()
1538 void StoreIC::GenerateGlobalProxy(MacroAssembler* masm, in GenerateGlobalProxy() argument
1559 void KeyedStoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm, in GenerateRuntimeSetProperty() argument
1581 void KeyedStoreIC::GenerateMiss(MacroAssembler* masm, bool force_generic) { in GenerateMiss() argument
1598 masm->isolate()) in GenerateMiss()
1599 : ExternalReference(IC_Utility(kKeyedStoreIC_Miss), masm->isolate()); in GenerateMiss()
1604 void KeyedStoreIC::GenerateSlow(MacroAssembler* masm) { in GenerateSlow() argument
1619 ExternalReference ref(IC_Utility(kKeyedStoreIC_Slow), masm->isolate()); in GenerateSlow()
1624 void KeyedStoreIC::GenerateTransitionElementsSmiToDouble(MacroAssembler* masm) { in GenerateTransitionElementsSmiToDouble() argument
1633 ElementsTransitionGenerator::GenerateSmiOnlyToDouble(masm, &fail); in GenerateTransitionElementsSmiToDouble()
1650 MacroAssembler* masm) { in GenerateTransitionElementsDoubleToObject() argument
1659 ElementsTransitionGenerator::GenerateDoubleToObject(masm, &fail); in GenerateTransitionElementsDoubleToObject()