Home | History | Annotate | Download | only in ia32

Lines Matching defs:__

43 #define __ ACCESS_MASM(masm)
75 __ mov(r0, FieldOperand(receiver, JSObject::kMapOffset));
77 __ test(FieldOperand(r0, Map::kInstanceAttributesOffset),
81 __ j(not_zero, miss_label, not_taken);
84 __ movzx_b(r0, FieldOperand(r0, Map::kInstanceTypeOffset));
85 __ cmp(r0, JS_GLOBAL_PROXY_TYPE);
86 __ j(equal, miss_label, not_taken);
89 __ cmp(r0, JS_GLOBAL_OBJECT_TYPE);
90 __ j(equal, miss_label, not_taken);
91 __ cmp(r0, JS_BUILTINS_OBJECT_TYPE);
92 __ j(equal, miss_label, not_taken);
95 __ mov(r0, FieldOperand(receiver, JSObject::kPropertiesOffset));
99 __ cmp(FieldOperand(r0, HeapObject::kMapOffset),
101 __ j(not_equal, miss_label);
108 __ mov(r2, FieldOperand(r0, kCapacityOffset));
109 __ shr(r2, kSmiTagSize); // convert smi to int
110 __ dec(r2);
121 __ mov(r1, FieldOperand(name, String::kHashFieldOffset));
122 __ shr(r1, String::kHashShift);
124 __ add(Operand(r1), Immediate(StringDictionary::GetProbeOffset(i)));
126 __ and_(r1, Operand(r2));
130 __ lea(r1, Operand(r1, r1, times_2, 0)); // r1 = r1 * 3
133 __ cmp(name,
136 __ j(equal, &done, taken);
138 __ j(not_equal, miss_label, not_taken);
143 __ bind(&done);
145 __ test(Operand(r0, r1, times_4, kDetailsOffset - kHeapObjectTag),
147 __ j(not_zero, miss_label, not_taken);
151 __ mov(r1, Operand(r0, r1, times_4, kValueOffset - kHeapObjectTag));
170 __ bind(&miss);
184 __ bind(&miss);
198 __ bind(&miss);
213 __ test(edx, Immediate(kSmiTagMask));
214 __ j(zero, &slow, not_taken);
217 __ mov(ecx, FieldOperand(edx, HeapObject::kMapOffset));
220 __ movzx_b(ebx, FieldOperand(ecx, Map::kBitFieldOffset));
221 __ test(ebx, Immediate(kSlowCaseBitFieldMask));
222 __ j(not_zero, &slow, not_taken);
228 __ CmpInstanceType(ecx, JS_OBJECT_TYPE);
229 __ j(below, &slow, not_taken);
231 __ test(eax, Immediate(kSmiTagMask));
232 __ j(not_zero, &check_string, not_taken);
233 __ mov(ebx, eax);
234 __ SmiUntag(ebx);
236 __ bind(&index_int);
237 __ mov(ecx, FieldOperand(edx, JSObject::kElementsOffset));
239 __ CheckMap(ecx, Factory::fixed_array_map(), &check_pixel_array, true);
241 __ cmp(ebx, FieldOperand(ecx, FixedArray::kLengthOffset));
242 __ j(above_equal, &slow);
244 __ mov(ecx, FieldOperand(ecx, ebx, times_4, FixedArray::kHeaderSize));
245 __ cmp(Operand(ecx), Immediate(Factory::the_hole_value()));
248 __ j(equal, &slow);
249 __ mov(eax, ecx);
250 __ IncrementCounter(&Counters::keyed_load_generic_smi, 1);
251 __ ret(0);
253 __ bind(&check_pixel_array);
259 __ CheckMap(ecx, Factory::pixel_array_map(), &slow, true);
260 __ cmp(ebx, FieldOperand(ecx, PixelArray::kLengthOffset));
261 __ j(above_equal, &slow);
262 __ mov(eax, FieldOperand(ecx, PixelArray::kExternalPointerOffset));
263 __ movzx_b(eax, Operand(eax, ebx, times_1, 0));
264 __ SmiTag(eax);
265 __ ret(0);
267 __ bind(&slow);
271 __ IncrementCounter(&Counters::keyed_load_generic_slow, 1);
274 __ bind(&check_string);
279 __ CmpObjectType(eax, FIRST_NONSTRING_TYPE, ecx);
280 __ j(above_equal, &slow);
282 __ mov(ebx, FieldOperand(eax, String::kHashFieldOffset));
283 __ test(ebx, Immediate(String::kIsArrayIndexMask));
284 __ j(not_zero, &index_string, not_taken);
287 __ movzx_b(ebx, FieldOperand(ecx, Map::kInstanceTypeOffset));
289 __ test(ebx, Immediate(kIsSymbolMask));
290 __ j(zero, &slow, not_taken);
294 __ mov(ebx, FieldOperand(edx, JSObject::kPropertiesOffset));
295 __ cmp(FieldOperand(ebx, HeapObject::kMapOffset),
297 __ j(equal, &probe_dictionary);
301 __ mov(ebx, FieldOperand(edx, HeapObject::kMapOffset));
302 __ mov(ecx, ebx);
303 __ shr(ecx, KeyedLookupCache::kMapHashShift);
304 __ mov(edi, FieldOperand(eax, String::kHashFieldOffset));
305 __ shr(edi, String::kHashShift);
306 __ xor_(ecx, Operand(edi));
307 __ and_(ecx, KeyedLookupCache::kCapacityMask);
313 __ mov(edi, ecx);
314 __ shl(edi, kPointerSizeLog2 + 1);
315 __ cmp(ebx, Operand::StaticArray(edi, times_1, cache_keys));
316 __ j(not_equal, &slow);
317 __ add(Operand(edi), Immediate(kPointerSize));
318 __ cmp(eax, Operand::StaticArray(edi, times_1, cache_keys));
319 __ j(not_equal, &slow);
328 __ mov(edi,
330 __ movzx_b(ecx, FieldOperand(ebx, Map::kInObjectPropertiesOffset));
331 __ cmp(edi, Operand(ecx));
332 __ j(above_equal, &slow);
335 __ sub(edi, Operand(ecx));
336 __ movzx_b(ecx, FieldOperand(ebx, Map::kInstanceSizeOffset));
337 __ add(ecx, Operand(edi));
338 __ mov(eax, FieldOperand(edx, ecx, times_pointer_size, 0));
339 __ ret(0);
343 __ bind(&probe_dictionary);
352 __ mov(eax, Operand(ecx));
353 __ IncrementCounter(&Counters::keyed_load_generic_symbol, 1);
354 __ ret(0);
362 __ bind(&index_string);
363 __ and_(ebx, String::kArrayIndexHashMask);
364 __ shr(ebx, String::kHashShift);
365 __ jmp(&index_int);
379 __ pop(ebx);
381 __ test(edx, Immediate(kSmiTagMask));
382 __ j(zero, &miss);
383 __ mov(ecx, FieldOperand(edx, HeapObject::kMapOffset));
384 __ movzx_b(ecx, FieldOperand(ecx, Map::kInstanceTypeOffset));
385 __ test(ecx, Immediate(kIsNotStringMask));
386 __ j(not_zero, &miss);
389 __ test(eax, Immediate(kSmiTagMask));
390 __ j(zero, &index_ok);
391 __ mov(ecx, FieldOperand(eax, HeapObject::kMapOffset));
392 __ cmp(ecx, Factory::heap_number_map());
393 __ j(not_equal, &miss);
395 __ bind(&index_ok);
397 __ push(edx); // receiver
398 __ push(eax); // key
399 __ push(ebx); // return address
400 __ InvokeBuiltin(Builtins::STRING_CHAR_AT, JUMP_FUNCTION);
402 __ bind(&miss);
403 __ push(ebx);
418 __ test(edx, Immediate(kSmiTagMask));
419 __ j(zero, &slow, not_taken);
422 __ test(eax, Immediate(kSmiTagMask));
423 __ j(not_zero, &slow, not_taken);
426 __ mov(ecx, FieldOperand(edx, HeapObject::kMapOffset));
430 __ movzx_b(ebx, FieldOperand(ecx, Map::kBitFieldOffset));
431 __ test(ebx, Immediate(1 << Map::kIsAccessCheckNeeded));
432 __ j(not_zero, &slow, not_taken);
434 __ CmpInstanceType(ecx, JS_OBJECT_TYPE);
435 __ j(not_equal, &slow, not_taken);
439 __ mov(ebx, FieldOperand(edx, JSObject::kElementsOffset));
441 __ cmp(FieldOperand(ebx, HeapObject::kMapOffset),
443 __ j(not_equal, &slow, not_taken);
449 __ mov(ecx, eax);
450 __ SmiUntag(ecx); // Untag the index.
451 __
453 __ j(above_equal, &slow);
455 __ mov(ebx, FieldOperand(ebx, ExternalArray::kExternalPointerOffset));
459 __ movsx_b(ecx, Operand(ebx, ecx, times_1, 0));
462 __ movzx_b(ecx, Operand(ebx, ecx, times_1, 0));
465 __ movsx_w(ecx, Operand(ebx, ecx, times_2, 0));
468 __ movzx_w(ecx, Operand(ebx, ecx, times_2, 0));
472 __ mov(ecx, Operand(ebx, ecx, times_4, 0));
475 __ fld_s(Operand(ebx, ecx, times_4, 0));
494 __ cmp(ecx, 0xC0000000);
495 __ j(sign, &box_int);
501 __ test(ecx, Immediate(0xC0000000));
502 __ j(not_zero, &box_int);
505 __ mov(eax, ecx);
506 __ SmiTag(eax);
507 __ ret(0);
509 __ bind(&box_int);
514 __ push(ecx);
515 __ fild_s(Operand(esp, 0));
516 __ pop(ecx);
522 __ push(Immediate(0));
523 __ push(ecx);
524 __ fild_d(Operand(esp, 0));
525 __ pop(ecx);
526 __ pop(ecx);
529 __ AllocateHeapNumber(ecx, ebx, edi, &failed_allocation);
531 __ mov(eax, ecx);
532 __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset));
533 __ ret(0);
537 __ AllocateHeapNumber(ecx, ebx, edi, &failed_allocation);
539 __ mov(eax, ecx);
540 __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset));
541 __ ret(0);
543 __ mov(eax, ecx);
544 __ SmiTag(eax);
545 __ ret(0);
550 __ bind(&failed_allocation);
551 __ ffree();
552 __ fincstp();
556 __ bind(&slow);
557 __ IncrementCounter(&Counters::keyed_load_external_array_slow, 1);
571 __ test(edx, Immediate(kSmiTagMask));
572 __ j(zero, &slow, not_taken);
575 __ test(eax, Immediate(kSmiTagMask));
576 __ j(not_zero, &slow, not_taken);
579 __ mov(ecx, FieldOperand(edx, HeapObject::kMapOffset));
583 __ movzx_b(ecx, FieldOperand(ecx, Map::kBitFieldOffset));
584 __ and_(Operand(ecx), Immediate(kSlowCaseBitFieldMask));
585 __ cmp(Operand(ecx), Immediate(1 << Map::kHasIndexedInterceptor));
586 __ j(not_zero, &slow, not_taken);
589 __ pop(ecx);
590 __ push(edx); // receiver
591 __ push(eax); // key
592 __ push(ecx); // return address
595 __ TailCallRuntime(ExternalReference(
598 __ bind(&slow);
613 __ mov(edx, Operand(esp, 2 * kPointerSize)); // 2 ~ return address, key
615 __ test(edx, Immediate(kSmiTagMask));
616 __ j(zero, &slow, not_taken);
618 __ mov(ecx, FieldOperand(edx, HeapObject::kMapOffset));
621 __ movzx_b(ebx, FieldOperand(ecx, Map::kBitFieldOffset));
622 __ test(ebx, Immediate(1 << Map::kIsAccessCheckNeeded));
623 __ j(not_zero, &slow, not_taken);
625 __ mov(ebx, Operand(esp, 1 * kPointerSize)); // 1 ~ return address
627 __ test(ebx, Immediate(kSmiTagMask));
628 __ j(not_zero, &slow, not_taken);
630 __ movzx_b(ecx, FieldOperand(ecx, Map::kInstanceTypeOffset));
632 __ cmp(ecx, JS_ARRAY_TYPE);
633 __ j(equal, &array);
635 __ cmp(ecx, FIRST_JS_OBJECT_TYPE);
636 __ j(less, &slow, not_taken);
642 __ mov(ecx, FieldOperand(edx, JSObject::kElementsOffset));
644 __ cmp(FieldOperand(ecx, HeapObject::kMapOffset),
646 __ j(not_equal, &check_pixel_array, not_taken);
648 __ mov(edx, Operand(ebx));
649 __ sar(edx, kSmiTagSize); // untag the index and use it for the comparison
650 __ cmp(edx, FieldOperand(ecx, Array::kLengthOffset));
654 __ j(below, &fast, taken);
657 __ bind(&slow);
664 __ bind(&check_pixel_array);
665 __ cmp(FieldOperand(ecx, HeapObject::kMapOffset),
667 __ j(not_equal, &slow);
670 __ test(eax, Immediate(kSmiTagMask));
671 __ j(not_zero, &slow);
672 __ sar(ebx, kSmiTagSize); // Untag the index.
673 __ cmp(ebx, FieldOperand(ecx, PixelArray::kLengthOffset));
674 __ j(above_equal, &slow);
675 __ mov(edx, eax); // Save the value.
676 __ sar(eax, kSmiTagSize); // Untag the value.
679 __ test(eax, Immediate(0xFFFFFF00));
680 __ j(zero, &done);
681 __ setcc(negative, eax); // 1 if negative, 0 if positive.
682 __ dec_b(eax); // 0 if negative, 255 if positive.
683 __ bind(&done);
685 __ mov(ecx, FieldOperand(ecx, PixelArray::kExternalPointerOffset));
686 __ mov_b(Operand(ecx, ebx, times_1, 0), eax);
687 __ mov(eax, edx); // Return the original value.
688 __ ret(0);
693 __ bind(&extra);
699 __ j(not_equal, &slow, not_taken); // do not leave holes in the array
700 __ sar(ebx, kSmiTagSize); // untag
701 __ cmp(ebx, FieldOperand(ecx, Array::kLengthOffset));
702 __ j(above_equal, &slow, not_taken);
704 __ lea(ebx, Operand(ebx, times_2, 1 << kSmiTagSize));
705 __ mov(FieldOperand(edx, JSArray::kLengthOffset), ebx);
706 __ sub(Operand(ebx), Immediate(1 << kSmiTagSize)); // decrement ebx again
707 __ jmp(&fast);
712 __ bind(&array);
716 __ mov(ecx, FieldOperand(edx, JSObject::kElementsOffset));
717 __ cmp(FieldOperand(ecx, HeapObject::kMapOffset),
719 __ j(not_equal, &check_pixel_array);
723 __ cmp(ebx, FieldOperand(edx, JSArray::kLengthOffset));
724 __ j(above_equal, &extra, not_taken);
727 __ bind(&fast);
731 __ mov(Operand(ecx, ebx, times_2, FixedArray::kHeaderSize - kHeapObjectTag),
734 __ mov(edx, Operand(eax));
735 __ RecordWrite(ecx, 0, edx, ebx);
736 __ ret(0);
751 __ mov(edx, Operand(esp, 2 * kPointerSize));
753 __ test(edx, Immediate(kSmiTagMask));
754 __ j(zero, &slow);
756 __ mov(ecx, FieldOperand(edx, HeapObject::kMapOffset));
759 __ movzx_b(ebx, FieldOperand(ecx, Map::kBitFieldOffset));
760 __ test(ebx, Immediate(1 << Map::kIsAccessCheckNeeded));
761 __ j(not_zero, &slow);
763 __ mov(ebx, Operand(esp, 1 * kPointerSize)); // 1 ~ return address
765 __ test(ebx, Immediate(kSmiTagMask));
766 __ j(not_zero, &slow);
768 __ movzx_b(ecx, FieldOperand(ecx, Map::kInstanceTypeOffset));
770 __ cmp(ecx, JS_OBJECT_TYPE);
771 __ j(not_equal, &slow);
778 __ mov(ecx, FieldOperand(edx, JSObject::kElementsOffset));
780 __ cmp(FieldOperand(ecx, HeapObject::kMapOffset),
782 __ j(not_equal, &slow);
785 __ sar(ebx, kSmiTagSize); // Untag the index.
786 __ cmp(ebx, FieldOperand(ecx, ExternalArray::kLengthOffset));
788 __ j(above_equal, &slow);
795 __ test(eax, Immediate(kSmiTagMask));
796 __ j(not_equal, &check_heap_number);
798 __ mov(edx, eax); // Save the value.
799 __ sar(eax, kSmiTagSize); // Untag the value.
800 __ mov(ecx, FieldOperand(ecx, ExternalArray::kExternalPointerOffset));
805 __ mov_b(Operand(ecx, ebx, times_1, 0), eax);
809 __ mov_w(Operand(ecx, ebx, times_2, 0), eax);
813 __ mov(Operand(ecx, ebx, times_4, 0), eax);
817 __ push(eax);
818 __ fild_s(Operand(esp, 0));
819 __ pop(eax);
820 __ fstp_s(Operand(ecx, ebx, times_4, 0));
826 __ mov(eax, edx); // Return the original value.
827 __ ret(0);
829 __ bind(&check_heap_number);
830 __ cmp(FieldOperand(eax, HeapObject::kMapOffset),
832 __ j(not_equal, &slow);
837 __ fld_d(FieldOperand(eax, HeapNumber::kValueOffset));
838 __ mov(edx, eax); // Save the value.
839 __ mov(ecx, FieldOperand(ecx, ExternalArray::kExternalPointerOffset));
844 __ fstp_s(Operand(ecx, ebx, times_4, 0));
845 __ mov(eax, edx); // Return the original value.
846 __ ret(0);
851 __ fucomi(0);
852 __ j(parity_even, &is_nan);
855 __ push(eax); // Make room on stack
856 __ fistp_s(Operand(esp, 0));
857 __ pop(eax);
862 __ push(eax); // Make room on stack
863 __ push(eax); // Make room on stack
864 __ fistp_d(Operand(esp, 0));
865 __ pop(eax);
866 __ mov(Operand(esp, 0), eax);
867 __ pop(eax);
873 __ mov_b(Operand(ecx, ebx, times_1, 0), eax);
877 __ mov_w(Operand(ecx, ebx, times_2, 0), eax);
888 __ mov_w(edi, FieldOperand(edx, HeapNumber::kValueOffset + 6));
889 __ and_(edi, 0x7FF0);
890 __ cmp(edi, 0x7FF0);
891 __ j(not_equal, &not_infinity);
892 __ mov(eax, 0);
893 __ bind(&not_infinity);
894 __ mov(Operand(ecx, ebx, times_4, 0), eax);
901 __ mov(eax, edx); // Return the original value.
902 __ ret(0);
904 __ bind(&is_nan);
905 __ ffree();
906 __ fincstp();
910 __ mov_b(Operand(ecx, ebx, times_1, 0), 0);
914 __ mov(eax, 0);
915 __ mov_w(Operand(ecx, ebx, times_2, 0), eax);
919 __ mov(Operand(ecx, ebx, times_4, 0), Immediate(0));
925 __ mov(eax, edx); // Return the original value.
926 __ ret(0);
930 __ bind(&slow);
949 __ mov(edx, Operand(esp, (argc + 1) * kPointerSize));
962 __ test(edx, Immediate(kSmiTagMask));
963 __ j(zero, &number, not_taken);
964 __ CmpObjectType(edx, HEAP_NUMBER_TYPE, ebx);
965 __ j(not_equal, &non_number, taken);
966 __ bind(&number);
969 __ jmp(&probe);
972 __ bind(&non_number);
973 __ cmp(ebx, FIRST_NONSTRING_TYPE);
974 __ j(above_equal, &non_string, taken);
977 __ jmp(&probe);
980 __ bind(&non_string);
981 __ cmp(edx, Factory::true_value());
982 __ j(equal, &boolean, not_taken);
983 __ cmp(edx, Factory::false_value());
984 __ j(not_equal, &miss, taken);
985 __ bind(&boolean);
990 __ bind(&probe);
994 __ bind(&miss);
1013 __ mov(edi, edx);
1017 __ test(edi, Immediate(kSmiTagMask));
1018 __ j(zero, miss, not_taken);
1021 __ CmpObjectType(edi, JS_FUNCTION_TYPE, eax);
1022 __ j(not_equal, miss, not_taken);
1026 __ mov(edx, FieldOperand(edx, GlobalObject::kGlobalReceiverOffset));
1027 __ mov(Operand(esp, (argc + 1) * kPointerSize), edx);
1032 __ InvokeFunction(edi, actual, JUMP_FUNCTION);
1047 __ mov(edx, Operand(esp, (argc + 1) * kPointerSize));
1050 __ test(edx, Immediate(kSmiTagMask));
1051 __ j(zero, &miss, not_taken);
1054 __ mov(ebx, FieldOperand(edx, HeapObject::kMapOffset));
1055 __ movzx_b(eax, FieldOperand(ebx, Map::kInstanceTypeOffset));
1056 __ cmp(eax, FIRST_JS_OBJECT_TYPE);
1057 __ j(below, &miss, not_taken);
1063 __ cmp(eax, JS_GLOBAL_OBJECT_TYPE);
1064 __ j(equal, &global_object);
1065 __ cmp(eax, JS_BUILTINS_OBJECT_TYPE);
1066 __ j(not_equal, &non_global_object);
1069 __ bind(&global_object);
1071 __ movzx_b(ebx, FieldOperand(ebx, Map::kBitFieldOffset));
1072 __ test(ebx, Immediate(1 << Map::kIsAccessCheckNeeded));
1073 __ j(not_equal, &miss, not_taken);
1078 __ bind(&non_global_object);
1079 __ cmp(eax, JS_GLOBAL_PROXY_TYPE);
1080 __ j(equal, &global_proxy, not_taken);
1083 __ movzx_b(ebx, FieldOperand(ebx, Map::kBitFieldOffset));
1084 __ test(ebx, Immediate(1 << Map::kIsAccessCheckNeeded));
1085 __ j(not_equal, &miss, not_taken);
1086 __ bind(&invoke);
1090 __ bind(&global_proxy);
1091 __ CheckAccessGlobalProxy(edx, eax, &miss);
1092 __ jmp(&invoke);
1095 __ bind(&miss);
1110 __ mov(edx, Operand(esp, (argc + 1) * kPointerSize));
1113 __ EnterInternalFrame();
1116 __ push(edx);
1117 __ push(ecx);
1121 __ mov(eax, Immediate(2));
1122 __ mov(ebx, Immediate(ExternalReference(IC_Utility(kCallIC_Miss))));
1123 __ CallStub(&stub);
1126 __ mov(edi, eax);
1127 __ LeaveInternalFrame();
1131 __ mov(edx, Operand(esp, (argc + 1) * kPointerSize)); // receiver
1132 __ test(edx, Immediate(kSmiTagMask));
1133 __ j(zero, &invoke, not_taken);
1134 __ mov(ebx, FieldOperand(edx, HeapObject::kMapOffset));
1135 __ movzx_b(ebx, FieldOperand(ebx, Map::kInstanceTypeOffset));
1136 __ cmp(ebx, JS_GLOBAL_OBJECT_TYPE);
1137 __ j(equal, &global);
1138 __ cmp(ebx, JS_BUILTINS_OBJECT_TYPE);
1139 __ j(not_equal, &invoke);
1142 __ bind(&global);
1143 __ mov(edx, FieldOperand(edx, GlobalObject::kGlobalReceiverOffset));
1144 __ mov(Operand(esp, (argc + 1) * kPointerSize), edx);
1148 __ bind(&invoke);
1149 __ InvokeFunction(edi, actual, JUMP_FUNCTION);
1183 __ test(eax, Immediate(kSmiTagMask));
1184 __ j(zero, &miss, not_taken);
1187 __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset));
1188 __ movzx_b(edx, FieldOperand(ebx, Map::kInstanceTypeOffset));
1189 __ cmp(edx, FIRST_JS_OBJECT_TYPE);
1190 __ j(less, &miss, not_taken);
1196 __ cmp(edx, JS_GLOBAL_PROXY_TYPE);
1197 __ j(equal, &global, not_taken);
1200 __ movzx_b(ebx, FieldOperand(ebx, Map::kBitFieldOffset));
1201 __ test(ebx, Immediate(1 << Map::kIsAccessCheckNeeded));
1202 __ j(not_zero, &miss, not_taken);
1205 __ bind(&probe);
1214 __ mov(eax, edi);
1215 __ ret(0);
1218 __ bind(&global);
1219 __ CheckAccessGlobalProxy(eax, edx, &miss);
1220 __ jmp(&probe);
1223 __ bind(&miss);
1235 __ pop(ebx);
1236 __ push(eax); // receiver
1237 __ push(ecx); // name
1238 __ push(ebx); // return address
1241 __ TailCallRuntime(ExternalReference(IC_Utility(kLoadIC_Miss)), 2, 1);
1350 __ pop(ebx);
1351 __ push(edx); // receiver
1352 __ push(eax); // name
1353 __ push(ebx); // return address
1356 __ TailCallRuntime(ExternalReference(IC_Utility(kKeyedLoadIC_Miss)), 2, 1);
1367 __ pop(ebx);
1368 __ push(edx); // receiver
1369 __ push(eax); // name
1370 __ push(ebx); // return address
1373 __ TailCallRuntime(ExternalReference(Runtime::kKeyedGetProperty), 2, 1);
1403 __ pop(ebx);
1404 __ push(edx);
1405 __ push(ecx);
1406 __ push(eax);
1407 __ push(ebx);
1410 __ TailCallRuntime(ExternalReference(IC_Utility(kStoreIC_Miss)), 3, 1);
1425 __ pop(ecx);
1426 __ push(Operand(esp, 1 * kPointerSize));
1427 __ push(Operand(esp, 1 * kPointerSize));
1428 __ push(eax);
1429 __ push(ecx);
1432 __ TailCallRuntime(ExternalReference(Runtime::kSetProperty), 3, 1);
1444 __ pop(ecx);
1445 __ push(Operand(esp, 1 * kPointerSize));
1446 __
1447 __ push(eax);
1448 __ push(ecx);
1451 __ TailCallRuntime(ExternalReference(IC_Utility(kKeyedStoreIC_Miss)), 3, 1);
1454 #undef __