Lines Matching refs:masm

44 #define __ ACCESS_MASM(masm)
47 static void GenerateGlobalInstanceTypeCheck(MacroAssembler* masm,
63 static void GenerateNameDictionaryReceiverCheck(MacroAssembler* masm,
86 GenerateGlobalInstanceTypeCheck(masm, r0, miss);
95 __ CheckMap(r0, masm->isolate()->factory()->hash_table_map(), miss,
107 static void GenerateDictionaryLoad(MacroAssembler* masm,
131 NameDictionaryLookupStub::GeneratePositiveLookup(masm,
164 static void GenerateDictionaryStore(MacroAssembler* masm,
186 NameDictionaryLookupStub::GeneratePositiveLookup(masm,
222 static void GenerateKeyedLoadReceiverCheck(MacroAssembler* masm,
255 static void GenerateFastArrayLoad(MacroAssembler* masm,
274 masm->isolate()->factory()->fixed_array_map(),
286 __ cmp(scratch, Immediate(masm->isolate()->factory()->the_hole_value()));
298 static void GenerateKeyNameCheck(MacroAssembler* masm,
331 static Operand GenerateMappedArgumentsLookup(MacroAssembler* masm,
338 Heap* heap = masm->isolate()->heap();
339 Factory* factory = masm->isolate()->factory();
386 static Operand GenerateUnmappedArgumentsLookup(MacroAssembler* masm,
396 Handle<Map> fixed_array_map(masm->isolate()->heap()->fixed_array_map());
408 void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) {
424 masm, edx, eax, Map::kHasIndexedInterceptor, &slow);
429 GenerateFastArrayLoad(masm, edx, ecx, eax, eax, NULL, &slow);
430 Isolate* isolate = masm->isolate();
467 GenerateRuntimeGetProperty(masm);
470 GenerateKeyNameCheck(masm, ecx, eax, ebx, &index_name, &slow);
473 masm, edx, eax, Map::kHasNamedInterceptor, &slow);
501 ExternalReference::keyed_lookup_cache_keys(masm->isolate());
533 ExternalReference::keyed_lookup_cache_field_offsets(masm->isolate());
573 GenerateGlobalInstanceTypeCheck(masm, eax, &slow);
575 GenerateDictionaryLoad(masm, &slow, ebx, ecx, eax, edi, eax);
586 void KeyedLoadIC::GenerateString(MacroAssembler* masm) {
607 char_at_generator.GenerateFast(masm);
611 char_at_generator.GenerateSlow(masm, call_helper);
614 GenerateMiss(masm);
618 void KeyedLoadIC::GenerateIndexedInterceptor(MacroAssembler* masm) {
652 masm->isolate());
656 GenerateMiss(masm);
660 void KeyedLoadIC::GenerateNonStrictArguments(MacroAssembler* masm) {
667 Factory* factory = masm->isolate()->factory();
669 GenerateMappedArgumentsLookup(masm, edx, ecx, ebx, eax, &notin, &slow);
675 GenerateUnmappedArgumentsLookup(masm, ecx, ebx, eax, &slow);
681 GenerateMiss(masm);
685 void KeyedStoreIC::GenerateNonStrictArguments(MacroAssembler* masm) {
694 GenerateMappedArgumentsLookup(masm, edx, ecx, ebx, edi, &notin, &slow);
703 GenerateUnmappedArgumentsLookup(masm, ecx, ebx, edi, &slow);
710 GenerateMiss(masm);
715 MacroAssembler* masm,
733 __ cmp(edi, masm->isolate()->factory()->fixed_array_map());
742 masm->isolate()->factory()->the_hole_value());
784 __ cmp(edi, masm->isolate()->factory()->fixed_double_array_map());
814 masm->isolate()->factory()->heap_number_map(),
827 ElementsTransitionGenerator::GenerateSmiToDouble(masm, mode, slow);
839 ElementsTransitionGenerator::GenerateMapChangeElementsTransition(masm, mode,
855 ElementsTransitionGenerator::GenerateDoubleToObject(masm, mode, slow);
861 void KeyedStoreIC::GenerateGeneric(MacroAssembler* masm,
902 GenerateRuntimeSetProperty(masm, strict_mode);
919 __ cmp(edi, masm->isolate()->factory()->fixed_array_map());
924 __ cmp(edi, masm->isolate()->factory()->fixed_double_array_map());
943 KeyedStoreGenerateGenericHelper(masm, &fast_object, &fast_double,
945 KeyedStoreGenerateGenericHelper(masm, &fast_object_grow, &fast_double_grow,
952 void CallICBase::GenerateMonomorphicCacheProbe(MacroAssembler* masm,
968 Isolate* isolate = masm->isolate();
969 isolate->stub_cache()->GenerateProbe(masm, flags, edx, ecx, ebx, eax);
982 masm, Context::NUMBER_FUNCTION_INDEX, edx);
990 masm, Context::STRING_FUNCTION_INDEX, edx);
1001 masm, Context::BOOLEAN_FUNCTION_INDEX, edx);
1005 isolate->stub_cache()->GenerateProbe(masm, flags, edx, ecx, ebx, no_reg);
1010 static void GenerateFunctionTailCall(MacroAssembler* masm,
1037 void CallICBase::GenerateNormal(MacroAssembler* masm, int argc) {
1050 GenerateNameDictionaryReceiverCheck(masm, edx, eax, ebx, &miss);
1054 GenerateDictionaryLoad(masm, &miss, eax, ecx, edi, ebx, edi);
1055 GenerateFunctionTailCall(masm, argc, &miss);
1061 void CallICBase::GenerateMiss(MacroAssembler* masm,
1073 Counters* counters = masm->isolate()->counters();
1084 FrameScope scope(masm, StackFrame::INTERNAL);
1093 __ mov(ebx, Immediate(ExternalReference(IC_Utility(id), masm->isolate())));
1133 void CallIC::GenerateMegamorphic(MacroAssembler* masm,
1146 CallICBase::GenerateMonomorphicCacheProbe(masm, argc, Code::CALL_IC,
1149 GenerateMiss(masm, argc, extra_state);
1153 void KeyedCallIC::GenerateMegamorphic(MacroAssembler* masm, int argc) {
1177 masm, edx, eax, Map::kHasIndexedInterceptor, &slow_call);
1180 masm, edx, ecx, eax, edi, &check_number_dictionary, &slow_load);
1181 Isolate* isolate = masm->isolate();
1189 GenerateFunctionTailCall(masm, argc, &slow_call);
1217 FrameScope scope(masm, StackFrame::INTERNAL);
1230 GenerateKeyNameCheck(masm, ecx, eax, ebx, &index_name, &slow_call);
1237 masm, edx, eax, Map::kHasNamedInterceptor, &lookup_monomorphic_cache);
1245 GenerateDictionaryLoad(masm, &slow_load, ebx, ecx, eax, edi, edi);
1251 CallICBase::GenerateMonomorphicCacheProbe(masm, argc, Code::KEYED_CALL_IC,
1263 GenerateMiss(masm, argc);
1272 void KeyedCallIC::GenerateNonStrictArguments(MacroAssembler* masm,
1282 Factory* factory = masm->isolate()->factory();
1285 GenerateMappedArgumentsLookup(masm, edx, ecx, ebx, eax, &notin, &slow);
1287 GenerateFunctionTailCall(masm, argc, &slow);
1291 GenerateUnmappedArgumentsLookup(masm, ecx, ebx, eax, &slow);
1295 GenerateFunctionTailCall(masm, argc, &slow);
1297 GenerateMiss(masm, argc);
1301 void KeyedCallIC::GenerateNormal(MacroAssembler* masm, int argc) {
1313 Condition cond = masm->IsObjectNameType(ecx, eax, eax);
1315 CallICBase::GenerateNormal(masm, argc);
1317 GenerateMiss(masm, argc);
1321 void LoadIC::GenerateMegamorphic(MacroAssembler* masm) {
1332 masm->isolate()->stub_cache()->GenerateProbe(
1333 masm, flags, edx, ecx, ebx, eax);
1336 GenerateMiss(masm);
1340 void LoadIC::GenerateNormal(MacroAssembler* masm) {
1348 GenerateNameDictionaryReceiverCheck(masm, edx, eax, ebx, &miss);
1352 GenerateDictionaryLoad(masm, &miss, eax, ecx, edi, ebx, eax);
1357 GenerateMiss(masm);
1361 void LoadIC::GenerateMiss(MacroAssembler* masm) {
1368 __ IncrementCounter(masm->isolate()->counters()->load_miss(), 1);
1377 ExternalReference(IC_Utility(kLoadIC_Miss), masm->isolate());
1382 void LoadIC::GenerateRuntimeGetProperty(MacroAssembler* masm) {
1399 void KeyedLoadIC::GenerateMiss(MacroAssembler* masm) {
1406 __ IncrementCounter(masm->isolate()->counters()->keyed_load_miss(), 1);
1415 ExternalReference(IC_Utility(kKeyedLoadIC_Miss), masm->isolate());
1420 void KeyedLoadIC::GenerateRuntimeGetProperty(MacroAssembler* masm) {
1437 void StoreIC::GenerateMegamorphic(MacroAssembler* masm,
1448 masm->isolate()->stub_cache()->GenerateProbe(
1449 masm, flags, edx, ecx, ebx, no_reg);
1452 GenerateMiss(masm);
1456 void StoreIC::GenerateMiss(MacroAssembler* masm) {
1472 ExternalReference(IC_Utility(kStoreIC_Miss), masm->isolate());
1477 void StoreIC::GenerateNormal(MacroAssembler* masm) {
1487 GenerateNameDictionaryReceiverCheck(masm, edx, ebx, edi, &miss);
1493 GenerateDictionaryStore(masm, &restore_miss, ebx, ecx, eax, edx, edi);
1495 Counters* counters = masm->isolate()->counters();
1504 GenerateMiss(masm);
1508 void StoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
1529 void KeyedStoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
1551 void KeyedStoreIC::GenerateMiss(MacroAssembler* masm) {
1567 ExternalReference(IC_Utility(kKeyedStoreIC_Miss), masm->isolate());
1572 void StoreIC::GenerateSlow(MacroAssembler* masm) {
1587 ExternalReference ref(IC_Utility(kStoreIC_Slow), masm->isolate());
1592 void KeyedStoreIC::GenerateSlow(MacroAssembler* masm) {
1607 ExternalReference ref(IC_Utility(kKeyedStoreIC_Slow), masm->isolate());