Lines Matching refs:masm

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