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
85 GenerateGlobalInstanceTypeCheck(masm, r0, miss); in GenerateStringDictionaryReceiverCheck()
108 static void GenerateDictionaryLoad(MacroAssembler* masm, in GenerateDictionaryLoad() argument
130 StringDictionaryLookupStub::GeneratePositiveLookup(masm, in GenerateDictionaryLoad()
166 static void GenerateDictionaryStore(MacroAssembler* masm, in GenerateDictionaryStore() argument
188 StringDictionaryLookupStub::GeneratePositiveLookup(masm, in GenerateDictionaryStore()
228 void LoadIC::GenerateArrayLength(MacroAssembler* masm) { in GenerateArrayLength() argument
236 StubCompiler::GenerateLoadArrayLength(masm, rax, rdx, &miss); in GenerateArrayLength()
238 StubCompiler::GenerateLoadMiss(masm, Code::LOAD_IC); in GenerateArrayLength()
242 void LoadIC::GenerateStringLength(MacroAssembler* masm, bool support_wrappers) { in GenerateStringLength() argument
250 StubCompiler::GenerateLoadStringLength(masm, rax, rdx, rbx, &miss, in GenerateStringLength()
253 StubCompiler::GenerateLoadMiss(masm, Code::LOAD_IC); in GenerateStringLength()
257 void LoadIC::GenerateFunctionPrototype(MacroAssembler* masm) { in GenerateFunctionPrototype() argument
265 StubCompiler::GenerateLoadFunctionPrototype(masm, rax, rdx, rbx, &miss); in GenerateFunctionPrototype()
267 StubCompiler::GenerateLoadMiss(masm, Code::LOAD_IC); in GenerateFunctionPrototype()
273 static void GenerateKeyedLoadReceiverCheck(MacroAssembler* masm, in GenerateKeyedLoadReceiverCheck() argument
304 static void GenerateFastArrayLoad(MacroAssembler* masm, in GenerateFastArrayLoad() argument
345 SmiIndex index = masm->SmiToIndex(scratch, key, kPointerSizeLog2); in GenerateFastArrayLoad()
362 static void GenerateKeyStringCheck(MacroAssembler* masm, in GenerateKeyStringCheck() argument
389 void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) { in GenerateGeneric() argument
405 masm, rdx, rcx, Map::kHasIndexedInterceptor, &slow); in GenerateGeneric()
410 GenerateFastArrayLoad(masm, in GenerateGeneric()
418 Counters* counters = masm->isolate()->counters(); in GenerateGeneric()
442 GenerateRuntimeGetProperty(masm); in GenerateGeneric()
445 GenerateKeyStringCheck(masm, rax, rcx, rbx, &index_string, &slow); in GenerateGeneric()
448 masm, rdx, rcx, Map::kHasNamedInterceptor, &slow); in GenerateGeneric()
474 = ExternalReference::keyed_lookup_cache_keys(masm->isolate()); in GenerateGeneric()
497 = ExternalReference::keyed_lookup_cache_field_offsets(masm->isolate()); in GenerateGeneric()
540 GenerateGlobalInstanceTypeCheck(masm, rcx, &slow); in GenerateGeneric()
542 GenerateDictionaryLoad(masm, &slow, rbx, rax, rcx, rdi, rax); in GenerateGeneric()
552 void KeyedLoadIC::GenerateString(MacroAssembler* masm) { in GenerateString() argument
573 char_at_generator.GenerateFast(masm); in GenerateString()
577 char_at_generator.GenerateSlow(masm, call_helper); in GenerateString()
580 GenerateMiss(masm, false); in GenerateString()
584 void KeyedLoadIC::GenerateIndexedInterceptor(MacroAssembler* masm) { in GenerateIndexedInterceptor() argument
618 masm->isolate()), in GenerateIndexedInterceptor()
623 GenerateMiss(masm, false); in GenerateIndexedInterceptor()
627 void KeyedStoreIC::GenerateGeneric(MacroAssembler* masm, in GenerateGeneric() argument
676 GenerateRuntimeSetProperty(masm, strict_mode); in GenerateGeneric()
779 ElementsTransitionGenerator::GenerateSmiOnlyToDouble(masm, &slow); in GenerateGeneric()
790 ElementsTransitionGenerator::GenerateSmiOnlyToObject(masm); in GenerateGeneric()
804 ElementsTransitionGenerator::GenerateDoubleToObject(masm, &slow); in GenerateGeneric()
812 void CallICBase::GenerateMonomorphicCacheProbe(MacroAssembler* masm, in GenerateMonomorphicCacheProbe() argument
828 Isolate::Current()->stub_cache()->GenerateProbe(masm, flags, rdx, rcx, rbx, in GenerateMonomorphicCacheProbe()
842 masm, Context::NUMBER_FUNCTION_INDEX, rdx); in GenerateMonomorphicCacheProbe()
850 masm, Context::STRING_FUNCTION_INDEX, rdx); in GenerateMonomorphicCacheProbe()
861 masm, Context::BOOLEAN_FUNCTION_INDEX, rdx); in GenerateMonomorphicCacheProbe()
865 Isolate::Current()->stub_cache()->GenerateProbe(masm, flags, rdx, rcx, rbx, in GenerateMonomorphicCacheProbe()
872 static void GenerateFunctionTailCall(MacroAssembler* masm, in GenerateFunctionTailCall() argument
898 void CallICBase::GenerateNormal(MacroAssembler* masm, int argc) { in GenerateNormal() argument
913 GenerateStringDictionaryReceiverCheck(masm, rdx, rax, rbx, &miss); in GenerateNormal()
917 GenerateDictionaryLoad(masm, &miss, rax, rcx, rbx, rdi, rdi); in GenerateNormal()
919 GenerateFunctionTailCall(masm, argc, &miss); in GenerateNormal()
925 void CallICBase::GenerateMiss(MacroAssembler* masm, in GenerateMiss() argument
939 Counters* counters = masm->isolate()->counters(); in GenerateMiss()
951 FrameScope scope(masm, StackFrame::INTERNAL); in GenerateMiss()
960 __ LoadAddress(rbx, ExternalReference(IC_Utility(id), masm->isolate())); in GenerateMiss()
998 void CallIC::GenerateMegamorphic(MacroAssembler* masm, in GenerateMegamorphic() argument
1013 GenerateMonomorphicCacheProbe(masm, argc, Code::CALL_IC, extra_ic_state); in GenerateMegamorphic()
1014 GenerateMiss(masm, argc, extra_ic_state); in GenerateMegamorphic()
1018 void KeyedCallIC::GenerateMegamorphic(MacroAssembler* masm, int argc) { in GenerateMegamorphic() argument
1044 masm, rdx, rax, Map::kHasIndexedInterceptor, &slow_call); in GenerateMegamorphic()
1047 masm, rdx, rcx, rax, rbx, rdi, &check_number_dictionary, &slow_load); in GenerateMegamorphic()
1048 Counters* counters = masm->isolate()->counters(); in GenerateMegamorphic()
1055 GenerateFunctionTailCall(masm, argc, &slow_call); in GenerateMegamorphic()
1075 FrameScope scope(masm, StackFrame::INTERNAL); in GenerateMegamorphic()
1086 GenerateKeyStringCheck(masm, rcx, rax, rbx, &index_string, &slow_call); in GenerateMegamorphic()
1093 masm, rdx, rax, Map::kHasNamedInterceptor, &lookup_monomorphic_cache); in GenerateMegamorphic()
1100 GenerateDictionaryLoad(masm, &slow_load, rbx, rcx, rax, rdi, rdi); in GenerateMegamorphic()
1106 GenerateMonomorphicCacheProbe(masm, in GenerateMegamorphic()
1120 GenerateMiss(masm, argc); in GenerateMegamorphic()
1129 void KeyedCallIC::GenerateNormal(MacroAssembler* masm, int argc) { in GenerateNormal() argument
1143 Condition cond = masm->IsObjectStringType(rcx, rax, rax); in GenerateNormal()
1145 CallICBase::GenerateNormal(masm, argc); in GenerateNormal()
1147 GenerateMiss(masm, argc); in GenerateNormal()
1151 static Operand GenerateMappedArgumentsLookup(MacroAssembler* masm, in GenerateMappedArgumentsLookup() argument
1159 Heap* heap = masm->isolate()->heap(); in GenerateMappedArgumentsLookup()
1170 Condition check = masm->CheckNonNegativeSmi(key); in GenerateMappedArgumentsLookup()
1207 static Operand GenerateUnmappedArgumentsLookup(MacroAssembler* masm, in GenerateUnmappedArgumentsLookup() argument
1219 Handle<Map> fixed_array_map(masm->isolate()->heap()->fixed_array_map()); in GenerateUnmappedArgumentsLookup()
1232 void KeyedLoadIC::GenerateNonStrictArguments(MacroAssembler* masm) { in GenerateNonStrictArguments() argument
1241 masm, rdx, rax, rbx, rcx, rdi, ¬in, &slow); in GenerateNonStrictArguments()
1247 GenerateUnmappedArgumentsLookup(masm, rax, rbx, rcx, &slow); in GenerateNonStrictArguments()
1253 GenerateMiss(masm, false); in GenerateNonStrictArguments()
1257 void KeyedStoreIC::GenerateNonStrictArguments(MacroAssembler* masm) { in GenerateNonStrictArguments() argument
1266 masm, rdx, rcx, rbx, rdi, r8, ¬in, &slow); in GenerateNonStrictArguments()
1280 GenerateUnmappedArgumentsLookup(masm, rcx, rbx, rdi, &slow); in GenerateNonStrictArguments()
1292 GenerateMiss(masm, false); in GenerateNonStrictArguments()
1296 void KeyedCallIC::GenerateNonStrictArguments(MacroAssembler* masm, in GenerateNonStrictArguments() argument
1310 masm, rdx, rcx, rbx, rax, r8, ¬in, &slow); in GenerateNonStrictArguments()
1312 GenerateFunctionTailCall(masm, argc, &slow); in GenerateNonStrictArguments()
1316 GenerateUnmappedArgumentsLookup(masm, rcx, rbx, rax, &slow); in GenerateNonStrictArguments()
1320 GenerateFunctionTailCall(masm, argc, &slow); in GenerateNonStrictArguments()
1322 GenerateMiss(masm, argc); in GenerateNonStrictArguments()
1326 void LoadIC::GenerateMegamorphic(MacroAssembler* masm) { in GenerateMegamorphic() argument
1335 Isolate::Current()->stub_cache()->GenerateProbe(masm, flags, rax, rcx, rbx, in GenerateMegamorphic()
1339 StubCompiler::GenerateLoadMiss(masm, Code::LOAD_IC); in GenerateMegamorphic()
1343 void LoadIC::GenerateNormal(MacroAssembler* masm) { in GenerateNormal() argument
1351 GenerateStringDictionaryReceiverCheck(masm, rax, rdx, rbx, &miss); in GenerateNormal()
1355 GenerateDictionaryLoad(masm, &miss, rdx, rcx, rbx, rdi, rax); in GenerateNormal()
1360 GenerateMiss(masm); in GenerateNormal()
1364 void LoadIC::GenerateMiss(MacroAssembler* masm) { in GenerateMiss() argument
1371 Counters* counters = masm->isolate()->counters(); in GenerateMiss()
1381 ExternalReference(IC_Utility(kLoadIC_Miss), masm->isolate()); in GenerateMiss()
1386 void KeyedLoadIC::GenerateMiss(MacroAssembler* masm, bool force_generic) { in GenerateMiss() argument
1393 Counters* counters = masm->isolate()->counters(); in GenerateMiss()
1404 masm->isolate()) in GenerateMiss()
1405 : ExternalReference(IC_Utility(kKeyedLoadIC_Miss), masm->isolate()); in GenerateMiss()
1410 void KeyedLoadIC::GenerateRuntimeGetProperty(MacroAssembler* masm) { in GenerateRuntimeGetProperty() argument
1427 void StoreIC::GenerateMegamorphic(MacroAssembler* masm, in GenerateMegamorphic() argument
1439 Isolate::Current()->stub_cache()->GenerateProbe(masm, flags, rdx, rcx, rbx, in GenerateMegamorphic()
1443 GenerateMiss(masm); in GenerateMegamorphic()
1447 void StoreIC::GenerateMiss(MacroAssembler* masm) { in GenerateMiss() argument
1463 ExternalReference(IC_Utility(kStoreIC_Miss), masm->isolate()); in GenerateMiss()
1468 void StoreIC::GenerateArrayLength(MacroAssembler* masm) { in GenerateArrayLength() argument
1518 ExternalReference(IC_Utility(kStoreIC_ArrayLength), masm->isolate()); in GenerateArrayLength()
1523 GenerateMiss(masm); in GenerateArrayLength()
1527 void StoreIC::GenerateNormal(MacroAssembler* masm) { in GenerateNormal() argument
1537 GenerateStringDictionaryReceiverCheck(masm, rdx, rbx, rdi, &miss); in GenerateNormal()
1539 GenerateDictionaryStore(masm, &miss, rbx, rcx, rax, r8, r9); in GenerateNormal()
1540 Counters* counters = masm->isolate()->counters(); in GenerateNormal()
1546 GenerateMiss(masm); in GenerateNormal()
1550 void StoreIC::GenerateGlobalProxy(MacroAssembler* masm, in GenerateGlobalProxy() argument
1571 void KeyedStoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm, in GenerateRuntimeSetProperty() argument
1593 void KeyedStoreIC::GenerateSlow(MacroAssembler* masm) { in GenerateSlow() argument
1608 ExternalReference ref(IC_Utility(kKeyedStoreIC_Slow), masm->isolate()); in GenerateSlow()
1613 void KeyedStoreIC::GenerateMiss(MacroAssembler* masm, bool force_generic) { in GenerateMiss() argument
1630 masm->isolate()) in GenerateMiss()
1631 : ExternalReference(IC_Utility(kKeyedStoreIC_Miss), masm->isolate()); in GenerateMiss()
1636 void KeyedStoreIC::GenerateTransitionElementsSmiToDouble(MacroAssembler* masm) { in GenerateTransitionElementsSmiToDouble() argument
1645 ElementsTransitionGenerator::GenerateSmiOnlyToDouble(masm, &fail); in GenerateTransitionElementsSmiToDouble()
1659 MacroAssembler* masm) { in GenerateTransitionElementsDoubleToObject() argument
1668 ElementsTransitionGenerator::GenerateDoubleToObject(masm, &fail); in GenerateTransitionElementsDoubleToObject()