Lines Matching full:masm
44 #define __ ACCESS_MASM(masm)
47 static void GenerateGlobalInstanceTypeCheck(MacroAssembler* masm,
63 static void GenerateNameDictionaryReceiverCheck(MacroAssembler* masm,
85 GenerateGlobalInstanceTypeCheck(masm, r0, miss);
108 static void GenerateDictionaryLoad(MacroAssembler* masm,
130 NameDictionaryLookupStub::GeneratePositiveLookup(masm,
166 static void GenerateDictionaryStore(MacroAssembler* masm,
187 NameDictionaryLookupStub::GeneratePositiveLookup(masm,
229 static void GenerateKeyedLoadReceiverCheck(MacroAssembler* masm,
260 static void GenerateFastArrayLoad(MacroAssembler* masm,
301 SmiIndex index = masm->SmiToIndex(scratch, key, kPointerSizeLog2);
318 static void GenerateKeyNameCheck(MacroAssembler* masm,
352 void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) {
368 masm, rdx, rcx, Map::kHasIndexedInterceptor, &slow);
373 GenerateFastArrayLoad(masm,
381 Counters* counters = masm->isolate()->counters();
405 GenerateRuntimeGetProperty(masm);
408 GenerateKeyNameCheck(masm, rax, rcx, rbx, &index_name, &slow);
411 masm, rdx, rcx, Map::kHasNamedInterceptor, &slow);
437 = ExternalReference::keyed_lookup_cache_keys(masm->isolate());
460 = ExternalReference::keyed_lookup_cache_field_offsets(masm->isolate());
503 GenerateGlobalInstanceTypeCheck(masm, rcx, &slow);
505 GenerateDictionaryLoad(masm, &slow, rbx, rax, rcx, rdi, rax);
515 void KeyedLoadIC::GenerateString(MacroAssembler* masm) {
536 char_at_generator.GenerateFast(masm);
540 char_at_generator.GenerateSlow(masm, call_helper);
543 GenerateMiss(masm);
547 void KeyedLoadIC::GenerateIndexedInterceptor(MacroAssembler* masm) {
581 masm->isolate()),
586 GenerateMiss(masm);
591 MacroAssembler* masm,
702 ElementsTransitionGenerator::GenerateSmiToDouble(masm, mode, slow);
714 ElementsTransitionGenerator::GenerateMapChangeElementsTransition(masm, mode,
730 ElementsTransitionGenerator::GenerateDoubleToObject(masm, mode, slow);
736 void KeyedStoreIC::GenerateGeneric(MacroAssembler* masm,
783 GenerateRuntimeSetProperty(masm, strict_mode);
824 KeyedStoreGenerateGenericHelper(masm, &fast_object, &fast_double,
826 KeyedStoreGenerateGenericHelper(masm, &fast_object_grow, &fast_double_grow,
833 void CallICBase::GenerateMonomorphicCacheProbe(MacroAssembler* masm,
849 masm->isolate()->stub_cache()->GenerateProbe(
850 masm, flags, rdx, rcx, rbx, rax);
863 masm, Context::NUMBER_FUNCTION_INDEX, rdx);
871 masm, Context::STRING_FUNCTION_INDEX, rdx);
882 masm, Context::BOOLEAN_FUNCTION_INDEX, rdx);
886 masm->isolate()->stub_cache()->GenerateProbe(
887 masm, flags, rdx, rcx, rbx, no_reg);
893 static void GenerateFunctionTailCall(MacroAssembler* masm,
919 void CallICBase::GenerateNormal(MacroAssembler* masm, int argc) {
934 GenerateNameDictionaryReceiverCheck(masm, rdx, rax, rbx, &miss);
938 GenerateDictionaryLoad(masm, &miss, rax, rcx, rbx, rdi, rdi);
940 GenerateFunctionTailCall(masm, argc, &miss);
946 void CallICBase::GenerateMiss(MacroAssembler* masm,
960 Counters* counters = masm->isolate()->counters();
972 FrameScope scope(masm, StackFrame::INTERNAL);
981 __ LoadAddress(rbx, ExternalReference(IC_Utility(id), masm->isolate()));
1019 void CallIC::GenerateMegamorphic(MacroAssembler* masm,
1034 GenerateMonomorphicCacheProbe(masm, argc, Code::CALL_IC, extra_ic_state);
1035 GenerateMiss(masm, argc, extra_ic_state);
1039 void KeyedCallIC::GenerateMegamorphic(MacroAssembler* masm, int argc) {
1065 masm, rdx, rax, Map::kHasIndexedInterceptor, &slow_call);
1068 masm, rdx, rcx, rax, rbx, rdi, &check_number_dictionary, &slow_load);
1069 Counters* counters = masm->isolate()->counters();
1076 GenerateFunctionTailCall(masm, argc, &slow_call);
1096 FrameScope scope(masm, StackFrame::INTERNAL);
1107 GenerateKeyNameCheck(masm, rcx, rax, rbx, &index_name, &slow_call);
1114 masm, rdx, rax, Map::kHasNamedInterceptor, &lookup_monomorphic_cache);
1121 GenerateDictionaryLoad(masm, &slow_load, rbx, rcx, rax, rdi, rdi);
1127 GenerateMonomorphicCacheProbe(masm,
1141 GenerateMiss(masm, argc);
1150 void KeyedCallIC::GenerateNormal(MacroAssembler* masm, int argc) {
1164 Condition cond = masm->IsObjectNameType(rcx, rax, rax);
1166 CallICBase::GenerateNormal(masm, argc);
1168 GenerateMiss(masm, argc);
1172 static Operand GenerateMappedArgumentsLookup(MacroAssembler* masm,
1180 Heap* heap = masm->isolate()->heap();
1191 Condition check = masm->CheckNonNegativeSmi(key);
1228 static Operand GenerateUnmappedArgumentsLookup(MacroAssembler* masm,
1240 Handle<Map> fixed_array_map(masm->isolate()->heap()->fixed_array_map());
1253 void KeyedLoadIC::GenerateNonStrictArguments(MacroAssembler* masm) {
1262 masm, rdx, rax, rbx, rcx, rdi, ¬in, &slow);
1268 GenerateUnmappedArgumentsLookup(masm, rax, rbx, rcx, &slow);
1274 GenerateMiss(masm);
1278 void KeyedStoreIC::GenerateNonStrictArguments(MacroAssembler* masm) {
1287 masm, rdx, rcx, rbx, rdi, r8, ¬in, &slow);
1301 masm, rcx, rbx, rdi, &slow);
1313 GenerateMiss(masm);
1317 void KeyedCallIC::GenerateNonStrictArguments(MacroAssembler* masm,
1332 masm, rdx, rcx, rbx, rax, r8, ¬in, &slow);
1334 GenerateFunctionTailCall(masm, argc, &slow);
1338 GenerateUnmappedArgumentsLookup(masm, rcx, rbx, rax, &slow);
1342 GenerateFunctionTailCall(masm, argc, &slow);
1344 GenerateMiss(masm, argc);
1348 void LoadIC::GenerateMegamorphic(MacroAssembler* masm) {
1359 masm->isolate()->stub_cache()->GenerateProbe(
1360 masm, flags, rax, rcx, rbx, rdx);
1362 GenerateMiss(masm);
1366 void LoadIC::GenerateNormal(MacroAssembler* masm) {
1374 GenerateNameDictionaryReceiverCheck(masm, rax, rdx, rbx, &miss);
1378 GenerateDictionaryLoad(masm, &miss, rdx, rcx, rbx, rdi, rax);
1383 GenerateMiss(masm);
1387 void LoadIC::GenerateMiss(MacroAssembler* masm) {
1394 Counters* counters = masm->isolate()->counters();
1404 ExternalReference(IC_Utility(kLoadIC_Miss), masm->isolate());
1409 void LoadIC::GenerateRuntimeGetProperty(MacroAssembler* masm) {
1426 void KeyedLoadIC::GenerateMiss(MacroAssembler* masm) {
1433 Counters* counters = masm->isolate()->counters();
1443 ExternalReference(IC_Utility(kKeyedLoadIC_Miss), masm->isolate());
1448 void KeyedLoadIC::GenerateRuntimeGetProperty(MacroAssembler* masm) {
1465 void StoreIC::GenerateMegamorphic(MacroAssembler* masm,
1478 masm->isolate()->stub_cache()->GenerateProbe(
1479 masm, flags, rdx, rcx, rbx, no_reg);
1482 GenerateMiss(masm);
1486 void StoreIC::GenerateMiss(MacroAssembler* masm) {
1502 ExternalReference(IC_Utility(kStoreIC_Miss), masm->isolate());
1507 void StoreIC::GenerateNormal(MacroAssembler* masm) {
1517 GenerateNameDictionaryReceiverCheck(masm, rdx, rbx, rdi, &miss);
1519 GenerateDictionaryStore(masm, &miss, rbx, rcx, rax, r8, r9);
1520 Counters* counters = masm->isolate()->counters();
1526 GenerateMiss(masm);
1530 void StoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
1551 void KeyedStoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
1573 void StoreIC::GenerateSlow(MacroAssembler* masm) {
1588 ExternalReference ref(IC_Utility(kStoreIC_Slow), masm->isolate());
1593 void KeyedStoreIC::GenerateSlow(MacroAssembler* masm) {
1608 ExternalReference ref(IC_Utility(kKeyedStoreIC_Slow), masm->isolate());
1613 void KeyedStoreIC::GenerateMiss(MacroAssembler* masm) {
1629 ExternalReference(IC_Utility(kKeyedStoreIC_Miss), masm->isolate());