__ 63 src/arm/builtins-arm.cc __ push(r1); __ 70 src/arm/builtins-arm.cc __ add(r0, r0, Operand(num_extra_args + 1)); __ 71 src/arm/builtins-arm.cc __ JumpToExternalReference(ExternalReference(id, masm->isolate())); __ 80 src/arm/builtins-arm.cc __ ldr(result, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 81 src/arm/builtins-arm.cc __ ldr(result, __ 84 src/arm/builtins-arm.cc __ ldr(result, __ 95 src/arm/builtins-arm.cc __ ldr(result, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 96 src/arm/builtins-arm.cc __ ldr(result, __ 99 src/arm/builtins-arm.cc __ ldr(result, __ 117 src/arm/builtins-arm.cc __ LoadInitialArrayMap(array_function, scratch2, scratch1, false); __ 125 src/arm/builtins-arm.cc __ AllocateInNewSpace(size, __ 137 src/arm/builtins-arm.cc __ str(scratch1, FieldMemOperand(result, JSObject::kMapOffset)); __ 138 src/arm/builtins-arm.cc __ LoadRoot(scratch1, Heap::kEmptyFixedArrayRootIndex); __ 139 src/arm/builtins-arm.cc __ str(scratch1, FieldMemOperand(result, JSArray::kPropertiesOffset)); __ 141 src/arm/builtins-arm.cc __ mov(scratch3, Operand(0, RelocInfo::NONE)); __ 142 src/arm/builtins-arm.cc __ str(scratch3, FieldMemOperand(result, JSArray::kLengthOffset)); __ 145 src/arm/builtins-arm.cc __ str(scratch1, FieldMemOperand(result, JSArray::kElementsOffset)); __ 153 src/arm/builtins-arm.cc __ add(scratch1, result, Operand(JSArray::kSize)); __ 154 src/arm/builtins-arm.cc __ str(scratch1, FieldMemOperand(result, JSArray::kElementsOffset)); __ 157 src/arm/builtins-arm.cc __ sub(scratch1, scratch1, Operand(kHeapObjectTag)); __ 164 src/arm/builtins-arm.cc __ LoadRoot(scratch3, Heap::kFixedArrayMapRootIndex); __ 166 src/arm/builtins-arm.cc __ str(scratch3, MemOperand(scratch1, kPointerSize, PostIndex)); __ 167 src/arm/builtins-arm.cc __ mov(scratch3, Operand(Smi::FromInt(initial_capacity))); __ 169 src/arm/builtins-arm.cc __ str(scratch3, MemOperand(scratch1, kPointerSize, PostIndex)); __ 173 src/arm/builtins-arm.cc __ LoadRoot(scratch3, Heap::kTheHoleValueRootIndex); __ 177 src/arm/builtins-arm.cc __ str(scratch3, MemOperand(scratch1, kPointerSize, PostIndex)); __ 181 src/arm/builtins-arm.cc __ add(scratch2, scratch1, Operand(initial_capacity * kPointerSize)); __ 182 src/arm/builtins-arm.cc __ b(&entry); __ 183 src/arm/builtins-arm.cc __ bind(&loop); __ 184 src/arm/builtins-arm.cc __ str(scratch3, MemOperand(scratch1, kPointerSize, PostIndex)); __ 185 src/arm/builtins-arm.cc __ bind(&entry); __ 186 src/arm/builtins-arm.cc __ cmp(scratch1, scratch2); __ 187 src/arm/builtins-arm.cc __ b(lt, &loop); __ 211 src/arm/builtins-arm.cc __ LoadInitialArrayMap(array_function, scratch2, __ 215 src/arm/builtins-arm.cc __ tst(array_size, array_size); __ 216 src/arm/builtins-arm.cc __ Assert(ne, "array size is unexpectedly 0"); __ 222 src/arm/builtins-arm.cc __ mov(elements_array_end, __ 224 src/arm/builtins-arm.cc __ add(elements_array_end, __ 227 src/arm/builtins-arm.cc __ AllocateInNewSpace( __ 240 src/arm/builtins-arm.cc __ str(elements_array_storage, FieldMemOperand(result, JSObject::kMapOffset)); __ 241 src/arm/builtins-arm.cc __ LoadRoot(elements_array_storage, Heap::kEmptyFixedArrayRootIndex); __ 242 src/arm/builtins-arm.cc __ str(elements_array_storage, __ 245 src/arm/builtins-arm.cc __ str(array_size, FieldMemOperand(result, JSArray::kLengthOffset)); __ 251 src/arm/builtins-arm.cc __ add(elements_array_storage, result, Operand(JSArray::kSize)); __ 252 src/arm/builtins-arm.cc __ str(elements_array_storage, __ 257 src/arm/builtins-arm.cc __ sub(elements_array_storage, __ 265 src/arm/builtins-arm.cc __ LoadRoot(scratch1, Heap::kFixedArrayMapRootIndex); __ 267 src/arm/builtins-arm.cc __ str(scratch1, MemOperand(elements_array_storage, kPointerSize, PostIndex)); __ 270 src/arm/builtins-arm.cc __ str(array_size, __ 278 src/arm/builtins-arm.cc __ add(elements_array_end, __ 288 src/arm/builtins-arm.cc __ LoadRoot(scratch1, Heap::kTheHoleValueRootIndex); __ 289 src/arm/builtins-arm.cc __ jmp(&entry); __ 290 src/arm/builtins-arm.cc __ bind(&loop); __ 291 src/arm/builtins-arm.cc __ str(scratch1, __ 293 src/arm/builtins-arm.cc __ bind(&entry); __ 294 src/arm/builtins-arm.cc __ cmp(elements_array_storage, elements_array_end); __ 295 src/arm/builtins-arm.cc __ b(lt, &loop); __ 320 src/arm/builtins-arm.cc __ cmp(r0, Operand(0, RelocInfo::NONE)); __ 321 src/arm/builtins-arm.cc __ b(ne, &argc_one_or_more); __ 324 src/arm/builtins-arm.cc __ bind(&empty_array); __ 332 src/arm/builtins-arm.cc __ IncrementCounter(counters->array_function_native(), 1, r3, r4); __ 334 src/arm/builtins-arm.cc __ mov(r0, r2); __ 335 src/arm/builtins-arm.cc __ add(sp, sp, Operand(kPointerSize)); __ 336 src/arm/builtins-arm.cc __ Jump(lr); __ 340 src/arm/builtins-arm.cc __ bind(&argc_one_or_more); __ 341 src/arm/builtins-arm.cc __ cmp(r0, Operand(1)); __ 342 src/arm/builtins-arm.cc __ b(ne, &argc_two_or_more); __ 344 src/arm/builtins-arm.cc __ ldr(r2, MemOperand(sp)); // Get the argument from the stack. __ 345 src/arm/builtins-arm.cc __ tst(r2, r2); __ 346 src/arm/builtins-arm.cc __ b(ne, ¬_empty_array); __ 347 src/arm/builtins-arm.cc __ Drop(1); // Adjust stack. __ 348 src/arm/builtins-arm.cc __ mov(r0, Operand(0)); // Treat this as a call with argc of zero. __ 349 src/arm/builtins-arm.cc __ b(&empty_array); __ 351 src/arm/builtins-arm.cc __ bind(¬_empty_array); __ 352 src/arm/builtins-arm.cc __ and_(r3, r2, Operand(kIntptrSignBit | kSmiTagMask), SetCC); __ 353 src/arm/builtins-arm.cc __ b(ne, call_generic_code); __ 358 src/arm/builtins-arm.cc __ cmp(r2, Operand(JSObject::kInitialMaxFastElementArray << kSmiTagSize)); __ 359 src/arm/builtins-arm.cc __ b(ge, call_generic_code); __ 375 src/arm/builtins-arm.cc __ IncrementCounter(counters->array_function_native(), 1, r2, r4); __ 377 src/arm/builtins-arm.cc __ mov(r0, r3); __ 378 src/arm/builtins-arm.cc __ add(sp, sp, Operand(2 * kPointerSize)); __ 379 src/arm/builtins-arm.cc __ Jump(lr); __ 382 src/arm/builtins-arm.cc __ bind(&argc_two_or_more); __ 383 src/arm/builtins-arm.cc __ mov(r2, Operand(r0, LSL, kSmiTagSize)); // Convet argc to a smi. __ 399 src/arm/builtins-arm.cc __ IncrementCounter(counters->array_function_native(), 1, r2, r6); __ 411 src/arm/builtins-arm.cc __ mov(r7, sp); __ 412 src/arm/builtins-arm.cc __ jmp(&entry); __ 413 src/arm/builtins-arm.cc __ bind(&loop); __ 414 src/arm/builtins-arm.cc __ ldr(r2, MemOperand(r7, kPointerSize, PostIndex)); __ 416 src/arm/builtins-arm.cc __ JumpIfNotSmi(r2, &has_non_smi_element); __ 418 src/arm/builtins-arm.cc __ str(r2, MemOperand(r5, -kPointerSize, PreIndex)); __ 419 src/arm/builtins-arm.cc __ bind(&entry); __ 420 src/arm/builtins-arm.cc __ cmp(r4, r5); __ 421 src/arm/builtins-arm.cc __ b(lt, &loop); __ 423 src/arm/builtins-arm.cc __ bind(&finish); __ 424 src/arm/builtins-arm.cc __ mov(sp, r7); __ 431 src/arm/builtins-arm.cc __ add(sp, sp, Operand(kPointerSize)); __ 432 src/arm/builtins-arm.cc __ mov(r0, r3); __ 433 src/arm/builtins-arm.cc __ Jump(lr); __ 435 src/arm/builtins-arm.cc __ bind(&has_non_smi_element); __ 437 src/arm/builtins-arm.cc __ CheckMap( __ 439 src/arm/builtins-arm.cc __ bind(&cant_transition_map); __ 440 src/arm/builtins-arm.cc __ UndoAllocationInNewSpace(r3, r4); __ 441 src/arm/builtins-arm.cc __ b(call_generic_code); __ 443 src/arm/builtins-arm.cc __ bind(¬_double); __ 446 src/arm/builtins-arm.cc __ ldr(r2, FieldMemOperand(r3, HeapObject::kMapOffset)); __ 447 src/arm/builtins-arm.cc __ LoadTransitionedArrayMapConditional(FAST_SMI_ELEMENTS, __ 452 src/arm/builtins-arm.cc __ str(r2, FieldMemOperand(r3, HeapObject::kMapOffset)); __ 453 src/arm/builtins-arm.cc __ RecordWriteField(r3, __ 462 src/arm/builtins-arm.cc __ sub(r7, r7, Operand(kPointerSize)); __ 463 src/arm/builtins-arm.cc __ bind(&loop2); __ 464 src/arm/builtins-arm.cc __ ldr(r2, MemOperand(r7, kPointerSize, PostIndex)); __ 465 src/arm/builtins-arm.cc __ str(r2, MemOperand(r5, -kPointerSize, PreIndex)); __ 466 src/arm/builtins-arm.cc __ cmp(r4, r5); __ 467 src/arm/builtins-arm.cc __ b(lt, &loop2); __ 468 src/arm/builtins-arm.cc __ b(&finish); __ 485 src/arm/builtins-arm.cc __ ldr(r2, FieldMemOperand(r1, JSFunction::kPrototypeOrInitialMapOffset)); __ 486 src/arm/builtins-arm.cc __ tst(r2, Operand(kSmiTagMask)); __ 487 src/arm/builtins-arm.cc __ Assert(ne, "Unexpected initial map for InternalArray function"); __ 488 src/arm/builtins-arm.cc __ CompareObjectType(r2, r3, r4, MAP_TYPE); __ 489 src/arm/builtins-arm.cc __ Assert(eq, "Unexpected initial map for InternalArray function"); __ 498 src/arm/builtins-arm.cc __ bind(&generic_array_code); __ 502 src/arm/builtins-arm.cc __ Jump(array_code, RelocInfo::CODE_TARGET); __ 519 src/arm/builtins-arm.cc __ ldr(r2, FieldMemOperand(r1, JSFunction::kPrototypeOrInitialMapOffset)); __ 520 src/arm/builtins-arm.cc __ tst(r2, Operand(kSmiTagMask)); __ 521 src/arm/builtins-arm.cc __ Assert(ne, "Unexpected initial map for Array function"); __ 522 src/arm/builtins-arm.cc __ CompareObjectType(r2, r3, r4, MAP_TYPE); __ 523 src/arm/builtins-arm.cc __ Assert(eq, "Unexpected initial map for Array function"); __ 531 src/arm/builtins-arm.cc __ bind(&generic_array_code); __ 535 src/arm/builtins-arm.cc __ Jump(array_code, RelocInfo::CODE_TARGET); __ 552 src/arm/builtins-arm.cc __ ldr(r2, FieldMemOperand(r1, JSFunction::kPrototypeOrInitialMapOffset)); __ 553 src/arm/builtins-arm.cc __ tst(r2, Operand(kSmiTagMask)); __ 554 src/arm/builtins-arm.cc __ Assert(ne, "Unexpected initial map for Array function"); __ 555 src/arm/builtins-arm.cc __ CompareObjectType(r2, r3, r4, MAP_TYPE); __ 556 src/arm/builtins-arm.cc __ Assert(eq, "Unexpected initial map for Array function"); __ 564 src/arm/builtins-arm.cc __ bind(&generic_constructor); __ 567 src/arm/builtins-arm.cc __ Jump(generic_construct_stub, RelocInfo::CODE_TARGET); __ 580 src/arm/builtins-arm.cc __ IncrementCounter(counters->string_ctor_calls(), 1, r2, r3); __ 584 src/arm/builtins-arm.cc __ LoadGlobalFunction(Context::STRING_FUNCTION_INDEX, r2); __ 585 src/arm/builtins-arm.cc __ cmp(function, Operand(r2)); __ 586 src/arm/builtins-arm.cc __ Assert(eq, "Unexpected String function"); __ 591 src/arm/builtins-arm.cc __ cmp(r0, Operand(0, RelocInfo::NONE)); __ 592 src/arm/builtins-arm.cc __ b(eq, &no_arguments); __ 594 src/arm/builtins-arm.cc __ sub(r0, r0, Operand(1)); __ 595 src/arm/builtins-arm.cc __ ldr(r0, MemOperand(sp, r0, LSL, kPointerSizeLog2, PreIndex)); __ 597 src/arm/builtins-arm.cc __ Drop(2); __ 610 src/arm/builtins-arm.cc __ IncrementCounter(counters->string_ctor_cached_number(), 1, r3, r4); __ 611 src/arm/builtins-arm.cc __ bind(&argument_is_string); __ 620 src/arm/builtins-arm.cc __ AllocateInNewSpace(JSValue::kSize, __ 629 src/arm/builtins-arm.cc __ LoadGlobalFunctionInitialMap(function, map, r4); __ 631 src/arm/builtins-arm.cc __ ldrb(r4, FieldMemOperand(map, Map::kInstanceSizeOffset)); __ 632 src/arm/builtins-arm.cc __ cmp(r4, Operand(JSValue::kSize >> kPointerSizeLog2)); __ 633 src/arm/builtins-arm.cc __ Assert(eq, "Unexpected string wrapper instance size"); __ 634 src/arm/builtins-arm.cc __ ldrb(r4, FieldMemOperand(map, Map::kUnusedPropertyFieldsOffset)); __ 635 src/arm/builtins-arm.cc __ cmp(r4, Operand(0, RelocInfo::NONE)); __ 636 src/arm/builtins-arm.cc __ Assert(eq, "Unexpected unused properties of string wrapper"); __ 638 src/arm/builtins-arm.cc __ str(map, FieldMemOperand(r0, HeapObject::kMapOffset)); __ 640 src/arm/builtins-arm.cc __ LoadRoot(r3, Heap::kEmptyFixedArrayRootIndex); __ 641 src/arm/builtins-arm.cc __ str(r3, FieldMemOperand(r0, JSObject::kPropertiesOffset)); __ 642 src/arm/builtins-arm.cc __ str(r3, FieldMemOperand(r0, JSObject::kElementsOffset)); __ 644 src/arm/builtins-arm.cc __ str(argument, FieldMemOperand(r0, JSValue::kValueOffset)); __ 649 src/arm/builtins-arm.cc __ Ret(); __ 654 src/arm/builtins-arm.cc __ bind(¬_cached); __ 655 src/arm/builtins-arm.cc __ JumpIfSmi(r0, &convert_argument); __ 658 src/arm/builtins-arm.cc __ ldr(r2, FieldMemOperand(r0, HeapObject::kMapOffset)); __ 659 src/arm/builtins-arm.cc __ ldrb(r3, FieldMemOperand(r2, Map::kInstanceTypeOffset)); __ 661 src/arm/builtins-arm.cc __ tst(r3, Operand(kIsNotStringMask)); __ 662 src/arm/builtins-arm.cc __ b(ne, &convert_argument); __ 663 src/arm/builtins-arm.cc __ mov(argument, r0); __ 664 src/arm/builtins-arm.cc __ IncrementCounter(counters->string_ctor_conversions(), 1, r3, r4); __ 665 src/arm/builtins-arm.cc __ b(&argument_is_string); __ 668 src/arm/builtins-arm.cc __ bind(&convert_argument); __ 669 src/arm/builtins-arm.cc __ push(function); // Preserve the function. __ 670 src/arm/builtins-arm.cc __ IncrementCounter(counters->string_ctor_conversions(), 1, r3, r4); __ 673 src/arm/builtins-arm.cc __ push(r0); __ 674 src/arm/builtins-arm.cc __ InvokeBuiltin(Builtins::TO_STRING, CALL_FUNCTION); __ 676 src/arm/builtins-arm.cc __ pop(function); __ 677 src/arm/builtins-arm.cc __ mov(argument, r0); __ 678 src/arm/builtins-arm.cc __ b(&argument_is_string); __ 682 src/arm/builtins-arm.cc __ bind(&no_arguments); __ 683 src/arm/builtins-arm.cc __ LoadRoot(argument, Heap::kEmptyStringRootIndex); __ 684 src/arm/builtins-arm.cc __ Drop(1); __ 685 src/arm/builtins-arm.cc __ b(&argument_is_string); __ 689 src/arm/builtins-arm.cc __ bind(&gc_required); __ 690 src/arm/builtins-arm.cc __ IncrementCounter(counters->string_ctor_gc_required(), 1, r3, r4); __ 693 src/arm/builtins-arm.cc __ push(argument); __ 694 src/arm/builtins-arm.cc __ CallRuntime(Runtime::kNewStringWrapper, 1); __ 696 src/arm/builtins-arm.cc __ Ret(); __ 720 src/arm/builtins-arm.cc __ mov(r0, Operand(r0, LSL, kSmiTagSize)); __ 721 src/arm/builtins-arm.cc __ push(r0); // Smi-tagged arguments count. __ 722 src/arm/builtins-arm.cc __ push(r1); // Constructor function. __ 732 src/arm/builtins-arm.cc __ mov(r2, Operand(debug_step_in_fp)); __ 733 src/arm/builtins-arm.cc __ ldr(r2, MemOperand(r2)); __ 734 src/arm/builtins-arm.cc __ tst(r2, r2); __ 735 src/arm/builtins-arm.cc __ b(ne, &rt_call); __ 740 src/arm/builtins-arm.cc __ ldr(r2, FieldMemOperand(r1, JSFunction::kPrototypeOrInitialMapOffset)); __ 741 src/arm/builtins-arm.cc __ JumpIfSmi(r2, &rt_call); __ 742 src/arm/builtins-arm.cc __ CompareObjectType(r2, r3, r4, MAP_TYPE); __ 743 src/arm/builtins-arm.cc __ b(ne, &rt_call); __ 750 src/arm/builtins-arm.cc __ CompareInstanceType(r2, r3, JS_FUNCTION_TYPE); __ 751 src/arm/builtins-arm.cc __ b(eq, &rt_call); __ 756 src/arm/builtins-arm.cc __ ldr(r3, FieldMemOperand(r1, JSFunction::kSharedFunctionInfoOffset)); __ 759 src/arm/builtins-arm.cc __ ldrb(r4, constructor_count); __ 760 src/arm/builtins-arm.cc __ sub(r4, r4, Operand(1), SetCC); __ 761 src/arm/builtins-arm.cc __ strb(r4, constructor_count); __ 762 src/arm/builtins-arm.cc __ b(ne, &allocate); __ 764 src/arm/builtins-arm.cc __ Push(r1, r2); __ 766 src/arm/builtins-arm.cc __ push(r1); // constructor __ 768 src/arm/builtins-arm.cc __ CallRuntime(Runtime::kFinalizeInstanceSize, 1); __ 770 src/arm/builtins-arm.cc __ pop(r2); __ 771 src/arm/builtins-arm.cc __ pop(r1); __ 773 src/arm/builtins-arm.cc __ bind(&allocate); __ 779 src/arm/builtins-arm.cc __ ldrb(r3, FieldMemOperand(r2, Map::kInstanceSizeOffset)); __ 780 src/arm/builtins-arm.cc __ AllocateInNewSpace(r3, r4, r5, r6, &rt_call, SIZE_IN_WORDS); __ 788 src/arm/builtins-arm.cc __ LoadRoot(r6, Heap::kEmptyFixedArrayRootIndex); __ 789 src/arm/builtins-arm.cc __ mov(r5, r4); __ 791 src/arm/builtins-arm.cc __ str(r2, MemOperand(r5, kPointerSize, PostIndex)); __ 793 src/arm/builtins-arm.cc __ str(r6, MemOperand(r5, kPointerSize, PostIndex)); __ 795 src/arm/builtins-arm.cc __ str(r6, MemOperand(r5, kPointerSize, PostIndex)); __ 803 src/arm/builtins-arm.cc __ add(r6, r4, Operand(r3, LSL, kPointerSizeLog2)); // End of object. __ 805 src/arm/builtins-arm.cc __ LoadRoot(r7, Heap::kUndefinedValueRootIndex); __ 807 src/arm/builtins-arm.cc __ ldr(r0, FieldMemOperand(r2, Map::kInstanceSizesOffset)); __ 808 src/arm/builtins-arm.cc __ Ubfx(r0, r0, Map::kPreAllocatedPropertyFieldsByte * kBitsPerByte, __ 810 src/arm/builtins-arm.cc __ add(r0, r5, Operand(r0, LSL, kPointerSizeLog2)); __ 813 src/arm/builtins-arm.cc __ cmp(r0, r6); __ 814 src/arm/builtins-arm.cc __ Assert(le, "Unexpected number of pre-allocated property fields."); __ 816 src/arm/builtins-arm.cc __ InitializeFieldsWithFiller(r5, r0, r7); __ 818 src/arm/builtins-arm.cc __ LoadRoot(r7, Heap::kOnePointerFillerMapRootIndex); __ 820 src/arm/builtins-arm.cc __ InitializeFieldsWithFiller(r5, r6, r7); __ 826 src/arm/builtins-arm.cc __ add(r4, r4, Operand(kHeapObjectTag)); __ 833 src/arm/builtins-arm.cc __ ldrb(r3, FieldMemOperand(r2, Map::kUnusedPropertyFieldsOffset)); __ 836 src/arm/builtins-arm.cc __ ldr(r0, FieldMemOperand(r2, Map::kInstanceSizesOffset)); __ 837 src/arm/builtins-arm.cc __ Ubfx(r6, r0, Map::kPreAllocatedPropertyFieldsByte * kBitsPerByte, __ 839 src/arm/builtins-arm.cc __ add(r3, r3, Operand(r6)); __ 840 src/arm/builtins-arm.cc __ Ubfx(r6, r0, Map::kInObjectPropertiesByte * kBitsPerByte, __ 842 src/arm/builtins-arm.cc __ sub(r3, r3, Operand(r6), SetCC); __ 845 src/arm/builtins-arm.cc __ b(eq, &allocated); __ 846 src/arm/builtins-arm.cc __ Assert(pl, "Property allocation count failed."); __ 854 src/arm/builtins-arm.cc __ add(r0, r3, Operand(FixedArray::kHeaderSize / kPointerSize)); __ 855 src/arm/builtins-arm.cc __ AllocateInNewSpace( __ 868 src/arm/builtins-arm.cc __ LoadRoot(r6, Heap::kFixedArrayMapRootIndex); __ 869 src/arm/builtins-arm.cc __ mov(r2, r5); __ 871 src/arm/builtins-arm.cc __ str(r6, MemOperand(r2, kPointerSize, PostIndex)); __ 873 src/arm/builtins-arm.cc __ mov(r0, Operand(r3, LSL, kSmiTagSize)); __ 874 src/arm/builtins-arm.cc __ str(r0, MemOperand(r2, kPointerSize, PostIndex)); __ 882 src/arm/builtins-arm.cc __ add(r6, r2, Operand(r3, LSL, kPointerSizeLog2)); // End of object. __ 886 src/arm/builtins-arm.cc __ LoadRoot(r7, Heap::kUndefinedValueRootIndex); __ 888 src/arm/builtins-arm.cc __ LoadRoot(r8, Heap::kUndefinedValueRootIndex); __ 889 src/arm/builtins-arm.cc __ cmp(r7, r8); __ 890 src/arm/builtins-arm.cc __ Assert(eq, "Undefined value not loaded."); __ 892 src/arm/builtins-arm.cc __ b(&entry); __ 893 src/arm/builtins-arm.cc __ bind(&loop); __ 894 src/arm/builtins-arm.cc __ str(r7, MemOperand(r2, kPointerSize, PostIndex)); __ 895 src/arm/builtins-arm.cc __ bind(&entry); __ 896 src/arm/builtins-arm.cc __ cmp(r2, r6); __ 897 src/arm/builtins-arm.cc __ b(lt, &loop); __ 905 src/arm/builtins-arm.cc __ add(r5, r5, Operand(kHeapObjectTag)); // Add the heap tag. __ 906 src/arm/builtins-arm.cc __ str(r5, FieldMemOperand(r4, JSObject::kPropertiesOffset)); __ 911 src/arm/builtins-arm.cc __ jmp(&allocated); __ 917 src/arm/builtins-arm.cc __ bind(&undo_allocation); __ 918 src/arm/builtins-arm.cc __ UndoAllocationInNewSpace(r4, r5); __ 923 src/arm/builtins-arm.cc __ bind(&rt_call); __ 924 src/arm/builtins-arm.cc __ push(r1); // argument for Runtime_NewObject __ 925 src/arm/builtins-arm.cc __ CallRuntime(Runtime::kNewObject, 1); __ 926 src/arm/builtins-arm.cc __ mov(r4, r0); __ 930 src/arm/builtins-arm.cc __ bind(&allocated); __ 931 src/arm/builtins-arm.cc __ push(r4); __ 932 src/arm/builtins-arm.cc __ push(r4); __ 939 src/arm/builtins-arm.cc __ ldr(r1, MemOperand(sp, 2 * kPointerSize)); __ 940 src/arm/builtins-arm.cc __ ldr(r3, MemOperand(sp, 3 * kPointerSize)); __ 943 src/arm/builtins-arm.cc __ add(r2, fp, Operand(StandardFrameConstants::kCallerSPOffset)); __ 946 src/arm/builtins-arm.cc __ mov(r0, Operand(r3, LSR, kSmiTagSize)); __ 958 src/arm/builtins-arm.cc __ b(&entry); __ 959 src/arm/builtins-arm.cc __ bind(&loop); __ 960 src/arm/builtins-arm.cc __ ldr(ip, MemOperand(r2, r3, LSL, kPointerSizeLog2 - 1)); __ 961 src/arm/builtins-arm.cc __ push(ip); __ 962 src/arm/builtins-arm.cc __ bind(&entry); __ 963 src/arm/builtins-arm.cc __ sub(r3, r3, Operand(2), SetCC); __ 964 src/arm/builtins-arm.cc __ b(ge, &loop); __ 970 src/arm/builtins-arm.cc __ ldr(cp, FieldMemOperand(r1, JSFunction::kContextOffset)); __ 974 src/arm/builtins-arm.cc __ InvokeCode(code, expected, expected, __ 978 src/arm/builtins-arm.cc __ InvokeFunction(r1, actual, CALL_FUNCTION, __ 992 src/arm/builtins-arm.cc __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 1004 src/arm/builtins-arm.cc __ JumpIfSmi(r0, &use_receiver); __ 1008 src/arm/builtins-arm.cc __ CompareObjectType(r0, r3, r3, FIRST_SPEC_OBJECT_TYPE); __ 1009 src/arm/builtins-arm.cc __ b(ge, &exit); __ 1013 src/arm/builtins-arm.cc __ bind(&use_receiver); __ 1014 src/arm/builtins-arm.cc __ ldr(r0, MemOperand(sp)); __ 1018 src/arm/builtins-arm.cc __ bind(&exit); __ 1023 src/arm/builtins-arm.cc __ ldr(r1, MemOperand(sp, 2 * kPointerSize)); __ 1028 src/arm/builtins-arm.cc __ add(sp, sp, Operand(r1, LSL, kPointerSizeLog2 - 1)); __ 1029 src/arm/builtins-arm.cc __ add(sp, sp, Operand(kPointerSize)); __ 1030 src/arm/builtins-arm.cc __ IncrementCounter(isolate->counters()->constructed_objects(), 1, r1, r2); __ 1031 src/arm/builtins-arm.cc __ Jump(lr); __ 1061 src/arm/builtins-arm.cc __ mov(cp, Operand(0, RelocInfo::NONE)); __ 1068 src/arm/builtins-arm.cc __ ldr(cp, FieldMemOperand(r1, JSFunction::kContextOffset)); __ 1070 src/arm/builtins-arm.cc __ InitializeRootRegister(); __ 1073 src/arm/builtins-arm.cc __ push(r1); __ 1074 src/arm/builtins-arm.cc __ push(r2); __ 1081 src/arm/builtins-arm.cc __ add(r2, r4, Operand(r3, LSL, kPointerSizeLog2)); __ 1083 src/arm/builtins-arm.cc __ b(&entry); __ 1084 src/arm/builtins-arm.cc __ bind(&loop); __ 1085 src/arm/builtins-arm.cc __ ldr(r0, MemOperand(r4, kPointerSize, PostIndex)); // read next parameter __ 1086 src/arm/builtins-arm.cc __ ldr(r0, MemOperand(r0)); // dereference handle __ 1087 src/arm/builtins-arm.cc __ push(r0); // push parameter __ 1088 src/arm/builtins-arm.cc __ bind(&entry); __ 1089 src/arm/builtins-arm.cc __ cmp(r4, r2); __ 1090 src/arm/builtins-arm.cc __ b(ne, &loop); __ 1094 src/arm/builtins-arm.cc __ LoadRoot(r4, Heap::kUndefinedValueRootIndex); __ 1095 src/arm/builtins-arm.cc __ mov(r5, Operand(r4)); __ 1096 src/arm/builtins-arm.cc __ mov(r6, Operand(r4)); __ 1097 src/arm/builtins-arm.cc __ mov(r7, Operand(r4)); __ 1099 src/arm/builtins-arm.cc __ mov(r9, Operand(r4)); __ 1103 src/arm/builtins-arm.cc __ mov(r0, Operand(r3)); __ 1106 src/arm/builtins-arm.cc __ CallStub(&stub); __ 1109 src/arm/builtins-arm.cc __ InvokeFunction(r1, actual, CALL_FUNCTION, __ 1116 src/arm/builtins-arm.cc __ Jump(lr); __ 1138 src/arm/builtins-arm.cc __ push(r1); __ 1140 src/arm/builtins-arm.cc __ push(r5); __ 1143 src/arm/builtins-arm.cc __ push(r1); __ 1144 src/arm/builtins-arm.cc __ CallRuntime(Runtime::kLazyCompile, 1); __ 1146 src/arm/builtins-arm.cc __ add(r2, r0, Operand(Code::kHeaderSize - kHeapObjectTag)); __ 1149 src/arm/builtins-arm.cc __ pop(r5); __ 1151 src/arm/builtins-arm.cc __ pop(r1); __ 1157 src/arm/builtins-arm.cc __ Jump(r2); __ 1167 src/arm/builtins-arm.cc __ push(r1); __ 1169 src/arm/builtins-arm.cc __ push(r5); __ 1172 src/arm/builtins-arm.cc __ push(r1); __ 1173 src/arm/builtins-arm.cc __ CallRuntime(Runtime::kLazyRecompile, 1); __ 1175 src/arm/builtins-arm.cc __ add(r2, r0, Operand(Code::kHeaderSize - kHeapObjectTag)); __ 1178 src/arm/builtins-arm.cc __ pop(r5); __ 1180 src/arm/builtins-arm.cc __ pop(r1); __ 1186 src/arm/builtins-arm.cc __ Jump(r2); __ 1195 src/arm/builtins-arm.cc __ mov(r0, Operand(Smi::FromInt(static_cast<int>(type)))); __ 1196 src/arm/builtins-arm.cc __ push(r0); __ 1197 src/arm/builtins-arm.cc __ CallRuntime(Runtime::kNotifyDeoptimized, 1); __ 1201 src/arm/builtins-arm.cc __ ldr(r6, MemOperand(sp, 0 * kPointerSize)); __ 1202 src/arm/builtins-arm.cc __ SmiUntag(r6); __ 1205 src/arm/builtins-arm.cc __ cmp(r6, Operand(FullCodeGenerator::NO_REGISTERS)); __ 1206 src/arm/builtins-arm.cc __ b(ne, &with_tos_register); __ 1207 src/arm/builtins-arm.cc __ add(sp, sp, Operand(1 * kPointerSize)); // Remove state. __ 1208 src/arm/builtins-arm.cc __ Ret(); __ 1210 src/arm/builtins-arm.cc __ bind(&with_tos_register); __ 1211 src/arm/builtins-arm.cc __ ldr(r0, MemOperand(sp, 1 * kPointerSize)); __ 1212 src/arm/builtins-arm.cc __ cmp(r6, Operand(FullCodeGenerator::TOS_REG)); __ 1213 src/arm/builtins-arm.cc __ b(ne, &unknown_state); __ 1214 src/arm/builtins-arm.cc __ add(sp, sp, Operand(2 * kPointerSize)); // Remove state. __ 1215 src/arm/builtins-arm.cc __ Ret(); __ 1217 src/arm/builtins-arm.cc __ bind(&unknown_state); __ 1218 src/arm/builtins-arm.cc __ stop("no cases left"); __ 1237 src/arm/builtins-arm.cc __ stm(db_w, sp, kJSCallerSaved | kCalleeSaved | lr.bit() | fp.bit()); __ 1240 src/arm/builtins-arm.cc __ CallRuntime(Runtime::kNotifyOSR, 0); __ 1242 src/arm/builtins-arm.cc __ ldm(ia_w, sp, kJSCallerSaved | kCalleeSaved | lr.bit() | fp.bit()); __ 1243 src/arm/builtins-arm.cc __ Ret(); __ 1250 src/arm/builtins-arm.cc __ Abort("Unreachable code: Cannot optimize without VFP3 support."); __ 1256 src/arm/builtins-arm.cc __ ldr(r0, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); __ 1259 src/arm/builtins-arm.cc __ push(r0); __ 1260 src/arm/builtins-arm.cc __ CallRuntime(Runtime::kCompileForOnStackReplacement, 1); __ 1266 src/arm/builtins-arm.cc __ cmp(r0, Operand(Smi::FromInt(-1))); __ 1267 src/arm/builtins-arm.cc __ b(ne, &skip); __ 1268 src/arm/builtins-arm.cc __ Ret(); __ 1270 src/arm/builtins-arm.cc __ bind(&skip); __ 1272 src/arm/builtins-arm.cc __ SmiUntag(r0); __ 1273 src/arm/builtins-arm.cc __ push(r0); __ 1286 src/arm/builtins-arm.cc __ cmp(r0, Operand(0)); __ 1287 src/arm/builtins-arm.cc __ b(ne, &done); __ 1288 src/arm/builtins-arm.cc __ LoadRoot(r2, Heap::kUndefinedValueRootIndex); __ 1289 src/arm/builtins-arm.cc __ push(r2); __ 1290 src/arm/builtins-arm.cc __ add(r0, r0, Operand(1)); __ 1291 src/arm/builtins-arm.cc __ bind(&done); __ 1298 src/arm/builtins-arm.cc __ ldr(r1, MemOperand(sp, r0, LSL, kPointerSizeLog2)); __ 1299 src/arm/builtins-arm.cc __ JumpIfSmi(r1, &non_function); __ 1300 src/arm/builtins-arm.cc __ CompareObjectType(r1, r2, r2, JS_FUNCTION_TYPE); __ 1301 src/arm/builtins-arm.cc __ b(ne, &slow); __ 1307 src/arm/builtins-arm.cc __ mov(r4, Operand(0, RelocInfo::NONE)); // indicate regular JS_FUNCTION __ 1310 src/arm/builtins-arm.cc __ ldr(cp, FieldMemOperand(r1, JSFunction::kContextOffset)); __ 1313 src/arm/builtins-arm.cc __ ldr(r2, FieldMemOperand(r1, JSFunction::kSharedFunctionInfoOffset)); __ 1314 src/arm/builtins-arm.cc __ ldr(r3, FieldMemOperand(r2, SharedFunctionInfo::kCompilerHintsOffset)); __ 1315 src/arm/builtins-arm.cc __ tst(r3, Operand(1 << (SharedFunctionInfo::kStrictModeFunction + __ 1317 src/arm/builtins-arm.cc __ b(ne, &shift_arguments); __ 1320 src/arm/builtins-arm.cc __ tst(r3, Operand(1 << (SharedFunctionInfo::kNative + kSmiTagSize))); __ 1321 src/arm/builtins-arm.cc __ b(ne, &shift_arguments); __ 1324 src/arm/builtins-arm.cc __ add(r2, sp, Operand(r0, LSL, kPointerSizeLog2)); __ 1325 src/arm/builtins-arm.cc __ ldr(r2, MemOperand(r2, -kPointerSize)); __ 1329 src/arm/builtins-arm.cc __ JumpIfSmi(r2, &convert_to_object); __ 1331 src/arm/builtins-arm.cc __ LoadRoot(r3, Heap::kUndefinedValueRootIndex); __ 1332 src/arm/builtins-arm.cc __ cmp(r2, r3); __ 1333 src/arm/builtins-arm.cc __ b(eq, &use_global_receiver); __ 1334 src/arm/builtins-arm.cc __ LoadRoot(r3, Heap::kNullValueRootIndex); __ 1335 src/arm/builtins-arm.cc __ cmp(r2, r3); __ 1336 src/arm/builtins-arm.cc __ b(eq, &use_global_receiver); __ 1339 src/arm/builtins-arm.cc __ CompareObjectType(r2, r3, r3, FIRST_SPEC_OBJECT_TYPE); __ 1340 src/arm/builtins-arm.cc __ b(ge, &shift_arguments); __ 1342 src/arm/builtins-arm.cc __ bind(&convert_to_object); __ 1347 src/arm/builtins-arm.cc __ mov(r0, Operand(r0, LSL, kSmiTagSize)); // Smi-tagged. __ 1348 src/arm/builtins-arm.cc __ push(r0); __ 1350 src/arm/builtins-arm.cc __ push(r2); __ 1351 src/arm/builtins-arm.cc __ InvokeBuiltin(Builtins::TO_OBJECT, CALL_FUNCTION); __ 1352 src/arm/builtins-arm.cc __ mov(r2, r0); __ 1354 src/arm/builtins-arm.cc __ pop(r0); __ 1355 src/arm/builtins-arm.cc __ mov(r0, Operand(r0, ASR, kSmiTagSize)); __ 1361 src/arm/builtins-arm.cc __ ldr(r1, MemOperand(sp, r0, LSL, kPointerSizeLog2)); __ 1362 src/arm/builtins-arm.cc __ mov(r4, Operand(0, RelocInfo::NONE)); __ 1363 src/arm/builtins-arm.cc __ jmp(&patch_receiver); __ 1367 src/arm/builtins-arm.cc __ bind(&use_global_receiver); __ 1370 src/arm/builtins-arm.cc __ ldr(r2, FieldMemOperand(cp, kGlobalIndex)); __ 1371 src/arm/builtins-arm.cc __ ldr(r2, FieldMemOperand(r2, GlobalObject::kGlobalContextOffset)); __ 1372 src/arm/builtins-arm.cc __ ldr(r2, FieldMemOperand(r2, kGlobalIndex)); __ 1373 src/arm/builtins-arm.cc __ ldr(r2, FieldMemOperand(r2, GlobalObject::kGlobalReceiverOffset)); __ 1375 src/arm/builtins-arm.cc __ bind(&patch_receiver); __ 1376 src/arm/builtins-arm.cc __ add(r3, sp, Operand(r0, LSL, kPointerSizeLog2)); __ 1377 src/arm/builtins-arm.cc __ str(r2, MemOperand(r3, -kPointerSize)); __ 1379 src/arm/builtins-arm.cc __ jmp(&shift_arguments); __ 1383 src/arm/builtins-arm.cc __ bind(&slow); __ 1384 src/arm/builtins-arm.cc __ mov(r4, Operand(1, RelocInfo::NONE)); // indicate function proxy __ 1385 src/arm/builtins-arm.cc __ cmp(r2, Operand(JS_FUNCTION_PROXY_TYPE)); __ 1386 src/arm/builtins-arm.cc __ b(eq, &shift_arguments); __ 1387 src/arm/builtins-arm.cc __ bind(&non_function); __ 1388 src/arm/builtins-arm.cc __ mov(r4, Operand(2, RelocInfo::NONE)); // indicate non-function __ 1397 src/arm/builtins-arm.cc __ add(r2, sp, Operand(r0, LSL, kPointerSizeLog2)); __ 1398 src/arm/builtins-arm.cc __ str(r1, MemOperand(r2, -kPointerSize)); __ 1406 src/arm/builtins-arm.cc __ bind(&shift_arguments); __ 1409 src/arm/builtins-arm.cc __ add(r2, sp, Operand(r0, LSL, kPointerSizeLog2)); __ 1411 src/arm/builtins-arm.cc __ bind(&loop); __ 1412 src/arm/builtins-arm.cc __ ldr(ip, MemOperand(r2, -kPointerSize)); __ 1413 src/arm/builtins-arm.cc __ str(ip, MemOperand(r2)); __ 1414 src/arm/builtins-arm.cc __ sub(r2, r2, Operand(kPointerSize)); __ 1415 src/arm/builtins-arm.cc __ cmp(r2, sp); __ 1416 src/arm/builtins-arm.cc __ b(ne, &loop); __ 1419 src/arm/builtins-arm.cc __ sub(r0, r0, Operand(1)); __ 1420 src/arm/builtins-arm.cc __ pop(); __ 1429 src/arm/builtins-arm.cc __ tst(r4, r4); __ 1430 src/arm/builtins-arm.cc __ b(eq, &function); __ 1432 src/arm/builtins-arm.cc __ mov(r2, Operand(0, RelocInfo::NONE)); __ 1433 src/arm/builtins-arm.cc __ SetCallKind(r5, CALL_AS_METHOD); __ 1434 src/arm/builtins-arm.cc __ cmp(r4, Operand(1)); __ 1435 src/arm/builtins-arm.cc __ b(ne, &non_proxy); __ 1437 src/arm/builtins-arm.cc __ push(r1); // re-add proxy object as additional argument __ 1438 src/arm/builtins-arm.cc __ add(r0, r0, Operand(1)); __ 1439 src/arm/builtins-arm.cc __ GetBuiltinEntry(r3, Builtins::CALL_FUNCTION_PROXY); __ 1440 src/arm/builtins-arm.cc __ Jump(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(), __ 1443 src/arm/builtins-arm.cc __ bind(&non_proxy); __ 1444 src/arm/builtins-arm.cc __ GetBuiltinEntry(r3, Builtins::CALL_NON_FUNCTION); __ 1445 src/arm/builtins-arm.cc __ Jump(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(), __ 1447 src/arm/builtins-arm.cc __ bind(&function); __ 1455 src/arm/builtins-arm.cc __ ldr(r3, FieldMemOperand(r1, JSFunction::kSharedFunctionInfoOffset)); __ 1456 src/arm/builtins-arm.cc __ ldr(r2, __ 1458 src/arm/builtins-arm.cc __ mov(r2, Operand(r2, ASR, kSmiTagSize)); __ 1459 src/arm/builtins-arm.cc __ ldr(r3, FieldMemOperand(r1, JSFunction::kCodeEntryOffset)); __ 1460 src/arm/builtins-arm.cc __ SetCallKind(r5, CALL_AS_METHOD); __ 1461 src/arm/builtins-arm.cc __ cmp(r2, r0); // Check formal and actual parameter counts. __ 1462 src/arm/builtins-arm.cc __ Jump(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(), __ 1467 src/arm/builtins-arm.cc __ InvokeCode(r3, expected, expected, JUMP_FUNCTION, __ 1482 src/arm/builtins-arm.cc __ ldr(r0, MemOperand(fp, kFunctionOffset)); // get the function __ 1483 src/arm/builtins-arm.cc __ push(r0); __ 1484 src/arm/builtins-arm.cc __ ldr(r0, MemOperand(fp, kArgsOffset)); // get the args array __ 1485 src/arm/builtins-arm.cc __ push(r0); __ 1486 src/arm/builtins-arm.cc __ InvokeBuiltin(Builtins::APPLY_PREPARE, CALL_FUNCTION); __ 1492 src/arm/builtins-arm.cc __ LoadRoot(r2, Heap::kRealStackLimitRootIndex); __ 1495 src/arm/builtins-arm.cc __ sub(r2, sp, r2); __ 1497 src/arm/builtins-arm.cc __ cmp(r2, Operand(r0, LSL, kPointerSizeLog2 - kSmiTagSize)); __ 1498 src/arm/builtins-arm.cc __ b(gt, &okay); // Signed comparison. __ 1501 src/arm/builtins-arm.cc __ ldr(r1, MemOperand(fp, kFunctionOffset)); __ 1502 src/arm/builtins-arm.cc __ push(r1); __ 1503 src/arm/builtins-arm.cc __ push(r0); __ 1504 src/arm/builtins-arm.cc __ InvokeBuiltin(Builtins::APPLY_OVERFLOW, CALL_FUNCTION); __ 1508 src/arm/builtins-arm.cc __ bind(&okay); __ 1509 src/arm/builtins-arm.cc __ push(r0); // limit __ 1510 src/arm/builtins-arm.cc __ mov(r1, Operand(0, RelocInfo::NONE)); // initial index __ 1511 src/arm/builtins-arm.cc __ push(r1); __ 1514 src/arm/builtins-arm.cc __ ldr(r0, MemOperand(fp, kRecvOffset)); __ 1518 src/arm/builtins-arm.cc __ ldr(r1, MemOperand(fp, kFunctionOffset)); __ 1519 src/arm/builtins-arm.cc __ CompareObjectType(r1, r2, r2, JS_FUNCTION_TYPE); __ 1520 src/arm/builtins-arm.cc __ b(ne, &push_receiver); __ 1523 src/arm/builtins-arm.cc __ ldr(cp, FieldMemOperand(r1, JSFunction::kContextOffset)); __ 1525 src/arm/builtins-arm.cc __ ldr(r2, FieldMemOperand(r1, JSFunction::kSharedFunctionInfoOffset)); __ 1530 src/arm/builtins-arm.cc __ ldr(r2, FieldMemOperand(r2, SharedFunctionInfo::kCompilerHintsOffset)); __ 1531 src/arm/builtins-arm.cc __ tst(r2, Operand(1 << (SharedFunctionInfo::kStrictModeFunction + __ 1533 src/arm/builtins-arm.cc __ b(ne, &push_receiver); __ 1536 src/arm/builtins-arm.cc __ tst(r2, Operand(1 << (SharedFunctionInfo::kNative + kSmiTagSize))); __ 1537 src/arm/builtins-arm.cc __ b(ne, &push_receiver); __ 1540 src/arm/builtins-arm.cc __ JumpIfSmi(r0, &call_to_object); __ 1541 src/arm/builtins-arm.cc __ LoadRoot(r1, Heap::kNullValueRootIndex); __ 1542 src/arm/builtins-arm.cc __ cmp(r0, r1); __ 1543 src/arm/builtins-arm.cc __ b(eq, &use_global_receiver); __ 1544 src/arm/builtins-arm.cc __ LoadRoot(r1, Heap::kUndefinedValueRootIndex); __ 1545 src/arm/builtins-arm.cc __ cmp(r0, r1); __ 1546 src/arm/builtins-arm.cc __ b(eq, &use_global_receiver); __ 1551 src/arm/builtins-arm.cc __ CompareObjectType(r0, r1, r1, FIRST_SPEC_OBJECT_TYPE); __ 1552 src/arm/builtins-arm.cc __ b(ge, &push_receiver); __ 1556 src/arm/builtins-arm.cc __ bind(&call_to_object); __ 1557 src/arm/builtins-arm.cc __ push(r0); __ 1558 src/arm/builtins-arm.cc __ InvokeBuiltin(Builtins::TO_OBJECT, CALL_FUNCTION); __ 1559 src/arm/builtins-arm.cc __ b(&push_receiver); __ 1562 src/arm/builtins-arm.cc __ bind(&use_global_receiver); __ 1565 src/arm/builtins-arm.cc __ ldr(r0, FieldMemOperand(cp, kGlobalOffset)); __ 1566 src/arm/builtins-arm.cc __ ldr(r0, FieldMemOperand(r0, GlobalObject::kGlobalContextOffset)); __ 1567 src/arm/builtins-arm.cc __ ldr(r0, FieldMemOperand(r0, kGlobalOffset)); __ 1568 src/arm/builtins-arm.cc __ ldr(r0, FieldMemOperand(r0, GlobalObject::kGlobalReceiverOffset)); __ 1572 src/arm/builtins-arm.cc __ bind(&push_receiver); __ 1573 src/arm/builtins-arm.cc __ push(r0); __ 1577 src/arm/builtins-arm.cc __ ldr(r0, MemOperand(fp, kIndexOffset)); __ 1578 src/arm/builtins-arm.cc __ b(&entry); __ 1583 src/arm/builtins-arm.cc __ bind(&loop); __ 1584 src/arm/builtins-arm.cc __ ldr(r1, MemOperand(fp, kArgsOffset)); __ 1585 src/arm/builtins-arm.cc __ push(r1); __ 1586 src/arm/builtins-arm.cc __ push(r0); __ 1589 src/arm/builtins-arm.cc __ CallRuntime(Runtime::kGetProperty, 2); __ 1590 src/arm/builtins-arm.cc __ push(r0); __ 1593 src/arm/builtins-arm.cc __ ldr(r0, MemOperand(fp, kIndexOffset)); __ 1594 src/arm/builtins-arm.cc __ add(r0, r0, Operand(1 << kSmiTagSize)); __ 1595 src/arm/builtins-arm.cc __ str(r0, MemOperand(fp, kIndexOffset)); __ 1599 src/arm/builtins-arm.cc __ bind(&entry); __ 1600 src/arm/builtins-arm.cc __ ldr(r1, MemOperand(fp, kLimitOffset)); __ 1601 src/arm/builtins-arm.cc __ cmp(r0, r1); __ 1602 src/arm/builtins-arm.cc __ b(ne, &loop); __ 1607 src/arm/builtins-arm.cc __ mov(r0, Operand(r0, ASR, kSmiTagSize)); __ 1608 src/arm/builtins-arm.cc __ ldr(r1, MemOperand(fp, kFunctionOffset)); __ 1609 src/arm/builtins-arm.cc __ CompareObjectType(r1, r2, r2, JS_FUNCTION_TYPE); __ 1610 src/arm/builtins-arm.cc __ b(ne, &call_proxy); __ 1611 src/arm/builtins-arm.cc __ InvokeFunction(r1, actual, CALL_FUNCTION, __ 1615 src/arm/builtins-arm.cc __ add(sp, sp, Operand(3 * kPointerSize)); __ 1616 src/arm/builtins-arm.cc __ Jump(lr); __ 1619 src/arm/builtins-arm.cc __ bind(&call_proxy); __ 1620 src/arm/builtins-arm.cc __ push(r1); // add function proxy as last argument __ 1621 src/arm/builtins-arm.cc __ add(r0, r0, Operand(1)); __ 1622 src/arm/builtins-arm.cc __ mov(r2, Operand(0, RelocInfo::NONE)); __ 1623 src/arm/builtins-arm.cc __ SetCallKind(r5, CALL_AS_METHOD); __ 1624 src/arm/builtins-arm.cc __ GetBuiltinEntry(r3, Builtins::CALL_FUNCTION_PROXY); __ 1625 src/arm/builtins-arm.cc __ Call(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(), __ 1630 src/arm/builtins-arm.cc __ add(sp, sp, Operand(3 * kPointerSize)); __ 1631 src/arm/builtins-arm.cc __ Jump(lr); __ 1636 src/arm/builtins-arm.cc __ mov(r0, Operand(r0, LSL, kSmiTagSize)); __ 1637 src/arm/builtins-arm.cc __ mov(r4, Operand(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR))); __ 1638 src/arm/builtins-arm.cc __ stm(db_w, sp, r0.bit() | r1.bit() | r4.bit() | fp.bit() | lr.bit()); __ 1639 src/arm/builtins-arm.cc __ add(fp, sp, Operand(3 * kPointerSize)); __ 1649 src/arm/builtins-arm.cc __ ldr(r1, MemOperand(fp, -3 * kPointerSize)); __ 1650 src/arm/builtins-arm.cc __ mov(sp, fp); __ 1651 src/arm/builtins-arm.cc __ ldm(ia_w, sp, fp.bit() | lr.bit()); __ 1652 src/arm/builtins-arm.cc __ add(sp, sp, Operand(r1, LSL, kPointerSizeLog2 - kSmiTagSize)); __ 1653 src/arm/builtins-arm.cc __ add(sp, sp, Operand(kPointerSize)); // adjust for receiver __ 1669 src/arm/builtins-arm.cc __ cmp(r0, r2); __ 1670 src/arm/builtins-arm.cc __ b(lt, &too_few); __ 1671 src/arm/builtins-arm.cc __ cmp(r2, Operand(SharedFunctionInfo::kDontAdaptArgumentsSentinel)); __ 1672 src/arm/builtins-arm.cc __ b(eq, &dont_adapt_arguments); __ 1675 src/arm/builtins-arm.cc __ bind(&enough); __ 1683 src/arm/builtins-arm.cc __ add(r0, fp, Operand(r0, LSL, kPointerSizeLog2 - kSmiTagSize)); __ 1685 src/arm/builtins-arm.cc __ add(r0, r0, Operand(2 * kPointerSize)); __ 1686 src/arm/builtins-arm.cc __ sub(r2, r0, Operand(r2, LSL, kPointerSizeLog2)); __ 1695 src/arm/builtins-arm.cc __ bind(©); __ 1696 src/arm/builtins-arm.cc __ ldr(ip, MemOperand(r0, 0)); __ 1697 src/arm/builtins-arm.cc __ push(ip); __ 1698 src/arm/builtins-arm.cc __ cmp(r0, r2); // Compare before moving to next argument. __ 1699 src/arm/builtins-arm.cc __ sub(r0, r0, Operand(kPointerSize)); __ 1700 src/arm/builtins-arm.cc __ b(ne, ©); __ 1702 src/arm/builtins-arm.cc __ b(&invoke); __ 1706 src/arm/builtins-arm.cc __ bind(&too_few); __ 1714 src/arm/builtins-arm.cc __ add(r0, fp, Operand(r0, LSL, kPointerSizeLog2 - kSmiTagSize)); __ 1722 src/arm/builtins-arm.cc __ bind(©); __ 1724 src/arm/builtins-arm.cc __ ldr(ip, MemOperand(r0, 2 * kPointerSize)); __ 1725 src/arm/builtins-arm.cc __ push(ip); __ 1726 src/arm/builtins-arm.cc __ cmp(r0, fp); // Compare before moving to next argument. __ 1727 src/arm/builtins-arm.cc __ sub(r0, r0, Operand(kPointerSize)); __ 1728 src/arm/builtins-arm.cc __ b(ne, ©); __ 1734 src/arm/builtins-arm.cc __ LoadRoot(ip, Heap::kUndefinedValueRootIndex); __ 1735 src/arm/builtins-arm.cc __ sub(r2, fp, Operand(r2, LSL, kPointerSizeLog2)); __ 1736 src/arm/builtins-arm.cc __ sub(r2, r2, Operand(4 * kPointerSize)); // Adjust for frame. __ 1739 src/arm/builtins-arm.cc __ bind(&fill); __ 1740 src/arm/builtins-arm.cc __ push(ip); __ 1741 src/arm/builtins-arm.cc __ cmp(sp, r2); __ 1742 src/arm/builtins-arm.cc __ b(ne, &fill); __ 1746 src/arm/builtins-arm.cc __ bind(&invoke); __ 1747 src/arm/builtins-arm.cc __ Call(r3); __ 1754 src/arm/builtins-arm.cc __ Jump(lr); __ 1760 src/arm/builtins-arm.cc __ bind(&dont_adapt_arguments); __ 1761 src/arm/builtins-arm.cc __ Jump(r3); __ 62 src/arm/code-stubs-arm.cc __ ldr(scratch1, FieldMemOperand(operand, HeapObject::kMapOffset)); __ 63 src/arm/code-stubs-arm.cc __ LoadRoot(scratch2, Heap::kHeapNumberMapRootIndex); __ 64 src/arm/code-stubs-arm.cc __ cmp(scratch1, scratch2); __ 65 src/arm/code-stubs-arm.cc __ b(ne, not_a_heap_number); __ 72 src/arm/code-stubs-arm.cc __ JumpIfNotSmi(r0, &check_heap_number); __ 73 src/arm/code-stubs-arm.cc __ Ret(); __ 75 src/arm/code-stubs-arm.cc __ bind(&check_heap_number); __ 77 src/arm/code-stubs-arm.cc __ Ret(); __ 79 src/arm/code-stubs-arm.cc __ bind(&call_builtin); __ 80 src/arm/code-stubs-arm.cc __ push(r0); __ 81 src/arm/code-stubs-arm.cc __ InvokeBuiltin(Builtins::TO_NUMBER, JUMP_FUNCTION); __ 93 src/arm/code-stubs-arm.cc __ pop(r3); __ 96 src/arm/code-stubs-arm.cc __ AllocateInNewSpace(JSFunction::kSize, __ 103 src/arm/code-stubs-arm.cc __ IncrementCounter(counters->fast_new_closure_total(), 1, r6, r7); __ 111 src/arm/code-stubs-arm.cc __ ldr(r2, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 112 src/arm/code-stubs-arm.cc __ ldr(r2, FieldMemOperand(r2, GlobalObject::kGlobalContextOffset)); __ 113 src/arm/code-stubs-arm.cc __ ldr(r5, MemOperand(r2, Context::SlotOffset(map_index))); __ 114 src/arm/code-stubs-arm.cc __ str(r5, FieldMemOperand(r0, HeapObject::kMapOffset)); __ 118 src/arm/code-stubs-arm.cc __ LoadRoot(r1, Heap::kEmptyFixedArrayRootIndex); __ 119 src/arm/code-stubs-arm.cc __ LoadRoot(r5, Heap::kTheHoleValueRootIndex); __ 120 src/arm/code-stubs-arm.cc __ str(r1, FieldMemOperand(r0, JSObject::kPropertiesOffset)); __ 121 src/arm/code-stubs-arm.cc __ str(r1, FieldMemOperand(r0, JSObject::kElementsOffset)); __ 122 src/arm/code-stubs-arm.cc __ str(r5, FieldMemOperand(r0, JSFunction::kPrototypeOrInitialMapOffset)); __ 123 src/arm/code-stubs-arm.cc __ str(r3, FieldMemOperand(r0, JSFunction::kSharedFunctionInfoOffset)); __ 124 src/arm/code-stubs-arm.cc __ str(cp, FieldMemOperand(r0, JSFunction::kContextOffset)); __ 125 src/arm/code-stubs-arm.cc __ str(r1, FieldMemOperand(r0, JSFunction::kLiteralsOffset)); __ 133 src/arm/code-stubs-arm.cc __ ldr(r1, __ 135 src/arm/code-stubs-arm.cc __ tst(r1, r1); __ 136 src/arm/code-stubs-arm.cc __ b(ne, &check_optimized); __ 138 src/arm/code-stubs-arm.cc __ bind(&install_unoptimized); __ 139 src/arm/code-stubs-arm.cc __ LoadRoot(r4, Heap::kUndefinedValueRootIndex); __ 140 src/arm/code-stubs-arm.cc __ str(r4, FieldMemOperand(r0, JSFunction::kNextFunctionLinkOffset)); __ 141 src/arm/code-stubs-arm.cc __ ldr(r3, FieldMemOperand(r3, SharedFunctionInfo::kCodeOffset)); __ 142 src/arm/code-stubs-arm.cc __ add(r3, r3, Operand(Code::kHeaderSize - kHeapObjectTag)); __ 143 src/arm/code-stubs-arm.cc __ str(r3, FieldMemOperand(r0, JSFunction::kCodeEntryOffset)); __ 146 src/arm/code-stubs-arm.cc __ Ret(); __ 148 src/arm/code-stubs-arm.cc __ bind(&check_optimized); __ 150 src/arm/code-stubs-arm.cc __ IncrementCounter(counters->fast_new_closure_try_optimized(), 1, r6, r7); __ 157 src/arm/code-stubs-arm.cc __ ldr(r4, FieldMemOperand(r1, FixedArray::kHeaderSize + kPointerSize)); __ 158 src/arm/code-stubs-arm.cc __ ldr(r5, FieldMemOperand(r1, FixedArray::kHeaderSize)); __ 159 src/arm/code-stubs-arm.cc __ cmp(r2, r5); __ 160 src/arm/code-stubs-arm.cc __ b(eq, &install_optimized); __ 164 src/arm/code-stubs-arm.cc __ ldr(r4, FieldMemOperand(r1, FixedArray::kLengthOffset)); __ 165 src/arm/code-stubs-arm.cc __ bind(&loop); __ 168 src/arm/code-stubs-arm.cc __ cmp(r4, Operand(Smi::FromInt(SharedFunctionInfo::kEntryLength))); __ 169 src/arm/code-stubs-arm.cc __ b(eq, &install_unoptimized); __ 170 src/arm/code-stubs-arm.cc __ sub(r4, r4, Operand( __ 172 src/arm/code-stubs-arm.cc __ add(r5, r1, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 173 src/arm/code-stubs-arm.cc __ add(r5, r5, Operand(r4, LSL, kPointerSizeLog2 - kSmiTagSize)); __ 174 src/arm/code-stubs-arm.cc __ ldr(r5, MemOperand(r5)); __ 175 src/arm/code-stubs-arm.cc __ cmp(r2, r5); __ 176 src/arm/code-stubs-arm.cc __ b(ne, &loop); __ 178 src/arm/code-stubs-arm.cc __ add(r5, r1, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 179 src/arm/code-stubs-arm.cc __ add(r5, r5, Operand(r4, LSL, kPointerSizeLog2 - kSmiTagSize)); __ 180 src/arm/code-stubs-arm.cc __ add(r5, r5, Operand(kPointerSize)); __ 181 src/arm/code-stubs-arm.cc __ ldr(r4, MemOperand(r5)); __ 183 src/arm/code-stubs-arm.cc __ bind(&install_optimized); __ 184 src/arm/code-stubs-arm.cc __ IncrementCounter(counters->fast_new_closure_install_optimized(), __ 190 src/arm/code-stubs-arm.cc __ add(r4, r4, Operand(Code::kHeaderSize - kHeapObjectTag)); __ 191 src/arm/code-stubs-arm.cc __ str(r4, FieldMemOperand(r0, JSFunction::kCodeEntryOffset)); __ 194 src/arm/code-stubs-arm.cc __ ldr(r4, ContextOperand(r2, Context::OPTIMIZED_FUNCTIONS_LIST)); __ 196 src/arm/code-stubs-arm.cc __ str(r4, FieldMemOperand(r0, JSFunction::kNextFunctionLinkOffset)); __ 199 src/arm/code-stubs-arm.cc __ str(r0, ContextOperand(r2, Context::OPTIMIZED_FUNCTIONS_LIST)); __ 202 src/arm/code-stubs-arm.cc __ mov(r4, r0); __ 203 src/arm/code-stubs-arm.cc __ RecordWriteContextSlot( __ 212 src/arm/code-stubs-arm.cc __ Ret(); __ 215 src/arm/code-stubs-arm.cc __ bind(&gc); __ 216 src/arm/code-stubs-arm.cc __ LoadRoot(r4, Heap::kFalseValueRootIndex); __ 217 src/arm/code-stubs-arm.cc __ Push(cp, r3, r4); __ 218 src/arm/code-stubs-arm.cc __ TailCallRuntime(Runtime::kNewClosure, 3, 1); __ 228 src/arm/code-stubs-arm.cc __ AllocateInNewSpace(FixedArray::SizeFor(length), __ 236 src/arm/code-stubs-arm.cc __ ldr(r3, MemOperand(sp, 0)); __ 239 src/arm/code-stubs-arm.cc __ LoadRoot(r1, Heap::kFunctionContextMapRootIndex); __ 240 src/arm/code-stubs-arm.cc __ mov(r2, Operand(Smi::FromInt(length))); __ 241 src/arm/code-stubs-arm.cc __ str(r2, FieldMemOperand(r0, FixedArray::kLengthOffset)); __ 242 src/arm/code-stubs-arm.cc __ str(r1, FieldMemOperand(r0, HeapObject::kMapOffset)); __ 245 src/arm/code-stubs-arm.cc __ ldr(r2, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 246 src/arm/code-stubs-arm.cc __ mov(r1, Operand(Smi::FromInt(0))); __ 247 src/arm/code-stubs-arm.cc __ str(r3, MemOperand(r0, Context::SlotOffset(Context::CLOSURE_INDEX))); __ 248 src/arm/code-stubs-arm.cc __ str(cp, MemOperand(r0, Context::SlotOffset(Context::PREVIOUS_INDEX))); __ 249 src/arm/code-stubs-arm.cc __ str(r1, MemOperand(r0, Context::SlotOffset(Context::EXTENSION_INDEX))); __ 250 src/arm/code-stubs-arm.cc __ str(r2, MemOperand(r0, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 253 src/arm/code-stubs-arm.cc __ LoadRoot(r1, Heap::kUndefinedValueRootIndex); __ 255 src/arm/code-stubs-arm.cc __ str(r1, MemOperand(r0, Context::SlotOffset(i))); __ 259 src/arm/code-stubs-arm.cc __ mov(cp, r0); __ 260 src/arm/code-stubs-arm.cc __ pop(); __ 261 src/arm/code-stubs-arm.cc __ Ret(); __ 264 src/arm/code-stubs-arm.cc __ bind(&gc); __ 265 src/arm/code-stubs-arm.cc __ TailCallRuntime(Runtime::kNewFunctionContext, 1, 1); __ 278 src/arm/code-stubs-arm.cc __ AllocateInNewSpace(FixedArray::SizeFor(length), __ 282 src/arm/code-stubs-arm.cc __ ldr(r3, MemOperand(sp, 0)); __ 285 src/arm/code-stubs-arm.cc __ ldr(r1, MemOperand(sp, 1 * kPointerSize)); __ 288 src/arm/code-stubs-arm.cc __ LoadRoot(r2, Heap::kBlockContextMapRootIndex); __ 289 src/arm/code-stubs-arm.cc __ str(r2, FieldMemOperand(r0, HeapObject::kMapOffset)); __ 290 src/arm/code-stubs-arm.cc __ mov(r2, Operand(Smi::FromInt(length))); __ 291 src/arm/code-stubs-arm.cc __ str(r2, FieldMemOperand(r0, FixedArray::kLengthOffset)); __ 298 src/arm/code-stubs-arm.cc __ JumpIfNotSmi(r3, &after_sentinel); __ 301 src/arm/code-stubs-arm.cc __ cmp(r3, Operand::Zero()); __ 302 src/arm/code-stubs-arm.cc __ Assert(eq, message); __ 304 src/arm/code-stubs-arm.cc __ ldr(r3, GlobalObjectOperand()); __ 305 src/arm/code-stubs-arm.cc __ ldr(r3, FieldMemOperand(r3, GlobalObject::kGlobalContextOffset)); __ 306 src/arm/code-stubs-arm.cc __ ldr(r3, ContextOperand(r3, Context::CLOSURE_INDEX)); __ 307 src/arm/code-stubs-arm.cc __ bind(&after_sentinel); __ 310 src/arm/code-stubs-arm.cc __ ldr(r2, ContextOperand(cp, Context::GLOBAL_INDEX)); __ 311 src/arm/code-stubs-arm.cc __ str(r3, ContextOperand(r0, Context::CLOSURE_INDEX)); __ 312 src/arm/code-stubs-arm.cc __ str(cp, ContextOperand(r0, Context::PREVIOUS_INDEX)); __ 313 src/arm/code-stubs-arm.cc __ str(r1, ContextOperand(r0, Context::EXTENSION_INDEX)); __ 314 src/arm/code-stubs-arm.cc __ str(r2, ContextOperand(r0, Context::GLOBAL_INDEX)); __ 317 src/arm/code-stubs-arm.cc __ LoadRoot(r1, Heap::kTheHoleValueRootIndex); __ 319 src/arm/code-stubs-arm.cc __ str(r1, ContextOperand(r0, i + Context::MIN_CONTEXT_SLOTS)); __ 323 src/arm/code-stubs-arm.cc __ mov(cp, r0); __ 324 src/arm/code-stubs-arm.cc __ add(sp, sp, Operand(2 * kPointerSize)); __ 325 src/arm/code-stubs-arm.cc __ Ret(); __ 328 src/arm/code-stubs-arm.cc __ bind(&gc); __ 329 src/arm/code-stubs-arm.cc __ TailCallRuntime(Runtime::kPushBlockContext, 2, 1); __ 354 src/arm/code-stubs-arm.cc __ AllocateInNewSpace(size, __ 364 src/arm/code-stubs-arm.cc __ ldr(r1, FieldMemOperand(r3, i)); __ 365 src/arm/code-stubs-arm.cc __ str(r1, FieldMemOperand(r0, i)); __ 372 src/arm/code-stubs-arm.cc __ ldr(r3, FieldMemOperand(r3, JSArray::kElementsOffset)); __ 373 src/arm/code-stubs-arm.cc __ add(r2, r0, Operand(JSArray::kSize)); __ 374 src/arm/code-stubs-arm.cc __ str(r2, FieldMemOperand(r0, JSArray::kElementsOffset)); __ 378 src/arm/code-stubs-arm.cc __ CopyFields(r2, r3, r1.bit(), elements_size / kPointerSize); __ 392 src/arm/code-stubs-arm.cc __ ldr(r3, MemOperand(sp, 2 * kPointerSize)); __ 393 src/arm/code-stubs-arm.cc __ ldr(r0, MemOperand(sp, 1 * kPointerSize)); __ 394 src/arm/code-stubs-arm.cc __ add(r3, r3, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 395 src/arm/code-stubs-arm.cc __ ldr(r3, MemOperand(r3, r0, LSL, kPointerSizeLog2 - kSmiTagSize)); __ 396 src/arm/code-stubs-arm.cc __ CompareRoot(r3, Heap::kUndefinedValueRootIndex); __ 397 src/arm/code-stubs-arm.cc __ b(eq, &slow_case); __ 402 src/arm/code-stubs-arm.cc __ ldr(r0, FieldMemOperand(r3, JSArray::kElementsOffset)); __ 403 src/arm/code-stubs-arm.cc __ ldr(r0, FieldMemOperand(r0, HeapObject::kMapOffset)); __ 404 src/arm/code-stubs-arm.cc __ CompareRoot(r0, Heap::kFixedCOWArrayMapRootIndex); __ 405 src/arm/code-stubs-arm.cc __ b(ne, &check_fast_elements); __ 409 src/arm/code-stubs-arm.cc __ add(sp, sp, Operand(3 * kPointerSize)); __ 410 src/arm/code-stubs-arm.cc __ Ret(); __ 412 src/arm/code-stubs-arm.cc __ bind(&check_fast_elements); __ 413 src/arm/code-stubs-arm.cc __ CompareRoot(r0, Heap::kFixedArrayMapRootIndex); __ 414 src/arm/code-stubs-arm.cc __ b(ne, &double_elements); __ 418 src/arm/code-stubs-arm.cc __ add(sp, sp, Operand(3 * kPointerSize)); __ 419 src/arm/code-stubs-arm.cc __ Ret(); __ 421 src/arm/code-stubs-arm.cc __ bind(&double_elements); __ 440 src/arm/code-stubs-arm.cc __ push(r3); __ 441 src/arm/code-stubs-arm.cc __ ldr(r3, FieldMemOperand(r3, JSArray::kElementsOffset)); __ 442 src/arm/code-stubs-arm.cc __ ldr(r3, FieldMemOperand(r3, HeapObject::kMapOffset)); __ 443 src/arm/code-stubs-arm.cc __ CompareRoot(r3, expected_map_index); __ 444 src/arm/code-stubs-arm.cc __ Assert(eq, message); __ 445 src/arm/code-stubs-arm.cc __ pop(r3); __ 451 src/arm/code-stubs-arm.cc __ add(sp, sp, Operand(3 * kPointerSize)); __ 452 src/arm/code-stubs-arm.cc __ Ret(); __ 454 src/arm/code-stubs-arm.cc __ bind(&slow_case); __ 455 src/arm/code-stubs-arm.cc __ TailCallRuntime(Runtime::kCreateArrayLiteralShallow, 3, 1); __ 470 src/arm/code-stubs-arm.cc __ ldr(r3, MemOperand(sp, 3 * kPointerSize)); __ 471 src/arm/code-stubs-arm.cc __ ldr(r0, MemOperand(sp, 2 * kPointerSize)); __ 472 src/arm/code-stubs-arm.cc __ add(r3, r3, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 473 src/arm/code-stubs-arm.cc __ ldr(r3, MemOperand(r3, r0, LSL, kPointerSizeLog2 - kSmiTagSize)); __ 474 src/arm/code-stubs-arm.cc __ CompareRoot(r3, Heap::kUndefinedValueRootIndex); __ 475 src/arm/code-stubs-arm.cc __ b(eq, &slow_case); __ 480 src/arm/code-stubs-arm.cc __ ldr(r0, FieldMemOperand(r3, HeapObject::kMapOffset)); __ 481 src/arm/code-stubs-arm.cc __ ldrb(r0, FieldMemOperand(r0, Map::kInstanceSizeOffset)); __ 482 src/arm/code-stubs-arm.cc __ cmp(r0, Operand(size >> kPointerSizeLog2)); __ 483 src/arm/code-stubs-arm.cc __ b(ne, &slow_case); __ 487 src/arm/code-stubs-arm.cc __ AllocateInNewSpace(size, r0, r1, r2, &slow_case, TAG_OBJECT); __ 489 src/arm/code-stubs-arm.cc __ ldr(r1, FieldMemOperand(r3, i)); __ 490 src/arm/code-stubs-arm.cc __ str(r1, FieldMemOperand(r0, i)); __ 494 src/arm/code-stubs-arm.cc __ add(sp, sp, Operand(4 * kPointerSize)); __ 495 src/arm/code-stubs-arm.cc __ Ret(); __ 497 src/arm/code-stubs-arm.cc __ bind(&slow_case); __ 498 src/arm/code-stubs-arm.cc __ TailCallRuntime(Runtime::kCreateObjectLiteralShallow, 4, 1); __ 547 src/arm/code-stubs-arm.cc __ mov(source_, Operand(source_, ASR, kSmiTagSize)); __ 552 src/arm/code-stubs-arm.cc __ and_(exponent, source_, Operand(HeapNumber::kSignMask), SetCC); __ 554 src/arm/code-stubs-arm.cc __ rsb(source_, source_, Operand(0, RelocInfo::NONE), LeaveCC, ne); __ 559 src/arm/code-stubs-arm.cc __ cmp(source_, Operand(1)); __ 560 src/arm/code-stubs-arm.cc __ b(gt, ¬_special); __ 565 src/arm/code-stubs-arm.cc __ orr(exponent, exponent, Operand(exponent_word_for_1), LeaveCC, eq); __ 567 src/arm/code-stubs-arm.cc __ mov(mantissa, Operand(0, RelocInfo::NONE)); __ 568 src/arm/code-stubs-arm.cc __ Ret(); __ 570 src/arm/code-stubs-arm.cc __ bind(¬_special); __ 573 src/arm/code-stubs-arm.cc __ CountLeadingZeros(zeros_, source_, mantissa); __ 579 src/arm/code-stubs-arm.cc __ rsb(mantissa, zeros_, Operand(31 + HeapNumber::kExponentBias - fudge)); __ 580 src/arm/code-stubs-arm.cc __ add(mantissa, mantissa, Operand(fudge)); __ 581 src/arm/code-stubs-arm.cc __ orr(exponent, __ 585 src/arm/code-stubs-arm.cc __ add(zeros_, zeros_, Operand(1)); __ 587 src/arm/code-stubs-arm.cc __ mov(source_, Operand(source_, LSL, zeros_)); __ 589 src/arm/code-stubs-arm.cc __ mov(mantissa, Operand(source_, LSL, HeapNumber::kMantissaBitsInTopWord)); __ 591 src/arm/code-stubs-arm.cc __ orr(exponent, __ 594 src/arm/code-stubs-arm.cc __ Ret(); __ 604 src/arm/code-stubs-arm.cc __ mov(scratch1, Operand(r0, ASR, kSmiTagSize)); __ 605 src/arm/code-stubs-arm.cc __ vmov(d7.high(), scratch1); __ 606 src/arm/code-stubs-arm.cc __ vcvt_f64_s32(d7, d7.high()); __ 607 src/arm/code-stubs-arm.cc __ mov(scratch1, Operand(r1, ASR, kSmiTagSize)); __ 608 src/arm/code-stubs-arm.cc __ vmov(d6.high(), scratch1); __ 609 src/arm/code-stubs-arm.cc __ vcvt_f64_s32(d6, d6.high()); __ 611 src/arm/code-stubs-arm.cc __ vmov(r2, r3, d7); __ 612 src/arm/code-stubs-arm.cc __ vmov(r0, r1, d6); __ 617 src/arm/code-stubs-arm.cc __ mov(scratch1, Operand(r0)); __ 619 src/arm/code-stubs-arm.cc __ push(lr); __ 620 src/arm/code-stubs-arm.cc __ Call(stub1.GetCode()); __ 622 src/arm/code-stubs-arm.cc __ mov(scratch1, Operand(r1)); __ 624 src/arm/code-stubs-arm.cc __ Call(stub2.GetCode()); __ 625 src/arm/code-stubs-arm.cc __ pop(lr); __ 659 src/arm/code-stubs-arm.cc __ AbortIfNotRootValue(heap_number_map, __ 667 src/arm/code-stubs-arm.cc __ UntagAndJumpIfSmi(scratch1, object, &is_smi); __ 669 src/arm/code-stubs-arm.cc __ JumpIfNotHeapNumber(object, heap_number_map, scratch1, not_number); __ 676 src/arm/code-stubs-arm.cc __ sub(scratch1, object, Operand(kHeapObjectTag)); __ 677 src/arm/code-stubs-arm.cc __ vldr(dst, scratch1, HeapNumber::kValueOffset); __ 681 src/arm/code-stubs-arm.cc __ Ldrd(dst1, dst2, FieldMemOperand(object, HeapNumber::kValueOffset)); __ 683 src/arm/code-stubs-arm.cc __ jmp(&done); __ 686 src/arm/code-stubs-arm.cc __ bind(&is_smi); __ 690 src/arm/code-stubs-arm.cc __ vmov(dst.high(), scratch1); __ 691 src/arm/code-stubs-arm.cc __ vcvt_f64_s32(dst, dst.high()); __ 694 src/arm/code-stubs-arm.cc __ vmov(dst1, dst2, dst); __ 699 src/arm/code-stubs-arm.cc __ mov(scratch1, Operand(object)); __ 701 src/arm/code-stubs-arm.cc __ push(lr); __ 702 src/arm/code-stubs-arm.cc __ Call(stub.GetCode()); __ 703 src/arm/code-stubs-arm.cc __ pop(lr); __ 706 src/arm/code-stubs-arm.cc __ bind(&done); __ 720 src/arm/code-stubs-arm.cc __ AbortIfNotRootValue(heap_number_map, __ 727 src/arm/code-stubs-arm.cc __ UntagAndJumpIfSmi(dst, object, &done); __ 728 src/arm/code-stubs-arm.cc __ ldr(scratch1, FieldMemOperand(object, HeapNumber::kMapOffset)); __ 729 src/arm/code-stubs-arm.cc __ cmp(scratch1, heap_number_map); __ 730 src/arm/code-stubs-arm.cc __ b(ne, not_number); __ 731 src/arm/code-stubs-arm.cc __ ConvertToInt32(object, __ 737 src/arm/code-stubs-arm.cc __ jmp(&done); __ 739 src/arm/code-stubs-arm.cc __ bind(¬_in_int32_range); __ 740 src/arm/code-stubs-arm.cc __ ldr(scratch1, FieldMemOperand(object, HeapNumber::kExponentOffset)); __ 741 src/arm/code-stubs-arm.cc __ ldr(scratch2, FieldMemOperand(object, HeapNumber::kMantissaOffset)); __ 743 src/arm/code-stubs-arm.cc __ EmitOutOfInt32RangeTruncate(dst, __ 747 src/arm/code-stubs-arm.cc __ bind(&done); __ 767 src/arm/code-stubs-arm.cc __ vmov(single_scratch, int_scratch); __ 768 src/arm/code-stubs-arm.cc __ vcvt_f64_s32(double_dst, single_scratch); __ 770 src/arm/code-stubs-arm.cc __ vmov(dst1, dst2, double_dst); __ 779 src/arm/code-stubs-arm.cc __ cmp(int_scratch, Operand::Zero()); __ 780 src/arm/code-stubs-arm.cc __ mov(dst2, int_scratch); __ 781 src/arm/code-stubs-arm.cc __ mov(dst1, int_scratch); __ 782 src/arm/code-stubs-arm.cc __ b(eq, &done); __ 785 src/arm/code-stubs-arm.cc __ and_(dst2, int_scratch, Operand(HeapNumber::kSignMask), SetCC); __ 787 src/arm/code-stubs-arm.cc __ rsb(int_scratch, int_scratch, Operand::Zero(), SetCC, mi); __ 792 src/arm/code-stubs-arm.cc __ CountLeadingZeros(dst1, int_scratch, scratch2); __ 793 src/arm/code-stubs-arm.cc __ rsb(dst1, dst1, Operand(31)); __ 796 src/arm/code-stubs-arm.cc __ add(scratch2, dst1, Operand(HeapNumber::kExponentBias)); __ 797 src/arm/code-stubs-arm.cc __ Bfi(dst2, scratch2, scratch2, __ 801 src/arm/code-stubs-arm.cc __ mov(scratch2, Operand(1)); __ 802 src/arm/code-stubs-arm.cc __ bic(int_scratch, int_scratch, Operand(scratch2, LSL, dst1)); __ 804 src/arm/code-stubs-arm.cc __ cmp(dst1, Operand(HeapNumber::kMantissaBitsInTopWord)); __ 806 src/arm/code-stubs-arm.cc __ sub(scratch2, dst1, Operand(HeapNumber::kMantissaBitsInTopWord), SetCC); __ 807 src/arm/code-stubs-arm.cc __ b(mi, &fewer_than_20_useful_bits); __ 809 src/arm/code-stubs-arm.cc __ orr(dst2, dst2, Operand(int_scratch, LSR, scratch2)); __ 810 src/arm/code-stubs-arm.cc __ rsb(scratch2, scratch2, Operand(32)); __ 811 src/arm/code-stubs-arm.cc __ mov(dst1, Operand(int_scratch, LSL, scratch2)); __ 812 src/arm/code-stubs-arm.cc __ b(&done); __ 814 src/arm/code-stubs-arm.cc __ bind(&fewer_than_20_useful_bits); __ 815 src/arm/code-stubs-arm.cc __ rsb(scratch2, dst1, Operand(HeapNumber::kMantissaBitsInTopWord)); __ 816 src/arm/code-stubs-arm.cc __ mov(scratch2, Operand(int_scratch, LSL, scratch2)); __ 817 src/arm/code-stubs-arm.cc __ orr(dst2, dst2, scratch2); __ 819 src/arm/code-stubs-arm.cc __ mov(dst1, Operand::Zero()); __ 821 src/arm/code-stubs-arm.cc __ bind(&done); __ 844 src/arm/code-stubs-arm.cc __ JumpIfNotSmi(object, &obj_is_not_smi); __ 845 src/arm/code-stubs-arm.cc __ SmiUntag(scratch1, object); __ 848 src/arm/code-stubs-arm.cc __ b(&done); __ 850 src/arm/code-stubs-arm.cc __ bind(&obj_is_not_smi); __ 852 src/arm/code-stubs-arm.cc __ AbortIfNotRootValue(heap_number_map, __ 856 src/arm/code-stubs-arm.cc __ JumpIfNotHeapNumber(object, heap_number_map, scratch1, not_int32); __ 862 src/arm/code-stubs-arm.cc __ sub(scratch1, object, Operand(kHeapObjectTag)); __ 863 src/arm/code-stubs-arm.cc __ vldr(double_dst, scratch1, HeapNumber::kValueOffset); __ 865 src/arm/code-stubs-arm.cc __ EmitVFPTruncate(kRoundToZero, __ 873 src/arm/code-stubs-arm.cc __ b(ne, not_int32); __ 876 src/arm/code-stubs-arm.cc __ vmov(dst1, dst2, double_dst); __ 882 src/arm/code-stubs-arm.cc __ Ldrd(dst1, dst2, FieldMemOperand(object, HeapNumber::kValueOffset)); __ 885 src/arm/code-stubs-arm.cc __ bic(scratch1, dst1, Operand(HeapNumber::kSignMask)); __ 886 src/arm/code-stubs-arm.cc __ orr(scratch1, scratch1, Operand(dst2)); __ 887 src/arm/code-stubs-arm.cc __ cmp(scratch1, Operand::Zero()); __ 888 src/arm/code-stubs-arm.cc __ b(eq, &done); __ 895 src/arm/code-stubs-arm.cc __ Ldrd(dst1, dst2, FieldMemOperand(object, HeapNumber::kValueOffset)); __ 898 src/arm/code-stubs-arm.cc __ bind(&done); __ 919 src/arm/code-stubs-arm.cc __ UntagAndJumpIfSmi(dst, object, &done); __ 922 src/arm/code-stubs-arm.cc __ AbortIfNotRootValue(heap_number_map, __ 926 src/arm/code-stubs-arm.cc __ JumpIfNotHeapNumber(object, heap_number_map, scratch1, not_int32); __ 934 src/arm/code-stubs-arm.cc __ sub(scratch1, object, Operand(kHeapObjectTag)); __ 935 src/arm/code-stubs-arm.cc __ vldr(double_scratch, scratch1, HeapNumber::kValueOffset); __ 937 src/arm/code-stubs-arm.cc __ EmitVFPTruncate(kRoundToZero, __ 945 src/arm/code-stubs-arm.cc __ b(ne, not_int32); __ 947 src/arm/code-stubs-arm.cc __ vmov(dst, single_scratch); __ 951 src/arm/code-stubs-arm.cc __ ldr(scratch1, FieldMemOperand(object, HeapNumber::kExponentOffset)); __ 952 src/arm/code-stubs-arm.cc __ ldr(scratch2, FieldMemOperand(object, HeapNumber::kMantissaOffset)); __ 955 src/arm/code-stubs-arm.cc __ bic(dst, scratch1, Operand(HeapNumber::kSignMask)); __ 956 src/arm/code-stubs-arm.cc __ orr(dst, scratch2, Operand(dst)); __ 957 src/arm/code-stubs-arm.cc __ cmp(dst, Operand::Zero()); __ 958 src/arm/code-stubs-arm.cc __ b(eq, &done); __ 967 src/arm/code-stubs-arm.cc __ mov(dst, Operand(dst, LSR, scratch3)); __ 969 src/arm/code-stubs-arm.cc __ rsb(scratch3, scratch3, Operand(32)); __ 970 src/arm/code-stubs-arm.cc __ orr(dst, dst, Operand(scratch2, LSL, scratch3)); __ 972 src/arm/code-stubs-arm.cc __ ldr(scratch1, FieldMemOperand(object, HeapNumber::kExponentOffset)); __ 973 src/arm/code-stubs-arm.cc __ tst(scratch1, Operand(HeapNumber::kSignMask)); __ 974 src/arm/code-stubs-arm.cc __ rsb(dst, dst, Operand::Zero(), LeaveCC, mi); __ 977 src/arm/code-stubs-arm.cc __ bind(&done); __ 988 src/arm/code-stubs-arm.cc __ Ubfx(scratch, __ 994 src/arm/code-stubs-arm.cc __ sub(scratch, scratch, Operand(HeapNumber::kExponentBias), SetCC); __ 1002 src/arm/code-stubs-arm.cc __ b(mi, not_int32); __ 1009 src/arm/code-stubs-arm.cc __ sub(tmp, scratch, Operand(src1, LSR, 31)); __ 1010 src/arm/code-stubs-arm.cc __ cmp(tmp, Operand(30)); __ 1011 src/arm/code-stubs-arm.cc __ b(gt, not_int32); __ 1013 src/arm/code-stubs-arm.cc __ tst(src2, Operand(0x3fffff)); __ 1014 src/arm/code-stubs-arm.cc __ b(ne, not_int32); __ 1023 src/arm/code-stubs-arm.cc __ Ubfx(dst, __ 1027 src/arm/code-stubs-arm.cc __ orr(dst, __ 1032 src/arm/code-stubs-arm.cc __ rsb(scratch, scratch, Operand(32)); __ 1033 src/arm/code-stubs-arm.cc __ mov(src2, Operand(1)); __ 1034 src/arm/code-stubs-arm.cc __ mov(src1, Operand(src2, LSL, scratch)); __ 1035 src/arm/code-stubs-arm.cc __ sub(src1, src1, Operand(1)); __ 1036 src/arm/code-stubs-arm.cc __ tst(dst, src1); __ 1037 src/arm/code-stubs-arm.cc __ b(ne, not_int32); __ 1058 src/arm/code-stubs-arm.cc __ push(lr); __ 1059 src/arm/code-stubs-arm.cc __ PrepareCallCFunction(0, 2, scratch); __ 1062 src/arm/code-stubs-arm.cc __ vmov(d0, r0, r1); __ 1063 src/arm/code-stubs-arm.cc __ vmov(d1, r2, r3); __ 1067 src/arm/code-stubs-arm.cc __ CallCFunction( __ 1074 src/arm/code-stubs-arm.cc __ vstr(d0, __ 1077 src/arm/code-stubs-arm.cc __ Strd(r0, r1, FieldMemOperand(heap_number_result, __ 1081 src/arm/code-stubs-arm.cc __ mov(r0, Operand(heap_number_result)); __ 1082 src/arm/code-stubs-arm.cc __ pop(pc); __ 1116 src/arm/code-stubs-arm.cc __ cmp(the_int_, Operand(0x80000000u)); __ 1117 src/arm/code-stubs-arm.cc __ b(eq, &max_negative_int); __ 1122 src/arm/code-stubs-arm.cc __ mov(scratch_, Operand(non_smi_exponent)); __ 1124 src/arm/code-stubs-arm.cc __ orr(scratch_, scratch_, Operand(HeapNumber::kSignMask), LeaveCC, cs); __ 1126 src/arm/code-stubs-arm.cc __ rsb(the_int_, the_int_, Operand(0, RelocInfo::NONE), LeaveCC, cs); __ 1133 src/arm/code-stubs-arm.cc __ orr(scratch_, scratch_, Operand(the_int_, LSR, shift_distance)); __ 1134 src/arm/code-stubs-arm.cc __ str(scratch_, FieldMemOperand(the_heap_number_, __ 1136 src/arm/code-stubs-arm.cc __ mov(scratch_, Operand(the_int_, LSL, 32 - shift_distance)); __ 1137 src/arm/code-stubs-arm.cc __ str(scratch_, FieldMemOperand(the_heap_number_, __ 1139 src/arm/code-stubs-arm.cc __ Ret(); __ 1141 src/arm/code-stubs-arm.cc __ bind(&max_negative_int); __ 1147 src/arm/code-stubs-arm.cc __ mov(ip, Operand(HeapNumber::kSignMask | non_smi_exponent)); __ 1148 src/arm/code-stubs-arm.cc __ str(ip, FieldMemOperand(the_heap_number_, HeapNumber::kExponentOffset)); __ 1149 src/arm/code-stubs-arm.cc __ mov(ip, Operand(0, RelocInfo::NONE)); __ 1150 src/arm/code-stubs-arm.cc __ str(ip, FieldMemOperand(the_heap_number_, HeapNumber::kMantissaOffset)); __ 1151 src/arm/code-stubs-arm.cc __ Ret(); __ 1164 src/arm/code-stubs-arm.cc __ cmp(r0, r1); __ 1165 src/arm/code-stubs-arm.cc __ b(ne, ¬_identical); __ 1175 src/arm/code-stubs-arm.cc __ CompareObjectType(r0, r4, r4, FIRST_SPEC_OBJECT_TYPE); __ 1176 src/arm/code-stubs-arm.cc __ b(ge, slow); __ 1178 src/arm/code-stubs-arm.cc __ CompareObjectType(r0, r4, r4, HEAP_NUMBER_TYPE); __ 1179 src/arm/code-stubs-arm.cc __ b(eq, &heap_number); __ 1182 src/arm/code-stubs-arm.cc __ cmp(r4, Operand(FIRST_SPEC_OBJECT_TYPE)); __ 1183 src/arm/code-stubs-arm.cc __ b(ge, slow); __ 1188 src/arm/code-stubs-arm.cc __ cmp(r4, Operand(ODDBALL_TYPE)); __ 1189 src/arm/code-stubs-arm.cc __ b(ne, &return_equal); __ 1190 src/arm/code-stubs-arm.cc __ LoadRoot(r2, Heap::kUndefinedValueRootIndex); __ 1191 src/arm/code-stubs-arm.cc __ cmp(r0, r2); __ 1192 src/arm/code-stubs-arm.cc __ b(ne, &return_equal); __ 1195 src/arm/code-stubs-arm.cc __ mov(r0, Operand(GREATER)); __ 1198 src/arm/code-stubs-arm.cc __ mov(r0, Operand(LESS)); __ 1200 src/arm/code-stubs-arm.cc __ Ret(); __ 1206 src/arm/code-stubs-arm.cc __ bind(&return_equal); __ 1208 src/arm/code-stubs-arm.cc __ mov(r0, Operand(GREATER)); // Things aren't less than themselves. __ 1210 src/arm/code-stubs-arm.cc __ mov(r0, Operand(LESS)); // Things aren't greater than themselves. __ 1212 src/arm/code-stubs-arm.cc __ mov(r0, Operand(EQUAL)); // Things are <=, >=, ==, === themselves. __ 1214 src/arm/code-stubs-arm.cc __ Ret(); __ 1221 src/arm/code-stubs-arm.cc __ bind(&heap_number); __ 1228 src/arm/code-stubs-arm.cc __ ldr(r2, FieldMemOperand(r0, HeapNumber::kExponentOffset)); __ 1230 src/arm/code-stubs-arm.cc __ Sbfx(r3, r2, HeapNumber::kExponentShift, HeapNumber::kExponentBits); __ 1232 src/arm/code-stubs-arm.cc __ cmp(r3, Operand(-1)); __ 1233 src/arm/code-stubs-arm.cc __ b(ne, &return_equal); __ 1236 src/arm/code-stubs-arm.cc __ mov(r2, Operand(r2, LSL, HeapNumber::kNonMantissaBitsInTopWord)); __ 1238 src/arm/code-stubs-arm.cc __ ldr(r3, FieldMemOperand(r0, HeapNumber::kMantissaOffset)); __ 1239 src/arm/code-stubs-arm.cc __ orr(r0, r3, Operand(r2), SetCC); __ 1246 src/arm/code-stubs-arm.cc __ Ret(eq); __ 1248 src/arm/code-stubs-arm.cc __ mov(r0, Operand(GREATER)); // NaN <= NaN should fail. __ 1250 src/arm/code-stubs-arm.cc __ mov(r0, Operand(LESS)); // NaN >= NaN should fail. __ 1253 src/arm/code-stubs-arm.cc __ Ret(); __ 1258 src/arm/code-stubs-arm.cc __ bind(¬_identical); __ 1273 src/arm/code-stubs-arm.cc __ JumpIfSmi(rhs, &rhs_is_smi); __ 1276 src/arm/code-stubs-arm.cc __ CompareObjectType(rhs, r4, r4, HEAP_NUMBER_TYPE); __ 1282 src/arm/code-stubs-arm.cc __ mov(r0, Operand(NOT_EQUAL), LeaveCC, ne); __ 1284 src/arm/code-stubs-arm.cc __ Ret(ne); __ 1288 src/arm/code-stubs-arm.cc __ b(ne, slow); __ 1295 src/arm/code-stubs-arm.cc __ SmiToDoubleVFPRegister(lhs, d7, r7, s15); __ 1297 src/arm/code-stubs-arm.cc __ sub(r7, rhs, Operand(kHeapObjectTag)); __ 1298 src/arm/code-stubs-arm.cc __ vldr(d6, r7, HeapNumber::kValueOffset); __ 1300 src/arm/code-stubs-arm.cc __ push(lr); __ 1302 src/arm/code-stubs-arm.cc __ mov(r7, Operand(lhs)); __ 1304 src/arm/code-stubs-arm.cc __ Call(stub1.GetCode()); __ 1306 src/arm/code-stubs-arm.cc __ Ldrd(r0, r1, FieldMemOperand(rhs, HeapNumber::kValueOffset)); __ 1307 src/arm/code-stubs-arm.cc __ pop(lr); __ 1312 src/arm/code-stubs-arm.cc __ jmp(lhs_not_nan); __ 1314 src/arm/code-stubs-arm.cc __ bind(&rhs_is_smi); __ 1316 src/arm/code-stubs-arm.cc __ CompareObjectType(lhs, r4, r4, HEAP_NUMBER_TYPE); __ 1322 src/arm/code-stubs-arm.cc __ mov(r0, Operand(NOT_EQUAL), LeaveCC, ne); __ 1324 src/arm/code-stubs-arm.cc __ Ret(ne); __ 1328 src/arm/code-stubs-arm.cc __ b(ne, slow); __ 1335 src/arm/code-stubs-arm.cc __ sub(r7, lhs, Operand(kHeapObjectTag)); __ 1336 src/arm/code-stubs-arm.cc __ vldr(d7, r7, HeapNumber::kValueOffset); __ 1338 src/arm/code-stubs-arm.cc __ SmiToDoubleVFPRegister(rhs, d6, r7, s13); __ 1340 src/arm/code-stubs-arm.cc __ push(lr); __ 1342 src/arm/code-stubs-arm.cc __ Ldrd(r2, r3, FieldMemOperand(lhs, HeapNumber::kValueOffset)); __ 1344 src/arm/code-stubs-arm.cc __ mov(r7, Operand(rhs)); __ 1346 src/arm/code-stubs-arm.cc __ Call(stub2.GetCode()); __ 1347 src/arm/code-stubs-arm.cc __ pop(lr); __ 1361 src/arm/code-stubs-arm.cc __ Sbfx(r4, __ 1366 src/arm/code-stubs-arm.cc __ cmp(r4, Operand(-1)); __ 1367 src/arm/code-stubs-arm.cc __ b(ne, lhs_not_nan); __ 1368 src/arm/code-stubs-arm.cc __ mov(r4, __ 1371 src/arm/code-stubs-arm.cc __ b(ne, &one_is_nan); __ 1372 src/arm/code-stubs-arm.cc __ cmp(lhs_mantissa, Operand(0, RelocInfo::NONE)); __ 1373 src/arm/code-stubs-arm.cc __ b(ne, &one_is_nan); __ 1375 src/arm/code-stubs-arm.cc __ bind(lhs_not_nan); __ 1376 src/arm/code-stubs-arm.cc __ Sbfx(r4, __ 1381 src/arm/code-stubs-arm.cc __ cmp(r4, Operand(-1)); __ 1382 src/arm/code-stubs-arm.cc __ b(ne, &neither_is_nan); __ 1383 src/arm/code-stubs-arm.cc __ mov(r4, __ 1386 src/arm/code-stubs-arm.cc __ b(ne, &one_is_nan); __ 1387 src/arm/code-stubs-arm.cc __ cmp(rhs_mantissa, Operand(0, RelocInfo::NONE)); __ 1388 src/arm/code-stubs-arm.cc __ b(eq, &neither_is_nan); __ 1390 src/arm/code-stubs-arm.cc __ bind(&one_is_nan); __ 1394 src/arm/code-stubs-arm.cc __ mov(r0, Operand(GREATER)); __ 1396 src/arm/code-stubs-arm.cc __ mov(r0, Operand(LESS)); __ 1398 src/arm/code-stubs-arm.cc __ Ret(); __ 1400 src/arm/code-stubs-arm.cc __ bind(&neither_is_nan); __ 1417 src/arm/code-stubs-arm.cc __ cmp(rhs_mantissa, Operand(lhs_mantissa)); __ 1418 src/arm/code-stubs-arm.cc __ orr(r0, rhs_mantissa, Operand(lhs_mantissa), LeaveCC, ne); __ 1420 src/arm/code-stubs-arm.cc __ Ret(ne); __ 1422 src/arm/code-stubs-arm.cc __ sub(r0, rhs_exponent, Operand(lhs_exponent), SetCC); __ 1424 src/arm/code-stubs-arm.cc __ Ret(eq); __ 1432 src/arm/code-stubs-arm.cc __ orr(r4, lhs_mantissa, Operand(lhs_exponent, LSL, kSmiTagSize), SetCC); __ 1433 src/arm/code-stubs-arm.cc __ mov(r0, Operand(r4), LeaveCC, ne); __ 1434 src/arm/code-stubs-arm.cc __ Ret(ne); __ 1437 src/arm/code-stubs-arm.cc __ mov(r0, Operand(rhs_exponent, LSL, kSmiTagSize)); __ 1438 src/arm/code-stubs-arm.cc __ Ret(); __ 1442 src/arm/code-stubs-arm.cc __ push(lr); __ 1443 src/arm/code-stubs-arm.cc __ PrepareCallCFunction(0, 2, r5); __ 1446 src/arm/code-stubs-arm.cc __ vmov(d0, r0, r1); __ 1447 src/arm/code-stubs-arm.cc __ vmov(d1, r2, r3); __ 1451 src/arm/code-stubs-arm.cc __ CallCFunction(ExternalReference::compare_doubles(masm->isolate()), __ 1453 src/arm/code-stubs-arm.cc __ pop(pc); // Return. __ 1472 src/arm/code-stubs-arm.cc __ CompareObjectType(rhs, r2, r2, FIRST_SPEC_OBJECT_TYPE); __ 1473 src/arm/code-stubs-arm.cc __ b(lt, &first_non_object); __ 1477 src/arm/code-stubs-arm.cc __ bind(&return_not_equal); __ 1478 src/arm/code-stubs-arm.cc __ Ret(); __ 1480 src/arm/code-stubs-arm.cc __ bind(&first_non_object); __ 1482 src/arm/code-stubs-arm.cc __ cmp(r2, Operand(ODDBALL_TYPE)); __ 1483 src/arm/code-stubs-arm.cc __ b(eq, &return_not_equal); __ 1485 src/arm/code-stubs-arm.cc __ CompareObjectType(lhs, r3, r3, FIRST_SPEC_OBJECT_TYPE); __ 1486 src/arm/code-stubs-arm.cc __ b(ge, &return_not_equal); __ 1489 src/arm/code-stubs-arm.cc __ cmp(r3, Operand(ODDBALL_TYPE)); __ 1490 src/arm/code-stubs-arm.cc __ b(eq, &return_not_equal); __ 1496 src/arm/code-stubs-arm.cc __ and_(r2, r2, Operand(r3)); __ 1497 src/arm/code-stubs-arm.cc __ tst(r2, Operand(kIsSymbolMask)); __ 1498 src/arm/code-stubs-arm.cc __ b(ne, &return_not_equal); __ 1512 src/arm/code-stubs-arm.cc __ CompareObjectType(rhs, r3, r2, HEAP_NUMBER_TYPE); __ 1513 src/arm/code-stubs-arm.cc __ b(ne, not_heap_numbers); __ 1514 src/arm/code-stubs-arm.cc __ ldr(r2, FieldMemOperand(lhs, HeapObject::kMapOffset)); __ 1515 src/arm/code-stubs-arm.cc __ cmp(r2, r3); __ 1516 src/arm/code-stubs-arm.cc __ b(ne, slow); // First was a heap number, second wasn't. Go slow case. __ 1522 src/arm/code-stubs-arm.cc __ sub(r7, rhs, Operand(kHeapObjectTag)); __ 1523 src/arm/code-stubs-arm.cc __ vldr(d6, r7, HeapNumber::kValueOffset); __ 1524 src/arm/code-stubs-arm.cc __ sub(r7, lhs, Operand(kHeapObjectTag)); __ 1525 src/arm/code-stubs-arm.cc __ vldr(d7, r7, HeapNumber::kValueOffset); __ 1527 src/arm/code-stubs-arm.cc __ Ldrd(r2, r3, FieldMemOperand(lhs, HeapNumber::kValueOffset)); __ 1528 src/arm/code-stubs-arm.cc __ Ldrd(r0, r1, FieldMemOperand(rhs, HeapNumber::kValueOffset)); __ 1530 src/arm/code-stubs-arm.cc __ jmp(both_loaded_as_doubles); __ 1547 src/arm/code-stubs-arm.cc __ tst(r2, Operand(kIsNotStringMask)); __ 1548 src/arm/code-stubs-arm.cc __ b(ne, &object_test); __ 1549 src/arm/code-stubs-arm.cc __ tst(r2, Operand(kIsSymbolMask)); __ 1550 src/arm/code-stubs-arm.cc __ b(eq, possible_strings); __ 1551 src/arm/code-stubs-arm.cc __ CompareObjectType(lhs, r3, r3, FIRST_NONSTRING_TYPE); __ 1552 src/arm/code-stubs-arm.cc __ b(ge, not_both_strings); __ 1553 src/arm/code-stubs-arm.cc __ tst(r3, Operand(kIsSymbolMask)); __ 1554 src/arm/code-stubs-arm.cc __ b(eq, possible_strings); __ 1558 src/arm/code-stubs-arm.cc __ mov(r0, Operand(NOT_EQUAL)); __ 1559 src/arm/code-stubs-arm.cc __ Ret(); __ 1561 src/arm/code-stubs-arm.cc __ bind(&object_test); __ 1562 src/arm/code-stubs-arm.cc __ cmp(r2, Operand(FIRST_SPEC_OBJECT_TYPE)); __ 1563 src/arm/code-stubs-arm.cc __ b(lt, not_both_strings); __ 1564 src/arm/code-stubs-arm.cc __ CompareObjectType(lhs, r2, r3, FIRST_SPEC_OBJECT_TYPE); __ 1565 src/arm/code-stubs-arm.cc __ b(lt, not_both_strings); __ 1569 src/arm/code-stubs-arm.cc __ ldr(r3, FieldMemOperand(rhs, HeapObject::kMapOffset)); __ 1570 src/arm/code-stubs-arm.cc __ ldrb(r2, FieldMemOperand(r2, Map::kBitFieldOffset)); __ 1571 src/arm/code-stubs-arm.cc __ ldrb(r3, FieldMemOperand(r3, Map::kBitFieldOffset)); __ 1572 src/arm/code-stubs-arm.cc __ and_(r0, r2, Operand(r3)); __ 1573 src/arm/code-stubs-arm.cc __ and_(r0, r0, Operand(1 << Map::kIsUndetectable)); __ 1574 src/arm/code-stubs-arm.cc __ eor(r0, r0, Operand(1 << Map::kIsUndetectable)); __ 1575 src/arm/code-stubs-arm.cc __ Ret(); __ 1592 src/arm/code-stubs-arm.cc __ LoadRoot(number_string_cache, Heap::kNumberStringCacheRootIndex); __ 1596 src/arm/code-stubs-arm.cc __ ldr(mask, FieldMemOperand(number_string_cache, FixedArray::kLengthOffset)); __ 1598 src/arm/code-stubs-arm.cc __ mov(mask, Operand(mask, ASR, kSmiTagSize + 1)); __ 1599 src/arm/code-stubs-arm.cc __ sub(mask, mask, Operand(1)); // Make mask. __ 1609 src/arm/code-stubs-arm.cc __ JumpIfSmi(object, &is_smi); __ 1612 src/arm/code-stubs-arm.cc __ CheckMap(object, __ 1619 src/arm/code-stubs-arm.cc __ add(scratch1, __ 1622 src/arm/code-stubs-arm.cc __ ldm(ia, scratch1, scratch1.bit() | scratch2.bit()); __ 1623 src/arm/code-stubs-arm.cc __ eor(scratch1, scratch1, Operand(scratch2)); __ 1624 src/arm/code-stubs-arm.cc __ and_(scratch1, scratch1, Operand(mask)); __ 1628 src/arm/code-stubs-arm.cc __ add(scratch1, __ 1633 src/arm/code-stubs-arm.cc __ ldr(probe, __ 1635 src/arm/code-stubs-arm.cc __ JumpIfSmi(probe, not_found); __ 1636 src/arm/code-stubs-arm.cc __ sub(scratch2, object, Operand(kHeapObjectTag)); __ 1637 src/arm/code-stubs-arm.cc __ vldr(d0, scratch2, HeapNumber::kValueOffset); __ 1638 src/arm/code-stubs-arm.cc __ sub(probe, probe, Operand(kHeapObjectTag)); __ 1639 src/arm/code-stubs-arm.cc __ vldr(d1, probe, HeapNumber::kValueOffset); __ 1640 src/arm/code-stubs-arm.cc __ VFPCompareAndSetFlags(d0, d1); __ 1641 src/arm/code-stubs-arm.cc __ b(ne, not_found); // The cache did not contain this value. __ 1642 src/arm/code-stubs-arm.cc __ b(&load_result_from_cache); __ 1644 src/arm/code-stubs-arm.cc __ b(not_found); __ 1648 src/arm/code-stubs-arm.cc __ bind(&is_smi); __ 1650 src/arm/code-stubs-arm.cc __ and_(scratch, mask, Operand(object, ASR, 1)); __ 1653 src/arm/code-stubs-arm.cc __ add(scratch, __ 1659 src/arm/code-stubs-arm.cc __ ldr(probe, FieldMemOperand(scratch, FixedArray::kHeaderSize)); __ 1660 src/arm/code-stubs-arm.cc __ cmp(object, probe); __ 1661 src/arm/code-stubs-arm.cc __ b(ne, not_found); __ 1664 src/arm/code-stubs-arm.cc __ bind(&load_result_from_cache); __ 1665 src/arm/code-stubs-arm.cc __ ldr(result, __ 1667 src/arm/code-stubs-arm.cc __ IncrementCounter(isolate->counters()->number_to_string_native(), __ 1677 src/arm/code-stubs-arm.cc __ ldr(r1, MemOperand(sp, 0)); __ 1681 src/arm/code-stubs-arm.cc __ add(sp, sp, Operand(1 * kPointerSize)); __ 1682 src/arm/code-stubs-arm.cc __ Ret(); __ 1684 src/arm/code-stubs-arm.cc __ bind(&runtime); __ 1686 src/arm/code-stubs-arm.cc __ TailCallRuntime(Runtime::kNumberToStringSkipCache, 1, 1); __ 1702 src/arm/code-stubs-arm.cc __ orr(r2, r1, r0); __ 1703 src/arm/code-stubs-arm.cc __ JumpIfNotSmi(r2, ¬_two_smis); __ 1704 src/arm/code-stubs-arm.cc __ mov(r1, Operand(r1, ASR, 1)); __ 1705 src/arm/code-stubs-arm.cc __ sub(r0, r1, Operand(r0, ASR, 1)); __ 1706 src/arm/code-stubs-arm.cc __ Ret(); __ 1707 src/arm/code-stubs-arm.cc __ bind(¬_two_smis); __ 1709 src/arm/code-stubs-arm.cc __ orr(r2, r1, r0); __ 1710 src/arm/code-stubs-arm.cc __ tst(r2, Operand(kSmiTagMask)); __ 1711 src/arm/code-stubs-arm.cc __ Assert(ne, "CompareStub: unexpected smi operands."); __ 1725 src/arm/code-stubs-arm.cc __ and_(r2, lhs_, Operand(rhs_)); __ 1726 src/arm/code-stubs-arm.cc __ JumpIfNotSmi(r2, ¬_smis); __ 1738 src/arm/code-stubs-arm.cc __ bind(&both_loaded_as_doubles); __ 1743 src/arm/code-stubs-arm.cc __ bind(&lhs_not_nan); __ 1747 src/arm/code-stubs-arm.cc __ VFPCompareAndSetFlags(d7, d6); __ 1749 src/arm/code-stubs-arm.cc __ b(vs, &nan); __ 1750 src/arm/code-stubs-arm.cc __ mov(r0, Operand(EQUAL), LeaveCC, eq); __ 1751 src/arm/code-stubs-arm.cc __ mov(r0, Operand(LESS), LeaveCC, lt); __ 1752 src/arm/code-stubs-arm.cc __ mov(r0, Operand(GREATER), LeaveCC, gt); __ 1753 src/arm/code-stubs-arm.cc __ Ret(); __ 1755 src/arm/code-stubs-arm.cc __ bind(&nan); __ 1760 src/arm/code-stubs-arm.cc __ mov(r0, Operand(GREATER)); __ 1762 src/arm/code-stubs-arm.cc __ mov(r0, Operand(LESS)); __ 1764 src/arm/code-stubs-arm.cc __ Ret(); __ 1774 src/arm/code-stubs-arm.cc __ bind(¬_smis); __ 1796 src/arm/code-stubs-arm.cc __ bind(&check_for_symbols); __ 1808 src/arm/code-stubs-arm.cc __ bind(&flat_string_check); __ 1810 src/arm/code-stubs-arm.cc __ JumpIfNonSmisNotBothSequentialAsciiStrings(lhs_, rhs_, r2, r3, &slow); __ 1812 src/arm/code-stubs-arm.cc __ IncrementCounter(isolate->counters()->string_compare_native(), 1, r2, r3); __ 1831 src/arm/code-stubs-arm.cc __ bind(&slow); __ 1833 src/arm/code-stubs-arm.cc __ Push(lhs_, rhs_); __ 1847 src/arm/code-stubs-arm.cc __ mov(r0, Operand(Smi::FromInt(ncr))); __ 1848 src/arm/code-stubs-arm.cc __ push(r0); __ 1853 src/arm/code-stubs-arm.cc __ InvokeBuiltin(native, JUMP_FUNCTION); __ 1880 src/arm/code-stubs-arm.cc __ tst(tos_, Operand(kSmiTagMask)); __ 1882 src/arm/code-stubs-arm.cc __ Ret(eq); __ 1885 src/arm/code-stubs-arm.cc __ JumpIfSmi(tos_, &patch); __ 1889 src/arm/code-stubs-arm.cc __ ldr(map, FieldMemOperand(tos_, HeapObject::kMapOffset)); __ 1892 src/arm/code-stubs-arm.cc __ ldrb(ip, FieldMemOperand(map, Map::kBitFieldOffset)); __ 1893 src/arm/code-stubs-arm.cc __ tst(ip, Operand(1 << Map::kIsUndetectable)); __ 1895 src/arm/code-stubs-arm.cc __ mov(tos_, Operand(0, RelocInfo::NONE), LeaveCC, ne); __ 1896 src/arm/code-stubs-arm.cc __ Ret(ne); __ 1902 src/arm/code-stubs-arm.cc __ CompareInstanceType(map, ip, FIRST_SPEC_OBJECT_TYPE); __ 1904 src/arm/code-stubs-arm.cc __ Ret(ge); __ 1909 src/arm/code-stubs-arm.cc __ CompareInstanceType(map, ip, FIRST_NONSTRING_TYPE); __ 1910 src/arm/code-stubs-arm.cc __ ldr(tos_, FieldMemOperand(tos_, String::kLengthOffset), lt); __ 1911 src/arm/code-stubs-arm.cc __ Ret(lt); // the string length is OK as the return value __ 1917 src/arm/code-stubs-arm.cc __ CompareRoot(map, Heap::kHeapNumberMapRootIndex); __ 1918 src/arm/code-stubs-arm.cc __ b(ne, ¬_heap_number); __ 1919 src/arm/code-stubs-arm.cc __ vldr(d1, FieldMemOperand(tos_, HeapNumber::kValueOffset)); __ 1920 src/arm/code-stubs-arm.cc __ VFPCompareAndSetFlags(d1, 0.0); __ 1924 src/arm/code-stubs-arm.cc __ mov(tos_, Operand(0, RelocInfo::NONE), LeaveCC, eq); // for FP_ZERO __ 1925 src/arm/code-stubs-arm.cc __ mov(tos_, Operand(0, RelocInfo::NONE), LeaveCC, vs); // for FP_NAN __ 1926 src/arm/code-stubs-arm.cc __ Ret(); __ 1927 src/arm/code-stubs-arm.cc __ bind(¬_heap_number); __ 1930 src/arm/code-stubs-arm.cc __ bind(&patch); __ 1941 src/arm/code-stubs-arm.cc __ LoadRoot(ip, value); __ 1942 src/arm/code-stubs-arm.cc __ cmp(tos_, ip); __ 1946 src/arm/code-stubs-arm.cc __ mov(tos_, Operand(0, RelocInfo::NONE), LeaveCC, eq); __ 1948 src/arm/code-stubs-arm.cc __ Ret(eq); __ 1955 src/arm/code-stubs-arm.cc __ mov(r3, Operand(tos_)); __ 1957 src/arm/code-stubs-arm.cc __ mov(r2, Operand(Smi::FromInt(tos_.code()))); __ 1958 src/arm/code-stubs-arm.cc __ mov(r1, Operand(Smi::FromInt(types_.ToByte()))); __ 1959 src/arm/code-stubs-arm.cc __ Push(r3, r2, r1); __ 1962 src/arm/code-stubs-arm.cc __ TailCallExternalReference( __ 1973 src/arm/code-stubs-arm.cc __ stm(db_w, sp, kCallerSaved | lr.bit()); __ 1976 src/arm/code-stubs-arm.cc __ sub(sp, sp, Operand(kDoubleSize * DwVfpRegister::kNumRegisters)); __ 1979 src/arm/code-stubs-arm.cc __ vstr(reg, MemOperand(sp, i * kDoubleSize)); __ 1987 src/arm/code-stubs-arm.cc __ PrepareCallCFunction(argument_count, fp_argument_count, scratch); __ 1988 src/arm/code-stubs-arm.cc __ mov(r0, Operand(ExternalReference::isolate_address())); __ 1989 src/arm/code-stubs-arm.cc __ CallCFunction( __ 1996 src/arm/code-stubs-arm.cc __ vldr(reg, MemOperand(sp, i * kDoubleSize)); __ 1998 src/arm/code-stubs-arm.cc __ add(sp, sp, Operand(kDoubleSize * DwVfpRegister::kNumRegisters)); __ 2000 src/arm/code-stubs-arm.cc __ ldm(ia_w, sp, kCallerSaved | pc.bit()); // Also pop pc to get Ret(0). __ 2038 src/arm/code-stubs-arm.cc __ mov(r3, Operand(r0)); // the operand __ 2039 src/arm/code-stubs-arm.cc __ mov(r2, Operand(Smi::FromInt(op_))); __ 2040 src/arm/code-stubs-arm.cc __ mov(r1, Operand(Smi::FromInt(mode_))); __ 2041 src/arm/code-stubs-arm.cc __ mov(r0, Operand(Smi::FromInt(operand_type_))); __ 2042 src/arm/code-stubs-arm.cc __ Push(r3, r2, r1, r0); __ 2044 src/arm/code-stubs-arm.cc __ TailCallExternalReference( __ 2067 src/arm/code-stubs-arm.cc __ bind(&non_smi); __ 2068 src/arm/code-stubs-arm.cc __ bind(&slow); __ 2076 src/arm/code-stubs-arm.cc __ bind(&non_smi); __ 2084 src/arm/code-stubs-arm.cc __ JumpIfNotSmi(r0, non_smi); __ 2087 src/arm/code-stubs-arm.cc __ bic(ip, r0, Operand(0x80000000), SetCC); __ 2088 src/arm/code-stubs-arm.cc __ b(eq, slow); __ 2091 src/arm/code-stubs-arm.cc __ rsb(r0, r0, Operand(0, RelocInfo::NONE)); __ 2092 src/arm/code-stubs-arm.cc __ Ret(); __ 2098 src/arm/code-stubs-arm.cc __ JumpIfNotSmi(r0, non_smi); __ 2101 src/arm/code-stubs-arm.cc __ mvn(r0, Operand(r0)); __ 2102 src/arm/code-stubs-arm.cc __ bic(r0, r0, Operand(kSmiTagMask)); __ 2103 src/arm/code-stubs-arm.cc __ Ret(); __ 2125 src/arm/code-stubs-arm.cc __ bind(&non_smi); __ 2127 src/arm/code-stubs-arm.cc __ bind(&slow); __ 2129 src/arm/code-stubs-arm.cc __ bind(&call_builtin); __ 2137 src/arm/code-stubs-arm.cc __ bind(&non_smi); __ 2139 src/arm/code-stubs-arm.cc __ bind(&slow); __ 2148 src/arm/code-stubs-arm.cc __ ldr(r2, FieldMemOperand(r0, HeapNumber::kExponentOffset)); __ 2149 src/arm/code-stubs-arm.cc __ eor(r2, r2, Operand(HeapNumber::kSignMask)); // Flip sign. __ 2150 src/arm/code-stubs-arm.cc __ str(r2, FieldMemOperand(r0, HeapNumber::kExponentOffset)); __ 2153 src/arm/code-stubs-arm.cc __ AllocateHeapNumber(r1, r2, r3, r6, &slow_allocate_heapnumber); __ 2154 src/arm/code-stubs-arm.cc __ jmp(&heapnumber_allocated); __ 2156 src/arm/code-stubs-arm.cc __ bind(&slow_allocate_heapnumber); __ 2159 src/arm/code-stubs-arm.cc __ push(r0); __ 2160 src/arm/code-stubs-arm.cc __ CallRuntime(Runtime::kNumberAlloc, 0); __ 2161 src/arm/code-stubs-arm.cc __ mov(r1, Operand(r0)); __ 2162 src/arm/code-stubs-arm.cc __ pop(r0); __ 2165 src/arm/code-stubs-arm.cc __ bind(&heapnumber_allocated); __ 2166 src/arm/code-stubs-arm.cc __ ldr(r3, FieldMemOperand(r0, HeapNumber::kMantissaOffset)); __ 2167 src/arm/code-stubs-arm.cc __ ldr(r2, FieldMemOperand(r0, HeapNumber::kExponentOffset)); __ 2168 src/arm/code-stubs-arm.cc __ str(r3, FieldMemOperand(r1, HeapNumber::kMantissaOffset)); __ 2169 src/arm/code-stubs-arm.cc __ eor(r2, r2, Operand(HeapNumber::kSignMask)); // Flip sign. __ 2170 src/arm/code-stubs-arm.cc __ str(r2, FieldMemOperand(r1, HeapNumber::kExponentOffset)); __ 2171 src/arm/code-stubs-arm.cc __ mov(r0, Operand(r1)); __ 2173 src/arm/code-stubs-arm.cc __ Ret(); __ 2183 src/arm/code-stubs-arm.cc __ ConvertToInt32(r0, r1, r2, r3, d0, slow); __ 2187 src/arm/code-stubs-arm.cc __ mvn(r1, Operand(r1)); __ 2188 src/arm/code-stubs-arm.cc __ add(r2, r1, Operand(0x40000000), SetCC); __ 2189 src/arm/code-stubs-arm.cc __ b(mi, &try_float); __ 2192 src/arm/code-stubs-arm.cc __ mov(r0, Operand(r1, LSL, kSmiTagSize)); __ 2193 src/arm/code-stubs-arm.cc __ Ret(); __ 2196 src/arm/code-stubs-arm.cc __ bind(&try_float); __ 2200 src/arm/code-stubs-arm.cc __ AllocateHeapNumber(r2, r3, r4, r6, &slow_allocate_heapnumber); __ 2201 src/arm/code-stubs-arm.cc __ jmp(&heapnumber_allocated); __ 2203 src/arm/code-stubs-arm.cc __ bind(&slow_allocate_heapnumber); __ 2206 src/arm/code-stubs-arm.cc __ push(r0); // Push the heap number, not the untagged int32. __ 2207 src/arm/code-stubs-arm.cc __ CallRuntime(Runtime::kNumberAlloc, 0); __ 2208 src/arm/code-stubs-arm.cc __ mov(r2, r0); // Move the new heap number into r2. __ 2210 src/arm/code-stubs-arm.cc __ pop(r0); __ 2216 src/arm/code-stubs-arm.cc __ ConvertToInt32(r0, r1, r3, r4, d0, &impossible); __ 2217 src/arm/code-stubs-arm.cc __ mvn(r1, Operand(r1)); __ 2219 src/arm/code-stubs-arm.cc __ bind(&heapnumber_allocated); __ 2220 src/arm/code-stubs-arm.cc __ mov(r0, r2); // Move newly allocated heap number to r0. __ 2226 src/arm/code-stubs-arm.cc __ vmov(s0, r1); __ 2227 src/arm/code-stubs-arm.cc __ vcvt_f64_s32(d0, s0); __ 2228 src/arm/code-stubs-arm.cc __ sub(r2, r0, Operand(kHeapObjectTag)); __ 2229 src/arm/code-stubs-arm.cc __ vstr(d0, r2, HeapNumber::kValueOffset); __ 2230 src/arm/code-stubs-arm.cc __ Ret(); __ 2235 src/arm/code-stubs-arm.cc __ Jump(stub.GetCode(), RelocInfo::CODE_TARGET); __ 2238 src/arm/code-stubs-arm.cc __ bind(&impossible); __ 2240 src/arm/code-stubs-arm.cc __ stop("Incorrect assumption in bit-not stub"); __ 2263 src/arm/code-stubs-arm.cc __ bind(&non_smi); __ 2265 src/arm/code-stubs-arm.cc __ bind(&slow); __ 2273 src/arm/code-stubs-arm.cc __ bind(&non_smi); __ 2275 src/arm/code-stubs-arm.cc __ bind(&slow); __ 2282 src/arm/code-stubs-arm.cc __ push(r0); __ 2285 src/arm/code-stubs-arm.cc __ InvokeBuiltin(Builtins::UNARY_MINUS, JUMP_FUNCTION); __ 2288 src/arm/code-stubs-arm.cc __ InvokeBuiltin(Builtins::BIT_NOT, JUMP_FUNCTION); __ 2299 src/arm/code-stubs-arm.cc __ Push(r1, r0); __ 2301 src/arm/code-stubs-arm.cc __ mov(r2, Operand(Smi::FromInt(MinorKey()))); __ 2302 src/arm/code-stubs-arm.cc __ mov(r1, Operand(Smi::FromInt(op_))); __ 2303 src/arm/code-stubs-arm.cc __ mov(r0, Operand(Smi::FromInt(operands_type_))); __ 2304 src/arm/code-stubs-arm.cc __ Push(r2, r1, r0); __ 2306 src/arm/code-stubs-arm.cc __ TailCallExternalReference( __ 2384 src/arm/code-stubs-arm.cc __ add(right, left, Operand(right), SetCC); // Add optimistically. __ 2385 src/arm/code-stubs-arm.cc __ Ret(vc); __ 2386 src/arm/code-stubs-arm.cc __ sub(right, right, Operand(left)); // Revert optimistic add. __ 2389 src/arm/code-stubs-arm.cc __ sub(right, left, Operand(right), SetCC); // Subtract optimistically. __ 2390 src/arm/code-stubs-arm.cc __ Ret(vc); __ 2391 src/arm/code-stubs-arm.cc __ sub(right, left, Operand(right)); // Revert optimistic subtract. __ 2396 src/arm/code-stubs-arm.cc __ SmiUntag(ip, right); __ 2400 src/arm/code-stubs-arm.cc __ smull(scratch1, scratch2, left, ip); __ 2403 src/arm/code-stubs-arm.cc __ mov(ip, Operand(scratch1, ASR, 31)); __ 2404 src/arm/code-stubs-arm.cc __ cmp(ip, Operand(scratch2)); __ 2405 src/arm/code-stubs-arm.cc __ b(ne, ¬_smi_result); __ 2407 src/arm/code-stubs-arm.cc __ cmp(scratch1, Operand(0)); __ 2408 src/arm/code-stubs-arm.cc __ mov(right, Operand(scratch1), LeaveCC, ne); __ 2409 src/arm/code-stubs-arm.cc __ Ret(ne); __ 2412 src/arm/code-stubs-arm.cc __ add(scratch2, right, Operand(left), SetCC); __ 2413 src/arm/code-stubs-arm.cc __ mov(right, Operand(Smi::FromInt(0)), LeaveCC, pl); __ 2414 src/arm/code-stubs-arm.cc __ Ret(pl); // Return smi 0 if the non-zero one was positive. __ 2420 src/arm/code-stubs-arm.cc __ JumpIfNotPowerOfTwoOrZero(right, scratch1, ¬_smi_result); __ 2422 src/arm/code-stubs-arm.cc __ orr(scratch2, scratch1, Operand(0x80000000u)); __ 2423 src/arm/code-stubs-arm.cc __ tst(left, scratch2); __ 2424 src/arm/code-stubs-arm.cc __ b(ne, ¬_smi_result); __ 2427 src/arm/code-stubs-arm.cc __ CountLeadingZeros(scratch1, scratch1, scratch2); __ 2428 src/arm/code-stubs-arm.cc __ rsb(scratch1, scratch1, Operand(31)); __ 2429 src/arm/code-stubs-arm.cc __ mov(right, Operand(left, LSR, scratch1)); __ 2430 src/arm/code-stubs-arm.cc __ Ret(); __ 2434 src/arm/code-stubs-arm.cc __ orr(scratch1, left, Operand(right)); __ 2435 src/arm/code-stubs-arm.cc __ tst(scratch1, Operand(0x80000000u | kSmiTagMask)); __ 2436 src/arm/code-stubs-arm.cc __ b(ne, ¬_smi_result); __ 2439 src/arm/code-stubs-arm.cc __ JumpIfNotPowerOfTwoOrZero(right, scratch1, ¬_smi_result); __ 2442 src/arm/code-stubs-arm.cc __ and_(right, left, Operand(scratch1)); __ 2443 src/arm/code-stubs-arm.cc __ Ret(); __ 2446 src/arm/code-stubs-arm.cc __ orr(right, left, Operand(right)); __ 2447 src/arm/code-stubs-arm.cc __ Ret(); __ 2450 src/arm/code-stubs-arm.cc __ and_(right, left, Operand(right)); __ 2451 src/arm/code-stubs-arm.cc __ Ret(); __ 2454 src/arm/code-stubs-arm.cc __ eor(right, left, Operand(right)); __ 2455 src/arm/code-stubs-arm.cc __ Ret(); __ 2459 src/arm/code-stubs-arm.cc __ GetLeastBitsFromSmi(scratch1, right, 5); __ 2460 src/arm/code-stubs-arm.cc __ mov(right, Operand(left, ASR, scratch1)); __ 2462 src/arm/code-stubs-arm.cc __ bic(right, right, Operand(kSmiTagMask)); __ 2463 src/arm/code-stubs-arm.cc __ Ret(); __ 2468 src/arm/code-stubs-arm.cc __ SmiUntag(scratch1, left); __ 2469 src/arm/code-stubs-arm.cc __ GetLeastBitsFromSmi(scratch2, right, 5); __ 2470 src/arm/code-stubs-arm.cc __ mov(scratch1, Operand(scratch1, LSR, scratch2)); __ 2473 src/arm/code-stubs-arm.cc __ tst(scratch1, Operand(0xc0000000)); __ 2474 src/arm/code-stubs-arm.cc __ b(ne, ¬_smi_result); __ 2476 src/arm/code-stubs-arm.cc __ SmiTag(right, scratch1); __ 2477 src/arm/code-stubs-arm.cc __ Ret(); __ 2481 src/arm/code-stubs-arm.cc __ SmiUntag(scratch1, left); __ 2482 src/arm/code-stubs-arm.cc __ GetLeastBitsFromSmi(scratch2, right, 5); __ 2483 src/arm/code-stubs-arm.cc __ mov(scratch1, Operand(scratch1, LSL, scratch2)); __ 2485 src/arm/code-stubs-arm.cc __ add(scratch2, scratch1, Operand(0x40000000), SetCC); __ 2486 src/arm/code-stubs-arm.cc __ b(mi, ¬_smi_result); __ 2487 src/arm/code-stubs-arm.cc __ SmiTag(right, scratch1); __ 2488 src/arm/code-stubs-arm.cc __ Ret(); __ 2493 src/arm/code-stubs-arm.cc __ bind(¬_smi_result); __ 2509 src/arm/code-stubs-arm.cc __ AbortIfNotSmi(left); __ 2510 src/arm/code-stubs-arm.cc __ AbortIfNotSmi(right); __ 2514 src/arm/code-stubs-arm.cc __ LoadRoot(heap_number_map, Heap::kHeapNumberMapRootIndex); __ 2555 src/arm/code-stubs-arm.cc __ vadd(d5, d6, d7); __ 2558 src/arm/code-stubs-arm.cc __ vsub(d5, d6, d7); __ 2561 src/arm/code-stubs-arm.cc __ vmul(d5, d6, d7); __ 2564 src/arm/code-stubs-arm.cc __ vdiv(d5, d6, d7); __ 2570 src/arm/code-stubs-arm.cc __ sub(r0, result, Operand(kHeapObjectTag)); __ 2571 src/arm/code-stubs-arm.cc __ vstr(d5, r0, HeapNumber::kValueOffset); __ 2572 src/arm/code-stubs-arm.cc __ add(r0, r0, Operand(kHeapObjectTag)); __ 2573 src/arm/code-stubs-arm.cc __ Ret(); __ 2581 src/arm/code-stubs-arm.cc __ stop("Unreachable code."); __ 2593 src/arm/code-stubs-arm.cc __ SmiUntag(r3, left); __ 2594 src/arm/code-stubs-arm.cc __ SmiUntag(r2, right); __ 2620 src/arm/code-stubs-arm.cc __ orr(r2, r3, Operand(r2)); __ 2623 src/arm/code-stubs-arm.cc __ eor(r2, r3, Operand(r2)); __ 2626 src/arm/code-stubs-arm.cc __ and_(r2, r3, Operand(r2)); __ 2630 src/arm/code-stubs-arm.cc __ GetLeastBitsFromInt32(r2, r2, 5); __ 2631 src/arm/code-stubs-arm.cc __ mov(r2, Operand(r3, ASR, r2)); __ 2635 src/arm/code-stubs-arm.cc __ GetLeastBitsFromInt32(r2, r2, 5); __ 2636 src/arm/code-stubs-arm.cc __ mov(r2, Operand(r3, LSR, r2), SetCC); __ 2642 src/arm/code-stubs-arm.cc __ b(mi, &result_not_a_smi); __ 2644 src/arm/code-stubs-arm.cc __ b(mi, not_numbers); __ 2649 src/arm/code-stubs-arm.cc __ GetLeastBitsFromInt32(r2, r2, 5); __ 2650 src/arm/code-stubs-arm.cc __ mov(r2, Operand(r3, LSL, r2)); __ 2657 src/arm/code-stubs-arm.cc __ add(r3, r2, Operand(0x40000000), SetCC); __ 2658 src/arm/code-stubs-arm.cc __ b(mi, &result_not_a_smi); __ 2659 src/arm/code-stubs-arm.cc __ SmiTag(r0, r2); __ 2660 src/arm/code-stubs-arm.cc __ Ret(); __ 2663 src/arm/code-stubs-arm.cc __ bind(&result_not_a_smi); __ 2666 src/arm/code-stubs-arm.cc __ AllocateHeapNumber( __ 2678 src/arm/code-stubs-arm.cc __ mov(r0, Operand(r5)); __ 2684 src/arm/code-stubs-arm.cc __ vmov(s0, r2); __ 2686 src/arm/code-stubs-arm.cc __ vcvt_f64_u32(d0, s0); __ 2688 src/arm/code-stubs-arm.cc __ vcvt_f64_s32(d0, s0); __ 2690 src/arm/code-stubs-arm.cc __ sub(r3, r0, Operand(kHeapObjectTag)); __ 2691 src/arm/code-stubs-arm.cc __ vstr(d0, r3, HeapNumber::kValueOffset); __ 2692 src/arm/code-stubs-arm.cc __ Ret(); __ 2697 src/arm/code-stubs-arm.cc __ TailCallStub(&stub); __ 2723 src/arm/code-stubs-arm.cc __ orr(scratch1, left, Operand(right)); __ 2725 src/arm/code-stubs-arm.cc __ JumpIfNotSmi(scratch1, ¬_smis); __ 2735 src/arm/code-stubs-arm.cc __ bind(¬_smis); __ 2759 src/arm/code-stubs-arm.cc __ bind(&call_runtime); __ 2786 src/arm/code-stubs-arm.cc __ JumpIfSmi(left, &call_runtime); __ 2787 src/arm/code-stubs-arm.cc __ CompareObjectType(left, r2, r2, FIRST_NONSTRING_TYPE); __ 2788 src/arm/code-stubs-arm.cc __ b(ge, &call_runtime); __ 2791 src/arm/code-stubs-arm.cc __ JumpIfSmi(right, &call_runtime); __ 2792 src/arm/code-stubs-arm.cc __ CompareObjectType(right, r2, r2, FIRST_NONSTRING_TYPE); __ 2793 src/arm/code-stubs-arm.cc __ b(ge, &call_runtime); __ 2797 src/arm/code-stubs-arm.cc __ TailCallStub(&string_add_stub); __ 2799 src/arm/code-stubs-arm.cc __ bind(&call_runtime); __ 2816 src/arm/code-stubs-arm.cc __ LoadRoot(heap_number_map, Heap::kHeapNumberMapRootIndex); __ 2826 src/arm/code-stubs-arm.cc __ orr(scratch1, left, right); __ 2827 src/arm/code-stubs-arm.cc __ JumpIfNotSmi(scratch1, &skip); __ 2830 src/arm/code-stubs-arm.cc __ bind(&skip); __ 2874 src/arm/code-stubs-arm.cc __ vadd(d5, d6, d7); __ 2877 src/arm/code-stubs-arm.cc __ vsub(d5, d6, d7); __ 2880 src/arm/code-stubs-arm.cc __ vmul(d5, d6, d7); __ 2883 src/arm/code-stubs-arm.cc __ vdiv(d5, d6, d7); __ 2895 src/arm/code-stubs-arm.cc __ EmitVFPTruncate(kRoundToZero, __ 2904 src/arm/code-stubs-arm.cc __ b(ne, &transition); __ 2908 src/arm/code-stubs-arm.cc __ vmov(scratch1, single_scratch); __ 2909 src/arm/code-stubs-arm.cc __ add(scratch2, scratch1, Operand(0x40000000), SetCC); __ 2911 src/arm/code-stubs-arm.cc __ b(mi, &return_heap_number); __ 2914 src/arm/code-stubs-arm.cc __ cmp(scratch1, Operand::Zero()); __ 2915 src/arm/code-stubs-arm.cc __ b(ne, ¬_zero); __ 2916 src/arm/code-stubs-arm.cc __ vmov(scratch2, d5.high()); __ 2917 src/arm/code-stubs-arm.cc __ tst(scratch2, Operand(HeapNumber::kSignMask)); __ 2918 src/arm/code-stubs-arm.cc __ b(ne, &return_heap_number); __ 2919 src/arm/code-stubs-arm.cc __ bind(¬_zero); __ 2922 src/arm/code-stubs-arm.cc __ SmiTag(r0, scratch1); __ 2923 src/arm/code-stubs-arm.cc __ Ret(); __ 2928 src/arm/code-stubs-arm.cc __ bind(&return_heap_number); __ 2941 src/arm/code-stubs-arm.cc __ sub(r0, heap_number_result, Operand(kHeapObjectTag)); __ 2942 src/arm/code-stubs-arm.cc __ vstr(d5, r0, HeapNumber::kValueOffset); __ 2943 src/arm/code-stubs-arm.cc __ mov(r0, heap_number_result); __ 2944 src/arm/code-stubs-arm.cc __ Ret(); __ 2953 src/arm/code-stubs-arm.cc __ Push(r5, r4); __ 2967 src/arm/code-stubs-arm.cc __ Pop(r1, r0); __ 2973 src/arm/code-stubs-arm.cc __ stop("Unreachable code."); __ 2976 src/arm/code-stubs-arm.cc __ bind(&pop_and_call_runtime); __ 2977 src/arm/code-stubs-arm.cc __ Drop(2); __ 2978 src/arm/code-stubs-arm.cc __ b(&call_runtime); __ 3018 src/arm/code-stubs-arm.cc __ orr(r2, r3, Operand(r2)); __ 3021 src/arm/code-stubs-arm.cc __ eor(r2, r3, Operand(r2)); __ 3024 src/arm/code-stubs-arm.cc __ and_(r2, r3, Operand(r2)); __ 3027 src/arm/code-stubs-arm.cc __ and_(r2, r2, Operand(0x1f)); __ 3028 src/arm/code-stubs-arm.cc __ mov(r2, Operand(r3, ASR, r2)); __ 3031 src/arm/code-stubs-arm.cc __ and_(r2, r2, Operand(0x1f)); __ 3032 src/arm/code-stubs-arm.cc __ mov(r2, Operand(r3, LSR, r2), SetCC); __ 3040 src/arm/code-stubs-arm.cc __ b(mi, (result_type_ <= BinaryOpIC::INT32) __ 3044 src/arm/code-stubs-arm.cc __ b(mi, (result_type_ <= BinaryOpIC::INT32) __ 3050 src/arm/code-stubs-arm.cc __ and_(r2, r2, Operand(0x1f)); __ 3051 src/arm/code-stubs-arm.cc __ mov(r2, Operand(r3, LSL, r2)); __ 3058 src/arm/code-stubs-arm.cc __ add(scratch1, r2, Operand(0x40000000), SetCC); __ 3060 src/arm/code-stubs-arm.cc __ b(mi, &return_heap_number); __ 3062 src/arm/code-stubs-arm.cc __ SmiTag(r0, r2); __ 3063 src/arm/code-stubs-arm.cc __ Ret(); __ 3065 src/arm/code-stubs-arm.cc __ bind(&return_heap_number); __ 3078 src/arm/code-stubs-arm.cc __ vmov(double_scratch.low(), r2); __ 3079 src/arm/code-stubs-arm.cc __ vcvt_f64_s32(double_scratch, double_scratch.low()); __ 3082 src/arm/code-stubs-arm.cc __ vmov(double_scratch.low(), r2); __ 3083 src/arm/code-stubs-arm.cc __ vcvt_f64_u32(double_scratch, double_scratch.low()); __ 3087 src/arm/code-stubs-arm.cc __ sub(r0, heap_number_result, Operand(kHeapObjectTag)); __ 3088 src/arm/code-stubs-arm.cc __ vstr(double_scratch, r0, HeapNumber::kValueOffset); __ 3089 src/arm/code-stubs-arm.cc __ mov(r0, heap_number_result); __ 3090 src/arm/code-stubs-arm.cc __ Ret(); __ 3094 src/arm/code-stubs-arm.cc __ mov(r0, r5); __ 3096 src/arm/code-stubs-arm.cc __ TailCallStub(&stub); __ 3111 src/arm/code-stubs-arm.cc __ bind(&transition); __ 3115 src/arm/code-stubs-arm.cc __ bind(&call_runtime); __ 3131 src/arm/code-stubs-arm.cc __ CompareRoot(r1, Heap::kUndefinedValueRootIndex); __ 3132 src/arm/code-stubs-arm.cc __ b(ne, &check); __ 3134 src/arm/code-stubs-arm.cc __ mov(r1, Operand(Smi::FromInt(0))); __ 3136 src/arm/code-stubs-arm.cc __ LoadRoot(r1, Heap::kNanValueRootIndex); __ 3138 src/arm/code-stubs-arm.cc __ jmp(&done); __ 3139 src/arm/code-stubs-arm.cc __ bind(&check); __ 3140 src/arm/code-stubs-arm.cc __ CompareRoot(r0, Heap::kUndefinedValueRootIndex); __ 3141 src/arm/code-stubs-arm.cc __ b(ne, &done); __ 3143 src/arm/code-stubs-arm.cc __ mov(r0, Operand(Smi::FromInt(0))); __ 3145 src/arm/code-stubs-arm.cc __ LoadRoot(r0, Heap::kNanValueRootIndex); __ 3147 src/arm/code-stubs-arm.cc __ bind(&done); __ 3157 src/arm/code-stubs-arm.cc __ bind(&call_runtime); __ 3169 src/arm/code-stubs-arm.cc __ bind(&call_string_add_or_runtime); __ 3174 src/arm/code-stubs-arm.cc __ bind(&call_runtime); __ 3187 src/arm/code-stubs-arm.cc __ JumpIfSmi(left, &left_not_string); __ 3188 src/arm/code-stubs-arm.cc __ CompareObjectType(left, r2, r2, FIRST_NONSTRING_TYPE); __ 3189 src/arm/code-stubs-arm.cc __ b(ge, &left_not_string); __ 3193 src/arm/code-stubs-arm.cc __ TailCallStub(&string_add_left_stub); __ 3196 src/arm/code-stubs-arm.cc __ bind(&left_not_string); __ 3197 src/arm/code-stubs-arm.cc __ JumpIfSmi(right, &call_runtime); __ 3198 src/arm/code-stubs-arm.cc __ CompareObjectType(right, r2, r2, FIRST_NONSTRING_TYPE); __ 3199 src/arm/code-stubs-arm.cc __ b(ge, &call_runtime); __ 3203 src/arm/code-stubs-arm.cc __ TailCallStub(&string_add_right_stub); __ 3206 src/arm/code-stubs-arm.cc __ bind(&call_runtime); __ 3214 src/arm/code-stubs-arm.cc __ InvokeBuiltin(Builtins::ADD, JUMP_FUNCTION); __ 3217 src/arm/code-stubs-arm.cc __ InvokeBuiltin(Builtins::SUB, JUMP_FUNCTION); __ 3220 src/arm/code-stubs-arm.cc __ InvokeBuiltin(Builtins::MUL, JUMP_FUNCTION); __ 3223 src/arm/code-stubs-arm.cc __ InvokeBuiltin(Builtins::DIV, JUMP_FUNCTION); __ 3226 src/arm/code-stubs-arm.cc __ InvokeBuiltin(Builtins::MOD, JUMP_FUNCTION); __ 3229 src/arm/code-stubs-arm.cc __ InvokeBuiltin(Builtins::BIT_OR, JUMP_FUNCTION); __ 3232 src/arm/code-stubs-arm.cc __ InvokeBuiltin(Builtins::BIT_AND, JUMP_FUNCTION); __ 3235 src/arm/code-stubs-arm.cc __ InvokeBuiltin(Builtins::BIT_XOR, JUMP_FUNCTION); __ 3238 src/arm/code-stubs-arm.cc __ InvokeBuiltin(Builtins::SAR, JUMP_FUNCTION); __ 3241 src/arm/code-stubs-arm.cc __ InvokeBuiltin(Builtins::SHR, JUMP_FUNCTION); __ 3244 src/arm/code-stubs-arm.cc __ InvokeBuiltin(Builtins::SHL, JUMP_FUNCTION); __ 3267 src/arm/code-stubs-arm.cc __ JumpIfNotSmi(overwritable_operand, &skip_allocation); __ 3269 src/arm/code-stubs-arm.cc __ AllocateHeapNumber( __ 3271 src/arm/code-stubs-arm.cc __ b(&allocated); __ 3272 src/arm/code-stubs-arm.cc __ bind(&skip_allocation); __ 3274 src/arm/code-stubs-arm.cc __ mov(result, Operand(overwritable_operand)); __ 3275 src/arm/code-stubs-arm.cc __ bind(&allocated); __ 3278 src/arm/code-stubs-arm.cc __ AllocateHeapNumber( __ 3285 src/arm/code-stubs-arm.cc __ Push(r1, r0); __ 3309 src/arm/code-stubs-arm.cc __ JumpIfNotSmi(r0, &input_not_smi); __ 3313 src/arm/code-stubs-arm.cc __ IntegerToDoubleConversionWithVFP3(r0, r3, r2); __ 3314 src/arm/code-stubs-arm.cc __ b(&loaded); __ 3316 src/arm/code-stubs-arm.cc __ bind(&input_not_smi); __ 3318 src/arm/code-stubs-arm.cc __ CheckMap(r0, __ 3325 src/arm/code-stubs-arm.cc __ vldr(d0, FieldMemOperand(r0, HeapNumber::kValueOffset)); __ 3326 src/arm/code-stubs-arm.cc __ vmov(r2, r3, d0); __ 3329 src/arm/code-stubs-arm.cc __ vmov(r2, r3, d2); __ 3331 src/arm/code-stubs-arm.cc __ bind(&loaded); __ 3336 src/arm/code-stubs-arm.cc __ eor(r1, r2, Operand(r3)); __ 3337 src/arm/code-stubs-arm.cc __ eor(r1, r1, Operand(r1, ASR, 16)); __ 3338 src/arm/code-stubs-arm.cc __ eor(r1, r1, Operand(r1, ASR, 8)); __ 3340 src/arm/code-stubs-arm.cc __ And(r1, r1, Operand(TranscendentalCache::SubCache::kCacheSize - 1)); __ 3348 src/arm/code-stubs-arm.cc __ mov(cache_entry, Operand(cache_array)); __ 3352 src/arm/code-stubs-arm.cc __ ldr(cache_entry, MemOperand(cache_entry, cache_array_index)); __ 3355 src/arm/code-stubs-arm.cc __ cmp(cache_entry, Operand(0, RelocInfo::NONE)); __ 3356 src/arm/code-stubs-arm.cc __ b(eq, &invalid_cache); __ 3374 src/arm/code-stubs-arm.cc __ add(r1, r1, Operand(r1, LSL, 1)); __ 3375 src/arm/code-stubs-arm.cc __ add(cache_entry, cache_entry, Operand(r1, LSL, 2)); __ 3377 src/arm/code-stubs-arm.cc __ ldm(ia, cache_entry, r4.bit() | r5.bit() | r6.bit()); __ 3378 src/arm/code-stubs-arm.cc __ cmp(r2, r4); __ 3379 src/arm/code-stubs-arm.cc __ cmp(r3, r5, eq); __ 3380 src/arm/code-stubs-arm.cc __ b(ne, &calculate); __ 3383 src/arm/code-stubs-arm.cc __ IncrementCounter( __ 3387 src/arm/code-stubs-arm.cc __ pop(); __ 3388 src/arm/code-stubs-arm.cc __ mov(r0, Operand(r6)); __ 3391 src/arm/code-stubs-arm.cc __ vldr(d2, FieldMemOperand(r6, HeapNumber::kValueOffset)); __ 3393 src/arm/code-stubs-arm.cc __ Ret(); __ 3396 src/arm/code-stubs-arm.cc __ bind(&calculate); __ 3398 src/arm/code-stubs-arm.cc __ IncrementCounter( __ 3401 src/arm/code-stubs-arm.cc __ bind(&invalid_cache); __ 3404 src/arm/code-stubs-arm.cc __ TailCallExternalReference(runtime_function, 1, 1); __ 3416 src/arm/code-stubs-arm.cc __ Push(r3, r2, cache_entry); __ 3418 src/arm/code-stubs-arm.cc __ GetCFunctionDoubleResult(d2); __ 3422 src/arm/code-stubs-arm.cc __ Pop(r3, r2, cache_entry); __ 3423 src/arm/code-stubs-arm.cc __ LoadRoot(r5, Heap::kHeapNumberMapRootIndex); __ 3424 src/arm/code-stubs-arm.cc __ AllocateHeapNumber(r6, scratch0, scratch1, r5, &no_update); __ 3425 src/arm/code-stubs-arm.cc __ vstr(d2, FieldMemOperand(r6, HeapNumber::kValueOffset)); __ 3426 src/arm/code-stubs-arm.cc __ stm(ia, cache_entry, r2.bit() | r3.bit() | r6.bit()); __ 3427 src/arm/code-stubs-arm.cc __ Ret(); __ 3429 src/arm/code-stubs-arm.cc __ bind(&invalid_cache); __ 3432 src/arm/code-stubs-arm.cc __ LoadRoot(r5, Heap::kHeapNumberMapRootIndex); __ 3433 src/arm/code-stubs-arm.cc __ AllocateHeapNumber(r0, scratch0, scratch1, r5, &skip_cache); __ 3434 src/arm/code-stubs-arm.cc __ vstr(d2, FieldMemOperand(r0, HeapNumber::kValueOffset)); __ 3437 src/arm/code-stubs-arm.cc __ push(r0); __ 3438 src/arm/code-stubs-arm.cc __ CallRuntime(RuntimeFunction(), 1); __ 3440 src/arm/code-stubs-arm.cc __ vldr(d2, FieldMemOperand(r0, HeapNumber::kValueOffset)); __ 3441 src/arm/code-stubs-arm.cc __ Ret(); __ 3443 src/arm/code-stubs-arm.cc __ bind(&skip_cache); __ 3447 src/arm/code-stubs-arm.cc __ GetCFunctionDoubleResult(d2); __ 3448 src/arm/code-stubs-arm.cc __ bind(&no_update); __ 3457 src/arm/code-stubs-arm.cc __ mov(scratch0, Operand(4 * kPointerSize)); __ 3458 src/arm/code-stubs-arm.cc __ push(scratch0); __ 3459 src/arm/code-stubs-arm.cc __ CallRuntimeSaveDoubles(Runtime::kAllocateInNewSpace); __ 3461 src/arm/code-stubs-arm.cc __ Ret(); __ 3470 src/arm/code-stubs-arm.cc __ push(lr); __ 3471 src/arm/code-stubs-arm.cc __ PrepareCallCFunction(0, 1, scratch); __ 3473 src/arm/code-stubs-arm.cc __ vmov(d0, d2); __ 3475 src/arm/code-stubs-arm.cc __ vmov(r0, r1, d2); __ 3480 src/arm/code-stubs-arm.cc __ CallCFunction(ExternalReference::math_sin_double_function(isolate), __ 3484 src/arm/code-stubs-arm.cc __ CallCFunction(ExternalReference::math_cos_double_function(isolate), __ 3488 src/arm/code-stubs-arm.cc __ CallCFunction(ExternalReference::math_tan_double_function(isolate), __ 3492 src/arm/code-stubs-arm.cc __ CallCFunction(ExternalReference::math_log_double_function(isolate), __ 3499 src/arm/code-stubs-arm.cc __ pop(lr); __ 3518 src/arm/code-stubs-arm.cc __ TailCallRuntime(Runtime::kStackGuard, 0, 1); __ 3523 src/arm/code-stubs-arm.cc __ TailCallRuntime(Runtime::kInterrupt, 0, 1); __ 3547 src/arm/code-stubs-arm.cc __ ldr(base, MemOperand(sp, 1 * kPointerSize)); __ 3548 src/arm/code-stubs-arm.cc __ ldr(exponent, MemOperand(sp, 0 * kPointerSize)); __ 3550 src/arm/code-stubs-arm.cc __ LoadRoot(heapnumbermap, Heap::kHeapNumberMapRootIndex); __ 3552 src/arm/code-stubs-arm.cc __ UntagAndJumpIfSmi(scratch, base, &base_is_smi); __ 3553 src/arm/code-stubs-arm.cc __ ldr(scratch, FieldMemOperand(base, JSObject::kMapOffset)); __ 3554 src/arm/code-stubs-arm.cc __ cmp(scratch, heapnumbermap); __ 3555 src/arm/code-stubs-arm.cc __ b(ne, &call_runtime); __ 3557 src/arm/code-stubs-arm.cc __ vldr(double_base, FieldMemOperand(base, HeapNumber::kValueOffset)); __ 3558 src/arm/code-stubs-arm.cc __ jmp(&unpack_exponent); __ 3560 src/arm/code-stubs-arm.cc __ bind(&base_is_smi); __ 3561 src/arm/code-stubs-arm.cc __ vmov(single_scratch, scratch); __ 3562 src/arm/code-stubs-arm.cc __ vcvt_f64_s32(double_base, single_scratch); __ 3563 src/arm/code-stubs-arm.cc __ bind(&unpack_exponent); __ 3565 src/arm/code-stubs-arm.cc __ UntagAndJumpIfSmi(scratch, exponent, &int_exponent); __ 3567 src/arm/code-stubs-arm.cc __ ldr(scratch, FieldMemOperand(exponent, JSObject::kMapOffset)); __ 3568 src/arm/code-stubs-arm.cc __ cmp(scratch, heapnumbermap); __ 3569 src/arm/code-stubs-arm.cc __ b(ne, &call_runtime); __ 3570 src/arm/code-stubs-arm.cc __ vldr(double_exponent, __ 3574 src/arm/code-stubs-arm.cc __ UntagAndJumpIfSmi(scratch, exponent, &int_exponent); __ 3576 src/arm/code-stubs-arm.cc __ vldr(double_exponent, __ 3583 src/arm/code-stubs-arm.cc __ vcvt_u32_f64(single_scratch, double_exponent); __ 3586 src/arm/code-stubs-arm.cc __ vcvt_f64_u32(double_scratch, single_scratch); __ 3587 src/arm/code-stubs-arm.cc __ VFPCompareAndSetFlags(double_scratch, double_exponent); __ 3588 src/arm/code-stubs-arm.cc __ b(eq, &int_exponent_convert); __ 3597 src/arm/code-stubs-arm.cc __ vmov(double_scratch, 0.5); __ 3598 src/arm/code-stubs-arm.cc __ VFPCompareAndSetFlags(double_exponent, double_scratch); __ 3599 src/arm/code-stubs-arm.cc __ b(ne, ¬_plus_half); __ 3603 src/arm/code-stubs-arm.cc __ vmov(double_scratch, -V8_INFINITY); __ 3604 src/arm/code-stubs-arm.cc __ VFPCompareAndSetFlags(double_base, double_scratch); __ 3605 src/arm/code-stubs-arm.cc __ vneg(double_result, double_scratch, eq); __ 3606 src/arm/code-stubs-arm.cc __ b(eq, &done); __ 3609 src/arm/code-stubs-arm.cc __ vadd(double_scratch, double_base, kDoubleRegZero); __ 3610 src/arm/code-stubs-arm.cc __ vsqrt(double_result, double_scratch); __ 3611 src/arm/code-stubs-arm.cc __ jmp(&done); __ 3613 src/arm/code-stubs-arm.cc __ bind(¬_plus_half); __ 3614 src/arm/code-stubs-arm.cc __ vmov(double_scratch, -0.5); __ 3615 src/arm/code-stubs-arm.cc __ VFPCompareAndSetFlags(double_exponent, double_scratch); __ 3616 src/arm/code-stubs-arm.cc __ b(ne, &call_runtime); __ 3620 src/arm/code-stubs-arm.cc __ vmov(double_scratch, -V8_INFINITY); __ 3621 src/arm/code-stubs-arm.cc __ VFPCompareAndSetFlags(double_base, double_scratch); __ 3622 src/arm/code-stubs-arm.cc __ vmov(double_result, kDoubleRegZero, eq); __ 3623 src/arm/code-stubs-arm.cc __ b(eq, &done); __ 3626 src/arm/code-stubs-arm.cc __ vadd(double_scratch, double_base, kDoubleRegZero); __ 3627 src/arm/code-stubs-arm.cc __ vmov(double_result, 1); __ 3628 src/arm/code-stubs-arm.cc __ vsqrt(double_scratch, double_scratch); __ 3629 src/arm/code-stubs-arm.cc __ vdiv(double_result, double_result, double_scratch); __ 3630 src/arm/code-stubs-arm.cc __ jmp(&done); __ 3633 src/arm/code-stubs-arm.cc __ push(lr); __ 3636 src/arm/code-stubs-arm.cc __ PrepareCallCFunction(0, 2, scratch); __ 3637 src/arm/code-stubs-arm.cc __ SetCallCDoubleArguments(double_base, double_exponent); __ 3638 src/arm/code-stubs-arm.cc __ CallCFunction( __ 3642 src/arm/code-stubs-arm.cc __ pop(lr); __ 3643 src/arm/code-stubs-arm.cc __ GetCFunctionDoubleResult(double_result); __ 3644 src/arm/code-stubs-arm.cc __ jmp(&done); __ 3646 src/arm/code-stubs-arm.cc __ bind(&int_exponent_convert); __ 3647 src/arm/code-stubs-arm.cc __ vcvt_u32_f64(single_scratch, double_exponent); __ 3648 src/arm/code-stubs-arm.cc __ vmov(scratch, single_scratch); __ 3652 src/arm/code-stubs-arm.cc __ bind(&int_exponent); __ 3656 src/arm/code-stubs-arm.cc __ mov(scratch, exponent); __ 3659 src/arm/code-stubs-arm.cc __ mov(exponent, scratch); __ 3661 src/arm/code-stubs-arm.cc __ vmov(double_scratch, double_base); // Back up base. __ 3662 src/arm/code-stubs-arm.cc __ vmov(double_result, 1.0); __ 3665 src/arm/code-stubs-arm.cc __ cmp(scratch, Operand(0)); __ 3666 src/arm/code-stubs-arm.cc __ mov(scratch2, Operand(0), LeaveCC, mi); __ 3667 src/arm/code-stubs-arm.cc __ sub(scratch, scratch2, scratch, LeaveCC, mi); __ 3670 src/arm/code-stubs-arm.cc __ bind(&while_true); __ 3671 src/arm/code-stubs-arm.cc __ mov(scratch, Operand(scratch, ASR, 1), SetCC); __ 3672 src/arm/code-stubs-arm.cc __ vmul(double_result, double_result, double_scratch, cs); __ 3673 src/arm/code-stubs-arm.cc __ vmul(double_scratch, double_scratch, double_scratch, ne); __ 3674 src/arm/code-stubs-arm.cc __ b(ne, &while_true); __ 3676 src/arm/code-stubs-arm.cc __ cmp(exponent, Operand(0)); __ 3677 src/arm/code-stubs-arm.cc __ b(ge, &done); __ 3678 src/arm/code-stubs-arm.cc __ vmov(double_scratch, 1.0); __ 3679 src/arm/code-stubs-arm.cc __ vdiv(double_result, double_scratch, double_result); __ 3682 src/arm/code-stubs-arm.cc __ VFPCompareAndSetFlags(double_result, 0.0); __ 3683 src/arm/code-stubs-arm.cc __ b(ne, &done); __ 3686 src/arm/code-stubs-arm.cc __ vmov(single_scratch, exponent); __ 3687 src/arm/code-stubs-arm.cc __ vcvt_f64_s32(double_exponent, single_scratch); __ 3693 src/arm/code-stubs-arm.cc __ bind(&call_runtime); __ 3694 src/arm/code-stubs-arm.cc __ TailCallRuntime(Runtime::kMath_pow_cfunction, 2, 1); __ 3698 src/arm/code-stubs-arm.cc __ bind(&done); __ 3699 src/arm/code-stubs-arm.cc __ AllocateHeapNumber( __ 3701 src/arm/code-stubs-arm.cc __ vstr(double_result, __ 3704 src/arm/code-stubs-arm.cc __ IncrementCounter(counters->math_pow(), 1, scratch, scratch2); __ 3705 src/arm/code-stubs-arm.cc __ Ret(2); __ 3707 src/arm/code-stubs-arm.cc __ push(lr); __ 3710 src/arm/code-stubs-arm.cc __ PrepareCallCFunction(0, 2, scratch); __ 3711 src/arm/code-stubs-arm.cc __ SetCallCDoubleArguments(double_base, double_exponent); __ 3712 src/arm/code-stubs-arm.cc __ CallCFunction( __ 3716 src/arm/code-stubs-arm.cc __ pop(lr); __ 3717 src/arm/code-stubs-arm.cc __ GetCFunctionDoubleResult(double_result); __ 3719 src/arm/code-stubs-arm.cc __ bind(&done); __ 3720 src/arm/code-stubs-arm.cc __ IncrementCounter(counters->math_pow(), 1, scratch, scratch2); __ 3721 src/arm/code-stubs-arm.cc __ Ret(); __ 3776 src/arm/code-stubs-arm.cc __ PrepareCallCFunction(1, 0, r1); __ 3777 src/arm/code-stubs-arm.cc __ CallCFunction(ExternalReference::perform_gc_function(isolate), __ 3784 src/arm/code-stubs-arm.cc __ mov(r0, Operand(scope_depth)); __ 3785 src/arm/code-stubs-arm.cc __ ldr(r1, MemOperand(r0)); __ 3786 src/arm/code-stubs-arm.cc __ add(r1, r1, Operand(1)); __ 3787 src/arm/code-stubs-arm.cc __ str(r1, MemOperand(r0)); __ 3792 src/arm/code-stubs-arm.cc __ mov(r0, Operand(r4)); __ 3793 src/arm/code-stubs-arm.cc __ mov(r1, Operand(r6)); __ 3802 src/arm/code-stubs-arm.cc __ tst(sp, Operand(frame_alignment_mask)); __ 3803 src/arm/code-stubs-arm.cc __ b(eq, &alignment_as_expected); __ 3805 src/arm/code-stubs-arm.cc __ stop("Unexpected alignment"); __ 3806 src/arm/code-stubs-arm.cc __ bind(&alignment_as_expected); __ 3811 src/arm/code-stubs-arm.cc __ mov(r2, Operand(ExternalReference::isolate_address())); __ 3824 src/arm/code-stubs-arm.cc __ str(lr, MemOperand(sp, 0)); __ 3831 src/arm/code-stubs-arm.cc __ mov(r2, Operand(scope_depth)); __ 3832 src/arm/code-stubs-arm.cc __ ldr(r3, MemOperand(r2)); __ 3833 src/arm/code-stubs-arm.cc __ sub(r3, r3, Operand(1)); __ 3834 src/arm/code-stubs-arm.cc __ str(r3, MemOperand(r2)); __ 3841 src/arm/code-stubs-arm.cc __ add(r2, r0, Operand(1)); __ 3842 src/arm/code-stubs-arm.cc __ tst(r2, Operand(kFailureTagMask)); __ 3843 src/arm/code-stubs-arm.cc __ b(eq, &failure_returned); __ 3850 src/arm/code-stubs-arm.cc __ LeaveExitFrame(save_doubles_, r4); __ 3851 src/arm/code-stubs-arm.cc __ mov(pc, lr); __ 3855 src/arm/code-stubs-arm.cc __ bind(&failure_returned); __ 3857 src/arm/code-stubs-arm.cc __ tst(r0, Operand(((1 << kFailureTypeTagSize) - 1) << kFailureTagSize)); __ 3858 src/arm/code-stubs-arm.cc __ b(eq, &retry); __ 3862 src/arm/code-stubs-arm.cc __ cmp(r0, Operand(reinterpret_cast<int32_t>(out_of_memory))); __ 3863 src/arm/code-stubs-arm.cc __ b(eq, throw_out_of_memory_exception); __ 3866 src/arm/code-stubs-arm.cc __ mov(r3, Operand(isolate->factory()->the_hole_value())); __ 3867 src/arm/code-stubs-arm.cc __ mov(ip, Operand(ExternalReference(Isolate::kPendingExceptionAddress, __ 3869 src/arm/code-stubs-arm.cc __ ldr(r0, MemOperand(ip)); __ 3870 src/arm/code-stubs-arm.cc __ str(r3, MemOperand(ip)); __ 3874 src/arm/code-stubs-arm.cc __ cmp(r0, Operand(isolate->factory()->termination_exception())); __ 3875 src/arm/code-stubs-arm.cc __ b(eq, throw_termination_exception); __ 3878 src/arm/code-stubs-arm.cc __ jmp(throw_normal_exception); __ 3880 src/arm/code-stubs-arm.cc __ bind(&retry); // pass last failure (r0) as parameter (r0) when retrying __ 3900 src/arm/code-stubs-arm.cc __ add(r6, sp, Operand(r0, LSL, kPointerSizeLog2)); __ 3901 src/arm/code-stubs-arm.cc __ sub(r6, r6, Operand(kPointerSize)); __ 3905 src/arm/code-stubs-arm.cc __ EnterExitFrame(save_doubles_); __ 3908 src/arm/code-stubs-arm.cc __ mov(r4, Operand(r0)); __ 3909 src/arm/code-stubs-arm.cc __ mov(r5, Operand(r1)); __ 3937 src/arm/code-stubs-arm.cc __ mov(r0, Operand(reinterpret_cast<int32_t>(failure))); __ 3945 src/arm/code-stubs-arm.cc __ bind(&throw_out_of_memory_exception); __ 3950 src/arm/code-stubs-arm.cc __ mov(r0, Operand(false, RelocInfo::NONE)); __ 3951 src/arm/code-stubs-arm.cc __ mov(r2, Operand(external_caught)); __ 3952 src/arm/code-stubs-arm.cc __ str(r0, MemOperand(r2)); __ 3956 src/arm/code-stubs-arm.cc __ mov(r0, Operand(reinterpret_cast<int32_t>(out_of_memory))); __ 3957 src/arm/code-stubs-arm.cc __ mov(r2, Operand(ExternalReference(Isolate::kPendingExceptionAddress, __ 3959 src/arm/code-stubs-arm.cc __ str(r0, MemOperand(r2)); __ 3962 src/arm/code-stubs-arm.cc __ bind(&throw_termination_exception); __ 3963 src/arm/code-stubs-arm.cc __ ThrowUncatchable(r0); __ 3965 src/arm/code-stubs-arm.cc __ bind(&throw_normal_exception); __ 3966 src/arm/code-stubs-arm.cc __ Throw(r0); __ 3982 src/arm/code-stubs-arm.cc __ stm(db_w, sp, kCalleeSaved | lr.bit()); __ 3987 src/arm/code-stubs-arm.cc __ vstm(db_w, sp, kFirstCalleeSavedDoubleReg, kLastCalleeSavedDoubleReg); __ 3989 src/arm/code-stubs-arm.cc __ vmov(kDoubleRegZero, 0.0); __ 4003 src/arm/code-stubs-arm.cc __ ldr(r4, MemOperand(sp, offset_to_argv)); __ 4012 src/arm/code-stubs-arm.cc __ mov(r8, Operand(-1)); // Push a bad frame pointer to fail if it is used. __ 4014 src/arm/code-stubs-arm.cc __ mov(r7, Operand(Smi::FromInt(marker))); __ 4015 src/arm/code-stubs-arm.cc __ mov(r6, Operand(Smi::FromInt(marker))); __ 4016 src/arm/code-stubs-arm.cc __ mov(r5, __ 4018 src/arm/code-stubs-arm.cc __ ldr(r5, MemOperand(r5)); __ 4019 src/arm/code-stubs-arm.cc __ Push(r8, r7, r6, r5); __ 4022 src/arm/code-stubs-arm.cc __ add(fp, sp, Operand(-EntryFrameConstants::kCallerFPOffset)); __ 4027 src/arm/code-stubs-arm.cc __ mov(r5, Operand(ExternalReference(js_entry_sp))); __ 4028 src/arm/code-stubs-arm.cc __ ldr(r6, MemOperand(r5)); __ 4029 src/arm/code-stubs-arm.cc __ cmp(r6, Operand::Zero()); __ 4030 src/arm/code-stubs-arm.cc __ b(ne, &non_outermost_js); __ 4031 src/arm/code-stubs-arm.cc __ str(fp, MemOperand(r5)); __ 4032 src/arm/code-stubs-arm.cc __ mov(ip, Operand(Smi::FromInt(StackFrame::OUTERMOST_JSENTRY_FRAME))); __ 4034 src/arm/code-stubs-arm.cc __ b(&cont); __ 4035 src/arm/code-stubs-arm.cc __ bind(&non_outermost_js); __ 4036 src/arm/code-stubs-arm.cc __ mov(ip, Operand(Smi::FromInt(StackFrame::INNER_JSENTRY_FRAME))); __ 4037 src/arm/code-stubs-arm.cc __ bind(&cont); __ 4038 src/arm/code-stubs-arm.cc __ push(ip); __ 4042 src/arm/code-stubs-arm.cc __ jmp(&invoke); __ 4049 src/arm/code-stubs-arm.cc __ bind(&handler_entry); __ 4055 src/arm/code-stubs-arm.cc __ mov(ip, Operand(ExternalReference(Isolate::kPendingExceptionAddress, __ 4058 src/arm/code-stubs-arm.cc __ str(r0, MemOperand(ip)); __ 4059 src/arm/code-stubs-arm.cc __ mov(r0, Operand(reinterpret_cast<int32_t>(Failure::Exception()))); __ 4060 src/arm/code-stubs-arm.cc __ b(&exit); __ 4064 src/arm/code-stubs-arm.cc __ bind(&invoke); __ 4066 src/arm/code-stubs-arm.cc __ PushTryHandler(StackHandler::JS_ENTRY, 0); __ 4073 src/arm/code-stubs-arm.cc __ mov(r5, Operand(isolate->factory()->the_hole_value())); __ 4074 src/arm/code-stubs-arm.cc __ mov(ip, Operand(ExternalReference(Isolate::kPendingExceptionAddress, __ 4076 src/arm/code-stubs-arm.cc __ str(r5, MemOperand(ip)); __ 4091 src/arm/code-stubs-arm.cc __ mov(ip, Operand(construct_entry)); __ 4094 src/arm/code-stubs-arm.cc __ mov(ip, Operand(entry)); __ 4096 src/arm/code-stubs-arm.cc __ ldr(ip, MemOperand(ip)); // deref address __ 4104 src/arm/code-stubs-arm.cc __ mov(lr, Operand(pc)); __ 4109 src/arm/code-stubs-arm.cc __ PopTryHandler(); __ 4111 src/arm/code-stubs-arm.cc __ bind(&exit); // r0 holds result __ 4114 src/arm/code-stubs-arm.cc __ pop(r5); __ 4115 src/arm/code-stubs-arm.cc __ cmp(r5, Operand(Smi::FromInt(StackFrame::OUTERMOST_JSENTRY_FRAME))); __ 4116 src/arm/code-stubs-arm.cc __ b(ne, &non_outermost_js_2); __ 4117 src/arm/code-stubs-arm.cc __ mov(r6, Operand::Zero()); __ 4118 src/arm/code-stubs-arm.cc __ mov(r5, Operand(ExternalReference(js_entry_sp))); __ 4119 src/arm/code-stubs-arm.cc __ str(r6, MemOperand(r5)); __ 4120 src/arm/code-stubs-arm.cc __ bind(&non_outermost_js_2); __ 4123 src/arm/code-stubs-arm.cc __ pop(r3); __ 4124 src/arm/code-stubs-arm.cc __ mov(ip, __ 4126 src/arm/code-stubs-arm.cc __ str(r3, MemOperand(ip)); __ 4129 src/arm/code-stubs-arm.cc __ add(sp, sp, Operand(-EntryFrameConstants::kCallerFPOffset)); __ 4134 src/arm/code-stubs-arm.cc __ mov(lr, Operand(pc)); __ 4141 src/arm/code-stubs-arm.cc __ vldm(ia_w, sp, kFirstCalleeSavedDoubleReg, kLastCalleeSavedDoubleReg); __ 4144 src/arm/code-stubs-arm.cc __ ldm(ia_w, sp, kCalleeSaved | pc.bit()); __ 4176 src/arm/code-stubs-arm.cc __ ldr(object, MemOperand(sp, 1 * kPointerSize)); __ 4177 src/arm/code-stubs-arm.cc __ ldr(function, MemOperand(sp, 0)); __ 4181 src/arm/code-stubs-arm.cc __ JumpIfSmi(object, ¬_js_object); __ 4182 src/arm/code-stubs-arm.cc __ IsObjectJSObjectType(object, map, scratch, ¬_js_object); __ 4188 src/arm/code-stubs-arm.cc __ CompareRoot(function, Heap::kInstanceofCacheFunctionRootIndex); __ 4189 src/arm/code-stubs-arm.cc __ b(ne, &miss); __ 4190 src/arm/code-stubs-arm.cc __ CompareRoot(map, Heap::kInstanceofCacheMapRootIndex); __ 4191 src/arm/code-stubs-arm.cc __ b(ne, &miss); __ 4192 src/arm/code-stubs-arm.cc __ LoadRoot(r0, Heap::kInstanceofCacheAnswerRootIndex); __ 4193 src/arm/code-stubs-arm.cc __ Ret(HasArgsInRegisters() ? 0 : 2); __ 4195 src/arm/code-stubs-arm.cc __ bind(&miss); __ 4199 src/arm/code-stubs-arm.cc __ TryGetFunctionPrototype(function, prototype, scratch, &slow, true); __ 4202 src/arm/code-stubs-arm.cc __ JumpIfSmi(prototype, &slow); __ 4203 src/arm/code-stubs-arm.cc __ IsObjectJSObjectType(prototype, scratch, scratch, &slow); __ 4208 src/arm/code-stubs-arm.cc __ StoreRoot(function, Heap::kInstanceofCacheFunctionRootIndex); __ 4209 src/arm/code-stubs-arm.cc __ StoreRoot(map, Heap::kInstanceofCacheMapRootIndex); __ 4216 src/arm/code-stubs-arm.cc __ LoadFromSafepointRegisterSlot(scratch, r4); __ 4217 src/arm/code-stubs-arm.cc __ sub(inline_site, lr, scratch); __ 4219 src/arm/code-stubs-arm.cc __ GetRelocatedValueLocation(inline_site, scratch); __ 4220 src/arm/code-stubs-arm.cc __ ldr(scratch, MemOperand(scratch)); __ 4221 src/arm/code-stubs-arm.cc __ str(map, FieldMemOperand(scratch, JSGlobalPropertyCell::kValueOffset)); __ 4226 src/arm/code-stubs-arm.cc __ ldr(scratch, FieldMemOperand(map, Map::kPrototypeOffset)); __ 4233 src/arm/code-stubs-arm.cc __ LoadRoot(scratch2, Heap::kNullValueRootIndex); __ 4234 src/arm/code-stubs-arm.cc __ bind(&loop); __ 4235 src/arm/code-stubs-arm.cc __ cmp(scratch, Operand(prototype)); __ 4236 src/arm/code-stubs-arm.cc __ b(eq, &is_instance); __ 4237 src/arm/code-stubs-arm.cc __ cmp(scratch, scratch2); __ 4238 src/arm/code-stubs-arm.cc __ b(eq, &is_not_instance); __ 4239 src/arm/code-stubs-arm.cc __ ldr(scratch, FieldMemOperand(scratch, HeapObject::kMapOffset)); __ 4240 src/arm/code-stubs-arm.cc __ ldr(scratch, FieldMemOperand(scratch, Map::kPrototypeOffset)); __ 4241 src/arm/code-stubs-arm.cc __ jmp(&loop); __ 4243 src/arm/code-stubs-arm.cc __ bind(&is_instance); __ 4245 src/arm/code-stubs-arm.cc __ mov(r0, Operand(Smi::FromInt(0))); __ 4246 src/arm/code-stubs-arm.cc __ StoreRoot(r0, Heap::kInstanceofCacheAnswerRootIndex); __ 4249 src/arm/code-stubs-arm.cc __ LoadRoot(r0, Heap::kTrueValueRootIndex); __ 4250 src/arm/code-stubs-arm.cc __ add(inline_site, inline_site, Operand(kDeltaToLoadBoolResult)); __ 4252 src/arm/code-stubs-arm.cc __ GetRelocatedValueLocation(inline_site, scratch); __ 4253 src/arm/code-stubs-arm.cc __ str(r0, MemOperand(scratch)); __ 4256 src/arm/code-stubs-arm.cc __ mov(r0, Operand(Smi::FromInt(0))); __ 4259 src/arm/code-stubs-arm.cc __ Ret(HasArgsInRegisters() ? 0 : 2); __ 4261 src/arm/code-stubs-arm.cc __ bind(&is_not_instance); __ 4263 src/arm/code-stubs-arm.cc __ mov(r0, Operand(Smi::FromInt(1))); __ 4264 src/arm/code-stubs-arm.cc __ StoreRoot(r0, Heap::kInstanceofCacheAnswerRootIndex); __ 4267 src/arm/code-stubs-arm.cc __ LoadRoot(r0, Heap::kFalseValueRootIndex); __ 4268 src/arm/code-stubs-arm.cc __ add(inline_site, inline_site, Operand(kDeltaToLoadBoolResult)); __ 4270 src/arm/code-stubs-arm.cc __ GetRelocatedValueLocation(inline_site, scratch); __ 4271 src/arm/code-stubs-arm.cc __ str(r0, MemOperand(scratch)); __ 4274 src/arm/code-stubs-arm.cc __ mov(r0, Operand(Smi::FromInt(1))); __ 4277 src/arm/code-stubs-arm.cc __ Ret(HasArgsInRegisters() ? 0 : 2); __ 4280 src/arm/code-stubs-arm.cc __ bind(¬_js_object); __ 4283 src/arm/code-stubs-arm.cc __ JumpIfSmi(function, &slow); __ 4284 src/arm/code-stubs-arm.cc __ CompareObjectType(function, scratch2, scratch, JS_FUNCTION_TYPE); __ 4285 src/arm/code-stubs-arm.cc __ b(ne, &slow); __ 4288 src/arm/code-stubs-arm.cc __ cmp(scratch, Operand(masm->isolate()->factory()->null_value())); __ 4289 src/arm/code-stubs-arm.cc __ b(ne, &object_not_null); __ 4290 src/arm/code-stubs-arm.cc __ mov(r0, Operand(Smi::FromInt(1))); __ 4291 src/arm/code-stubs-arm.cc __ Ret(HasArgsInRegisters() ? 0 : 2); __ 4293 src/arm/code-stubs-arm.cc __ bind(&object_not_null); __ 4295 src/arm/code-stubs-arm.cc __ JumpIfNotSmi(object, &object_not_null_or_smi); __ 4296 src/arm/code-stubs-arm.cc __ mov(r0, Operand(Smi::FromInt(1))); __ 4297 src/arm/code-stubs-arm.cc __ Ret(HasArgsInRegisters() ? 0 : 2); __ 4299 src/arm/code-stubs-arm.cc __ bind(&object_not_null_or_smi); __ 4301 src/arm/code-stubs-arm.cc __ IsObjectJSStringType(object, scratch, &slow); __ 4302 src/arm/code-stubs-arm.cc __ mov(r0, Operand(Smi::FromInt(1))); __ 4303 src/arm/code-stubs-arm.cc __ Ret(HasArgsInRegisters() ? 0 : 2); __ 4306 src/arm/code-stubs-arm.cc __ bind(&slow); __ 4309 src/arm/code-stubs-arm.cc __ Push(r0, r1); __ 4311 src/arm/code-stubs-arm.cc __ InvokeBuiltin(Builtins::INSTANCE_OF, JUMP_FUNCTION); __ 4315 src/arm/code-stubs-arm.cc __ Push(r0, r1); __ 4316 src/arm/code-stubs-arm.cc __ InvokeBuiltin(Builtins::INSTANCE_OF, CALL_FUNCTION); __ 4318 src/arm/code-stubs-arm.cc __ cmp(r0, Operand::Zero()); __ 4319 src/arm/code-stubs-arm.cc __ LoadRoot(r0, Heap::kTrueValueRootIndex, eq); __ 4320 src/arm/code-stubs-arm.cc __ LoadRoot(r0, Heap::kFalseValueRootIndex, ne); __ 4321 src/arm/code-stubs-arm.cc __ Ret(HasArgsInRegisters() ? 0 : 2); __ 4340 src/arm/code-stubs-arm.cc __ JumpIfNotSmi(r1, &slow); __ 4344 src/arm/code-stubs-arm.cc __ ldr(r2, MemOperand(fp, StandardFrameConstants::kCallerFPOffset)); __ 4345 src/arm/code-stubs-arm.cc __ ldr(r3, MemOperand(r2, StandardFrameConstants::kContextOffset)); __ 4346 src/arm/code-stubs-arm.cc __ cmp(r3, Operand(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR))); __ 4347 src/arm/code-stubs-arm.cc __ b(eq, &adaptor); __ 4352 src/arm/code-stubs-arm.cc __ cmp(r1, r0); __ 4353 src/arm/code-stubs-arm.cc __ b(hs, &slow); __ 4356 src/arm/code-stubs-arm.cc __ sub(r3, r0, r1); __ 4357 src/arm/code-stubs-arm.cc __ add(r3, fp, Operand(r3, LSL, kPointerSizeLog2 - kSmiTagSize)); __ 4358 src/arm/code-stubs-arm.cc __ ldr(r0, MemOperand(r3, kDisplacement)); __ 4359 src/arm/code-stubs-arm.cc __ Jump(lr); __ 4364 src/arm/code-stubs-arm.cc __ bind(&adaptor); __ 4365 src/arm/code-stubs-arm.cc __ ldr(r0, MemOperand(r2, ArgumentsAdaptorFrameConstants::kLengthOffset)); __ 4366 src/arm/code-stubs-arm.cc __ cmp(r1, r0); __ 4367 src/arm/code-stubs-arm.cc __ b(cs, &slow); __ 4370 src/arm/code-stubs-arm.cc __ sub(r3, r0, r1); __ 4371 src/arm/code-stubs-arm.cc __ add(r3, r2, Operand(r3, LSL, kPointerSizeLog2 - kSmiTagSize)); __ 4372 src/arm/code-stubs-arm.cc __ ldr(r0, MemOperand(r3, kDisplacement)); __ 4373 src/arm/code-stubs-arm.cc __ Jump(lr); __ 4377 src/arm/code-stubs-arm.cc __ bind(&slow); __ 4378 src/arm/code-stubs-arm.cc __ push(r1); __ 4379 src/arm/code-stubs-arm.cc __ TailCallRuntime(Runtime::kGetArgumentsProperty, 1, 1); __ 4390 src/arm/code-stubs-arm.cc __ ldr(r3, MemOperand(fp, StandardFrameConstants::kCallerFPOffset)); __ 4391 src/arm/code-stubs-arm.cc __ ldr(r2, MemOperand(r3, StandardFrameConstants::kContextOffset)); __ 4392 src/arm/code-stubs-arm.cc __ cmp(r2, Operand(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR))); __ 4393 src/arm/code-stubs-arm.cc __ b(ne, &runtime); __ 4396 src/arm/code-stubs-arm.cc __ ldr(r2, MemOperand(r3, ArgumentsAdaptorFrameConstants::kLengthOffset)); __ 4397 src/arm/code-stubs-arm.cc __ str(r2, MemOperand(sp, 0 * kPointerSize)); __ 4398 src/arm/code-stubs-arm.cc __ add(r3, r3, Operand(r2, LSL, 1)); __ 4399 src/arm/code-stubs-arm.cc __ add(r3, r3, Operand(StandardFrameConstants::kCallerSPOffset)); __ 4400 src/arm/code-stubs-arm.cc __ str(r3, MemOperand(sp, 1 * kPointerSize)); __ 4402 src/arm/code-stubs-arm.cc __ bind(&runtime); __ 4403 src/arm/code-stubs-arm.cc __ TailCallRuntime(Runtime::kNewArgumentsFast, 3, 1); __ 4416 src/arm/code-stubs-arm.cc __ ldr(r1, MemOperand(sp, 0 * kPointerSize)); __ 4422 src/arm/code-stubs-arm.cc __ ldr(r3, MemOperand(fp, StandardFrameConstants::kCallerFPOffset)); __ 4423 src/arm/code-stubs-arm.cc __ ldr(r2, MemOperand(r3, StandardFrameConstants::kContextOffset)); __ 4424 src/arm/code-stubs-arm.cc __ cmp(r2, Operand(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR))); __ 4425 src/arm/code-stubs-arm.cc __ b(eq, &adaptor_frame); __ 4428 src/arm/code-stubs-arm.cc __ mov(r2, r1); __ 4429 src/arm/code-stubs-arm.cc __ b(&try_allocate); __ 4432 src/arm/code-stubs-arm.cc __ bind(&adaptor_frame); __ 4433 src/arm/code-stubs-arm.cc __ ldr(r2, MemOperand(r3, ArgumentsAdaptorFrameConstants::kLengthOffset)); __ 4434 src/arm/code-stubs-arm.cc __ add(r3, r3, Operand(r2, LSL, 1)); __ 4435 src/arm/code-stubs-arm.cc __ add(r3, r3, Operand(StandardFrameConstants::kCallerSPOffset)); __ 4436 src/arm/code-stubs-arm.cc __ str(r3, MemOperand(sp, 1 * kPointerSize)); __ 4441 src/arm/code-stubs-arm.cc __ cmp(r1, Operand(r2)); __ 4442 src/arm/code-stubs-arm.cc __ mov(r1, Operand(r2), LeaveCC, gt); __ 4444 src/arm/code-stubs-arm.cc __ bind(&try_allocate); __ 4451 src/arm/code-stubs-arm.cc __ cmp(r1, Operand(Smi::FromInt(0))); __ 4452 src/arm/code-stubs-arm.cc __ mov(r9, Operand::Zero(), LeaveCC, eq); __ 4453 src/arm/code-stubs-arm.cc __ mov(r9, Operand(r1, LSL, 1), LeaveCC, ne); __ 4454 src/arm/code-stubs-arm.cc __ add(r9, r9, Operand(kParameterMapHeaderSize), LeaveCC, ne); __ 4457 src/arm/code-stubs-arm.cc __ add(r9, r9, Operand(r2, LSL, 1)); __ 4458 src/arm/code-stubs-arm.cc __ add(r9, r9, Operand(FixedArray::kHeaderSize)); __ 4461 src/arm/code-stubs-arm.cc __ add(r9, r9, Operand(Heap::kArgumentsObjectSize)); __ 4464 src/arm/code-stubs-arm.cc __ AllocateInNewSpace(r9, r0, r3, r4, &runtime, TAG_OBJECT); __ 4474 src/arm/code-stubs-arm.cc __ ldr(r4, MemOperand(r8, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 4475 src/arm/code-stubs-arm.cc __ ldr(r4, FieldMemOperand(r4, GlobalObject::kGlobalContextOffset)); __ 4476 src/arm/code-stubs-arm.cc __ cmp(r1, Operand::Zero()); __ 4477 src/arm/code-stubs-arm.cc __ ldr(r4, MemOperand(r4, kNormalOffset), eq); __ 4478 src/arm/code-stubs-arm.cc __ ldr(r4, MemOperand(r4, kAliasedOffset), ne); __ 4486 src/arm/code-stubs-arm.cc __ ldr(r3, FieldMemOperand(r4, i)); __ 4487 src/arm/code-stubs-arm.cc __ str(r3, FieldMemOperand(r0, i)); __ 4492 src/arm/code-stubs-arm.cc __ ldr(r3, MemOperand(sp, 2 * kPointerSize)); __ 4495 src/arm/code-stubs-arm.cc __ str(r3, FieldMemOperand(r0, kCalleeOffset)); __ 4501 src/arm/code-stubs-arm.cc __ str(r2, FieldMemOperand(r0, kLengthOffset)); __ 4506 src/arm/code-stubs-arm.cc __ add(r4, r0, Operand(Heap::kArgumentsObjectSize)); __ 4507 src/arm/code-stubs-arm.cc __ str(r4, FieldMemOperand(r0, JSObject::kElementsOffset)); __ 4515 src/arm/code-stubs-arm.cc __ cmp(r1, Operand(Smi::FromInt(0))); __ 4518 src/arm/code-stubs-arm.cc __ mov(r3, r4, LeaveCC, eq); __ 4519 src/arm/code-stubs-arm.cc __ b(eq, &skip_parameter_map); __ 4521 src/arm/code-stubs-arm.cc __ LoadRoot(r6, Heap::kNonStrictArgumentsElementsMapRootIndex); __ 4522 src/arm/code-stubs-arm.cc __ str(r6, FieldMemOperand(r4, FixedArray::kMapOffset)); __ 4523 src/arm/code-stubs-arm.cc __ add(r6, r1, Operand(Smi::FromInt(2))); __ 4524 src/arm/code-stubs-arm.cc __ str(r6, FieldMemOperand(r4, FixedArray::kLengthOffset)); __ 4525 src/arm/code-stubs-arm.cc __ str(r8, FieldMemOperand(r4, FixedArray::kHeaderSize + 0 * kPointerSize)); __ 4526 src/arm/code-stubs-arm.cc __ add(r6, r4, Operand(r1, LSL, 1)); __ 4527 src/arm/code-stubs-arm.cc __ add(r6, r6, Operand(kParameterMapHeaderSize)); __ 4528 src/arm/code-stubs-arm.cc __ str(r6, FieldMemOperand(r4, FixedArray::kHeaderSize + 1 * kPointerSize)); __ 4539 src/arm/code-stubs-arm.cc __ mov(r6, r1); __ 4540 src/arm/code-stubs-arm.cc __ ldr(r9, MemOperand(sp, 0 * kPointerSize)); __ 4541 src/arm/code-stubs-arm.cc __ add(r9, r9, Operand(Smi::FromInt(Context::MIN_CONTEXT_SLOTS))); __ 4542 src/arm/code-stubs-arm.cc __ sub(r9, r9, Operand(r1)); __ 4543 src/arm/code-stubs-arm.cc __ LoadRoot(r7, Heap::kTheHoleValueRootIndex); __ 4544 src/arm/code-stubs-arm.cc __ add(r3, r4, Operand(r6, LSL, 1)); __ 4545 src/arm/code-stubs-arm.cc __ add(r3, r3, Operand(kParameterMapHeaderSize)); __ 4553 src/arm/code-stubs-arm.cc __ jmp(¶meters_test); __ 4555 src/arm/code-stubs-arm.cc __ bind(¶meters_loop); __ 4556 src/arm/code-stubs-arm.cc __ sub(r6, r6, Operand(Smi::FromInt(1))); __ 4557 src/arm/code-stubs-arm.cc __ mov(r5, Operand(r6, LSL, 1)); __ 4558 src/arm/code-stubs-arm.cc __ add(r5, r5, Operand(kParameterMapHeaderSize - kHeapObjectTag)); __ 4559 src/arm/code-stubs-arm.cc __ str(r9, MemOperand(r4, r5)); __ 4560 src/arm/code-stubs-arm.cc __ sub(r5, r5, Operand(kParameterMapHeaderSize - FixedArray::kHeaderSize)); __ 4561 src/arm/code-stubs-arm.cc __ str(r7, MemOperand(r3, r5)); __ 4562 src/arm/code-stubs-arm.cc __ add(r9, r9, Operand(Smi::FromInt(1))); __ 4563 src/arm/code-stubs-arm.cc __ bind(¶meters_test); __ 4564 src/arm/code-stubs-arm.cc __ cmp(r6, Operand(Smi::FromInt(0))); __ 4565 src/arm/code-stubs-arm.cc __ b(ne, ¶meters_loop); __ 4567 src/arm/code-stubs-arm.cc __ bind(&skip_parameter_map); __ 4572 src/arm/code-stubs-arm.cc __ LoadRoot(r5, Heap::kFixedArrayMapRootIndex); __ 4573 src/arm/code-stubs-arm.cc __ str(r5, FieldMemOperand(r3, FixedArray::kMapOffset)); __ 4574 src/arm/code-stubs-arm.cc __ str(r2, FieldMemOperand(r3, FixedArray::kLengthOffset)); __ 4577 src/arm/code-stubs-arm.cc __ mov(r9, r1); __ 4578 src/arm/code-stubs-arm.cc __ ldr(r4, MemOperand(sp, 1 * kPointerSize)); __ 4579 src/arm/code-stubs-arm.cc __ sub(r4, r4, Operand(r9, LSL, 1)); __ 4580 src/arm/code-stubs-arm.cc __ jmp(&arguments_test); __ 4582 src/arm/code-stubs-arm.cc __ bind(&arguments_loop); __ 4583 src/arm/code-stubs-arm.cc __ sub(r4, r4, Operand(kPointerSize)); __ 4584 src/arm/code-stubs-arm.cc __ ldr(r6, MemOperand(r4, 0)); __ 4585 src/arm/code-stubs-arm.cc __ add(r5, r3, Operand(r9, LSL, 1)); __ 4586 src/arm/code-stubs-arm.cc __ str(r6, FieldMemOperand(r5, FixedArray::kHeaderSize)); __ 4587 src/arm/code-stubs-arm.cc __ add(r9, r9, Operand(Smi::FromInt(1))); __ 4589 src/arm/code-stubs-arm.cc __ bind(&arguments_test); __ 4590 src/arm/code-stubs-arm.cc __ cmp(r9, Operand(r2)); __ 4591 src/arm/code-stubs-arm.cc __ b(lt, &arguments_loop); __ 4594 src/arm/code-stubs-arm.cc __ add(sp, sp, Operand(3 * kPointerSize)); __ 4595 src/arm/code-stubs-arm.cc __ Ret(); __ 4599 src/arm/code-stubs-arm.cc __ bind(&runtime); __ 4600 src/arm/code-stubs-arm.cc __ str(r2, MemOperand(sp, 0 * kPointerSize)); // Patch argument count. __ 4601 src/arm/code-stubs-arm.cc __ TailCallRuntime(Runtime::kNewArgumentsFast, 3, 1); __ 4611 src/arm/code-stubs-arm.cc __ ldr(r2, MemOperand(fp, StandardFrameConstants::kCallerFPOffset)); __ 4612 src/arm/code-stubs-arm.cc __ ldr(r3, MemOperand(r2, StandardFrameConstants::kContextOffset)); __ 4613 src/arm/code-stubs-arm.cc __ cmp(r3, Operand(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR))); __ 4614 src/arm/code-stubs-arm.cc __ b(eq, &adaptor_frame); __ 4617 src/arm/code-stubs-arm.cc __ ldr(r1, MemOperand(sp, 0)); __ 4618 src/arm/code-stubs-arm.cc __ b(&try_allocate); __ 4621 src/arm/code-stubs-arm.cc __ bind(&adaptor_frame); __ 4622 src/arm/code-stubs-arm.cc __ ldr(r1, MemOperand(r2, ArgumentsAdaptorFrameConstants::kLengthOffset)); __ 4623 src/arm/code-stubs-arm.cc __ str(r1, MemOperand(sp, 0)); __ 4624 src/arm/code-stubs-arm.cc __ add(r3, r2, Operand(r1, LSL, kPointerSizeLog2 - kSmiTagSize)); __ 4625 src/arm/code-stubs-arm.cc __ add(r3, r3, Operand(StandardFrameConstants::kCallerSPOffset)); __ 4626 src/arm/code-stubs-arm.cc __ str(r3, MemOperand(sp, 1 * kPointerSize)); __ 4631 src/arm/code-stubs-arm.cc __ bind(&try_allocate); __ 4632 src/arm/code-stubs-arm.cc __ cmp(r1, Operand(0, RelocInfo::NONE)); __ 4633 src/arm/code-stubs-arm.cc __ b(eq, &add_arguments_object); __ 4634 src/arm/code-stubs-arm.cc __ mov(r1, Operand(r1, LSR, kSmiTagSize)); __ 4635 src/arm/code-stubs-arm.cc __ add(r1, r1, Operand(FixedArray::kHeaderSize / kPointerSize)); __ 4636 src/arm/code-stubs-arm.cc __ bind(&add_arguments_object); __ 4637 src/arm/code-stubs-arm.cc __ add(r1, r1, Operand(Heap::kArgumentsObjectSizeStrict / kPointerSize)); __ 4640 src/arm/code-stubs-arm.cc __ AllocateInNewSpace(r1, __ 4649 src/arm/code-stubs-arm.cc __ ldr(r4, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 4650 src/arm/code-stubs-arm.cc __ ldr(r4, FieldMemOperand(r4, GlobalObject::kGlobalContextOffset)); __ 4651 src/arm/code-stubs-arm.cc __ ldr(r4, MemOperand(r4, Context::SlotOffset( __ 4655 src/arm/code-stubs-arm.cc __ CopyFields(r0, r4, r3.bit(), JSObject::kHeaderSize / kPointerSize); __ 4659 src/arm/code-stubs-arm.cc __ ldr(r1, MemOperand(sp, 0 * kPointerSize)); __ 4660 src/arm/code-stubs-arm.cc __ str(r1, FieldMemOperand(r0, JSObject::kHeaderSize + __ 4665 src/arm/code-stubs-arm.cc __ cmp(r1, Operand(0, RelocInfo::NONE)); __ 4666 src/arm/code-stubs-arm.cc __ b(eq, &done); __ 4669 src/arm/code-stubs-arm.cc __ ldr(r2, MemOperand(sp, 1 * kPointerSize)); __ 4673 src/arm/code-stubs-arm.cc __ add(r4, r0, Operand(Heap::kArgumentsObjectSizeStrict)); __ 4674 src/arm/code-stubs-arm.cc __ str(r4, FieldMemOperand(r0, JSObject::kElementsOffset)); __ 4675 src/arm/code-stubs-arm.cc __ LoadRoot(r3, Heap::kFixedArrayMapRootIndex); __ 4676 src/arm/code-stubs-arm.cc __ str(r3, FieldMemOperand(r4, FixedArray::kMapOffset)); __ 4677 src/arm/code-stubs-arm.cc __ str(r1, FieldMemOperand(r4, FixedArray::kLengthOffset)); __ 4679 src/arm/code-stubs-arm.cc __ mov(r1, Operand(r1, LSR, kSmiTagSize)); __ 4684 src/arm/code-stubs-arm.cc __ add(r4, r4, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 4685 src/arm/code-stubs-arm.cc __ bind(&loop); __ 4688 src/arm/code-stubs-arm.cc __ ldr(r3, MemOperand(r2, kPointerSize, NegPreIndex)); __ 4690 src/arm/code-stubs-arm.cc __ str(r3, MemOperand(r4, kPointerSize, PostIndex)); __ 4691 src/arm/code-stubs-arm.cc __ sub(r1, r1, Operand(1)); __ 4692 src/arm/code-stubs-arm.cc __ cmp(r1, Operand(0, RelocInfo::NONE)); __ 4693 src/arm/code-stubs-arm.cc __ b(ne, &loop); __ 4696 src/arm/code-stubs-arm.cc __ bind(&done); __ 4697 src/arm/code-stubs-arm.cc __ add(sp, sp, Operand(3 * kPointerSize)); __ 4698 src/arm/code-stubs-arm.cc __ Ret(); __ 4701 src/arm/code-stubs-arm.cc __ bind(&runtime); __ 4702 src/arm/code-stubs-arm.cc __ TailCallRuntime(Runtime::kNewStrictArgumentsFast, 3, 1); __ 4711 src/arm/code-stubs-arm.cc __ TailCallRuntime(Runtime::kRegExpExec, 4, 1); __ 4742 src/arm/code-stubs-arm.cc __ mov(r0, Operand(address_of_regexp_stack_memory_size)); __ 4743 src/arm/code-stubs-arm.cc __ ldr(r0, MemOperand(r0, 0)); __ 4744 src/arm/code-stubs-arm.cc __ cmp(r0, Operand(0)); __ 4745 src/arm/code-stubs-arm.cc __ b(eq, &runtime); __ 4748 src/arm/code-stubs-arm.cc __ ldr(r0, MemOperand(sp, kJSRegExpOffset)); __ 4750 src/arm/code-stubs-arm.cc __ JumpIfSmi(r0, &runtime); __ 4751 src/arm/code-stubs-arm.cc __ CompareObjectType(r0, r1, r1, JS_REGEXP_TYPE); __ 4752 src/arm/code-stubs-arm.cc __ b(ne, &runtime); __ 4755 src/arm/code-stubs-arm.cc __ ldr(regexp_data, FieldMemOperand(r0, JSRegExp::kDataOffset)); __ 4757 src/arm/code-stubs-arm.cc __ tst(regexp_data, Operand(kSmiTagMask)); __ 4758 src/arm/code-stubs-arm.cc __ Check(ne, "Unexpected type for RegExp data, FixedArray expected"); __ 4759 src/arm/code-stubs-arm.cc __ CompareObjectType(regexp_data, r0, r0, FIXED_ARRAY_TYPE); __ 4760 src/arm/code-stubs-arm.cc __ Check(eq, "Unexpected type for RegExp data, FixedArray expected"); __ 4765 src/arm/code-stubs-arm.cc __ ldr(r0, FieldMemOperand(regexp_data, JSRegExp::kDataTagOffset)); __ 4766 src/arm/code-stubs-arm.cc __ cmp(r0, Operand(Smi::FromInt(JSRegExp::IRREGEXP))); __ 4767 src/arm/code-stubs-arm.cc __ b(ne, &runtime); __ 4771 src/arm/code-stubs-arm.cc __ ldr(r2, __ 4777 src/arm/code-stubs-arm.cc __ add(r2, r2, Operand(2)); // r2 was a smi. __ 4779 src/arm/code-stubs-arm.cc __ cmp(r2, Operand(OffsetsVector::kStaticOffsetsVectorSize)); __ 4780 src/arm/code-stubs-arm.cc __ b(hi, &runtime); __ 4785 src/arm/code-stubs-arm.cc __ ldr(subject, MemOperand(sp, kSubjectOffset)); __ 4786 src/arm/code-stubs-arm.cc __ JumpIfSmi(subject, &runtime); __ 4788 src/arm/code-stubs-arm.cc __ b(NegateCondition(is_string), &runtime); __ 4790 src/arm/code-stubs-arm.cc __ ldr(r3, FieldMemOperand(subject, String::kLengthOffset)); __ 4798 src/arm/code-stubs-arm.cc __ ldr(r0, MemOperand(sp, kPreviousIndexOffset)); __ 4799 src/arm/code-stubs-arm.cc __ JumpIfNotSmi(r0, &runtime); __ 4800 src/arm/code-stubs-arm.cc __ cmp(r3, Operand(r0)); __ 4801 src/arm/code-stubs-arm.cc __ b(ls, &runtime); __ 4807 src/arm/code-stubs-arm.cc __ ldr(r0, MemOperand(sp, kLastMatchInfoOffset)); __ 4808 src/arm/code-stubs-arm.cc __ JumpIfSmi(r0, &runtime); __ 4809 src/arm/code-stubs-arm.cc __ CompareObjectType(r0, r1, r1, JS_ARRAY_TYPE); __ 4810 src/arm/code-stubs-arm.cc __ b(ne, &runtime); __ 4812 src/arm/code-stubs-arm.cc __ ldr(last_match_info_elements, __ 4814 src/arm/code-stubs-arm.cc __ ldr(r0, FieldMemOperand(last_match_info_elements, HeapObject::kMapOffset)); __ 4815 src/arm/code-stubs-arm.cc __ CompareRoot(r0, Heap::kFixedArrayMapRootIndex); __ 4816 src/arm/code-stubs-arm.cc __ b(ne, &runtime); __ 4819 src/arm/code-stubs-arm.cc __ ldr(r0, __ 4821 src/arm/code-stubs-arm.cc __ add(r2, r2, Operand(RegExpImpl::kLastMatchOverhead)); __ 4822 src/arm/code-stubs-arm.cc __ cmp(r2, Operand(r0, ASR, kSmiTagSize)); __ 4823 src/arm/code-stubs-arm.cc __ b(gt, &runtime); __ 4826 src/arm/code-stubs-arm.cc __ mov(r9, Operand(0)); __ 4831 src/arm/code-stubs-arm.cc __ ldr(r0, FieldMemOperand(subject, HeapObject::kMapOffset)); __ 4832 src/arm/code-stubs-arm.cc __ ldrb(r0, FieldMemOperand(r0, Map::kInstanceTypeOffset)); __ 4835 src/arm/code-stubs-arm.cc __ and_(r1, __ 4842 src/arm/code-stubs-arm.cc __ b(eq, &seq_string); __ 4858 src/arm/code-stubs-arm.cc __ cmp(r1, Operand(kExternalStringTag)); __ 4859 src/arm/code-stubs-arm.cc __ b(lt, &cons_string); __ 4860 src/arm/code-stubs-arm.cc __ b(eq, &external_string); __ 4864 src/arm/code-stubs-arm.cc __ tst(r1, Operand(kIsNotStringMask | kShortExternalStringMask)); __ 4865 src/arm/code-stubs-arm.cc __ b(ne, &runtime); __ 4868 src/arm/code-stubs-arm.cc __ ldr(r9, FieldMemOperand(subject, SlicedString::kOffsetOffset)); __ 4869 src/arm/code-stubs-arm.cc __ mov(r9, Operand(r9, ASR, kSmiTagSize)); __ 4870 src/arm/code-stubs-arm.cc __ ldr(subject, FieldMemOperand(subject, SlicedString::kParentOffset)); __ 4872 src/arm/code-stubs-arm.cc __ jmp(&check_encoding); __ 4874 src/arm/code-stubs-arm.cc __ bind(&cons_string); __ 4875 src/arm/code-stubs-arm.cc __ ldr(r0, FieldMemOperand(subject, ConsString::kSecondOffset)); __ 4876 src/arm/code-stubs-arm.cc __ CompareRoot(r0, Heap::kEmptyStringRootIndex); __ 4877 src/arm/code-stubs-arm.cc __ b(ne, &runtime); __ 4878 src/arm/code-stubs-arm.cc __ ldr(subject, FieldMemOperand(subject, ConsString::kFirstOffset)); __ 4880 src/arm/code-stubs-arm.cc __ bind(&check_encoding); __ 4881 src/arm/code-stubs-arm.cc __ ldr(r0, FieldMemOperand(subject, HeapObject::kMapOffset)); __ 4882 src/arm/code-stubs-arm.cc __ ldrb(r0, FieldMemOperand(r0, Map::kInstanceTypeOffset)); __ 4884 src/arm/code-stubs-arm.cc __ tst(r0, Operand(kStringRepresentationMask)); __ 4885 src/arm/code-stubs-arm.cc __ b(ne, &external_string); __ 4887 src/arm/code-stubs-arm.cc __ bind(&seq_string); __ 4894 src/arm/code-stubs-arm.cc __ and_(r0, r0, Operand(kStringEncodingMask)); __ 4895 src/arm/code-stubs-arm.cc __ mov(r3, Operand(r0, ASR, 2), SetCC); __ 4896 src/arm/code-stubs-arm.cc __ ldr(r7, FieldMemOperand(regexp_data, JSRegExp::kDataAsciiCodeOffset), ne); __ 4897 src/arm/code-stubs-arm.cc __ ldr(r7, FieldMemOperand(regexp_data, JSRegExp::kDataUC16CodeOffset), eq); __ 4902 src/arm/code-stubs-arm.cc __ JumpIfSmi(r7, &runtime); __ 4910 src/arm/code-stubs-arm.cc __ ldr(r1, MemOperand(sp, kPreviousIndexOffset)); __ 4911 src/arm/code-stubs-arm.cc __ mov(r1, Operand(r1, ASR, kSmiTagSize)); __ 4919 src/arm/code-stubs-arm.cc __ IncrementCounter(isolate->counters()->regexp_entry_native(), 1, r0, r2); __ 4924 src/arm/code-stubs-arm.cc __ EnterExitFrame(false, kRegExpExecuteArguments - kParameterRegisters); __ 4930 src/arm/code-stubs-arm.cc __ mov(r0, Operand(ExternalReference::isolate_address())); __ 4931 src/arm/code-stubs-arm.cc __ str(r0, MemOperand(sp, 5 * kPointerSize)); __ 4934 src/arm/code-stubs-arm.cc __ mov(r0, Operand(1)); __ 4935 src/arm/code-stubs-arm.cc __ str(r0, MemOperand(sp, 4 * kPointerSize)); __ 4938 src/arm/code-stubs-arm.cc __ mov(r0, Operand(address_of_regexp_stack_memory_address)); __ 4939 src/arm/code-stubs-arm.cc __ ldr(r0, MemOperand(r0, 0)); __ 4940 src/arm/code-stubs-arm.cc __ mov(r2, Operand(address_of_regexp_stack_memory_size)); __ 4941 src/arm/code-stubs-arm.cc __ ldr(r2, MemOperand(r2, 0)); __ 4942 src/arm/code-stubs-arm.cc __ add(r0, r0, Operand(r2)); __ 4943 src/arm/code-stubs-arm.cc __ str(r0, MemOperand(sp, 3 * kPointerSize)); __ 4947 src/arm/code-stubs-arm.cc __ mov(r0, Operand(0)); __ 4948 src/arm/code-stubs-arm.cc __ str(r0, MemOperand(sp, 2 * kPointerSize)); __ 4951 src/arm/code-stubs-arm.cc __ mov(r0, __ 4953 src/arm/code-stubs-arm.cc __ str(r0, MemOperand(sp, 1 * kPointerSize)); __ 4957 src/arm/code-stubs-arm.cc __ add(r8, subject, Operand(SeqString::kHeaderSize - kHeapObjectTag)); __ 4958 src/arm/code-stubs-arm.cc __ eor(r3, r3, Operand(1)); __ 4963 src/arm/code-stubs-arm.cc __ ldr(subject, MemOperand(fp, kSubjectOffset + 2 * kPointerSize)); __ 4968 src/arm/code-stubs-arm.cc __ add(r9, r8, Operand(r9, LSL, r3)); __ 4969 src/arm/code-stubs-arm.cc __ add(r2, r9, Operand(r1, LSL, r3)); __ 4971 src/arm/code-stubs-arm.cc __ ldr(r8, FieldMemOperand(subject, String::kLengthOffset)); __ 4972 src/arm/code-stubs-arm.cc __ mov(r8, Operand(r8, ASR, kSmiTagSize)); __ 4973 src/arm/code-stubs-arm.cc __ add(r3, r9, Operand(r8, LSL, r3)); __ 4979 src/arm/code-stubs-arm.cc __ mov(r0, subject); __ 4982 src/arm/code-stubs-arm.cc __ add(r7, r7, Operand(Code::kHeaderSize - kHeapObjectTag)); __ 4986 src/arm/code-stubs-arm.cc __ LeaveExitFrame(false, no_reg); __ 4996 src/arm/code-stubs-arm.cc __ cmp(r0, Operand(1)); __ 4999 src/arm/code-stubs-arm.cc __ b(eq, &success); __ 5001 src/arm/code-stubs-arm.cc __ cmp(r0, Operand(NativeRegExpMacroAssembler::FAILURE)); __ 5002 src/arm/code-stubs-arm.cc __ b(eq, &failure); __ 5003 src/arm/code-stubs-arm.cc __ cmp(r0, Operand(NativeRegExpMacroAssembler::EXCEPTION)); __ 5005 src/arm/code-stubs-arm.cc __ b(ne, &runtime); __ 5010 src/arm/code-stubs-arm.cc __ mov(r1, Operand(isolate->factory()->the_hole_value())); __ 5011 src/arm/code-stubs-arm.cc __ mov(r2, Operand(ExternalReference(Isolate::kPendingExceptionAddress, __ 5013 src/arm/code-stubs-arm.cc __ ldr(r0, MemOperand(r2, 0)); __ 5014 src/arm/code-stubs-arm.cc __ cmp(r0, r1); __ 5015 src/arm/code-stubs-arm.cc __ b(eq, &runtime); __ 5017 src/arm/code-stubs-arm.cc __ str(r1, MemOperand(r2, 0)); // Clear pending exception. __ 5020 src/arm/code-stubs-arm.cc __ CompareRoot(r0, Heap::kTerminationExceptionRootIndex); __ 5023 src/arm/code-stubs-arm.cc __ b(eq, &termination_exception); __ 5025 src/arm/code-stubs-arm.cc __ Throw(r0); __ 5027 src/arm/code-stubs-arm.cc __ bind(&termination_exception); __ 5028 src/arm/code-stubs-arm.cc __ ThrowUncatchable(r0); __ 5030 src/arm/code-stubs-arm.cc __ bind(&failure); __ 5032 src/arm/code-stubs-arm.cc __ mov(r0, Operand(masm->isolate()->factory()->null_value())); __ 5033 src/arm/code-stubs-arm.cc __ add(sp, sp, Operand(4 * kPointerSize)); __ 5034 src/arm/code-stubs-arm.cc __ Ret(); __ 5037 src/arm/code-stubs-arm.cc __ bind(&success); __ 5038 src/arm/code-stubs-arm.cc __ ldr(r1, __ 5043 src/arm/code-stubs-arm.cc __ add(r1, r1, Operand(2)); // r1 was a smi. __ 5048 src/arm/code-stubs-arm.cc __ mov(r2, Operand(r1, LSL, kSmiTagSize + kSmiShiftSize)); // To smi. __ 5049 src/arm/code-stubs-arm.cc __ str(r2, FieldMemOperand(last_match_info_elements, __ 5052 src/arm/code-stubs-arm.cc __ str(subject, __ 5055 src/arm/code-stubs-arm.cc __ mov(r2, subject); __ 5056 src/arm/code-stubs-arm.cc __ RecordWriteField(last_match_info_elements, __ 5062 src/arm/code-stubs-arm.cc __ str(subject, __ 5065 src/arm/code-stubs-arm.cc __ RecordWriteField(last_match_info_elements, __ 5075 src/arm/code-stubs-arm.cc __ mov(r2, Operand(address_of_static_offsets_vector)); __ 5082 src/arm/code-stubs-arm.cc __ add(r0, __ 5085 src/arm/code-stubs-arm.cc __ bind(&next_capture); __ 5086 src/arm/code-stubs-arm.cc __ sub(r1, r1, Operand(1), SetCC); __ 5087 src/arm/code-stubs-arm.cc __ b(mi, &done); __ 5089 src/arm/code-stubs-arm.cc __ ldr(r3, MemOperand(r2, kPointerSize, PostIndex)); __ 5091 src/arm/code-stubs-arm.cc __ mov(r3, Operand(r3, LSL, kSmiTagSize)); __ 5092 src/arm/code-stubs-arm.cc __ str(r3, MemOperand(r0, kPointerSize, PostIndex)); __ 5093 src/arm/code-stubs-arm.cc __ jmp(&next_capture); __ 5094 src/arm/code-stubs-arm.cc __ bind(&done); __ 5097 src/arm/code-stubs-arm.cc __ ldr(r0, MemOperand(sp, kLastMatchInfoOffset)); __ 5098 src/arm/code-stubs-arm.cc __ add(sp, sp, Operand(4 * kPointerSize)); __ 5099 src/arm/code-stubs-arm.cc __ Ret(); __ 5103 src/arm/code-stubs-arm.cc __ bind(&external_string); __ 5104 src/arm/code-stubs-arm.cc __ ldr(r0, FieldMemOperand(subject, HeapObject::kMapOffset)); __ 5105 src/arm/code-stubs-arm.cc __ ldrb(r0, FieldMemOperand(r0, Map::kInstanceTypeOffset)); __ 5109 src/arm/code-stubs-arm.cc __ tst(r0, Operand(kIsIndirectStringMask)); __ 5110 src/arm/code-stubs-arm.cc __ Assert(eq, "external string expected, but not found"); __ 5112 src/arm/code-stubs-arm.cc __ ldr(subject, __ 5116 src/arm/code-stubs-arm.cc __ sub(subject, __ 5119 src/arm/code-stubs-arm.cc __ jmp(&seq_string); __ 5122 src/arm/code-stubs-arm.cc __ bind(&runtime); __ 5123 src/arm/code-stubs-arm.cc __ TailCallRuntime(Runtime::kRegExpExec, 4, 1); __ 5134 src/arm/code-stubs-arm.cc __ ldr(r1, MemOperand(sp, kPointerSize * 2)); __ 5137 src/arm/code-stubs-arm.cc __ JumpIfNotSmi(r1, &slowcase); __ 5138 src/arm/code-stubs-arm.cc __ cmp(r1, Operand(Smi::FromInt(kMaxInlineLength))); __ 5139 src/arm/code-stubs-arm.cc __ b(hi, &slowcase); __ 5148 src/arm/code-stubs-arm.cc __ mov(r5, Operand(r1, LSR, kSmiTagSize + kSmiShiftSize)); __ 5149 src/arm/code-stubs-arm.cc __ add(r2, r5, Operand(objects_size)); __ 5150 src/arm/code-stubs-arm.cc __ AllocateInNewSpace( __ 5165 src/arm/code-stubs-arm.cc __ ldr(r2, ContextOperand(cp, Context::GLOBAL_INDEX)); __ 5166 src/arm/code-stubs-arm.cc __ add(r3, r0, Operand(JSRegExpResult::kSize)); __ 5167 src/arm/code-stubs-arm.cc __ mov(r4, Operand(factory->empty_fixed_array())); __ 5168 src/arm/code-stubs-arm.cc __ ldr(r2, FieldMemOperand(r2, GlobalObject::kGlobalContextOffset)); __ 5169 src/arm/code-stubs-arm.cc __ str(r3, FieldMemOperand(r0, JSObject::kElementsOffset)); __ 5170 src/arm/code-stubs-arm.cc __ ldr(r2, ContextOperand(r2, Context::REGEXP_RESULT_MAP_INDEX)); __ 5171 src/arm/code-stubs-arm.cc __ str(r4, FieldMemOperand(r0, JSObject::kPropertiesOffset)); __ 5172 src/arm/code-stubs-arm.cc __ str(r2, FieldMemOperand(r0, HeapObject::kMapOffset)); __ 5175 src/arm/code-stubs-arm.cc __ ldr(r1, MemOperand(sp, kPointerSize * 0)); __ 5176 src/arm/code-stubs-arm.cc __ ldr(r2, MemOperand(sp, kPointerSize * 1)); __ 5177 src/arm/code-stubs-arm.cc __ ldr(r6, MemOperand(sp, kPointerSize * 2)); __ 5178 src/arm/code-stubs-arm.cc __ str(r1, FieldMemOperand(r0, JSRegExpResult::kInputOffset)); __ 5179 src/arm/code-stubs-arm.cc __ str(r2, FieldMemOperand(r0, JSRegExpResult::kIndexOffset)); __ 5180 src/arm/code-stubs-arm.cc __ str(r6, FieldMemOperand(r0, JSArray::kLengthOffset)); __ 5188 src/arm/code-stubs-arm.cc __ mov(r2, Operand(factory->fixed_array_map())); __ 5189 src/arm/code-stubs-arm.cc __ str(r2, FieldMemOperand(r3, HeapObject::kMapOffset)); __ 5191 src/arm/code-stubs-arm.cc __ mov(r6, Operand(r5, LSL, kSmiTagSize)); __ 5192 src/arm/code-stubs-arm.cc __ str(r6, FieldMemOperand(r3, FixedArray::kLengthOffset)); __ 5194 src/arm/code-stubs-arm.cc __ mov(r2, Operand(factory->the_hole_value())); __ 5195 src/arm/code-stubs-arm.cc __ add(r3, r3, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 5202 src/arm/code-stubs-arm.cc __ cmp(r5, Operand(0)); __ 5203 src/arm/code-stubs-arm.cc __ bind(&loop); __ 5204 src/arm/code-stubs-arm.cc __ b(le, &done); // Jump if r5 is negative or zero. __ 5205 src/arm/code-stubs-arm.cc __ sub(r5, r5, Operand(1), SetCC); __ 5206 src/arm/code-stubs-arm.cc __ str(r2, MemOperand(r3, r5, LSL, kPointerSizeLog2)); __ 5207 src/arm/code-stubs-arm.cc __ jmp(&loop); __ 5209 src/arm/code-stubs-arm.cc __ bind(&done); __ 5210 src/arm/code-stubs-arm.cc __ add(sp, sp, Operand(3 * kPointerSize)); __ 5211 src/arm/code-stubs-arm.cc __ Ret(); __ 5213 src/arm/code-stubs-arm.cc __ bind(&slowcase); __ 5214 src/arm/code-stubs-arm.cc __ TailCallRuntime(Runtime::kRegExpConstructResult, 3, 1); __ 5232 src/arm/code-stubs-arm.cc __ ldr(r3, FieldMemOperand(r2, JSGlobalPropertyCell::kValueOffset)); __ 5236 src/arm/code-stubs-arm.cc __ cmp(r3, r1); __ 5237 src/arm/code-stubs-arm.cc __ b(eq, &done); __ 5238 src/arm/code-stubs-arm.cc __ CompareRoot(r3, Heap::kUndefinedValueRootIndex); __ 5239 src/arm/code-stubs-arm.cc __ b(eq, &done); __ 5243 src/arm/code-stubs-arm.cc __ CompareRoot(r3, Heap::kTheHoleValueRootIndex); __ 5246 src/arm/code-stubs-arm.cc __ LoadRoot(ip, Heap::kUndefinedValueRootIndex, ne); __ 5247 src/arm/code-stubs-arm.cc __ str(ip, FieldMemOperand(r2, JSGlobalPropertyCell::kValueOffset), ne); __ 5250 src/arm/code-stubs-arm.cc __ str(r1, FieldMemOperand(r2, JSGlobalPropertyCell::kValueOffset), eq); __ 5253 src/arm/code-stubs-arm.cc __ bind(&done); __ 5269 src/arm/code-stubs-arm.cc __ ldr(r4, MemOperand(sp, argc_ * kPointerSize)); __ 5271 src/arm/code-stubs-arm.cc __ CompareRoot(r4, Heap::kTheHoleValueRootIndex); __ 5272 src/arm/code-stubs-arm.cc __ b(ne, &call); __ 5274 src/arm/code-stubs-arm.cc __ ldr(r3, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 5275 src/arm/code-stubs-arm.cc __ ldr(r3, FieldMemOperand(r3, GlobalObject::kGlobalReceiverOffset)); __ 5276 src/arm/code-stubs-arm.cc __ str(r3, MemOperand(sp, argc_ * kPointerSize)); __ 5277 src/arm/code-stubs-arm.cc __ bind(&call); __ 5282 src/arm/code-stubs-arm.cc __ JumpIfSmi(r1, &non_function); __ 5284 src/arm/code-stubs-arm.cc __ CompareObjectType(r1, r3, r3, JS_FUNCTION_TYPE); __ 5285 src/arm/code-stubs-arm.cc __ b(ne, &slow); __ 5297 src/arm/code-stubs-arm.cc __ CompareRoot(r4, Heap::kTheHoleValueRootIndex); __ 5298 src/arm/code-stubs-arm.cc __ b(eq, &call_as_function); __ 5299 src/arm/code-stubs-arm.cc __ InvokeFunction(r1, __ 5304 src/arm/code-stubs-arm.cc __ bind(&call_as_function); __ 5306 src/arm/code-stubs-arm.cc __ InvokeFunction(r1, __ 5313 src/arm/code-stubs-arm.cc __ bind(&slow); __ 5320 src/arm/code-stubs-arm.cc __ LoadRoot(ip, Heap::kUndefinedValueRootIndex); __ 5321 src/arm/code-stubs-arm.cc __ str(ip, FieldMemOperand(r2, JSGlobalPropertyCell::kValueOffset)); __ 5324 src/arm/code-stubs-arm.cc __ cmp(r3, Operand(JS_FUNCTION_PROXY_TYPE)); __ 5325 src/arm/code-stubs-arm.cc __ b(ne, &non_function); __ 5326 src/arm/code-stubs-arm.cc __ push(r1); // put proxy as additional argument __ 5327 src/arm/code-stubs-arm.cc __ mov(r0, Operand(argc_ + 1, RelocInfo::NONE)); __ 5328 src/arm/code-stubs-arm.cc __ mov(r2, Operand(0, RelocInfo::NONE)); __ 5329 src/arm/code-stubs-arm.cc __ GetBuiltinEntry(r3, Builtins::CALL_FUNCTION_PROXY); __ 5330 src/arm/code-stubs-arm.cc __ SetCallKind(r5, CALL_AS_METHOD); __ 5334 src/arm/code-stubs-arm.cc __ Jump(adaptor, RelocInfo::CODE_TARGET); __ 5339 src/arm/code-stubs-arm.cc __ bind(&non_function); __ 5340 src/arm/code-stubs-arm.cc __ str(r1, MemOperand(sp, argc_ * kPointerSize)); __ 5341 src/arm/code-stubs-arm.cc __ mov(r0, Operand(argc_)); // Set up the number of arguments. __ 5342 src/arm/code-stubs-arm.cc __ mov(r2, Operand(0, RelocInfo::NONE)); __ 5343 src/arm/code-stubs-arm.cc __ GetBuiltinEntry(r3, Builtins::CALL_NON_FUNCTION); __ 5344 src/arm/code-stubs-arm.cc __ SetCallKind(r5, CALL_AS_METHOD); __ 5345 src/arm/code-stubs-arm.cc __ Jump(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(), __ 5357 src/arm/code-stubs-arm.cc __ JumpIfSmi(r1, &non_function_call); __ 5359 src/arm/code-stubs-arm.cc __ CompareObjectType(r1, r3, r3, JS_FUNCTION_TYPE); __ 5360 src/arm/code-stubs-arm.cc __ b(ne, &slow); __ 5367 src/arm/code-stubs-arm.cc __ ldr(r2, FieldMemOperand(r1, JSFunction::kSharedFunctionInfoOffset)); __ 5368 src/arm/code-stubs-arm.cc __ ldr(r2, FieldMemOperand(r2, SharedFunctionInfo::kConstructStubOffset)); __ 5369 src/arm/code-stubs-arm.cc __ add(pc, r2, Operand(Code::kHeaderSize - kHeapObjectTag)); __ 5375 src/arm/code-stubs-arm.cc __ bind(&slow); __ 5376 src/arm/code-stubs-arm.cc __ cmp(r3, Operand(JS_FUNCTION_PROXY_TYPE)); __ 5377 src/arm/code-stubs-arm.cc __ b(ne, &non_function_call); __ 5378 src/arm/code-stubs-arm.cc __ GetBuiltinEntry(r3, Builtins::CALL_FUNCTION_PROXY_AS_CONSTRUCTOR); __ 5379 src/arm/code-stubs-arm.cc __ jmp(&do_call); __ 5381 src/arm/code-stubs-arm.cc __ bind(&non_function_call); __ 5382 src/arm/code-stubs-arm.cc __ GetBuiltinEntry(r3, Builtins::CALL_NON_FUNCTION_AS_CONSTRUCTOR); __ 5383 src/arm/code-stubs-arm.cc __ bind(&do_call); __ 5385 src/arm/code-stubs-arm.cc __ mov(r2, Operand(0, RelocInfo::NONE)); __ 5386 src/arm/code-stubs-arm.cc __ SetCallKind(r5, CALL_AS_METHOD); __ 5387 src/arm/code-stubs-arm.cc __ Jump(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(), __ 5442 src/arm/code-stubs-arm.cc __ JumpIfSmi(object_, receiver_not_string_); __ 5445 src/arm/code-stubs-arm.cc __ ldr(result_, FieldMemOperand(object_, HeapObject::kMapOffset)); __ 5446 src/arm/code-stubs-arm.cc __ ldrb(result_, FieldMemOperand(result_, Map::kInstanceTypeOffset)); __ 5448 src/arm/code-stubs-arm.cc __ tst(result_, Operand(kIsNotStringMask)); __ 5449 src/arm/code-stubs-arm.cc __ b(ne, receiver_not_string_); __ 5452 src/arm/code-stubs-arm.cc __ JumpIfNotSmi(index_, &index_not_smi_); __ 5453 src/arm/code-stubs-arm.cc __ bind(&got_smi_index_); __ 5456 src/arm/code-stubs-arm.cc __ ldr(ip, FieldMemOperand(object_, String::kLengthOffset)); __ 5457 src/arm/code-stubs-arm.cc __ cmp(ip, Operand(index_)); __ 5458 src/arm/code-stubs-arm.cc __ b(ls, index_out_of_range_); __ 5460 src/arm/code-stubs-arm.cc __ mov(index_, Operand(index_, ASR, kSmiTagSize)); __ 5468 src/arm/code-stubs-arm.cc __ mov(result_, Operand(result_, LSL, kSmiTagSize)); __ 5469 src/arm/code-stubs-arm.cc __ bind(&exit_); __ 5476 src/arm/code-stubs-arm.cc __ Abort("Unexpected fallthrough to CharCodeAt slow case"); __ 5479 src/arm/code-stubs-arm.cc __ bind(&index_not_smi_); __ 5481 src/arm/code-stubs-arm.cc __ CheckMap(index_, __ 5487 src/arm/code-stubs-arm.cc __ push(object_); __ 5488 src/arm/code-stubs-arm.cc __ push(index_); // Consumed by runtime conversion function. __ 5490 src/arm/code-stubs-arm.cc __ CallRuntime(Runtime::kNumberToIntegerMapMinusZero, 1); __ 5494 src/arm/code-stubs-arm.cc __ CallRuntime(Runtime::kNumberToSmi, 1); __ 5498 src/arm/code-stubs-arm.cc __ Move(index_, r0); __ 5499 src/arm/code-stubs-arm.cc __ pop(object_); __ 5501 src/arm/code-stubs-arm.cc __ ldr(result_, FieldMemOperand(object_, HeapObject::kMapOffset)); __ 5502 src/arm/code-stubs-arm.cc __ ldrb(result_, FieldMemOperand(result_, Map::kInstanceTypeOffset)); __ 5505 src/arm/code-stubs-arm.cc __ JumpIfNotSmi(index_, index_out_of_range_); __ 5507 src/arm/code-stubs-arm.cc __ jmp(&got_smi_index_); __ 5512 src/arm/code-stubs-arm.cc __ bind(&call_runtime_); __ 5514 src/arm/code-stubs-arm.cc __ mov(index_, Operand(index_, LSL, kSmiTagSize)); __ 5515 src/arm/code-stubs-arm.cc __ Push(object_, index_); __ 5516 src/arm/code-stubs-arm.cc __ CallRuntime(Runtime::kStringCharCodeAt, 2); __ 5517 src/arm/code-stubs-arm.cc __ Move(result_, r0); __ 5519 src/arm/code-stubs-arm.cc __ jmp(&exit_); __ 5521 src/arm/code-stubs-arm.cc __ Abort("Unexpected fallthrough from CharCodeAt slow case"); __ 5533 src/arm/code-stubs-arm.cc __ tst(code_, __ 5536 src/arm/code-stubs-arm.cc __ b(ne, &slow_case_); __ 5538 src/arm/code-stubs-arm.cc __ LoadRoot(result_, Heap::kSingleCharacterStringCacheRootIndex); __ 5541 src/arm/code-stubs-arm.cc __ add(result_, result_, Operand(code_, LSL, kPointerSizeLog2 - kSmiTagSize)); __ 5542 src/arm/code-stubs-arm.cc __ ldr(result_, FieldMemOperand(result_, FixedArray::kHeaderSize)); __ 5543 src/arm/code-stubs-arm.cc __ CompareRoot(result_, Heap::kUndefinedValueRootIndex); __ 5544 src/arm/code-stubs-arm.cc __ b(eq, &slow_case_); __ 5545 src/arm/code-stubs-arm.cc __ bind(&exit_); __ 5552 src/arm/code-stubs-arm.cc __ Abort("Unexpected fallthrough to CharFromCode slow case"); __ 5554 src/arm/code-stubs-arm.cc __ bind(&slow_case_); __ 5556 src/arm/code-stubs-arm.cc __ push(code_); __ 5557 src/arm/code-stubs-arm.cc __ CallRuntime(Runtime::kCharFromCode, 1); __ 5558 src/arm/code-stubs-arm.cc __ Move(result_, r0); __ 5560 src/arm/code-stubs-arm.cc __ jmp(&exit_); __ 5562 src/arm/code-stubs-arm.cc __ Abort("Unexpected fallthrough from CharFromCode slow case"); __ 5594 src/arm/code-stubs-arm.cc __ add(count, count, Operand(count), SetCC); __ 5596 src/arm/code-stubs-arm.cc __ cmp(count, Operand(0, RelocInfo::NONE)); __ 5598 src/arm/code-stubs-arm.cc __ b(eq, &done); __ 5600 src/arm/code-stubs-arm.cc __ bind(&loop); __ 5601 src/arm/code-stubs-arm.cc __ ldrb(scratch, MemOperand(src, 1, PostIndex)); __ 5604 src/arm/code-stubs-arm.cc __ sub(count, count, Operand(1), SetCC); __ 5605 src/arm/code-stubs-arm.cc __ strb(scratch, MemOperand(dest, 1, PostIndex)); __ 5607 src/arm/code-stubs-arm.cc __ b(gt, &loop); __ 5609 src/arm/code-stubs-arm.cc __ bind(&done); __ 5635 src/arm/code-stubs-arm.cc __ tst(dest, Operand(kPointerAlignmentMask)); __ 5636 src/arm/code-stubs-arm.cc __ Check(eq, "Destination of copy not aligned."); __ 5649 src/arm/code-stubs-arm.cc __ add(count, count, Operand(count), SetCC); __ 5651 src/arm/code-stubs-arm.cc __ cmp(count, Operand(0, RelocInfo::NONE)); __ 5653 src/arm/code-stubs-arm.cc __ b(eq, &done); __ 5658 src/arm/code-stubs-arm.cc __ cmp(count, Operand(8)); __ 5659 src/arm/code-stubs-arm.cc __ add(count, dest, Operand(count)); __ 5661 src/arm/code-stubs-arm.cc __ b(lt, &byte_loop); __ 5665 src/arm/code-stubs-arm.cc __ and_(scratch4, dest, Operand(kReadAlignmentMask), SetCC); __ 5667 src/arm/code-stubs-arm.cc __ b(eq, &dest_aligned); __ 5668 src/arm/code-stubs-arm.cc __ cmp(scratch4, Operand(2)); __ 5669 src/arm/code-stubs-arm.cc __ ldrb(scratch1, MemOperand(src, 1, PostIndex)); __ 5670 src/arm/code-stubs-arm.cc __ ldrb(scratch2, MemOperand(src, 1, PostIndex), le); __ 5671 src/arm/code-stubs-arm.cc __ ldrb(scratch3, MemOperand(src, 1, PostIndex), lt); __ 5672 src/arm/code-stubs-arm.cc __ strb(scratch1, MemOperand(dest, 1, PostIndex)); __ 5673 src/arm/code-stubs-arm.cc __ strb(scratch2, MemOperand(dest, 1, PostIndex), le); __ 5674 src/arm/code-stubs-arm.cc __ strb(scratch3, MemOperand(dest, 1, PostIndex), lt); __ 5675 src/arm/code-stubs-arm.cc __ bind(&dest_aligned); __ 5680 src/arm/code-stubs-arm.cc __ sub(scratch4, dest, Operand(src)); __ 5681 src/arm/code-stubs-arm.cc __ and_(scratch4, scratch4, Operand(0x03), SetCC); __ 5682 src/arm/code-stubs-arm.cc __ b(eq, &simple_loop); __ 5690 src/arm/code-stubs-arm.cc __ mov(scratch4, Operand(scratch4, LSL, 3)); __ 5692 src/arm/code-stubs-arm.cc __ and_(src, src, Operand(~3)); // Round down to load previous word. __ 5693 src/arm/code-stubs-arm.cc __ ldr(scratch1, MemOperand(src, 4, PostIndex)); __ 5696 src/arm/code-stubs-arm.cc __ rsb(scratch2, left_shift, Operand(32)); __ 5698 src/arm/code-stubs-arm.cc __ mov(scratch1, Operand(scratch1, LSR, right_shift)); __ 5700 src/arm/code-stubs-arm.cc __ bind(&loop); __ 5701 src/arm/code-stubs-arm.cc __ ldr(scratch3, MemOperand(src, 4, PostIndex)); __ 5702 src/arm/code-stubs-arm.cc __ sub(scratch5, limit, Operand(dest)); __ 5703 src/arm/code-stubs-arm.cc __ orr(scratch1, scratch1, Operand(scratch3, LSL, left_shift)); __ 5704 src/arm/code-stubs-arm.cc __ str(scratch1, MemOperand(dest, 4, PostIndex)); __ 5705 src/arm/code-stubs-arm.cc __ mov(scratch1, Operand(scratch3, LSR, right_shift)); __ 5708 src/arm/code-stubs-arm.cc __ sub(scratch5, scratch5, Operand(8), SetCC); __ 5709 src/arm/code-stubs-arm.cc __ b(ge, &loop); __ 5718 src/arm/code-stubs-arm.cc __ add(scratch5, scratch5, Operand(4), SetCC); __ 5719 src/arm/code-stubs-arm.cc __ b(eq, &done); __ 5720 src/arm/code-stubs-arm.cc __ cmp(scratch4, Operand(scratch5, LSL, 3), ne); __ 5722 src/arm/code-stubs-arm.cc __ mov(scratch5, Operand(scratch4, LSR, 3), LeaveCC, lt); __ 5725 src/arm/code-stubs-arm.cc __ cmp(scratch5, Operand(2)); __ 5726 src/arm/code-stubs-arm.cc __ strb(scratch1, MemOperand(dest, 1, PostIndex)); __ 5727 src/arm/code-stubs-arm.cc __ mov(scratch1, Operand(scratch1, LSR, 8), LeaveCC, ge); __ 5728 src/arm/code-stubs-arm.cc __ strb(scratch1, MemOperand(dest, 1, PostIndex), ge); __ 5729 src/arm/code-stubs-arm.cc __ mov(scratch1, Operand(scratch1, LSR, 8), LeaveCC, gt); __ 5730 src/arm/code-stubs-arm.cc __ strb(scratch1, MemOperand(dest, 1, PostIndex), gt); __ 5732 src/arm/code-stubs-arm.cc __ b(&byte_loop); __ 5737 src/arm/code-stubs-arm.cc __ bind(&simple_loop); __ 5740 src/arm/code-stubs-arm.cc __ bind(&loop); __ 5741 src/arm/code-stubs-arm.cc __ ldr(scratch1, MemOperand(src, 4, PostIndex)); __ 5742 src/arm/code-stubs-arm.cc __ sub(scratch3, limit, Operand(dest)); __ 5743 src/arm/code-stubs-arm.cc __ str(scratch1, MemOperand(dest, 4, PostIndex)); __ 5746 src/arm/code-stubs-arm.cc __ cmp(scratch3, Operand(8)); __ 5747 src/arm/code-stubs-arm.cc __ b(ge, &loop); __ 5751 src/arm/code-stubs-arm.cc __ bind(&byte_loop); __ 5752 src/arm/code-stubs-arm.cc __ cmp(dest, Operand(limit)); __ 5753 src/arm/code-stubs-arm.cc __ ldrb(scratch1, MemOperand(src, 1, PostIndex), lt); __ 5754 src/arm/code-stubs-arm.cc __ b(ge, &done); __ 5755 src/arm/code-stubs-arm.cc __ strb(scratch1, MemOperand(dest, 1, PostIndex)); __ 5756 src/arm/code-stubs-arm.cc __ b(&byte_loop); __ 5758 src/arm/code-stubs-arm.cc __ bind(&done); __ 5777 src/arm/code-stubs-arm.cc __ sub(scratch, c1, Operand(static_cast<int>('0'))); __ 5778 src/arm/code-stubs-arm.cc __ cmp(scratch, Operand(static_cast<int>('9' - '0'))); __ 5779 src/arm/code-stubs-arm.cc __ b(hi, ¬_array_index); __ 5780 src/arm/code-stubs-arm.cc __ sub(scratch, c2, Operand(static_cast<int>('0'))); __ 5781 src/arm/code-stubs-arm.cc __ cmp(scratch, Operand(static_cast<int>('9' - '0'))); __ 5786 src/arm/code-stubs-arm.cc __ orr(c1, c1, Operand(c2, LSL, kBitsPerByte), LeaveCC, ls); __ 5787 src/arm/code-stubs-arm.cc __ b(ls, not_found); __ 5789 src/arm/code-stubs-arm.cc __ bind(¬_array_index); __ 5798 src/arm/code-stubs-arm.cc __ orr(chars, chars, Operand(c2, LSL, kBitsPerByte)); __ 5806 src/arm/code-stubs-arm.cc __ LoadRoot(symbol_table, Heap::kSymbolTableRootIndex); __ 5809 src/arm/code-stubs-arm.cc __ LoadRoot(undefined, Heap::kUndefinedValueRootIndex); __ 5813 src/arm/code-stubs-arm.cc __ ldr(mask, FieldMemOperand(symbol_table, SymbolTable::kCapacityOffset)); __ 5814 src/arm/code-stubs-arm.cc __ mov(mask, Operand(mask, ASR, 1)); __ 5815 src/arm/code-stubs-arm.cc __ sub(mask, mask, Operand(1)); __ 5819 src/arm/code-stubs-arm.cc __ add(first_symbol_table_element, symbol_table, __ 5839 src/arm/code-stubs-arm.cc __ add(candidate, hash, Operand(SymbolTable::GetProbeOffset(i))); __ 5841 src/arm/code-stubs-arm.cc __ mov(candidate, hash); __ 5844 src/arm/code-stubs-arm.cc __ and_(candidate, candidate, Operand(mask)); __ 5848 src/arm/code-stubs-arm.cc __ ldr(candidate, __ 5856 src/arm/code-stubs-arm.cc __ CompareObjectType(candidate, scratch, scratch, ODDBALL_TYPE); __ 5857 src/arm/code-stubs-arm.cc __ b(ne, &is_string); __ 5859 src/arm/code-stubs-arm.cc __ cmp(undefined, candidate); __ 5860 src/arm/code-stubs-arm.cc __ b(eq, not_found); __ 5863 src/arm/code-stubs-arm.cc __ LoadRoot(ip, Heap::kTheHoleValueRootIndex); __ 5864 src/arm/code-stubs-arm.cc __ cmp(ip, candidate); __ 5865 src/arm/code-stubs-arm.cc __ Assert(eq, "oddball in symbol table is not undefined or the hole"); __ 5867 src/arm/code-stubs-arm.cc __ jmp(&next_probe[i]); __ 5869 src/arm/code-stubs-arm.cc __ bind(&is_string); __ 5874 src/arm/code-stubs-arm.cc __ JumpIfInstanceTypeIsNotSequentialAscii(scratch, scratch, &next_probe[i]); __ 5877 src/arm/code-stubs-arm.cc __ ldr(scratch, FieldMemOperand(candidate, String::kLengthOffset)); __ 5878 src/arm/code-stubs-arm.cc __ cmp(scratch, Operand(Smi::FromInt(2))); __ 5879 src/arm/code-stubs-arm.cc __ b(ne, &next_probe[i]); __ 5883 src/arm/code-stubs-arm.cc __ ldrh(scratch, FieldMemOperand(candidate, SeqAsciiString::kHeaderSize)); __ 5884 src/arm/code-stubs-arm.cc __ cmp(chars, scratch); __ 5885 src/arm/code-stubs-arm.cc __ b(eq, &found_in_symbol_table); __ 5886 src/arm/code-stubs-arm.cc __ bind(&next_probe[i]); __ 5890 src/arm/code-stubs-arm.cc __ jmp(not_found); __ 5894 src/arm/code-stubs-arm.cc __ bind(&found_in_symbol_table); __ 5895 src/arm/code-stubs-arm.cc __ Move(r0, result); __ 5903 src/arm/code-stubs-arm.cc __ LoadRoot(hash, Heap::kHashSeedRootIndex); __ 5905 src/arm/code-stubs-arm.cc __ add(hash, character, Operand(hash, LSR, kSmiTagSize)); __ 5907 src/arm/code-stubs-arm.cc __ add(hash, hash, Operand(hash, LSL, 10)); __ 5909 src/arm/code-stubs-arm.cc __ eor(hash, hash, Operand(hash, LSR, 6)); __ 5917 src/arm/code-stubs-arm.cc __ add(hash, hash, Operand(character)); __ 5919 src/arm/code-stubs-arm.cc __ add(hash, hash, Operand(hash, LSL, 10)); __ 5921 src/arm/code-stubs-arm.cc __ eor(hash, hash, Operand(hash, LSR, 6)); __ 5928 src/arm/code-stubs-arm.cc __ add(hash, hash, Operand(hash, LSL, 3)); __ 5930 src/arm/code-stubs-arm.cc __ eor(hash, hash, Operand(hash, LSR, 11)); __ 5932 src/arm/code-stubs-arm.cc __ add(hash, hash, Operand(hash, LSL, 15)); __ 5934 src/arm/code-stubs-arm.cc __ and_(hash, hash, Operand(String::kHashBitMask), SetCC); __ 5937 src/arm/code-stubs-arm.cc __ mov(hash, Operand(StringHasher::kZeroHash), LeaveCC, eq); __ 5961 src/arm/code-stubs-arm.cc __ Ldrd(r2, r3, MemOperand(sp, kToOffset)); __ 5967 src/arm/code-stubs-arm.cc __ mov(r2, Operand(r2, ASR, 1), SetCC); __ 5968 src/arm/code-stubs-arm.cc __ mov(r3, Operand(r3, ASR, 1), SetCC, cc); __ 5970 src/arm/code-stubs-arm.cc __ b(cs, &runtime); // Either "from" or "to" is not a smi. __ 5975 src/arm/code-stubs-arm.cc __ sub(r2, r2, Operand(r3), SetCC, pl); __ 5976 src/arm/code-stubs-arm.cc __ b(mi, &runtime); // Fail if from > to. __ 5979 src/arm/code-stubs-arm.cc __ ldr(r0, MemOperand(sp, kStringOffset)); __ 5981 src/arm/code-stubs-arm.cc __ JumpIfSmi(r0, &runtime); __ 5983 src/arm/code-stubs-arm.cc __ b(NegateCondition(is_string), &runtime); __ 5989 src/arm/code-stubs-arm.cc __ ldr(r4, FieldMemOperand(r0, String::kLengthOffset)); __ 5990 src/arm/code-stubs-arm.cc __ cmp(r2, Operand(r4, ASR, 1)); __ 5992 src/arm/code-stubs-arm.cc __ b(eq, &return_r0); __ 5994 src/arm/code-stubs-arm.cc __ b(hi, &runtime); __ 6007 src/arm/code-stubs-arm.cc __ tst(r1, Operand(kIsIndirectStringMask)); __ 6008 src/arm/code-stubs-arm.cc __ b(eq, &seq_or_external_string); __ 6010 src/arm/code-stubs-arm.cc __ tst(r1, Operand(kSlicedNotConsMask)); __ 6011 src/arm/code-stubs-arm.cc __ b(ne, &sliced_string); __ 6013 src/arm/code-stubs-arm.cc __ ldr(r5, FieldMemOperand(r0, ConsString::kSecondOffset)); __ 6014 src/arm/code-stubs-arm.cc __ CompareRoot(r5, Heap::kEmptyStringRootIndex); __ 6015 src/arm/code-stubs-arm.cc __ b(ne, &runtime); __ 6016 src/arm/code-stubs-arm.cc __ ldr(r5, FieldMemOperand(r0, ConsString::kFirstOffset)); __ 6018 src/arm/code-stubs-arm.cc __ ldr(r1, FieldMemOperand(r5, HeapObject::kMapOffset)); __ 6019 src/arm/code-stubs-arm.cc __ ldrb(r1, FieldMemOperand(r1, Map::kInstanceTypeOffset)); __ 6020 src/arm/code-stubs-arm.cc __ jmp(&underlying_unpacked); __ 6022 src/arm/code-stubs-arm.cc __ bind(&sliced_string); __ 6024 src/arm/code-stubs-arm.cc __ ldr(r5, FieldMemOperand(r0, SlicedString::kParentOffset)); __ 6025 src/arm/code-stubs-arm.cc __ ldr(r4, FieldMemOperand(r0, SlicedString::kOffsetOffset)); __ 6026 src/arm/code-stubs-arm.cc __ add(r3, r3, Operand(r4, ASR, 1)); // Add offset to index. __ 6028 src/arm/code-stubs-arm.cc __ ldr(r1, FieldMemOperand(r5, HeapObject::kMapOffset)); __ 6029 src/arm/code-stubs-arm.cc __ ldrb(r1, FieldMemOperand(r1, Map::kInstanceTypeOffset)); __ 6030 src/arm/code-stubs-arm.cc __ jmp(&underlying_unpacked); __ 6032 src/arm/code-stubs-arm.cc __ bind(&seq_or_external_string); __ 6034 src/arm/code-stubs-arm.cc __ mov(r5, r0); __ 6036 src/arm/code-stubs-arm.cc __ bind(&underlying_unpacked); __ 6044 src/arm/code-stubs-arm.cc __ cmp(r2, Operand(SlicedString::kMinLength)); __ 6046 src/arm/code-stubs-arm.cc __ b(lt, ©_routine); __ 6055 src/arm/code-stubs-arm.cc __ tst(r1, Operand(kStringEncodingMask)); __ 6056 src/arm/code-stubs-arm.cc __ b(eq, &two_byte_slice); __ 6057 src/arm/code-stubs-arm.cc __ AllocateAsciiSlicedString(r0, r2, r6, r7, &runtime); __ 6058 src/arm/code-stubs-arm.cc __ jmp(&set_slice_header); __ 6059 src/arm/code-stubs-arm.cc __ bind(&two_byte_slice); __ 6060 src/arm/code-stubs-arm.cc __ AllocateTwoByteSlicedString(r0, r2, r6, r7, &runtime); __ 6061 src/arm/code-stubs-arm.cc __ bind(&set_slice_header); __ 6062 src/arm/code-stubs-arm.cc __ mov(r3, Operand(r3, LSL, 1)); __ 6063 src/arm/code-stubs-arm.cc __ str(r5, FieldMemOperand(r0, SlicedString::kParentOffset)); __ 6064 src/arm/code-stubs-arm.cc __ str(r3, FieldMemOperand(r0, SlicedString::kOffsetOffset)); __ 6065 src/arm/code-stubs-arm.cc __ jmp(&return_r0); __ 6067 src/arm/code-stubs-arm.cc __ bind(©_routine); __ 6077 src/arm/code-stubs-arm.cc __ tst(r1, Operand(kExternalStringTag)); __ 6078 src/arm/code-stubs-arm.cc __ b(eq, &sequential_string); __ 6083 src/arm/code-stubs-arm.cc __ tst(r1, Operand(kShortExternalStringTag)); __ 6084 src/arm/code-stubs-arm.cc __ b(ne, &runtime); __ 6085 src/arm/code-stubs-arm.cc __ ldr(r5, FieldMemOperand(r5, ExternalString::kResourceDataOffset)); __ 6087 src/arm/code-stubs-arm.cc __ jmp(&allocate_result); __ 6089 src/arm/code-stubs-arm.cc __ bind(&sequential_string); __ 6092 src/arm/code-stubs-arm.cc __ add(r5, r5, Operand(SeqAsciiString::kHeaderSize - kHeapObjectTag)); __ 6094 src/arm/code-stubs-arm.cc __ bind(&allocate_result); __ 6097 src/arm/code-stubs-arm.cc __ tst(r1, Operand(kStringEncodingMask)); __ 6098 src/arm/code-stubs-arm.cc __ b(eq, &two_byte_sequential); __ 6101 src/arm/code-stubs-arm.cc __ AllocateAsciiString(r0, r2, r4, r6, r7, &runtime); __ 6104 src/arm/code-stubs-arm.cc __ add(r5, r5, r3); __ 6106 src/arm/code-stubs-arm.cc __ add(r1, r0, Operand(SeqAsciiString::kHeaderSize - kHeapObjectTag)); __ 6115 src/arm/code-stubs-arm.cc __ jmp(&return_r0); __ 6118 src/arm/code-stubs-arm.cc __ bind(&two_byte_sequential); __ 6119 src/arm/code-stubs-arm.cc __ AllocateTwoByteString(r0, r2, r4, r6, r7, &runtime); __ 6123 src/arm/code-stubs-arm.cc __ add(r5, r5, Operand(r3, LSL, 1)); __ 6125 src/arm/code-stubs-arm.cc __ add(r1, r0, Operand(SeqTwoByteString::kHeaderSize - kHeapObjectTag)); __ 6135 src/arm/code-stubs-arm.cc __ bind(&return_r0); __ 6137 src/arm/code-stubs-arm.cc __ IncrementCounter(counters->sub_string_native(), 1, r3, r4); __ 6138 src/arm/code-stubs-arm.cc __ add(sp, sp, Operand(3 * kPointerSize)); __ 6139 src/arm/code-stubs-arm.cc __ Ret(); __ 6142 src/arm/code-stubs-arm.cc __ bind(&runtime); __ 6143 src/arm/code-stubs-arm.cc __ TailCallRuntime(Runtime::kSubString, 3, 1); __ 6157 src/arm/code-stubs-arm.cc __ ldr(length, FieldMemOperand(left, String::kLengthOffset)); __ 6158 src/arm/code-stubs-arm.cc __ ldr(scratch2, FieldMemOperand(right, String::kLengthOffset)); __ 6159 src/arm/code-stubs-arm.cc __ cmp(length, scratch2); __ 6160 src/arm/code-stubs-arm.cc __ b(eq, &check_zero_length); __ 6161 src/arm/code-stubs-arm.cc __ bind(&strings_not_equal); __ 6162 src/arm/code-stubs-arm.cc __ mov(r0, Operand(Smi::FromInt(NOT_EQUAL))); __ 6163 src/arm/code-stubs-arm.cc __ Ret(); __ 6167 src/arm/code-stubs-arm.cc __ bind(&check_zero_length); __ 6169 src/arm/code-stubs-arm.cc __ cmp(length, Operand(0)); __ 6170 src/arm/code-stubs-arm.cc __ b(ne, &compare_chars); __ 6171 src/arm/code-stubs-arm.cc __ mov(r0, Operand(Smi::FromInt(EQUAL))); __ 6172 src/arm/code-stubs-arm.cc __ Ret(); __ 6175 src/arm/code-stubs-arm.cc __ bind(&compare_chars); __ 6181 src/arm/code-stubs-arm.cc __ mov(r0, Operand(Smi::FromInt(EQUAL))); __ 6182 src/arm/code-stubs-arm.cc __ Ret(); __ 6195 src/arm/code-stubs-arm.cc __ ldr(scratch1, FieldMemOperand(left, String::kLengthOffset)); __ 6196 src/arm/code-stubs-arm.cc __ ldr(scratch2, FieldMemOperand(right, String::kLengthOffset)); __ 6197 src/arm/code-stubs-arm.cc __ sub(scratch3, scratch1, Operand(scratch2), SetCC); __ 6199 src/arm/code-stubs-arm.cc __ mov(scratch1, scratch2, LeaveCC, gt); __ 6202 src/arm/code-stubs-arm.cc __ cmp(min_length, Operand(0)); __ 6203 src/arm/code-stubs-arm.cc __ b(eq, &compare_lengths); __ 6211 src/arm/code-stubs-arm.cc __ bind(&compare_lengths); __ 6214 src/arm/code-stubs-arm.cc __ mov(r0, Operand(length_delta), SetCC); __ 6215 src/arm/code-stubs-arm.cc __ bind(&result_not_equal); __ 6218 src/arm/code-stubs-arm.cc __ mov(r0, Operand(Smi::FromInt(GREATER)), LeaveCC, gt); __ 6219 src/arm/code-stubs-arm.cc __ mov(r0, Operand(Smi::FromInt(LESS)), LeaveCC, lt); __ 6220 src/arm/code-stubs-arm.cc __ Ret(); __ 6235 src/arm/code-stubs-arm.cc __ SmiUntag(length); __ 6236 src/arm/code-stubs-arm.cc __ add(scratch1, length, __ 6238 src/arm/code-stubs-arm.cc __ add(left, left, Operand(scratch1)); __ 6239 src/arm/code-stubs-arm.cc __ add(right, right, Operand(scratch1)); __ 6240 src/arm/code-stubs-arm.cc __ rsb(length, length, Operand::Zero()); __ 6245 src/arm/code-stubs-arm.cc __ bind(&loop); __ 6246 src/arm/code-stubs-arm.cc __ ldrb(scratch1, MemOperand(left, index)); __ 6247 src/arm/code-stubs-arm.cc __ ldrb(scratch2, MemOperand(right, index)); __ 6248 src/arm/code-stubs-arm.cc __ cmp(scratch1, scratch2); __ 6249 src/arm/code-stubs-arm.cc __ b(ne, chars_not_equal); __ 6250 src/arm/code-stubs-arm.cc __ add(index, index, Operand(1), SetCC); __ 6251 src/arm/code-stubs-arm.cc __ b(ne, &loop); __ 6263 src/arm/code-stubs-arm.cc __ Ldrd(r0 , r1, MemOperand(sp)); // Load right in r0, left in r1. __ 6266 src/arm/code-stubs-arm.cc __ cmp(r0, r1); __ 6267 src/arm/code-stubs-arm.cc __ b(ne, ¬_same); __ 6270 src/arm/code-stubs-arm.cc __ mov(r0, Operand(Smi::FromInt(EQUAL))); __ 6271 src/arm/code-stubs-arm.cc __ IncrementCounter(counters->string_compare_native(), 1, r1, r2); __ 6272 src/arm/code-stubs-arm.cc __ add(sp, sp, Operand(2 * kPointerSize)); __ 6273 src/arm/code-stubs-arm.cc __ Ret(); __ 6275 src/arm/code-stubs-arm.cc __ bind(¬_same); __ 6278 src/arm/code-stubs-arm.cc __ JumpIfNotBothSequentialAsciiStrings(r1, r0, r2, r3, &runtime); __ 6281 src/arm/code-stubs-arm.cc __ IncrementCounter(counters->string_compare_native(), 1, r2, r3); __ 6282 src/arm/code-stubs-arm.cc __ add(sp, sp, Operand(2 * kPointerSize)); __ 6287 src/arm/code-stubs-arm.cc __ bind(&runtime); __ 6288 src/arm/code-stubs-arm.cc __ TailCallRuntime(Runtime::kStringCompare, 2, 1); __ 6303 src/arm/code-stubs-arm.cc __ ldr(r0, MemOperand(sp, 1 * kPointerSize)); // First argument. __ 6304 src/arm/code-stubs-arm.cc __ ldr(r1, MemOperand(sp, 0 * kPointerSize)); // Second argument. __ 6308 src/arm/code-stubs-arm.cc __ JumpIfEitherSmi(r0, r1, &call_runtime); __ 6310 src/arm/code-stubs-arm.cc __ ldr(r4, FieldMemOperand(r0, HeapObject::kMapOffset)); __ 6311 src/arm/code-stubs-arm.cc __ ldr(r5, FieldMemOperand(r1, HeapObject::kMapOffset)); __ 6312 src/arm/code-stubs-arm.cc __ ldrb(r4, FieldMemOperand(r4, Map::kInstanceTypeOffset)); __ 6313 src/arm/code-stubs-arm.cc __ ldrb(r5, FieldMemOperand(r5, Map::kInstanceTypeOffset)); __ 6316 src/arm/code-stubs-arm.cc __ tst(r4, Operand(kIsNotStringMask)); __ 6317 src/arm/code-stubs-arm.cc __ tst(r5, Operand(kIsNotStringMask), eq); __ 6318 src/arm/code-stubs-arm.cc __ b(ne, &call_runtime); __ 6343 src/arm/code-stubs-arm.cc __ ldr(r2, FieldMemOperand(r0, String::kLengthOffset)); __ 6344 src/arm/code-stubs-arm.cc __ ldr(r3, FieldMemOperand(r1, String::kLengthOffset)); __ 6346 src/arm/code-stubs-arm.cc __ cmp(r2, Operand(Smi::FromInt(0))); // Test if first string is empty. __ 6347 src/arm/code-stubs-arm.cc __ mov(r0, Operand(r1), LeaveCC, eq); // If first is empty, return second. __ 6350 src/arm/code-stubs-arm.cc __ cmp(r3, Operand(Smi::FromInt(0)), ne); __ 6351 src/arm/code-stubs-arm.cc __ b(ne, &strings_not_empty); // If either string was empty, return r0. __ 6353 src/arm/code-stubs-arm.cc __ IncrementCounter(counters->string_add_native(), 1, r2, r3); __ 6354 src/arm/code-stubs-arm.cc __ add(sp, sp, Operand(2 * kPointerSize)); __ 6355 src/arm/code-stubs-arm.cc __ Ret(); __ 6357 src/arm/code-stubs-arm.cc __ bind(&strings_not_empty); __ 6360 src/arm/code-stubs-arm.cc __ mov(r2, Operand(r2, ASR, kSmiTagSize)); __ 6361 src/arm/code-stubs-arm.cc __ mov(r3, Operand(r3, ASR, kSmiTagSize)); __ 6373 src/arm/code-stubs-arm.cc __ add(r6, r2, Operand(r3)); __ 6376 src/arm/code-stubs-arm.cc __ cmp(r6, Operand(2)); __ 6377 src/arm/code-stubs-arm.cc __ b(ne, &longer_than_two); __ 6381 src/arm/code-stubs-arm.cc __ ldr(r4, FieldMemOperand(r0, HeapObject::kMapOffset)); __ 6382 src/arm/code-stubs-arm.cc __ ldr(r5, FieldMemOperand(r1, HeapObject::kMapOffset)); __ 6383 src/arm/code-stubs-arm.cc __ ldrb(r4, FieldMemOperand(r4, Map::kInstanceTypeOffset)); __ 6384 src/arm/code-stubs-arm.cc __ ldrb(r5, FieldMemOperand(r5, Map::kInstanceTypeOffset)); __ 6386 src/arm/code-stubs-arm.cc __ JumpIfBothInstanceTypesAreNotSequentialAscii(r4, r5, r6, r7, __ 6390 src/arm/code-stubs-arm.cc __ ldrb(r2, FieldMemOperand(r0, SeqAsciiString::kHeaderSize)); __ 6391 src/arm/code-stubs-arm.cc __ ldrb(r3, FieldMemOperand(r1, SeqAsciiString::kHeaderSize)); __ 6398 src/arm/code-stubs-arm.cc __ IncrementCounter(counters->string_add_native(), 1, r2, r3); __ 6399 src/arm/code-stubs-arm.cc __ add(sp, sp, Operand(2 * kPointerSize)); __ 6400 src/arm/code-stubs-arm.cc __ Ret(); __ 6402 src/arm/code-stubs-arm.cc __ bind(&make_two_character_string); __ 6408 src/arm/code-stubs-arm.cc __ mov(r6, Operand(2)); __ 6409 src/arm/code-stubs-arm.cc __ AllocateAsciiString(r0, r6, r4, r5, r9, &call_runtime); __ 6410 src/arm/code-stubs-arm.cc __ strh(r2, FieldMemOperand(r0, SeqAsciiString::kHeaderSize)); __ 6411 src/arm/code-stubs-arm.cc __ IncrementCounter(counters->string_add_native(), 1, r2, r3); __ 6412 src/arm/code-stubs-arm.cc __ add(sp, sp, Operand(2 * kPointerSize)); __ 6413 src/arm/code-stubs-arm.cc __ Ret(); __ 6415 src/arm/code-stubs-arm.cc __ bind(&longer_than_two); __ 6417 src/arm/code-stubs-arm.cc __ cmp(r6, Operand(ConsString::kMinLength)); __ 6418 src/arm/code-stubs-arm.cc __ b(lt, &string_add_flat_result); __ 6423 src/arm/code-stubs-arm.cc __ cmp(r6, Operand(String::kMaxLength + 1)); __ 6424 src/arm/code-stubs-arm.cc __ b(hs, &call_runtime); __ 6429 src/arm/code-stubs-arm.cc __ ldr(r4, FieldMemOperand(r0, HeapObject::kMapOffset)); __ 6430 src/arm/code-stubs-arm.cc __ ldr(r5, FieldMemOperand(r1, HeapObject::kMapOffset)); __ 6431 src/arm/code-stubs-arm.cc __ ldrb(r4, FieldMemOperand(r4, Map::kInstanceTypeOffset)); __ 6432 src/arm/code-stubs-arm.cc __ ldrb(r5, FieldMemOperand(r5, Map::kInstanceTypeOffset)); __ 6436 src/arm/code-stubs-arm.cc __ tst(r4, Operand(kStringEncodingMask)); __ 6437 src/arm/code-stubs-arm.cc __ tst(r5, Operand(kStringEncodingMask), ne); __ 6438 src/arm/code-stubs-arm.cc __ b(eq, &non_ascii); __ 6441 src/arm/code-stubs-arm.cc __ bind(&ascii_data); __ 6442 src/arm/code-stubs-arm.cc __ AllocateAsciiConsString(r7, r6, r4, r5, &call_runtime); __ 6443 src/arm/code-stubs-arm.cc __ bind(&allocated); __ 6445 src/arm/code-stubs-arm.cc __ str(r0, FieldMemOperand(r7, ConsString::kFirstOffset)); __ 6446 src/arm/code-stubs-arm.cc __ str(r1, FieldMemOperand(r7, ConsString::kSecondOffset)); __ 6447 src/arm/code-stubs-arm.cc __ mov(r0, Operand(r7)); __ 6448 src/arm/code-stubs-arm.cc __ IncrementCounter(counters->string_add_native(), 1, r2, r3); __ 6449 src/arm/code-stubs-arm.cc __ add(sp, sp, Operand(2 * kPointerSize)); __ 6450 src/arm/code-stubs-arm.cc __ Ret(); __ 6452 src/arm/code-stubs-arm.cc __ bind(&non_ascii); __ 6457 src/arm/code-stubs-arm.cc __ tst(r4, Operand(kAsciiDataHintMask)); __ 6458 src/arm/code-stubs-arm.cc __ tst(r5, Operand(kAsciiDataHintMask), ne); __ 6459 src/arm/code-stubs-arm.cc __ b(ne, &ascii_data); __ 6460 src/arm/code-stubs-arm.cc __ eor(r4, r4, Operand(r5)); __ 6462 src/arm/code-stubs-arm.cc __ and_(r4, r4, Operand(kAsciiStringTag | kAsciiDataHintTag)); __ 6463 src/arm/code-stubs-arm.cc __ cmp(r4, Operand(kAsciiStringTag | kAsciiDataHintTag)); __ 6464 src/arm/code-stubs-arm.cc __ b(eq, &ascii_data); __ 6467 src/arm/code-stubs-arm.cc __ AllocateTwoByteConsString(r7, r6, r4, r5, &call_runtime); __ 6468 src/arm/code-stubs-arm.cc __ jmp(&allocated); __ 6482 src/arm/code-stubs-arm.cc __ bind(&string_add_flat_result); __ 6484 src/arm/code-stubs-arm.cc __ ldr(r4, FieldMemOperand(r0, HeapObject::kMapOffset)); __ 6485 src/arm/code-stubs-arm.cc __ ldr(r5, FieldMemOperand(r1, HeapObject::kMapOffset)); __ 6486 src/arm/code-stubs-arm.cc __ ldrb(r4, FieldMemOperand(r4, Map::kInstanceTypeOffset)); __ 6487 src/arm/code-stubs-arm.cc __ ldrb(r5, FieldMemOperand(r5, Map::kInstanceTypeOffset)); __ 6491 src/arm/code-stubs-arm.cc __ eor(r7, r4, Operand(r5)); __ 6492 src/arm/code-stubs-arm.cc __ tst(r7, Operand(kStringEncodingMask)); __ 6493 src/arm/code-stubs-arm.cc __ b(ne, &call_runtime); __ 6496 src/arm/code-stubs-arm.cc __ tst(r4, Operand(kStringRepresentationMask)); __ 6498 src/arm/code-stubs-arm.cc __ add(r7, __ 6503 src/arm/code-stubs-arm.cc __ b(eq, &first_prepared); __ 6506 src/arm/code-stubs-arm.cc __ tst(r4, Operand(kShortExternalStringMask)); __ 6507 src/arm/code-stubs-arm.cc __ b(ne, &call_runtime); __ 6508 src/arm/code-stubs-arm.cc __ ldr(r7, FieldMemOperand(r0, ExternalString::kResourceDataOffset)); __ 6509 src/arm/code-stubs-arm.cc __ bind(&first_prepared); __ 6512 src/arm/code-stubs-arm.cc __ tst(r5, Operand(kStringRepresentationMask)); __ 6514 src/arm/code-stubs-arm.cc __ add(r1, __ 6519 src/arm/code-stubs-arm.cc __ b(eq, &second_prepared); __ 6522 src/arm/code-stubs-arm.cc __ tst(r5, Operand(kShortExternalStringMask)); __ 6523 src/arm/code-stubs-arm.cc __ b(ne, &call_runtime); __ 6524 src/arm/code-stubs-arm.cc __ ldr(r1, FieldMemOperand(r1, ExternalString::kResourceDataOffset)); __ 6525 src/arm/code-stubs-arm.cc __ bind(&second_prepared); __ 6535 src/arm/code-stubs-arm.cc __ tst(r5, Operand(kStringEncodingMask)); __ 6536 src/arm/code-stubs-arm.cc __ b(eq, &non_ascii_string_add_flat_result); __ 6538 src/arm/code-stubs-arm.cc __ AllocateAsciiString(r0, r6, r4, r5, r9, &call_runtime); __ 6539 src/arm/code-stubs-arm.cc __ add(r6, r0, Operand(SeqAsciiString::kHeaderSize - kHeapObjectTag)); __ 6549 src/arm/code-stubs-arm.cc __ IncrementCounter(counters->string_add_native(), 1, r2, r3); __ 6550 src/arm/code-stubs-arm.cc __ add(sp, sp, Operand(2 * kPointerSize)); __ 6551 src/arm/code-stubs-arm.cc __ Ret(); __ 6553 src/arm/code-stubs-arm.cc __ bind(&non_ascii_string_add_flat_result); __ 6554 src/arm/code-stubs-arm.cc __ AllocateTwoByteString(r0, r6, r4, r5, r9, &call_runtime); __ 6555 src/arm/code-stubs-arm.cc __ add(r6, r0, Operand(SeqTwoByteString::kHeaderSize - kHeapObjectTag)); __ 6565 src/arm/code-stubs-arm.cc __ IncrementCounter(counters->string_add_native(), 1, r2, r3); __ 6566 src/arm/code-stubs-arm.cc __ add(sp, sp, Operand(2 * kPointerSize)); __ 6567 src/arm/code-stubs-arm.cc __ Ret(); __ 6570 src/arm/code-stubs-arm.cc __ bind(&call_runtime); __ 6571 src/arm/code-stubs-arm.cc __ TailCallRuntime(Runtime::kStringAdd, 2, 1); __ 6574 src/arm/code-stubs-arm.cc __ bind(&call_builtin); __ 6575 src/arm/code-stubs-arm.cc __ InvokeBuiltin(builtin_id, JUMP_FUNCTION); __ 6590 src/arm/code-stubs-arm.cc __ JumpIfSmi(arg, ¬_string); __ 6591 src/arm/code-stubs-arm.cc __ CompareObjectType(arg, scratch1, scratch1, FIRST_NONSTRING_TYPE); __ 6592 src/arm/code-stubs-arm.cc __ b(lt, &done); __ 6596 src/arm/code-stubs-arm.cc __ bind(¬_string); __ 6606 src/arm/code-stubs-arm.cc __ mov(arg, scratch1); __ 6607 src/arm/code-stubs-arm.cc __ str(arg, MemOperand(sp, stack_offset)); __ 6608 src/arm/code-stubs-arm.cc __ jmp(&done); __ 6611 src/arm/code-stubs-arm.cc __ bind(¬_cached); __ 6612 src/arm/code-stubs-arm.cc __ JumpIfSmi(arg, slow); __ 6613 src/arm/code-stubs-arm.cc __ CompareObjectType( __ 6615 src/arm/code-stubs-arm.cc __ b(ne, slow); __ 6616 src/arm/code-stubs-arm.cc __ ldrb(scratch2, FieldMemOperand(scratch1, Map::kBitField2Offset)); __ 6617 src/arm/code-stubs-arm.cc __ and_(scratch2, __ 6619 src/arm/code-stubs-arm.cc __ cmp(scratch2, __ 6621 src/arm/code-stubs-arm.cc __ b(ne, slow); __ 6622 src/arm/code-stubs-arm.cc __ ldr(arg, FieldMemOperand(arg, JSValue::kValueOffset)); __ 6623 src/arm/code-stubs-arm.cc __ str(arg, MemOperand(sp, stack_offset)); __ 6625 src/arm/code-stubs-arm.cc __ bind(&done); __ 6632 src/arm/code-stubs-arm.cc __ orr(r2, r1, r0); __ 6633 src/arm/code-stubs-arm.cc __ JumpIfNotSmi(r2, &miss); __ 6637 src/arm/code-stubs-arm.cc __ sub(r0, r0, r1, SetCC); __ 6640 src/arm/code-stubs-arm.cc __ SmiUntag(r1); __ 6641 src/arm/code-stubs-arm.cc __ sub(r0, r1, SmiUntagOperand(r0)); __ 6643 src/arm/code-stubs-arm.cc __ Ret(); __ 6645 src/arm/code-stubs-arm.cc __ bind(&miss); __ 6656 src/arm/code-stubs-arm.cc __ and_(r2, r1, Operand(r0)); __ 6657 src/arm/code-stubs-arm.cc __ JumpIfSmi(r2, &generic_stub); __ 6659 src/arm/code-stubs-arm.cc __ CompareObjectType(r0, r2, r2, HEAP_NUMBER_TYPE); __ 6660 src/arm/code-stubs-arm.cc __ b(ne, &maybe_undefined1); __ 6661 src/arm/code-stubs-arm.cc __ CompareObjectType(r1, r2, r2, HEAP_NUMBER_TYPE); __ 6662 src/arm/code-stubs-arm.cc __ b(ne, &maybe_undefined2); __ 6670 src/arm/code-stubs-arm.cc __ sub(r2, r1, Operand(kHeapObjectTag)); __ 6671 src/arm/code-stubs-arm.cc __ vldr(d0, r2, HeapNumber::kValueOffset); __ 6672 src/arm/code-stubs-arm.cc __ sub(r2, r0, Operand(kHeapObjectTag)); __ 6673 src/arm/code-stubs-arm.cc __ vldr(d1, r2, HeapNumber::kValueOffset); __ 6676 src/arm/code-stubs-arm.cc __ VFPCompareAndSetFlags(d0, d1); __ 6679 src/arm/code-stubs-arm.cc __ b(vs, &unordered); __ 6682 src/arm/code-stubs-arm.cc __ mov(r0, Operand(EQUAL), LeaveCC, eq); __ 6683 src/arm/code-stubs-arm.cc __ mov(r0, Operand(LESS), LeaveCC, lt); __ 6684 src/arm/code-stubs-arm.cc __ mov(r0, Operand(GREATER), LeaveCC, gt); __ 6685 src/arm/code-stubs-arm.cc __ Ret(); __ 6688 src/arm/code-stubs-arm.cc __ bind(&unordered); __ 6690 src/arm/code-stubs-arm.cc __ bind(&generic_stub); __ 6691 src/arm/code-stubs-arm.cc __ Jump(stub.GetCode(), RelocInfo::CODE_TARGET); __ 6693 src/arm/code-stubs-arm.cc __ bind(&maybe_undefined1); __ 6695 src/arm/code-stubs-arm.cc __ CompareRoot(r0, Heap::kUndefinedValueRootIndex); __ 6696 src/arm/code-stubs-arm.cc __ b(ne, &miss); __ 6697 src/arm/code-stubs-arm.cc __ CompareObjectType(r1, r2, r2, HEAP_NUMBER_TYPE); __ 6698 src/arm/code-stubs-arm.cc __ b(ne, &maybe_undefined2); __ 6699 src/arm/code-stubs-arm.cc __ jmp(&unordered); __ 6702 src/arm/code-stubs-arm.cc __ bind(&maybe_undefined2); __ 6704 src/arm/code-stubs-arm.cc __ CompareRoot(r1, Heap::kUndefinedValueRootIndex); __ 6705 src/arm/code-stubs-arm.cc __ b(eq, &unordered); __ 6708 src/arm/code-stubs-arm.cc __ bind(&miss); __ 6724 src/arm/code-stubs-arm.cc __ JumpIfEitherSmi(left, right, &miss); __ 6727 src/arm/code-stubs-arm.cc __ ldr(tmp1, FieldMemOperand(left, HeapObject::kMapOffset)); __ 6728 src/arm/code-stubs-arm.cc __ ldr(tmp2, FieldMemOperand(right, HeapObject::kMapOffset)); __ 6729 src/arm/code-stubs-arm.cc __ ldrb(tmp1, FieldMemOperand(tmp1, Map::kInstanceTypeOffset)); __ 6730 src/arm/code-stubs-arm.cc __ ldrb(tmp2, FieldMemOperand(tmp2, Map::kInstanceTypeOffset)); __ 6732 src/arm/code-stubs-arm.cc __ and_(tmp1, tmp1, Operand(tmp2)); __ 6733 src/arm/code-stubs-arm.cc __ tst(tmp1, Operand(kIsSymbolMask)); __ 6734 src/arm/code-stubs-arm.cc __ b(eq, &miss); __ 6737 src/arm/code-stubs-arm.cc __ cmp(left, right); __ 6743 src/arm/code-stubs-arm.cc __ mov(r0, Operand(Smi::FromInt(EQUAL)), LeaveCC, eq); __ 6744 src/arm/code-stubs-arm.cc __ Ret(); __ 6746 src/arm/code-stubs-arm.cc __ bind(&miss); __ 6766 src/arm/code-stubs-arm.cc __ JumpIfEitherSmi(left, right, &miss); __ 6770 src/arm/code-stubs-arm.cc __ ldr(tmp1, FieldMemOperand(left, HeapObject::kMapOffset)); __ 6771 src/arm/code-stubs-arm.cc __ ldr(tmp2, FieldMemOperand(right, HeapObject::kMapOffset)); __ 6772 src/arm/code-stubs-arm.cc __ ldrb(tmp1, FieldMemOperand(tmp1, Map::kInstanceTypeOffset)); __ 6773 src/arm/code-stubs-arm.cc __ ldrb(tmp2, FieldMemOperand(tmp2, Map::kInstanceTypeOffset)); __ 6775 src/arm/code-stubs-arm.cc __ orr(tmp3, tmp1, tmp2); __ 6776 src/arm/code-stubs-arm.cc __ tst(tmp3, Operand(kIsNotStringMask)); __ 6777 src/arm/code-stubs-arm.cc __ b(ne, &miss); __ 6780 src/arm/code-stubs-arm.cc __ cmp(left, right); __ 6783 src/arm/code-stubs-arm.cc __ mov(r0, Operand(Smi::FromInt(EQUAL)), LeaveCC, eq); __ 6784 src/arm/code-stubs-arm.cc __ Ret(eq); __ 6793 src/arm/code-stubs-arm.cc __ and_(tmp3, tmp1, Operand(tmp2)); __ 6794 src/arm/code-stubs-arm.cc __ tst(tmp3, Operand(kIsSymbolMask)); __ 6798 src/arm/code-stubs-arm.cc __ Ret(ne); __ 6803 src/arm/code-stubs-arm.cc __ JumpIfBothInstanceTypesAreNotSequentialAscii( __ 6816 src/arm/code-stubs-arm.cc __ bind(&runtime); __ 6817 src/arm/code-stubs-arm.cc __ Push(left, right); __ 6819 src/arm/code-stubs-arm.cc __ TailCallRuntime(Runtime::kStringEquals, 2, 1); __ 6821 src/arm/code-stubs-arm.cc __ TailCallRuntime(Runtime::kStringCompare, 2, 1); __ 6824 src/arm/code-stubs-arm.cc __ bind(&miss); __ 6832 src/arm/code-stubs-arm.cc __ and_(r2, r1, Operand(r0)); __ 6833 src/arm/code-stubs-arm.cc __ JumpIfSmi(r2, &miss); __ 6835 src/arm/code-stubs-arm.cc __ CompareObjectType(r0, r2, r2, JS_OBJECT_TYPE); __ 6836 src/arm/code-stubs-arm.cc __ b(ne, &miss); __ 6837 src/arm/code-stubs-arm.cc __ CompareObjectType(r1, r2, r2, JS_OBJECT_TYPE); __ 6838 src/arm/code-stubs-arm.cc __ b(ne, &miss); __ 6841 src/arm/code-stubs-arm.cc __ sub(r0, r0, Operand(r1)); __ 6842 src/arm/code-stubs-arm.cc __ Ret(); __ 6844 src/arm/code-stubs-arm.cc __ bind(&miss); __ 6851 src/arm/code-stubs-arm.cc __ and_(r2, r1, Operand(r0)); __ 6852 src/arm/code-stubs-arm.cc __ JumpIfSmi(r2, &miss); __ 6853 src/arm/code-stubs-arm.cc __ ldr(r2, FieldMemOperand(r0, HeapObject::kMapOffset)); __ 6854 src/arm/code-stubs-arm.cc __ ldr(r3, FieldMemOperand(r1, HeapObject::kMapOffset)); __ 6855 src/arm/code-stubs-arm.cc __ cmp(r2, Operand(known_map_)); __ 6856 src/arm/code-stubs-arm.cc __ b(ne, &miss); __ 6857 src/arm/code-stubs-arm.cc __ cmp(r3, Operand(known_map_)); __ 6858 src/arm/code-stubs-arm.cc __ b(ne, &miss); __ 6860 src/arm/code-stubs-arm.cc __ sub(r0, r0, Operand(r1)); __ 6861 src/arm/code-stubs-arm.cc __ Ret(); __ 6863 src/arm/code-stubs-arm.cc __ bind(&miss); __ 6876 src/arm/code-stubs-arm.cc __ Push(r1, r0); __ 6877 src/arm/code-stubs-arm.cc __ push(lr); __ 6878 src/arm/code-stubs-arm.cc __ Push(r1, r0); __ 6879 src/arm/code-stubs-arm.cc __ mov(ip, Operand(Smi::FromInt(op_))); __ 6880 src/arm/code-stubs-arm.cc __ push(ip); __ 6881 src/arm/code-stubs-arm.cc __ CallExternalReference(miss, 3); __ 6883 src/arm/code-stubs-arm.cc __ add(r2, r0, Operand(Code::kHeaderSize - kHeapObjectTag)); __ 6885 src/arm/code-stubs-arm.cc __ pop(lr); __ 6886 src/arm/code-stubs-arm.cc __ pop(r0); __ 6887 src/arm/code-stubs-arm.cc __ pop(r1); __ 6890 src/arm/code-stubs-arm.cc __ Jump(r2); __ 6895 src/arm/code-stubs-arm.cc __ ldr(pc, MemOperand(sp, 0)); __ 6901 src/arm/code-stubs-arm.cc __ mov(r2, Operand(function)); __ 6908 src/arm/code-stubs-arm.cc __ mov(lr, Operand(reinterpret_cast<intptr_t>(GetCode().location()), __ 6917 src/arm/code-stubs-arm.cc __ bind(&start); __ 6918 src/arm/code-stubs-arm.cc __ add(ip, pc, Operand(Assembler::kInstrSize)); __ 6919 src/arm/code-stubs-arm.cc __ str(ip, MemOperand(sp, 0)); __ 6920 src/arm/code-stubs-arm.cc __ Jump(target); // Call the C++ function. __ 6943 src/arm/code-stubs-arm.cc __ ldr(index, FieldMemOperand(properties, kCapacityOffset)); __ 6944 src/arm/code-stubs-arm.cc __ sub(index, index, Operand(1)); __ 6945 src/arm/code-stubs-arm.cc __ and_(index, index, Operand( __ 6950 src/arm/code-stubs-arm.cc __ add(index, index, Operand(index, LSL, 1)); // index *= 3. __ 6956 src/arm/code-stubs-arm.cc __ add(tmp, properties, Operand(index, LSL, 1)); __ 6957 src/arm/code-stubs-arm.cc __ ldr(entity_name, FieldMemOperand(tmp, kElementsStartOffset)); __ 6960 src/arm/code-stubs-arm.cc __ LoadRoot(tmp, Heap::kUndefinedValueRootIndex); __ 6961 src/arm/code-stubs-arm.cc __ cmp(entity_name, tmp); __ 6962 src/arm/code-stubs-arm.cc __ b(eq, done); __ 6966 src/arm/code-stubs-arm.cc __ LoadRoot(tmp, Heap::kTheHoleValueRootIndex); __ 6969 src/arm/code-stubs-arm.cc __ cmp(entity_name, Operand(Handle<String>(name))); __ 6970 src/arm/code-stubs-arm.cc __ b(eq, miss); __ 6973 src/arm/code-stubs-arm.cc __ cmp(entity_name, tmp); __ 6974 src/arm/code-stubs-arm.cc __ b(eq, &the_hole); __ 6977 src/arm/code-stubs-arm.cc __ ldr(entity_name, FieldMemOperand(entity_name, HeapObject::kMapOffset)); __ 6978 src/arm/code-stubs-arm.cc __ ldrb(entity_name, __ 6980 src/arm/code-stubs-arm.cc __ tst(entity_name, Operand(kIsSymbolMask)); __ 6981 src/arm/code-stubs-arm.cc __ b(eq, miss); __ 6983 src/arm/code-stubs-arm.cc __ bind(&the_hole); __ 6986 src/arm/code-stubs-arm.cc __ ldr(properties, __ 6995 src/arm/code-stubs-arm.cc __ stm(db_w, sp, spill_mask); __ 6996 src/arm/code-stubs-arm.cc __ ldr(r0, FieldMemOperand(receiver, JSObject::kPropertiesOffset)); __ 6997 src/arm/code-stubs-arm.cc __ mov(r1, Operand(Handle<String>(name))); __ 6999 src/arm/code-stubs-arm.cc __ CallStub(&stub); __ 7000 src/arm/code-stubs-arm.cc __ cmp(r0, Operand(0)); __ 7001 src/arm/code-stubs-arm.cc __ ldm(ia_w, sp, spill_mask); __ 7003 src/arm/code-stubs-arm.cc __ b(eq, done); __ 7004 src/arm/code-stubs-arm.cc __ b(ne, miss); __ 7025 src/arm/code-stubs-arm.cc if (FLAG_debug_code) __ AbortIfNotString(name); __ 7028 src/arm/code-stubs-arm.cc __ ldr(scratch1, FieldMemOperand(elements, kCapacityOffset)); __ 7029 src/arm/code-stubs-arm.cc __ mov(scratch1, Operand(scratch1, ASR, kSmiTagSize)); // convert smi to int __ 7030 src/arm/code-stubs-arm.cc __ sub(scratch1, scratch1, Operand(1)); __ 7037 src/arm/code-stubs-arm.cc __ ldr(scratch2, FieldMemOperand(name, String::kHashFieldOffset)); __ 7044 src/arm/code-stubs-arm.cc __ add(scratch2, scratch2, Operand( __ 7047 src/arm/code-stubs-arm.cc __ and_(scratch2, scratch1, Operand(scratch2, LSR, String::kHashShift)); __ 7052 src/arm/code-stubs-arm.cc __ add(scratch2, scratch2, Operand(scratch2, LSL, 1)); __ 7055 src/arm/code-stubs-arm.cc __ add(scratch2, elements, Operand(scratch2, LSL, 2)); __ 7056 src/arm/code-stubs-arm.cc __ ldr(ip, FieldMemOperand(scratch2, kElementsStartOffset)); __ 7057 src/arm/code-stubs-arm.cc __ cmp(name, Operand(ip)); __ 7058 src/arm/code-stubs-arm.cc __ b(eq, done); __ 7066 src/arm/code-stubs-arm.cc __ stm(db_w, sp, spill_mask); __ 7069 src/arm/code-stubs-arm.cc __ Move(r1, name); __ 7070 src/arm/code-stubs-arm.cc __ Move(r0, elements); __ 7072 src/arm/code-stubs-arm.cc __ Move(r0, elements); __ 7073 src/arm/code-stubs-arm.cc __ Move(r1, name); __ 7076 src/arm/code-stubs-arm.cc __ CallStub(&stub); __ 7077 src/arm/code-stubs-arm.cc __ cmp(r0, Operand(0)); __ 7078 src/arm/code-stubs-arm.cc __ mov(scratch2, Operand(r2)); __ 7079 src/arm/code-stubs-arm.cc __ ldm(ia_w, sp, spill_mask); __ 7081 src/arm/code-stubs-arm.cc __ b(ne, done); __ 7082 src/arm/code-stubs-arm.cc __ b(eq, miss); __ 7109 src/arm/code-stubs-arm.cc __ ldr(mask, FieldMemOperand(dictionary, kCapacityOffset)); __ 7110 src/arm/code-stubs-arm.cc __ mov(mask, Operand(mask, ASR, kSmiTagSize)); __ 7111 src/arm/code-stubs-arm.cc __ sub(mask, mask, Operand(1)); __ 7113 src/arm/code-stubs-arm.cc __ ldr(hash, FieldMemOperand(key, String::kHashFieldOffset)); __ 7115 src/arm/code-stubs-arm.cc __ LoadRoot(undefined, Heap::kUndefinedValueRootIndex); __ 7126 src/arm/code-stubs-arm.cc __ add(index, hash, Operand( __ 7129 src/arm/code-stubs-arm.cc __ mov(index, Operand(hash)); __ 7131 src/arm/code-stubs-arm.cc __ and_(index, mask, Operand(index, LSR, String::kHashShift)); __ 7135 src/arm/code-stubs-arm.cc __ add(index, index, Operand(index, LSL, 1)); // index *= 3. __ 7138 src/arm/code-stubs-arm.cc __ add(index, dictionary, Operand(index, LSL, 2)); __ 7139 src/arm/code-stubs-arm.cc __ ldr(entry_key, FieldMemOperand(index, kElementsStartOffset)); __ 7142 src/arm/code-stubs-arm.cc __ cmp(entry_key, Operand(undefined)); __ 7143 src/arm/code-stubs-arm.cc __ b(eq, ¬_in_dictionary); __ 7146 src/arm/code-stubs-arm.cc __ cmp(entry_key, Operand(key)); __ 7147 src/arm/code-stubs-arm.cc __ b(eq, &in_dictionary); __ 7151 src/arm/code-stubs-arm.cc __ ldr(entry_key, FieldMemOperand(entry_key, HeapObject::kMapOffset)); __ 7152 src/arm/code-stubs-arm.cc __ ldrb(entry_key, __ 7154 src/arm/code-stubs-arm.cc __ tst(entry_key, Operand(kIsSymbolMask)); __ 7155 src/arm/code-stubs-arm.cc __ b(eq, &maybe_in_dictionary); __ 7159 src/arm/code-stubs-arm.cc __ bind(&maybe_in_dictionary); __ 7164 src/arm/code-stubs-arm.cc __ mov(result, Operand::Zero()); __ 7165 src/arm/code-stubs-arm.cc __ Ret(); __ 7168 src/arm/code-stubs-arm.cc __ bind(&in_dictionary); __ 7169 src/arm/code-stubs-arm.cc __ mov(result, Operand(1)); __ 7170 src/arm/code-stubs-arm.cc __ Ret(); __ 7172 src/arm/code-stubs-arm.cc __ bind(¬_in_dictionary); __ 7173 src/arm/code-stubs-arm.cc __ mov(result, Operand::Zero()); __ 7174 src/arm/code-stubs-arm.cc __ Ret(); __ 7280 src/arm/code-stubs-arm.cc __ b(&skip_to_incremental_noncompacting); __ 7281 src/arm/code-stubs-arm.cc __ b(&skip_to_incremental_compacting); __ 7285 src/arm/code-stubs-arm.cc __ RememberedSetHelper(object_, __ 7291 src/arm/code-stubs-arm.cc __ Ret(); __ 7293 src/arm/code-stubs-arm.cc __ bind(&skip_to_incremental_noncompacting); __ 7296 src/arm/code-stubs-arm.cc __ bind(&skip_to_incremental_compacting); __ 7314 src/arm/code-stubs-arm.cc __ ldr(regs_.scratch0(), MemOperand(regs_.address(), 0)); __ 7315 src/arm/code-stubs-arm.cc __ JumpIfNotInNewSpace(regs_.scratch0(), // Value. __ 7319 src/arm/code-stubs-arm.cc __ CheckPageFlag(regs_.object(), __ 7331 src/arm/code-stubs-arm.cc __ RememberedSetHelper(object_, __ 7337 src/arm/code-stubs-arm.cc __ bind(&dont_need_remembered_set); __ 7344 src/arm/code-stubs-arm.cc __ Ret(); __ 7351 src/arm/code-stubs-arm.cc __ PrepareCallCFunction(argument_count, regs_.scratch0()); __ 7356 src/arm/code-stubs-arm.cc __ Move(address, regs_.address()); __ 7357 src/arm/code-stubs-arm.cc __ Move(r0, regs_.object()); __ 7359 src/arm/code-stubs-arm.cc __ Move(r1, address); __ 7362 src/arm/code-stubs-arm.cc __ ldr(r1, MemOperand(address, 0)); __ 7364 src/arm/code-stubs-arm.cc __ mov(r2, Operand(ExternalReference::isolate_address())); __ 7368 src/arm/code-stubs-arm.cc __ CallCFunction( __ 7374 src/arm/code-stubs-arm.cc __ CallCFunction( __ 7393 src/arm/code-stubs-arm.cc __ JumpIfBlack(regs_.object(), regs_.scratch0(), regs_.scratch1(), &on_black); __ 7397 src/arm/code-stubs-arm.cc __ RememberedSetHelper(object_, __ 7403 src/arm/code-stubs-arm.cc __ Ret(); __ 7406 src/arm/code-stubs-arm.cc __ bind(&on_black); __ 7409 src/arm/code-stubs-arm.cc __ ldr(regs_.scratch0(), MemOperand(regs_.address(), 0)); __ 7414 src/arm/code-stubs-arm.cc __ CheckPageFlag(regs_.scratch0(), // Contains value. __ 7420 src/arm/code-stubs-arm.cc __ CheckPageFlag(regs_.object(), __ 7426 src/arm/code-stubs-arm.cc __ bind(&ensure_not_white); __ 7431 src/arm/code-stubs-arm.cc __ Push(regs_.object(), regs_.address()); __ 7432 src/arm/code-stubs-arm.cc __ EnsureNotWhite(regs_.scratch0(), // The value. __ 7437 src/arm/code-stubs-arm.cc __ Pop(regs_.object(), regs_.address()); __ 7441 src/arm/code-stubs-arm.cc __ RememberedSetHelper(object_, __ 7447 src/arm/code-stubs-arm.cc __ Ret(); __ 7450 src/arm/code-stubs-arm.cc __ bind(&need_incremental_pop_scratch); __ 7451 src/arm/code-stubs-arm.cc __ Pop(regs_.object(), regs_.address()); __ 7453 src/arm/code-stubs-arm.cc __ bind(&need_incremental); __ 7474 src/arm/code-stubs-arm.cc __ CheckFastElements(r2, r5, &double_elements); __ 7476 src/arm/code-stubs-arm.cc __ JumpIfSmi(r0, &smi_element); __ 7477 src/arm/code-stubs-arm.cc __ CheckFastSmiElements(r2, r5, &fast_elements); __ 7481 src/arm/code-stubs-arm.cc __ bind(&slow_elements); __ 7483 src/arm/code-stubs-arm.cc __ Push(r1, r3, r0); __ 7484 src/arm/code-stubs-arm.cc __ ldr(r5, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); __ 7485 src/arm/code-stubs-arm.cc __ ldr(r5, FieldMemOperand(r5, JSFunction::kLiteralsOffset)); __ 7486 src/arm/code-stubs-arm.cc __ Push(r5, r4); __ 7487 src/arm/code-stubs-arm.cc __ TailCallRuntime(Runtime::kStoreArrayLiteralElement, 5, 1); __ 7490 src/arm/code-stubs-arm.cc __ bind(&fast_elements); __ 7491 src/arm/code-stubs-arm.cc __ ldr(r5, FieldMemOperand(r1, JSObject::kElementsOffset)); __ 7492 src/arm/code-stubs-arm.cc __ add(r6, r5, Operand(r3, LSL, kPointerSizeLog2 - kSmiTagSize)); __ 7493 src/arm/code-stubs-arm.cc __ add(r6, r6, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 7494 src/arm/code-stubs-arm.cc __ str(r0, MemOperand(r6, 0)); __ 7496 src/arm/code-stubs-arm.cc __ RecordWrite(r5, r6, r0, kLRHasNotBeenSaved, kDontSaveFPRegs, __ 7498 src/arm/code-stubs-arm.cc __ Ret(); __ 7502 src/arm/code-stubs-arm.cc __ bind(&smi_element); __ 7503 src/arm/code-stubs-arm.cc __ ldr(r5, FieldMemOperand(r1, JSObject::kElementsOffset)); __ 7504 src/arm/code-stubs-arm.cc __ add(r6, r5, Operand(r3, LSL, kPointerSizeLog2 - kSmiTagSize)); __ 7505 src/arm/code-stubs-arm.cc __ str(r0, FieldMemOperand(r6, FixedArray::kHeaderSize)); __ 7506 src/arm/code-stubs-arm.cc __ Ret(); __ 7509 src/arm/code-stubs-arm.cc __ bind(&double_elements); __ 7510 src/arm/code-stubs-arm.cc __ ldr(r5, FieldMemOperand(r1, JSObject::kElementsOffset)); __ 7511 src/arm/code-stubs-arm.cc __ StoreNumberToDoubleElements(r0, r3, r1, r5, r6, r7, r9, r2, __ 7513 src/arm/code-stubs-arm.cc __ Ret(); __ 7520 src/arm/code-stubs-arm.cc __ push(lr); __ 7521 src/arm/code-stubs-arm.cc __ CallStub(&stub); __ 7522 src/arm/code-stubs-arm.cc __ pop(lr); __ 7533 src/arm/code-stubs-arm.cc __ Push(lr, r5, r1); __ 7537 src/arm/code-stubs-arm.cc __ sub(r0, lr, Operand(kReturnAddressDistanceFromFunctionStart)); __ 7541 src/arm/code-stubs-arm.cc __ add(r1, sp, Operand(kNumSavedRegs * kPointerSize)); __ 7546 src/arm/code-stubs-arm.cc __ mov(r5, sp); __ 7548 src/arm/code-stubs-arm.cc __ and_(sp, sp, Operand(-frame_alignment)); __ 7552 src/arm/code-stubs-arm.cc __ mov(ip, Operand(reinterpret_cast<int32_t>(&entry_hook_))); __ 7553 src/arm/code-stubs-arm.cc __ ldr(ip, MemOperand(ip)); __ 7560 src/arm/code-stubs-arm.cc __ mov(ip, Operand(ExternalReference(&dispatcher, __ 7564 src/arm/code-stubs-arm.cc __ Call(ip); __ 7568 src/arm/code-stubs-arm.cc __ mov(sp, r5); __ 7571 src/arm/code-stubs-arm.cc __ Pop(lr, r5, r1); __ 7572 src/arm/code-stubs-arm.cc __ Ret(); __ 87 src/arm/codegen-arm.cc __ str(r3, FieldMemOperand(r2, HeapObject::kMapOffset)); __ 88 src/arm/codegen-arm.cc __ RecordWriteField(r2, __ 114 src/arm/codegen-arm.cc __ ldr(r4, FieldMemOperand(r2, JSObject::kElementsOffset)); __ 115 src/arm/codegen-arm.cc __ CompareRoot(r4, Heap::kEmptyFixedArrayRootIndex); __ 116 src/arm/codegen-arm.cc __ b(eq, &only_change_map); __ 118 src/arm/codegen-arm.cc __ push(lr); __ 119 src/arm/codegen-arm.cc __ ldr(r5, FieldMemOperand(r4, FixedArray::kLengthOffset)); __ 125 src/arm/codegen-arm.cc __ mov(lr, Operand(r5, LSL, 2)); __ 126 src/arm/codegen-arm.cc __ add(lr, lr, Operand(FixedDoubleArray::kHeaderSize + kPointerSize)); __ 127 src/arm/codegen-arm.cc __ AllocateInNewSpace(lr, r6, r7, r9, &gc_required, NO_ALLOCATION_FLAGS); __ 133 src/arm/codegen-arm.cc __ tst(r6, Operand(kDoubleAlignmentMask)); __ 134 src/arm/codegen-arm.cc __ mov(ip, Operand(masm->isolate()->factory()->one_pointer_filler_map())); __ 135 src/arm/codegen-arm.cc __ b(eq, &aligned); __ 137 src/arm/codegen-arm.cc __ str(ip, MemOperand(r6, kPointerSize, PostIndex)); __ 138 src/arm/codegen-arm.cc __ b(&aligned_done); __ 140 src/arm/codegen-arm.cc __ bind(&aligned); __ 142 src/arm/codegen-arm.cc __ sub(lr, lr, Operand(kPointerSize)); __ 143 src/arm/codegen-arm.cc __ str(ip, MemOperand(r6, lr)); __ 145 src/arm/codegen-arm.cc __ bind(&aligned_done); __ 148 src/arm/codegen-arm.cc __ LoadRoot(r9, Heap::kFixedDoubleArrayMapRootIndex); __ 149 src/arm/codegen-arm.cc __ str(r5, MemOperand(r6, FixedDoubleArray::kLengthOffset)); __ 151 src/arm/codegen-arm.cc __ str(r9, MemOperand(r6, HeapObject::kMapOffset)); __ 153 src/arm/codegen-arm.cc __ str(r3, FieldMemOperand(r2, HeapObject::kMapOffset)); __ 154 src/arm/codegen-arm.cc __ RecordWriteField(r2, __ 163 src/arm/codegen-arm.cc __ add(r3, r6, Operand(kHeapObjectTag)); __ 164 src/arm/codegen-arm.cc __ str(r3, FieldMemOperand(r2, JSObject::kElementsOffset)); __ 165 src/arm/codegen-arm.cc __ RecordWriteField(r2, __ 175 src/arm/codegen-arm.cc __ add(r3, r4, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 176 src/arm/codegen-arm.cc __ add(r7, r6, Operand(FixedDoubleArray::kHeaderSize)); __ 177 src/arm/codegen-arm.cc __ add(r6, r7, Operand(r5, LSL, 2)); __ 178 src/arm/codegen-arm.cc __ mov(r4, Operand(kHoleNanLower32)); __ 179 src/arm/codegen-arm.cc __ mov(r5, Operand(kHoleNanUpper32)); __ 185 src/arm/codegen-arm.cc if (!vfp3_supported) __ Push(r1, r0); __ 187 src/arm/codegen-arm.cc __ b(&entry); __ 189 src/arm/codegen-arm.cc __ bind(&only_change_map); __ 190 src/arm/codegen-arm.cc __ str(r3, FieldMemOperand(r2, HeapObject::kMapOffset)); __ 191 src/arm/codegen-arm.cc __ RecordWriteField(r2, __ 199 src/arm/codegen-arm.cc __ b(&done); __ 202 src/arm/codegen-arm.cc __ bind(&gc_required); __ 203 src/arm/codegen-arm.cc __ pop(lr); __ 204 src/arm/codegen-arm.cc __ b(fail); __ 207 src/arm/codegen-arm.cc __ bind(&loop); __ 208 src/arm/codegen-arm.cc __ ldr(r9, MemOperand(r3, 4, PostIndex)); __ 210 src/arm/codegen-arm.cc __ UntagAndJumpIfNotSmi(r9, r9, &convert_hole); __ 215 src/arm/codegen-arm.cc __ vmov(s0, r9); __ 216 src/arm/codegen-arm.cc __ vcvt_f64_s32(d0, s0); __ 217 src/arm/codegen-arm.cc __ vstr(d0, r7, 0); __ 218 src/arm/codegen-arm.cc __ add(r7, r7, Operand(8)); __ 228 src/arm/codegen-arm.cc __ Strd(r0, r1, MemOperand(r7, 8, PostIndex)); __ 230 src/arm/codegen-arm.cc __ b(&entry); __ 233 src/arm/codegen-arm.cc __ bind(&convert_hole); __ 236 src/arm/codegen-arm.cc __ SmiTag(r9); __ 237 src/arm/codegen-arm.cc __ orr(r9, r9, Operand(1)); __ 238 src/arm/codegen-arm.cc __ CompareRoot(r9, Heap::kTheHoleValueRootIndex); __ 239 src/arm/codegen-arm.cc __ Assert(eq, "object found in smi-only array"); __ 241 src/arm/codegen-arm.cc __ Strd(r4, r5, MemOperand(r7, 8, PostIndex)); __ 243 src/arm/codegen-arm.cc __ bind(&entry); __ 244 src/arm/codegen-arm.cc __ cmp(r7, r6); __ 245 src/arm/codegen-arm.cc __ b(lt, &loop); __ 247 src/arm/codegen-arm.cc if (!vfp3_supported) __ Pop(r1, r0); __ 248 src/arm/codegen-arm.cc __ pop(lr); __ 249 src/arm/codegen-arm.cc __ bind(&done); __ 267 src/arm/codegen-arm.cc __ ldr(r4, FieldMemOperand(r2, JSObject::kElementsOffset)); __ 268 src/arm/codegen-arm.cc __ CompareRoot(r4, Heap::kEmptyFixedArrayRootIndex); __ 269 src/arm/codegen-arm.cc __ b(eq, &only_change_map); __ 271 src/arm/codegen-arm.cc __ push(lr); __ 272 src/arm/codegen-arm.cc __ Push(r3, r2, r1, r0); __ 273 src/arm/codegen-arm.cc __ ldr(r5, FieldMemOperand(r4, FixedArray::kLengthOffset)); __ 278 src/arm/codegen-arm.cc __ mov(r0, Operand(FixedDoubleArray::kHeaderSize)); __ 279 src/arm/codegen-arm.cc __ add(r0, r0, Operand(r5, LSL, 1)); __ 280 src/arm/codegen-arm.cc __ AllocateInNewSpace(r0, r6, r7, r9, &gc_required, NO_ALLOCATION_FLAGS); __ 283 src/arm/codegen-arm.cc __ LoadRoot(r9, Heap::kFixedArrayMapRootIndex); __ 284 src/arm/codegen-arm.cc __ str(r5, MemOperand(r6, FixedDoubleArray::kLengthOffset)); __ 285 src/arm/codegen-arm.cc __ str(r9, MemOperand(r6, HeapObject::kMapOffset)); __ 288 src/arm/codegen-arm.cc __ add(r4, r4, Operand(FixedDoubleArray::kHeaderSize - kHeapObjectTag + 4)); __ 289 src/arm/codegen-arm.cc __ add(r3, r6, Operand(FixedArray::kHeaderSize)); __ 290 src/arm/codegen-arm.cc __ add(r6, r6, Operand(kHeapObjectTag)); __ 291 src/arm/codegen-arm.cc __ add(r5, r3, Operand(r5, LSL, 1)); __ 292 src/arm/codegen-arm.cc __ LoadRoot(r7, Heap::kTheHoleValueRootIndex); __ 293 src/arm/codegen-arm.cc __ LoadRoot(r9, Heap::kHeapNumberMapRootIndex); __ 301 src/arm/codegen-arm.cc __ b(&entry); __ 304 src/arm/codegen-arm.cc __ bind(&gc_required); __ 305 src/arm/codegen-arm.cc __ Pop(r3, r2, r1, r0); __ 306 src/arm/codegen-arm.cc __ pop(lr); __ 307 src/arm/codegen-arm.cc __ b(fail); __ 309 src/arm/codegen-arm.cc __ bind(&loop); __ 310 src/arm/codegen-arm.cc __ ldr(r1, MemOperand(r4, 8, PostIndex)); __ 313 src/arm/codegen-arm.cc __ cmp(r1, Operand(kHoleNanUpper32)); __ 314 src/arm/codegen-arm.cc __ b(eq, &convert_hole); __ 317 src/arm/codegen-arm.cc __ AllocateHeapNumber(r2, r0, lr, r9, &gc_required); __ 319 src/arm/codegen-arm.cc __ ldr(r0, MemOperand(r4, 12, NegOffset)); __ 320 src/arm/codegen-arm.cc __ Strd(r0, r1, FieldMemOperand(r2, HeapNumber::kValueOffset)); __ 321 src/arm/codegen-arm.cc __ mov(r0, r3); __ 322 src/arm/codegen-arm.cc __ str(r2, MemOperand(r3, 4, PostIndex)); __ 323 src/arm/codegen-arm.cc __ RecordWrite(r6, __ 330 src/arm/codegen-arm.cc __ b(&entry); __ 333 src/arm/codegen-arm.cc __ bind(&convert_hole); __ 334 src/arm/codegen-arm.cc __ str(r7, MemOperand(r3, 4, PostIndex)); __ 336 src/arm/codegen-arm.cc __ bind(&entry); __ 337 src/arm/codegen-arm.cc __ cmp(r3, r5); __ 338 src/arm/codegen-arm.cc __ b(lt, &loop); __ 340 src/arm/codegen-arm.cc __ Pop(r3, r2, r1, r0); __ 342 src/arm/codegen-arm.cc __ str(r6, FieldMemOperand(r2, JSObject::kElementsOffset)); __ 343 src/arm/codegen-arm.cc __ RecordWriteField(r2, __ 351 src/arm/codegen-arm.cc __ pop(lr); __ 353 src/arm/codegen-arm.cc __ bind(&only_change_map); __ 355 src/arm/codegen-arm.cc __ str(r3, FieldMemOperand(r2, HeapObject::kMapOffset)); __ 356 src/arm/codegen-arm.cc __ RecordWriteField(r2, __ 373 src/arm/codegen-arm.cc __ ldr(result, FieldMemOperand(string, HeapObject::kMapOffset)); __ 374 src/arm/codegen-arm.cc __ ldrb(result, FieldMemOperand(result, Map::kInstanceTypeOffset)); __ 378 src/arm/codegen-arm.cc __ tst(result, Operand(kIsIndirectStringMask)); __ 379 src/arm/codegen-arm.cc __ b(eq, &check_sequential); __ 383 src/arm/codegen-arm.cc __ tst(result, Operand(kSlicedNotConsMask)); __ 384 src/arm/codegen-arm.cc __ b(eq, &cons_string); __ 388 src/arm/codegen-arm.cc __ ldr(result, FieldMemOperand(string, SlicedString::kOffsetOffset)); __ 389 src/arm/codegen-arm.cc __ ldr(string, FieldMemOperand(string, SlicedString::kParentOffset)); __ 390 src/arm/codegen-arm.cc __ add(index, index, Operand(result, ASR, kSmiTagSize)); __ 391 src/arm/codegen-arm.cc __ jmp(&indirect_string_loaded); __ 398 src/arm/codegen-arm.cc __ bind(&cons_string); __ 399 src/arm/codegen-arm.cc __ ldr(result, FieldMemOperand(string, ConsString::kSecondOffset)); __ 400 src/arm/codegen-arm.cc __ CompareRoot(result, Heap::kEmptyStringRootIndex); __ 401 src/arm/codegen-arm.cc __ b(ne, call_runtime); __ 403 src/arm/codegen-arm.cc __ ldr(string, FieldMemOperand(string, ConsString::kFirstOffset)); __ 405 src/arm/codegen-arm.cc __ bind(&indirect_string_loaded); __ 406 src/arm/codegen-arm.cc __ ldr(result, FieldMemOperand(string, HeapObject::kMapOffset)); __ 407 src/arm/codegen-arm.cc __ ldrb(result, FieldMemOperand(result, Map::kInstanceTypeOffset)); __ 413 src/arm/codegen-arm.cc __ bind(&check_sequential); __ 415 src/arm/codegen-arm.cc __ tst(result, Operand(kStringRepresentationMask)); __ 416 src/arm/codegen-arm.cc __ b(ne, &external_string); __ 420 src/arm/codegen-arm.cc __ add(string, __ 423 src/arm/codegen-arm.cc __ jmp(&check_encoding); __ 426 src/arm/codegen-arm.cc __ bind(&external_string); __ 430 src/arm/codegen-arm.cc __ tst(result, Operand(kIsIndirectStringMask)); __ 431 src/arm/codegen-arm.cc __ Assert(eq, "external string expected, but not found"); __ 435 src/arm/codegen-arm.cc __ tst(result, Operand(kShortExternalStringMask)); __ 436 src/arm/codegen-arm.cc __ b(ne, call_runtime); __ 437 src/arm/codegen-arm.cc __ ldr(string, FieldMemOperand(string, ExternalString::kResourceDataOffset)); __ 440 src/arm/codegen-arm.cc __ bind(&check_encoding); __ 442 src/arm/codegen-arm.cc __ tst(result, Operand(kStringEncodingMask)); __ 443 src/arm/codegen-arm.cc __ b(ne, &ascii); __ 445 src/arm/codegen-arm.cc __ ldrh(result, MemOperand(string, index, LSL, 1)); __ 446 src/arm/codegen-arm.cc __ jmp(&done); __ 447 src/arm/codegen-arm.cc __ bind(&ascii); __ 449 src/arm/codegen-arm.cc __ ldrb(result, MemOperand(string, index)); __ 450 src/arm/codegen-arm.cc __ bind(&done); __ 152 src/arm/debug-arm.cc __ tst(reg, Operand(0xc0000000)); __ 153 src/arm/debug-arm.cc __ Assert(eq, "Unable to encode value as smi"); __ 155 src/arm/debug-arm.cc __ mov(reg, Operand(reg, LSL, kSmiTagSize)); __ 158 src/arm/debug-arm.cc __ stm(db_w, sp, object_regs | non_object_regs); __ 162 src/arm/debug-arm.cc __ RecordComment("// Calling from debug break to runtime - come in - over"); __ 164 src/arm/debug-arm.cc __ mov(r0, Operand(0, RelocInfo::NONE)); // no arguments __ 165 src/arm/debug-arm.cc __ mov(r1, Operand(ExternalReference::debug_break(masm->isolate()))); __ 168 src/arm/debug-arm.cc __ CallStub(&ceb); __ 172 src/arm/debug-arm.cc __ ldm(ia_w, sp, object_regs | non_object_regs); __ 177 src/arm/debug-arm.cc __ mov(reg, Operand(reg, LSR, kSmiTagSize)); __ 181 src/arm/debug-arm.cc __ mov(reg, Operand(kDebugZapValue)); __ 194 src/arm/debug-arm.cc __ mov(ip, Operand(after_break_target)); __ 195 src/arm/debug-arm.cc __ ldr(ip, MemOperand(ip)); __ 196 src/arm/debug-arm.cc __ Jump(ip); __ 309 src/arm/debug-arm.cc __ bind(&check_codesize); __ 310 src/arm/debug-arm.cc __ RecordDebugBreakSlot(); __ 312 src/arm/debug-arm.cc __ nop(MacroAssembler::DEBUG_BREAK_NOP); __ 826 src/arm/deoptimizer-arm.cc __ vstm(db_w, sp, first, last); __ 831 src/arm/deoptimizer-arm.cc __ stm(db_w, sp, restored_regs | sp.bit() | lr.bit() | pc.bit()); __ 837 src/arm/deoptimizer-arm.cc __ ldr(r2, MemOperand(sp, kSavedRegistersAreaSize)); __ 843 src/arm/deoptimizer-arm.cc __ mov(r3, Operand(0)); __ 845 src/arm/deoptimizer-arm.cc __ add(r4, sp, Operand(kSavedRegistersAreaSize + (1 * kPointerSize))); __ 847 src/arm/deoptimizer-arm.cc __ mov(r3, lr); __ 849 src/arm/deoptimizer-arm.cc __ add(r4, sp, Operand(kSavedRegistersAreaSize + (1 * kPointerSize))); __ 851 src/arm/deoptimizer-arm.cc __ mov(r3, lr); __ 853 src/arm/deoptimizer-arm.cc __ add(r4, sp, Operand(kSavedRegistersAreaSize + (2 * kPointerSize))); __ 855 src/arm/deoptimizer-arm.cc __ sub(r4, fp, r4); __ 859 src/arm/deoptimizer-arm.cc __ PrepareCallCFunction(6, r5); __ 860 src/arm/deoptimizer-arm.cc __ ldr(r0, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); __ 861 src/arm/deoptimizer-arm.cc __ mov(r1, Operand(type())); // bailout type, __ 864 src/arm/deoptimizer-arm.cc __ str(r4, MemOperand(sp, 0 * kPointerSize)); // Fp-to-sp delta. __ 865 src/arm/deoptimizer-arm.cc __ mov(r5, Operand(ExternalReference::isolate_address())); __ 866 src/arm/deoptimizer-arm.cc __ str(r5, MemOperand(sp, 1 * kPointerSize)); // Isolate. __ 870 src/arm/deoptimizer-arm.cc __ CallCFunction(ExternalReference::new_deoptimizer_function(isolate), 6); __ 875 src/arm/deoptimizer-arm.cc __ ldr(r1, MemOperand(r0, Deoptimizer::input_offset())); __ 881 src/arm/deoptimizer-arm.cc __ ldr(r2, MemOperand(sp, i * kPointerSize)); __ 882 src/arm/deoptimizer-arm.cc __ str(r2, MemOperand(r1, offset)); __ 891 src/arm/deoptimizer-arm.cc __ vldr(d0, sp, src_offset); __ 892 src/arm/deoptimizer-arm.cc __ vstr(d0, r1, dst_offset); __ 898 src/arm/deoptimizer-arm.cc __ add(sp, sp, Operand(kSavedRegistersAreaSize + (1 * kPointerSize))); __ 900 src/arm/deoptimizer-arm.cc __ add(sp, sp, Operand(kSavedRegistersAreaSize + (2 * kPointerSize))); __ 905 src/arm/deoptimizer-arm.cc __ ldr(r2, MemOperand(r1, FrameDescription::frame_size_offset())); __ 906 src/arm/deoptimizer-arm.cc __ add(r2, r2, sp); __ 911 src/arm/deoptimizer-arm.cc __ add(r3, r1, Operand(FrameDescription::frame_content_offset())); __ 913 src/arm/deoptimizer-arm.cc __ bind(&pop_loop); __ 914 src/arm/deoptimizer-arm.cc __ pop(r4); __ 915 src/arm/deoptimizer-arm.cc __ str(r4, MemOperand(r3, 0)); __ 916 src/arm/deoptimizer-arm.cc __ add(r3, r3, Operand(sizeof(uint32_t))); __ 917 src/arm/deoptimizer-arm.cc __ cmp(r2, sp); __ 918 src/arm/deoptimizer-arm.cc __ b(ne, &pop_loop); __ 921 src/arm/deoptimizer-arm.cc __ push(r0); // Preserve deoptimizer object across call. __ 923 src/arm/deoptimizer-arm.cc __ PrepareCallCFunction(1, r1); __ 927 src/arm/deoptimizer-arm.cc __ CallCFunction( __ 930 src/arm/deoptimizer-arm.cc __ pop(r0); // Restore deoptimizer object (class Deoptimizer). __ 936 src/arm/deoptimizer-arm.cc __ ldr(r1, MemOperand(r0, Deoptimizer::output_count_offset())); __ 937 src/arm/deoptimizer-arm.cc __ ldr(r0, MemOperand(r0, Deoptimizer::output_offset())); // r0 is output_. __ 938 src/arm/deoptimizer-arm.cc __ add(r1, r0, Operand(r1, LSL, 2)); __ 939 src/arm/deoptimizer-arm.cc __ bind(&outer_push_loop); __ 941 src/arm/deoptimizer-arm.cc __ ldr(r2, MemOperand(r0, 0)); // output_[ix] __ 942 src/arm/deoptimizer-arm.cc __ ldr(r3, MemOperand(r2, FrameDescription::frame_size_offset())); __ 943 src/arm/deoptimizer-arm.cc __ bind(&inner_push_loop); __ 944 src/arm/deoptimizer-arm.cc __ sub(r3, r3, Operand(sizeof(uint32_t))); __ 945 src/arm/deoptimizer-arm.cc __ add(r6, r2, Operand(r3)); __ 946 src/arm/deoptimizer-arm.cc __ ldr(r7, MemOperand(r6, FrameDescription::frame_content_offset())); __ 947 src/arm/deoptimizer-arm.cc __ push(r7); __ 948 src/arm/deoptimizer-arm.cc __ cmp(r3, Operand(0)); __ 949 src/arm/deoptimizer-arm.cc __ b(ne, &inner_push_loop); // test for gt? __ 950 src/arm/deoptimizer-arm.cc __ add(r0, r0, Operand(kPointerSize)); __ 951 src/arm/deoptimizer-arm.cc __ cmp(r0, r1); __ 952 src/arm/deoptimizer-arm.cc __ b(lt, &outer_push_loop); __ 956 src/arm/deoptimizer-arm.cc __ ldr(r6, MemOperand(r2, FrameDescription::state_offset())); __ 957 src/arm/deoptimizer-arm.cc __ push(r6); __ 960 src/arm/deoptimizer-arm.cc __ ldr(r6, MemOperand(r2, FrameDescription::pc_offset())); __ 961 src/arm/deoptimizer-arm.cc __ push(r6); __ 962 src/arm/deoptimizer-arm.cc __ ldr(r6, MemOperand(r2, FrameDescription::continuation_offset())); __ 963 src/arm/deoptimizer-arm.cc __ push(r6); __ 968 src/arm/deoptimizer-arm.cc __ ldr(r6, MemOperand(r2, offset)); __ 969 src/arm/deoptimizer-arm.cc __ push(r6); __ 973 src/arm/deoptimizer-arm.cc __ ldm(ia_w, sp, restored_regs); // all but pc registers. __ 974 src/arm/deoptimizer-arm.cc __ pop(ip); // remove sp __ 975 src/arm/deoptimizer-arm.cc __ pop(ip); // remove lr __ 977 src/arm/deoptimizer-arm.cc __ InitializeRootRegister(); __ 979 src/arm/deoptimizer-arm.cc __ pop(ip); // remove pc __ 980 src/arm/deoptimizer-arm.cc __ pop(r7); // get continuation, leave pc on stack __ 981 src/arm/deoptimizer-arm.cc __ pop(lr); __ 982 src/arm/deoptimizer-arm.cc __ Jump(r7); __ 983 src/arm/deoptimizer-arm.cc __ stop("Unreachable."); __ 995 src/arm/deoptimizer-arm.cc __ nop(); __ 998 src/arm/deoptimizer-arm.cc __ push(lr); __ 1000 src/arm/deoptimizer-arm.cc __ mov(ip, Operand(i)); __ 1001 src/arm/deoptimizer-arm.cc __ push(ip); __ 1002 src/arm/deoptimizer-arm.cc __ b(&done); __ 1005 src/arm/deoptimizer-arm.cc __ bind(&done); __ 74 src/arm/full-codegen-arm.cc __ bind(&patch_site_); __ 75 src/arm/full-codegen-arm.cc __ cmp(reg, Operand(reg)); __ 76 src/arm/full-codegen-arm.cc __ b(eq, target); // Always taken before patched. __ 84 src/arm/full-codegen-arm.cc __ bind(&patch_site_); __ 85 src/arm/full-codegen-arm.cc __ cmp(reg, Operand(reg)); __ 86 src/arm/full-codegen-arm.cc __ b(ne, target); // Never taken before patched. __ 96 src/arm/full-codegen-arm.cc __ cmp_raw_immediate(reg, delta_to_patch_site % kOff12Mask); __ 101 src/arm/full-codegen-arm.cc __ nop(); // Signals no inlined code. __ 142 src/arm/full-codegen-arm.cc __ stop("stop-at"); __ 152 src/arm/full-codegen-arm.cc __ cmp(r5, Operand(0)); __ 153 src/arm/full-codegen-arm.cc __ b(eq, &ok); __ 155 src/arm/full-codegen-arm.cc __ LoadRoot(r2, Heap::kUndefinedValueRootIndex); __ 156 src/arm/full-codegen-arm.cc __ str(r2, MemOperand(sp, receiver_offset)); __ 157 src/arm/full-codegen-arm.cc __ bind(&ok); __ 167 src/arm/full-codegen-arm.cc __ Push(lr, fp, cp, r1); __ 171 src/arm/full-codegen-arm.cc __ LoadRoot(ip, Heap::kUndefinedValueRootIndex); __ 174 src/arm/full-codegen-arm.cc __ add(fp, sp, Operand(2 * kPointerSize)); __ 178 src/arm/full-codegen-arm.cc __ push(ip); __ 189 src/arm/full-codegen-arm.cc __ push(r1); __ 192 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 194 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kNewFunctionContext, 1); __ 199 src/arm/full-codegen-arm.cc __ str(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 208 src/arm/full-codegen-arm.cc __ ldr(r0, MemOperand(fp, parameter_offset)); __ 211 src/arm/full-codegen-arm.cc __ str(r0, target); __ 214 src/arm/full-codegen-arm.cc __ RecordWriteContextSlot( __ 226 src/arm/full-codegen-arm.cc __ ldr(r3, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); __ 228 src/arm/full-codegen-arm.cc __ mov(r3, r1); __ 233 src/arm/full-codegen-arm.cc __ add(r2, fp, __ 235 src/arm/full-codegen-arm.cc __ mov(r1, Operand(Smi::FromInt(num_parameters))); __ 236 src/arm/full-codegen-arm.cc __ Push(r3, r2, r1); __ 251 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 257 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kTraceEnter, 0); __ 284 src/arm/full-codegen-arm.cc __ LoadRoot(ip, Heap::kStackLimitRootIndex); __ 285 src/arm/full-codegen-arm.cc __ cmp(sp, Operand(ip)); __ 286 src/arm/full-codegen-arm.cc __ b(hs, &ok); __ 288 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 289 src/arm/full-codegen-arm.cc __ bind(&ok); __ 302 src/arm/full-codegen-arm.cc __ LoadRoot(r0, Heap::kUndefinedValueRootIndex); __ 313 src/arm/full-codegen-arm.cc __ mov(r0, Operand(Smi::FromInt(0))); __ 318 src/arm/full-codegen-arm.cc __ mov(r2, Operand(profiling_counter_)); __ 319 src/arm/full-codegen-arm.cc __ ldr(r3, FieldMemOperand(r2, JSGlobalPropertyCell::kValueOffset)); __ 320 src/arm/full-codegen-arm.cc __ sub(r3, r3, Operand(Smi::FromInt(delta)), SetCC); __ 321 src/arm/full-codegen-arm.cc __ str(r3, FieldMemOperand(r2, JSGlobalPropertyCell::kValueOffset)); __ 335 src/arm/full-codegen-arm.cc __ mov(r2, Operand(profiling_counter_)); __ 336 src/arm/full-codegen-arm.cc __ mov(r3, Operand(Smi::FromInt(reset_value))); __ 337 src/arm/full-codegen-arm.cc __ str(r3, FieldMemOperand(r2, JSGlobalPropertyCell::kValueOffset)); __ 361 src/arm/full-codegen-arm.cc __ b(pl, &ok); __ 363 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 365 src/arm/full-codegen-arm.cc __ LoadRoot(ip, Heap::kStackLimitRootIndex); __ 366 src/arm/full-codegen-arm.cc __ cmp(sp, Operand(ip)); __ 367 src/arm/full-codegen-arm.cc __ b(hs, &ok); __ 369 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 381 src/arm/full-codegen-arm.cc __ bind(&ok); __ 393 src/arm/full-codegen-arm.cc __ b(&return_label_); __ 395 src/arm/full-codegen-arm.cc __ bind(&return_label_); __ 399 src/arm/full-codegen-arm.cc __ push(r0); __ 400 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kTraceExit, 1); __ 414 src/arm/full-codegen-arm.cc __ b(pl, &ok); __ 415 src/arm/full-codegen-arm.cc __ push(r0); __ 417 src/arm/full-codegen-arm.cc __ ldr(r2, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); __ 418 src/arm/full-codegen-arm.cc __ push(r2); __ 419 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kOptimizeFunctionOnNextCall, 1); __ 422 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 424 src/arm/full-codegen-arm.cc __ pop(r0); __ 426 src/arm/full-codegen-arm.cc __ bind(&ok); __ 441 src/arm/full-codegen-arm.cc __ RecordJSReturn(); __ 472 src/arm/full-codegen-arm.cc __ push(result_register()); __ 491 src/arm/full-codegen-arm.cc __ LoadRoot(result_register(), index); __ 497 src/arm/full-codegen-arm.cc __ LoadRoot(result_register(), index); __ 498 src/arm/full-codegen-arm.cc __ push(result_register()); __ 510 src/arm/full-codegen-arm.cc if (false_label_ != fall_through_) __ b(false_label_); __ 512 src/arm/full-codegen-arm.cc if (true_label_ != fall_through_) __ b(true_label_); __ 514 src/arm/full-codegen-arm.cc __ LoadRoot(result_register(), index); __ 526 src/arm/full-codegen-arm.cc __ mov(result_register(), Operand(lit)); __ 532 src/arm/full-codegen-arm.cc __ mov(result_register(), Operand(lit)); __ 533 src/arm/full-codegen-arm.cc __ push(result_register()); __ 544 src/arm/full-codegen-arm.cc if (false_label_ != fall_through_) __ b(false_label_); __ 546 src/arm/full-codegen-arm.cc if (true_label_ != fall_through_) __ b(true_label_); __ 549 src/arm/full-codegen-arm.cc if (false_label_ != fall_through_) __ b(false_label_); __ 551 src/arm/full-codegen-arm.cc if (true_label_ != fall_through_) __ b(true_label_); __ 555 src/arm/full-codegen-arm.cc if (false_label_ != fall_through_) __ b(false_label_); __ 557 src/arm/full-codegen-arm.cc if (true_label_ != fall_through_) __ b(true_label_); __ 561 src/arm/full-codegen-arm.cc __ mov(result_register(), Operand(lit)); __ 570 src/arm/full-codegen-arm.cc __ Drop(count); __ 578 src/arm/full-codegen-arm.cc __ Drop(count); __ 579 src/arm/full-codegen-arm.cc __ Move(result_register(), reg); __ 586 src/arm/full-codegen-arm.cc if (count > 1) __ Drop(count - 1); __ 587 src/arm/full-codegen-arm.cc __ str(reg, MemOperand(sp, 0)); __ 595 src/arm/full-codegen-arm.cc __ Drop(count); __ 596 src/arm/full-codegen-arm.cc __ Move(result_register(), reg); __ 605 src/arm/full-codegen-arm.cc __ bind(materialize_true); __ 613 src/arm/full-codegen-arm.cc __ bind(materialize_true); __ 614 src/arm/full-codegen-arm.cc __ LoadRoot(result_register(), Heap::kTrueValueRootIndex); __ 615 src/arm/full-codegen-arm.cc __ jmp(&done); __ 616 src/arm/full-codegen-arm.cc __ bind(materialize_false); __ 617 src/arm/full-codegen-arm.cc __ LoadRoot(result_register(), Heap::kFalseValueRootIndex); __ 618 src/arm/full-codegen-arm.cc __ bind(&done); __ 626 src/arm/full-codegen-arm.cc __ bind(materialize_true); __ 627 src/arm/full-codegen-arm.cc __ LoadRoot(ip, Heap::kTrueValueRootIndex); __ 628 src/arm/full-codegen-arm.cc __ push(ip); __ 629 src/arm/full-codegen-arm.cc __ jmp(&done); __ 630 src/arm/full-codegen-arm.cc __ bind(materialize_false); __ 631 src/arm/full-codegen-arm.cc __ LoadRoot(ip, Heap::kFalseValueRootIndex); __ 632 src/arm/full-codegen-arm.cc __ push(ip); __ 633 src/arm/full-codegen-arm.cc __ bind(&done); __ 651 src/arm/full-codegen-arm.cc __ LoadRoot(result_register(), value_root_index); __ 658 src/arm/full-codegen-arm.cc __ LoadRoot(ip, value_root_index); __ 659 src/arm/full-codegen-arm.cc __ push(ip); __ 669 src/arm/full-codegen-arm.cc if (true_label_ != fall_through_) __ b(true_label_); __ 671 src/arm/full-codegen-arm.cc if (false_label_ != fall_through_) __ b(false_label_); __ 682 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 683 src/arm/full-codegen-arm.cc __ tst(result_register(), result_register()); __ 687 src/arm/full-codegen-arm.cc __ push(result_register()); __ 688 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kToBool, 1); __ 689 src/arm/full-codegen-arm.cc __ LoadRoot(ip, Heap::kFalseValueRootIndex); __ 690 src/arm/full-codegen-arm.cc __ cmp(r0, ip); __ 701 src/arm/full-codegen-arm.cc __ b(cond, if_true); __ 703 src/arm/full-codegen-arm.cc __ b(NegateCondition(cond), if_false); __ 705 src/arm/full-codegen-arm.cc __ b(cond, if_true); __ 706 src/arm/full-codegen-arm.cc __ b(if_false); __ 729 src/arm/full-codegen-arm.cc __ LoadContext(scratch, context_chain_length); __ 740 src/arm/full-codegen-arm.cc __ ldr(dest, location); __ 753 src/arm/full-codegen-arm.cc __ str(src, location); __ 757 src/arm/full-codegen-arm.cc __ RecordWriteContextSlot(scratch0, __ 777 src/arm/full-codegen-arm.cc if (should_normalize) __ b(&skip); __ 780 src/arm/full-codegen-arm.cc __ LoadRoot(ip, Heap::kTrueValueRootIndex); __ 781 src/arm/full-codegen-arm.cc __ cmp(r0, ip); __ 783 src/arm/full-codegen-arm.cc __ bind(&skip); __ 794 src/arm/full-codegen-arm.cc __ ldr(r1, FieldMemOperand(cp, HeapObject::kMapOffset)); __ 795 src/arm/full-codegen-arm.cc __ CompareRoot(r1, Heap::kWithContextMapRootIndex); __ 796 src/arm/full-codegen-arm.cc __ Check(ne, "Declaration in with context."); __ 797 src/arm/full-codegen-arm.cc __ CompareRoot(r1, Heap::kCatchContextMapRootIndex); __ 798 src/arm/full-codegen-arm.cc __ Check(ne, "Declaration in catch context."); __ 825 src/arm/full-codegen-arm.cc __ LoadRoot(ip, Heap::kTheHoleValueRootIndex); __ 826 src/arm/full-codegen-arm.cc __ str(ip, StackOperand(variable)); __ 834 src/arm/full-codegen-arm.cc __ LoadRoot(ip, Heap::kTheHoleValueRootIndex); __ 835 src/arm/full-codegen-arm.cc __ str(ip, ContextOperand(cp, variable->index())); __ 843 src/arm/full-codegen-arm.cc __ mov(r2, Operand(variable->name())); __ 849 src/arm/full-codegen-arm.cc __ mov(r1, Operand(Smi::FromInt(attr))); __ 855 src/arm/full-codegen-arm.cc __ LoadRoot(r0, Heap::kTheHoleValueRootIndex); __ 856 src/arm/full-codegen-arm.cc __ Push(cp, r2, r1, r0); __ 858 src/arm/full-codegen-arm.cc __ mov(r0, Operand(Smi::FromInt(0))); // Indicates no initial value. __ 859 src/arm/full-codegen-arm.cc __ Push(cp, r2, r1, r0); __ 861 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kDeclareContextSlot, 4); __ 887 src/arm/full-codegen-arm.cc __ str(result_register(), StackOperand(variable)); __ 895 src/arm/full-codegen-arm.cc __ str(result_register(), ContextOperand(cp, variable->index())); __ 898 src/arm/full-codegen-arm.cc __ RecordWriteContextSlot(cp, __ 912 src/arm/full-codegen-arm.cc __ mov(r2, Operand(variable->name())); __ 913 src/arm/full-codegen-arm.cc __ mov(r1, Operand(Smi::FromInt(NONE))); __ 914 src/arm/full-codegen-arm.cc __ Push(cp, r2, r1); __ 917 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kDeclareContextSlot, 4); __ 942 src/arm/full-codegen-arm.cc __ mov(r1, Operand(instance)); __ 943 src/arm/full-codegen-arm.cc __ str(r1, ContextOperand(cp, variable->index())); __ 987 src/arm/full-codegen-arm.cc __ mov(r1, Operand(pairs)); __ 988 src/arm/full-codegen-arm.cc __ mov(r0, Operand(Smi::FromInt(DeclareGlobalsFlags()))); __ 989 src/arm/full-codegen-arm.cc __ Push(cp, r1, r0); __ 990 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kDeclareGlobals, 3); __ 1020 src/arm/full-codegen-arm.cc __ bind(&next_test); __ 1027 src/arm/full-codegen-arm.cc __ ldr(r1, MemOperand(sp, 0)); // Switch value. __ 1032 src/arm/full-codegen-arm.cc __ orr(r2, r1, r0); __ 1035 src/arm/full-codegen-arm.cc __ cmp(r1, r0); __ 1036 src/arm/full-codegen-arm.cc __ b(ne, &next_test); __ 1037 src/arm/full-codegen-arm.cc __ Drop(1); // Switch value is no longer needed. __ 1038 src/arm/full-codegen-arm.cc __ b(clause->body_target()); __ 1039 src/arm/full-codegen-arm.cc __ bind(&slow_case); __ 1048 src/arm/full-codegen-arm.cc __ cmp(r0, Operand(0)); __ 1049 src/arm/full-codegen-arm.cc __ b(ne, &next_test); __ 1050 src/arm/full-codegen-arm.cc __ Drop(1); // Switch value is no longer needed. __ 1051 src/arm/full-codegen-arm.cc __ b(clause->body_target()); __ 1056 src/arm/full-codegen-arm.cc __ bind(&next_test); __ 1057 src/arm/full-codegen-arm.cc __ Drop(1); // Switch value is no longer needed. __ 1059 src/arm/full-codegen-arm.cc __ b(nested_statement.break_label()); __ 1061 src/arm/full-codegen-arm.cc __ b(default_clause->body_target()); __ 1068 src/arm/full-codegen-arm.cc __ bind(clause->body_target()); __ 1073 src/arm/full-codegen-arm.cc __ bind(nested_statement.break_label()); __ 1090 src/arm/full-codegen-arm.cc __ LoadRoot(ip, Heap::kUndefinedValueRootIndex); __ 1091 src/arm/full-codegen-arm.cc __ cmp(r0, ip); __ 1092 src/arm/full-codegen-arm.cc __ b(eq, &exit); __ 1094 src/arm/full-codegen-arm.cc __ LoadRoot(null_value, Heap::kNullValueRootIndex); __ 1095 src/arm/full-codegen-arm.cc __ cmp(r0, null_value); __ 1096 src/arm/full-codegen-arm.cc __ b(eq, &exit); __ 1102 src/arm/full-codegen-arm.cc __ JumpIfSmi(r0, &convert); __ 1103 src/arm/full-codegen-arm.cc __ CompareObjectType(r0, r1, r1, FIRST_SPEC_OBJECT_TYPE); __ 1104 src/arm/full-codegen-arm.cc __ b(ge, &done_convert); __ 1105 src/arm/full-codegen-arm.cc __ bind(&convert); __ 1106 src/arm/full-codegen-arm.cc __ push(r0); __ 1107 src/arm/full-codegen-arm.cc __ InvokeBuiltin(Builtins::TO_OBJECT, CALL_FUNCTION); __ 1108 src/arm/full-codegen-arm.cc __ bind(&done_convert); __ 1109 src/arm/full-codegen-arm.cc __ push(r0); __ 1114 src/arm/full-codegen-arm.cc __ CompareObjectType(r0, r1, r1, LAST_JS_PROXY_TYPE); __ 1115 src/arm/full-codegen-arm.cc __ b(le, &call_runtime); __ 1121 src/arm/full-codegen-arm.cc __ CheckEnumCache(null_value, &call_runtime); __ 1126 src/arm/full-codegen-arm.cc __ ldr(r0, FieldMemOperand(r0, HeapObject::kMapOffset)); __ 1127 src/arm/full-codegen-arm.cc __ b(&use_cache); __ 1130 src/arm/full-codegen-arm.cc __ bind(&call_runtime); __ 1131 src/arm/full-codegen-arm.cc __ push(r0); // Duplicate the enumerable object on the stack. __ 1132 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kGetPropertyNamesFast, 1); __ 1138 src/arm/full-codegen-arm.cc __ mov(r2, r0); __ 1139 src/arm/full-codegen-arm.cc __ ldr(r1, FieldMemOperand(r2, HeapObject::kMapOffset)); __ 1140 src/arm/full-codegen-arm.cc __ LoadRoot(ip, Heap::kMetaMapRootIndex); __ 1141 src/arm/full-codegen-arm.cc __ cmp(r1, ip); __ 1142 src/arm/full-codegen-arm.cc __ b(ne, &fixed_array); __ 1145 src/arm/full-codegen-arm.cc __ bind(&use_cache); __ 1146 src/arm/full-codegen-arm.cc __ LoadInstanceDescriptors(r0, r1, r2); __ 1147 src/arm/full-codegen-arm.cc __ ldr(r1, FieldMemOperand(r1, DescriptorArray::kLastAddedOffset)); __ 1148 src/arm/full-codegen-arm.cc __ ldr(r2, FieldMemOperand(r1, DescriptorArray::kEnumCacheBridgeCacheOffset)); __ 1151 src/arm/full-codegen-arm.cc __ push(r0); // Map. __ 1152 src/arm/full-codegen-arm.cc __ ldr(r1, FieldMemOperand(r2, FixedArray::kLengthOffset)); __ 1153 src/arm/full-codegen-arm.cc __ mov(r0, Operand(Smi::FromInt(0))); __ 1155 src/arm/full-codegen-arm.cc __ Push(r2, r1, r0); __ 1156 src/arm/full-codegen-arm.cc __ jmp(&loop); __ 1160 src/arm/full-codegen-arm.cc __ bind(&fixed_array); __ 1167 src/arm/full-codegen-arm.cc __ LoadHeapObject(r1, cell); __ 1168 src/arm/full-codegen-arm.cc __ mov(r2, Operand(Smi::FromInt(TypeFeedbackCells::kForInSlowCaseMarker))); __ 1169 src/arm/full-codegen-arm.cc __ str(r2, FieldMemOperand(r1, JSGlobalPropertyCell::kValueOffset)); __ 1171 src/arm/full-codegen-arm.cc __ mov(r1, Operand(Smi::FromInt(1))); // Smi indicates slow check __ 1172 src/arm/full-codegen-arm.cc __ ldr(r2, MemOperand(sp, 0 * kPointerSize)); // Get enumerated object __ 1174 src/arm/full-codegen-arm.cc __ CompareObjectType(r2, r3, r3, LAST_JS_PROXY_TYPE); __ 1175 src/arm/full-codegen-arm.cc __ b(gt, &non_proxy); __ 1176 src/arm/full-codegen-arm.cc __ mov(r1, Operand(Smi::FromInt(0))); // Zero indicates proxy __ 1177 src/arm/full-codegen-arm.cc __ bind(&non_proxy); __ 1178 src/arm/full-codegen-arm.cc __ Push(r1, r0); // Smi and array __ 1179 src/arm/full-codegen-arm.cc __ ldr(r1, FieldMemOperand(r0, FixedArray::kLengthOffset)); __ 1180 src/arm/full-codegen-arm.cc __ mov(r0, Operand(Smi::FromInt(0))); __ 1181 src/arm/full-codegen-arm.cc __ Push(r1, r0); // Fixed array length (as smi) and initial index. __ 1185 src/arm/full-codegen-arm.cc __ bind(&loop); __ 1187 src/arm/full-codegen-arm.cc __ Ldrd(r0, r1, MemOperand(sp, 0 * kPointerSize)); __ 1188 src/arm/full-codegen-arm.cc __ cmp(r0, r1); // Compare to the array length. __ 1189 src/arm/full-codegen-arm.cc __ b(hs, loop_statement.break_label()); __ 1192 src/arm/full-codegen-arm.cc __ ldr(r2, MemOperand(sp, 2 * kPointerSize)); __ 1193 src/arm/full-codegen-arm.cc __ add(r2, r2, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 1194 src/arm/full-codegen-arm.cc __ ldr(r3, MemOperand(r2, r0, LSL, kPointerSizeLog2 - kSmiTagSize)); __ 1198 src/arm/full-codegen-arm.cc __ ldr(r2, MemOperand(sp, 3 * kPointerSize)); __ 1203 src/arm/full-codegen-arm.cc __ ldr(r1, MemOperand(sp, 4 * kPointerSize)); __ 1204 src/arm/full-codegen-arm.cc __ ldr(r4, FieldMemOperand(r1, HeapObject::kMapOffset)); __ 1205 src/arm/full-codegen-arm.cc __ cmp(r4, Operand(r2)); __ 1206 src/arm/full-codegen-arm.cc __ b(eq, &update_each); __ 1210 src/arm/full-codegen-arm.cc __ cmp(r2, Operand(Smi::FromInt(0))); __ 1211 src/arm/full-codegen-arm.cc __ b(eq, &update_each); __ 1216 src/arm/full-codegen-arm.cc __ push(r1); // Enumerable. __ 1217 src/arm/full-codegen-arm.cc __ push(r3); // Current entry. __ 1218 src/arm/full-codegen-arm.cc __ InvokeBuiltin(Builtins::FILTER_KEY, CALL_FUNCTION); __ 1219 src/arm/full-codegen-arm.cc __ mov(r3, Operand(r0), SetCC); __ 1220 src/arm/full-codegen-arm.cc __ b(eq, loop_statement.continue_label()); __ 1224 src/arm/full-codegen-arm.cc __ bind(&update_each); __ 1225 src/arm/full-codegen-arm.cc __ mov(result_register(), r3); __ 1236 src/arm/full-codegen-arm.cc __ bind(loop_statement.continue_label()); __ 1237 src/arm/full-codegen-arm.cc __ pop(r0); __ 1238 src/arm/full-codegen-arm.cc __ add(r0, r0, Operand(Smi::FromInt(1))); __ 1239 src/arm/full-codegen-arm.cc __ push(r0); __ 1242 src/arm/full-codegen-arm.cc __ b(&loop); __ 1245 src/arm/full-codegen-arm.cc __ bind(loop_statement.break_label()); __ 1246 src/arm/full-codegen-arm.cc __ Drop(5); __ 1250 src/arm/full-codegen-arm.cc __ bind(&exit); __ 1269 src/arm/full-codegen-arm.cc __ mov(r0, Operand(info)); __ 1270 src/arm/full-codegen-arm.cc __ push(r0); __ 1271 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 1273 src/arm/full-codegen-arm.cc __ mov(r0, Operand(info)); __ 1274 src/arm/full-codegen-arm.cc __ LoadRoot(r1, pretenure ? Heap::kTrueValueRootIndex __ 1276 src/arm/full-codegen-arm.cc __ Push(cp, r0, r1); __ 1277 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kNewClosure, 3); __ 1301 src/arm/full-codegen-arm.cc __ ldr(temp, ContextOperand(current, Context::EXTENSION_INDEX)); __ 1302 src/arm/full-codegen-arm.cc __ tst(temp, temp); __ 1303 src/arm/full-codegen-arm.cc __ b(ne, slow); __ 1306 src/arm/full-codegen-arm.cc __ ldr(next, ContextOperand(current, Context::PREVIOUS_INDEX)); __ 1319 src/arm/full-codegen-arm.cc __ Move(next, current); __ 1321 src/arm/full-codegen-arm.cc __ bind(&loop); __ 1323 src/arm/full-codegen-arm.cc __ ldr(temp, FieldMemOperand(next, HeapObject::kMapOffset)); __ 1324 src/arm/full-codegen-arm.cc __ LoadRoot(ip, Heap::kGlobalContextMapRootIndex); __ 1325 src/arm/full-codegen-arm.cc __ cmp(temp, ip); __ 1326 src/arm/full-codegen-arm.cc __ b(eq, &fast); __ 1328 src/arm/full-codegen-arm.cc __ ldr(temp, ContextOperand(next, Context::EXTENSION_INDEX)); __ 1329 src/arm/full-codegen-arm.cc __ tst(temp, temp); __ 1330 src/arm/full-codegen-arm.cc __ b(ne, slow); __ 1332 src/arm/full-codegen-arm.cc __ ldr(next, ContextOperand(next, Context::PREVIOUS_INDEX)); __ 1333 src/arm/full-codegen-arm.cc __ b(&loop); __ 1334 src/arm/full-codegen-arm.cc __ bind(&fast); __ 1337 src/arm/full-codegen-arm.cc __ ldr(r0, GlobalObjectOperand()); __ 1338 src/arm/full-codegen-arm.cc __ mov(r2, Operand(var->name())); __ 1358 src/arm/full-codegen-arm.cc __ ldr(temp, ContextOperand(context, Context::EXTENSION_INDEX)); __ 1359 src/arm/full-codegen-arm.cc __ tst(temp, temp); __ 1360 src/arm/full-codegen-arm.cc __ b(ne, slow); __ 1362 src/arm/full-codegen-arm.cc __ ldr(next, ContextOperand(context, Context::PREVIOUS_INDEX)); __ 1368 src/arm/full-codegen-arm.cc __ ldr(temp, ContextOperand(context, Context::EXTENSION_INDEX)); __ 1369 src/arm/full-codegen-arm.cc __ tst(temp, temp); __ 1370 src/arm/full-codegen-arm.cc __ b(ne, slow); __ 1390 src/arm/full-codegen-arm.cc __ jmp(done); __ 1393 src/arm/full-codegen-arm.cc __ ldr(r0, ContextSlotOperandCheckExtensions(local, slow)); __ 1397 src/arm/full-codegen-arm.cc __ CompareRoot(r0, Heap::kTheHoleValueRootIndex); __ 1399 src/arm/full-codegen-arm.cc __ LoadRoot(r0, Heap::kUndefinedValueRootIndex, eq); __ 1401 src/arm/full-codegen-arm.cc __ b(ne, done); __ 1402 src/arm/full-codegen-arm.cc __ mov(r0, Operand(var->name())); __ 1403 src/arm/full-codegen-arm.cc __ push(r0); __ 1404 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kThrowReferenceError, 1); __ 1407 src/arm/full-codegen-arm.cc __ jmp(done); __ 1424 src/arm/full-codegen-arm.cc __ ldr(r0, GlobalObjectOperand()); __ 1425 src/arm/full-codegen-arm.cc __ mov(r2, Operand(var->name())); __ 1476 src/arm/full-codegen-arm.cc __ CompareRoot(r0, Heap::kTheHoleValueRootIndex); __ 1481 src/arm/full-codegen-arm.cc __ b(ne, &done); __ 1482 src/arm/full-codegen-arm.cc __ mov(r0, Operand(var->name())); __ 1483 src/arm/full-codegen-arm.cc __ push(r0); __ 1484 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kThrowReferenceError, 1); __ 1485 src/arm/full-codegen-arm.cc __ bind(&done); __ 1489 src/arm/full-codegen-arm.cc __ LoadRoot(r0, Heap::kUndefinedValueRootIndex, eq); __ 1504 src/arm/full-codegen-arm.cc __ bind(&slow); __ 1506 src/arm/full-codegen-arm.cc __ mov(r1, Operand(var->name())); __ 1507 src/arm/full-codegen-arm.cc __ Push(cp, r1); // Context and name. __ 1508 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kLoadContextSlot, 2); __ 1509 src/arm/full-codegen-arm.cc __ bind(&done); __ 1526 src/arm/full-codegen-arm.cc __ ldr(r0, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); __ 1527 src/arm/full-codegen-arm.cc __ ldr(r4, FieldMemOperand(r0, JSFunction::kLiteralsOffset)); __ 1530 src/arm/full-codegen-arm.cc __ ldr(r5, FieldMemOperand(r4, literal_offset)); __ 1531 src/arm/full-codegen-arm.cc __ LoadRoot(ip, Heap::kUndefinedValueRootIndex); __ 1532 src/arm/full-codegen-arm.cc __ cmp(r5, ip); __ 1533 src/arm/full-codegen-arm.cc __ b(ne, &materialized); __ 1537 src/arm/full-codegen-arm.cc __ mov(r3, Operand(Smi::FromInt(expr->literal_index()))); __ 1538 src/arm/full-codegen-arm.cc __ mov(r2, Operand(expr->pattern())); __ 1539 src/arm/full-codegen-arm.cc __ mov(r1, Operand(expr->flags())); __ 1540 src/arm/full-codegen-arm.cc __ Push(r4, r3, r2, r1); __ 1541 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kMaterializeRegExpLiteral, 4); __ 1542 src/arm/full-codegen-arm.cc __ mov(r5, r0); __ 1544 src/arm/full-codegen-arm.cc __ bind(&materialized); __ 1547 src/arm/full-codegen-arm.cc __ AllocateInNewSpace(size, r0, r2, r3, &runtime_allocate, TAG_OBJECT); __ 1548 src/arm/full-codegen-arm.cc __ jmp(&allocated); __ 1550 src/arm/full-codegen-arm.cc __ bind(&runtime_allocate); __ 1551 src/arm/full-codegen-arm.cc __ push(r5); __ 1552 src/arm/full-codegen-arm.cc __ mov(r0, Operand(Smi::FromInt(size))); __ 1553 src/arm/full-codegen-arm.cc __ push(r0); __ 1554 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kAllocateInNewSpace, 1); __ 1555 src/arm/full-codegen-arm.cc __ pop(r5); __ 1557 src/arm/full-codegen-arm.cc __ bind(&allocated); __ 1562 src/arm/full-codegen-arm.cc __ CopyFields(r0, r5, r2.bit(), size / kPointerSize); __ 1569 src/arm/full-codegen-arm.cc __ LoadRoot(r1, Heap::kNullValueRootIndex); __ 1570 src/arm/full-codegen-arm.cc __ push(r1); __ 1580 src/arm/full-codegen-arm.cc __ ldr(r3, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); __ 1581 src/arm/full-codegen-arm.cc __ ldr(r3, FieldMemOperand(r3, JSFunction::kLiteralsOffset)); __ 1582 src/arm/full-codegen-arm.cc __ mov(r2, Operand(Smi::FromInt(expr->literal_index()))); __ 1583 src/arm/full-codegen-arm.cc __ mov(r1, Operand(constant_properties)); __ 1590 src/arm/full-codegen-arm.cc __ mov(r0, Operand(Smi::FromInt(flags))); __ 1591 src/arm/full-codegen-arm.cc __ Push(r3, r2, r1, r0); __ 1594 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kCreateObjectLiteral, 4); __ 1597 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kCreateObjectLiteralShallow, 4); __ 1600 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 1620 src/arm/full-codegen-arm.cc __ push(r0); // Save result on stack __ 1633 src/arm/full-codegen-arm.cc __ mov(r2, Operand(key->handle())); __ 1634 src/arm/full-codegen-arm.cc __ ldr(r1, MemOperand(sp)); __ 1648 src/arm/full-codegen-arm.cc __ ldr(r0, MemOperand(sp)); __ 1649 src/arm/full-codegen-arm.cc __ push(r0); __ 1653 src/arm/full-codegen-arm.cc __ mov(r0, Operand(Smi::FromInt(NONE))); // PropertyAttributes __ 1654 src/arm/full-codegen-arm.cc __ push(r0); __ 1655 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kSetProperty, 4); __ 1657 src/arm/full-codegen-arm.cc __ Drop(3); __ 1674 src/arm/full-codegen-arm.cc __ ldr(r0, MemOperand(sp)); // Duplicate receiver. __ 1675 src/arm/full-codegen-arm.cc __ push(r0); __ 1679 src/arm/full-codegen-arm.cc __ mov(r0, Operand(Smi::FromInt(NONE))); __ 1680 src/arm/full-codegen-arm.cc __ push(r0); __ 1681 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kDefineOrRedefineAccessorProperty, 5); __ 1686 src/arm/full-codegen-arm.cc __ ldr(r0, MemOperand(sp)); __ 1687 src/arm/full-codegen-arm.cc __ push(r0); __ 1688 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kToFastProperties, 1); __ 1712 src/arm/full-codegen-arm.cc __ ldr(r3, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); __ 1713 src/arm/full-codegen-arm.cc __ ldr(r3, FieldMemOperand(r3, JSFunction::kLiteralsOffset)); __ 1714 src/arm/full-codegen-arm.cc __ mov(r2, Operand(Smi::FromInt(expr->literal_index()))); __ 1715 src/arm/full-codegen-arm.cc __ mov(r1, Operand(constant_elements)); __ 1716 src/arm/full-codegen-arm.cc __ Push(r3, r2, r1); __ 1721 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 1722 src/arm/full-codegen-arm.cc __ IncrementCounter( __ 1725 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kCreateArrayLiteral, 3); __ 1727 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kCreateArrayLiteralShallow, 3); __ 1735 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 1752 src/arm/full-codegen-arm.cc __ push(r0); __ 1759 src/arm/full-codegen-arm.cc __ ldr(r6, MemOperand(sp)); // Copy of array literal. __ 1760 src/arm/full-codegen-arm.cc __ ldr(r1, FieldMemOperand(r6, JSObject::kElementsOffset)); __ 1761 src/arm/full-codegen-arm.cc __ str(result_register(), FieldMemOperand(r1, offset)); __ 1763 src/arm/full-codegen-arm.cc __ RecordWriteField(r1, offset, result_register(), r2, __ 1767 src/arm/full-codegen-arm.cc __ ldr(r1, MemOperand(sp)); // Copy of array literal. __ 1768 src/arm/full-codegen-arm.cc __ ldr(r2, FieldMemOperand(r1, JSObject::kMapOffset)); __ 1769 src/arm/full-codegen-arm.cc __ mov(r3, Operand(Smi::FromInt(i))); __ 1770 src/arm/full-codegen-arm.cc __ mov(r4, Operand(Smi::FromInt(expr->literal_index()))); __ 1772 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 1815 src/arm/full-codegen-arm.cc __ push(result_register()); __ 1824 src/arm/full-codegen-arm.cc __ ldr(r1, MemOperand(sp, 0)); __ 1825 src/arm/full-codegen-arm.cc __ push(r0); __ 1854 src/arm/full-codegen-arm.cc __ push(r0); // Left operand goes on the stack. __ 1902 src/arm/full-codegen-arm.cc __ mov(r2, Operand(key->handle())); __ 1930 src/arm/full-codegen-arm.cc __ pop(left); __ 1933 src/arm/full-codegen-arm.cc __ orr(scratch1, left, Operand(right)); __ 1938 src/arm/full-codegen-arm.cc __ bind(&stub_call); __ 1942 src/arm/full-codegen-arm.cc __ jmp(&done); __ 1944 src/arm/full-codegen-arm.cc __ bind(&smi_case); __ 1950 src/arm/full-codegen-arm.cc __ b(&stub_call); __ 1951 src/arm/full-codegen-arm.cc __ GetLeastBitsFromSmi(scratch1, right, 5); __ 1952 src/arm/full-codegen-arm.cc __ mov(right, Operand(left, ASR, scratch1)); __ 1953 src/arm/full-codegen-arm.cc __ bic(right, right, Operand(kSmiTagMask)); __ 1956 src/arm/full-codegen-arm.cc __ b(&stub_call); __ 1957 src/arm/full-codegen-arm.cc __ SmiUntag(scratch1, left); __ 1958 src/arm/full-codegen-arm.cc __ GetLeastBitsFromSmi(scratch2, right, 5); __ 1959 src/arm/full-codegen-arm.cc __ mov(scratch1, Operand(scratch1, LSL, scratch2)); __ 1960 src/arm/full-codegen-arm.cc __ add(scratch2, scratch1, Operand(0x40000000), SetCC); __ 1961 src/arm/full-codegen-arm.cc __ b(mi, &stub_call); __ 1962 src/arm/full-codegen-arm.cc __ SmiTag(right, scratch1); __ 1966 src/arm/full-codegen-arm.cc __ b(&stub_call); __ 1967 src/arm/full-codegen-arm.cc __ SmiUntag(scratch1, left); __ 1968 src/arm/full-codegen-arm.cc __ GetLeastBitsFromSmi(scratch2, right, 5); __ 1969 src/arm/full-codegen-arm.cc __ mov(scratch1, Operand(scratch1, LSR, scratch2)); __ 1970 src/arm/full-codegen-arm.cc __ tst(scratch1, Operand(0xc0000000)); __ 1971 src/arm/full-codegen-arm.cc __ b(ne, &stub_call); __ 1972 src/arm/full-codegen-arm.cc __ SmiTag(right, scratch1); __ 1976 src/arm/full-codegen-arm.cc __ add(scratch1, left, Operand(right), SetCC); __ 1977 src/arm/full-codegen-arm.cc __ b(vs, &stub_call); __ 1978 src/arm/full-codegen-arm.cc __ mov(right, scratch1); __ 1981 src/arm/full-codegen-arm.cc __ sub(scratch1, left, Operand(right), SetCC); __ 1982 src/arm/full-codegen-arm.cc __ b(vs, &stub_call); __ 1983 src/arm/full-codegen-arm.cc __ mov(right, scratch1); __ 1986 src/arm/full-codegen-arm.cc __ SmiUntag(ip, right); __ 1987 src/arm/full-codegen-arm.cc __ smull(scratch1, scratch2, left, ip); __ 1988 src/arm/full-codegen-arm.cc __ mov(ip, Operand(scratch1, ASR, 31)); __ 1989 src/arm/full-codegen-arm.cc __ cmp(ip, Operand(scratch2)); __ 1990 src/arm/full-codegen-arm.cc __ b(ne, &stub_call); __ 1991 src/arm/full-codegen-arm.cc __ cmp(scratch1, Operand(0)); __ 1992 src/arm/full-codegen-arm.cc __ mov(right, Operand(scratch1), LeaveCC, ne); __ 1993 src/arm/full-codegen-arm.cc __ b(ne, &done); __ 1994 src/arm/full-codegen-arm.cc __ add(scratch2, right, Operand(left), SetCC); __ 1995 src/arm/full-codegen-arm.cc __ mov(right, Operand(Smi::FromInt(0)), LeaveCC, pl); __ 1996 src/arm/full-codegen-arm.cc __ b(mi, &stub_call); __ 2000 src/arm/full-codegen-arm.cc __ orr(right, left, Operand(right)); __ 2003 src/arm/full-codegen-arm.cc __ and_(right, left, Operand(right)); __ 2006 src/arm/full-codegen-arm.cc __ eor(right, left, Operand(right)); __ 2012 src/arm/full-codegen-arm.cc __ bind(&done); __ 2020 src/arm/full-codegen-arm.cc __ pop(r1); __ 2056 src/arm/full-codegen-arm.cc __ push(r0); // Preserve value. __ 2058 src/arm/full-codegen-arm.cc __ mov(r1, r0); __ 2059 src/arm/full-codegen-arm.cc __ pop(r0); // Restore value. __ 2060 src/arm/full-codegen-arm.cc __ mov(r2, Operand(prop->key()->AsLiteral()->handle())); __ 2068 src/arm/full-codegen-arm.cc __ push(r0); // Preserve value. __ 2071 src/arm/full-codegen-arm.cc __ mov(r1, r0); __ 2072 src/arm/full-codegen-arm.cc __ pop(r2); __ 2073 src/arm/full-codegen-arm.cc __ pop(r0); // Restore value. __ 2089 src/arm/full-codegen-arm.cc __ mov(r2, Operand(var->name())); __ 2090 src/arm/full-codegen-arm.cc __ ldr(r1, GlobalObjectOperand()); __ 2101 src/arm/full-codegen-arm.cc __ ldr(r1, StackOperand(var)); __ 2102 src/arm/full-codegen-arm.cc __ CompareRoot(r1, Heap::kTheHoleValueRootIndex); __ 2103 src/arm/full-codegen-arm.cc __ b(ne, &skip); __ 2104 src/arm/full-codegen-arm.cc __ str(result_register(), StackOperand(var)); __ 2105 src/arm/full-codegen-arm.cc __ bind(&skip); __ 2113 src/arm/full-codegen-arm.cc __ push(r0); __ 2114 src/arm/full-codegen-arm.cc __ mov(r0, Operand(var->name())); __ 2115 src/arm/full-codegen-arm.cc __ Push(cp, r0); // Context and name. __ 2116 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kInitializeConstContextSlot, 3); __ 2122 src/arm/full-codegen-arm.cc __ push(r0); // Value. __ 2123 src/arm/full-codegen-arm.cc __ mov(r1, Operand(var->name())); __ 2124 src/arm/full-codegen-arm.cc __ mov(r0, Operand(Smi::FromInt(language_mode()))); __ 2125 src/arm/full-codegen-arm.cc __ Push(cp, r1, r0); // Context, name, strict mode. __ 2126 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kStoreContextSlot, 4); __ 2131 src/arm/full-codegen-arm.cc __ ldr(r3, location); __ 2132 src/arm/full-codegen-arm.cc __ CompareRoot(r3, Heap::kTheHoleValueRootIndex); __ 2133 src/arm/full-codegen-arm.cc __ b(ne, &assign); __ 2134 src/arm/full-codegen-arm.cc __ mov(r3, Operand(var->name())); __ 2135 src/arm/full-codegen-arm.cc __ push(r3); __ 2136 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kThrowReferenceError, 1); __ 2138 src/arm/full-codegen-arm.cc __ bind(&assign); __ 2139 src/arm/full-codegen-arm.cc __ str(result_register(), location); __ 2142 src/arm/full-codegen-arm.cc __ mov(r3, result_register()); __ 2144 src/arm/full-codegen-arm.cc __ RecordWriteContextSlot( __ 2156 src/arm/full-codegen-arm.cc __ ldr(r2, location); __ 2157 src/arm/full-codegen-arm.cc __ CompareRoot(r2, Heap::kTheHoleValueRootIndex); __ 2158 src/arm/full-codegen-arm.cc __ Check(eq, "Let binding re-initialization."); __ 2161 src/arm/full-codegen-arm.cc __ str(r0, location); __ 2163 src/arm/full-codegen-arm.cc __ mov(r3, r0); __ 2165 src/arm/full-codegen-arm.cc __ RecordWriteContextSlot( __ 2170 src/arm/full-codegen-arm.cc __ push(r0); // Value. __ 2171 src/arm/full-codegen-arm.cc __ mov(r1, Operand(var->name())); __ 2172 src/arm/full-codegen-arm.cc __ mov(r0, Operand(Smi::FromInt(language_mode()))); __ 2173 src/arm/full-codegen-arm.cc __ Push(cp, r1, r0); // Context, name, strict mode. __ 2174 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kStoreContextSlot, 4); __ 2191 src/arm/full-codegen-arm.cc __ push(result_register()); __ 2192 src/arm/full-codegen-arm.cc __ ldr(ip, MemOperand(sp, kPointerSize)); // Receiver is now under value. __ 2193 src/arm/full-codegen-arm.cc __ push(ip); __ 2194 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kToSlowProperties, 1); __ 2195 src/arm/full-codegen-arm.cc __ pop(result_register()); __ 2200 src/arm/full-codegen-arm.cc __ mov(r2, Operand(prop->key()->AsLiteral()->handle())); __ 2204 src/arm/full-codegen-arm.cc __ ldr(r1, MemOperand(sp)); __ 2206 src/arm/full-codegen-arm.cc __ pop(r1); __ 2216 src/arm/full-codegen-arm.cc __ push(r0); // Result of assignment, saved even if not needed. __ 2218 src/arm/full-codegen-arm.cc __ ldr(ip, MemOperand(sp, kPointerSize)); __ 2219 src/arm/full-codegen-arm.cc __ push(ip); __ 2220 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kToFastProperties, 1); __ 2221 src/arm/full-codegen-arm.cc __ pop(r0); __ 2222 src/arm/full-codegen-arm.cc __ Drop(1); __ 2236 src/arm/full-codegen-arm.cc __ push(result_register()); __ 2238 src/arm/full-codegen-arm.cc __ ldr(ip, MemOperand(sp, 2 * kPointerSize)); __ 2239 src/arm/full-codegen-arm.cc __ push(ip); __ 2240 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kToSlowProperties, 1); __ 2241 src/arm/full-codegen-arm.cc __ pop(result_register()); __ 2246 src/arm/full-codegen-arm.cc __ pop(r1); // Key. __ 2250 src/arm/full-codegen-arm.cc __ ldr(r2, MemOperand(sp)); __ 2252 src/arm/full-codegen-arm.cc __ pop(r2); __ 2262 src/arm/full-codegen-arm.cc __ push(r0); // Result of assignment, saved even if not needed. __ 2264 src/arm/full-codegen-arm.cc __ ldr(ip, MemOperand(sp, kPointerSize)); __ 2265 src/arm/full-codegen-arm.cc __ push(ip); __ 2266 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kToFastProperties, 1); __ 2267 src/arm/full-codegen-arm.cc __ pop(r0); __ 2268 src/arm/full-codegen-arm.cc __ Drop(1); __ 2286 src/arm/full-codegen-arm.cc __ pop(r1); __ 2297 src/arm/full-codegen-arm.cc __ Call(code, rmode, ast_id); __ 2310 src/arm/full-codegen-arm.cc __ mov(r2, Operand(name)); __ 2320 src/arm/full-codegen-arm.cc __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 2332 src/arm/full-codegen-arm.cc __ pop(r1); __ 2333 src/arm/full-codegen-arm.cc __ push(r0); __ 2334 src/arm/full-codegen-arm.cc __ push(r1); __ 2349 src/arm/full-codegen-arm.cc __ ldr(r2, MemOperand(sp, (arg_count + 1) * kPointerSize)); // Key. __ 2353 src/arm/full-codegen-arm.cc __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 2378 src/arm/full-codegen-arm.cc __ mov(r2, Operand(cell)); __ 2382 src/arm/full-codegen-arm.cc __ ldr(r1, MemOperand(sp, (arg_count + 1) * kPointerSize)); __ 2383 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 2386 src/arm/full-codegen-arm.cc __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 2394 src/arm/full-codegen-arm.cc __ ldr(r1, MemOperand(sp, arg_count * kPointerSize)); __ 2396 src/arm/full-codegen-arm.cc __ LoadRoot(r1, Heap::kUndefinedValueRootIndex); __ 2398 src/arm/full-codegen-arm.cc __ push(r1); __ 2402 src/arm/full-codegen-arm.cc __ ldr(r1, MemOperand(fp, receiver_offset * kPointerSize)); __ 2403 src/arm/full-codegen-arm.cc __ push(r1); __ 2405 src/arm/full-codegen-arm.cc __ mov(r1, Operand(Smi::FromInt(language_mode()))); __ 2406 src/arm/full-codegen-arm.cc __ push(r1); __ 2409 src/arm/full-codegen-arm.cc __ mov(r1, Operand(Smi::FromInt(scope()->start_position()))); __ 2410 src/arm/full-codegen-arm.cc __ push(r1); __ 2413 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kResolvePossiblyDirectEval, 5); __ 2439 src/arm/full-codegen-arm.cc __ LoadRoot(r2, Heap::kUndefinedValueRootIndex); __ 2440 src/arm/full-codegen-arm.cc __ push(r2); // Reserved receiver slot. __ 2449 src/arm/full-codegen-arm.cc __ ldr(r1, MemOperand(sp, (arg_count + 1) * kPointerSize)); __ 2450 src/arm/full-codegen-arm.cc __ push(r1); __ 2455 src/arm/full-codegen-arm.cc __ str(r0, MemOperand(sp, (arg_count + 1) * kPointerSize)); __ 2456 src/arm/full-codegen-arm.cc __ str(r1, MemOperand(sp, arg_count * kPointerSize)); __ 2462 src/arm/full-codegen-arm.cc __ ldr(r1, MemOperand(sp, (arg_count + 1) * kPointerSize)); __ 2463 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 2466 src/arm/full-codegen-arm.cc __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 2470 src/arm/full-codegen-arm.cc __ ldr(r0, GlobalObjectOperand()); __ 2471 src/arm/full-codegen-arm.cc __ push(r0); __ 2483 src/arm/full-codegen-arm.cc __ bind(&slow); __ 2486 src/arm/full-codegen-arm.cc __ push(context_register()); __ 2487 src/arm/full-codegen-arm.cc __ mov(r2, Operand(proxy->name())); __ 2488 src/arm/full-codegen-arm.cc __ push(r2); __ 2489 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kLoadContextSlot, 2); __ 2490 src/arm/full-codegen-arm.cc __ Push(r0, r1); // Function, receiver. __ 2497 src/arm/full-codegen-arm.cc __ b(&call); __ 2498 src/arm/full-codegen-arm.cc __ bind(&done); __ 2500 src/arm/full-codegen-arm.cc __ push(r0); __ 2503 src/arm/full-codegen-arm.cc __ LoadRoot(r1, Heap::kTheHoleValueRootIndex); __ 2504 src/arm/full-codegen-arm.cc __ push(r1); __ 2505 src/arm/full-codegen-arm.cc __ bind(&call); __ 2529 src/arm/full-codegen-arm.cc __ ldr(r1, GlobalObjectOperand()); __ 2530 src/arm/full-codegen-arm.cc __ ldr(r1, FieldMemOperand(r1, GlobalObject::kGlobalReceiverOffset)); __ 2531 src/arm/full-codegen-arm.cc __ push(r1); __ 2566 src/arm/full-codegen-arm.cc __ mov(r0, Operand(arg_count)); __ 2567 src/arm/full-codegen-arm.cc __ ldr(r1, MemOperand(sp, arg_count * kPointerSize)); __ 2578 src/arm/full-codegen-arm.cc __ mov(r2, Operand(cell)); __ 2584 src/arm/full-codegen-arm.cc __ Call(stub.GetCode(), RelocInfo::CONSTRUCT_CALL); __ 2604 src/arm/full-codegen-arm.cc __ tst(r0, Operand(kSmiTagMask)); __ 2625 src/arm/full-codegen-arm.cc __ tst(r0, Operand(kSmiTagMask | 0x80000000)); __ 2645 src/arm/full-codegen-arm.cc __ JumpIfSmi(r0, if_false); __ 2646 src/arm/full-codegen-arm.cc __ LoadRoot(ip, Heap::kNullValueRootIndex); __ 2647 src/arm/full-codegen-arm.cc __ cmp(r0, ip); __ 2648 src/arm/full-codegen-arm.cc __ b(eq, if_true); __ 2649 src/arm/full-codegen-arm.cc __ ldr(r2, FieldMemOperand(r0, HeapObject::kMapOffset)); __ 2651 src/arm/full-codegen-arm.cc __ ldrb(r1, FieldMemOperand(r2, Map::kBitFieldOffset)); __ 2652 src/arm/full-codegen-arm.cc __ tst(r1, Operand(1 << Map::kIsUndetectable)); __ 2653 src/arm/full-codegen-arm.cc __ b(ne, if_false); __ 2654 src/arm/full-codegen-arm.cc __ ldrb(r1, FieldMemOperand(r2, Map::kInstanceTypeOffset)); __ 2655 src/arm/full-codegen-arm.cc __ cmp(r1, Operand(FIRST_NONCALLABLE_SPEC_OBJECT_TYPE)); __ 2656 src/arm/full-codegen-arm.cc __ b(lt, if_false); __ 2657 src/arm/full-codegen-arm.cc __ cmp(r1, Operand(LAST_NONCALLABLE_SPEC_OBJECT_TYPE)); __ 2678 src/arm/full-codegen-arm.cc __ JumpIfSmi(r0, if_false); __ 2679 src/arm/full-codegen-arm.cc __ CompareObjectType(r0, r1, r1, FIRST_SPEC_OBJECT_TYPE); __ 2700 src/arm/full-codegen-arm.cc __ JumpIfSmi(r0, if_false); __ 2701 src/arm/full-codegen-arm.cc __ ldr(r1, FieldMemOperand(r0, HeapObject::kMapOffset)); __ 2702 src/arm/full-codegen-arm.cc __ ldrb(r1, FieldMemOperand(r1, Map::kBitFieldOffset)); __ 2703 src/arm/full-codegen-arm.cc __ tst(r1, Operand(1 << Map::kIsUndetectable)); __ 2725 src/arm/full-codegen-arm.cc if (FLAG_debug_code) __ AbortIfSmi(r0); __ 2727 src/arm/full-codegen-arm.cc __ ldr(r1, FieldMemOperand(r0, HeapObject::kMapOffset)); __ 2728 src/arm/full-codegen-arm.cc __ ldrb(ip, FieldMemOperand(r1, Map::kBitField2Offset)); __ 2729 src/arm/full-codegen-arm.cc __ tst(ip, Operand(1 << Map::kStringWrapperSafeForDefaultValueOf)); __ 2730 src/arm/full-codegen-arm.cc __ b(ne, if_true); __ 2733 src/arm/full-codegen-arm.cc __ ldr(r2, FieldMemOperand(r0, JSObject::kPropertiesOffset)); __ 2734 src/arm/full-codegen-arm.cc __ ldr(r2, FieldMemOperand(r2, HeapObject::kMapOffset)); __ 2735 src/arm/full-codegen-arm.cc __ LoadRoot(ip, Heap::kHashTableMapRootIndex); __ 2736 src/arm/full-codegen-arm.cc __ cmp(r2, ip); __ 2737 src/arm/full-codegen-arm.cc __ b(eq, if_false); __ 2742 src/arm/full-codegen-arm.cc __ LoadInstanceDescriptors(r1, r4, r3); __ 2743 src/arm/full-codegen-arm.cc __ ldr(r3, FieldMemOperand(r4, FixedArray::kLengthOffset)); __ 2750 src/arm/full-codegen-arm.cc __ add(r2, r4, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 2751 src/arm/full-codegen-arm.cc __ add(r2, r2, Operand(r3, LSL, kPointerSizeLog2 - kSmiTagSize)); __ 2754 src/arm/full-codegen-arm.cc __ add(r4, __ 2763 src/arm/full-codegen-arm.cc __ mov(ip, Operand(FACTORY->value_of_symbol())); __ 2764 src/arm/full-codegen-arm.cc __ jmp(&entry); __ 2765 src/arm/full-codegen-arm.cc __ bind(&loop); __ 2766 src/arm/full-codegen-arm.cc __ ldr(r3, MemOperand(r4, 0)); __ 2767 src/arm/full-codegen-arm.cc __ cmp(r3, ip); __ 2768 src/arm/full-codegen-arm.cc __ b(eq, if_false); __ 2769 src/arm/full-codegen-arm.cc __ add(r4, r4, Operand(kPointerSize)); __ 2770 src/arm/full-codegen-arm.cc __ bind(&entry); __ 2771 src/arm/full-codegen-arm.cc __ cmp(r4, Operand(r2)); __ 2772 src/arm/full-codegen-arm.cc __ b(ne, &loop); __ 2776 src/arm/full-codegen-arm.cc __ ldr(r2, FieldMemOperand(r1, Map::kPrototypeOffset)); __ 2777 src/arm/full-codegen-arm.cc __ JumpIfSmi(r2, if_false); __ 2778 src/arm/full-codegen-arm.cc __ ldr(r2, FieldMemOperand(r2, HeapObject::kMapOffset)); __ 2779 src/arm/full-codegen-arm.cc __ ldr(r3, ContextOperand(cp, Context::GLOBAL_INDEX)); __ 2780 src/arm/full-codegen-arm.cc __ ldr(r3, FieldMemOperand(r3, GlobalObject::kGlobalContextOffset)); __ 2781 src/arm/full-codegen-arm.cc __ ldr(r3, ContextOperand(r3, Context::STRING_FUNCTION_PROTOTYPE_MAP_INDEX)); __ 2782 src/arm/full-codegen-arm.cc __ cmp(r2, r3); __ 2783 src/arm/full-codegen-arm.cc __ b(ne, if_false); __ 2787 src/arm/full-codegen-arm.cc __ ldrb(r2, FieldMemOperand(r1, Map::kBitField2Offset)); __ 2788 src/arm/full-codegen-arm.cc __ orr(r2, r2, Operand(1 << Map::kStringWrapperSafeForDefaultValueOf)); __ 2789 src/arm/full-codegen-arm.cc __ strb(r2, FieldMemOperand(r1, Map::kBitField2Offset)); __ 2790 src/arm/full-codegen-arm.cc __ jmp(if_true); __ 2810 src/arm/full-codegen-arm.cc __ JumpIfSmi(r0, if_false); __ 2811 src/arm/full-codegen-arm.cc __ CompareObjectType(r0, r1, r2, JS_FUNCTION_TYPE); __ 2832 src/arm/full-codegen-arm.cc __ JumpIfSmi(r0, if_false); __ 2833 src/arm/full-codegen-arm.cc __ CompareObjectType(r0, r1, r1, JS_ARRAY_TYPE); __ 2854 src/arm/full-codegen-arm.cc __ JumpIfSmi(r0, if_false); __ 2855 src/arm/full-codegen-arm.cc __ CompareObjectType(r0, r1, r1, JS_REGEXP_TYPE); __ 2875 src/arm/full-codegen-arm.cc __ ldr(r2, MemOperand(fp, StandardFrameConstants::kCallerFPOffset)); __ 2879 src/arm/full-codegen-arm.cc __ ldr(r1, MemOperand(r2, StandardFrameConstants::kContextOffset)); __ 2880 src/arm/full-codegen-arm.cc __ cmp(r1, Operand(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR))); __ 2881 src/arm/full-codegen-arm.cc __ b(ne, &check_frame_marker); __ 2882 src/arm/full-codegen-arm.cc __ ldr(r2, MemOperand(r2, StandardFrameConstants::kCallerFPOffset)); __ 2885 src/arm/full-codegen-arm.cc __ bind(&check_frame_marker); __ 2886 src/arm/full-codegen-arm.cc __ ldr(r1, MemOperand(r2, StandardFrameConstants::kMarkerOffset)); __ 2887 src/arm/full-codegen-arm.cc __ cmp(r1, Operand(Smi::FromInt(StackFrame::CONSTRUCT))); __ 2910 src/arm/full-codegen-arm.cc __ pop(r1); __ 2911 src/arm/full-codegen-arm.cc __ cmp(r0, r1); __ 2926 src/arm/full-codegen-arm.cc __ mov(r1, r0); __ 2927 src/arm/full-codegen-arm.cc __ mov(r0, Operand(Smi::FromInt(info_->scope()->num_parameters()))); __ 2929 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 2938 src/arm/full-codegen-arm.cc __ mov(r0, Operand(Smi::FromInt(info_->scope()->num_parameters()))); __ 2941 src/arm/full-codegen-arm.cc __ ldr(r2, MemOperand(fp, StandardFrameConstants::kCallerFPOffset)); __ 2942 src/arm/full-codegen-arm.cc __ ldr(r3, MemOperand(r2, StandardFrameConstants::kContextOffset)); __ 2943 src/arm/full-codegen-arm.cc __ cmp(r3, Operand(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR))); __ 2944 src/arm/full-codegen-arm.cc __ b(ne, &exit); __ 2948 src/arm/full-codegen-arm.cc __ ldr(r0, MemOperand(r2, ArgumentsAdaptorFrameConstants::kLengthOffset)); __ 2950 src/arm/full-codegen-arm.cc __ bind(&exit); __ 2963 src/arm/full-codegen-arm.cc __ JumpIfSmi(r0, &null); __ 2970 src/arm/full-codegen-arm.cc __ CompareObjectType(r0, r0, r1, FIRST_SPEC_OBJECT_TYPE); __ 2972 src/arm/full-codegen-arm.cc __ b(lt, &null); __ 2975 src/arm/full-codegen-arm.cc __ b(eq, &function); __ 2977 src/arm/full-codegen-arm.cc __ cmp(r1, Operand(LAST_SPEC_OBJECT_TYPE)); __ 2980 src/arm/full-codegen-arm.cc __ b(eq, &function); __ 2985 src/arm/full-codegen-arm.cc __ ldr(r0, FieldMemOperand(r0, Map::kConstructorOffset)); __ 2986 src/arm/full-codegen-arm.cc __ CompareObjectType(r0, r1, r1, JS_FUNCTION_TYPE); __ 2987 src/arm/full-codegen-arm.cc __ b(ne, &non_function_constructor); __ 2991 src/arm/full-codegen-arm.cc __ ldr(r0, FieldMemOperand(r0, JSFunction::kSharedFunctionInfoOffset)); __ 2992 src/arm/full-codegen-arm.cc __ ldr(r0, FieldMemOperand(r0, SharedFunctionInfo::kInstanceClassNameOffset)); __ 2993 src/arm/full-codegen-arm.cc __ b(&done); __ 2996 src/arm/full-codegen-arm.cc __ bind(&function); __ 2997 src/arm/full-codegen-arm.cc __ LoadRoot(r0, Heap::kfunction_class_symbolRootIndex); __ 2998 src/arm/full-codegen-arm.cc __ jmp(&done); __ 3001 src/arm/full-codegen-arm.cc __ bind(&non_function_constructor); __ 3002 src/arm/full-codegen-arm.cc __ LoadRoot(r0, Heap::kObject_symbolRootIndex); __ 3003 src/arm/full-codegen-arm.cc __ jmp(&done); __ 3006 src/arm/full-codegen-arm.cc __ bind(&null); __ 3007 src/arm/full-codegen-arm.cc __ LoadRoot(r0, Heap::kNullValueRootIndex); __ 3010 src/arm/full-codegen-arm.cc __ bind(&done); __ 3029 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kLog, 2); __ 3033 src/arm/full-codegen-arm.cc __ LoadRoot(r0, Heap::kUndefinedValueRootIndex); __ 3043 src/arm/full-codegen-arm.cc __ LoadRoot(r6, Heap::kHeapNumberMapRootIndex); __ 3044 src/arm/full-codegen-arm.cc __ AllocateHeapNumber(r4, r1, r2, r6, &slow_allocate_heapnumber); __ 3045 src/arm/full-codegen-arm.cc __ jmp(&heapnumber_allocated); __ 3047 src/arm/full-codegen-arm.cc __ bind(&slow_allocate_heapnumber); __ 3049 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kNumberAlloc, 0); __ 3050 src/arm/full-codegen-arm.cc __ mov(r4, Operand(r0)); __ 3052 src/arm/full-codegen-arm.cc __ bind(&heapnumber_allocated); __ 3058 src/arm/full-codegen-arm.cc __ PrepareCallCFunction(1, r0); __ 3059 src/arm/full-codegen-arm.cc __ ldr(r0, ContextOperand(context_register(), Context::GLOBAL_INDEX)); __ 3060 src/arm/full-codegen-arm.cc __ ldr(r0, FieldMemOperand(r0, GlobalObject::kGlobalContextOffset)); __ 3061 src/arm/full-codegen-arm.cc __ CallCFunction(ExternalReference::random_uint32_function(isolate()), 1); __ 3066 src/arm/full-codegen-arm.cc __ mov(r1, Operand(0x41000000)); __ 3067 src/arm/full-codegen-arm.cc __ orr(r1, r1, Operand(0x300000)); __ 3069 src/arm/full-codegen-arm.cc __ vmov(d7, r0, r1); __ 3071 src/arm/full-codegen-arm.cc __ mov(r0, Operand(0, RelocInfo::NONE)); __ 3072 src/arm/full-codegen-arm.cc __ vmov(d8, r0, r1); __ 3074 src/arm/full-codegen-arm.cc __ vsub(d7, d7, d8); __ 3075 src/arm/full-codegen-arm.cc __ sub(r0, r4, Operand(kHeapObjectTag)); __ 3076 src/arm/full-codegen-arm.cc __ vstr(d7, r0, HeapNumber::kValueOffset); __ 3077 src/arm/full-codegen-arm.cc __ mov(r0, r4); __ 3079 src/arm/full-codegen-arm.cc __ PrepareCallCFunction(2, r0); __ 3080 src/arm/full-codegen-arm.cc __ ldr(r1, ContextOperand(context_register(), Context::GLOBAL_INDEX)); __ 3081 src/arm/full-codegen-arm.cc __ mov(r0, Operand(r4)); __ 3082 src/arm/full-codegen-arm.cc __ ldr(r1, FieldMemOperand(r1, GlobalObject::kGlobalContextOffset)); __ 3083 src/arm/full-codegen-arm.cc __ CallCFunction( __ 3099 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 3113 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 3125 src/arm/full-codegen-arm.cc __ JumpIfSmi(r0, &done); __ 3127 src/arm/full-codegen-arm.cc __ CompareObjectType(r0, r1, r1, JS_VALUE_TYPE); __ 3128 src/arm/full-codegen-arm.cc __ b(ne, &done); __ 3129 src/arm/full-codegen-arm.cc __ ldr(r0, FieldMemOperand(r0, JSValue::kValueOffset)); __ 3131 src/arm/full-codegen-arm.cc __ bind(&done); __ 3151 src/arm/full-codegen-arm.cc __ AbortIfSmi(object); __ 3152 src/arm/full-codegen-arm.cc __ CompareObjectType(object, scratch1, scratch1, JS_DATE_TYPE); __ 3153 src/arm/full-codegen-arm.cc __ Assert(eq, "Trying to get date field from non-date."); __ 3157 src/arm/full-codegen-arm.cc __ ldr(result, FieldMemOperand(object, JSDate::kValueOffset)); __ 3161 src/arm/full-codegen-arm.cc __ mov(scratch1, Operand(stamp)); __ 3162 src/arm/full-codegen-arm.cc __ ldr(scratch1, MemOperand(scratch1)); __ 3163 src/arm/full-codegen-arm.cc __ ldr(scratch0, FieldMemOperand(object, JSDate::kCacheStampOffset)); __ 3164 src/arm/full-codegen-arm.cc __ cmp(scratch1, scratch0); __ 3165 src/arm/full-codegen-arm.cc __ b(ne, &runtime); __ 3166 src/arm/full-codegen-arm.cc __ ldr(result, FieldMemOperand(object, JSDate::kValueOffset + __ 3168 src/arm/full-codegen-arm.cc __ jmp(&done); __ 3170 src/arm/full-codegen-arm.cc __ bind(&runtime); __ 3171 src/arm/full-codegen-arm.cc __ PrepareCallCFunction(2, scratch1); __ 3172 src/arm/full-codegen-arm.cc __ mov(r1, Operand(index)); __ 3173 src/arm/full-codegen-arm.cc __ CallCFunction(ExternalReference::get_date_field_function(isolate()), 2); __ 3174 src/arm/full-codegen-arm.cc __ bind(&done); __ 3188 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 3190 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kMath_pow, 2); __ 3201 src/arm/full-codegen-arm.cc __ pop(r1); // r0 = value. r1 = object. __ 3205 src/arm/full-codegen-arm.cc __ JumpIfSmi(r1, &done); __ 3208 src/arm/full-codegen-arm.cc __ CompareObjectType(r1, r2, r2, JS_VALUE_TYPE); __ 3209 src/arm/full-codegen-arm.cc __ b(ne, &done); __ 3212 src/arm/full-codegen-arm.cc __ str(r0, FieldMemOperand(r1, JSValue::kValueOffset)); __ 3215 src/arm/full-codegen-arm.cc __ mov(r2, r0); __ 3216 src/arm/full-codegen-arm.cc __ RecordWriteField( __ 3219 src/arm/full-codegen-arm.cc __ bind(&done); __ 3231 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 3244 src/arm/full-codegen-arm.cc __ jmp(&done); __ 3249 src/arm/full-codegen-arm.cc __ bind(&done); __ 3264 src/arm/full-codegen-arm.cc __ pop(object); __ 3277 src/arm/full-codegen-arm.cc __ jmp(&done); __ 3279 src/arm/full-codegen-arm.cc __ bind(&index_out_of_range); __ 3282 src/arm/full-codegen-arm.cc __ LoadRoot(result, Heap::kNanValueRootIndex); __ 3283 src/arm/full-codegen-arm.cc __ jmp(&done); __ 3285 src/arm/full-codegen-arm.cc __ bind(&need_conversion); __ 3288 src/arm/full-codegen-arm.cc __ LoadRoot(result, Heap::kUndefinedValueRootIndex); __ 3289 src/arm/full-codegen-arm.cc __ jmp(&done); __ 3294 src/arm/full-codegen-arm.cc __ bind(&done); __ 3310 src/arm/full-codegen-arm.cc __ pop(object); __ 3324 src/arm/full-codegen-arm.cc __ jmp(&done); __ 3326 src/arm/full-codegen-arm.cc __ bind(&index_out_of_range); __ 3329 src/arm/full-codegen-arm.cc __ LoadRoot(result, Heap::kEmptyStringRootIndex); __ 3330 src/arm/full-codegen-arm.cc __ jmp(&done); __ 3332 src/arm/full-codegen-arm.cc __ bind(&need_conversion); __ 3335 src/arm/full-codegen-arm.cc __ mov(result, Operand(Smi::FromInt(0))); __ 3336 src/arm/full-codegen-arm.cc __ jmp(&done); __ 3341 src/arm/full-codegen-arm.cc __ bind(&done); __ 3353 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 3365 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 3377 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 3389 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 3401 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 3413 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 3423 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kMath_sqrt, 1); __ 3440 src/arm/full-codegen-arm.cc __ CompareObjectType(r0, r1, r1, JS_FUNCTION_PROXY_TYPE); __ 3441 src/arm/full-codegen-arm.cc __ b(eq, &proxy); __ 3444 src/arm/full-codegen-arm.cc __ mov(r1, result_register()); __ 3446 src/arm/full-codegen-arm.cc __ InvokeFunction(r1, count, CALL_FUNCTION, __ 3448 src/arm/full-codegen-arm.cc __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 3449 src/arm/full-codegen-arm.cc __ jmp(&done); __ 3451 src/arm/full-codegen-arm.cc __ bind(&proxy); __ 3452 src/arm/full-codegen-arm.cc __ push(r0); __ 3453 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kCall, args->length()); __ 3454 src/arm/full-codegen-arm.cc __ bind(&done); __ 3467 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 3481 src/arm/full-codegen-arm.cc __ Abort("Attempt to use undefined cache."); __ 3482 src/arm/full-codegen-arm.cc __ LoadRoot(r0, Heap::kUndefinedValueRootIndex); __ 3491 src/arm/full-codegen-arm.cc __ ldr(cache, ContextOperand(cp, Context::GLOBAL_INDEX)); __ 3492 src/arm/full-codegen-arm.cc __ ldr(cache, FieldMemOperand(cache, GlobalObject::kGlobalContextOffset)); __ 3493 src/arm/full-codegen-arm.cc __ ldr(cache, ContextOperand(cache, Context::JSFUNCTION_RESULT_CACHES_INDEX)); __ 3494 src/arm/full-codegen-arm.cc __ ldr(cache, __ 3501 src/arm/full-codegen-arm.cc __ ldr(r2, FieldMemOperand(cache, JSFunctionResultCache::kFingerOffset)); __ 3503 src/arm/full-codegen-arm.cc __ add(r3, cache, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 3505 src/arm/full-codegen-arm.cc __ ldr(r2, MemOperand(r3, r2, LSL, kPointerSizeLog2 - kSmiTagSize, PreIndex)); __ 3507 src/arm/full-codegen-arm.cc __ cmp(key, r2); __ 3508 src/arm/full-codegen-arm.cc __ b(ne, ¬_found); __ 3510 src/arm/full-codegen-arm.cc __ ldr(r0, MemOperand(r3, kPointerSize)); __ 3511 src/arm/full-codegen-arm.cc __ b(&done); __ 3513 src/arm/full-codegen-arm.cc __ bind(¬_found); __ 3515 src/arm/full-codegen-arm.cc __ Push(cache, key); __ 3516 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kGetFromCache, 2); __ 3518 src/arm/full-codegen-arm.cc __ bind(&done); __ 3534 src/arm/full-codegen-arm.cc __ pop(left); __ 3537 src/arm/full-codegen-arm.cc __ cmp(left, Operand(right)); __ 3538 src/arm/full-codegen-arm.cc __ b(eq, &ok); __ 3540 src/arm/full-codegen-arm.cc __ and_(tmp, left, Operand(right)); __ 3541 src/arm/full-codegen-arm.cc __ JumpIfSmi(tmp, &fail); __ 3542 src/arm/full-codegen-arm.cc __ ldr(tmp, FieldMemOperand(left, HeapObject::kMapOffset)); __ 3543 src/arm/full-codegen-arm.cc __ ldrb(tmp2, FieldMemOperand(tmp, Map::kInstanceTypeOffset)); __ 3544 src/arm/full-codegen-arm.cc __ cmp(tmp2, Operand(JS_REGEXP_TYPE)); __ 3545 src/arm/full-codegen-arm.cc __ b(ne, &fail); __ 3546 src/arm/full-codegen-arm.cc __ ldr(tmp2, FieldMemOperand(right, HeapObject::kMapOffset)); __ 3547 src/arm/full-codegen-arm.cc __ cmp(tmp, Operand(tmp2)); __ 3548 src/arm/full-codegen-arm.cc __ b(ne, &fail); __ 3549 src/arm/full-codegen-arm.cc __ ldr(tmp, FieldMemOperand(left, JSRegExp::kDataOffset)); __ 3550 src/arm/full-codegen-arm.cc __ ldr(tmp2, FieldMemOperand(right, JSRegExp::kDataOffset)); __ 3551 src/arm/full-codegen-arm.cc __ cmp(tmp, tmp2); __ 3552 src/arm/full-codegen-arm.cc __ b(eq, &ok); __ 3553 src/arm/full-codegen-arm.cc __ bind(&fail); __ 3554 src/arm/full-codegen-arm.cc __ LoadRoot(r0, Heap::kFalseValueRootIndex); __ 3555 src/arm/full-codegen-arm.cc __ jmp(&done); __ 3556 src/arm/full-codegen-arm.cc __ bind(&ok); __ 3557 src/arm/full-codegen-arm.cc __ LoadRoot(r0, Heap::kTrueValueRootIndex); __ 3558 src/arm/full-codegen-arm.cc __ bind(&done); __ 3575 src/arm/full-codegen-arm.cc __ ldr(r0, FieldMemOperand(r0, String::kHashFieldOffset)); __ 3576 src/arm/full-codegen-arm.cc __ tst(r0, Operand(String::kContainsCachedArrayIndexMask)); __ 3590 src/arm/full-codegen-arm.cc __ AbortIfNotString(r0); __ 3593 src/arm/full-codegen-arm.cc __ ldr(r0, FieldMemOperand(r0, String::kHashFieldOffset)); __ 3594 src/arm/full-codegen-arm.cc __ IndexFromHash(r0, r0); __ 3625 src/arm/full-codegen-arm.cc __ pop(separator); __ 3628 src/arm/full-codegen-arm.cc __ JumpIfSmi(array, &bailout); __ 3629 src/arm/full-codegen-arm.cc __ CompareObjectType(array, scratch1, scratch2, JS_ARRAY_TYPE); __ 3630 src/arm/full-codegen-arm.cc __ b(ne, &bailout); __ 3633 src/arm/full-codegen-arm.cc __ CheckFastElements(scratch1, scratch2, &bailout); __ 3636 src/arm/full-codegen-arm.cc __ ldr(array_length, FieldMemOperand(array, JSArray::kLengthOffset)); __ 3637 src/arm/full-codegen-arm.cc __ SmiUntag(array_length, SetCC); __ 3638 src/arm/full-codegen-arm.cc __ b(ne, &non_trivial_array); __ 3639 src/arm/full-codegen-arm.cc __ LoadRoot(r0, Heap::kEmptyStringRootIndex); __ 3640 src/arm/full-codegen-arm.cc __ b(&done); __ 3642 src/arm/full-codegen-arm.cc __ bind(&non_trivial_array); __ 3646 src/arm/full-codegen-arm.cc __ ldr(elements, FieldMemOperand(array, JSArray::kElementsOffset)); __ 3651 src/arm/full-codegen-arm.cc __ mov(string_length, Operand(0)); __ 3652 src/arm/full-codegen-arm.cc __ add(element, __ 3654 src/arm/full-codegen-arm.cc __ add(elements_end, element, Operand(array_length, LSL, kPointerSizeLog2)); __ 3664 src/arm/full-codegen-arm.cc __ cmp(array_length, Operand(0)); __ 3665 src/arm/full-codegen-arm.cc __ Assert(gt, "No empty arrays here in EmitFastAsciiArrayJoin"); __ 3667 src/arm/full-codegen-arm.cc __ bind(&loop); __ 3668 src/arm/full-codegen-arm.cc __ ldr(string, MemOperand(element, kPointerSize, PostIndex)); __ 3669 src/arm/full-codegen-arm.cc __ JumpIfSmi(string, &bailout); __ 3670 src/arm/full-codegen-arm.cc __ ldr(scratch1, FieldMemOperand(string, HeapObject::kMapOffset)); __ 3671 src/arm/full-codegen-arm.cc __ ldrb(scratch1, FieldMemOperand(scratch1, Map::kInstanceTypeOffset)); __ 3672 src/arm/full-codegen-arm.cc __ JumpIfInstanceTypeIsNotSequentialAscii(scratch1, scratch2, &bailout); __ 3673 src/arm/full-codegen-arm.cc __ ldr(scratch1, FieldMemOperand(string, SeqAsciiString::kLengthOffset)); __ 3674 src/arm/full-codegen-arm.cc __ add(string_length, string_length, Operand(scratch1), SetCC); __ 3675 src/arm/full-codegen-arm.cc __ b(vs, &bailout); __ 3676 src/arm/full-codegen-arm.cc __ cmp(element, elements_end); __ 3677 src/arm/full-codegen-arm.cc __ b(lt, &loop); __ 3680 src/arm/full-codegen-arm.cc __ cmp(array_length, Operand(1)); __ 3681 src/arm/full-codegen-arm.cc __ b(ne, ¬_size_one_array); __ 3682 src/arm/full-codegen-arm.cc __ ldr(r0, FieldMemOperand(elements, FixedArray::kHeaderSize)); __ 3683 src/arm/full-codegen-arm.cc __ b(&done); __ 3685 src/arm/full-codegen-arm.cc __ bind(¬_size_one_array); __ 3694 src/arm/full-codegen-arm.cc __ JumpIfSmi(separator, &bailout); __ 3695 src/arm/full-codegen-arm.cc __ ldr(scratch1, FieldMemOperand(separator, HeapObject::kMapOffset)); __ 3696 src/arm/full-codegen-arm.cc __ ldrb(scratch1, FieldMemOperand(scratch1, Map::kInstanceTypeOffset)); __ 3697 src/arm/full-codegen-arm.cc __ JumpIfInstanceTypeIsNotSequentialAscii(scratch1, scratch2, &bailout); __ 3702 src/arm/full-codegen-arm.cc __ ldr(scratch1, FieldMemOperand(separator, SeqAsciiString::kLengthOffset)); __ 3703 src/arm/full-codegen-arm.cc __ sub(string_length, string_length, Operand(scratch1)); __ 3704 src/arm/full-codegen-arm.cc __ smull(scratch2, ip, array_length, scratch1); __ 3707 src/arm/full-codegen-arm.cc __ cmp(ip, Operand(0)); __ 3708 src/arm/full-codegen-arm.cc __ b(ne, &bailout); __ 3709 src/arm/full-codegen-arm.cc __ tst(scratch2, Operand(0x80000000)); __ 3710 src/arm/full-codegen-arm.cc __ b(ne, &bailout); __ 3711 src/arm/full-codegen-arm.cc __ add(string_length, string_length, Operand(scratch2), SetCC); __ 3712 src/arm/full-codegen-arm.cc __ b(vs, &bailout); __ 3713 src/arm/full-codegen-arm.cc __ SmiUntag(string_length); __ 3717 src/arm/full-codegen-arm.cc __ add(element, __ 3726 src/arm/full-codegen-arm.cc __ AllocateAsciiString(result, __ 3735 src/arm/full-codegen-arm.cc __ add(elements_end, element, Operand(array_length, LSL, kPointerSizeLog2)); __ 3738 src/arm/full-codegen-arm.cc __ add(result_pos, __ 3743 src/arm/full-codegen-arm.cc __ ldr(scratch1, FieldMemOperand(separator, SeqAsciiString::kLengthOffset)); __ 3744 src/arm/full-codegen-arm.cc __ cmp(scratch1, Operand(Smi::FromInt(1))); __ 3745 src/arm/full-codegen-arm.cc __ b(eq, &one_char_separator); __ 3746 src/arm/full-codegen-arm.cc __ b(gt, &long_separator); __ 3749 src/arm/full-codegen-arm.cc __ bind(&empty_separator_loop); __ 3756 src/arm/full-codegen-arm.cc __ ldr(string, MemOperand(element, kPointerSize, PostIndex)); __ 3757 src/arm/full-codegen-arm.cc __ ldr(string_length, FieldMemOperand(string, String::kLengthOffset)); __ 3758 src/arm/full-codegen-arm.cc __ SmiUntag(string_length); __ 3759 src/arm/full-codegen-arm.cc __ add(string, string, Operand(SeqAsciiString::kHeaderSize - kHeapObjectTag)); __ 3760 src/arm/full-codegen-arm.cc __ CopyBytes(string, result_pos, string_length, scratch1); __ 3761 src/arm/full-codegen-arm.cc __ cmp(element, elements_end); __ 3762 src/arm/full-codegen-arm.cc __ b(lt, &empty_separator_loop); // End while (element < elements_end). __ 3764 src/arm/full-codegen-arm.cc __ b(&done); __ 3767 src/arm/full-codegen-arm.cc __ bind(&one_char_separator); __ 3769 src/arm/full-codegen-arm.cc __ ldrb(separator, FieldMemOperand(separator, SeqAsciiString::kHeaderSize)); __ 3772 src/arm/full-codegen-arm.cc __ jmp(&one_char_separator_loop_entry); __ 3774 src/arm/full-codegen-arm.cc __ bind(&one_char_separator_loop); __ 3782 src/arm/full-codegen-arm.cc __ strb(separator, MemOperand(result_pos, 1, PostIndex)); __ 3785 src/arm/full-codegen-arm.cc __ bind(&one_char_separator_loop_entry); __ 3786 src/arm/full-codegen-arm.cc __ ldr(string, MemOperand(element, kPointerSize, PostIndex)); __ 3787 src/arm/full-codegen-arm.cc __ ldr(string_length, FieldMemOperand(string, String::kLengthOffset)); __ 3788 src/arm/full-codegen-arm.cc __ SmiUntag(string_length); __ 3789 src/arm/full-codegen-arm.cc __ add(string, string, Operand(SeqAsciiString::kHeaderSize - kHeapObjectTag)); __ 3790 src/arm/full-codegen-arm.cc __ CopyBytes(string, result_pos, string_length, scratch1); __ 3791 src/arm/full-codegen-arm.cc __ cmp(element, elements_end); __ 3792 src/arm/full-codegen-arm.cc __ b(lt, &one_char_separator_loop); // End while (element < elements_end). __ 3794 src/arm/full-codegen-arm.cc __ b(&done); __ 3798 src/arm/full-codegen-arm.cc __ bind(&long_separator_loop); __ 3806 src/arm/full-codegen-arm.cc __ ldr(string_length, FieldMemOperand(separator, String::kLengthOffset)); __ 3807 src/arm/full-codegen-arm.cc __ SmiUntag(string_length); __ 3808 src/arm/full-codegen-arm.cc __ add(string, __ 3811 src/arm/full-codegen-arm.cc __ CopyBytes(string, result_pos, string_length, scratch1); __ 3813 src/arm/full-codegen-arm.cc __ bind(&long_separator); __ 3814 src/arm/full-codegen-arm.cc __ ldr(string, MemOperand(element, kPointerSize, PostIndex)); __ 3815 src/arm/full-codegen-arm.cc __ ldr(string_length, FieldMemOperand(string, String::kLengthOffset)); __ 3816 src/arm/full-codegen-arm.cc __ SmiUntag(string_length); __ 3817 src/arm/full-codegen-arm.cc __ add(string, string, Operand(SeqAsciiString::kHeaderSize - kHeapObjectTag)); __ 3818 src/arm/full-codegen-arm.cc __ CopyBytes(string, result_pos, string_length, scratch1); __ 3819 src/arm/full-codegen-arm.cc __ cmp(element, elements_end); __ 3820 src/arm/full-codegen-arm.cc __ b(lt, &long_separator_loop); // End while (element < elements_end). __ 3822 src/arm/full-codegen-arm.cc __ b(&done); __ 3824 src/arm/full-codegen-arm.cc __ bind(&bailout); __ 3825 src/arm/full-codegen-arm.cc __ LoadRoot(r0, Heap::kUndefinedValueRootIndex); __ 3826 src/arm/full-codegen-arm.cc __ bind(&done); __ 3844 src/arm/full-codegen-arm.cc __ ldr(r0, GlobalObjectOperand()); __ 3845 src/arm/full-codegen-arm.cc __ ldr(r0, FieldMemOperand(r0, GlobalObject::kBuiltinsOffset)); __ 3846 src/arm/full-codegen-arm.cc __ push(r0); __ 3857 src/arm/full-codegen-arm.cc __ mov(r2, Operand(expr->name())); __ 3863 src/arm/full-codegen-arm.cc __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 3866 src/arm/full-codegen-arm.cc __ CallRuntime(expr->function(), arg_count); __ 3884 src/arm/full-codegen-arm.cc __ mov(r1, Operand(Smi::FromInt(strict_mode_flag))); __ 3885 src/arm/full-codegen-arm.cc __ push(r1); __ 3886 src/arm/full-codegen-arm.cc __ InvokeBuiltin(Builtins::DELETE, CALL_FUNCTION); __ 3894 src/arm/full-codegen-arm.cc __ ldr(r2, GlobalObjectOperand()); __ 3895 src/arm/full-codegen-arm.cc __ mov(r1, Operand(var->name())); __ 3896 src/arm/full-codegen-arm.cc __ mov(r0, Operand(Smi::FromInt(kNonStrictMode))); __ 3897 src/arm/full-codegen-arm.cc __ Push(r2, r1, r0); __ 3898 src/arm/full-codegen-arm.cc __ InvokeBuiltin(Builtins::DELETE, CALL_FUNCTION); __ 3907 src/arm/full-codegen-arm.cc __ push(context_register()); __ 3908 src/arm/full-codegen-arm.cc __ mov(r2, Operand(var->name())); __ 3909 src/arm/full-codegen-arm.cc __ push(r2); __ 3910 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kDeleteContextSlot, 2); __ 3954 src/arm/full-codegen-arm.cc __ bind(&materialize_true); __ 3956 src/arm/full-codegen-arm.cc __ LoadRoot(r0, Heap::kTrueValueRootIndex); __ 3957 src/arm/full-codegen-arm.cc if (context()->IsStackValue()) __ push(r0); __ 3958 src/arm/full-codegen-arm.cc __ jmp(&done); __ 3959 src/arm/full-codegen-arm.cc __ bind(&materialize_false); __ 3961 src/arm/full-codegen-arm.cc __ LoadRoot(r0, Heap::kFalseValueRootIndex); __ 3962 src/arm/full-codegen-arm.cc if (context()->IsStackValue()) __ push(r0); __ 3963 src/arm/full-codegen-arm.cc __ bind(&done); __ 3973 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kTypeof, 1); __ 3982 src/arm/full-codegen-arm.cc __ JumpIfSmi(result_register(), &no_conversion); __ 3984 src/arm/full-codegen-arm.cc __ CallStub(&convert_stub); __ 3985 src/arm/full-codegen-arm.cc __ bind(&no_conversion); __ 4052 src/arm/full-codegen-arm.cc __ mov(ip, Operand(Smi::FromInt(0))); __ 4053 src/arm/full-codegen-arm.cc __ push(ip); __ 4058 src/arm/full-codegen-arm.cc __ push(r0); __ 4063 src/arm/full-codegen-arm.cc __ ldr(r1, MemOperand(sp, 0)); __ 4064 src/arm/full-codegen-arm.cc __ push(r0); __ 4079 src/arm/full-codegen-arm.cc __ JumpIfSmi(r0, &no_conversion); __ 4081 src/arm/full-codegen-arm.cc __ CallStub(&convert_stub); __ 4082 src/arm/full-codegen-arm.cc __ bind(&no_conversion); __ 4092 src/arm/full-codegen-arm.cc __ push(r0); __ 4095 src/arm/full-codegen-arm.cc __ str(r0, MemOperand(sp, kPointerSize)); __ 4098 src/arm/full-codegen-arm.cc __ str(r0, MemOperand(sp, 2 * kPointerSize)); __ 4111 src/arm/full-codegen-arm.cc __ add(r0, r0, Operand(Smi::FromInt(count_value)), SetCC); __ 4112 src/arm/full-codegen-arm.cc __ b(vs, &stub_call); __ 4117 src/arm/full-codegen-arm.cc __ bind(&stub_call); __ 4119 src/arm/full-codegen-arm.cc __ sub(r0, r0, Operand(Smi::FromInt(count_value))); __ 4121 src/arm/full-codegen-arm.cc __ mov(r1, Operand(Smi::FromInt(count_value))); __ 4129 src/arm/full-codegen-arm.cc __ bind(&done); __ 4154 src/arm/full-codegen-arm.cc __ mov(r2, Operand(prop->key()->AsLiteral()->handle())); __ 4155 src/arm/full-codegen-arm.cc __ pop(r1); __ 4171 src/arm/full-codegen-arm.cc __ pop(r1); // Key. __ 4172 src/arm/full-codegen-arm.cc __ pop(r2); // Receiver. __ 4197 src/arm/full-codegen-arm.cc __ ldr(r0, GlobalObjectOperand()); __ 4198 src/arm/full-codegen-arm.cc __ mov(r2, Operand(proxy->name())); __ 4212 src/arm/full-codegen-arm.cc __ bind(&slow); __ 4213 src/arm/full-codegen-arm.cc __ mov(r0, Operand(proxy->name())); __ 4214 src/arm/full-codegen-arm.cc __ Push(cp, r0); __ 4215 src/arm/full-codegen-arm.cc __ CallRuntime(Runtime::kLoadContextSlotNoReferenceError, 2); __ 4217 src/arm/full-codegen-arm.cc __ bind(&done); __ 4243 src/arm/full-codegen-arm.cc __ JumpIfSmi(r0, if_true); __ 4244 src/arm/full-codegen-arm.cc __ ldr(r0, FieldMemOperand(r0, HeapObject::kMapOffset)); __ 4245 src/arm/full-codegen-arm.cc __ LoadRoot(ip, Heap::kHeapNumberMapRootIndex); __ 4246 src/arm/full-codegen-arm.cc __ cmp(r0, ip); __ 4249 src/arm/full-codegen-arm.cc __ JumpIfSmi(r0, if_false); __ 4251 src/arm/full-codegen-arm.cc __ CompareObjectType(r0, r0, r1, FIRST_NONSTRING_TYPE); __ 4252 src/arm/full-codegen-arm.cc __ b(ge, if_false); __ 4253 src/arm/full-codegen-arm.cc __ ldrb(r1, FieldMemOperand(r0, Map::kBitFieldOffset)); __ 4254 src/arm/full-codegen-arm.cc __ tst(r1, Operand(1 << Map::kIsUndetectable)); __ 4257 src/arm/full-codegen-arm.cc __ CompareRoot(r0, Heap::kTrueValueRootIndex); __ 4258 src/arm/full-codegen-arm.cc __ b(eq, if_true); __ 4259 src/arm/full-codegen-arm.cc __ CompareRoot(r0, Heap::kFalseValueRootIndex); __ 4263 src/arm/full-codegen-arm.cc __ CompareRoot(r0, Heap::kNullValueRootIndex); __ 4266 src/arm/full-codegen-arm.cc __ CompareRoot(r0, Heap::kUndefinedValueRootIndex); __ 4267 src/arm/full-codegen-arm.cc __ b(eq, if_true); __ 4268 src/arm/full-codegen-arm.cc __ JumpIfSmi(r0, if_false); __ 4270 src/arm/full-codegen-arm.cc __ ldr(r0, FieldMemOperand(r0, HeapObject::kMapOffset)); __ 4271 src/arm/full-codegen-arm.cc __ ldrb(r1, FieldMemOperand(r0, Map::kBitFieldOffset)); __ 4272 src/arm/full-codegen-arm.cc __ tst(r1, Operand(1 << Map::kIsUndetectable)); __ 4276 src/arm/full-codegen-arm.cc __ JumpIfSmi(r0, if_false); __ 4278 src/arm/full-codegen-arm.cc __ CompareObjectType(r0, r0, r1, JS_FUNCTION_TYPE); __ 4279 src/arm/full-codegen-arm.cc __ b(eq, if_true); __ 4280 src/arm/full-codegen-arm.cc __ cmp(r1, Operand(JS_FUNCTION_PROXY_TYPE)); __ 4283 src/arm/full-codegen-arm.cc __ JumpIfSmi(r0, if_false); __ 4285 src/arm/full-codegen-arm.cc __ CompareRoot(r0, Heap::kNullValueRootIndex); __ 4286 src/arm/full-codegen-arm.cc __ b(eq, if_true); __ 4289 src/arm/full-codegen-arm.cc __ CompareObjectType(r0, r0, r1, FIRST_NONCALLABLE_SPEC_OBJECT_TYPE); __ 4290 src/arm/full-codegen-arm.cc __ b(lt, if_false); __ 4291 src/arm/full-codegen-arm.cc __ CompareInstanceType(r0, r1, LAST_NONCALLABLE_SPEC_OBJECT_TYPE); __ 4292 src/arm/full-codegen-arm.cc __ b(gt, if_false); __ 4294 src/arm/full-codegen-arm.cc __ ldrb(r1, FieldMemOperand(r0, Map::kBitFieldOffset)); __ 4295 src/arm/full-codegen-arm.cc __ tst(r1, Operand(1 << Map::kIsUndetectable)); __ 4298 src/arm/full-codegen-arm.cc if (if_false != fall_through) __ jmp(if_false); __ 4326 src/arm/full-codegen-arm.cc __ InvokeBuiltin(Builtins::IN, CALL_FUNCTION); __ 4328 src/arm/full-codegen-arm.cc __ LoadRoot(ip, Heap::kTrueValueRootIndex); __ 4329 src/arm/full-codegen-arm.cc __ cmp(r0, ip); __ 4336 src/arm/full-codegen-arm.cc __ CallStub(&stub); __ 4339 src/arm/full-codegen-arm.cc __ tst(r0, r0); __ 4369 src/arm/full-codegen-arm.cc __ pop(r1); __ 4375 src/arm/full-codegen-arm.cc __ orr(r2, r0, Operand(r1)); __ 4377 src/arm/full-codegen-arm.cc __ cmp(r1, r0); __ 4379 src/arm/full-codegen-arm.cc __ bind(&slow_case); __ 4388 src/arm/full-codegen-arm.cc __ cmp(r0, Operand(0)); __ 4414 src/arm/full-codegen-arm.cc __ LoadRoot(r1, nil_value); __ 4415 src/arm/full-codegen-arm.cc __ cmp(r0, r1); __ 4422 src/arm/full-codegen-arm.cc __ b(eq, if_true); __ 4423 src/arm/full-codegen-arm.cc __ LoadRoot(r1, other_nil_value); __ 4424 src/arm/full-codegen-arm.cc __ cmp(r0, r1); __ 4425 src/arm/full-codegen-arm.cc __ b(eq, if_true); __ 4426 src/arm/full-codegen-arm.cc __ JumpIfSmi(r0, if_false); __ 4428 src/arm/full-codegen-arm.cc __ ldr(r1, FieldMemOperand(r0, HeapObject::kMapOffset)); __ 4429 src/arm/full-codegen-arm.cc __ ldrb(r1, FieldMemOperand(r1, Map::kBitFieldOffset)); __ 4430 src/arm/full-codegen-arm.cc __ and_(r1, r1, Operand(1 << Map::kIsUndetectable)); __ 4431 src/arm/full-codegen-arm.cc __ cmp(r1, Operand(1 << Map::kIsUndetectable)); __ 4439 src/arm/full-codegen-arm.cc __ ldr(r0, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); __ 4456 src/arm/full-codegen-arm.cc __ str(value, MemOperand(fp, frame_offset)); __ 4461 src/arm/full-codegen-arm.cc __ ldr(dst, ContextOperand(cp, context_index)); __ 4473 src/arm/full-codegen-arm.cc __ mov(ip, Operand(Smi::FromInt(0))); __ 4478 src/arm/full-codegen-arm.cc __ ldr(ip, ContextOperand(cp, Context::CLOSURE_INDEX)); __ 4481 src/arm/full-codegen-arm.cc __ ldr(ip, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); __ 4483 src/arm/full-codegen-arm.cc __ push(ip); __ 4493 src/arm/full-codegen-arm.cc __ push(result_register()); __ 4495 src/arm/full-codegen-arm.cc __ sub(r1, lr, Operand(masm_->CodeObject())); __ 4498 src/arm/full-codegen-arm.cc __ add(r1, r1, Operand(r1)); // Convert to smi. __ 4501 src/arm/full-codegen-arm.cc __ push(r1); __ 4506 src/arm/full-codegen-arm.cc __ mov(ip, Operand(pending_message_obj)); __ 4507 src/arm/full-codegen-arm.cc __ ldr(r1, MemOperand(ip)); __ 4508 src/arm/full-codegen-arm.cc __ push(r1); __ 4512 src/arm/full-codegen-arm.cc __ mov(ip, Operand(has_pending_message)); __ 4513 src/arm/full-codegen-arm.cc __ ldr(r1, MemOperand(ip)); __ 4514 src/arm/full-codegen-arm.cc __ SmiTag(r1); __ 4515 src/arm/full-codegen-arm.cc __ push(r1); __ 4519 src/arm/full-codegen-arm.cc __ mov(ip, Operand(pending_message_script)); __ 4520 src/arm/full-codegen-arm.cc __ ldr(r1, MemOperand(ip)); __ 4521 src/arm/full-codegen-arm.cc __ push(r1); __ 4528 src/arm/full-codegen-arm.cc __ pop(r1); __ 4531 src/arm/full-codegen-arm.cc __ mov(ip, Operand(pending_message_script)); __ 4532 src/arm/full-codegen-arm.cc __ str(r1, MemOperand(ip)); __ 4534 src/arm/full-codegen-arm.cc __ pop(r1); __ 4535 src/arm/full-codegen-arm.cc __ SmiUntag(r1); __ 4538 src/arm/full-codegen-arm.cc __ mov(ip, Operand(has_pending_message)); __ 4539 src/arm/full-codegen-arm.cc __ str(r1, MemOperand(ip)); __ 4541 src/arm/full-codegen-arm.cc __ pop(r1); __ 4544 src/arm/full-codegen-arm.cc __ mov(ip, Operand(pending_message_obj)); __ 4545 src/arm/full-codegen-arm.cc __ str(r1, MemOperand(ip)); __ 4548 src/arm/full-codegen-arm.cc __ pop(r1); __ 4551 src/arm/full-codegen-arm.cc __ pop(result_register()); __ 4553 src/arm/full-codegen-arm.cc __ mov(r1, Operand(r1, ASR, 1)); // Un-smi-tag value. __ 4554 src/arm/full-codegen-arm.cc __ add(pc, r1, Operand(masm_->CodeObject())); __ 4571 src/arm/full-codegen-arm.cc __ Drop(*stack_depth); // Down to the handler block. __ 4574 src/arm/full-codegen-arm.cc __ ldr(cp, MemOperand(sp, StackHandlerConstants::kContextOffset)); __ 4575 src/arm/full-codegen-arm.cc __ str(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 4577 src/arm/full-codegen-arm.cc __ PopTryHandler(); __ 4578 src/arm/full-codegen-arm.cc __ bl(finally_entry_); __ 56 src/arm/ic-arm.cc __ cmp(type, Operand(JS_GLOBAL_OBJECT_TYPE)); __ 57 src/arm/ic-arm.cc __ b(eq, global_object); __ 58 src/arm/ic-arm.cc __ cmp(type, Operand(JS_BUILTINS_OBJECT_TYPE)); __ 59 src/arm/ic-arm.cc __ b(eq, global_object); __ 60 src/arm/ic-arm.cc __ cmp(type, Operand(JS_GLOBAL_PROXY_TYPE)); __ 61 src/arm/ic-arm.cc __ b(eq, global_object); __ 82 src/arm/ic-arm.cc __ JumpIfSmi(receiver, miss); __ 85 src/arm/ic-arm.cc __ CompareObjectType(receiver, t0, t1, FIRST_SPEC_OBJECT_TYPE); __ 86 src/arm/ic-arm.cc __ b(lt, miss); __ 94 src/arm/ic-arm.cc __ ldrb(t1, FieldMemOperand(t0, Map::kBitFieldOffset)); __ 95 src/arm/ic-arm.cc __ tst(t1, Operand((1 << Map::kIsAccessCheckNeeded) | __ 97 src/arm/ic-arm.cc __ b(ne, miss); __ 99 src/arm/ic-arm.cc __ ldr(elements, FieldMemOperand(receiver, JSObject::kPropertiesOffset)); __ 100 src/arm/ic-arm.cc __ ldr(t1, FieldMemOperand(elements, HeapObject::kMapOffset)); __ 101 src/arm/ic-arm.cc __ LoadRoot(ip, Heap::kHashTableMapRootIndex); __ 102 src/arm/ic-arm.cc __ cmp(t1, ip); __ 103 src/arm/ic-arm.cc __ b(ne, miss); __ 144 src/arm/ic-arm.cc __ bind(&done); // scratch2 == elements + 4 * index __ 148 src/arm/ic-arm.cc __ ldr(scratch1, FieldMemOperand(scratch2, kDetailsOffset)); __ 149 src/arm/ic-arm.cc __ tst(scratch1, Operand(PropertyDetails::TypeField::kMask << kSmiTagSize)); __ 150 src/arm/ic-arm.cc __ b(ne, miss); __ 153 src/arm/ic-arm.cc __ ldr(result, __ 193 src/arm/ic-arm.cc __ bind(&done); // scratch2 == elements + 4 * index __ 200 src/arm/ic-arm.cc __ ldr(scratch1, FieldMemOperand(scratch2, kDetailsOffset)); __ 201 src/arm/ic-arm.cc __ tst(scratch1, Operand(kTypeAndReadOnlyMask)); __ 202 src/arm/ic-arm.cc __ b(ne, miss); __ 206 src/arm/ic-arm.cc __ add(scratch2, scratch2, Operand(kValueOffset - kHeapObjectTag)); __ 207 src/arm/ic-arm.cc __ str(value, MemOperand(scratch2)); __ 210 src/arm/ic-arm.cc __ mov(scratch1, value); __ 211 src/arm/ic-arm.cc __ RecordWrite( __ 226 src/arm/ic-arm.cc __ bind(&miss); __ 243 src/arm/ic-arm.cc __ bind(&miss); __ 258 src/arm/ic-arm.cc __ bind(&miss); __ 272 src/arm/ic-arm.cc __ JumpIfSmi(receiver, slow); __ 274 src/arm/ic-arm.cc __ ldr(map, FieldMemOperand(receiver, HeapObject::kMapOffset)); __ 276 src/arm/ic-arm.cc __ ldrb(scratch, FieldMemOperand(map, Map::kBitFieldOffset)); __ 277 src/arm/ic-arm.cc __ tst(scratch, __ 279 src/arm/ic-arm.cc __ b(ne, slow); __ 285 src/arm/ic-arm.cc __ ldrb(scratch, FieldMemOperand(map, Map::kInstanceTypeOffset)); __ 286 src/arm/ic-arm.cc __ cmp(scratch, Operand(JS_OBJECT_TYPE)); __ 287 src/arm/ic-arm.cc __ b(lt, slow); __ 324 src/arm/ic-arm.cc __ ldr(elements, FieldMemOperand(receiver, JSObject::kElementsOffset)); __ 327 src/arm/ic-arm.cc __ ldr(scratch1, FieldMemOperand(elements, HeapObject::kMapOffset)); __ 328 src/arm/ic-arm.cc __ LoadRoot(ip, Heap::kFixedArrayMapRootIndex); __ 329 src/arm/ic-arm.cc __ cmp(scratch1, ip); __ 330 src/arm/ic-arm.cc __ b(ne, not_fast_array); __ 332 src/arm/ic-arm.cc __ AssertFastElements(elements); __ 335 src/arm/ic-arm.cc __ ldr(scratch1, FieldMemOperand(elements, FixedArray::kLengthOffset)); __ 336 src/arm/ic-arm.cc __ cmp(key, Operand(scratch1)); __ 337 src/arm/ic-arm.cc __ b(hs, out_of_range); __ 339 src/arm/ic-arm.cc __ add(scratch1, elements, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 342 src/arm/ic-arm.cc __ ldr(scratch2, __ 344 src/arm/ic-arm.cc __ LoadRoot(ip, Heap::kTheHoleValueRootIndex); __ 345 src/arm/ic-arm.cc __ cmp(scratch2, ip); __ 348 src/arm/ic-arm.cc __ b(eq, out_of_range); __ 349 src/arm/ic-arm.cc __ mov(result, scratch2); __ 363 src/arm/ic-arm.cc __ CompareObjectType(key, map, hash, FIRST_NONSTRING_TYPE); __ 364 src/arm/ic-arm.cc __ b(ge, not_symbol); __ 367 src/arm/ic-arm.cc __ ldr(hash, FieldMemOperand(key, String::kHashFieldOffset)); __ 368 src/arm/ic-arm.cc __ tst(hash, Operand(String::kContainsCachedArrayIndexMask)); __ 369 src/arm/ic-arm.cc __ b(eq, index_string); __ 373 src/arm/ic-arm.cc __ ldrb(hash, FieldMemOperand(map, Map::kInstanceTypeOffset)); __ 375 src/arm/ic-arm.cc __ tst(hash, Operand(kIsSymbolMask)); __ 376 src/arm/ic-arm.cc __ b(eq, not_symbol); __ 410 src/arm/ic-arm.cc __ JumpIfSmi(r1, &number); __ 411 src/arm/ic-arm.cc __ CompareObjectType(r1, r3, r3, HEAP_NUMBER_TYPE); __ 412 src/arm/ic-arm.cc __ b(ne, &non_number); __ 413 src/arm/ic-arm.cc __ bind(&number); __ 416 src/arm/ic-arm.cc __ b(&probe); __ 419 src/arm/ic-arm.cc __ bind(&non_number); __ 420 src/arm/ic-arm.cc __ cmp(r3, Operand(FIRST_NONSTRING_TYPE)); __ 421 src/arm/ic-arm.cc __ b(hs, &non_string); __ 424 src/arm/ic-arm.cc __ b(&probe); __ 427 src/arm/ic-arm.cc __ bind(&non_string); __ 428 src/arm/ic-arm.cc __ LoadRoot(ip, Heap::kTrueValueRootIndex); __ 429 src/arm/ic-arm.cc __ cmp(r1, ip); __ 430 src/arm/ic-arm.cc __ b(eq, &boolean); __ 431 src/arm/ic-arm.cc __ LoadRoot(ip, Heap::kFalseValueRootIndex); __ 432 src/arm/ic-arm.cc __ cmp(r1, ip); __ 433 src/arm/ic-arm.cc __ b(ne, &miss); __ 434 src/arm/ic-arm.cc __ bind(&boolean); __ 439 src/arm/ic-arm.cc __ bind(&probe); __ 443 src/arm/ic-arm.cc __ bind(&miss); __ 454 src/arm/ic-arm.cc __ JumpIfSmi(r1, miss); __ 457 src/arm/ic-arm.cc __ CompareObjectType(r1, scratch, scratch, JS_FUNCTION_TYPE); __ 458 src/arm/ic-arm.cc __ b(ne, miss); __ 462 src/arm/ic-arm.cc __ InvokeFunction(r1, actual, JUMP_FUNCTION, __ 475 src/arm/ic-arm.cc __ ldr(r1, MemOperand(sp, argc * kPointerSize)); __ 485 src/arm/ic-arm.cc __ bind(&miss); __ 500 src/arm/ic-arm.cc __ IncrementCounter(isolate->counters()->call_miss(), 1, r3, r4); __ 502 src/arm/ic-arm.cc __ IncrementCounter(isolate->counters()->keyed_call_miss(), 1, r3, r4); __ 506 src/arm/ic-arm.cc __ ldr(r3, MemOperand(sp, argc * kPointerSize)); __ 512 src/arm/ic-arm.cc __ Push(r3, r2); __ 515 src/arm/ic-arm.cc __ mov(r0, Operand(2)); __ 516 src/arm/ic-arm.cc __ mov(r1, Operand(ExternalReference(IC_Utility(id), isolate))); __ 519 src/arm/ic-arm.cc __ CallStub(&stub); __ 522 src/arm/ic-arm.cc __ mov(r1, Operand(r0)); __ 529 src/arm/ic-arm.cc __ ldr(r2, MemOperand(sp, argc * kPointerSize)); // receiver __ 530 src/arm/ic-arm.cc __ JumpIfSmi(r2, &invoke); __ 531 src/arm/ic-arm.cc __ CompareObjectType(r2, r3, r3, JS_GLOBAL_OBJECT_TYPE); __ 532 src/arm/ic-arm.cc __ b(eq, &global); __ 533 src/arm/ic-arm.cc __ cmp(r3, Operand(JS_BUILTINS_OBJECT_TYPE)); __ 534 src/arm/ic-arm.cc __ b(ne, &invoke); __ 537 src/arm/ic-arm.cc __ bind(&global); __ 538 src/arm/ic-arm.cc __ ldr(r2, FieldMemOperand(r2, GlobalObject::kGlobalReceiverOffset)); __ 539 src/arm/ic-arm.cc __ str(r2, MemOperand(sp, argc * kPointerSize)); __ 540 src/arm/ic-arm.cc __ bind(&invoke); __ 548 src/arm/ic-arm.cc __ InvokeFunction(r1, __ 565 src/arm/ic-arm.cc __ ldr(r1, MemOperand(sp, argc * kPointerSize)); __ 578 src/arm/ic-arm.cc __ ldr(r1, MemOperand(sp, argc * kPointerSize)); __ 585 src/arm/ic-arm.cc __ JumpIfNotSmi(r2, &check_string); __ 586 src/arm/ic-arm.cc __ bind(&index_smi); __ 596 src/arm/ic-arm.cc __ IncrementCounter(counters->keyed_call_generic_smi_fast(), 1, r0, r3); __ 598 src/arm/ic-arm.cc __ bind(&do_call); __ 604 src/arm/ic-arm.cc __ bind(&check_number_dictionary); __ 609 src/arm/ic-arm.cc __ LoadRoot(ip, Heap::kHashTableMapRootIndex); __ 610 src/arm/ic-arm.cc __ cmp(r3, ip); __ 611 src/arm/ic-arm.cc __ b(ne, &slow_load); __ 612 src/arm/ic-arm.cc __ mov(r0, Operand(r2, ASR, kSmiTagSize)); __ 614 src/arm/ic-arm.cc __ LoadFromNumberDictionary(&slow_load, r4, r2, r1, r0, r3, r5); __ 615 src/arm/ic-arm.cc __ IncrementCounter(counters->keyed_call_generic_smi_dict(), 1, r0, r3); __ 616 src/arm/ic-arm.cc __ jmp(&do_call); __ 618 src/arm/ic-arm.cc __ bind(&slow_load); __ 621 src/arm/ic-arm.cc __ IncrementCounter(counters->keyed_call_generic_slow_load(), 1, r0, r3); __ 624 src/arm/ic-arm.cc __ push(r2); // save the key __ 625 src/arm/ic-arm.cc __ Push(r1, r2); // pass the receiver and the key __ 626 src/arm/ic-arm.cc __ CallRuntime(Runtime::kKeyedGetProperty, 2); __ 627 src/arm/ic-arm.cc __ pop(r2); // restore the key __ 629 src/arm/ic-arm.cc __ mov(r1, r0); __ 630 src/arm/ic-arm.cc __ jmp(&do_call); __ 632 src/arm/ic-arm.cc __ bind(&check_string); __ 642 src/arm/ic-arm.cc __ ldr(r0, FieldMemOperand(r1, JSObject::kPropertiesOffset)); __ 643 src/arm/ic-arm.cc __ ldr(r3, FieldMemOperand(r0, HeapObject::kMapOffset)); __ 644 src/arm/ic-arm.cc __ LoadRoot(ip, Heap::kHashTableMapRootIndex); __ 645 src/arm/ic-arm.cc __ cmp(r3, ip); __ 646 src/arm/ic-arm.cc __ b(ne, &lookup_monomorphic_cache); __ 649 src/arm/ic-arm.cc __ IncrementCounter(counters->keyed_call_generic_lookup_dict(), 1, r0, r3); __ 650 src/arm/ic-arm.cc __ jmp(&do_call); __ 652 src/arm/ic-arm.cc __ bind(&lookup_monomorphic_cache); __ 653 src/arm/ic-arm.cc __ IncrementCounter(counters->keyed_call_generic_lookup_cache(), 1, r0, r3); __ 660 src/arm/ic-arm.cc __ bind(&slow_call); __ 667 src/arm/ic-arm.cc __ IncrementCounter(counters->keyed_call_generic_slow(), 1, r0, r3); __ 670 src/arm/ic-arm.cc __ bind(&index_string); __ 671 src/arm/ic-arm.cc __ IndexFromHash(r3, r2); __ 673 src/arm/ic-arm.cc __ jmp(&index_smi); __ 685 src/arm/ic-arm.cc __ JumpIfSmi(r2, &miss); __ 686 src/arm/ic-arm.cc __ IsObjectJSStringType(r2, r0, &miss); __ 689 src/arm/ic-arm.cc __ bind(&miss); __ 729 src/arm/ic-arm.cc __ Ret(); __ 732 src/arm/ic-arm.cc __ bind(&miss); __ 746 src/arm/ic-arm.cc __ IncrementCounter(isolate->counters()->load_miss(), 1, r3, r4); __ 748 src/arm/ic-arm.cc __ mov(r3, r0); __ 749 src/arm/ic-arm.cc __ Push(r3, r2); __ 754 src/arm/ic-arm.cc __ TailCallExternalReference(ref, 2, 1); __ 771 src/arm/ic-arm.cc __ JumpIfSmi(object, slow_case); __ 773 src/arm/ic-arm.cc __ CompareObjectType(object, scratch1, scratch2, FIRST_JS_RECEIVER_TYPE); __ 774 src/arm/ic-arm.cc __ b(lt, slow_case); __ 777 src/arm/ic-arm.cc __ tst(key, Operand(0x80000001)); __ 778 src/arm/ic-arm.cc __ b(ne, slow_case); __ 782 src/arm/ic-arm.cc __ ldr(scratch1, FieldMemOperand(object, JSObject::kElementsOffset)); __ 783 src/arm/ic-arm.cc __ CheckMap(scratch1, scratch2, arguments_map, slow_case, DONT_DO_SMI_CHECK); __ 787 src/arm/ic-arm.cc __ ldr(scratch2, FieldMemOperand(scratch1, FixedArray::kLengthOffset)); __ 788 src/arm/ic-arm.cc __ sub(scratch2, scratch2, Operand(Smi::FromInt(2))); __ 789 src/arm/ic-arm.cc __ cmp(key, Operand(scratch2)); __ 790 src/arm/ic-arm.cc __ b(cs, unmapped_case); __ 796 src/arm/ic-arm.cc __ mov(scratch3, Operand(kPointerSize >> 1)); __ 797 src/arm/ic-arm.cc __ mul(scratch3, key, scratch3); __ 798 src/arm/ic-arm.cc __ add(scratch3, scratch3, Operand(kOffset)); __ 800 src/arm/ic-arm.cc __ ldr(scratch2, MemOperand(scratch1, scratch3)); __ 801 src/arm/ic-arm.cc __ LoadRoot(scratch3, Heap::kTheHoleValueRootIndex); __ 802 src/arm/ic-arm.cc __ cmp(scratch2, scratch3); __ 803 src/arm/ic-arm.cc __ b(eq, unmapped_case); __ 808 src/arm/ic-arm.cc __ ldr(scratch1, FieldMemOperand(scratch1, FixedArray::kHeaderSize)); __ 809 src/arm/ic-arm.cc __ mov(scratch3, Operand(kPointerSize >> 1)); __ 810 src/arm/ic-arm.cc __ mul(scratch3, scratch2, scratch3); __ 811 src/arm/ic-arm.cc __ add(scratch3, scratch3, Operand(Context::kHeaderSize - kHeapObjectTag)); __ 827 src/arm/ic-arm.cc __ ldr(backing_store, FieldMemOperand(parameter_map, kBackingStoreOffset)); __ 829 src/arm/ic-arm.cc __ CheckMap(backing_store, scratch, fixed_array_map, slow_case, __ 831 src/arm/ic-arm.cc __ ldr(scratch, FieldMemOperand(backing_store, FixedArray::kLengthOffset)); __ 832 src/arm/ic-arm.cc __ cmp(key, Operand(scratch)); __ 833 src/arm/ic-arm.cc __ b(cs, slow_case); __ 834 src/arm/ic-arm.cc __ mov(scratch, Operand(kPointerSize >> 1)); __ 835 src/arm/ic-arm.cc __ mul(scratch, key, scratch); __ 836 src/arm/ic-arm.cc __ add(scratch, __ 852 src/arm/ic-arm.cc __ ldr(r0, mapped_location); __ 853 src/arm/ic-arm.cc __ Ret(); __ 854 src/arm/ic-arm.cc __ bind(¬in); __ 858 src/arm/ic-arm.cc __ ldr(r2, unmapped_location); __ 859 src/arm/ic-arm.cc __ LoadRoot(r3, Heap::kTheHoleValueRootIndex); __ 860 src/arm/ic-arm.cc __ cmp(r2, r3); __ 861 src/arm/ic-arm.cc __ b(eq, &slow); __ 862 src/arm/ic-arm.cc __ mov(r0, r2); __ 863 src/arm/ic-arm.cc __ Ret(); __ 864 src/arm/ic-arm.cc __ bind(&slow); __ 879 src/arm/ic-arm.cc __ str(r0, mapped_location); __ 880 src/arm/ic-arm.cc __ add(r6, r3, r5); __ 881 src/arm/ic-arm.cc __ mov(r9, r0); __ 882 src/arm/ic-arm.cc __ RecordWrite(r3, r6, r9, kLRHasNotBeenSaved, kDontSaveFPRegs); __ 883 src/arm/ic-arm.cc __ Ret(); __ 884 src/arm/ic-arm.cc __ bind(¬in); __ 888 src/arm/ic-arm.cc __ str(r0, unmapped_location); __ 889 src/arm/ic-arm.cc __ add(r6, r3, r4); __ 890 src/arm/ic-arm.cc __ mov(r9, r0); __ 891 src/arm/ic-arm.cc __ RecordWrite(r3, r6, r9, kLRHasNotBeenSaved, kDontSaveFPRegs); __ 892 src/arm/ic-arm.cc __ Ret(); __ 893 src/arm/ic-arm.cc __ bind(&slow); __ 906 src/arm/ic-arm.cc __ ldr(r1, MemOperand(sp, argc * kPointerSize)); __ 909 src/arm/ic-arm.cc __ ldr(r1, mapped_location); __ 911 src/arm/ic-arm.cc __ bind(¬in); __ 915 src/arm/ic-arm.cc __ ldr(r1, unmapped_location); __ 916 src/arm/ic-arm.cc __ LoadRoot(r3, Heap::kTheHoleValueRootIndex); __ 917 src/arm/ic-arm.cc __ cmp(r1, r3); __ 918 src/arm/ic-arm.cc __ b(eq, &slow); __ 920 src/arm/ic-arm.cc __ bind(&slow); __ 936 src/arm/ic-arm.cc __ IncrementCounter(isolate->counters()->keyed_load_miss(), 1, r3, r4); __ 938 src/arm/ic-arm.cc __ Push(r1, r0); __ 945 src/arm/ic-arm.cc __ TailCallExternalReference(ref, 2, 1); __ 956 src/arm/ic-arm.cc __ Push(r1, r0); __ 958 src/arm/ic-arm.cc __ TailCallRuntime(Runtime::kKeyedGetProperty, 2, 1); __ 977 src/arm/ic-arm.cc __ JumpIfNotSmi(key, &check_string); __ 978 src/arm/ic-arm.cc __ bind(&index_smi); __ 986 src/arm/ic-arm.cc __ CheckFastElements(r2, r3, &check_number_dictionary); __ 990 src/arm/ic-arm.cc __ IncrementCounter(isolate->counters()->keyed_load_generic_smi(), 1, r2, r3); __ 991 src/arm/ic-arm.cc __ Ret(); __ 993 src/arm/ic-arm.cc __ bind(&check_number_dictionary); __ 994 src/arm/ic-arm.cc __ ldr(r4, FieldMemOperand(receiver, JSObject::kElementsOffset)); __ 995 src/arm/ic-arm.cc __ ldr(r3, FieldMemOperand(r4, JSObject::kMapOffset)); __ 1001 src/arm/ic-arm.cc __ LoadRoot(ip, Heap::kHashTableMapRootIndex); __ 1002 src/arm/ic-arm.cc __ cmp(r3, ip); __ 1003 src/arm/ic-arm.cc __ b(ne, &slow); __ 1004 src/arm/ic-arm.cc __ mov(r2, Operand(r0, ASR, kSmiTagSize)); __ 1005 src/arm/ic-arm.cc __ LoadFromNumberDictionary(&slow, r4, r0, r0, r2, r3, r5); __ 1006 src/arm/ic-arm.cc __ Ret(); __ 1009 src/arm/ic-arm.cc __ bind(&slow); __ 1010 src/arm/ic-arm.cc __ IncrementCounter(isolate->counters()->keyed_load_generic_slow(), __ 1014 src/arm/ic-arm.cc __ bind(&check_string); __ 1022 src/arm/ic-arm.cc __ ldr(r3, FieldMemOperand(r1, JSObject::kPropertiesOffset)); __ 1023 src/arm/ic-arm.cc __ ldr(r4, FieldMemOperand(r3, HeapObject::kMapOffset)); __ 1024 src/arm/ic-arm.cc __ LoadRoot(ip, Heap::kHashTableMapRootIndex); __ 1025 src/arm/ic-arm.cc __ cmp(r4, ip); __ 1026 src/arm/ic-arm.cc __ b(eq, &probe_dictionary); __ 1030 src/arm/ic-arm.cc __ ldr(r2, FieldMemOperand(r1, HeapObject::kMapOffset)); __ 1031 src/arm/ic-arm.cc __ mov(r3, Operand(r2, ASR, KeyedLookupCache::kMapHashShift)); __ 1032 src/arm/ic-arm.cc __ ldr(r4, FieldMemOperand(r0, String::kHashFieldOffset)); __ 1033 src/arm/ic-arm.cc __ eor(r3, r3, Operand(r4, ASR, String::kHashShift)); __ 1035 src/arm/ic-arm.cc __ And(r3, r3, Operand(mask)); __ 1045 src/arm/ic-arm.cc __ mov(r4, Operand(cache_keys)); __ 1046 src/arm/ic-arm.cc __ add(r4, r4, Operand(r3, LSL, kPointerSizeLog2 + 1)); __ 1051 src/arm/ic-arm.cc __ ldr(r5, MemOperand(r4, kPointerSize * 2, PostIndex)); __ 1052 src/arm/ic-arm.cc __ cmp(r2, r5); __ 1053 src/arm/ic-arm.cc __ b(ne, &try_next_entry); __ 1054 src/arm/ic-arm.cc __ ldr(r5, MemOperand(r4, -kPointerSize)); // Load symbol __ 1055 src/arm/ic-arm.cc __ cmp(r0, r5); __ 1056 src/arm/ic-arm.cc __ b(eq, &hit_on_nth_entry[i]); __ 1057 src/arm/ic-arm.cc __ bind(&try_next_entry); __ 1061 src/arm/ic-arm.cc __ ldr(r5, MemOperand(r4, kPointerSize, PostIndex)); __ 1062 src/arm/ic-arm.cc __ cmp(r2, r5); __ 1063 src/arm/ic-arm.cc __ b(ne, &slow); __ 1064 src/arm/ic-arm.cc __ ldr(r5, MemOperand(r4)); __ 1065 src/arm/ic-arm.cc __ cmp(r0, r5); __ 1066 src/arm/ic-arm.cc __ b(ne, &slow); __ 1078 src/arm/ic-arm.cc __ bind(&hit_on_nth_entry[i]); __ 1079 src/arm/ic-arm.cc __ mov(r4, Operand(cache_field_offsets)); __ 1081 src/arm/ic-arm.cc __ add(r3, r3, Operand(i)); __ 1083 src/arm/ic-arm.cc __ ldr(r5, MemOperand(r4, r3, LSL, kPointerSizeLog2)); __ 1084 src/arm/ic-arm.cc __ ldrb(r6, FieldMemOperand(r2, Map::kInObjectPropertiesOffset)); __ 1085 src/arm/ic-arm.cc __ sub(r5, r5, r6, SetCC); __ 1086 src/arm/ic-arm.cc __ b(ge, &property_array_property); __ 1088 src/arm/ic-arm.cc __ jmp(&load_in_object_property); __ 1093 src/arm/ic-arm.cc __ bind(&load_in_object_property); __ 1094 src/arm/ic-arm.cc __ ldrb(r6, FieldMemOperand(r2, Map::kInstanceSizeOffset)); __ 1095 src/arm/ic-arm.cc __ add(r6, r6, r5); // Index from start of object. __ 1096 src/arm/ic-arm.cc __ sub(r1, r1, Operand(kHeapObjectTag)); // Remove the heap tag. __ 1097 src/arm/ic-arm.cc __ ldr(r0, MemOperand(r1, r6, LSL, kPointerSizeLog2)); __ 1098 src/arm/ic-arm.cc __ IncrementCounter(isolate->counters()->keyed_load_generic_lookup_cache(), __ 1100 src/arm/ic-arm.cc __ Ret(); __ 1103 src/arm/ic-arm.cc __ bind(&property_array_property); __ 1104 src/arm/ic-arm.cc __ ldr(r1, FieldMemOperand(r1, JSObject::kPropertiesOffset)); __ 1105 src/arm/ic-arm.cc __ add(r1, r1, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 1106 src/arm/ic-arm.cc __ ldr(r0, MemOperand(r1, r5, LSL, kPointerSizeLog2)); __ 1107 src/arm/ic-arm.cc __ IncrementCounter(isolate->counters()->keyed_load_generic_lookup_cache(), __ 1109 src/arm/ic-arm.cc __ Ret(); __ 1113 src/arm/ic-arm.cc __ bind(&probe_dictionary); __ 1117 src/arm/ic-arm.cc __ ldr(r2, FieldMemOperand(r1, HeapObject::kMapOffset)); __ 1118 src/arm/ic-arm.cc __ ldrb(r2, FieldMemOperand(r2, Map::kInstanceTypeOffset)); __ 1122 src/arm/ic-arm.cc __ IncrementCounter(isolate->counters()->keyed_load_generic_symbol(), __ 1124 src/arm/ic-arm.cc __ Ret(); __ 1126 src/arm/ic-arm.cc __ bind(&index_string); __ 1127 src/arm/ic-arm.cc __ IndexFromHash(r3, key); __ 1129 src/arm/ic-arm.cc __ jmp(&index_smi); __ 1155 src/arm/ic-arm.cc __ Ret(); __ 1160 src/arm/ic-arm.cc __ bind(&miss); __ 1174 src/arm/ic-arm.cc __ JumpIfSmi(r1, &slow); __ 1177 src/arm/ic-arm.cc __ tst(r0, Operand(kSmiTagMask | kSmiSignMask)); __ 1178 src/arm/ic-arm.cc __ b(ne, &slow); __ 1181 src/arm/ic-arm.cc __ ldr(r2, FieldMemOperand(r1, HeapObject::kMapOffset)); __ 1185 src/arm/ic-arm.cc __ ldrb(r3, FieldMemOperand(r2, Map::kBitFieldOffset)); __ 1186 src/arm/ic-arm.cc __ and_(r3, r3, Operand(kSlowCaseBitFieldMask)); __ 1187 src/arm/ic-arm.cc __ cmp(r3, Operand(1 << Map::kHasIndexedInterceptor)); __ 1188 src/arm/ic-arm.cc __ b(ne, &slow); __ 1191 src/arm/ic-arm.cc __ Push(r1, r0); // Receiver, key. __ 1194 src/arm/ic-arm.cc __ TailCallExternalReference( __ 1200 src/arm/ic-arm.cc __ bind(&slow); __ 1214 src/arm/ic-arm.cc __ Push(r2, r1, r0); __ 1220 src/arm/ic-arm.cc __ TailCallExternalReference(ref, 3, 1); __ 1233 src/arm/ic-arm.cc __ Push(r2, r1, r0); __ 1239 src/arm/ic-arm.cc __ TailCallExternalReference(ref, 3, 1); __ 1253 src/arm/ic-arm.cc __ mov(r0, r2); __ 1254 src/arm/ic-arm.cc __ Ret(); __ 1255 src/arm/ic-arm.cc __ bind(&fail); __ 1258 src/arm/ic-arm.cc __ push(r2); __ 1259 src/arm/ic-arm.cc __ TailCallRuntime(Runtime::kTransitionElementsSmiToDouble, 1, 1); __ 1274 src/arm/ic-arm.cc __ mov(r0, r2); __ 1275 src/arm/ic-arm.cc __ Ret(); __ 1276 src/arm/ic-arm.cc __ bind(&fail); __ 1279 src/arm/ic-arm.cc __ push(r2); __ 1280 src/arm/ic-arm.cc __ TailCallRuntime(Runtime::kTransitionElementsDoubleToObject, 1, 1); __ 1294 src/arm/ic-arm.cc __ Push(r2, r1, r0); __ 1296 src/arm/ic-arm.cc __ mov(r1, Operand(Smi::FromInt(NONE))); // PropertyAttributes __ 1297 src/arm/ic-arm.cc __ mov(r0, Operand(Smi::FromInt(strict_mode))); // Strict mode. __ 1298 src/arm/ic-arm.cc __ Push(r1, r0); __ 1300 src/arm/ic-arm.cc __ TailCallRuntime(Runtime::kSetProperty, 5, 1); __ 1328 src/arm/ic-arm.cc __ JumpIfNotSmi(key, &slow); __ 1330 src/arm/ic-arm.cc __ JumpIfSmi(receiver, &slow); __ 1332 src/arm/ic-arm.cc __ ldr(receiver_map, FieldMemOperand(receiver, HeapObject::kMapOffset)); __ 1335 src/arm/ic-arm.cc __ ldrb(ip, FieldMemOperand(receiver_map, Map::kBitFieldOffset)); __ 1336 src/arm/ic-arm.cc __ tst(ip, Operand(1 << Map::kIsAccessCheckNeeded)); __ 1337 src/arm/ic-arm.cc __ b(ne, &slow); __ 1339 src/arm/ic-arm.cc __ ldrb(r4, FieldMemOperand(receiver_map, Map::kInstanceTypeOffset)); __ 1340 src/arm/ic-arm.cc __ cmp(r4, Operand(JS_ARRAY_TYPE)); __ 1341 src/arm/ic-arm.cc __ b(eq, &array); __ 1343 src/arm/ic-arm.cc __ cmp(r4, Operand(FIRST_JS_OBJECT_TYPE)); __ 1344 src/arm/ic-arm.cc __ b(lt, &slow); __ 1347 src/arm/ic-arm.cc __ ldr(elements, FieldMemOperand(receiver, JSObject::kElementsOffset)); __ 1349 src/arm/ic-arm.cc __ ldr(ip, FieldMemOperand(elements, FixedArray::kLengthOffset)); __ 1350 src/arm/ic-arm.cc __ cmp(key, Operand(ip)); __ 1351 src/arm/ic-arm.cc __ b(lo, &fast_object_with_map_check); __ 1354 src/arm/ic-arm.cc __ bind(&slow); __ 1364 src/arm/ic-arm.cc __ bind(&extra); __ 1366 src/arm/ic-arm.cc __ b(ne, &slow); // Only support writing to writing to array[array.length]. __ 1369 src/arm/ic-arm.cc __ ldr(ip, FieldMemOperand(elements, FixedArray::kLengthOffset)); __ 1370 src/arm/ic-arm.cc __ cmp(key, Operand(ip)); __ 1371 src/arm/ic-arm.cc __ b(hs, &slow); __ 1372 src/arm/ic-arm.cc __ ldr(elements_map, FieldMemOperand(elements, HeapObject::kMapOffset)); __ 1373 src/arm/ic-arm.cc __ cmp(elements_map, __ 1375 src/arm/ic-arm.cc __ b(ne, &check_if_double_array); __ 1378 src/arm/ic-arm.cc __ add(r4, key, Operand(Smi::FromInt(1))); __ 1379 src/arm/ic-arm.cc __ str(r4, FieldMemOperand(receiver, JSArray::kLengthOffset)); __ 1380 src/arm/ic-arm.cc __ b(&fast_object_without_map_check); __ 1382 src/arm/ic-arm.cc __ bind(&check_if_double_array); __ 1383 src/arm/ic-arm.cc __ cmp(elements_map, __ 1385 src/arm/ic-arm.cc __ b(ne, &slow); __ 1388 src/arm/ic-arm.cc __ add(r4, key, Operand(Smi::FromInt(1))); __ 1389 src/arm/ic-arm.cc __ str(r4, FieldMemOperand(receiver, JSArray::kLengthOffset)); __ 1390 src/arm/ic-arm.cc __ jmp(&fast_double_without_map_check); __ 1395 src/arm/ic-arm.cc __ bind(&array); __ 1396 src/arm/ic-arm.cc __ ldr(elements, FieldMemOperand(receiver, JSObject::kElementsOffset)); __ 1399 src/arm/ic-arm.cc __ ldr(ip, FieldMemOperand(receiver, JSArray::kLengthOffset)); __ 1400 src/arm/ic-arm.cc __ cmp(key, Operand(ip)); __ 1401 src/arm/ic-arm.cc __ b(hs, &extra); __ 1404 src/arm/ic-arm.cc __ bind(&fast_object_with_map_check); __ 1407 src/arm/ic-arm.cc __ ldr(elements_map, FieldMemOperand(elements, HeapObject::kMapOffset)); __ 1408 src/arm/ic-arm.cc __ cmp(elements_map, __ 1410 src/arm/ic-arm.cc __ b(ne, &fast_double_with_map_check); __ 1411 src/arm/ic-arm.cc __ bind(&fast_object_without_map_check); __ 1414 src/arm/ic-arm.cc __ JumpIfNotSmi(value, &non_smi_value); __ 1416 src/arm/ic-arm.cc __ add(address, elements, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 1417 src/arm/ic-arm.cc __ add(address, address, Operand(key, LSL, kPointerSizeLog2 - kSmiTagSize)); __ 1418 src/arm/ic-arm.cc __ str(value, MemOperand(address)); __ 1419 src/arm/ic-arm.cc __ Ret(); __ 1421 src/arm/ic-arm.cc __ bind(&non_smi_value); __ 1423 src/arm/ic-arm.cc __ CheckFastObjectElements(receiver_map, scratch_value, __ 1426 src/arm/ic-arm.cc __ bind(&finish_object_store); __ 1427 src/arm/ic-arm.cc __ add(address, elements, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 1428 src/arm/ic-arm.cc __ add(address, address, Operand(key, LSL, kPointerSizeLog2 - kSmiTagSize)); __ 1429 src/arm/ic-arm.cc __ str(value, MemOperand(address)); __ 1431 src/arm/ic-arm.cc __ mov(scratch_value, value); // Preserve the value which is returned. __ 1432 src/arm/ic-arm.cc __ RecordWrite(elements, __ 1439 src/arm/ic-arm.cc __ Ret(); __ 1441 src/arm/ic-arm.cc __ bind(&fast_double_with_map_check); __ 1444 src/arm/ic-arm.cc __ cmp(elements_map, __ 1446 src/arm/ic-arm.cc __ b(ne, &slow); __ 1447 src/arm/ic-arm.cc __ bind(&fast_double_without_map_check); __ 1448 src/arm/ic-arm.cc __ StoreNumberToDoubleElements(value, __ 1457 src/arm/ic-arm.cc __ Ret(); __ 1459 src/arm/ic-arm.cc __ bind(&transition_smi_elements); __ 1461 src/arm/ic-arm.cc __ ldr(r4, FieldMemOperand(value, HeapObject::kMapOffset)); __ 1462 src/arm/ic-arm.cc __ CompareRoot(r4, Heap::kHeapNumberMapRootIndex); __ 1463 src/arm/ic-arm.cc __ b(ne, &non_double_value); __ 1467 src/arm/ic-arm.cc __ LoadTransitionedArrayMapConditional(FAST_SMI_ELEMENTS, __ 1474 src/arm/ic-arm.cc __ ldr(elements, FieldMemOperand(receiver, JSObject::kElementsOffset)); __ 1475 src/arm/ic-arm.cc __ jmp(&fast_double_without_map_check); __ 1477 src/arm/ic-arm.cc __ bind(&non_double_value); __ 1479 src/arm/ic-arm.cc __ LoadTransitionedArrayMapConditional(FAST_SMI_ELEMENTS, __ 1486 src/arm/ic-arm.cc __ ldr(elements, FieldMemOperand(receiver, JSObject::kElementsOffset)); __ 1487 src/arm/ic-arm.cc __ jmp(&finish_object_store); __ 1489 src/arm/ic-arm.cc __ bind(&transition_double_elements); __ 1493 src/arm/ic-arm.cc __ LoadTransitionedArrayMapConditional(FAST_DOUBLE_ELEMENTS, __ 1500 src/arm/ic-arm.cc __ ldr(elements, FieldMemOperand(receiver, JSObject::kElementsOffset)); __ 1501 src/arm/ic-arm.cc __ jmp(&finish_object_store); __ 1534 src/arm/ic-arm.cc __ Push(r1, r2, r0); __ 1539 src/arm/ic-arm.cc __ TailCallExternalReference(ref, 3, 1); __ 1563 src/arm/ic-arm.cc __ JumpIfSmi(receiver, &miss); __ 1566 src/arm/ic-arm.cc __ CompareObjectType(receiver, scratch, scratch, JS_ARRAY_TYPE); __ 1567 src/arm/ic-arm.cc __ b(ne, &miss); __ 1572 src/arm/ic-arm.cc __ ldr(scratch, FieldMemOperand(receiver, JSArray::kElementsOffset)); __ 1573 src/arm/ic-arm.cc __ CompareObjectType(scratch, scratch, scratch, FIXED_ARRAY_TYPE); __ 1574 src/arm/ic-arm.cc __ b(ne, &miss); __ 1578 src/arm/ic-arm.cc __ ldr(scratch, FieldMemOperand(receiver, JSArray::kPropertiesOffset)); __ 1579 src/arm/ic-arm.cc __ ldr(scratch, FieldMemOperand(scratch, FixedArray::kMapOffset)); __ 1580 src/arm/ic-arm.cc __ CompareRoot(scratch, Heap::kHashTableMapRootIndex); __ 1581 src/arm/ic-arm.cc __ b(eq, &miss); __ 1584 src/arm/ic-arm.cc __ JumpIfNotSmi(value, &miss); __ 1587 src/arm/ic-arm.cc __ Push(receiver, value); __ 1591 src/arm/ic-arm.cc __ TailCallExternalReference(ref, 2, 1); __ 1593 src/arm/ic-arm.cc __ bind(&miss); __ 1612 src/arm/ic-arm.cc __ IncrementCounter(counters->store_normal_hit(), __ 1614 src/arm/ic-arm.cc __ Ret(); __ 1616 src/arm/ic-arm.cc __ bind(&miss); __ 1617 src/arm/ic-arm.cc __ IncrementCounter(counters->store_normal_miss(), 1, r4, r5); __ 1631 src/arm/ic-arm.cc __ Push(r1, r2, r0); __ 1633 src/arm/ic-arm.cc __ mov(r1, Operand(Smi::FromInt(NONE))); // PropertyAttributes __ 1634 src/arm/ic-arm.cc __ mov(r0, Operand(Smi::FromInt(strict_mode))); __ 1635 src/arm/ic-arm.cc __ Push(r1, r0); __ 1638 src/arm/ic-arm.cc __ TailCallRuntime(Runtime::kSetProperty, 5, 1); __ 135 src/arm/lithium-codegen-arm.cc __ stop("stop_at"); __ 150 src/arm/lithium-codegen-arm.cc __ cmp(r5, Operand(0)); __ 151 src/arm/lithium-codegen-arm.cc __ b(eq, &ok); __ 153 src/arm/lithium-codegen-arm.cc __ LoadRoot(r2, Heap::kUndefinedValueRootIndex); __ 154 src/arm/lithium-codegen-arm.cc __ str(r2, MemOperand(sp, receiver_offset)); __ 155 src/arm/lithium-codegen-arm.cc __ bind(&ok); __ 158 src/arm/lithium-codegen-arm.cc __ stm(db_w, sp, r1.bit() | cp.bit() | fp.bit() | lr.bit()); __ 159 src/arm/lithium-codegen-arm.cc __ add(fp, sp, Operand(2 * kPointerSize)); // Adjust FP to point to saved FP. __ 165 src/arm/lithium-codegen-arm.cc __ mov(r0, Operand(slots)); __ 166 src/arm/lithium-codegen-arm.cc __ mov(r2, Operand(kSlotsZapValue)); __ 168 src/arm/lithium-codegen-arm.cc __ bind(&loop); __ 169 src/arm/lithium-codegen-arm.cc __ push(r2); __ 170 src/arm/lithium-codegen-arm.cc __ sub(r0, r0, Operand(1), SetCC); __ 171 src/arm/lithium-codegen-arm.cc __ b(ne, &loop); __ 173 src/arm/lithium-codegen-arm.cc __ sub(sp, sp, Operand(slots * kPointerSize)); __ 182 src/arm/lithium-codegen-arm.cc __ push(r1); __ 185 src/arm/lithium-codegen-arm.cc __ CallStub(&stub); __ 187 src/arm/lithium-codegen-arm.cc __ CallRuntime(Runtime::kNewFunctionContext, 1); __ 192 src/arm/lithium-codegen-arm.cc __ str(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 201 src/arm/lithium-codegen-arm.cc __ ldr(r0, MemOperand(fp, parameter_offset)); __ 204 src/arm/lithium-codegen-arm.cc __ str(r0, target); __ 206 src/arm/lithium-codegen-arm.cc __ RecordWriteContextSlot( __ 215 src/arm/lithium-codegen-arm.cc __ CallRuntime(Runtime::kTraceEnter, 0); __ 248 src/arm/lithium-codegen-arm.cc __ bind(code->entry()); __ 253 src/arm/lithium-codegen-arm.cc __ jmp(code->exit()); __ 279 src/arm/lithium-codegen-arm.cc __ BlockConstPoolFor(deopt_jump_table_.length()); __ 280 src/arm/lithium-codegen-arm.cc __ RecordComment("[ Deoptimisation jump table"); __ 282 src/arm/lithium-codegen-arm.cc __ bind(&table_start); __ 284 src/arm/lithium-codegen-arm.cc __ bind(&deopt_jump_table_[i].label); __ 285 src/arm/lithium-codegen-arm.cc __ ldr(pc, MemOperand(pc, Assembler::kInstrSize - Assembler::kPcLoadDelta)); __ 286 src/arm/lithium-codegen-arm.cc __ dd(reinterpret_cast<uint32_t>(deopt_jump_table_[i].address)); __ 290 src/arm/lithium-codegen-arm.cc __ RecordComment("]"); __ 332 src/arm/lithium-codegen-arm.cc __ mov(scratch, Operand(static_cast<int32_t>(literal->Number()))); __ 338 src/arm/lithium-codegen-arm.cc __ mov(scratch, Operand(literal)); __ 340 src/arm/lithium-codegen-arm.cc __ LoadHeapObject(scratch, Handle<HeapObject>::cast(literal)); __ 345 src/arm/lithium-codegen-arm.cc __ ldr(scratch, ToMemOperand(op)); __ 371 src/arm/lithium-codegen-arm.cc __ mov(ip, Operand(static_cast<int32_t>(literal->Number()))); __ 372 src/arm/lithium-codegen-arm.cc __ vmov(flt_scratch, ip); __ 373 src/arm/lithium-codegen-arm.cc __ vcvt_f64_s32(dbl_scratch, flt_scratch); __ 384 src/arm/lithium-codegen-arm.cc __ vldr(dbl_scratch, mem_op.rn(), mem_op.offset()); __ 586 src/arm/lithium-codegen-arm.cc __ Call(code, mode); __ 593 src/arm/lithium-codegen-arm.cc __ nop(); __ 606 src/arm/lithium-codegen-arm.cc __ CallRuntime(function, num_arguments); __ 614 src/arm/lithium-codegen-arm.cc __ CallRuntimeSaveDoubles(id); __ 671 src/arm/lithium-codegen-arm.cc __ Jump(entry, RelocInfo::RUNTIME_ENTRY); __ 675 src/arm/lithium-codegen-arm.cc if (FLAG_trap_on_deopt) __ stop("trap_on_deopt", cc); __ 678 src/arm/lithium-codegen-arm.cc __ Jump(entry, RelocInfo::RUNTIME_ENTRY); __ 686 src/arm/lithium-codegen-arm.cc __ b(cc, &deopt_jump_table_.last().label); __ 828 src/arm/lithium-codegen-arm.cc __ bind(label->label()); __ 894 src/arm/lithium-codegen-arm.cc __ ldr(r0, MemOperand(sp, 0)); __ 922 src/arm/lithium-codegen-arm.cc __ cmp(dividend, Operand(0)); __ 923 src/arm/lithium-codegen-arm.cc __ b(pl, &positive_dividend); __ 924 src/arm/lithium-codegen-arm.cc __ rsb(result, dividend, Operand(0)); __ 925 src/arm/lithium-codegen-arm.cc __ and_(result, result, Operand(divisor - 1), SetCC); __ 929 src/arm/lithium-codegen-arm.cc __ rsb(result, result, Operand(0)); __ 930 src/arm/lithium-codegen-arm.cc __ b(&done); __ 931 src/arm/lithium-codegen-arm.cc __ bind(&positive_dividend); __ 932 src/arm/lithium-codegen-arm.cc __ and_(result, dividend, Operand(divisor - 1)); __ 933 src/arm/lithium-codegen-arm.cc __ bind(&done); __ 959 src/arm/lithium-codegen-arm.cc __ cmp(right, Operand(0)); __ 963 src/arm/lithium-codegen-arm.cc __ Move(result, left); __ 966 src/arm/lithium-codegen-arm.cc __ cmp(left, Operand(0)); __ 967 src/arm/lithium-codegen-arm.cc __ b(eq, &done); __ 969 src/arm/lithium-codegen-arm.cc __ vmov(divisor.low(), right); __ 970 src/arm/lithium-codegen-arm.cc __ b(lt, &vfp_modulo); __ 972 src/arm/lithium-codegen-arm.cc __ cmp(left, Operand(right)); __ 973 src/arm/lithium-codegen-arm.cc __ b(lt, &done); __ 976 src/arm/lithium-codegen-arm.cc __ JumpIfNotPowerOfTwoOrZeroAndNeg(right, __ 981 src/arm/lithium-codegen-arm.cc __ and_(result, scratch, Operand(left)); __ 982 src/arm/lithium-codegen-arm.cc __ b(&done); __ 984 src/arm/lithium-codegen-arm.cc __ bind(&right_negative); __ 986 src/arm/lithium-codegen-arm.cc __ rsb(right, right, Operand(0)); __ 988 src/arm/lithium-codegen-arm.cc __ bind(&both_positive); __ 993 src/arm/lithium-codegen-arm.cc __ mov(scratch, left); __ 997 src/arm/lithium-codegen-arm.cc __ cmp(scratch, Operand(right)); __ 998 src/arm/lithium-codegen-arm.cc __ mov(result, scratch, LeaveCC, lt); __ 999 src/arm/lithium-codegen-arm.cc __ b(lt, &done); __ 1002 src/arm/lithium-codegen-arm.cc if (i < kUnfolds - 1) __ sub(scratch, scratch, right); __ 1005 src/arm/lithium-codegen-arm.cc __ bind(&vfp_modulo); __ 1009 src/arm/lithium-codegen-arm.cc __ vmov(dividend.low(), left); __ 1014 src/arm/lithium-codegen-arm.cc __ vcvt_f64_s32(dividend, dividend.low()); __ 1015 src/arm/lithium-codegen-arm.cc __ vcvt_f64_s32(divisor, divisor.low()); __ 1018 src/arm/lithium-codegen-arm.cc __ vabs(divisor, divisor); __ 1020 src/arm/lithium-codegen-arm.cc __ vdiv(quotient, dividend, divisor); __ 1021 src/arm/lithium-codegen-arm.cc __ vcvt_s32_f64(quotient.low(), quotient); __ 1022 src/arm/lithium-codegen-arm.cc __ vcvt_f64_s32(quotient, quotient.low()); __ 1026 src/arm/lithium-codegen-arm.cc __ vmul(double_scratch, divisor, quotient); __ 1027 src/arm/lithium-codegen-arm.cc __ vcvt_s32_f64(double_scratch.low(), double_scratch); __ 1028 src/arm/lithium-codegen-arm.cc __ vmov(scratch, double_scratch.low()); __ 1031 src/arm/lithium-codegen-arm.cc __ sub(result, left, scratch); __ 1035 src/arm/lithium-codegen-arm.cc __ sub(scratch2, left, scratch, SetCC); __ 1036 src/arm/lithium-codegen-arm.cc __ b(ne, &ok); __ 1037 src/arm/lithium-codegen-arm.cc __ cmp(left, Operand(0)); __ 1039 src/arm/lithium-codegen-arm.cc __ bind(&ok); __ 1041 src/arm/lithium-codegen-arm.cc __ mov(result, scratch2); __ 1044 src/arm/lithium-codegen-arm.cc __ bind(&done); __ 1070 src/arm/lithium-codegen-arm.cc __ Move(result, dividend); __ 1072 src/arm/lithium-codegen-arm.cc __ rsb(result, dividend, Operand(0), SetCC); __ 1076 src/arm/lithium-codegen-arm.cc __ mov(remainder, Operand(0)); __ 1085 src/arm/lithium-codegen-arm.cc __ mov(scratch, Operand(dividend, ASR, power - 1)); __ 1087 src/arm/lithium-codegen-arm.cc __ add(scratch, dividend, Operand(scratch, LSR, 32 - power)); __ 1088 src/arm/lithium-codegen-arm.cc __ mov(result, Operand(scratch, ASR, power)); __ 1094 src/arm/lithium-codegen-arm.cc __ rsb(result, result, Operand(0)); __ 1098 src/arm/lithium-codegen-arm.cc __ sub(remainder, dividend, Operand(result, LSL, power)); __ 1100 src/arm/lithium-codegen-arm.cc __ add(remainder, dividend, Operand(result, LSL, power)); __ 1121 src/arm/lithium-codegen-arm.cc __ mov(ip, Operand(M)); __ 1122 src/arm/lithium-codegen-arm.cc __ smull(ip, scratch, dividend, ip); __ 1124 src/arm/lithium-codegen-arm.cc __ add(scratch, scratch, Operand(dividend)); __ 1127 src/arm/lithium-codegen-arm.cc __ mov(scratch, Operand(scratch, ASR, s)); __ 1129 src/arm/lithium-codegen-arm.cc __ add(result, scratch, Operand(dividend, LSR, 31)); __ 1130 src/arm/lithium-codegen-arm.cc if (divisor < 0) __ rsb(result, result, Operand(0)); __ 1132 src/arm/lithium-codegen-arm.cc __ mov(ip, Operand(divisor)); __ 1135 src/arm/lithium-codegen-arm.cc __ mul(scratch, result, ip); __ 1136 src/arm/lithium-codegen-arm.cc __ sub(remainder, dividend, scratch); __ 1162 src/arm/lithium-codegen-arm.cc __ cmp(right, Operand(0)); __ 1169 src/arm/lithium-codegen-arm.cc __ cmp(left, Operand(0)); __ 1170 src/arm/lithium-codegen-arm.cc __ b(ne, &left_not_zero); __ 1171 src/arm/lithium-codegen-arm.cc __ cmp(right, Operand(0)); __ 1173 src/arm/lithium-codegen-arm.cc __ bind(&left_not_zero); __ 1179 src/arm/lithium-codegen-arm.cc __ cmp(left, Operand(kMinInt)); __ 1180 src/arm/lithium-codegen-arm.cc __ b(ne, &left_not_min_int); __ 1181 src/arm/lithium-codegen-arm.cc __ cmp(right, Operand(-1)); __ 1183 src/arm/lithium-codegen-arm.cc __ bind(&left_not_min_int); __ 1188 src/arm/lithium-codegen-arm.cc __ cmp(right, Operand(1)); __ 1189 src/arm/lithium-codegen-arm.cc __ mov(result, left, LeaveCC, eq); __ 1190 src/arm/lithium-codegen-arm.cc __ b(eq, &done); __ 1192 src/arm/lithium-codegen-arm.cc __ cmp(right, Operand(2)); __ 1193 src/arm/lithium-codegen-arm.cc __ tst(left, Operand(1), eq); __ 1194 src/arm/lithium-codegen-arm.cc __ mov(result, Operand(left, ASR, 1), LeaveCC, eq); __ 1195 src/arm/lithium-codegen-arm.cc __ b(eq, &done); __ 1197 src/arm/lithium-codegen-arm.cc __ cmp(right, Operand(4)); __ 1198 src/arm/lithium-codegen-arm.cc __ tst(left, Operand(3), eq); __ 1199 src/arm/lithium-codegen-arm.cc __ mov(result, Operand(left, ASR, 2), LeaveCC, eq); __ 1200 src/arm/lithium-codegen-arm.cc __ b(eq, &done); __ 1206 src/arm/lithium-codegen-arm.cc __ TrySmiTag(left, &deoptimize, scratch); __ 1207 src/arm/lithium-codegen-arm.cc __ TrySmiTag(right, &deoptimize, scratch); __ 1209 src/arm/lithium-codegen-arm.cc __ b(al, deferred->entry()); __ 1210 src/arm/lithium-codegen-arm.cc __ bind(deferred->exit()); __ 1213 src/arm/lithium-codegen-arm.cc __ JumpIfNotSmi(result, &deoptimize); __ 1214 src/arm/lithium-codegen-arm.cc __ SmiUntag(result); __ 1215 src/arm/lithium-codegen-arm.cc __ b(&done); __ 1217 src/arm/lithium-codegen-arm.cc __ bind(&deoptimize); __ 1219 src/arm/lithium-codegen-arm.cc __ bind(&done); __ 1235 src/arm/lithium-codegen-arm.cc __ cmp(left, Operand(0)); __ 1245 src/arm/lithium-codegen-arm.cc __ cmp(remainder, Operand(0)); __ 1246 src/arm/lithium-codegen-arm.cc __ teq(remainder, Operand(divisor), ne); __ 1247 src/arm/lithium-codegen-arm.cc __ sub(result, result, Operand(1), LeaveCC, mi); __ 1260 src/arm/lithium-codegen-arm.cc __ Move(r0, right); __ 1262 src/arm/lithium-codegen-arm.cc __ Swap(r0, r1, r2); __ 1265 src/arm/lithium-codegen-arm.cc __ mov(r1, r0); __ 1266 src/arm/lithium-codegen-arm.cc __ mov(r0, right); __ 1269 src/arm/lithium-codegen-arm.cc __ mov(r0, right); __ 1270 src/arm/lithium-codegen-arm.cc __ mov(r1, left); __ 1273 src/arm/lithium-codegen-arm.cc __ CallStub(&stub); __ 1278 src/arm/lithium-codegen-arm.cc __ StoreToSafepointRegistersAndDoublesSlot(r0, r0); __ 1300 src/arm/lithium-codegen-arm.cc __ cmp(left, Operand(0)); __ 1306 src/arm/lithium-codegen-arm.cc __ rsb(result, left, Operand(0)); __ 1312 src/arm/lithium-codegen-arm.cc __ cmp(left, Operand(0)); __ 1315 src/arm/lithium-codegen-arm.cc __ mov(result, Operand(0)); __ 1318 src/arm/lithium-codegen-arm.cc __ Move(result, left); __ 1332 src/arm/lithium-codegen-arm.cc __ mov(result, Operand(left, LSL, shift)); __ 1335 src/arm/lithium-codegen-arm.cc __ add(result, left, Operand(left, LSL, shift)); __ 1338 src/arm/lithium-codegen-arm.cc __ rsb(result, left, Operand(left, LSL, shift)); __ 1342 src/arm/lithium-codegen-arm.cc if (constant < 0) __ rsb(result, result, Operand(0)); __ 1346 src/arm/lithium-codegen-arm.cc __ mov(ip, Operand(constant)); __ 1347 src/arm/lithium-codegen-arm.cc __ mul(result, left, ip); __ 1354 src/arm/lithium-codegen-arm.cc __ orr(ToRegister(instr->TempAt(0)), left, right); __ 1359 src/arm/lithium-codegen-arm.cc __ smull(result, scratch, left, right); __ 1360 src/arm/lithium-codegen-arm.cc __ cmp(scratch, Operand(result, ASR, 31)); __ 1363 src/arm/lithium-codegen-arm.cc __ mul(result, left, right); __ 1369 src/arm/lithium-codegen-arm.cc __ cmp(result, Operand(0)); __ 1370 src/arm/lithium-codegen-arm.cc __ b(ne, &done); __ 1371 src/arm/lithium-codegen-arm.cc __ cmp(ToRegister(instr->TempAt(0)), Operand(0)); __ 1373 src/arm/lithium-codegen-arm.cc __ bind(&done); __ 1396 src/arm/lithium-codegen-arm.cc __ and_(result, left, right); __ 1399 src/arm/lithium-codegen-arm.cc __ orr(result, left, right); __ 1402 src/arm/lithium-codegen-arm.cc __ eor(result, left, right); __ 1420 src/arm/lithium-codegen-arm.cc __ and_(scratch, ToRegister(right_op), Operand(0x1F)); __ 1423 src/arm/lithium-codegen-arm.cc __ mov(result, Operand(left, ASR, scratch)); __ 1427 src/arm/lithium-codegen-arm.cc __ mov(result, Operand(left, LSR, scratch), SetCC); __ 1430 src/arm/lithium-codegen-arm.cc __ mov(result, Operand(left, LSR, scratch)); __ 1434 src/arm/lithium-codegen-arm.cc __ mov(result, Operand(left, LSL, scratch)); __ 1447 src/arm/lithium-codegen-arm.cc __ mov(result, Operand(left, ASR, shift_count)); __ 1449 src/arm/lithium-codegen-arm.cc __ Move(result, left); __ 1454 src/arm/lithium-codegen-arm.cc __ mov(result, Operand(left, LSR, shift_count)); __ 1457 src/arm/lithium-codegen-arm.cc __ tst(left, Operand(0x80000000)); __ 1460 src/arm/lithium-codegen-arm.cc __ Move(result, left); __ 1465 src/arm/lithium-codegen-arm.cc __ mov(result, Operand(left, LSL, shift_count)); __ 1467 src/arm/lithium-codegen-arm.cc __ Move(result, left); __ 1487 src/arm/lithium-codegen-arm.cc __ sub(ToRegister(result), ToRegister(left), Operand(right_reg), set_cond); __ 1490 src/arm/lithium-codegen-arm.cc __ sub(ToRegister(result), ToRegister(left), ToOperand(right), set_cond); __ 1501 src/arm/lithium-codegen-arm.cc __ mov(ToRegister(instr->result()), Operand(instr->value())); __ 1509 src/arm/lithium-codegen-arm.cc __ Vmov(result, v); __ 1516 src/arm/lithium-codegen-arm.cc __ mov(ToRegister(instr->result()), Operand(value)); __ 1518 src/arm/lithium-codegen-arm.cc __ LoadHeapObject(ToRegister(instr->result()), __ 1527 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(array, JSArray::kLengthOffset)); __ 1534 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(array, FixedArrayBase::kLengthOffset)); __ 1543 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(input, HeapObject::kMapOffset)); __ 1546 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(result, Map::kBitField2Offset)); __ 1548 src/arm/lithium-codegen-arm.cc __ ubfx(result, result, Map::kElementsKindShift, Map::kElementsKindBitCount); __ 1559 src/arm/lithium-codegen-arm.cc __ tst(input, Operand(kSmiTagMask)); __ 1560 src/arm/lithium-codegen-arm.cc __ Move(result, input, eq); __ 1561 src/arm/lithium-codegen-arm.cc __ b(eq, &done); __ 1564 src/arm/lithium-codegen-arm.cc __ CompareObjectType(input, map, map, JS_VALUE_TYPE); __ 1565 src/arm/lithium-codegen-arm.cc __ Move(result, input, ne); __ 1566 src/arm/lithium-codegen-arm.cc __ b(ne, &done); __ 1567 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(input, JSValue::kValueOffset)); __ 1569 src/arm/lithium-codegen-arm.cc __ bind(&done); __ 1585 src/arm/lithium-codegen-arm.cc __ AbortIfSmi(object); __ 1586 src/arm/lithium-codegen-arm.cc __ CompareObjectType(object, scratch, scratch, JS_DATE_TYPE); __ 1587 src/arm/lithium-codegen-arm.cc __ Assert(eq, "Trying to get date field from non-date."); __ 1591 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(object, JSDate::kValueOffset)); __ 1595 src/arm/lithium-codegen-arm.cc __ mov(scratch, Operand(stamp)); __ 1596 src/arm/lithium-codegen-arm.cc __ ldr(scratch, MemOperand(scratch)); __ 1597 src/arm/lithium-codegen-arm.cc __ ldr(scratch0(), FieldMemOperand(object, JSDate::kCacheStampOffset)); __ 1598 src/arm/lithium-codegen-arm.cc __ cmp(scratch, scratch0()); __ 1599 src/arm/lithium-codegen-arm.cc __ b(ne, &runtime); __ 1600 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(object, JSDate::kValueOffset + __ 1602 src/arm/lithium-codegen-arm.cc __ jmp(&done); __ 1604 src/arm/lithium-codegen-arm.cc __ bind(&runtime); __ 1605 src/arm/lithium-codegen-arm.cc __ PrepareCallCFunction(2, scratch); __ 1606 src/arm/lithium-codegen-arm.cc __ mov(r1, Operand(index)); __ 1607 src/arm/lithium-codegen-arm.cc __ CallCFunction(ExternalReference::get_date_field_function(isolate()), 2); __ 1608 src/arm/lithium-codegen-arm.cc __ bind(&done); __ 1616 src/arm/lithium-codegen-arm.cc __ mvn(result, Operand(input)); __ 1622 src/arm/lithium-codegen-arm.cc __ push(input_reg); __ 1626 src/arm/lithium-codegen-arm.cc __ stop("Unreachable code."); __ 1640 src/arm/lithium-codegen-arm.cc __ add(ToRegister(result), ToRegister(left), Operand(right_reg), set_cond); __ 1643 src/arm/lithium-codegen-arm.cc __ add(ToRegister(result), ToRegister(left), ToOperand(right), set_cond); __ 1658 src/arm/lithium-codegen-arm.cc __ vadd(result, left, right); __ 1661 src/arm/lithium-codegen-arm.cc __ vsub(result, left, right); __ 1664 src/arm/lithium-codegen-arm.cc __ vmul(result, left, right); __ 1667 src/arm/lithium-codegen-arm.cc __ vdiv(result, left, right); __ 1671 src/arm/lithium-codegen-arm.cc __ stm(db_w, sp, r0.bit() | r1.bit() | r2.bit() | r3.bit()); __ 1673 src/arm/lithium-codegen-arm.cc __ PrepareCallCFunction(0, 2, scratch0()); __ 1674 src/arm/lithium-codegen-arm.cc __ SetCallCDoubleArguments(left, right); __ 1675 src/arm/lithium-codegen-arm.cc __ CallCFunction( __ 1679 src/arm/lithium-codegen-arm.cc __ GetCFunctionDoubleResult(result); __ 1682 src/arm/lithium-codegen-arm.cc __ ldm(ia_w, sp, r0.bit() | r1.bit() | r2.bit() | r3.bit()); __ 1702 src/arm/lithium-codegen-arm.cc __ nop(); // Signals no inlined code. __ 1723 src/arm/lithium-codegen-arm.cc __ b(NegateCondition(cc), chunk_->GetAssemblyLabel(right_block)); __ 1725 src/arm/lithium-codegen-arm.cc __ b(cc, chunk_->GetAssemblyLabel(left_block)); __ 1727 src/arm/lithium-codegen-arm.cc __ b(cc, chunk_->GetAssemblyLabel(left_block)); __ 1728 src/arm/lithium-codegen-arm.cc __ b(chunk_->GetAssemblyLabel(right_block)); __ 1740 src/arm/lithium-codegen-arm.cc __ cmp(reg, Operand(0)); __ 1747 src/arm/lithium-codegen-arm.cc __ VFPCompareAndLoadFlags(reg, 0.0, scratch); __ 1748 src/arm/lithium-codegen-arm.cc __ tst(scratch, Operand(kVFPZConditionFlagBit | kVFPVConditionFlagBit)); __ 1755 src/arm/lithium-codegen-arm.cc __ CompareRoot(reg, Heap::kTrueValueRootIndex); __ 1758 src/arm/lithium-codegen-arm.cc __ cmp(reg, Operand(0)); __ 1770 src/arm/lithium-codegen-arm.cc __ CompareRoot(reg, Heap::kUndefinedValueRootIndex); __ 1771 src/arm/lithium-codegen-arm.cc __ b(eq, false_label); __ 1775 src/arm/lithium-codegen-arm.cc __ CompareRoot(reg, Heap::kTrueValueRootIndex); __ 1776 src/arm/lithium-codegen-arm.cc __ b(eq, true_label); __ 1777 src/arm/lithium-codegen-arm.cc __ CompareRoot(reg, Heap::kFalseValueRootIndex); __ 1778 src/arm/lithium-codegen-arm.cc __ b(eq, false_label); __ 1782 src/arm/lithium-codegen-arm.cc __ CompareRoot(reg, Heap::kNullValueRootIndex); __ 1783 src/arm/lithium-codegen-arm.cc __ b(eq, false_label); __ 1788 src/arm/lithium-codegen-arm.cc __ cmp(reg, Operand(0)); __ 1789 src/arm/lithium-codegen-arm.cc __ b(eq, false_label); __ 1790 src/arm/lithium-codegen-arm.cc __ JumpIfSmi(reg, true_label); __ 1793 src/arm/lithium-codegen-arm.cc __ tst(reg, Operand(kSmiTagMask)); __ 1799 src/arm/lithium-codegen-arm.cc __ ldr(map, FieldMemOperand(reg, HeapObject::kMapOffset)); __ 1803 src/arm/lithium-codegen-arm.cc __ ldrb(ip, FieldMemOperand(map, Map::kBitFieldOffset)); __ 1804 src/arm/lithium-codegen-arm.cc __ tst(ip, Operand(1 << Map::kIsUndetectable)); __ 1805 src/arm/lithium-codegen-arm.cc __ b(ne, false_label); __ 1811 src/arm/lithium-codegen-arm.cc __ CompareInstanceType(map, ip, FIRST_SPEC_OBJECT_TYPE); __ 1812 src/arm/lithium-codegen-arm.cc __ b(ge, true_label); __ 1818 src/arm/lithium-codegen-arm.cc __ CompareInstanceType(map, ip, FIRST_NONSTRING_TYPE); __ 1819 src/arm/lithium-codegen-arm.cc __ b(ge, ¬_string); __ 1820 src/arm/lithium-codegen-arm.cc __ ldr(ip, FieldMemOperand(reg, String::kLengthOffset)); __ 1821 src/arm/lithium-codegen-arm.cc __ cmp(ip, Operand(0)); __ 1822 src/arm/lithium-codegen-arm.cc __ b(ne, true_label); __ 1823 src/arm/lithium-codegen-arm.cc __ b(false_label); __ 1824 src/arm/lithium-codegen-arm.cc __ bind(¬_string); __ 1831 src/arm/lithium-codegen-arm.cc __ CompareRoot(map, Heap::kHeapNumberMapRootIndex); __ 1832 src/arm/lithium-codegen-arm.cc __ b(ne, ¬_heap_number); __ 1833 src/arm/lithium-codegen-arm.cc __ vldr(dbl_scratch, FieldMemOperand(reg, HeapNumber::kValueOffset)); __ 1834 src/arm/lithium-codegen-arm.cc __ VFPCompareAndSetFlags(dbl_scratch, 0.0); __ 1835 src/arm/lithium-codegen-arm.cc __ b(vs, false_label); // NaN -> false. __ 1836 src/arm/lithium-codegen-arm.cc __ b(eq, false_label); // +0, -0 -> false. __ 1837 src/arm/lithium-codegen-arm.cc __ b(true_label); __ 1838 src/arm/lithium-codegen-arm.cc __ bind(¬_heap_number); __ 1852 src/arm/lithium-codegen-arm.cc __ jmp(chunk_->GetAssemblyLabel(block)); __ 1909 src/arm/lithium-codegen-arm.cc __ VFPCompareAndSetFlags(ToDoubleRegister(left), ToDoubleRegister(right)); __ 1912 src/arm/lithium-codegen-arm.cc __ b(vs, chunk_->GetAssemblyLabel(false_block)); __ 1915 src/arm/lithium-codegen-arm.cc __ cmp(ToRegister(left), __ 1918 src/arm/lithium-codegen-arm.cc __ cmp(ToRegister(right), __ 1923 src/arm/lithium-codegen-arm.cc __ cmp(ToRegister(left), ToRegister(right)); __ 1937 src/arm/lithium-codegen-arm.cc __ cmp(left, Operand(right)); __ 1947 src/arm/lithium-codegen-arm.cc __ cmp(left, Operand(instr->hydrogen()->right())); __ 1969 src/arm/lithium-codegen-arm.cc __ LoadRoot(ip, nil_value); __ 1970 src/arm/lithium-codegen-arm.cc __ cmp(reg, ip); __ 1979 src/arm/lithium-codegen-arm.cc __ b(eq, true_label); __ 1980 src/arm/lithium-codegen-arm.cc __ LoadRoot(ip, other_nil_value); __ 1981 src/arm/lithium-codegen-arm.cc __ cmp(reg, ip); __ 1982 src/arm/lithium-codegen-arm.cc __ b(eq, true_label); __ 1983 src/arm/lithium-codegen-arm.cc __ JumpIfSmi(reg, false_label); __ 1986 src/arm/lithium-codegen-arm.cc __ ldr(scratch, FieldMemOperand(reg, HeapObject::kMapOffset)); __ 1987 src/arm/lithium-codegen-arm.cc __ ldrb(scratch, FieldMemOperand(scratch, Map::kBitFieldOffset)); __ 1988 src/arm/lithium-codegen-arm.cc __ tst(scratch, Operand(1 << Map::kIsUndetectable)); __ 1999 src/arm/lithium-codegen-arm.cc __ JumpIfSmi(input, is_not_object); __ 2001 src/arm/lithium-codegen-arm.cc __ LoadRoot(temp2, Heap::kNullValueRootIndex); __ 2002 src/arm/lithium-codegen-arm.cc __ cmp(input, temp2); __ 2003 src/arm/lithium-codegen-arm.cc __ b(eq, is_object); __ 2006 src/arm/lithium-codegen-arm.cc __ ldr(temp1, FieldMemOperand(input, HeapObject::kMapOffset)); __ 2008 src/arm/lithium-codegen-arm.cc __ ldrb(temp2, FieldMemOperand(temp1, Map::kBitFieldOffset)); __ 2009 src/arm/lithium-codegen-arm.cc __ tst(temp2, Operand(1 << Map::kIsUndetectable)); __ 2010 src/arm/lithium-codegen-arm.cc __ b(ne, is_not_object); __ 2013 src/arm/lithium-codegen-arm.cc __ ldrb(temp2, FieldMemOperand(temp1, Map::kInstanceTypeOffset)); __ 2014 src/arm/lithium-codegen-arm.cc __ cmp(temp2, Operand(FIRST_NONCALLABLE_SPEC_OBJECT_TYPE)); __ 2015 src/arm/lithium-codegen-arm.cc __ b(lt, is_not_object); __ 2016 src/arm/lithium-codegen-arm.cc __ cmp(temp2, Operand(LAST_NONCALLABLE_SPEC_OBJECT_TYPE)); __ 2040 src/arm/lithium-codegen-arm.cc __ JumpIfSmi(input, is_not_string); __ 2041 src/arm/lithium-codegen-arm.cc __ CompareObjectType(input, temp1, temp1, FIRST_NONSTRING_TYPE); __ 2067 src/arm/lithium-codegen-arm.cc __ tst(input_reg, Operand(kSmiTagMask)); __ 2079 src/arm/lithium-codegen-arm.cc __ JumpIfSmi(input, chunk_->GetAssemblyLabel(false_block)); __ 2080 src/arm/lithium-codegen-arm.cc __ ldr(temp, FieldMemOperand(input, HeapObject::kMapOffset)); __ 2081 src/arm/lithium-codegen-arm.cc __ ldrb(temp, FieldMemOperand(temp, Map::kBitFieldOffset)); __ 2082 src/arm/lithium-codegen-arm.cc __ tst(temp, Operand(1 << Map::kIsUndetectable)); __ 2114 src/arm/lithium-codegen-arm.cc __ cmp(r0, Operand(0)); // This instruction also signals no smi code inlined. __ 2151 src/arm/lithium-codegen-arm.cc __ JumpIfSmi(input, false_label); __ 2153 src/arm/lithium-codegen-arm.cc __ CompareObjectType(input, scratch, scratch, TestType(instr->hydrogen())); __ 2163 src/arm/lithium-codegen-arm.cc __ AbortIfNotString(input); __ 2166 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(input, String::kHashFieldOffset)); __ 2167 src/arm/lithium-codegen-arm.cc __ IndexFromHash(result, result); __ 2179 src/arm/lithium-codegen-arm.cc __ ldr(scratch, __ 2181 src/arm/lithium-codegen-arm.cc __ tst(scratch, Operand(String::kContainsCachedArrayIndexMask)); __ 2198 src/arm/lithium-codegen-arm.cc __ JumpIfSmi(input, is_false); __ 2209 src/arm/lithium-codegen-arm.cc __ CompareObjectType(input, temp, temp2, FIRST_SPEC_OBJECT_TYPE); __ 2210 src/arm/lithium-codegen-arm.cc __ b(lt, is_false); __ 2211 src/arm/lithium-codegen-arm.cc __ b(eq, is_true); __ 2212 src/arm/lithium-codegen-arm.cc __ cmp(temp2, Operand(LAST_SPEC_OBJECT_TYPE)); __ 2213 src/arm/lithium-codegen-arm.cc __ b(eq, is_true); __ 2217 src/arm/lithium-codegen-arm.cc __ ldr(temp, FieldMemOperand(input, HeapObject::kMapOffset)); __ 2218 src/arm/lithium-codegen-arm.cc __ ldrb(temp2, FieldMemOperand(temp, Map::kInstanceTypeOffset)); __ 2219 src/arm/lithium-codegen-arm.cc __ sub(temp2, temp2, Operand(FIRST_NONCALLABLE_SPEC_OBJECT_TYPE)); __ 2220 src/arm/lithium-codegen-arm.cc __ cmp(temp2, Operand(LAST_NONCALLABLE_SPEC_OBJECT_TYPE - __ 2222 src/arm/lithium-codegen-arm.cc __ b(gt, is_false); __ 2227 src/arm/lithium-codegen-arm.cc __ ldr(temp, FieldMemOperand(temp, Map::kConstructorOffset)); __ 2230 src/arm/lithium-codegen-arm.cc __ CompareObjectType(temp, temp2, temp2, JS_FUNCTION_TYPE); __ 2232 src/arm/lithium-codegen-arm.cc __ b(ne, is_true); __ 2234 src/arm/lithium-codegen-arm.cc __ b(ne, is_false); __ 2239 src/arm/lithium-codegen-arm.cc __ ldr(temp, FieldMemOperand(temp, JSFunction::kSharedFunctionInfoOffset)); __ 2240 src/arm/lithium-codegen-arm.cc __ ldr(temp, FieldMemOperand(temp, __ 2248 src/arm/lithium-codegen-arm.cc __ cmp(temp, Operand(class_name)); __ 2277 src/arm/lithium-codegen-arm.cc __ ldr(temp, FieldMemOperand(reg, HeapObject::kMapOffset)); __ 2278 src/arm/lithium-codegen-arm.cc __ cmp(temp, Operand(instr->map())); __ 2290 src/arm/lithium-codegen-arm.cc __ cmp(r0, Operand(0)); __ 2291 src/arm/lithium-codegen-arm.cc __ mov(r0, Operand(factory()->false_value()), LeaveCC, ne); __ 2292 src/arm/lithium-codegen-arm.cc __ mov(r0, Operand(factory()->true_value()), LeaveCC, eq); __ 2324 src/arm/lithium-codegen-arm.cc __ JumpIfSmi(object, &false_result); __ 2331 src/arm/lithium-codegen-arm.cc __ ldr(map, FieldMemOperand(object, HeapObject::kMapOffset)); __ 2336 src/arm/lithium-codegen-arm.cc __ bind(deferred->map_check()); // Label for calculating code patching. __ 2342 src/arm/lithium-codegen-arm.cc __ mov(ip, Operand(Handle<Object>(cell))); __ 2343 src/arm/lithium-codegen-arm.cc __ ldr(ip, FieldMemOperand(ip, JSGlobalPropertyCell::kValueOffset)); __ 2344 src/arm/lithium-codegen-arm.cc __ cmp(map, Operand(ip)); __ 2345 src/arm/lithium-codegen-arm.cc __ b(ne, &cache_miss); __ 2349 src/arm/lithium-codegen-arm.cc __ mov(result, Operand(factory()->the_hole_value())); __ 2351 src/arm/lithium-codegen-arm.cc __ b(&done); __ 2355 src/arm/lithium-codegen-arm.cc __ bind(&cache_miss); __ 2357 src/arm/lithium-codegen-arm.cc __ LoadRoot(ip, Heap::kNullValueRootIndex); __ 2358 src/arm/lithium-codegen-arm.cc __ cmp(object, Operand(ip)); __ 2359 src/arm/lithium-codegen-arm.cc __ b(eq, &false_result); __ 2363 src/arm/lithium-codegen-arm.cc __ b(is_string, &false_result); __ 2366 src/arm/lithium-codegen-arm.cc __ b(deferred->entry()); __ 2368 src/arm/lithium-codegen-arm.cc __ bind(&false_result); __ 2369 src/arm/lithium-codegen-arm.cc __ LoadRoot(result, Heap::kFalseValueRootIndex); __ 2373 src/arm/lithium-codegen-arm.cc __ bind(deferred->exit()); __ 2374 src/arm/lithium-codegen-arm.cc __ bind(&done); __ 2399 src/arm/lithium-codegen-arm.cc __ LoadHeapObject(InstanceofStub::right(), instr->function()); __ 2403 src/arm/lithium-codegen-arm.cc __ bind(&before_push_delta); __ 2404 src/arm/lithium-codegen-arm.cc __ BlockConstPoolFor(kAdditionalDelta); __ 2405 src/arm/lithium-codegen-arm.cc __ mov(temp, Operand(delta * kPointerSize)); __ 2406 src/arm/lithium-codegen-arm.cc __ StoreToSafepointRegisterSlot(temp, temp); __ 2415 src/arm/lithium-codegen-arm.cc __ StoreToSafepointRegisterSlot(result, result); __ 2424 src/arm/lithium-codegen-arm.cc __ cmp(r0, Operand(0)); // This instruction also signals no smi code inlined. __ 2427 src/arm/lithium-codegen-arm.cc __ LoadRoot(ToRegister(instr->result()), __ 2430 src/arm/lithium-codegen-arm.cc __ LoadRoot(ToRegister(instr->result()), __ 2440 src/arm/lithium-codegen-arm.cc __ push(r0); __ 2441 src/arm/lithium-codegen-arm.cc __ CallRuntime(Runtime::kTraceExit, 1); __ 2444 src/arm/lithium-codegen-arm.cc __ mov(sp, fp); __ 2445 src/arm/lithium-codegen-arm.cc __ ldm(ia_w, sp, fp.bit() | lr.bit()); __ 2446 src/arm/lithium-codegen-arm.cc __ add(sp, sp, Operand(sp_delta)); __ 2447 src/arm/lithium-codegen-arm.cc __ Jump(lr); __ 2453 src/arm/lithium-codegen-arm.cc __ mov(ip, Operand(Handle<Object>(instr->hydrogen()->cell()))); __ 2454 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(ip, JSGlobalPropertyCell::kValueOffset)); __ 2456 src/arm/lithium-codegen-arm.cc __ LoadRoot(ip, Heap::kTheHoleValueRootIndex); __ 2457 src/arm/lithium-codegen-arm.cc __ cmp(result, ip); __ 2467 src/arm/lithium-codegen-arm.cc __ mov(r2, Operand(instr->name())); __ 2480 src/arm/lithium-codegen-arm.cc __ mov(cell, Operand(instr->hydrogen()->cell())); __ 2489 src/arm/lithium-codegen-arm.cc __ ldr(payload, FieldMemOperand(cell, JSGlobalPropertyCell::kValueOffset)); __ 2490 src/arm/lithium-codegen-arm.cc __ CompareRoot(payload, Heap::kTheHoleValueRootIndex); __ 2495 src/arm/lithium-codegen-arm.cc __ str(value, FieldMemOperand(cell, JSGlobalPropertyCell::kValueOffset)); __ 2504 src/arm/lithium-codegen-arm.cc __ mov(r2, Operand(instr->name())); __ 2515 src/arm/lithium-codegen-arm.cc __ ldr(result, ContextOperand(context, instr->slot_index())); __ 2517 src/arm/lithium-codegen-arm.cc __ LoadRoot(ip, Heap::kTheHoleValueRootIndex); __ 2518 src/arm/lithium-codegen-arm.cc __ cmp(result, ip); __ 2522 src/arm/lithium-codegen-arm.cc __ mov(result, Operand(factory()->undefined_value()), LeaveCC, eq); __ 2537 src/arm/lithium-codegen-arm.cc __ ldr(scratch, target); __ 2538 src/arm/lithium-codegen-arm.cc __ LoadRoot(ip, Heap::kTheHoleValueRootIndex); __ 2539 src/arm/lithium-codegen-arm.cc __ cmp(scratch, ip); __ 2543 src/arm/lithium-codegen-arm.cc __ b(ne, &skip_assignment); __ 2547 src/arm/lithium-codegen-arm.cc __ str(value, target); __ 2552 src/arm/lithium-codegen-arm.cc __ RecordWriteContextSlot(context, __ 2562 src/arm/lithium-codegen-arm.cc __ bind(&skip_assignment); __ 2570 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(object, instr->hydrogen()->offset())); __ 2572 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(object, JSObject::kPropertiesOffset)); __ 2573 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(result, instr->hydrogen()->offset())); __ 2592 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(object, offset + type->instance_size())); __ 2595 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(object, JSObject::kPropertiesOffset)); __ 2596 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(result, offset + FixedArray::kHeaderSize)); __ 2600 src/arm/lithium-codegen-arm.cc __ LoadHeapObject(result, function); __ 2607 src/arm/lithium-codegen-arm.cc __ LoadHeapObject(result, current); __ 2608 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(result, HeapObject::kMapOffset)); __ 2609 src/arm/lithium-codegen-arm.cc __ cmp(result, Operand(Handle<Map>(current->map()))); __ 2614 src/arm/lithium-codegen-arm.cc __ LoadRoot(result, Heap::kUndefinedValueRootIndex); __ 2633 src/arm/lithium-codegen-arm.cc __ ldr(object_map, FieldMemOperand(object, HeapObject::kMapOffset)); __ 2638 src/arm/lithium-codegen-arm.cc __ CompareMap( __ 2642 src/arm/lithium-codegen-arm.cc __ bind(&check_passed); __ 2647 src/arm/lithium-codegen-arm.cc __ b(ne, &next); __ 2648 src/arm/lithium-codegen-arm.cc __ bind(&check_passed); __ 2651 src/arm/lithium-codegen-arm.cc __ b(&done); __ 2652 src/arm/lithium-codegen-arm.cc __ bind(&next); __ 2656 src/arm/lithium-codegen-arm.cc __ mov(r2, Operand(name)); __ 2660 src/arm/lithium-codegen-arm.cc __ bind(&done); __ 2669 src/arm/lithium-codegen-arm.cc __ mov(r2, Operand(instr->name())); __ 2682 src/arm/lithium-codegen-arm.cc __ CompareObjectType(function, result, scratch, JS_FUNCTION_TYPE); __ 2687 src/arm/lithium-codegen-arm.cc __ ldrb(scratch, FieldMemOperand(result, Map::kBitFieldOffset)); __ 2688 src/arm/lithium-codegen-arm.cc __ tst(scratch, Operand(1 << Map::kHasNonInstancePrototype)); __ 2689 src/arm/lithium-codegen-arm.cc __ b(ne, &non_instance); __ 2692 src/arm/lithium-codegen-arm.cc __ ldr(result, __ 2696 src/arm/lithium-codegen-arm.cc __ LoadRoot(ip, Heap::kTheHoleValueRootIndex); __ 2697 src/arm/lithium-codegen-arm.cc __ cmp(result, ip); __ 2702 src/arm/lithium-codegen-arm.cc __ CompareObjectType(result, scratch, scratch, MAP_TYPE); __ 2703 src/arm/lithium-codegen-arm.cc __ b(ne, &done); __ 2706 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(result, Map::kPrototypeOffset)); __ 2707 src/arm/lithium-codegen-arm.cc __ jmp(&done); __ 2711 src/arm/lithium-codegen-arm.cc __ bind(&non_instance); __ 2712 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(result, Map::kConstructorOffset)); __ 2715 src/arm/lithium-codegen-arm.cc __ bind(&done); __ 2724 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(input, JSObject::kElementsOffset)); __ 2727 src/arm/lithium-codegen-arm.cc __ ldr(scratch, FieldMemOperand(result, HeapObject::kMapOffset)); __ 2728 src/arm/lithium-codegen-arm.cc __ LoadRoot(ip, Heap::kFixedArrayMapRootIndex); __ 2729 src/arm/lithium-codegen-arm.cc __ cmp(scratch, ip); __ 2730 src/arm/lithium-codegen-arm.cc __ b(eq, &done); __ 2731 src/arm/lithium-codegen-arm.cc __ LoadRoot(ip, Heap::kFixedCOWArrayMapRootIndex); __ 2732 src/arm/lithium-codegen-arm.cc __ cmp(scratch, ip); __ 2733 src/arm/lithium-codegen-arm.cc __ b(eq, &done); __ 2735 src/arm/lithium-codegen-arm.cc __ ldr(scratch, FieldMemOperand(scratch, Map::kBitField2Offset)); __ 2736 src/arm/lithium-codegen-arm.cc __ ubfx(scratch, scratch, Map::kElementsKindShift, __ 2738 src/arm/lithium-codegen-arm.cc __ cmp(scratch, Operand(GetInitialFastElementsKind())); __ 2739 src/arm/lithium-codegen-arm.cc __ b(lt, &fail); __ 2740 src/arm/lithium-codegen-arm.cc __ cmp(scratch, Operand(TERMINAL_FAST_ELEMENTS_KIND)); __ 2741 src/arm/lithium-codegen-arm.cc __ b(le, &done); __ 2742 src/arm/lithium-codegen-arm.cc __ cmp(scratch, Operand(FIRST_EXTERNAL_ARRAY_ELEMENTS_KIND)); __ 2743 src/arm/lithium-codegen-arm.cc __ b(lt, &fail); __ 2744 src/arm/lithium-codegen-arm.cc __ cmp(scratch, Operand(LAST_EXTERNAL_ARRAY_ELEMENTS_KIND)); __ 2745 src/arm/lithium-codegen-arm.cc __ b(le, &done); __ 2746 src/arm/lithium-codegen-arm.cc __ bind(&fail); __ 2747 src/arm/lithium-codegen-arm.cc __ Abort("Check for fast or external elements failed."); __ 2748 src/arm/lithium-codegen-arm.cc __ bind(&done); __ 2757 src/arm/lithium-codegen-arm.cc __ ldr(to_reg, FieldMemOperand(from_reg, __ 2770 src/arm/lithium-codegen-arm.cc __ sub(length, length, index, SetCC); __ 2775 src/arm/lithium-codegen-arm.cc __ add(length, length, Operand(1)); __ 2776 src/arm/lithium-codegen-arm.cc __ ldr(result, MemOperand(arguments, length, LSL, kPointerSizeLog2)); __ 2787 src/arm/lithium-codegen-arm.cc __ add(scratch, elements, Operand(key, LSL, kPointerSizeLog2)); __ 2790 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(scratch, offset)); __ 2795 src/arm/lithium-codegen-arm.cc __ tst(result, Operand(kSmiTagMask)); __ 2798 src/arm/lithium-codegen-arm.cc __ LoadRoot(scratch, Heap::kTheHoleValueRootIndex); __ 2799 src/arm/lithium-codegen-arm.cc __ cmp(result, scratch); __ 2830 src/arm/lithium-codegen-arm.cc __ add(elements, elements, operand); __ 2832 src/arm/lithium-codegen-arm.cc __ add(elements, elements, __ 2838 src/arm/lithium-codegen-arm.cc __ ldr(scratch, MemOperand(elements, sizeof(kHoleNanLower32))); __ 2839 src/arm/lithium-codegen-arm.cc __ cmp(scratch, Operand(kHoleNanUpper32)); __ 2843 src/arm/lithium-codegen-arm.cc __ vldr(result, elements, 0); __ 2872 src/arm/lithium-codegen-arm.cc __ add(scratch0(), external_pointer, operand); __ 2874 src/arm/lithium-codegen-arm.cc __ vldr(result.low(), scratch0(), additional_offset); __ 2875 src/arm/lithium-codegen-arm.cc __ vcvt_f64_f32(result, result.low()); __ 2877 src/arm/lithium-codegen-arm.cc __ vldr(result, scratch0(), additional_offset); __ 2882 src/arm/lithium-codegen-arm.cc __ add(scratch0(), key, Operand(instr->additional_index())); __ 2892 src/arm/lithium-codegen-arm.cc __ ldrsb(result, mem_operand); __ 2896 src/arm/lithium-codegen-arm.cc __ ldrb(result, mem_operand); __ 2899 src/arm/lithium-codegen-arm.cc __ ldrsh(result, mem_operand); __ 2902 src/arm/lithium-codegen-arm.cc __ ldrh(result, mem_operand); __ 2905 src/arm/lithium-codegen-arm.cc __ ldr(result, mem_operand); __ 2908 src/arm/lithium-codegen-arm.cc __ ldr(result, mem_operand); __ 2909 src/arm/lithium-codegen-arm.cc __ cmp(result, Operand(0x80000000)); __ 2946 src/arm/lithium-codegen-arm.cc __ sub(result, sp, Operand(2 * kPointerSize)); __ 2950 src/arm/lithium-codegen-arm.cc __ ldr(scratch, MemOperand(fp, StandardFrameConstants::kCallerFPOffset)); __ 2951 src/arm/lithium-codegen-arm.cc __ ldr(result, MemOperand(scratch, StandardFrameConstants::kContextOffset)); __ 2952 src/arm/lithium-codegen-arm.cc __ cmp(result, Operand(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR))); __ 2956 src/arm/lithium-codegen-arm.cc __ mov(result, fp, LeaveCC, ne); __ 2957 src/arm/lithium-codegen-arm.cc __ mov(result, scratch, LeaveCC, eq); __ 2969 src/arm/lithium-codegen-arm.cc __ cmp(fp, elem); __ 2970 src/arm/lithium-codegen-arm.cc __ mov(result, Operand(scope()->num_parameters())); __ 2971 src/arm/lithium-codegen-arm.cc __ b(eq, &done); __ 2974 src/arm/lithium-codegen-arm.cc __ ldr(result, MemOperand(fp, StandardFrameConstants::kCallerFPOffset)); __ 2975 src/arm/lithium-codegen-arm.cc __ ldr(result, __ 2977 src/arm/lithium-codegen-arm.cc __ SmiUntag(result); __ 2980 src/arm/lithium-codegen-arm.cc __ bind(&done); __ 2996 src/arm/lithium-codegen-arm.cc __ ldr(scratch, __ 2998 src/arm/lithium-codegen-arm.cc __ ldr(scratch, __ 3000 src/arm/lithium-codegen-arm.cc __ tst(scratch, __ 3002 src/arm/lithium-codegen-arm.cc __ b(ne, &receiver_ok); __ 3005 src/arm/lithium-codegen-arm.cc __ tst(scratch, Operand(1 << (SharedFunctionInfo::kNative + kSmiTagSize))); __ 3006 src/arm/lithium-codegen-arm.cc __ b(ne, &receiver_ok); __ 3009 src/arm/lithium-codegen-arm.cc __ LoadRoot(scratch, Heap::kNullValueRootIndex); __ 3010 src/arm/lithium-codegen-arm.cc __ cmp(receiver, scratch); __ 3011 src/arm/lithium-codegen-arm.cc __ b(eq, &global_object); __ 3012 src/arm/lithium-codegen-arm.cc __ LoadRoot(scratch, Heap::kUndefinedValueRootIndex); __ 3013 src/arm/lithium-codegen-arm.cc __ cmp(receiver, scratch); __ 3014 src/arm/lithium-codegen-arm.cc __ b(eq, &global_object); __ 3017 src/arm/lithium-codegen-arm.cc __ tst(receiver, Operand(kSmiTagMask)); __ 3019 src/arm/lithium-codegen-arm.cc __ CompareObjectType(receiver, scratch, scratch, FIRST_SPEC_OBJECT_TYPE); __ 3021 src/arm/lithium-codegen-arm.cc __ jmp(&receiver_ok); __ 3023 src/arm/lithium-codegen-arm.cc __ bind(&global_object); __ 3024 src/arm/lithium-codegen-arm.cc __ ldr(receiver, GlobalObjectOperand()); __ 3025 src/arm/lithium-codegen-arm.cc __ ldr(receiver, __ 3027 src/arm/lithium-codegen-arm.cc __ bind(&receiver_ok); __ 3044 src/arm/lithium-codegen-arm.cc __ cmp(length, Operand(kArgumentsLimit)); __ 3049 src/arm/lithium-codegen-arm.cc __ push(receiver); __ 3050 src/arm/lithium-codegen-arm.cc __ mov(receiver, length); __ 3052 src/arm/lithium-codegen-arm.cc __ add(elements, elements, Operand(1 * kPointerSize)); __ 3058 src/arm/lithium-codegen-arm.cc __ cmp(length, Operand(0)); __ 3059 src/arm/lithium-codegen-arm.cc __ b(eq, &invoke); __ 3060 src/arm/lithium-codegen-arm.cc __ bind(&loop); __ 3061 src/arm/lithium-codegen-arm.cc __ ldr(scratch, MemOperand(elements, length, LSL, 2)); __ 3062 src/arm/lithium-codegen-arm.cc __ push(scratch); __ 3063 src/arm/lithium-codegen-arm.cc __ sub(length, length, Operand(1), SetCC); __ 3064 src/arm/lithium-codegen-arm.cc __ b(ne, &loop); __ 3066 src/arm/lithium-codegen-arm.cc __ bind(&invoke); __ 3075 src/arm/lithium-codegen-arm.cc __ InvokeFunction(function, actual, CALL_FUNCTION, __ 3077 src/arm/lithium-codegen-arm.cc __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 3087 src/arm/lithium-codegen-arm.cc __ push(argument_reg); __ 3093 src/arm/lithium-codegen-arm.cc __ Drop(instr->count()); __ 3099 src/arm/lithium-codegen-arm.cc __ ldr(result, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); __ 3105 src/arm/lithium-codegen-arm.cc __ mov(result, cp); __ 3112 src/arm/lithium-codegen-arm.cc __ ldr(result, __ 3118 src/arm/lithium-codegen-arm.cc __ push(cp); // The context is the first argument. __ 3119 src/arm/lithium-codegen-arm.cc __ LoadHeapObject(scratch0(), instr->hydrogen()->pairs()); __ 3120 src/arm/lithium-codegen-arm.cc __ push(scratch0()); __ 3121 src/arm/lithium-codegen-arm.cc __ mov(scratch0(), Operand(Smi::FromInt(instr->hydrogen()->flags()))); __ 3122 src/arm/lithium-codegen-arm.cc __ push(scratch0()); __ 3129 src/arm/lithium-codegen-arm.cc __ ldr(result, ContextOperand(cp, Context::GLOBAL_INDEX)); __ 3136 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(global, GlobalObject::kGlobalReceiverOffset)); __ 3153 src/arm/lithium-codegen-arm.cc __ LoadHeapObject(r1, function); __ 3162 src/arm/lithium-codegen-arm.cc __ ldr(cp, FieldMemOperand(r1, JSFunction::kContextOffset)); __ 3168 src/arm/lithium-codegen-arm.cc __ mov(r0, Operand(arity)); __ 3172 src/arm/lithium-codegen-arm.cc __ SetCallKind(r5, call_kind); __ 3173 src/arm/lithium-codegen-arm.cc __ ldr(ip, FieldMemOperand(r1, JSFunction::kCodeEntryOffset)); __ 3174 src/arm/lithium-codegen-arm.cc __ Call(ip); __ 3181 src/arm/lithium-codegen-arm.cc __ InvokeFunction(function, count, CALL_FUNCTION, generator, call_kind); __ 3185 src/arm/lithium-codegen-arm.cc __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 3205 src/arm/lithium-codegen-arm.cc __ ldr(scratch, FieldMemOperand(input, HeapObject::kMapOffset)); __ 3206 src/arm/lithium-codegen-arm.cc __ LoadRoot(ip, Heap::kHeapNumberMapRootIndex); __ 3207 src/arm/lithium-codegen-arm.cc __ cmp(scratch, Operand(ip)); __ 3213 src/arm/lithium-codegen-arm.cc __ ldr(exponent, FieldMemOperand(input, HeapNumber::kExponentOffset)); __ 3216 src/arm/lithium-codegen-arm.cc __ tst(exponent, Operand(HeapNumber::kSignMask)); __ 3218 src/arm/lithium-codegen-arm.cc __ Move(result, input); __ 3219 src/arm/lithium-codegen-arm.cc __ b(eq, &done); __ 3236 src/arm/lithium-codegen-arm.cc __ LoadRoot(tmp4, Heap::kHeapNumberMapRootIndex); __ 3237 src/arm/lithium-codegen-arm.cc __ AllocateHeapNumber(tmp1, tmp2, tmp3, tmp4, &slow); __ 3238 src/arm/lithium-codegen-arm.cc __ b(&allocated); __ 3241 src/arm/lithium-codegen-arm.cc __ bind(&slow); __ 3245 src/arm/lithium-codegen-arm.cc if (!tmp1.is(r0)) __ mov(tmp1, Operand(r0)); __ 3247 src/arm/lithium-codegen-arm.cc __ LoadFromSafepointRegisterSlot(input, input); __ 3248 src/arm/lithium-codegen-arm.cc __ ldr(exponent, FieldMemOperand(input, HeapNumber::kExponentOffset)); __ 3250 src/arm/lithium-codegen-arm.cc __ bind(&allocated); __ 3253 src/arm/lithium-codegen-arm.cc __ bic(exponent, exponent, Operand(HeapNumber::kSignMask)); __ 3254 src/arm/lithium-codegen-arm.cc __ str(exponent, FieldMemOperand(tmp1, HeapNumber::kExponentOffset)); __ 3255 src/arm/lithium-codegen-arm.cc __ ldr(tmp2, FieldMemOperand(input, HeapNumber::kMantissaOffset)); __ 3256 src/arm/lithium-codegen-arm.cc __ str(tmp2, FieldMemOperand(tmp1, HeapNumber::kMantissaOffset)); __ 3258 src/arm/lithium-codegen-arm.cc __ StoreToSafepointRegisterSlot(tmp1, result); __ 3261 src/arm/lithium-codegen-arm.cc __ bind(&done); __ 3268 src/arm/lithium-codegen-arm.cc __ cmp(input, Operand(0)); __ 3269 src/arm/lithium-codegen-arm.cc __ Move(result, input, pl); __ 3273 src/arm/lithium-codegen-arm.cc __ rsb(result, input, Operand(0), SetCC, mi); __ 3298 src/arm/lithium-codegen-arm.cc __ vabs(result, input); __ 3307 src/arm/lithium-codegen-arm.cc __ JumpIfNotSmi(input, deferred->entry()); __ 3310 src/arm/lithium-codegen-arm.cc __ bind(deferred->exit()); __ 3322 src/arm/lithium-codegen-arm.cc __ EmitVFPTruncate(kRoundToMinusInf, __ 3330 src/arm/lithium-codegen-arm.cc __ vmov(result, single_scratch); __ 3335 src/arm/lithium-codegen-arm.cc __ cmp(result, Operand(0)); __ 3336 src/arm/lithium-codegen-arm.cc __ b(ne, &done); __ 3337 src/arm/lithium-codegen-arm.cc __ vmov(scratch1, input.high()); __ 3338 src/arm/lithium-codegen-arm.cc __ tst(scratch1, Operand(HeapNumber::kSignMask)); __ 3340 src/arm/lithium-codegen-arm.cc __ bind(&done); __ 3352 src/arm/lithium-codegen-arm.cc __ vmov(result, input.high()); __ 3353 src/arm/lithium-codegen-arm.cc __ ubfx(scratch, __ 3359 src/arm/lithium-codegen-arm.cc __ cmp(scratch, Operand(HeapNumber::kExponentBias - 2)); __ 3360 src/arm/lithium-codegen-arm.cc __ mov(result, Operand(0), LeaveCC, le); __ 3362 src/arm/lithium-codegen-arm.cc __ b(le, &check_sign_on_zero); __ 3364 src/arm/lithium-codegen-arm.cc __ b(le, &done); __ 3369 src/arm/lithium-codegen-arm.cc __ cmp(scratch, Operand(HeapNumber::kExponentBias + 32)); __ 3373 src/arm/lithium-codegen-arm.cc __ and_(scratch, result, Operand(HeapNumber::kSignMask)); __ 3375 src/arm/lithium-codegen-arm.cc __ Vmov(double_scratch0(), 0.5); __ 3376 src/arm/lithium-codegen-arm.cc __ vadd(double_scratch0(), input, double_scratch0()); __ 3380 src/arm/lithium-codegen-arm.cc __ vmov(result, double_scratch0().high()); __ 3381 src/arm/lithium-codegen-arm.cc __ eor(result, result, Operand(scratch), SetCC); __ 3385 src/arm/lithium-codegen-arm.cc __ mov(result, Operand(0), LeaveCC, mi); __ 3386 src/arm/lithium-codegen-arm.cc __ b(mi, &done); __ 3389 src/arm/lithium-codegen-arm.cc __ EmitVFPTruncate(kRoundToMinusInf, __ 3395 src/arm/lithium-codegen-arm.cc __ vmov(result, double_scratch0().low()); __ 3399 src/arm/lithium-codegen-arm.cc __ cmp(result, Operand(0)); __ 3400 src/arm/lithium-codegen-arm.cc __ b(ne, &done); __ 3401 src/arm/lithium-codegen-arm.cc __ bind(&check_sign_on_zero); __ 3402 src/arm/lithium-codegen-arm.cc __ vmov(scratch, input.high()); __ 3403 src/arm/lithium-codegen-arm.cc __ tst(scratch, Operand(HeapNumber::kSignMask)); __ 3406 src/arm/lithium-codegen-arm.cc __ bind(&done); __ 3413 src/arm/lithium-codegen-arm.cc __ vsqrt(result, input); __ 3426 src/arm/lithium-codegen-arm.cc __ vmov(temp, -V8_INFINITY); __ 3427 src/arm/lithium-codegen-arm.cc __ VFPCompareAndSetFlags(input, temp); __ 3428 src/arm/lithium-codegen-arm.cc __ vneg(result, temp, eq); __ 3429 src/arm/lithium-codegen-arm.cc __ b(&done, eq); __ 3432 src/arm/lithium-codegen-arm.cc __ vadd(result, input, kDoubleRegZero); __ 3433 src/arm/lithium-codegen-arm.cc __ vsqrt(result, result); __ 3434 src/arm/lithium-codegen-arm.cc __ bind(&done); __ 3451 src/arm/lithium-codegen-arm.cc __ JumpIfSmi(r2, &no_deopt); __ 3452 src/arm/lithium-codegen-arm.cc __ ldr(r7, FieldMemOperand(r2, HeapObject::kMapOffset)); __ 3453 src/arm/lithium-codegen-arm.cc __ LoadRoot(ip, Heap::kHeapNumberMapRootIndex); __ 3454 src/arm/lithium-codegen-arm.cc __ cmp(r7, Operand(ip)); __ 3456 src/arm/lithium-codegen-arm.cc __ bind(&no_deopt); __ 3458 src/arm/lithium-codegen-arm.cc __ CallStub(&stub); __ 3461 src/arm/lithium-codegen-arm.cc __ CallStub(&stub); __ 3465 src/arm/lithium-codegen-arm.cc __ CallStub(&stub); __ 3491 src/arm/lithium-codegen-arm.cc __ ldr(r0, FieldMemOperand(r0, GlobalObject::kGlobalContextOffset)); __ 3494 src/arm/lithium-codegen-arm.cc __ ldr(r2, FieldMemOperand(r0, kRandomSeedOffset)); __ 3498 src/arm/lithium-codegen-arm.cc __ ldr(r1, FieldMemOperand(r2, ByteArray::kHeaderSize)); __ 3499 src/arm/lithium-codegen-arm.cc __ cmp(r1, Operand(0)); __ 3500 src/arm/lithium-codegen-arm.cc __ b(eq, deferred->entry()); __ 3502 src/arm/lithium-codegen-arm.cc __ ldr(r0, FieldMemOperand(r2, ByteArray::kHeaderSize + kSeedSize)); __ 3507 src/arm/lithium-codegen-arm.cc __ and_(r3, r1, Operand(0xFFFF)); __ 3508 src/arm/lithium-codegen-arm.cc __ mov(r4, Operand(18273)); __ 3509 src/arm/lithium-codegen-arm.cc __ mul(r3, r3, r4); __ 3510 src/arm/lithium-codegen-arm.cc __ add(r1, r3, Operand(r1, LSR, 16)); __ 3512 src/arm/lithium-codegen-arm.cc __ str(r1, FieldMemOperand(r2, ByteArray::kHeaderSize)); __ 3515 src/arm/lithium-codegen-arm.cc __ and_(r3, r0, Operand(0xFFFF)); __ 3516 src/arm/lithium-codegen-arm.cc __ mov(r4, Operand(36969)); __ 3517 src/arm/lithium-codegen-arm.cc __ mul(r3, r3, r4); __ 3518 src/arm/lithium-codegen-arm.cc __ add(r0, r3, Operand(r0, LSR, 16)); __ 3520 src/arm/lithium-codegen-arm.cc __ str(r0, FieldMemOperand(r2, ByteArray::kHeaderSize + kSeedSize)); __ 3523 src/arm/lithium-codegen-arm.cc __ and_(r0, r0, Operand(0x3FFFF)); __ 3524 src/arm/lithium-codegen-arm.cc __ add(r0, r0, Operand(r1, LSL, 14)); __ 3526 src/arm/lithium-codegen-arm.cc __ bind(deferred->exit()); __ 3529 src/arm/lithium-codegen-arm.cc __ mov(r1, Operand(0x41000000)); __ 3530 src/arm/lithium-codegen-arm.cc __ orr(r1, r1, Operand(0x300000)); __ 3532 src/arm/lithium-codegen-arm.cc __ vmov(d7, r0, r1); __ 3534 src/arm/lithium-codegen-arm.cc __ mov(r0, Operand(0, RelocInfo::NONE)); __ 3535 src/arm/lithium-codegen-arm.cc __ vmov(d8, r0, r1); __ 3537 src/arm/lithium-codegen-arm.cc __ vsub(d7, d7, d8); __ 3542 src/arm/lithium-codegen-arm.cc __ PrepareCallCFunction(1, scratch0()); __ 3543 src/arm/lithium-codegen-arm.cc __ CallCFunction(ExternalReference::random_uint32_function(isolate()), 1); __ 3625 src/arm/lithium-codegen-arm.cc __ InvokeFunction(r1, count, CALL_FUNCTION, generator, CALL_AS_METHOD); __ 3626 src/arm/lithium-codegen-arm.cc __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 3644 src/arm/lithium-codegen-arm.cc __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 3655 src/arm/lithium-codegen-arm.cc __ mov(r2, Operand(instr->name())); __ 3658 src/arm/lithium-codegen-arm.cc __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 3669 src/arm/lithium-codegen-arm.cc __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 3680 src/arm/lithium-codegen-arm.cc __ mov(r2, Operand(instr->name())); __ 3682 src/arm/lithium-codegen-arm.cc __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 3701 src/arm/lithium-codegen-arm.cc __ mov(r0, Operand(instr->arity())); __ 3720 src/arm/lithium-codegen-arm.cc __ mov(scratch, Operand(instr->transition())); __ 3721 src/arm/lithium-codegen-arm.cc __ str(scratch, FieldMemOperand(object, HeapObject::kMapOffset)); __ 3725 src/arm/lithium-codegen-arm.cc __ RecordWriteField(object, __ 3741 src/arm/lithium-codegen-arm.cc __ str(value, FieldMemOperand(object, offset)); __ 3744 src/arm/lithium-codegen-arm.cc __ RecordWriteField(object, __ 3754 src/arm/lithium-codegen-arm.cc __ ldr(scratch, FieldMemOperand(object, JSObject::kPropertiesOffset)); __ 3755 src/arm/lithium-codegen-arm.cc __ str(value, FieldMemOperand(scratch, offset)); __ 3759 src/arm/lithium-codegen-arm.cc __ RecordWriteField(scratch, __ 3777 src/arm/lithium-codegen-arm.cc __ mov(r2, Operand(instr->name())); __ 3786 src/arm/lithium-codegen-arm.cc __ cmp(ToRegister(instr->index()), ToRegister(instr->length())); __ 3804 src/arm/lithium-codegen-arm.cc __ str(value, FieldMemOperand(elements, offset)); __ 3806 src/arm/lithium-codegen-arm.cc __ add(scratch, elements, Operand(key, LSL, kPointerSizeLog2)); __ 3808 src/arm/lithium-codegen-arm.cc __ add(scratch, __ 3812 src/arm/lithium-codegen-arm.cc __ str(value, FieldMemOperand(scratch, FixedArray::kHeaderSize)); __ 3820 src/arm/lithium-codegen-arm.cc __ add(key, scratch, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 3821 src/arm/lithium-codegen-arm.cc __ RecordWrite(elements, __ 3856 src/arm/lithium-codegen-arm.cc __ add(scratch, elements, operand); __ 3858 src/arm/lithium-codegen-arm.cc __ add(scratch, scratch, __ 3864 src/arm/lithium-codegen-arm.cc __ VFPCompareAndSetFlags(value, value); __ 3866 src/arm/lithium-codegen-arm.cc __ Vmov(value, __ 3871 src/arm/lithium-codegen-arm.cc __ vstr(value, scratch, instr->additional_index() << shift_size); __ 3900 src/arm/lithium-codegen-arm.cc __ add(scratch0(), external_pointer, operand); __ 3902 src/arm/lithium-codegen-arm.cc __ vcvt_f32_f64(double_scratch0().low(), value); __ 3903 src/arm/lithium-codegen-arm.cc __ vstr(double_scratch0().low(), scratch0(), additional_offset); __ 3905 src/arm/lithium-codegen-arm.cc __ vstr(value, scratch0(), additional_offset); __ 3910 src/arm/lithium-codegen-arm.cc __ add(scratch0(), key, Operand(instr->additional_index())); __ 3923 src/arm/lithium-codegen-arm.cc __ strb(value, mem_operand); __ 3927 src/arm/lithium-codegen-arm.cc __ strh(value, mem_operand); __ 3931 src/arm/lithium-codegen-arm.cc __ str(value, mem_operand); __ 3973 src/arm/lithium-codegen-arm.cc __ ldr(scratch, FieldMemOperand(object_reg, HeapObject::kMapOffset)); __ 3974 src/arm/lithium-codegen-arm.cc __ cmp(scratch, Operand(from_map)); __ 3975 src/arm/lithium-codegen-arm.cc __ b(ne, ¬_applicable); __ 3976 src/arm/lithium-codegen-arm.cc __ mov(new_map_reg, Operand(to_map)); __ 3979 src/arm/lithium-codegen-arm.cc __ str(new_map_reg, FieldMemOperand(object_reg, HeapObject::kMapOffset)); __ 3981 src/arm/lithium-codegen-arm.cc __ RecordWriteField(object_reg, HeapObject::kMapOffset, new_map_reg, __ 3988 src/arm/lithium-codegen-arm.cc __ mov(fixed_object_reg, object_reg); __ 3996 src/arm/lithium-codegen-arm.cc __ mov(fixed_object_reg, object_reg); __ 4002 src/arm/lithium-codegen-arm.cc __ bind(¬_applicable); __ 4007 src/arm/lithium-codegen-arm.cc __ push(ToRegister(instr->left())); __ 4008 src/arm/lithium-codegen-arm.cc __ push(ToRegister(instr->right())); __ 4033 src/arm/lithium-codegen-arm.cc __ bind(deferred->exit()); __ 4045 src/arm/lithium-codegen-arm.cc __ mov(result, Operand(0)); __ 4048 src/arm/lithium-codegen-arm.cc __ push(string); __ 4053 src/arm/lithium-codegen-arm.cc __ mov(scratch, Operand(Smi::FromInt(const_index))); __ 4054 src/arm/lithium-codegen-arm.cc __ push(scratch); __ 4057 src/arm/lithium-codegen-arm.cc __ SmiTag(index); __ 4058 src/arm/lithium-codegen-arm.cc __ push(index); __ 4062 src/arm/lithium-codegen-arm.cc __ AbortIfNotSmi(r0); __ 4064 src/arm/lithium-codegen-arm.cc __ SmiUntag(r0); __ 4065 src/arm/lithium-codegen-arm.cc __ StoreToSafepointRegisterSlot(r0, result); __ 4088 src/arm/lithium-codegen-arm.cc __ cmp(char_code, Operand(String::kMaxAsciiCharCode)); __ 4089 src/arm/lithium-codegen-arm.cc __ b(hi, deferred->entry()); __ 4090 src/arm/lithium-codegen-arm.cc __ LoadRoot(result, Heap::kSingleCharacterStringCacheRootIndex); __ 4091 src/arm/lithium-codegen-arm.cc __ add(result, result, Operand(char_code, LSL, kPointerSizeLog2)); __ 4092 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(result, FixedArray::kHeaderSize)); __ 4093 src/arm/lithium-codegen-arm.cc __ LoadRoot(ip, Heap::kUndefinedValueRootIndex); __ 4094 src/arm/lithium-codegen-arm.cc __ cmp(result, ip); __ 4095 src/arm/lithium-codegen-arm.cc __ b(eq, deferred->entry()); __ 4096 src/arm/lithium-codegen-arm.cc __ bind(deferred->exit()); __ 4107 src/arm/lithium-codegen-arm.cc __ mov(result, Operand(0)); __ 4110 src/arm/lithium-codegen-arm.cc __ SmiTag(char_code); __ 4111 src/arm/lithium-codegen-arm.cc __ push(char_code); __ 4113 src/arm/lithium-codegen-arm.cc __ StoreToSafepointRegisterSlot(r0, result); __ 4120 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(string, String::kLengthOffset)); __ 4132 src/arm/lithium-codegen-arm.cc __ ldr(scratch, ToMemOperand(input)); __ 4133 src/arm/lithium-codegen-arm.cc __ vmov(single_scratch, scratch); __ 4135 src/arm/lithium-codegen-arm.cc __ vmov(single_scratch, ToRegister(input)); __ 4137 src/arm/lithium-codegen-arm.cc __ vcvt_f64_s32(ToDoubleRegister(output), single_scratch); __ 4156 src/arm/lithium-codegen-arm.cc __ SmiTag(dst, src, SetCC); __ 4157 src/arm/lithium-codegen-arm.cc __ b(vs, deferred->entry()); __ 4158 src/arm/lithium-codegen-arm.cc __ bind(deferred->exit()); __ 4177 src/arm/lithium-codegen-arm.cc __ SmiUntag(src, dst); __ 4178 src/arm/lithium-codegen-arm.cc __ eor(src, src, Operand(0x80000000)); __ 4180 src/arm/lithium-codegen-arm.cc __ vmov(flt_scratch, src); __ 4181 src/arm/lithium-codegen-arm.cc __ vcvt_f64_s32(dbl_scratch, flt_scratch); __ 4183 src/arm/lithium-codegen-arm.cc __ LoadRoot(r6, Heap::kHeapNumberMapRootIndex); __ 4184 src/arm/lithium-codegen-arm.cc __ AllocateHeapNumber(r5, r3, r4, r6, &slow); __ 4185 src/arm/lithium-codegen-arm.cc __ Move(dst, r5); __ 4186 src/arm/lithium-codegen-arm.cc __ b(&done); __ 4190 src/arm/lithium-codegen-arm.cc __ bind(&slow); __ 4195 src/arm/lithium-codegen-arm.cc __ mov(ip, Operand(0)); __ 4196 src/arm/lithium-codegen-arm.cc __ StoreToSafepointRegisterSlot(ip, dst); __ 4198 src/arm/lithium-codegen-arm.cc __ Move(dst, r0); __ 4202 src/arm/lithium-codegen-arm.cc __ bind(&done); __ 4203 src/arm/lithium-codegen-arm.cc __ sub(ip, dst, Operand(kHeapObjectTag)); __ 4204 src/arm/lithium-codegen-arm.cc __ vstr(dbl_scratch, ip, HeapNumber::kValueOffset); __ 4205 src/arm/lithium-codegen-arm.cc __ StoreToSafepointRegisterSlot(dst, dst); __ 4228 src/arm/lithium-codegen-arm.cc __ LoadRoot(scratch, Heap::kHeapNumberMapRootIndex); __ 4229 src/arm/lithium-codegen-arm.cc __ AllocateHeapNumber(reg, temp1, temp2, scratch, deferred->entry()); __ 4231 src/arm/lithium-codegen-arm.cc __ jmp(deferred->entry()); __ 4233 src/arm/lithium-codegen-arm.cc __ bind(deferred->exit()); __ 4234 src/arm/lithium-codegen-arm.cc __ sub(ip, reg, Operand(kHeapObjectTag)); __ 4235 src/arm/lithium-codegen-arm.cc __ vstr(input_reg, ip, HeapNumber::kValueOffset); __ 4244 src/arm/lithium-codegen-arm.cc __ mov(reg, Operand(0)); __ 4248 src/arm/lithium-codegen-arm.cc __ StoreToSafepointRegisterSlot(r0, reg); __ 4254 src/arm/lithium-codegen-arm.cc __ SmiTag(ToRegister(instr->result()), ToRegister(instr->InputAt(0))); __ 4264 src/arm/lithium-codegen-arm.cc __ SmiUntag(result, input, SetCC); __ 4267 src/arm/lithium-codegen-arm.cc __ SmiUntag(result, input); __ 4284 src/arm/lithium-codegen-arm.cc __ UntagAndJumpIfSmi(scratch, input_reg, &load_smi); __ 4287 src/arm/lithium-codegen-arm.cc __ ldr(scratch, FieldMemOperand(input_reg, HeapObject::kMapOffset)); __ 4288 src/arm/lithium-codegen-arm.cc __ LoadRoot(ip, Heap::kHeapNumberMapRootIndex); __ 4289 src/arm/lithium-codegen-arm.cc __ cmp(scratch, Operand(ip)); __ 4294 src/arm/lithium-codegen-arm.cc __ b(eq, &heap_number); __ 4296 src/arm/lithium-codegen-arm.cc __ LoadRoot(ip, Heap::kUndefinedValueRootIndex); __ 4297 src/arm/lithium-codegen-arm.cc __ cmp(input_reg, Operand(ip)); __ 4301 src/arm/lithium-codegen-arm.cc __ LoadRoot(ip, Heap::kNanValueRootIndex); __ 4302 src/arm/lithium-codegen-arm.cc __ sub(ip, ip, Operand(kHeapObjectTag)); __ 4303 src/arm/lithium-codegen-arm.cc __ vldr(result_reg, ip, HeapNumber::kValueOffset); __ 4304 src/arm/lithium-codegen-arm.cc __ jmp(&done); __ 4306 src/arm/lithium-codegen-arm.cc __ bind(&heap_number); __ 4309 src/arm/lithium-codegen-arm.cc __ sub(ip, input_reg, Operand(kHeapObjectTag)); __ 4310 src/arm/lithium-codegen-arm.cc __ vldr(result_reg, ip, HeapNumber::kValueOffset); __ 4312 src/arm/lithium-codegen-arm.cc __ vmov(ip, result_reg.low()); __ 4313 src/arm/lithium-codegen-arm.cc __ cmp(ip, Operand(0)); __ 4314 src/arm/lithium-codegen-arm.cc __ b(ne, &done); __ 4315 src/arm/lithium-codegen-arm.cc __ vmov(ip, result_reg.high()); __ 4316 src/arm/lithium-codegen-arm.cc __ cmp(ip, Operand(HeapNumber::kSignMask)); __ 4319 src/arm/lithium-codegen-arm.cc __ jmp(&done); __ 4322 src/arm/lithium-codegen-arm.cc __ bind(&load_smi); __ 4324 src/arm/lithium-codegen-arm.cc __ vmov(flt_scratch, scratch); __ 4325 src/arm/lithium-codegen-arm.cc __ vcvt_f64_s32(result_reg, flt_scratch); __ 4326 src/arm/lithium-codegen-arm.cc __ bind(&done); __ 4346 src/arm/lithium-codegen-arm.cc __ adc(input_reg, input_reg, Operand(input_reg)); __ 4349 src/arm/lithium-codegen-arm.cc __ ldr(scratch1, FieldMemOperand(input_reg, HeapObject::kMapOffset)); __ 4350 src/arm/lithium-codegen-arm.cc __ LoadRoot(ip, Heap::kHeapNumberMapRootIndex); __ 4351 src/arm/lithium-codegen-arm.cc __ cmp(scratch1, Operand(ip)); __ 4362 src/arm/lithium-codegen-arm.cc __ b(eq, &heap_number); __ 4365 src/arm/lithium-codegen-arm.cc __ LoadRoot(ip, Heap::kUndefinedValueRootIndex); __ 4366 src/arm/lithium-codegen-arm.cc __ cmp(input_reg, Operand(ip)); __ 4368 src/arm/lithium-codegen-arm.cc __ mov(input_reg, Operand(0)); __ 4369 src/arm/lithium-codegen-arm.cc __ b(&done); __ 4371 src/arm/lithium-codegen-arm.cc __ bind(&heap_number); __ 4372 src/arm/lithium-codegen-arm.cc __ sub(scratch1, input_reg, Operand(kHeapObjectTag)); __ 4373 src/arm/lithium-codegen-arm.cc __ vldr(double_scratch2, scratch1, HeapNumber::kValueOffset); __ 4375 src/arm/lithium-codegen-arm.cc __ EmitECMATruncate(input_reg, __ 4387 src/arm/lithium-codegen-arm.cc __ sub(ip, input_reg, Operand(kHeapObjectTag)); __ 4388 src/arm/lithium-codegen-arm.cc __ vldr(double_scratch, ip, HeapNumber::kValueOffset); __ 4389 src/arm/lithium-codegen-arm.cc __ EmitVFPTruncate(kRoundToZero, __ 4397 src/arm/lithium-codegen-arm.cc __ vmov(input_reg, single_scratch); __ 4400 src/arm/lithium-codegen-arm.cc __ cmp(input_reg, Operand(0)); __ 4401 src/arm/lithium-codegen-arm.cc __ b(ne, &done); __ 4402 src/arm/lithium-codegen-arm.cc __ vmov(scratch1, double_scratch.high()); __ 4403 src/arm/lithium-codegen-arm.cc __ tst(scratch1, Operand(HeapNumber::kSignMask)); __ 4407 src/arm/lithium-codegen-arm.cc __ bind(&done); __ 4432 src/arm/lithium-codegen-arm.cc __ SmiUntag(input_reg, SetCC); __ 4435 src/arm/lithium-codegen-arm.cc __ b(cs, deferred->entry()); __ 4436 src/arm/lithium-codegen-arm.cc __ bind(deferred->exit()); __ 4467 src/arm/lithium-codegen-arm.cc __ EmitECMATruncate(result_reg, __ 4475 src/arm/lithium-codegen-arm.cc __ EmitVFPTruncate(rounding_mode, __ 4485 src/arm/lithium-codegen-arm.cc __ vmov(result_reg, single_scratch); __ 4487 src/arm/lithium-codegen-arm.cc __ bind(&done); __ 4493 src/arm/lithium-codegen-arm.cc __ tst(ToRegister(input), Operand(kSmiTagMask)); __ 4500 src/arm/lithium-codegen-arm.cc __ tst(ToRegister(input), Operand(kSmiTagMask)); __ 4509 src/arm/lithium-codegen-arm.cc __ ldr(scratch, FieldMemOperand(input, HeapObject::kMapOffset)); __ 4510 src/arm/lithium-codegen-arm.cc __ ldrb(scratch, FieldMemOperand(scratch, Map::kInstanceTypeOffset)); __ 4517 src/arm/lithium-codegen-arm.cc __ cmp(scratch, Operand(first)); __ 4526 src/arm/lithium-codegen-arm.cc __ cmp(scratch, Operand(last)); __ 4537 src/arm/lithium-codegen-arm.cc __ tst(scratch, Operand(mask)); __ 4540 src/arm/lithium-codegen-arm.cc __ and_(scratch, scratch, Operand(mask)); __ 4541 src/arm/lithium-codegen-arm.cc __ cmp(scratch, Operand(tag)); __ 4555 src/arm/lithium-codegen-arm.cc __ mov(ip, Operand(Handle<Object>(cell))); __ 4556 src/arm/lithium-codegen-arm.cc __ ldr(ip, FieldMemOperand(ip, JSGlobalPropertyCell::kValueOffset)); __ 4557 src/arm/lithium-codegen-arm.cc __ cmp(reg, ip); __ 4559 src/arm/lithium-codegen-arm.cc __ cmp(reg, Operand(target)); __ 4571 src/arm/lithium-codegen-arm.cc __ CompareMap(reg, scratch, map, &success, mode); __ 4573 src/arm/lithium-codegen-arm.cc __ bind(&success); __ 4587 src/arm/lithium-codegen-arm.cc __ CompareMap(reg, scratch, map, &success, REQUIRE_EXACT_MAP); __ 4588 src/arm/lithium-codegen-arm.cc __ b(eq, &success); __ 4592 src/arm/lithium-codegen-arm.cc __ bind(&success); __ 4600 src/arm/lithium-codegen-arm.cc __ ClampDoubleToUint8(result_reg, value_reg, temp_reg); __ 4607 src/arm/lithium-codegen-arm.cc __ ClampUint8(result_reg, unclamped_reg); __ 4619 src/arm/lithium-codegen-arm.cc __ UntagAndJumpIfSmi(result_reg, input_reg, &is_smi); __ 4622 src/arm/lithium-codegen-arm.cc __ ldr(scratch, FieldMemOperand(input_reg, HeapObject::kMapOffset)); __ 4623 src/arm/lithium-codegen-arm.cc __ cmp(scratch, Operand(factory()->heap_number_map())); __ 4624 src/arm/lithium-codegen-arm.cc __ b(eq, &heap_number); __ 4628 src/arm/lithium-codegen-arm.cc __ cmp(input_reg, Operand(factory()->undefined_value())); __ 4630 src/arm/lithium-codegen-arm.cc __ mov(result_reg, Operand(0)); __ 4631 src/arm/lithium-codegen-arm.cc __ jmp(&done); __ 4634 src/arm/lithium-codegen-arm.cc __ bind(&heap_number); __ 4635 src/arm/lithium-codegen-arm.cc __ vldr(double_scratch0(), FieldMemOperand(input_reg, __ 4637 src/arm/lithium-codegen-arm.cc __ ClampDoubleToUint8(result_reg, double_scratch0(), temp_reg); __ 4638 src/arm/lithium-codegen-arm.cc __ jmp(&done); __ 4641 src/arm/lithium-codegen-arm.cc __ bind(&is_smi); __ 4642 src/arm/lithium-codegen-arm.cc __ ClampUint8(result_reg, result_reg); __ 4644 src/arm/lithium-codegen-arm.cc __ bind(&done); __ 4656 src/arm/lithium-codegen-arm.cc __ LoadHeapObject(temp1, current_prototype); __ 4666 src/arm/lithium-codegen-arm.cc __ LoadHeapObject(temp1, current_prototype); __ 4705 src/arm/lithium-codegen-arm.cc __ AllocateInNewSpace(instance_size, __ 4712 src/arm/lithium-codegen-arm.cc __ bind(deferred->exit()); __ 4715 src/arm/lithium-codegen-arm.cc __ JumpIfInNewSpace(result, scratch, &is_in_new_space); __ 4716 src/arm/lithium-codegen-arm.cc __ Abort("Allocated object is not in new-space"); __ 4717 src/arm/lithium-codegen-arm.cc __ bind(&is_in_new_space); __ 4722 src/arm/lithium-codegen-arm.cc __ LoadHeapObject(map, constructor); __ 4723 src/arm/lithium-codegen-arm.cc __ ldr(map, FieldMemOperand(map, JSFunction::kPrototypeOrInitialMapOffset)); __ 4727 src/arm/lithium-codegen-arm.cc __ str(map, FieldMemOperand(result, JSObject::kMapOffset)); __ 4728 src/arm/lithium-codegen-arm.cc __ LoadRoot(scratch, Heap::kEmptyFixedArrayRootIndex); __ 4729 src/arm/lithium-codegen-arm.cc __ str(scratch, FieldMemOperand(result, JSObject::kElementsOffset)); __ 4730 src/arm/lithium-codegen-arm.cc __ str(scratch, FieldMemOperand(result, JSObject::kPropertiesOffset)); __ 4732 src/arm/lithium-codegen-arm.cc __ LoadRoot(scratch, Heap::kUndefinedValueRootIndex); __ 4735 src/arm/lithium-codegen-arm.cc __ str(scratch, FieldMemOperand(result, property_offset)); __ 4750 src/arm/lithium-codegen-arm.cc __ mov(result, Operand(0)); __ 4753 src/arm/lithium-codegen-arm.cc __ mov(r0, Operand(Smi::FromInt(instance_size))); __ 4754 src/arm/lithium-codegen-arm.cc __ push(r0); __ 4756 src/arm/lithium-codegen-arm.cc __ StoreToSafepointRegisterSlot(r0, result); __ 4770 src/arm/lithium-codegen-arm.cc __ LoadHeapObject(r1, instr->hydrogen()->boilerplate_object()); __ 4772 src/arm/lithium-codegen-arm.cc __ ldr(r2, FieldMemOperand(r1, HeapObject::kMapOffset)); __ 4774 src/arm/lithium-codegen-arm.cc __ ldrb(r2, FieldMemOperand(r2, Map::kBitField2Offset)); __ 4776 src/arm/lithium-codegen-arm.cc __ ubfx(r2, r2, Map::kElementsKindShift, Map::kElementsKindBitCount); __ 4777 src/arm/lithium-codegen-arm.cc __ cmp(r2, Operand(boilerplate_elements_kind)); __ 4782 src/arm/lithium-codegen-arm.cc __ LoadHeapObject(r3, literals); __ 4783 src/arm/lithium-codegen-arm.cc __ mov(r2, Operand(Smi::FromInt(instr->hydrogen()->literal_index()))); __ 4786 src/arm/lithium-codegen-arm.cc __ mov(r1, Operand(isolate()->factory()->empty_fixed_array())); __ 4787 src/arm/lithium-codegen-arm.cc __ Push(r3, r2, r1); __ 4838 src/arm/lithium-codegen-arm.cc __ add(r2, result, Operand(elements_offset)); __ 4840 src/arm/lithium-codegen-arm.cc __ ldr(r2, FieldMemOperand(source, i)); __ 4842 src/arm/lithium-codegen-arm.cc __ str(r2, FieldMemOperand(result, object_offset + i)); __ 4851 src/arm/lithium-codegen-arm.cc __ add(r2, result, Operand(*offset)); __ 4852 src/arm/lithium-codegen-arm.cc __ str(r2, FieldMemOperand(result, total_offset)); __ 4853 src/arm/lithium-codegen-arm.cc __ LoadHeapObject(source, value_object); __ 4856 src/arm/lithium-codegen-arm.cc __ LoadHeapObject(r2, Handle<HeapObject>::cast(value)); __ 4857 src/arm/lithium-codegen-arm.cc __ str(r2, FieldMemOperand(result, total_offset)); __ 4859 src/arm/lithium-codegen-arm.cc __ mov(r2, Operand(value)); __ 4860 src/arm/lithium-codegen-arm.cc __ str(r2, FieldMemOperand(result, total_offset)); __ 4866 src/arm/lithium-codegen-arm.cc __ LoadHeapObject(source, elements); __ 4868 src/arm/lithium-codegen-arm.cc __ ldr(r2, FieldMemOperand(source, i)); __ 4869 src/arm/lithium-codegen-arm.cc __ str(r2, FieldMemOperand(result, elements_offset + i)); __ 4884 src/arm/lithium-codegen-arm.cc __ mov(r2, Operand(value_low)); __ 4885 src/arm/lithium-codegen-arm.cc __ str(r2, FieldMemOperand(result, total_offset)); __ 4886 src/arm/lithium-codegen-arm.cc __ mov(r2, Operand(value_high)); __ 4887 src/arm/lithium-codegen-arm.cc __ str(r2, FieldMemOperand(result, total_offset + 4)); __ 4896 src/arm/lithium-codegen-arm.cc __ add(r2, result, Operand(*offset)); __ 4897 src/arm/lithium-codegen-arm.cc __ str(r2, FieldMemOperand(result, total_offset)); __ 4898 src/arm/lithium-codegen-arm.cc __ LoadHeapObject(source, value_object); __ 4901 src/arm/lithium-codegen-arm.cc __ LoadHeapObject(r2, Handle<HeapObject>::cast(value)); __ 4902 src/arm/lithium-codegen-arm.cc __ str(r2, FieldMemOperand(result, total_offset)); __ 4904 src/arm/lithium-codegen-arm.cc __ mov(r2, Operand(value)); __ 4905 src/arm/lithium-codegen-arm.cc __ str(r2, FieldMemOperand(result, total_offset)); __ 4925 src/arm/lithium-codegen-arm.cc __ LoadHeapObject(r1, instr->hydrogen()->boilerplate()); __ 4927 src/arm/lithium-codegen-arm.cc __ ldr(r2, FieldMemOperand(r1, HeapObject::kMapOffset)); __ 4929 src/arm/lithium-codegen-arm.cc __ ldrb(r2, FieldMemOperand(r2, Map::kBitField2Offset)); __ 4931 src/arm/lithium-codegen-arm.cc __ ubfx(r2, r2, Map::kElementsKindShift, Map::kElementsKindBitCount); __ 4932 src/arm/lithium-codegen-arm.cc __ cmp(r2, Operand(boilerplate_elements_kind)); __ 4939 src/arm/lithium-codegen-arm.cc __ AllocateInNewSpace(size, r0, r2, r3, &runtime_allocate, TAG_OBJECT); __ 4940 src/arm/lithium-codegen-arm.cc __ jmp(&allocated); __ 4942 src/arm/lithium-codegen-arm.cc __ bind(&runtime_allocate); __ 4943 src/arm/lithium-codegen-arm.cc __ mov(r0, Operand(Smi::FromInt(size))); __ 4944 src/arm/lithium-codegen-arm.cc __ push(r0); __ 4947 src/arm/lithium-codegen-arm.cc __ bind(&allocated); __ 4949 src/arm/lithium-codegen-arm.cc __ LoadHeapObject(r1, instr->hydrogen()->boilerplate()); __ 4961 src/arm/lithium-codegen-arm.cc __ LoadHeapObject(r4, literals); __ 4962 src/arm/lithium-codegen-arm.cc __ mov(r3, Operand(Smi::FromInt(instr->hydrogen()->literal_index()))); __ 4963 src/arm/lithium-codegen-arm.cc __ mov(r2, Operand(constant_properties)); __ 4967 src/arm/lithium-codegen-arm.cc __ mov(r1, Operand(Smi::FromInt(flags))); __ 4968 src/arm/lithium-codegen-arm.cc __ Push(r4, r3, r2, r1); __ 4986 src/arm/lithium-codegen-arm.cc __ push(r0); __ 5000 src/arm/lithium-codegen-arm.cc __ LoadHeapObject(r7, instr->hydrogen()->literals()); __ 5001 src/arm/lithium-codegen-arm.cc __ ldr(r1, FieldMemOperand(r7, literal_offset)); __ 5002 src/arm/lithium-codegen-arm.cc __ LoadRoot(ip, Heap::kUndefinedValueRootIndex); __ 5003 src/arm/lithium-codegen-arm.cc __ cmp(r1, ip); __ 5004 src/arm/lithium-codegen-arm.cc __ b(ne, &materialized); __ 5008 src/arm/lithium-codegen-arm.cc __ mov(r6, Operand(Smi::FromInt(instr->hydrogen()->literal_index()))); __ 5009 src/arm/lithium-codegen-arm.cc __ mov(r5, Operand(instr->hydrogen()->pattern())); __ 5010 src/arm/lithium-codegen-arm.cc __ mov(r4, Operand(instr->hydrogen()->flags())); __ 5011 src/arm/lithium-codegen-arm.cc __ Push(r7, r6, r5, r4); __ 5013 src/arm/lithium-codegen-arm.cc __ mov(r1, r0); __ 5015 src/arm/lithium-codegen-arm.cc __ bind(&materialized); __ 5019 src/arm/lithium-codegen-arm.cc __ AllocateInNewSpace(size, r0, r2, r3, &runtime_allocate, TAG_OBJECT); __ 5020 src/arm/lithium-codegen-arm.cc __ jmp(&allocated); __ 5022 src/arm/lithium-codegen-arm.cc __ bind(&runtime_allocate); __ 5023 src/arm/lithium-codegen-arm.cc __ mov(r0, Operand(Smi::FromInt(size))); __ 5024 src/arm/lithium-codegen-arm.cc __ Push(r1, r0); __ 5026 src/arm/lithium-codegen-arm.cc __ pop(r1); __ 5028 src/arm/lithium-codegen-arm.cc __ bind(&allocated); __ 5032 src/arm/lithium-codegen-arm.cc __ ldr(r3, FieldMemOperand(r1, i)); __ 5033 src/arm/lithium-codegen-arm.cc __ ldr(r2, FieldMemOperand(r1, i + kPointerSize)); __ 5034 src/arm/lithium-codegen-arm.cc __ str(r3, FieldMemOperand(r0, i)); __ 5035 src/arm/lithium-codegen-arm.cc __ str(r2, FieldMemOperand(r0, i + kPointerSize)); __ 5038 src/arm/lithium-codegen-arm.cc __ ldr(r3, FieldMemOperand(r1, size - kPointerSize)); __ 5039 src/arm/lithium-codegen-arm.cc __ str(r3, FieldMemOperand(r0, size - kPointerSize)); __ 5051 src/arm/lithium-codegen-arm.cc __ mov(r1, Operand(shared_info)); __ 5052 src/arm/lithium-codegen-arm.cc __ push(r1); __ 5055 src/arm/lithium-codegen-arm.cc __ mov(r2, Operand(shared_info)); __ 5056 src/arm/lithium-codegen-arm.cc __ mov(r1, Operand(pretenure __ 5059 src/arm/lithium-codegen-arm.cc __ Push(cp, r2, r1); __ 5067 src/arm/lithium-codegen-arm.cc __ push(input); __ 5096 src/arm/lithium-codegen-arm.cc __ JumpIfSmi(input, true_label); __ 5097 src/arm/lithium-codegen-arm.cc __ ldr(input, FieldMemOperand(input, HeapObject::kMapOffset)); __ 5098 src/arm/lithium-codegen-arm.cc __ LoadRoot(ip, Heap::kHeapNumberMapRootIndex); __ 5099 src/arm/lithium-codegen-arm.cc __ cmp(input, Operand(ip)); __ 5103 src/arm/lithium-codegen-arm.cc __ JumpIfSmi(input, false_label); __ 5104 src/arm/lithium-codegen-arm.cc __ CompareObjectType(input, input, scratch, FIRST_NONSTRING_TYPE); __ 5105 src/arm/lithium-codegen-arm.cc __ b(ge, false_label); __ 5106 src/arm/lithium-codegen-arm.cc __ ldrb(ip, FieldMemOperand(input, Map::kBitFieldOffset)); __ 5107 src/arm/lithium-codegen-arm.cc __ tst(ip, Operand(1 << Map::kIsUndetectable)); __ 5111 src/arm/lithium-codegen-arm.cc __ CompareRoot(input, Heap::kTrueValueRootIndex); __ 5112 src/arm/lithium-codegen-arm.cc __ b(eq, true_label); __ 5113 src/arm/lithium-codegen-arm.cc __ CompareRoot(input, Heap::kFalseValueRootIndex); __ 5117 src/arm/lithium-codegen-arm.cc __ CompareRoot(input, Heap::kNullValueRootIndex); __ 5121 src/arm/lithium-codegen-arm.cc __ CompareRoot(input, Heap::kUndefinedValueRootIndex); __ 5122 src/arm/lithium-codegen-arm.cc __ b(eq, true_label); __ 5123 src/arm/lithium-codegen-arm.cc __ JumpIfSmi(input, false_label); __ 5125 src/arm/lithium-codegen-arm.cc __ ldr(input, FieldMemOperand(input, HeapObject::kMapOffset)); __ 5126 src/arm/lithium-codegen-arm.cc __ ldrb(ip, FieldMemOperand(input, Map::kBitFieldOffset)); __ 5127 src/arm/lithium-codegen-arm.cc __ tst(ip, Operand(1 << Map::kIsUndetectable)); __ 5132 src/arm/lithium-codegen-arm.cc __ JumpIfSmi(input, false_label); __ 5133 src/arm/lithium-codegen-arm.cc __ CompareObjectType(input, scratch, input, JS_FUNCTION_TYPE); __ 5134 src/arm/lithium-codegen-arm.cc __ b(eq, true_label); __ 5135 src/arm/lithium-codegen-arm.cc __ cmp(input, Operand(JS_FUNCTION_PROXY_TYPE)); __ 5139 src/arm/lithium-codegen-arm.cc __ JumpIfSmi(input, false_label); __ 5141 src/arm/lithium-codegen-arm.cc __ CompareRoot(input, Heap::kNullValueRootIndex); __ 5142 src/arm/lithium-codegen-arm.cc __ b(eq, true_label); __ 5144 src/arm/lithium-codegen-arm.cc __ CompareObjectType(input, input, scratch, __ 5146 src/arm/lithium-codegen-arm.cc __ b(lt, false_label); __ 5147 src/arm/lithium-codegen-arm.cc __ CompareInstanceType(input, scratch, LAST_NONCALLABLE_SPEC_OBJECT_TYPE); __ 5148 src/arm/lithium-codegen-arm.cc __ b(gt, false_label); __ 5150 src/arm/lithium-codegen-arm.cc __ ldrb(ip, FieldMemOperand(input, Map::kBitFieldOffset)); __ 5151 src/arm/lithium-codegen-arm.cc __ tst(ip, Operand(1 << Map::kIsUndetectable)); __ 5155 src/arm/lithium-codegen-arm.cc __ b(false_label); __ 5175 src/arm/lithium-codegen-arm.cc __ ldr(temp1, MemOperand(fp, StandardFrameConstants::kCallerFPOffset)); __ 5179 src/arm/lithium-codegen-arm.cc __ ldr(temp2, MemOperand(temp1, StandardFrameConstants::kContextOffset)); __ 5180 src/arm/lithium-codegen-arm.cc __ cmp(temp2, Operand(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR))); __ 5181 src/arm/lithium-codegen-arm.cc __ b(ne, &check_frame_marker); __ 5182 src/arm/lithium-codegen-arm.cc __ ldr(temp1, MemOperand(temp1, StandardFrameConstants::kCallerFPOffset)); __ 5185 src/arm/lithium-codegen-arm.cc __ bind(&check_frame_marker); __ 5186 src/arm/lithium-codegen-arm.cc __ ldr(temp1, MemOperand(temp1, StandardFrameConstants::kMarkerOffset)); __ 5187 src/arm/lithium-codegen-arm.cc __ cmp(temp1, Operand(Smi::FromInt(StackFrame::CONSTRUCT))); __ 5202 src/arm/lithium-codegen-arm.cc __ nop(); __ 5228 src/arm/lithium-codegen-arm.cc __ mov(strict, Operand(Smi::FromInt(strict_mode_flag()))); __ 5229 src/arm/lithium-codegen-arm.cc __ Push(object, key, strict); __ 5235 src/arm/lithium-codegen-arm.cc __ InvokeBuiltin(Builtins::DELETE, CALL_FUNCTION, safepoint_generator); __ 5242 src/arm/lithium-codegen-arm.cc __ Push(key, obj); __ 5247 src/arm/lithium-codegen-arm.cc __ InvokeBuiltin(Builtins::IN, CALL_FUNCTION, safepoint_generator); __ 5253 src/arm/lithium-codegen-arm.cc __ CallRuntimeSaveDoubles(Runtime::kStackGuard); __ 5280 src/arm/lithium-codegen-arm.cc __ LoadRoot(ip, Heap::kStackLimitRootIndex); __ 5281 src/arm/lithium-codegen-arm.cc __ cmp(sp, Operand(ip)); __ 5282 src/arm/lithium-codegen-arm.cc __ b(hs, &done); __ 5286 src/arm/lithium-codegen-arm.cc __ bind(&done); __ 5294 src/arm/lithium-codegen-arm.cc __ LoadRoot(ip, Heap::kStackLimitRootIndex); __ 5295 src/arm/lithium-codegen-arm.cc __ cmp(sp, Operand(ip)); __ 5296 src/arm/lithium-codegen-arm.cc __ b(lo, deferred_stack_check->entry()); __ 5298 src/arm/lithium-codegen-arm.cc __ bind(instr->done_label()); __ 5326 src/arm/lithium-codegen-arm.cc __ LoadRoot(ip, Heap::kUndefinedValueRootIndex); __ 5327 src/arm/lithium-codegen-arm.cc __ cmp(r0, ip); __ 5331 src/arm/lithium-codegen-arm.cc __ LoadRoot(null_value, Heap::kNullValueRootIndex); __ 5332 src/arm/lithium-codegen-arm.cc __ cmp(r0, null_value); __ 5335 src/arm/lithium-codegen-arm.cc __ tst(r0, Operand(kSmiTagMask)); __ 5339 src/arm/lithium-codegen-arm.cc __ CompareObjectType(r0, r1, r1, LAST_JS_PROXY_TYPE); __ 5343 src/arm/lithium-codegen-arm.cc __ CheckEnumCache(null_value, &call_runtime); __ 5345 src/arm/lithium-codegen-arm.cc __ ldr(r0, FieldMemOperand(r0, HeapObject::kMapOffset)); __ 5346 src/arm/lithium-codegen-arm.cc __ b(&use_cache); __ 5349 src/arm/lithium-codegen-arm.cc __ bind(&call_runtime); __ 5350 src/arm/lithium-codegen-arm.cc __ push(r0); __ 5353 src/arm/lithium-codegen-arm.cc __ ldr(r1, FieldMemOperand(r0, HeapObject::kMapOffset)); __ 5354 src/arm/lithium-codegen-arm.cc __ LoadRoot(ip, Heap::kMetaMapRootIndex); __ 5355 src/arm/lithium-codegen-arm.cc __ cmp(r1, ip); __ 5357 src/arm/lithium-codegen-arm.cc __ bind(&use_cache); __ 5365 src/arm/lithium-codegen-arm.cc __ LoadInstanceDescriptors(map, result, scratch); __ 5366 src/arm/lithium-codegen-arm.cc __ ldr(result, __ 5368 src/arm/lithium-codegen-arm.cc __ ldr(result, __ 5370 src/arm/lithium-codegen-arm.cc __ cmp(result, Operand(0)); __ 5378 src/arm/lithium-codegen-arm.cc __ ldr(scratch0(), FieldMemOperand(object, HeapObject::kMapOffset)); __ 5379 src/arm/lithium-codegen-arm.cc __ cmp(map, scratch0()); __ 5391 src/arm/lithium-codegen-arm.cc __ cmp(index, Operand(0)); __ 5392 src/arm/lithium-codegen-arm.cc __ b(lt, &out_of_object); __ 5395 src/arm/lithium-codegen-arm.cc __ add(scratch, object, Operand(index, LSL, kPointerSizeLog2 - kSmiTagSize)); __ 5396 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(scratch, JSObject::kHeaderSize)); __ 5398 src/arm/lithium-codegen-arm.cc __ b(&done); __ 5400 src/arm/lithium-codegen-arm.cc __ bind(&out_of_object); __ 5401 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(object, JSObject::kPropertiesOffset)); __ 5403 src/arm/lithium-codegen-arm.cc __ sub(scratch, result, Operand(index, LSL, kPointerSizeLog2 - kSmiTagSize)); __ 5404 src/arm/lithium-codegen-arm.cc __ ldr(result, FieldMemOperand(scratch, __ 5406 src/arm/lithium-codegen-arm.cc __ bind(&done); __ 170 src/arm/lithium-gap-resolver-arm.cc __ mov(kSavedValueRegister, cgen_->ToRegister(source)); __ 172 src/arm/lithium-gap-resolver-arm.cc __ ldr(kSavedValueRegister, cgen_->ToMemOperand(source)); __ 174 src/arm/lithium-gap-resolver-arm.cc __ vmov(kScratchDoubleReg, cgen_->ToDoubleRegister(source)); __ 176 src/arm/lithium-gap-resolver-arm.cc __ vldr(kScratchDoubleReg, cgen_->ToMemOperand(source)); __ 191 src/arm/lithium-gap-resolver-arm.cc __ mov(cgen_->ToRegister(saved_destination_), kSavedValueRegister); __ 193 src/arm/lithium-gap-resolver-arm.cc __ str(kSavedValueRegister, cgen_->ToMemOperand(saved_destination_)); __ 195 src/arm/lithium-gap-resolver-arm.cc __ vmov(cgen_->ToDoubleRegister(saved_destination_), kScratchDoubleReg); __ 197 src/arm/lithium-gap-resolver-arm.cc __ vstr(kScratchDoubleReg, cgen_->ToMemOperand(saved_destination_)); __ 217 src/arm/lithium-gap-resolver-arm.cc __ mov(cgen_->ToRegister(destination), source_register); __ 220 src/arm/lithium-gap-resolver-arm.cc __ str(source_register, cgen_->ToMemOperand(destination)); __ 226 src/arm/lithium-gap-resolver-arm.cc __ ldr(cgen_->ToRegister(destination), source_operand); __ 235 src/arm/lithium-gap-resolver-arm.cc __ vldr(kScratchDoubleReg.low(), source_operand); __ 236 src/arm/lithium-gap-resolver-arm.cc __ vstr(kScratchDoubleReg.low(), destination_operand); __ 238 src/arm/lithium-gap-resolver-arm.cc __ ldr(ip, source_operand); __ 239 src/arm/lithium-gap-resolver-arm.cc __ str(ip, destination_operand); __ 242 src/arm/lithium-gap-resolver-arm.cc __ ldr(kSavedValueRegister, source_operand); __ 243 src/arm/lithium-gap-resolver-arm.cc __ str(kSavedValueRegister, destination_operand); __ 252 src/arm/lithium-gap-resolver-arm.cc __ mov(dst, Operand(cgen_->ToInteger32(constant_source))); __ 254 src/arm/lithium-gap-resolver-arm.cc __ LoadObject(dst, cgen_->ToHandle(constant_source)); __ 260 src/arm/lithium-gap-resolver-arm.cc __ mov(kSavedValueRegister, __ 263 src/arm/lithium-gap-resolver-arm.cc __ LoadObject(kSavedValueRegister, __ 266 src/arm/lithium-gap-resolver-arm.cc __ str(kSavedValueRegister, cgen_->ToMemOperand(destination)); __ 272 src/arm/lithium-gap-resolver-arm.cc __ vmov(cgen_->ToDoubleRegister(destination), source_register); __ 275 src/arm/lithium-gap-resolver-arm.cc __ vstr(source_register, cgen_->ToMemOperand(destination)); __ 281 src/arm/lithium-gap-resolver-arm.cc __ vldr(cgen_->ToDoubleRegister(destination), source_operand); __ 292 src/arm/lithium-gap-resolver-arm.cc __ ldr(kSavedValueRegister, source_operand); __ 293 src/arm/lithium-gap-resolver-arm.cc __ str(kSavedValueRegister, destination_operand); __ 294 src/arm/lithium-gap-resolver-arm.cc __ ldr(kSavedValueRegister, source_high_operand); __ 295 src/arm/lithium-gap-resolver-arm.cc __ str(kSavedValueRegister, destination_high_operand); __ 297 src/arm/lithium-gap-resolver-arm.cc __ vldr(kScratchDoubleReg, source_operand); __ 298 src/arm/lithium-gap-resolver-arm.cc __ vstr(kScratchDoubleReg, destination_operand); __ 135 src/arm/regexp-macro-assembler-arm.cc __ jmp(&entry_label_); // We'll write the entry code later. __ 137 src/arm/regexp-macro-assembler-arm.cc __ bind(&start_label_); // And then continue from here. __ 161 src/arm/regexp-macro-assembler-arm.cc __ add(current_input_offset(), __ 171 src/arm/regexp-macro-assembler-arm.cc __ ldr(r0, register_location(reg)); __ 172 src/arm/regexp-macro-assembler-arm.cc __ add(r0, r0, Operand(by)); __ 173 src/arm/regexp-macro-assembler-arm.cc __ str(r0, register_location(reg)); __ 182 src/arm/regexp-macro-assembler-arm.cc __ add(pc, r0, Operand(code_pointer())); __ 187 src/arm/regexp-macro-assembler-arm.cc __ bind(label); __ 192 src/arm/regexp-macro-assembler-arm.cc __ cmp(current_character(), Operand(c)); __ 198 src/arm/regexp-macro-assembler-arm.cc __ cmp(current_character(), Operand(limit)); __ 206 src/arm/regexp-macro-assembler-arm.cc __ ldr(r0, MemOperand(frame_pointer(), kStartIndex)); __ 207 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, Operand(0, RelocInfo::NONE)); __ 211 src/arm/regexp-macro-assembler-arm.cc __ ldr(r1, MemOperand(frame_pointer(), kInputStart)); __ 212 src/arm/regexp-macro-assembler-arm.cc __ add(r0, end_of_input_address(), Operand(current_input_offset())); __ 213 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, r1); __ 215 src/arm/regexp-macro-assembler-arm.cc __ bind(¬_at_start); __ 221 src/arm/regexp-macro-assembler-arm.cc __ ldr(r0, MemOperand(frame_pointer(), kStartIndex)); __ 222 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, Operand(0, RelocInfo::NONE)); __ 225 src/arm/regexp-macro-assembler-arm.cc __ ldr(r1, MemOperand(frame_pointer(), kInputStart)); __ 226 src/arm/regexp-macro-assembler-arm.cc __ add(r0, end_of_input_address(), Operand(current_input_offset())); __ 227 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, r1); __ 233 src/arm/regexp-macro-assembler-arm.cc __ cmp(current_character(), Operand(limit)); __ 253 src/arm/regexp-macro-assembler-arm.cc __ add(r0, end_of_input_address(), Operand(current_input_offset())); __ 256 src/arm/regexp-macro-assembler-arm.cc __ add(r0, r0, Operand(byte_offset)); __ 263 src/arm/regexp-macro-assembler-arm.cc __ ldrb(r1, MemOperand(r0, char_size(), PostIndex)); __ 265 src/arm/regexp-macro-assembler-arm.cc __ cmp(r1, Operand(str[i])); __ 267 src/arm/regexp-macro-assembler-arm.cc __ ldrh(r1, MemOperand(r0, char_size(), PostIndex)); __ 271 src/arm/regexp-macro-assembler-arm.cc __ cmp(r1, Operand(str[i])); __ 274 src/arm/regexp-macro-assembler-arm.cc __ mov(r2, Operand(match_high_byte)); __ 277 src/arm/regexp-macro-assembler-arm.cc __ add(r3, r2, Operand(match_char & 0xff)); __ 278 src/arm/regexp-macro-assembler-arm.cc __ cmp(r1, r3); __ 287 src/arm/regexp-macro-assembler-arm.cc __ ldr(r0, MemOperand(backtrack_stackpointer(), 0)); __ 288 src/arm/regexp-macro-assembler-arm.cc __ cmp(current_input_offset(), r0); __ 289 src/arm/regexp-macro-assembler-arm.cc __ add(backtrack_stackpointer(), __ 299 src/arm/regexp-macro-assembler-arm.cc __ ldr(r0, register_location(start_reg)); // Index of start of capture __ 300 src/arm/regexp-macro-assembler-arm.cc __ ldr(r1, register_location(start_reg + 1)); // Index of end of capture __ 301 src/arm/regexp-macro-assembler-arm.cc __ sub(r1, r1, r0, SetCC); // Length of capture. __ 305 src/arm/regexp-macro-assembler-arm.cc __ b(eq, &fallthrough); __ 308 src/arm/regexp-macro-assembler-arm.cc __ cmn(r1, Operand(current_input_offset())); __ 318 src/arm/regexp-macro-assembler-arm.cc __ add(r0, r0, Operand(end_of_input_address())); __ 319 src/arm/regexp-macro-assembler-arm.cc __ add(r2, end_of_input_address(), Operand(current_input_offset())); __ 320 src/arm/regexp-macro-assembler-arm.cc __ add(r1, r0, Operand(r1)); __ 327 src/arm/regexp-macro-assembler-arm.cc __ bind(&loop); __ 328 src/arm/regexp-macro-assembler-arm.cc __ ldrb(r3, MemOperand(r0, char_size(), PostIndex)); __ 329 src/arm/regexp-macro-assembler-arm.cc __ ldrb(r4, MemOperand(r2, char_size(), PostIndex)); __ 330 src/arm/regexp-macro-assembler-arm.cc __ cmp(r4, r3); __ 331 src/arm/regexp-macro-assembler-arm.cc __ b(eq, &loop_check); __ 334 src/arm/regexp-macro-assembler-arm.cc __ orr(r3, r3, Operand(0x20)); // Convert capture character to lower-case. __ 335 src/arm/regexp-macro-assembler-arm.cc __ orr(r4, r4, Operand(0x20)); // Also convert input character. __ 336 src/arm/regexp-macro-assembler-arm.cc __ cmp(r4, r3); __ 337 src/arm/regexp-macro-assembler-arm.cc __ b(ne, &fail); __ 338 src/arm/regexp-macro-assembler-arm.cc __ sub(r3, r3, Operand('a')); __ 339 src/arm/regexp-macro-assembler-arm.cc __ cmp(r3, Operand('z' - 'a')); // Is r3 a lowercase letter? __ 340 src/arm/regexp-macro-assembler-arm.cc __ b(hi, &fail); __ 343 src/arm/regexp-macro-assembler-arm.cc __ bind(&loop_check); __ 344 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, r1); __ 345 src/arm/regexp-macro-assembler-arm.cc __ b(lt, &loop); __ 346 src/arm/regexp-macro-assembler-arm.cc __ jmp(&success); __ 348 src/arm/regexp-macro-assembler-arm.cc __ bind(&fail); __ 351 src/arm/regexp-macro-assembler-arm.cc __ bind(&success); __ 353 src/arm/regexp-macro-assembler-arm.cc __ sub(current_input_offset(), r2, end_of_input_address()); __ 357 src/arm/regexp-macro-assembler-arm.cc __ PrepareCallCFunction(argument_count, r2); __ 370 src/arm/regexp-macro-assembler-arm.cc __ add(r0, r0, Operand(end_of_input_address())); __ 372 src/arm/regexp-macro-assembler-arm.cc __ mov(r2, Operand(r1)); __ 374 src/arm/regexp-macro-assembler-arm.cc __ mov(r4, Operand(r1)); __ 376 src/arm/regexp-macro-assembler-arm.cc __ add(r1, current_input_offset(), Operand(end_of_input_address())); __ 378 src/arm/regexp-macro-assembler-arm.cc __ mov(r3, Operand(ExternalReference::isolate_address())); __ 384 src/arm/regexp-macro-assembler-arm.cc __ CallCFunction(function, argument_count); __ 388 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, Operand(0, RelocInfo::NONE)); __ 391 src/arm/regexp-macro-assembler-arm.cc __ add(current_input_offset(), current_input_offset(), Operand(r4)); __ 394 src/arm/regexp-macro-assembler-arm.cc __ bind(&fallthrough); __ 405 src/arm/regexp-macro-assembler-arm.cc __ ldr(r0, register_location(start_reg)); __ 406 src/arm/regexp-macro-assembler-arm.cc __ ldr(r1, register_location(start_reg + 1)); __ 407 src/arm/regexp-macro-assembler-arm.cc __ sub(r1, r1, r0, SetCC); // Length to check. __ 409 src/arm/regexp-macro-assembler-arm.cc __ b(eq, &fallthrough); __ 412 src/arm/regexp-macro-assembler-arm.cc __ cmn(r1, Operand(current_input_offset())); __ 416 src/arm/regexp-macro-assembler-arm.cc __ add(r0, r0, Operand(end_of_input_address())); __ 417 src/arm/regexp-macro-assembler-arm.cc __ add(r2, end_of_input_address(), Operand(current_input_offset())); __ 418 src/arm/regexp-macro-assembler-arm.cc __ add(r1, r1, Operand(r0)); __ 421 src/arm/regexp-macro-assembler-arm.cc __ bind(&loop); __ 423 src/arm/regexp-macro-assembler-arm.cc __ ldrb(r3, MemOperand(r0, char_size(), PostIndex)); __ 424 src/arm/regexp-macro-assembler-arm.cc __ ldrb(r4, MemOperand(r2, char_size(), PostIndex)); __ 427 src/arm/regexp-macro-assembler-arm.cc __ ldrh(r3, MemOperand(r0, char_size(), PostIndex)); __ 428 src/arm/regexp-macro-assembler-arm.cc __ ldrh(r4, MemOperand(r2, char_size(), PostIndex)); __ 430 src/arm/regexp-macro-assembler-arm.cc __ cmp(r3, r4); __ 432 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, r1); __ 433 src/arm/regexp-macro-assembler-arm.cc __ b(lt, &loop); __ 436 src/arm/regexp-macro-assembler-arm.cc __ sub(current_input_offset(), r2, end_of_input_address()); __ 437 src/arm/regexp-macro-assembler-arm.cc __ bind(&fallthrough); __ 443 src/arm/regexp-macro-assembler-arm.cc __ cmp(current_character(), Operand(c)); __ 452 src/arm/regexp-macro-assembler-arm.cc __ tst(current_character(), Operand(mask)); __ 454 src/arm/regexp-macro-assembler-arm.cc __ and_(r0, current_character(), Operand(mask)); __ 455 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, Operand(c)); __ 465 src/arm/regexp-macro-assembler-arm.cc __ tst(current_character(), Operand(mask)); __ 467 src/arm/regexp-macro-assembler-arm.cc __ and_(r0, current_character(), Operand(mask)); __ 468 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, Operand(c)); __ 480 src/arm/regexp-macro-assembler-arm.cc __ sub(r0, current_character(), Operand(minus)); __ 481 src/arm/regexp-macro-assembler-arm.cc __ and_(r0, r0, Operand(mask)); __ 482 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, Operand(c)); __ 491 src/arm/regexp-macro-assembler-arm.cc __ sub(r0, current_character(), Operand(from)); __ 492 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, Operand(to - from)); __ 501 src/arm/regexp-macro-assembler-arm.cc __ sub(r0, current_character(), Operand(from)); __ 502 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, Operand(to - from)); __ 510 src/arm/regexp-macro-assembler-arm.cc __ mov(r0, Operand(table)); __ 512 src/arm/regexp-macro-assembler-arm.cc __ and_(r1, current_character(), Operand(kTableSize - 1)); __ 513 src/arm/regexp-macro-assembler-arm.cc __ add(r1, r1, Operand(ByteArray::kHeaderSize - kHeapObjectTag)); __ 515 src/arm/regexp-macro-assembler-arm.cc __ add(r1, __ 519 src/arm/regexp-macro-assembler-arm.cc __ ldrb(r0, MemOperand(r0, r1)); __ 520 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, Operand(0)); __ 535 src/arm/regexp-macro-assembler-arm.cc __ cmp(current_character(), Operand(' ')); __ 536 src/arm/regexp-macro-assembler-arm.cc __ b(eq, &success); __ 538 src/arm/regexp-macro-assembler-arm.cc __ sub(r0, current_character(), Operand('\t')); __ 539 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, Operand('\r' - '\t')); __ 541 src/arm/regexp-macro-assembler-arm.cc __ bind(&success); __ 549 src/arm/regexp-macro-assembler-arm.cc __ cmp(current_character(), Operand(' ')); __ 551 src/arm/regexp-macro-assembler-arm.cc __ sub(r0, current_character(), Operand('\t')); __ 552 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, Operand('\r' - '\t')); __ 559 src/arm/regexp-macro-assembler-arm.cc __ sub(r0, current_character(), Operand('0')); __ 560 src/arm/regexp-macro-assembler-arm.cc __ cmp(current_character(), Operand('9' - '0')); __ 565 src/arm/regexp-macro-assembler-arm.cc __ sub(r0, current_character(), Operand('0')); __ 566 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, Operand('9' - '0')); __ 571 src/arm/regexp-macro-assembler-arm.cc __ eor(r0, current_character(), Operand(0x01)); __ 573 src/arm/regexp-macro-assembler-arm.cc __ sub(r0, r0, Operand(0x0b)); __ 574 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, Operand(0x0c - 0x0b)); __ 580 src/arm/regexp-macro-assembler-arm.cc __ sub(r0, r0, Operand(0x2028 - 0x0b)); __ 581 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, Operand(1)); __ 588 src/arm/regexp-macro-assembler-arm.cc __ eor(r0, current_character(), Operand(0x01)); __ 590 src/arm/regexp-macro-assembler-arm.cc __ sub(r0, r0, Operand(0x0b)); __ 591 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, Operand(0x0c - 0x0b)); __ 596 src/arm/regexp-macro-assembler-arm.cc __ b(ls, &done); __ 600 src/arm/regexp-macro-assembler-arm.cc __ sub(r0, r0, Operand(0x2028 - 0x0b)); __ 601 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, Operand(1)); __ 603 src/arm/regexp-macro-assembler-arm.cc __ bind(&done); __ 610 src/arm/regexp-macro-assembler-arm.cc __ cmp(current_character(), Operand('z')); __ 614 src/arm/regexp-macro-assembler-arm.cc __ mov(r0, Operand(map)); __ 615 src/arm/regexp-macro-assembler-arm.cc __ ldrb(r0, MemOperand(r0, current_character())); __ 616 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, Operand(0)); __ 624 src/arm/regexp-macro-assembler-arm.cc __ cmp(current_character(), Operand('z')); __ 625 src/arm/regexp-macro-assembler-arm.cc __ b(hi, &done); __ 628 src/arm/regexp-macro-assembler-arm.cc __ mov(r0, Operand(map)); __ 629 src/arm/regexp-macro-assembler-arm.cc __ ldrb(r0, MemOperand(r0, current_character())); __ 630 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, Operand(0)); __ 633 src/arm/regexp-macro-assembler-arm.cc __ bind(&done); __ 648 src/arm/regexp-macro-assembler-arm.cc __ mov(r0, Operand(FAILURE)); __ 649 src/arm/regexp-macro-assembler-arm.cc __ jmp(&exit_label_); __ 659 src/arm/regexp-macro-assembler-arm.cc __ bind(&entry_label_); __ 674 src/arm/regexp-macro-assembler-arm.cc __ stm(db_w, sp, argument_registers | registers_to_retain | lr.bit()); __ 677 src/arm/regexp-macro-assembler-arm.cc __ add(frame_pointer(), sp, Operand(4 * kPointerSize)); __ 678 src/arm/regexp-macro-assembler-arm.cc __ mov(r0, Operand(0, RelocInfo::NONE)); __ 679 src/arm/regexp-macro-assembler-arm.cc __ push(r0); // Make room for success counter and initialize it to 0. __ 680 src/arm/regexp-macro-assembler-arm.cc __ push(r0); // Make room for "position - 1" constant (value is irrelevant). __ 687 src/arm/regexp-macro-assembler-arm.cc __ mov(r0, Operand(stack_limit)); __ 688 src/arm/regexp-macro-assembler-arm.cc __ ldr(r0, MemOperand(r0)); __ 689 src/arm/regexp-macro-assembler-arm.cc __ sub(r0, sp, r0, SetCC); __ 691 src/arm/regexp-macro-assembler-arm.cc __ b(ls, &stack_limit_hit); __ 694 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, Operand(num_registers_ * kPointerSize)); __ 695 src/arm/regexp-macro-assembler-arm.cc __ b(hs, &stack_ok); __ 698 src/arm/regexp-macro-assembler-arm.cc __ mov(r0, Operand(EXCEPTION)); __ 699 src/arm/regexp-macro-assembler-arm.cc __ jmp(&return_r0); __ 701 src/arm/regexp-macro-assembler-arm.cc __ bind(&stack_limit_hit); __ 703 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, Operand(0, RelocInfo::NONE)); __ 705 src/arm/regexp-macro-assembler-arm.cc __ b(ne, &return_r0); __ 707 src/arm/regexp-macro-assembler-arm.cc __ bind(&stack_ok); __ 710 src/arm/regexp-macro-assembler-arm.cc __ sub(sp, sp, Operand(num_registers_ * kPointerSize)); __ 712 src/arm/regexp-macro-assembler-arm.cc __ ldr(end_of_input_address(), MemOperand(frame_pointer(), kInputEnd)); __ 714 src/arm/regexp-macro-assembler-arm.cc __ ldr(r0, MemOperand(frame_pointer(), kInputStart)); __ 716 src/arm/regexp-macro-assembler-arm.cc __ sub(current_input_offset(), r0, end_of_input_address()); __ 719 src/arm/regexp-macro-assembler-arm.cc __ ldr(r1, MemOperand(frame_pointer(), kStartIndex)); __ 720 src/arm/regexp-macro-assembler-arm.cc __ sub(r0, current_input_offset(), Operand(char_size())); __ 721 src/arm/regexp-macro-assembler-arm.cc __ sub(r0, r0, Operand(r1, LSL, (mode_ == UC16) ? 1 : 0)); __ 724 src/arm/regexp-macro-assembler-arm.cc __ str(r0, MemOperand(frame_pointer(), kInputStartMinusOne)); __ 727 src/arm/regexp-macro-assembler-arm.cc __ mov(code_pointer(), Operand(masm_->CodeObject())); __ 731 src/arm/regexp-macro-assembler-arm.cc __ cmp(r1, Operand(0, RelocInfo::NONE)); __ 732 src/arm/regexp-macro-assembler-arm.cc __ b(ne, &load_char_start_regexp); __ 733 src/arm/regexp-macro-assembler-arm.cc __ mov(current_character(), Operand('\n'), LeaveCC, eq); __ 734 src/arm/regexp-macro-assembler-arm.cc __ jmp(&start_regexp); __ 737 src/arm/regexp-macro-assembler-arm.cc __ bind(&load_char_start_regexp); __ 740 src/arm/regexp-macro-assembler-arm.cc __ bind(&start_regexp); __ 747 src/arm/regexp-macro-assembler-arm.cc __ add(r1, frame_pointer(), Operand(kRegisterZero)); __ 748 src/arm/regexp-macro-assembler-arm.cc __ mov(r2, Operand(num_saved_registers_)); __ 750 src/arm/regexp-macro-assembler-arm.cc __ bind(&init_loop); __ 751 src/arm/regexp-macro-assembler-arm.cc __ str(r0, MemOperand(r1, kPointerSize, NegPostIndex)); __ 752 src/arm/regexp-macro-assembler-arm.cc __ sub(r2, r2, Operand(1), SetCC); __ 753 src/arm/regexp-macro-assembler-arm.cc __ b(ne, &init_loop); __ 756 src/arm/regexp-macro-assembler-arm.cc __ str(r0, register_location(i)); __ 762 src/arm/regexp-macro-assembler-arm.cc __ ldr(backtrack_stackpointer(), MemOperand(frame_pointer(), kStackHighEnd)); __ 764 src/arm/regexp-macro-assembler-arm.cc __ jmp(&start_label_); __ 769 src/arm/regexp-macro-assembler-arm.cc __ bind(&success_label_); __ 772 src/arm/regexp-macro-assembler-arm.cc __ ldr(r1, MemOperand(frame_pointer(), kInputStart)); __ 773 src/arm/regexp-macro-assembler-arm.cc __ ldr(r0, MemOperand(frame_pointer(), kRegisterOutput)); __ 774 src/arm/regexp-macro-assembler-arm.cc __ ldr(r2, MemOperand(frame_pointer(), kStartIndex)); __ 775 src/arm/regexp-macro-assembler-arm.cc __ sub(r1, end_of_input_address(), r1); __ 778 src/arm/regexp-macro-assembler-arm.cc __ mov(r1, Operand(r1, LSR, 1)); __ 781 src/arm/regexp-macro-assembler-arm.cc __ add(r1, r1, Operand(r2)); __ 789 src/arm/regexp-macro-assembler-arm.cc __ ldr(r2, register_location(i)); __ 790 src/arm/regexp-macro-assembler-arm.cc __ ldr(r3, register_location(i + 1)); __ 793 src/arm/regexp-macro-assembler-arm.cc __ mov(r4, r2); __ 796 src/arm/regexp-macro-assembler-arm.cc __ add(r2, r1, Operand(r2, ASR, 1)); __ 797 src/arm/regexp-macro-assembler-arm.cc __ add(r3, r1, Operand(r3, ASR, 1)); __ 799 src/arm/regexp-macro-assembler-arm.cc __ add(r2, r1, Operand(r2)); __ 800 src/arm/regexp-macro-assembler-arm.cc __ add(r3, r1, Operand(r3)); __ 802 src/arm/regexp-macro-assembler-arm.cc __ str(r2, MemOperand(r0, kPointerSize, PostIndex)); __ 803 src/arm/regexp-macro-assembler-arm.cc __ str(r3, MemOperand(r0, kPointerSize, PostIndex)); __ 809 src/arm/regexp-macro-assembler-arm.cc __ ldr(r0, MemOperand(frame_pointer(), kSuccessfulCaptures)); __ 810 src/arm/regexp-macro-assembler-arm.cc __ ldr(r1, MemOperand(frame_pointer(), kNumOutputRegisters)); __ 811 src/arm/regexp-macro-assembler-arm.cc __ ldr(r2, MemOperand(frame_pointer(), kRegisterOutput)); __ 813 src/arm/regexp-macro-assembler-arm.cc __ add(r0, r0, Operand(1)); __ 814 src/arm/regexp-macro-assembler-arm.cc __ str(r0, MemOperand(frame_pointer(), kSuccessfulCaptures)); __ 817 src/arm/regexp-macro-assembler-arm.cc __ sub(r1, r1, Operand(num_saved_registers_)); __ 819 src/arm/regexp-macro-assembler-arm.cc __ cmp(r1, Operand(num_saved_registers_)); __ 820 src/arm/regexp-macro-assembler-arm.cc __ b(lt, &return_r0); __ 822 src/arm/regexp-macro-assembler-arm.cc __ str(r1, MemOperand(frame_pointer(), kNumOutputRegisters)); __ 824 src/arm/regexp-macro-assembler-arm.cc __ add(r2, r2, Operand(num_saved_registers_ * kPointerSize)); __ 825 src/arm/regexp-macro-assembler-arm.cc __ str(r2, MemOperand(frame_pointer(), kRegisterOutput)); __ 828 src/arm/regexp-macro-assembler-arm.cc __ ldr(r0, MemOperand(frame_pointer(), kInputStartMinusOne)); __ 833 src/arm/regexp-macro-assembler-arm.cc __ cmp(current_input_offset(), r4); __ 835 src/arm/regexp-macro-assembler-arm.cc __ b(ne, &load_char_start_regexp); __ 837 src/arm/regexp-macro-assembler-arm.cc __ cmp(current_input_offset(), Operand(0)); __ 838 src/arm/regexp-macro-assembler-arm.cc __ b(eq, &exit_label_); __ 840 src/arm/regexp-macro-assembler-arm.cc __ add(current_input_offset(), __ 845 src/arm/regexp-macro-assembler-arm.cc __ b(&load_char_start_regexp); __ 847 src/arm/regexp-macro-assembler-arm.cc __ mov(r0, Operand(SUCCESS)); __ 852 src/arm/regexp-macro-assembler-arm.cc __ bind(&exit_label_); __ 854 src/arm/regexp-macro-assembler-arm.cc __ ldr(r0, MemOperand(frame_pointer(), kSuccessfulCaptures)); __ 857 src/arm/regexp-macro-assembler-arm.cc __ bind(&return_r0); __ 859 src/arm/regexp-macro-assembler-arm.cc __ mov(sp, frame_pointer()); __ 861 src/arm/regexp-macro-assembler-arm.cc __ ldm(ia_w, sp, registers_to_retain | pc.bit()); __ 865 src/arm/regexp-macro-assembler-arm.cc __ bind(&backtrack_label_); __ 876 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, Operand(0, RelocInfo::NONE)); __ 879 src/arm/regexp-macro-assembler-arm.cc __ b(ne, &return_r0); __ 882 src/arm/regexp-macro-assembler-arm.cc __ ldr(end_of_input_address(), MemOperand(frame_pointer(), kInputEnd)); __ 894 src/arm/regexp-macro-assembler-arm.cc __ PrepareCallCFunction(num_arguments, r0); __ 895 src/arm/regexp-macro-assembler-arm.cc __ mov(r0, backtrack_stackpointer()); __ 896 src/arm/regexp-macro-assembler-arm.cc __ add(r1, frame_pointer(), Operand(kStackHighEnd)); __ 897 src/arm/regexp-macro-assembler-arm.cc __ mov(r2, Operand(ExternalReference::isolate_address())); __ 900 src/arm/regexp-macro-assembler-arm.cc __ CallCFunction(grow_stack, num_arguments); __ 903 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, Operand(0, RelocInfo::NONE)); __ 904 src/arm/regexp-macro-assembler-arm.cc __ b(eq, &exit_with_exception); __ 906 src/arm/regexp-macro-assembler-arm.cc __ mov(backtrack_stackpointer(), r0); __ 913 src/arm/regexp-macro-assembler-arm.cc __ bind(&exit_with_exception); __ 915 src/arm/regexp-macro-assembler-arm.cc __ mov(r0, Operand(EXCEPTION)); __ 916 src/arm/regexp-macro-assembler-arm.cc __ jmp(&return_r0); __ 937 src/arm/regexp-macro-assembler-arm.cc __ ldr(r0, register_location(reg)); __ 938 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, Operand(comparand)); __ 946 src/arm/regexp-macro-assembler-arm.cc __ ldr(r0, register_location(reg)); __ 947 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, Operand(comparand)); __ 954 src/arm/regexp-macro-assembler-arm.cc __ ldr(r0, register_location(reg)); __ 955 src/arm/regexp-macro-assembler-arm.cc __ cmp(r0, Operand(current_input_offset())); __ 986 src/arm/regexp-macro-assembler-arm.cc __ str(r0, register_location(register_index)); __ 999 src/arm/regexp-macro-assembler-arm.cc __ mov(r0, Operand(target + Code::kHeaderSize - kHeapObjectTag)); __ 1012 src/arm/regexp-macro-assembler-arm.cc __ ldr(r0, MemOperand(pc, pc_offset_of_constant)); __ 1017 src/arm/regexp-macro-assembler-arm.cc __ mov(r0, Operand(pc_offset_of_constant + Assembler::kInstrSize)); __ 1018 src/arm/regexp-macro-assembler-arm.cc __ ldr(r0, MemOperand(pc, r0)); __ 1033 src/arm/regexp-macro-assembler-arm.cc __ ldr(r0, register_location(register_index)); __ 1040 src/arm/regexp-macro-assembler-arm.cc __ ldr(current_input_offset(), register_location(reg)); __ 1045 src/arm/regexp-macro-assembler-arm.cc __ ldr(backtrack_stackpointer(), register_location(reg)); __ 1046 src/arm/regexp-macro-assembler-arm.cc __ ldr(r0, MemOperand(frame_pointer(), kStackHighEnd)); __ 1047 src/arm/regexp-macro-assembler-arm.cc __ add(backtrack_stackpointer(), backtrack_stackpointer(), Operand(r0)); __ 1053 src/arm/regexp-macro-assembler-arm.cc __ cmp(current_input_offset(), Operand(-by * char_size())); __ 1054 src/arm/regexp-macro-assembler-arm.cc __ b(ge, &after_position); __ 1055 src/arm/regexp-macro-assembler-arm.cc __ mov(current_input_offset(), Operand(-by * char_size())); __ 1060 src/arm/regexp-macro-assembler-arm.cc __ bind(&after_position); __ 1066 src/arm/regexp-macro-assembler-arm.cc __ mov(r0, Operand(to)); __ 1067 src/arm/regexp-macro-assembler-arm.cc __ str(r0, register_location(register_index)); __ 1072 src/arm/regexp-macro-assembler-arm.cc __ jmp(&success_label_); __ 1080 src/arm/regexp-macro-assembler-arm.cc __ str(current_input_offset(), register_location(reg)); __ 1082 src/arm/regexp-macro-assembler-arm.cc __ add(r0, current_input_offset(), Operand(cp_offset * char_size())); __ 1083 src/arm/regexp-macro-assembler-arm.cc __ str(r0, register_location(reg)); __ 1090 src/arm/regexp-macro-assembler-arm.cc __ ldr(r0, MemOperand(frame_pointer(), kInputStartMinusOne)); __ 1092 src/arm/regexp-macro-assembler-arm.cc __ str(r0, register_location(reg)); __ 1098 src/arm/regexp-macro-assembler-arm.cc __ ldr(r1, MemOperand(frame_pointer(), kStackHighEnd)); __ 1099 src/arm/regexp-macro-assembler-arm.cc __ sub(r0, backtrack_stackpointer(), r1); __ 1100 src/arm/regexp-macro-assembler-arm.cc __ str(r0, register_location(reg)); __ 1108 src/arm/regexp-macro-assembler-arm.cc __ PrepareCallCFunction(num_arguments, scratch); __ 1110 src/arm/regexp-macro-assembler-arm.cc __ mov(r2, frame_pointer()); __ 1112 src/arm/regexp-macro-assembler-arm.cc __ mov(r1, Operand(masm_->CodeObject())); __ 1238 src/arm/regexp-macro-assembler-arm.cc __ cmp(current_input_offset(), Operand(-cp_offset * char_size())); __ 1250 src/arm/regexp-macro-assembler-arm.cc __ jmp(to); __ 1254 src/arm/regexp-macro-assembler-arm.cc __ b(condition, &backtrack_label_); __ 1257 src/arm/regexp-macro-assembler-arm.cc __ b(condition, to); __ 1262 src/arm/regexp-macro-assembler-arm.cc __ bl(to, cond); __ 1267 src/arm/regexp-macro-assembler-arm.cc __ pop(lr); __ 1268 src/arm/regexp-macro-assembler-arm.cc __ add(pc, lr, Operand(masm_->CodeObject())); __ 1273 src/arm/regexp-macro-assembler-arm.cc __ bind(name); __ 1274 src/arm/regexp-macro-assembler-arm.cc __ sub(lr, lr, Operand(masm_->CodeObject())); __ 1275 src/arm/regexp-macro-assembler-arm.cc __ push(lr); __ 1281 src/arm/regexp-macro-assembler-arm.cc __ str(source, __ 1288 src/arm/regexp-macro-assembler-arm.cc __ ldr(target, __ 1297 src/arm/regexp-macro-assembler-arm.cc __ mov(r0, Operand(stack_limit)); __ 1298 src/arm/regexp-macro-assembler-arm.cc __ ldr(r0, MemOperand(r0)); __ 1299 src/arm/regexp-macro-assembler-arm.cc __ cmp(sp, r0); __ 1307 src/arm/regexp-macro-assembler-arm.cc __ mov(r0, Operand(stack_limit)); __ 1308 src/arm/regexp-macro-assembler-arm.cc __ ldr(r0, MemOperand(r0)); __ 1309 src/arm/regexp-macro-assembler-arm.cc __ cmp(backtrack_stackpointer(), Operand(r0)); __ 1315 src/arm/regexp-macro-assembler-arm.cc __ CheckConstPool(false, false); __ 1319 src/arm/regexp-macro-assembler-arm.cc __ emit(0); __ 1336 src/arm/regexp-macro-assembler-arm.cc __ jmp(&new_pool_skip); __ 1338 src/arm/regexp-macro-assembler-arm.cc __ bind(&new_pool_skip); __ 1351 src/arm/regexp-macro-assembler-arm.cc __ mov(code_pointer(), Operand(function)); __ 1353 src/arm/regexp-macro-assembler-arm.cc __ CallStub(&stub); __ 1355 src/arm/regexp-macro-assembler-arm.cc __ ldr(sp, MemOperand(sp, 0)); __ 1357 src/arm/regexp-macro-assembler-arm.cc __ mov(code_pointer(), Operand(masm_->CodeObject())); __ 1366 src/arm/regexp-macro-assembler-arm.cc __ add(r4, current_input_offset(), Operand(cp_offset * char_size())); __ 1379 src/arm/regexp-macro-assembler-arm.cc __ ldr(current_character(), MemOperand(end_of_input_address(), offset)); __ 1381 src/arm/regexp-macro-assembler-arm.cc __ ldrh(current_character(), MemOperand(end_of_input_address(), offset)); __ 1384 src/arm/regexp-macro-assembler-arm.cc __ ldrb(current_character(), MemOperand(end_of_input_address(), offset)); __ 1389 src/arm/regexp-macro-assembler-arm.cc __ ldr(current_character(), MemOperand(end_of_input_address(), offset)); __ 1392 src/arm/regexp-macro-assembler-arm.cc __ ldrh(current_character(), MemOperand(end_of_input_address(), offset)); __ 1403 src/arm/regexp-macro-assembler-arm.cc __ str(lr, MemOperand(sp, stack_alignment, NegPreIndex)); __ 1404 src/arm/regexp-macro-assembler-arm.cc __ mov(r0, sp); __ 1405 src/arm/regexp-macro-assembler-arm.cc __ Call(r5); __ 1406 src/arm/regexp-macro-assembler-arm.cc __ ldr(pc, MemOperand(sp, stack_alignment, PostIndex)); __ 74 src/arm/stub-cache-arm.cc __ add(offset_scratch, offset, Operand(offset, LSL, 1)); __ 77 src/arm/stub-cache-arm.cc __ mov(base_addr, Operand(key_offset)); __ 78 src/arm/stub-cache-arm.cc __ add(base_addr, base_addr, Operand(offset_scratch, LSL, kPointerSizeLog2)); __ 81 src/arm/stub-cache-arm.cc __ ldr(ip, MemOperand(base_addr, 0)); __ 82 src/arm/stub-cache-arm.cc __ cmp(name, ip); __ 83 src/arm/stub-cache-arm.cc __ b(ne, &miss); __ 86 src/arm/stub-cache-arm.cc __ ldr(ip, MemOperand(base_addr, map_off_addr - key_off_addr)); __ 87 src/arm/stub-cache-arm.cc __ ldr(scratch2, FieldMemOperand(receiver, HeapObject::kMapOffset)); __ 88 src/arm/stub-cache-arm.cc __ cmp(ip, scratch2); __ 89 src/arm/stub-cache-arm.cc __ b(ne, &miss); __ 94 src/arm/stub-cache-arm.cc __ ldr(code, MemOperand(base_addr, value_off_addr - key_off_addr)); __ 99 src/arm/stub-cache-arm.cc __ ldr(flags_reg, FieldMemOperand(code, Code::kFlagsOffset)); __ 103 src/arm/stub-cache-arm.cc ASSERT(__ ImmediateFitsAddrMode1Instruction(mask)); __ 104 src/arm/stub-cache-arm.cc __ bic(flags_reg, flags_reg, Operand(mask)); __ 107 src/arm/stub-cache-arm.cc __ cmn(flags_reg, Operand(-flags)); __ 109 src/arm/stub-cache-arm.cc __ cmp(flags_reg, Operand(flags)); __ 111 src/arm/stub-cache-arm.cc __ b(ne, &miss); __ 115 src/arm/stub-cache-arm.cc __ jmp(&miss); __ 117 src/arm/stub-cache-arm.cc __ jmp(&miss); __ 122 src/arm/stub-cache-arm.cc __ add(pc, code, Operand(Code::kHeaderSize - kHeapObjectTag)); __ 125 src/arm/stub-cache-arm.cc __ bind(&miss); __ 142 src/arm/stub-cache-arm.cc __ IncrementCounter(counters->negative_lookups(), 1, scratch0, scratch1); __ 143 src/arm/stub-cache-arm.cc __ IncrementCounter(counters->negative_lookups_miss(), 1, scratch0, scratch1); __ 152 src/arm/stub-cache-arm.cc __ ldr(map, FieldMemOperand(receiver, HeapObject::kMapOffset)); __ 153 src/arm/stub-cache-arm.cc __ ldrb(scratch0, FieldMemOperand(map, Map::kBitFieldOffset)); __ 154 src/arm/stub-cache-arm.cc __ tst(scratch0, Operand(kInterceptorOrAccessCheckNeededMask)); __ 155 src/arm/stub-cache-arm.cc __ b(ne, miss_label); __ 158 src/arm/stub-cache-arm.cc __ ldrb(scratch0, FieldMemOperand(map, Map::kInstanceTypeOffset)); __ 159 src/arm/stub-cache-arm.cc __ cmp(scratch0, Operand(FIRST_SPEC_OBJECT_TYPE)); __ 160 src/arm/stub-cache-arm.cc __ b(lt, miss_label); __ 164 src/arm/stub-cache-arm.cc __ ldr(properties, FieldMemOperand(receiver, JSObject::kPropertiesOffset)); __ 166 src/arm/stub-cache-arm.cc __ ldr(map, FieldMemOperand(properties, HeapObject::kMapOffset)); __ 168 src/arm/stub-cache-arm.cc __ LoadRoot(tmp, Heap::kHashTableMapRootIndex); __ 169 src/arm/stub-cache-arm.cc __ cmp(map, tmp); __ 170 src/arm/stub-cache-arm.cc __ b(ne, miss_label); __ 173 src/arm/stub-cache-arm.cc __ ldr(properties, FieldMemOperand(receiver, JSObject::kPropertiesOffset)); __ 183 src/arm/stub-cache-arm.cc __ bind(&done); __ 184 src/arm/stub-cache-arm.cc __ DecrementCounter(counters->negative_lookups_miss(), 1, scratch0, scratch1); __ 224 src/arm/stub-cache-arm.cc __ IncrementCounter(counters->megamorphic_stub_cache_probes(), 1, __ 228 src/arm/stub-cache-arm.cc __ JumpIfSmi(receiver, &miss); __ 231 src/arm/stub-cache-arm.cc __ ldr(scratch, FieldMemOperand(name, String::kHashFieldOffset)); __ 232 src/arm/stub-cache-arm.cc __ ldr(ip, FieldMemOperand(receiver, HeapObject::kMapOffset)); __ 233 src/arm/stub-cache-arm.cc __ add(scratch, scratch, Operand(ip)); __ 237 src/arm/stub-cache-arm.cc __ mov(scratch, Operand(scratch, LSR, kHeapObjectTagSize)); __ 240 src/arm/stub-cache-arm.cc __ eor(scratch, scratch, Operand((flags >> kHeapObjectTagSize) & mask)); __ 242 src/arm/stub-cache-arm.cc __ and_(scratch, scratch, Operand(mask)); __ 257 src/arm/stub-cache-arm.cc __ sub(scratch, scratch, Operand(name, LSR, kHeapObjectTagSize)); __ 259 src/arm/stub-cache-arm.cc __ add(scratch, scratch, Operand((flags >> kHeapObjectTagSize) & mask2)); __ 260 src/arm/stub-cache-arm.cc __ and_(scratch, scratch, Operand(mask2)); __ 276 src/arm/stub-cache-arm.cc __ bind(&miss); __ 277 src/arm/stub-cache-arm.cc __ IncrementCounter(counters->megamorphic_stub_cache_misses(), 1, __ 286 src/arm/stub-cache-arm.cc __ ldr(prototype, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 288 src/arm/stub-cache-arm.cc __ ldr(prototype, __ 291 src/arm/stub-cache-arm.cc __ ldr(prototype, MemOperand(prototype, Context::SlotOffset(index))); __ 293 src/arm/stub-cache-arm.cc __ ldr(prototype, __ 296 src/arm/stub-cache-arm.cc __ ldr(prototype, FieldMemOperand(prototype, Map::kPrototypeOffset)); __ 307 src/arm/stub-cache-arm.cc __ ldr(prototype, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 308 src/arm/stub-cache-arm.cc __ Move(ip, isolate->global()); __ 309 src/arm/stub-cache-arm.cc __ cmp(prototype, ip); __ 310 src/arm/stub-cache-arm.cc __ b(ne, miss); __ 315 src/arm/stub-cache-arm.cc __ Move(prototype, Handle<Map>(function->initial_map())); __ 317 src/arm/stub-cache-arm.cc __ ldr(prototype, FieldMemOperand(prototype, Map::kPrototypeOffset)); __ 334 src/arm/stub-cache-arm.cc __ ldr(dst, FieldMemOperand(src, offset)); __ 338 src/arm/stub-cache-arm.cc __ ldr(dst, FieldMemOperand(src, JSObject::kPropertiesOffset)); __ 339 src/arm/stub-cache-arm.cc __ ldr(dst, FieldMemOperand(dst, offset)); __ 349 src/arm/stub-cache-arm.cc __ JumpIfSmi(receiver, miss_label); __ 352 src/arm/stub-cache-arm.cc __ CompareObjectType(receiver, scratch, scratch, JS_ARRAY_TYPE); __ 353 src/arm/stub-cache-arm.cc __ b(ne, miss_label); __ 356 src/arm/stub-cache-arm.cc __ ldr(r0, FieldMemOperand(receiver, JSArray::kLengthOffset)); __ 357 src/arm/stub-cache-arm.cc __ Ret(); __ 371 src/arm/stub-cache-arm.cc __ JumpIfSmi(receiver, smi); __ 374 src/arm/stub-cache-arm.cc __ ldr(scratch1, FieldMemOperand(receiver, HeapObject::kMapOffset)); __ 375 src/arm/stub-cache-arm.cc __ ldrb(scratch1, FieldMemOperand(scratch1, Map::kInstanceTypeOffset)); __ 376 src/arm/stub-cache-arm.cc __ and_(scratch2, scratch1, Operand(kIsNotStringMask)); __ 378 src/arm/stub-cache-arm.cc __ cmp(scratch2, Operand(static_cast<int32_t>(kStringTag))); __ 379 src/arm/stub-cache-arm.cc __ b(ne, non_string_object); __ 401 src/arm/stub-cache-arm.cc __ ldr(r0, FieldMemOperand(receiver, String::kLengthOffset)); __ 402 src/arm/stub-cache-arm.cc __ Ret(); __ 406 src/arm/stub-cache-arm.cc __ bind(&check_wrapper); __ 407 src/arm/stub-cache-arm.cc __ cmp(scratch1, Operand(JS_VALUE_TYPE)); __ 408 src/arm/stub-cache-arm.cc __ b(ne, miss); __ 411 src/arm/stub-cache-arm.cc __ ldr(scratch1, FieldMemOperand(receiver, JSValue::kValueOffset)); __ 413 src/arm/stub-cache-arm.cc __ ldr(r0, FieldMemOperand(scratch1, String::kLengthOffset)); __ 414 src/arm/stub-cache-arm.cc __ Ret(); __ 424 src/arm/stub-cache-arm.cc __ TryGetFunctionPrototype(receiver, scratch1, scratch2, miss_label); __ 425 src/arm/stub-cache-arm.cc __ mov(r0, scratch1); __ 426 src/arm/stub-cache-arm.cc __ Ret(); __ 453 src/arm/stub-cache-arm.cc __ jmp(miss_label); __ 460 src/arm/stub-cache-arm.cc __ CheckMap(receiver_reg, scratch1, Handle<Map>(object->map()), miss_label, __ 465 src/arm/stub-cache-arm.cc __ CheckAccessGlobalProxy(receiver_reg, scratch1, miss_label); __ 481 src/arm/stub-cache-arm.cc __ push(name_reg); __ 485 src/arm/stub-cache-arm.cc __ jmp(&done_check); __ 486 src/arm/stub-cache-arm.cc __ bind(&miss_pop); __ 487 src/arm/stub-cache-arm.cc __ pop(name_reg); __ 488 src/arm/stub-cache-arm.cc __ jmp(miss_label); __ 489 src/arm/stub-cache-arm.cc __ bind(&done_check); __ 490 src/arm/stub-cache-arm.cc __ pop(name_reg); __ 501 src/arm/stub-cache-arm.cc __ push(receiver_reg); __ 502 src/arm/stub-cache-arm.cc __ mov(r2, Operand(transition)); __ 503 src/arm/stub-cache-arm.cc __ Push(r2, r0); __ 504 src/arm/stub-cache-arm.cc __ TailCallExternalReference( __ 514 src/arm/stub-cache-arm.cc __ mov(scratch1, Operand(transition)); __ 515 src/arm/stub-cache-arm.cc __ str(scratch1, FieldMemOperand(receiver_reg, HeapObject::kMapOffset)); __ 519 src/arm/stub-cache-arm.cc __ RecordWriteField(receiver_reg, __ 537 src/arm/stub-cache-arm.cc __ str(r0, FieldMemOperand(receiver_reg, offset)); __ 540 src/arm/stub-cache-arm.cc __ JumpIfSmi(r0, &exit); __ 544 src/arm/stub-cache-arm.cc __ mov(name_reg, r0); __ 545 src/arm/stub-cache-arm.cc __ RecordWriteField(receiver_reg, __ 555 src/arm/stub-cache-arm.cc __ ldr(scratch1, __ 557 src/arm/stub-cache-arm.cc __ str(r0, FieldMemOperand(scratch1, offset)); __ 560 src/arm/stub-cache-arm.cc __ JumpIfSmi(r0, &exit); __ 564 src/arm/stub-cache-arm.cc __ mov(name_reg, r0); __ 565 src/arm/stub-cache-arm.cc __ RecordWriteField(scratch1, __ 574 src/arm/stub-cache-arm.cc __ bind(&exit); __ 575 src/arm/stub-cache-arm.cc __ Ret(); __ 584 src/arm/stub-cache-arm.cc __ Jump(code, RelocInfo::CODE_TARGET); __ 599 src/arm/stub-cache-arm.cc __ JumpIfSmi(r1, miss); __ 600 src/arm/stub-cache-arm.cc __ CompareObjectType(r1, r3, r3, JS_FUNCTION_TYPE); __ 601 src/arm/stub-cache-arm.cc __ b(ne, miss); __ 606 src/arm/stub-cache-arm.cc __ ldr(r3, FieldMemOperand(r0, GlobalObject::kGlobalReceiverOffset)); __ 607 src/arm/stub-cache-arm.cc __ str(r3, MemOperand(sp, arguments.immediate() * kPointerSize)); __ 614 src/arm/stub-cache-arm.cc __ InvokeFunction(r1, arguments, JUMP_FUNCTION, NullCallWrapper(), call_kind); __ 623 src/arm/stub-cache-arm.cc __ push(name); __ 627 src/arm/stub-cache-arm.cc __ mov(scratch, Operand(interceptor)); __ 628 src/arm/stub-cache-arm.cc __ push(scratch); __ 629 src/arm/stub-cache-arm.cc __ push(receiver); __ 630 src/arm/stub-cache-arm.cc __ push(holder); __ 631 src/arm/stub-cache-arm.cc __ ldr(scratch, FieldMemOperand(scratch, InterceptorInfo::kDataOffset)); __ 632 src/arm/stub-cache-arm.cc __ push(scratch); __ 633 src/arm/stub-cache-arm.cc __ mov(scratch, Operand(ExternalReference::isolate_address())); __ 634 src/arm/stub-cache-arm.cc __ push(scratch); __ 649 src/arm/stub-cache-arm.cc __ mov(r0, Operand(6)); __ 650 src/arm/stub-cache-arm.cc __ mov(r1, Operand(ref)); __ 653 src/arm/stub-cache-arm.cc __ CallStub(&stub); __ 665 src/arm/stub-cache-arm.cc __ mov(scratch, Operand(Smi::FromInt(0))); __ 667 src/arm/stub-cache-arm.cc __ push(scratch); __ 674 src/arm/stub-cache-arm.cc __ Drop(kFastApiCallArguments); __ 693 src/arm/stub-cache-arm.cc __ LoadHeapObject(r5, function); __ 694 src/arm/stub-cache-arm.cc __ ldr(cp, FieldMemOperand(r5, JSFunction::kContextOffset)); __ 700 src/arm/stub-cache-arm.cc __ Move(r0, api_call_info); __ 701 src/arm/stub-cache-arm.cc __ ldr(r6, FieldMemOperand(r0, CallHandlerInfo::kDataOffset)); __ 703 src/arm/stub-cache-arm.cc __ Move(r6, call_data); __ 705 src/arm/stub-cache-arm.cc __ mov(r7, Operand(ExternalReference::isolate_address())); __ 707 src/arm/stub-cache-arm.cc __ stm(ib, sp, r5.bit() | r6.bit() | r7.bit()); __ 710 src/arm/stub-cache-arm.cc __ add(r2, sp, Operand(3 * kPointerSize)); __ 717 src/arm/stub-cache-arm.cc __ EnterExitFrame(false, kApiStackSpace); __ 721 src/arm/stub-cache-arm.cc __ add(r0, sp, Operand(1 * kPointerSize)); __ 723 src/arm/stub-cache-arm.cc __ str(r2, MemOperand(r0, 0 * kPointerSize)); __ 725 src/arm/stub-cache-arm.cc __ add(ip, r2, Operand(argc * kPointerSize)); __ 726 src/arm/stub-cache-arm.cc __ str(ip, MemOperand(r0, 1 * kPointerSize)); __ 728 src/arm/stub-cache-arm.cc __ mov(ip, Operand(argc)); __ 729 src/arm/stub-cache-arm.cc __ str(ip, MemOperand(r0, 2 * kPointerSize)); __ 731 src/arm/stub-cache-arm.cc __ mov(ip, Operand(0)); __ 732 src/arm/stub-cache-arm.cc __ str(ip, MemOperand(r0, 3 * kPointerSize)); __ 742 src/arm/stub-cache-arm.cc __ CallApiFunctionAndReturn(ref, kStackUnwindSpace); __ 771 src/arm/stub-cache-arm.cc __ JumpIfSmi(receiver, miss); __ 812 src/arm/stub-cache-arm.cc __ IncrementCounter(counters->call_const_interceptor(), 1, __ 816 src/arm/stub-cache-arm.cc __ IncrementCounter(counters->call_const_interceptor_fast_api(), 1, __ 861 src/arm/stub-cache-arm.cc __ InvokeFunction(optimization.constant_function(), arguments_, __ 867 src/arm/stub-cache-arm.cc __ bind(&miss_cleanup); __ 869 src/arm/stub-cache-arm.cc __ b(miss_label); __ 873 src/arm/stub-cache-arm.cc __ bind(®ular_invoke); __ 896 src/arm/stub-cache-arm.cc __ push(name_); __ 898 src/arm/stub-cache-arm.cc __ CallExternalReference( __ 903 src/arm/stub-cache-arm.cc __ pop(name_); __ 915 src/arm/stub-cache-arm.cc __ Push(holder, name_); __ 921 src/arm/stub-cache-arm.cc __ pop(name_); // Restore the name. __ 922 src/arm/stub-cache-arm.cc __ pop(receiver); // Restore the holder. __ 925 src/arm/stub-cache-arm.cc __ LoadRoot(scratch, Heap::kNoInterceptorResultSentinelRootIndex); __ 926 src/arm/stub-cache-arm.cc __ cmp(r0, scratch); __ 927 src/arm/stub-cache-arm.cc __ b(ne, interceptor_succeeded); __ 948 src/arm/stub-cache-arm.cc __ mov(scratch, Operand(cell)); __ 949 src/arm/stub-cache-arm.cc __ ldr(scratch, __ 951 src/arm/stub-cache-arm.cc __ LoadRoot(ip, Heap::kTheHoleValueRootIndex); __ 952 src/arm/stub-cache-arm.cc __ cmp(scratch, ip); __ 953 src/arm/stub-cache-arm.cc __ b(ne, miss); __ 991 src/arm/stub-cache-arm.cc __ vmov(s0, ival); __ 992 src/arm/stub-cache-arm.cc __ add(scratch1, dst, Operand(wordoffset, LSL, 2)); __ 993 src/arm/stub-cache-arm.cc __ vcvt_f32_s32(s0, s0); __ 994 src/arm/stub-cache-arm.cc __ vstr(s0, scratch1, 0); __ 1002 src/arm/stub-cache-arm.cc __ and_(fval, ival, Operand(kBinary32SignMask), SetCC); __ 1004 src/arm/stub-cache-arm.cc __ rsb(ival, ival, Operand(0, RelocInfo::NONE), LeaveCC, ne); __ 1009 src/arm/stub-cache-arm.cc __ cmp(ival, Operand(1)); __ 1010 src/arm/stub-cache-arm.cc __ b(gt, ¬_special); __ 1016 src/arm/stub-cache-arm.cc __ orr(fval, fval, Operand(exponent_word_for_1), LeaveCC, eq); __ 1017 src/arm/stub-cache-arm.cc __ b(&done); __ 1019 src/arm/stub-cache-arm.cc __ bind(¬_special); __ 1023 src/arm/stub-cache-arm.cc __ CountLeadingZeros(zeros, ival, scratch1); __ 1026 src/arm/stub-cache-arm.cc __ rsb(scratch1, __ 1030 src/arm/stub-cache-arm.cc __ orr(fval, __ 1035 src/arm/stub-cache-arm.cc __ add(zeros, zeros, Operand(1)); __ 1037 src/arm/stub-cache-arm.cc __ mov(ival, Operand(ival, LSL, zeros)); __ 1039 src/arm/stub-cache-arm.cc __ orr(fval, __ 1043 src/arm/stub-cache-arm.cc __ bind(&done); __ 1044 src/arm/stub-cache-arm.cc __ str(fval, MemOperand(dst, wordoffset, LSL, 2)); __ 1068 src/arm/stub-cache-arm.cc __ mov(scratch, Operand(biased_exponent << HeapNumber::kExponentShift)); __ 1070 src/arm/stub-cache-arm.cc __ mov(loword, Operand(hiword, LSL, mantissa_shift_for_lo_word)); __ 1071 src/arm/stub-cache-arm.cc __ orr(hiword, scratch, Operand(hiword, LSR, mantissa_shift_for_hi_word)); __ 1073 src/arm/stub-cache-arm.cc __ mov(loword, Operand(0, RelocInfo::NONE)); __ 1074 src/arm/stub-cache-arm.cc __ orr(hiword, scratch, Operand(hiword, LSL, mantissa_shift_for_hi_word)); __ 1080 src/arm/stub-cache-arm.cc __ bic(hiword, hiword, Operand(1 << HeapNumber::kExponentShift)); __ 1108 src/arm/stub-cache-arm.cc __ str(reg, MemOperand(sp)); __ 1134 src/arm/stub-cache-arm.cc __ ldr(scratch1, FieldMemOperand(reg, HeapObject::kMapOffset)); __ 1136 src/arm/stub-cache-arm.cc __ ldr(reg, FieldMemOperand(scratch1, Map::kPrototypeOffset)); __ 1139 src/arm/stub-cache-arm.cc __ CheckMap(reg, scratch1, current_map, miss, DONT_DO_SMI_CHECK, __ 1146 src/arm/stub-cache-arm.cc __ CheckAccessGlobalProxy(reg, scratch2, miss); __ 1153 src/arm/stub-cache-arm.cc __ ldr(reg, FieldMemOperand(scratch1, Map::kPrototypeOffset)); __ 1156 src/arm/stub-cache-arm.cc __ mov(reg, Operand(prototype)); __ 1161 src/arm/stub-cache-arm.cc __ str(reg, MemOperand(sp)); __ 1172 src/arm/stub-cache-arm.cc __ CheckMap(reg, scratch1, Handle<Map>(current->map()), miss, __ 1178 src/arm/stub-cache-arm.cc __ CheckAccessGlobalProxy(reg, scratch1, miss); __ 1201 src/arm/stub-cache-arm.cc __ JumpIfSmi(receiver, miss); __ 1207 src/arm/stub-cache-arm.cc __ Ret(); __ 1221 src/arm/stub-cache-arm.cc __ JumpIfSmi(receiver, miss); __ 1228 src/arm/stub-cache-arm.cc __ LoadHeapObject(r0, value); __ 1229 src/arm/stub-cache-arm.cc __ Ret(); __ 1244 src/arm/stub-cache-arm.cc __ JumpIfSmi(receiver, miss); __ 1252 src/arm/stub-cache-arm.cc __ push(receiver); __ 1253 src/arm/stub-cache-arm.cc __ mov(scratch2, sp); // scratch2 = AccessorInfo::args_ __ 1255 src/arm/stub-cache-arm.cc __ Move(scratch3, callback); __ 1256 src/arm/stub-cache-arm.cc __ ldr(scratch3, FieldMemOperand(scratch3, AccessorInfo::kDataOffset)); __ 1258 src/arm/stub-cache-arm.cc __ Move(scratch3, Handle<Object>(callback->data())); __ 1260 src/arm/stub-cache-arm.cc __ Push(reg, scratch3); __ 1261 src/arm/stub-cache-arm.cc __ mov(scratch3, Operand(ExternalReference::isolate_address())); __ 1262 src/arm/stub-cache-arm.cc __ Push(scratch3, name_reg); __ 1263 src/arm/stub-cache-arm.cc __ mov(r0, sp); // r0 = Handle<String> __ 1267 src/arm/stub-cache-arm.cc __ EnterExitFrame(false, kApiStackSpace); __ 1271 src/arm/stub-cache-arm.cc __ str(scratch2, MemOperand(sp, 1 * kPointerSize)); __ 1272 src/arm/stub-cache-arm.cc __ add(r1, sp, Operand(1 * kPointerSize)); // r1 = AccessorInfo& __ 1281 src/arm/stub-cache-arm.cc __ CallApiFunctionAndReturn(ref, kStackUnwindSpace); __ 1299 src/arm/stub-cache-arm.cc __ JumpIfSmi(receiver, miss); __ 1338 src/arm/stub-cache-arm.cc __ Push(receiver, holder_reg, name_reg); __ 1340 src/arm/stub-cache-arm.cc __ Push(holder_reg, name_reg); __ 1353 src/arm/stub-cache-arm.cc __ LoadRoot(scratch1, Heap::kNoInterceptorResultSentinelRootIndex); __ 1354 src/arm/stub-cache-arm.cc __ cmp(r0, scratch1); __ 1355 src/arm/stub-cache-arm.cc __ b(eq, &interceptor_failed); __ 1357 src/arm/stub-cache-arm.cc __ Ret(); __ 1359 src/arm/stub-cache-arm.cc __ bind(&interceptor_failed); __ 1360 src/arm/stub-cache-arm.cc __ pop(name_reg); __ 1361 src/arm/stub-cache-arm.cc __ pop(holder_reg); __ 1363 src/arm/stub-cache-arm.cc __ pop(receiver); __ 1386 src/arm/stub-cache-arm.cc __ Ret(); __ 1398 src/arm/stub-cache-arm.cc __ Move(scratch2, callback); __ 1402 src/arm/stub-cache-arm.cc __ Push(receiver, holder_reg); __ 1404 src/arm/stub-cache-arm.cc __ push(receiver); __ 1405 src/arm/stub-cache-arm.cc __ push(holder_reg); __ 1407 src/arm/stub-cache-arm.cc __ ldr(scratch3, __ 1409 src/arm/stub-cache-arm.cc __ mov(scratch1, Operand(ExternalReference::isolate_address())); __ 1410 src/arm/stub-cache-arm.cc __ Push(scratch3, scratch1, scratch2, name_reg); __ 1415 src/arm/stub-cache-arm.cc __ TailCallExternalReference(ref, 6, 1); __ 1429 src/arm/stub-cache-arm.cc __ TailCallExternalReference(ref, 6, 1); __ 1436 src/arm/stub-cache-arm.cc __ cmp(r2, Operand(name)); __ 1437 src/arm/stub-cache-arm.cc __ b(ne, miss); __ 1452 src/arm/stub-cache-arm.cc __ ldr(r0, MemOperand(sp, argc * kPointerSize)); __ 1455 src/arm/stub-cache-arm.cc __ JumpIfSmi(r0, miss); __ 1465 src/arm/stub-cache-arm.cc __ mov(r3, Operand(cell)); __ 1466 src/arm/stub-cache-arm.cc __ ldr(r1, FieldMemOperand(r3, JSGlobalPropertyCell::kValueOffset)); __ 1475 src/arm/stub-cache-arm.cc __ JumpIfSmi(r1, miss); __ 1476 src/arm/stub-cache-arm.cc __ CompareObjectType(r1, r3, r3, JS_FUNCTION_TYPE); __ 1477 src/arm/stub-cache-arm.cc __ b(ne, miss); __ 1480 src/arm/stub-cache-arm.cc __ Move(r3, Handle<SharedFunctionInfo>(function->shared())); __ 1481 src/arm/stub-cache-arm.cc __ ldr(r4, FieldMemOperand(r1, JSFunction::kSharedFunctionInfoOffset)); __ 1482 src/arm/stub-cache-arm.cc __ cmp(r4, r3); __ 1484 src/arm/stub-cache-arm.cc __ cmp(r1, Operand(function)); __ 1486 src/arm/stub-cache-arm.cc __ b(ne, miss); __ 1495 src/arm/stub-cache-arm.cc __ Jump(code, RelocInfo::CODE_TARGET); __ 1514 src/arm/stub-cache-arm.cc __ ldr(r0, MemOperand(sp, argc * kPointerSize)); __ 1516 src/arm/stub-cache-arm.cc __ JumpIfSmi(r0, &miss); __ 1525 src/arm/stub-cache-arm.cc __ bind(&miss); __ 1556 src/arm/stub-cache-arm.cc __ ldr(receiver, MemOperand(sp, argc * kPointerSize)); __ 1559 src/arm/stub-cache-arm.cc __ JumpIfSmi(receiver, &miss); __ 1567 src/arm/stub-cache-arm.cc __ ldr(r0, FieldMemOperand(receiver, JSArray::kLengthOffset)); __ 1568 src/arm/stub-cache-arm.cc __ Drop(argc + 1); __ 1569 src/arm/stub-cache-arm.cc __ Ret(); __ 1579 src/arm/stub-cache-arm.cc __ ldr(elements, FieldMemOperand(receiver, JSArray::kElementsOffset)); __ 1582 src/arm/stub-cache-arm.cc __ CheckMap(elements, __ 1590 src/arm/stub-cache-arm.cc __ ldr(r0, FieldMemOperand(receiver, JSArray::kLengthOffset)); __ 1593 src/arm/stub-cache-arm.cc __ add(r0, r0, Operand(Smi::FromInt(argc))); __ 1596 src/arm/stub-cache-arm.cc __ ldr(r4, FieldMemOperand(elements, FixedArray::kLengthOffset)); __ 1599 src/arm/stub-cache-arm.cc __ cmp(r0, r4); __ 1600 src/arm/stub-cache-arm.cc __ b(gt, &attempt_to_grow_elements); __ 1604 src/arm/stub-cache-arm.cc __ ldr(r4, MemOperand(sp, (argc - 1) * kPointerSize)); __ 1605 src/arm/stub-cache-arm.cc __ JumpIfNotSmi(r4, &with_write_barrier); __ 1608 src/arm/stub-cache-arm.cc __ str(r0, FieldMemOperand(receiver, JSArray::kLengthOffset)); __ 1613 src/arm/stub-cache-arm.cc __ add(end_elements, elements, __ 1617 src/arm/stub-cache-arm.cc __ str(r4, MemOperand(end_elements, kEndElementsOffset, PreIndex)); __ 1620 src/arm/stub-cache-arm.cc __ Drop(argc + 1); __ 1621 src/arm/stub-cache-arm.cc __ Ret(); __ 1623 src/arm/stub-cache-arm.cc __ bind(&with_write_barrier); __ 1625 src/arm/stub-cache-arm.cc __ ldr(r3, FieldMemOperand(receiver, HeapObject::kMapOffset)); __ 1629 src/arm/stub-cache-arm.cc __ CheckFastObjectElements(r3, r7, ¬_fast_object); __ 1630 src/arm/stub-cache-arm.cc __ jmp(&fast_object); __ 1632 src/arm/stub-cache-arm.cc __ bind(¬_fast_object); __ 1633 src/arm/stub-cache-arm.cc __ CheckFastSmiElements(r3, r7, &call_builtin); __ 1637 src/arm/stub-cache-arm.cc __ LoadTransitionedArrayMapConditional(FAST_SMI_ELEMENTS, __ 1642 src/arm/stub-cache-arm.cc __ mov(r2, receiver); __ 1645 src/arm/stub-cache-arm.cc __ jmp(&fast_object); __ 1647 src/arm/stub-cache-arm.cc __ bind(&try_holey_map); __ 1648 src/arm/stub-cache-arm.cc __ LoadTransitionedArrayMapConditional(FAST_HOLEY_SMI_ELEMENTS, __ 1653 src/arm/stub-cache-arm.cc __ mov(r2, receiver); __ 1656 src/arm/stub-cache-arm.cc __ bind(&fast_object); __ 1658 src/arm/stub-cache-arm.cc __ CheckFastObjectElements(r3, r3, &call_builtin); __ 1662 src/arm/stub-cache-arm.cc __ str(r0, FieldMemOperand(receiver, JSArray::kLengthOffset)); __ 1667 src/arm/stub-cache-arm.cc __ add(end_elements, elements, __ 1669 src/arm/stub-cache-arm.cc __ str(r4, MemOperand(end_elements, kEndElementsOffset, PreIndex)); __ 1671 src/arm/stub-cache-arm.cc __ RecordWrite(elements, __ 1678 src/arm/stub-cache-arm.cc __ Drop(argc + 1); __ 1679 src/arm/stub-cache-arm.cc __ Ret(); __ 1681 src/arm/stub-cache-arm.cc __ bind(&attempt_to_grow_elements); __ 1686 src/arm/stub-cache-arm.cc __ b(&call_builtin); __ 1689 src/arm/stub-cache-arm.cc __ ldr(r2, MemOperand(sp, (argc - 1) * kPointerSize)); __ 1693 src/arm/stub-cache-arm.cc __ JumpIfSmi(r2, &no_fast_elements_check); __ 1694 src/arm/stub-cache-arm.cc __ ldr(r7, FieldMemOperand(receiver, HeapObject::kMapOffset)); __ 1695 src/arm/stub-cache-arm.cc __ CheckFastObjectElements(r7, r7, &call_builtin); __ 1696 src/arm/stub-cache-arm.cc __ bind(&no_fast_elements_check); __ 1706 src/arm/stub-cache-arm.cc __ add(end_elements, elements, __ 1708 src/arm/stub-cache-arm.cc __ add(end_elements, end_elements, Operand(kEndElementsOffset)); __ 1709 src/arm/stub-cache-arm.cc __ mov(r7, Operand(new_space_allocation_top)); __ 1710 src/arm/stub-cache-arm.cc __ ldr(r3, MemOperand(r7)); __ 1711 src/arm/stub-cache-arm.cc __ cmp(end_elements, r3); __ 1712 src/arm/stub-cache-arm.cc __ b(ne, &call_builtin); __ 1714 src/arm/stub-cache-arm.cc __ mov(r9, Operand(new_space_allocation_limit)); __ 1715 src/arm/stub-cache-arm.cc __ ldr(r9, MemOperand(r9)); __ 1716 src/arm/stub-cache-arm.cc __ add(r3, r3, Operand(kAllocationDelta * kPointerSize)); __ 1717 src/arm/stub-cache-arm.cc __ cmp(r3, r9); __ 1718 src/arm/stub-cache-arm.cc __ b(hi, &call_builtin); __ 1722 src/arm/stub-cache-arm.cc __ str(r3, MemOperand(r7)); __ 1724 src/arm/stub-cache-arm.cc __ str(r2, MemOperand(end_elements)); __ 1726 src/arm/stub-cache-arm.cc __ LoadRoot(r3, Heap::kTheHoleValueRootIndex); __ 1728 src/arm/stub-cache-arm.cc __ str(r3, MemOperand(end_elements, i * kPointerSize)); __ 1732 src/arm/stub-cache-arm.cc __ str(r0, FieldMemOperand(receiver, JSArray::kLengthOffset)); __ 1733 src/arm/stub-cache-arm.cc __ add(r4, r4, Operand(Smi::FromInt(kAllocationDelta))); __ 1734 src/arm/stub-cache-arm.cc __ str(r4, FieldMemOperand(elements, FixedArray::kLengthOffset)); __ 1737 src/arm/stub-cache-arm.cc __ Drop(argc + 1); __ 1738 src/arm/stub-cache-arm.cc __ Ret(); __ 1740 src/arm/stub-cache-arm.cc __ bind(&call_builtin); __ 1741 src/arm/stub-cache-arm.cc __ TailCallExternalReference(ExternalReference(Builtins::c_ArrayPush, __ 1748 src/arm/stub-cache-arm.cc __ bind(&miss); __ 1780 src/arm/stub-cache-arm.cc __ ldr(receiver, MemOperand(sp, argc * kPointerSize)); __ 1782 src/arm/stub-cache-arm.cc __ JumpIfSmi(receiver, &miss); __ 1789 src/arm/stub-cache-arm.cc __ ldr(elements, FieldMemOperand(receiver, JSArray::kElementsOffset)); __ 1792 src/arm/stub-cache-arm.cc __ CheckMap(elements, __ 1799 src/arm/stub-cache-arm.cc __ ldr(r4, FieldMemOperand(receiver, JSArray::kLengthOffset)); __ 1800 src/arm/stub-cache-arm.cc __ sub(r4, r4, Operand(Smi::FromInt(1)), SetCC); __ 1801 src/arm/stub-cache-arm.cc __ b(lt, &return_undefined); __ 1804 src/arm/stub-cache-arm.cc __ LoadRoot(r6, Heap::kTheHoleValueRootIndex); __ 1809 src/arm/stub-cache-arm.cc __ add(elements, elements, Operand(r4, LSL, kPointerSizeLog2 - kSmiTagSize)); __ 1810 src/arm/stub-cache-arm.cc __ ldr(r0, FieldMemOperand(elements, FixedArray::kHeaderSize)); __ 1811 src/arm/stub-cache-arm.cc __ cmp(r0, r6); __ 1812 src/arm/stub-cache-arm.cc __ b(eq, &call_builtin); __ 1815 src/arm/stub-cache-arm.cc __ str(r4, FieldMemOperand(receiver, JSArray::kLengthOffset)); __ 1818 src/arm/stub-cache-arm.cc __ str(r6, FieldMemOperand(elements, FixedArray::kHeaderSize)); __ 1819 src/arm/stub-cache-arm.cc __ Drop(argc + 1); __ 1820 src/arm/stub-cache-arm.cc __ Ret(); __ 1822 src/arm/stub-cache-arm.cc __ bind(&return_undefined); __ 1823 src/arm/stub-cache-arm.cc __ LoadRoot(r0, Heap::kUndefinedValueRootIndex); __ 1824 src/arm/stub-cache-arm.cc __ Drop(argc + 1); __ 1825 src/arm/stub-cache-arm.cc __ Ret(); __ 1827 src/arm/stub-cache-arm.cc __ bind(&call_builtin); __ 1828 src/arm/stub-cache-arm.cc __ TailCallExternalReference(ExternalReference(Builtins::c_ArrayPop, __ 1834 src/arm/stub-cache-arm.cc __ bind(&miss); __ 1884 src/arm/stub-cache-arm.cc __ ldr(receiver, MemOperand(sp, argc * kPointerSize)); __ 1886 src/arm/stub-cache-arm.cc __ ldr(index, MemOperand(sp, (argc - 1) * kPointerSize)); __ 1888 src/arm/stub-cache-arm.cc __ LoadRoot(index, Heap::kUndefinedValueRootIndex); __ 1899 src/arm/stub-cache-arm.cc __ Drop(argc + 1); __ 1900 src/arm/stub-cache-arm.cc __ Ret(); __ 1906 src/arm/stub-cache-arm.cc __ bind(&index_out_of_range); __ 1907 src/arm/stub-cache-arm.cc __ LoadRoot(r0, Heap::kNanValueRootIndex); __ 1908 src/arm/stub-cache-arm.cc __ Drop(argc + 1); __ 1909 src/arm/stub-cache-arm.cc __ Ret(); __ 1912 src/arm/stub-cache-arm.cc __ bind(&miss); __ 1914 src/arm/stub-cache-arm.cc __ Move(r2, name); __ 1915 src/arm/stub-cache-arm.cc __ bind(&name_miss); __ 1965 src/arm/stub-cache-arm.cc __ ldr(receiver, MemOperand(sp, argc * kPointerSize)); __ 1967 src/arm/stub-cache-arm.cc __ ldr(index, MemOperand(sp, (argc - 1) * kPointerSize)); __ 1969 src/arm/stub-cache-arm.cc __ LoadRoot(index, Heap::kUndefinedValueRootIndex); __ 1981 src/arm/stub-cache-arm.cc __ Drop(argc + 1); __ 1982 src/arm/stub-cache-arm.cc __ Ret(); __ 1988 src/arm/stub-cache-arm.cc __ bind(&index_out_of_range); __ 1989 src/arm/stub-cache-arm.cc __ LoadRoot(r0, Heap::kEmptyStringRootIndex); __ 1990 src/arm/stub-cache-arm.cc __ Drop(argc + 1); __ 1991 src/arm/stub-cache-arm.cc __ Ret(); __ 1994 src/arm/stub-cache-arm.cc __ bind(&miss); __ 1996 src/arm/stub-cache-arm.cc __ Move(r2, name); __ 1997 src/arm/stub-cache-arm.cc __ bind(&name_miss); __ 2029 src/arm/stub-cache-arm.cc __ ldr(r1, MemOperand(sp, 1 * kPointerSize)); __ 2032 src/arm/stub-cache-arm.cc __ JumpIfSmi(r1, &miss); __ 2045 src/arm/stub-cache-arm.cc __ ldr(code, MemOperand(sp, 0 * kPointerSize)); __ 2050 src/arm/stub-cache-arm.cc __ JumpIfNotSmi(code, &slow); __ 2053 src/arm/stub-cache-arm.cc __ and_(code, code, Operand(Smi::FromInt(0xffff))); __ 2057 src/arm/stub-cache-arm.cc __ Drop(argc + 1); __ 2058 src/arm/stub-cache-arm.cc __ Ret(); __ 2065 src/arm/stub-cache-arm.cc __ bind(&slow); __ 2066 src/arm/stub-cache-arm.cc __ InvokeFunction( __ 2069 src/arm/stub-cache-arm.cc __ bind(&miss); __ 2106 src/arm/stub-cache-arm.cc __ ldr(r1, MemOperand(sp, 1 * kPointerSize)); __ 2108 src/arm/stub-cache-arm.cc __ JumpIfSmi(r1, &miss); __ 2119 src/arm/stub-cache-arm.cc __ ldr(r0, MemOperand(sp, 0 * kPointerSize)); __ 2123 src/arm/stub-cache-arm.cc __ tst(r0, Operand(kSmiTagMask)); __ 2124 src/arm/stub-cache-arm.cc __ Drop(argc + 1, eq); __ 2125 src/arm/stub-cache-arm.cc __ Ret(eq); __ 2127 src/arm/stub-cache-arm.cc __ CheckMap(r0, r1, Heap::kHeapNumberMapRootIndex, &slow, DONT_DO_SMI_CHECK); __ 2139 src/arm/stub-cache-arm.cc __ Ldrd(r4, r5, FieldMemOperand(r0, HeapNumber::kValueOffset)); __ 2140 src/arm/stub-cache-arm.cc __ vmov(d1, r4, r5); __ 2143 src/arm/stub-cache-arm.cc __ vmrs(r3); __ 2149 src/arm/stub-cache-arm.cc __ bic(r9, r3, __ 2151 src/arm/stub-cache-arm.cc __ orr(r9, r9, Operand(kRoundToMinusInf)); __ 2152 src/arm/stub-cache-arm.cc __ vmsr(r9); __ 2155 src/arm/stub-cache-arm.cc __ vcvt_s32_f64(s0, d1, kFPSCRRounding); __ 2159 src/arm/stub-cache-arm.cc __ bic(r6, r5, Operand(HeapNumber::kSignMask)); __ 2160 src/arm/stub-cache-arm.cc __ mov(r6, Operand(r6, LSR, HeapNumber::kMantissaBitsInTopWord)); __ 2163 src/arm/stub-cache-arm.cc __ vmrs(r9); __ 2164 src/arm/stub-cache-arm.cc __ tst(r9, Operand(kVFPExceptionMask)); __ 2165 src/arm/stub-cache-arm.cc __ b(&no_vfp_exception, eq); __ 2170 src/arm/stub-cache-arm.cc __ sub(r7, r6, Operand(HeapNumber::kExponentMask __ 2172 src/arm/stub-cache-arm.cc __ b(&restore_fpscr_and_return, eq); __ 2175 src/arm/stub-cache-arm.cc __ cmp(r7, Operand(HeapNumber::kMantissaBits)); __ 2177 src/arm/stub-cache-arm.cc __ b(&restore_fpscr_and_return, ge); __ 2178 src/arm/stub-cache-arm.cc __ b(&wont_fit_smi); __ 2180 src/arm/stub-cache-arm.cc __ bind(&no_vfp_exception); __ 2182 src/arm/stub-cache-arm.cc __ vmov(r0, s0); __ 2184 src/arm/stub-cache-arm.cc __ add(r1, r0, Operand(0x40000000), SetCC); __ 2185 src/arm/stub-cache-arm.cc __ b(&wont_fit_smi, mi); __ 2188 src/arm/stub-cache-arm.cc __ mov(r0, Operand(r0, LSL, kSmiTagSize)); __ 2191 src/arm/stub-cache-arm.cc __ cmp(r0, Operand(0, RelocInfo::NONE)); __ 2192 src/arm/stub-cache-arm.cc __ b(&restore_fpscr_and_return, ne); __ 2194 src/arm/stub-cache-arm.cc __ tst(r5, Operand(HeapNumber::kSignMask)); __ 2197 src/arm/stub-cache-arm.cc __ ldr(r0, MemOperand(sp, 0 * kPointerSize), ne); __ 2199 src/arm/stub-cache-arm.cc __ bind(&restore_fpscr_and_return); __ 2201 src/arm/stub-cache-arm.cc __ vmsr(r3); __ 2202 src/arm/stub-cache-arm.cc __ Drop(argc + 1); __ 2203 src/arm/stub-cache-arm.cc __ Ret(); __ 2205 src/arm/stub-cache-arm.cc __ bind(&wont_fit_smi); __ 2207 src/arm/stub-cache-arm.cc __ vmsr(r3); __ 2209 src/arm/stub-cache-arm.cc __ bind(&slow); __ 2212 src/arm/stub-cache-arm.cc __ InvokeFunction( __ 2215 src/arm/stub-cache-arm.cc __ bind(&miss); __ 2246 src/arm/stub-cache-arm.cc __ ldr(r1, MemOperand(sp, 1 * kPointerSize)); __ 2248 src/arm/stub-cache-arm.cc __ JumpIfSmi(r1, &miss); __ 2259 src/arm/stub-cache-arm.cc __ ldr(r0, MemOperand(sp, 0 * kPointerSize)); __ 2264 src/arm/stub-cache-arm.cc __ JumpIfNotSmi(r0, ¬_smi); __ 2268 src/arm/stub-cache-arm.cc __ eor(r1, r0, Operand(r0, ASR, kBitsPerInt - 1)); __ 2271 src/arm/stub-cache-arm.cc __ sub(r0, r1, Operand(r0, ASR, kBitsPerInt - 1), SetCC); __ 2276 src/arm/stub-cache-arm.cc __ b(mi, &slow); __ 2279 src/arm/stub-cache-arm.cc __ Drop(argc + 1); __ 2280 src/arm/stub-cache-arm.cc __ Ret(); __ 2284 src/arm/stub-cache-arm.cc __ bind(¬_smi); __ 2285 src/arm/stub-cache-arm.cc __ CheckMap(r0, r1, Heap::kHeapNumberMapRootIndex, &slow, DONT_DO_SMI_CHECK); __ 2286 src/arm/stub-cache-arm.cc __ ldr(r1, FieldMemOperand(r0, HeapNumber::kExponentOffset)); __ 2291 src/arm/stub-cache-arm.cc __ tst(r1, Operand(HeapNumber::kSignMask)); __ 2292 src/arm/stub-cache-arm.cc __ b(ne, &negative_sign); __ 2293 src/arm/stub-cache-arm.cc __ Drop(argc + 1); __ 2294 src/arm/stub-cache-arm.cc __ Ret(); __ 2298 src/arm/stub-cache-arm.cc __ bind(&negative_sign); __ 2299 src/arm/stub-cache-arm.cc __ eor(r1, r1, Operand(HeapNumber::kSignMask)); __ 2300 src/arm/stub-cache-arm.cc __ ldr(r3, FieldMemOperand(r0, HeapNumber::kMantissaOffset)); __ 2301 src/arm/stub-cache-arm.cc __ LoadRoot(r6, Heap::kHeapNumberMapRootIndex); __ 2302 src/arm/stub-cache-arm.cc __ AllocateHeapNumber(r0, r4, r5, r6, &slow); __ 2303 src/arm/stub-cache-arm.cc __ str(r1, FieldMemOperand(r0, HeapNumber::kExponentOffset)); __ 2304 src/arm/stub-cache-arm.cc __ str(r3, FieldMemOperand(r0, HeapNumber::kMantissaOffset)); __ 2305 src/arm/stub-cache-arm.cc __ Drop(argc + 1); __ 2306 src/arm/stub-cache-arm.cc __ Ret(); __ 2310 src/arm/stub-cache-arm.cc __ bind(&slow); __ 2311 src/arm/stub-cache-arm.cc __ InvokeFunction( __ 2314 src/arm/stub-cache-arm.cc __ bind(&miss); __ 2347 src/arm/stub-cache-arm.cc __ ldr(r1, MemOperand(sp, argc * kPointerSize)); __ 2350 src/arm/stub-cache-arm.cc __ JumpIfSmi(r1, &miss_before_stack_reserved); __ 2352 src/arm/stub-cache-arm.cc __ IncrementCounter(counters->call_const(), 1, r0, r3); __ 2353 src/arm/stub-cache-arm.cc __ IncrementCounter(counters->call_const_fast_api(), 1, r0, r3); __ 2363 src/arm/stub-cache-arm.cc __ bind(&miss); __ 2366 src/arm/stub-cache-arm.cc __ bind(&miss_before_stack_reserved); __ 2396 src/arm/stub-cache-arm.cc __ ldr(r1, MemOperand(sp, argc * kPointerSize)); __ 2400 src/arm/stub-cache-arm.cc __ JumpIfSmi(r1, &miss); __ 2408 src/arm/stub-cache-arm.cc __ IncrementCounter(masm()->isolate()->counters()->call_const(), __ 2418 src/arm/stub-cache-arm.cc __ ldr(r3, FieldMemOperand(r1, GlobalObject::kGlobalReceiverOffset)); __ 2419 src/arm/stub-cache-arm.cc __ str(r3, MemOperand(sp, argc * kPointerSize)); __ 2426 src/arm/stub-cache-arm.cc __ CompareObjectType(r1, r3, r3, FIRST_NONSTRING_TYPE); __ 2427 src/arm/stub-cache-arm.cc __ b(ge, &miss); __ 2437 src/arm/stub-cache-arm.cc __ jmp(&miss); __ 2445 src/arm/stub-cache-arm.cc __ JumpIfSmi(r1, &fast); __ 2446 src/arm/stub-cache-arm.cc __ CompareObjectType(r1, r0, r0, HEAP_NUMBER_TYPE); __ 2447 src/arm/stub-cache-arm.cc __ b(ne, &miss); __ 2448 src/arm/stub-cache-arm.cc __ bind(&fast); __ 2458 src/arm/stub-cache-arm.cc __ jmp(&miss); __ 2466 src/arm/stub-cache-arm.cc __ LoadRoot(ip, Heap::kTrueValueRootIndex); __ 2467 src/arm/stub-cache-arm.cc __ cmp(r1, ip); __ 2468 src/arm/stub-cache-arm.cc __ b(eq, &fast); __ 2469 src/arm/stub-cache-arm.cc __ LoadRoot(ip, Heap::kFalseValueRootIndex); __ 2470 src/arm/stub-cache-arm.cc __ cmp(r1, ip); __ 2471 src/arm/stub-cache-arm.cc __ b(ne, &miss); __ 2472 src/arm/stub-cache-arm.cc __ bind(&fast); __ 2482 src/arm/stub-cache-arm.cc __ jmp(&miss); __ 2490 src/arm/stub-cache-arm.cc __ InvokeFunction( __ 2494 src/arm/stub-cache-arm.cc __ bind(&miss); __ 2518 src/arm/stub-cache-arm.cc __ ldr(r1, MemOperand(sp, argc * kPointerSize)); __ 2525 src/arm/stub-cache-arm.cc __ mov(r1, r0); __ 2527 src/arm/stub-cache-arm.cc __ ldr(r0, MemOperand(sp, argc * kPointerSize)); __ 2532 src/arm/stub-cache-arm.cc __ bind(&miss); __ 2567 src/arm/stub-cache-arm.cc __ ldr(r3, FieldMemOperand(r0, GlobalObject::kGlobalReceiverOffset)); __ 2568 src/arm/stub-cache-arm.cc __ str(r3, MemOperand(sp, argc * kPointerSize)); __ 2572 src/arm/stub-cache-arm.cc __ ldr(cp, FieldMemOperand(r1, JSFunction::kContextOffset)); __ 2576 src/arm/stub-cache-arm.cc __ IncrementCounter(counters->call_global_inline(), 1, r3, r4); __ 2584 src/arm/stub-cache-arm.cc __ ldr(r3, FieldMemOperand(r1, JSFunction::kCodeEntryOffset)); __ 2585 src/arm/stub-cache-arm.cc __ InvokeCode(r3, expected, arguments(), JUMP_FUNCTION, __ 2589 src/arm/stub-cache-arm.cc __ bind(&miss); __ 2590 src/arm/stub-cache-arm.cc __ IncrementCounter(counters->call_global_inline_miss(), 1, r1, r3); __ 2617 src/arm/stub-cache-arm.cc __ bind(&miss); __ 2619 src/arm/stub-cache-arm.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 2641 src/arm/stub-cache-arm.cc __ CheckMap(r1, r3, Handle<Map>(object->map()), &miss, __ 2646 src/arm/stub-cache-arm.cc __ CheckAccessGlobalProxy(r1, r3, &miss); __ 2653 src/arm/stub-cache-arm.cc __ push(r1); // receiver __ 2654 src/arm/stub-cache-arm.cc __ mov(ip, Operand(callback)); // callback info __ 2655 src/arm/stub-cache-arm.cc __ Push(ip, r2, r0); __ 2661 src/arm/stub-cache-arm.cc __ TailCallExternalReference(store_callback_property, 4, 1); __ 2664 src/arm/stub-cache-arm.cc __ bind(&miss); __ 2666 src/arm/stub-cache-arm.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 2687 src/arm/stub-cache-arm.cc __ JumpIfSmi(r1, &miss); __ 2694 src/arm/stub-cache-arm.cc __ push(r0); __ 2697 src/arm/stub-cache-arm.cc __ Push(r1, r0); __ 2699 src/arm/stub-cache-arm.cc __ InvokeFunction(setter, actual, CALL_FUNCTION, NullCallWrapper(), __ 2703 src/arm/stub-cache-arm.cc __ pop(r0); __ 2706 src/arm/stub-cache-arm.cc __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 2708 src/arm/stub-cache-arm.cc __ Ret(); __ 2710 src/arm/stub-cache-arm.cc __ bind(&miss); __ 2712 src/arm/stub-cache-arm.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 2731 src/arm/stub-cache-arm.cc __ CheckMap(r1, r3, Handle<Map>(receiver->map()), &miss, __ 2736 src/arm/stub-cache-arm.cc __ CheckAccessGlobalProxy(r1, r3, &miss); __ 2743 src/arm/stub-cache-arm.cc __ Push(r1, r2, r0); // Receiver, name, value. __ 2745 src/arm/stub-cache-arm.cc __ mov(r0, Operand(Smi::FromInt(strict_mode_))); __ 2746 src/arm/stub-cache-arm.cc __ push(r0); // strict mode __ 2752 src/arm/stub-cache-arm.cc __ TailCallExternalReference(store_ic_property, 4, 1); __ 2755 src/arm/stub-cache-arm.cc __ bind(&miss); __ 2757 src/arm/stub-cache-arm.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 2777 src/arm/stub-cache-arm.cc __ ldr(r3, FieldMemOperand(r1, HeapObject::kMapOffset)); __ 2778 src/arm/stub-cache-arm.cc __ cmp(r3, Operand(Handle<Map>(object->map()))); __ 2779 src/arm/stub-cache-arm.cc __ b(ne, &miss); __ 2785 src/arm/stub-cache-arm.cc __ mov(r4, Operand(cell)); __ 2786 src/arm/stub-cache-arm.cc __ LoadRoot(r5, Heap::kTheHoleValueRootIndex); __ 2787 src/arm/stub-cache-arm.cc __ ldr(r6, FieldMemOperand(r4, JSGlobalPropertyCell::kValueOffset)); __ 2788 src/arm/stub-cache-arm.cc __ cmp(r5, r6); __ 2789 src/arm/stub-cache-arm.cc __ b(eq, &miss); __ 2792 src/arm/stub-cache-arm.cc __ str(r0, FieldMemOperand(r4, JSGlobalPropertyCell::kValueOffset)); __ 2796 src/arm/stub-cache-arm.cc __ IncrementCounter(counters->named_store_global_inline(), 1, r4, r3); __ 2797 src/arm/stub-cache-arm.cc __ Ret(); __ 2800 src/arm/stub-cache-arm.cc __ bind(&miss); __ 2801 src/arm/stub-cache-arm.cc __ IncrementCounter(counters->named_store_global_inline_miss(), 1, r4, r3); __ 2803 src/arm/stub-cache-arm.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 2820 src/arm/stub-cache-arm.cc __ JumpIfSmi(r0, &miss); __ 2834 src/arm/stub-cache-arm.cc __ LoadRoot(r0, Heap::kUndefinedValueRootIndex); __ 2835 src/arm/stub-cache-arm.cc __ Ret(); __ 2837 src/arm/stub-cache-arm.cc __ bind(&miss); __ 2857 src/arm/stub-cache-arm.cc __ bind(&miss); __ 2878 src/arm/stub-cache-arm.cc __ bind(&miss); __ 2899 src/arm/stub-cache-arm.cc __ JumpIfSmi(r0, &miss); __ 2906 src/arm/stub-cache-arm.cc __ push(r0); __ 2908 src/arm/stub-cache-arm.cc __ InvokeFunction(getter, actual, CALL_FUNCTION, NullCallWrapper(), __ 2912 src/arm/stub-cache-arm.cc __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 2914 src/arm/stub-cache-arm.cc __ Ret(); __ 2916 src/arm/stub-cache-arm.cc __ bind(&miss); __ 2936 src/arm/stub-cache-arm.cc __ bind(&miss); __ 2958 src/arm/stub-cache-arm.cc __ bind(&miss); __ 2980 src/arm/stub-cache-arm.cc __ JumpIfSmi(r0, &miss); __ 2984 src/arm/stub-cache-arm.cc __ mov(r3, Operand(cell)); __ 2985 src/arm/stub-cache-arm.cc __ ldr(r4, FieldMemOperand(r3, JSGlobalPropertyCell::kValueOffset)); __ 2989 src/arm/stub-cache-arm.cc __ LoadRoot(ip, Heap::kTheHoleValueRootIndex); __ 2990 src/arm/stub-cache-arm.cc __ cmp(r4, ip); __ 2991 src/arm/stub-cache-arm.cc __ b(eq, &miss); __ 2994 src/arm/stub-cache-arm.cc __ mov(r0, r4); __ 2996 src/arm/stub-cache-arm.cc __ IncrementCounter(counters->named_load_global_stub(), 1, r1, r3); __ 2997 src/arm/stub-cache-arm.cc __ Ret(); __ 2999 src/arm/stub-cache-arm.cc __ bind(&miss); __ 3000 src/arm/stub-cache-arm.cc __ IncrementCounter(counters->named_load_global_stub_miss(), 1, r1, r3); __ 3020 src/arm/stub-cache-arm.cc __ cmp(r0, Operand(name)); __ 3021 src/arm/stub-cache-arm.cc __ b(ne, &miss); __ 3024 src/arm/stub-cache-arm.cc __ bind(&miss); __ 3044 src/arm/stub-cache-arm.cc __ cmp(r0, Operand(name)); __ 3045 src/arm/stub-cache-arm.cc __ b(ne, &miss); __ 3049 src/arm/stub-cache-arm.cc __ bind(&miss); __ 3069 src/arm/stub-cache-arm.cc __ cmp(r0, Operand(name)); __ 3070 src/arm/stub-cache-arm.cc __ b(ne, &miss); __ 3073 src/arm/stub-cache-arm.cc __ bind(&miss); __ 3093 src/arm/stub-cache-arm.cc __ cmp(r0, Operand(name)); __ 3094 src/arm/stub-cache-arm.cc __ b(ne, &miss); __ 3100 src/arm/stub-cache-arm.cc __ bind(&miss); __ 3117 src/arm/stub-cache-arm.cc __ cmp(r0, Operand(name)); __ 3118 src/arm/stub-cache-arm.cc __ b(ne, &miss); __ 3121 src/arm/stub-cache-arm.cc __ bind(&miss); __ 3138 src/arm/stub-cache-arm.cc __ IncrementCounter(counters->keyed_load_string_length(), 1, r2, r3); __ 3141 src/arm/stub-cache-arm.cc __ cmp(r0, Operand(name)); __ 3142 src/arm/stub-cache-arm.cc __ b(ne, &miss); __ 3145 src/arm/stub-cache-arm.cc __ bind(&miss); __ 3146 src/arm/stub-cache-arm.cc __ DecrementCounter(counters->keyed_load_string_length(), 1, r2, r3); __ 3164 src/arm/stub-cache-arm.cc __ IncrementCounter(counters->keyed_load_function_prototype(), 1, r2, r3); __ 3167 src/arm/stub-cache-arm.cc __ cmp(r0, Operand(name)); __ 3168 src/arm/stub-cache-arm.cc __ b(ne, &miss); __ 3171 src/arm/stub-cache-arm.cc __ bind(&miss); __ 3172 src/arm/stub-cache-arm.cc __ DecrementCounter(counters->keyed_load_function_prototype(), 1, r2, r3); __ 3189 src/arm/stub-cache-arm.cc __ DispatchMap(r1, r2, receiver_map, stub, DO_SMI_CHECK); __ 3192 src/arm/stub-cache-arm.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 3208 src/arm/stub-cache-arm.cc __ JumpIfSmi(r1, &miss); __ 3211 src/arm/stub-cache-arm.cc __ ldr(r2, FieldMemOperand(r1, HeapObject::kMapOffset)); __ 3213 src/arm/stub-cache-arm.cc __ mov(ip, Operand(receiver_maps->at(current))); __ 3214 src/arm/stub-cache-arm.cc __ cmp(r2, ip); __ 3215 src/arm/stub-cache-arm.cc __ Jump(handler_ics->at(current), RelocInfo::CODE_TARGET, eq); __ 3218 src/arm/stub-cache-arm.cc __ bind(&miss); __ 3220 src/arm/stub-cache-arm.cc __ Jump(miss_ic, RelocInfo::CODE_TARGET, al); __ 3240 src/arm/stub-cache-arm.cc __ IncrementCounter(counters->keyed_store_field(), 1, r3, r4); __ 3243 src/arm/stub-cache-arm.cc __ cmp(r1, Operand(name)); __ 3244 src/arm/stub-cache-arm.cc __ b(ne, &miss); __ 3255 src/arm/stub-cache-arm.cc __ bind(&miss); __ 3257 src/arm/stub-cache-arm.cc __ DecrementCounter(counters->keyed_store_field(), 1, r3, r4); __ 3259 src/arm/stub-cache-arm.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 3282 src/arm/stub-cache-arm.cc __ DispatchMap(r2, r3, receiver_map, stub, DO_SMI_CHECK); __ 3285 src/arm/stub-cache-arm.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 3304 src/arm/stub-cache-arm.cc __ JumpIfSmi(r2, &miss); __ 3307 src/arm/stub-cache-arm.cc __ ldr(r3, FieldMemOperand(r2, HeapObject::kMapOffset)); __ 3309 src/arm/stub-cache-arm.cc __ mov(ip, Operand(receiver_maps->at(i))); __ 3310 src/arm/stub-cache-arm.cc __ cmp(r3, ip); __ 3312 src/arm/stub-cache-arm.cc __ Jump(handler_stubs->at(i), RelocInfo::CODE_TARGET, eq); __ 3315 src/arm/stub-cache-arm.cc __ b(ne, &next_map); __ 3316 src/arm/stub-cache-arm.cc __ mov(r3, Operand(transitioned_maps->at(i))); __ 3317 src/arm/stub-cache-arm.cc __ Jump(handler_stubs->at(i), RelocInfo::CODE_TARGET, al); __ 3318 src/arm/stub-cache-arm.cc __ bind(&next_map); __ 3322 src/arm/stub-cache-arm.cc __ bind(&miss); __ 3324 src/arm/stub-cache-arm.cc __ Jump(miss_ic, RelocInfo::CODE_TARGET, al); __ 3342 src/arm/stub-cache-arm.cc __ LoadRoot(r7, Heap::kUndefinedValueRootIndex); __ 3348 src/arm/stub-cache-arm.cc __ ldr(r2, FieldMemOperand(r1, JSFunction::kSharedFunctionInfoOffset)); __ 3349 src/arm/stub-cache-arm.cc __ ldr(r2, FieldMemOperand(r2, SharedFunctionInfo::kDebugInfoOffset)); __ 3350 src/arm/stub-cache-arm.cc __ cmp(r2, r7); __ 3351 src/arm/stub-cache-arm.cc __ b(ne, &generic_stub_call); __ 3357 src/arm/stub-cache-arm.cc __ ldr(r2, FieldMemOperand(r1, JSFunction::kPrototypeOrInitialMapOffset)); __ 3358 src/arm/stub-cache-arm.cc __ JumpIfSmi(r2, &generic_stub_call); __ 3359 src/arm/stub-cache-arm.cc __ CompareObjectType(r2, r3, r4, MAP_TYPE); __ 3360 src/arm/stub-cache-arm.cc __ b(ne, &generic_stub_call); __ 3368 src/arm/stub-cache-arm.cc __ CompareInstanceType(r2, r3, JS_FUNCTION_TYPE); __ 3369 src/arm/stub-cache-arm.cc __ Check(ne, "Function constructed by construct stub."); __ 3377 src/arm/stub-cache-arm.cc __ ldrb(r3, FieldMemOperand(r2, Map::kInstanceSizeOffset)); __ 3378 src/arm/stub-cache-arm.cc __ AllocateInNewSpace(r3, r4, r5, r6, &generic_stub_call, SIZE_IN_WORDS); __ 3388 src/arm/stub-cache-arm.cc __ LoadRoot(r6, Heap::kEmptyFixedArrayRootIndex); __ 3389 src/arm/stub-cache-arm.cc __ mov(r5, r4); __ 3391 src/arm/stub-cache-arm.cc __ str(r2, MemOperand(r5, kPointerSize, PostIndex)); __ 3393 src/arm/stub-cache-arm.cc __ str(r6, MemOperand(r5, kPointerSize, PostIndex)); __ 3395 src/arm/stub-cache-arm.cc __ str(r6, MemOperand(r5, kPointerSize, PostIndex)); __ 3399 src/arm/stub-cache-arm.cc __ add(r1, sp, Operand(r0, LSL, kPointerSizeLog2)); __ 3416 src/arm/stub-cache-arm.cc __ cmp(r0, Operand(arg_number)); __ 3417 src/arm/stub-cache-arm.cc __ b(le, ¬_passed); __ 3419 src/arm/stub-cache-arm.cc __ ldr(r2, MemOperand(r1, (arg_number + 1) * -kPointerSize)); __ 3420 src/arm/stub-cache-arm.cc __ str(r2, MemOperand(r5, kPointerSize, PostIndex)); __ 3421 src/arm/stub-cache-arm.cc __ b(&next); __ 3422 src/arm/stub-cache-arm.cc __ bind(¬_passed); __ 3424 src/arm/stub-cache-arm.cc __ str(r7, MemOperand(r5, kPointerSize, PostIndex)); __ 3425 src/arm/stub-cache-arm.cc __ bind(&next); __ 3429 src/arm/stub-cache-arm.cc __ mov(r2, Operand(constant)); __ 3430 src/arm/stub-cache-arm.cc __ str(r2, MemOperand(r5, kPointerSize, PostIndex)); __ 3439 src/arm/stub-cache-arm.cc __ str(r7, MemOperand(r5, kPointerSize, PostIndex)); __ 3445 src/arm/stub-cache-arm.cc __ mov(r1, r0); __ 3446 src/arm/stub-cache-arm.cc __ mov(r0, r4); __ 3447 src/arm/stub-cache-arm.cc __ orr(r0, r0, Operand(kHeapObjectTag)); __ 3452 src/arm/stub-cache-arm.cc __ add(sp, sp, Operand(r1, LSL, kPointerSizeLog2)); __ 3453 src/arm/stub-cache-arm.cc __ add(sp, sp, Operand(kPointerSize)); __ 3455 src/arm/stub-cache-arm.cc __ IncrementCounter(counters->constructed_objects(), 1, r1, r2); __ 3456 src/arm/stub-cache-arm.cc __ IncrementCounter(counters->constructed_objects_stub(), 1, r1, r2); __ 3457 src/arm/stub-cache-arm.cc __ Jump(lr); __ 3461 src/arm/stub-cache-arm.cc __ bind(&generic_stub_call); __ 3463 src/arm/stub-cache-arm.cc __ Jump(code, RelocInfo::CODE_TARGET); __ 3486 src/arm/stub-cache-arm.cc __ JumpIfNotSmi(key, &miss_force_generic); __ 3487 src/arm/stub-cache-arm.cc __ mov(r2, Operand(key, ASR, kSmiTagSize)); __ 3488 src/arm/stub-cache-arm.cc __ ldr(r4, FieldMemOperand(receiver, JSObject::kElementsOffset)); __ 3489 src/arm/stub-cache-arm.cc __ LoadFromNumberDictionary(&slow, r4, key, r0, r2, r3, r5); __ 3490 src/arm/stub-cache-arm.cc __ Ret(); __ 3492 src/arm/stub-cache-arm.cc __ bind(&slow); __ 3493 src/arm/stub-cache-arm.cc __ IncrementCounter( __ 3504 src/arm/stub-cache-arm.cc __ Jump(slow_ic, RelocInfo::CODE_TARGET); __ 3507 src/arm/stub-cache-arm.cc __ bind(&miss_force_generic); __ 3517 src/arm/stub-cache-arm.cc __ Jump(miss_ic, RelocInfo::CODE_TARGET); __ 3563 src/arm/stub-cache-arm.cc __ JumpIfSmi(key, &key_ok); __ 3564 src/arm/stub-cache-arm.cc __ CheckMap(key, __ 3569 src/arm/stub-cache-arm.cc __ sub(ip, key, Operand(kHeapObjectTag)); __ 3570 src/arm/stub-cache-arm.cc __ vldr(double_scratch0, ip, HeapNumber::kValueOffset); __ 3571 src/arm/stub-cache-arm.cc __ EmitVFPTruncate(kRoundToZero, __ 3577 src/arm/stub-cache-arm.cc __ b(ne, fail); __ 3578 src/arm/stub-cache-arm.cc __ vmov(scratch0, double_scratch0.low()); __ 3579 src/arm/stub-cache-arm.cc __ TrySmiTag(scratch0, fail, scratch1); __ 3580 src/arm/stub-cache-arm.cc __ mov(key, scratch0); __ 3581 src/arm/stub-cache-arm.cc __ bind(&key_ok); __ 3584 src/arm/stub-cache-arm.cc __ JumpIfNotSmi(key, fail); __ 3608 src/arm/stub-cache-arm.cc __ ldr(r3, FieldMemOperand(receiver, JSObject::kElementsOffset)); __ 3612 src/arm/stub-cache-arm.cc __ ldr(ip, FieldMemOperand(r3, ExternalArray::kLengthOffset)); __ 3613 src/arm/stub-cache-arm.cc __ cmp(key, ip); __ 3615 src/arm/stub-cache-arm.cc __ b(hs, &miss_force_generic); __ 3617 src/arm/stub-cache-arm.cc __ ldr(r3, FieldMemOperand(r3, ExternalArray::kExternalPointerOffset)); __ 3627 src/arm/stub-cache-arm.cc __ ldrsb(value, MemOperand(r3, key, LSR, 1)); __ 3631 src/arm/stub-cache-arm.cc __ ldrb(value, MemOperand(r3, key, LSR, 1)); __ 3634 src/arm/stub-cache-arm.cc __ ldrsh(value, MemOperand(r3, key, LSL, 0)); __ 3637 src/arm/stub-cache-arm.cc __ ldrh(value, MemOperand(r3, key, LSL, 0)); __ 3641 src/arm/stub-cache-arm.cc __ ldr(value, MemOperand(r3, key, LSL, 1)); __ 3646 src/arm/stub-cache-arm.cc __ add(r2, r3, Operand(key, LSL, 1)); __ 3647 src/arm/stub-cache-arm.cc __ vldr(s0, r2, 0); __ 3649 src/arm/stub-cache-arm.cc __ ldr(value, MemOperand(r3, key, LSL, 1)); __ 3655 src/arm/stub-cache-arm.cc __ add(r2, r3, Operand(key, LSL, 2)); __ 3656 src/arm/stub-cache-arm.cc __ vldr(d0, r2, 0); __ 3658 src/arm/stub-cache-arm.cc __ add(r4, r3, Operand(key, LSL, 2)); __ 3660 src/arm/stub-cache-arm.cc __ ldr(r2, MemOperand(r4, 0)); __ 3661 src/arm/stub-cache-arm.cc __ ldr(r3, MemOperand(r4, Register::kSizeInBytes)); __ 3690 src/arm/stub-cache-arm.cc __ cmp(value, Operand(0xC0000000)); __ 3691 src/arm/stub-cache-arm.cc __ b(mi, &box_int); __ 3693 src/arm/stub-cache-arm.cc __ mov(r0, Operand(value, LSL, kSmiTagSize)); __ 3694 src/arm/stub-cache-arm.cc __ Ret(); __ 3696 src/arm/stub-cache-arm.cc __ bind(&box_int); __ 3700 src/arm/stub-cache-arm.cc __ LoadRoot(r6, Heap::kHeapNumberMapRootIndex); __ 3701 src/arm/stub-cache-arm.cc __ AllocateHeapNumber(r5, r3, r4, r6, &slow); __ 3703 src/arm/stub-cache-arm.cc __ mov(r0, r5); __ 3707 src/arm/stub-cache-arm.cc __ vmov(s0, value); __ 3708 src/arm/stub-cache-arm.cc __ vcvt_f64_s32(d0, s0); __ 3709 src/arm/stub-cache-arm.cc __ sub(r3, r0, Operand(kHeapObjectTag)); __ 3710 src/arm/stub-cache-arm.cc __ vstr(d0, r3, HeapNumber::kValueOffset); __ 3711 src/arm/stub-cache-arm.cc __ Ret(); __ 3725 src/arm/stub-cache-arm.cc __ str(dst1, FieldMemOperand(r0, HeapNumber::kMantissaOffset)); __ 3726 src/arm/stub-cache-arm.cc __ str(dst2, FieldMemOperand(r0, HeapNumber::kExponentOffset)); __ 3727 src/arm/stub-cache-arm.cc __ Ret(); __ 3736 src/arm/stub-cache-arm.cc __ tst(value, Operand(0xC0000000)); __ 3737 src/arm/stub-cache-arm.cc __ b(ne, &box_int); __ 3739 src/arm/stub-cache-arm.cc __ mov(r0, Operand(value, LSL, kSmiTagSize)); __ 3740 src/arm/stub-cache-arm.cc __ Ret(); __ 3742 src/arm/stub-cache-arm.cc __ bind(&box_int); __ 3743 src/arm/stub-cache-arm.cc __ vmov(s0, value); __ 3747 src/arm/stub-cache-arm.cc __ LoadRoot(r6, Heap::kHeapNumberMapRootIndex); __ 3748 src/arm/stub-cache-arm.cc __ AllocateHeapNumber(r2, r3, r4, r6, &slow); __ 3750 src/arm/stub-cache-arm.cc __ vcvt_f64_u32(d0, s0); __ 3751 src/arm/stub-cache-arm.cc __ sub(r1, r2, Operand(kHeapObjectTag)); __ 3752 src/arm/stub-cache-arm.cc __ vstr(d0, r1, HeapNumber::kValueOffset); __ 3754 src/arm/stub-cache-arm.cc __ mov(r0, r2); __ 3755 src/arm/stub-cache-arm.cc __ Ret(); __ 3759 src/arm/stub-cache-arm.cc __ tst(value, Operand(0x80000000)); __ 3760 src/arm/stub-cache-arm.cc __ b(ne, &box_int_0); __ 3761 src/arm/stub-cache-arm.cc __ tst(value, Operand(0x40000000)); __ 3762 src/arm/stub-cache-arm.cc __ b(ne, &box_int_1); __ 3764 src/arm/stub-cache-arm.cc __ mov(r0, Operand(value, LSL, kSmiTagSize)); __ 3765 src/arm/stub-cache-arm.cc __ Ret(); __ 3770 src/arm/stub-cache-arm.cc __ bind(&box_int_0); __ 3773 src/arm/stub-cache-arm.cc __ b(&done); __ 3775 src/arm/stub-cache-arm.cc __ bind(&box_int_1); __ 3780 src/arm/stub-cache-arm.cc __ bind(&done); __ 3785 src/arm/stub-cache-arm.cc __ LoadRoot(r6, Heap::kHeapNumberMapRootIndex); __ 3786 src/arm/stub-cache-arm.cc __ AllocateHeapNumber(r4, r5, r7, r6, &slow); __ 3788 src/arm/stub-cache-arm.cc __ str(hiword, FieldMemOperand(r4, HeapNumber::kExponentOffset)); __ 3789 src/arm/stub-cache-arm.cc __ str(loword, FieldMemOperand(r4, HeapNumber::kMantissaOffset)); __ 3791 src/arm/stub-cache-arm.cc __ mov(r0, r4); __ 3792 src/arm/stub-cache-arm.cc __ Ret(); __ 3802 src/arm/stub-cache-arm.cc __ LoadRoot(r6, Heap::kHeapNumberMapRootIndex); __ 3803 src/arm/stub-cache-arm.cc __ AllocateHeapNumber(r2, r3, r4, r6, &slow); __ 3804 src/arm/stub-cache-arm.cc __ vcvt_f64_f32(d0, s0); __ 3805 src/arm/stub-cache-arm.cc __ sub(r1, r2, Operand(kHeapObjectTag)); __ 3806 src/arm/stub-cache-arm.cc __ vstr(d0, r1, HeapNumber::kValueOffset); __ 3808 src/arm/stub-cache-arm.cc __ mov(r0, r2); __ 3809 src/arm/stub-cache-arm.cc __ Ret(); __ 3814 src/arm/stub-cache-arm.cc __ LoadRoot(r6, Heap::kHeapNumberMapRootIndex); __ 3815 src/arm/stub-cache-arm.cc __ AllocateHeapNumber(r3, r4, r5, r6, &slow); __ 3823 src/arm/stub-cache-arm.cc __ and_(r0, value, Operand(kBinary32MantissaMask)); __ 3827 src/arm/stub-cache-arm.cc __ mov(r1, Operand(value, LSR, kBinary32MantissaBits)); __ 3828 src/arm/stub-cache-arm.cc __ and_(r1, r1, Operand(kBinary32ExponentMask >> kBinary32MantissaBits)); __ 3831 src/arm/stub-cache-arm.cc __ teq(r1, Operand(0x00)); __ 3832 src/arm/stub-cache-arm.cc __ b(eq, &exponent_rebiased); __ 3834 src/arm/stub-cache-arm.cc __ teq(r1, Operand(0xff)); __ 3835 src/arm/stub-cache-arm.cc __ mov(r1, Operand(0x7ff), LeaveCC, eq); __ 3836 src/arm/stub-cache-arm.cc __ b(eq, &exponent_rebiased); __ 3839 src/arm/stub-cache-arm.cc __ add(r1, __ 3843 src/arm/stub-cache-arm.cc __ bind(&exponent_rebiased); __ 3844 src/arm/stub-cache-arm.cc __ and_(r2, value, Operand(kBinary32SignMask)); __ 3846 src/arm/stub-cache-arm.cc __ orr(r2, r2, Operand(r1, LSL, HeapNumber::kMantissaBitsInTopWord)); __ 3855 src/arm/stub-cache-arm.cc __ orr(r2, r2, Operand(r0, LSR, kMantissaShiftForHiWord)); __ 3856 src/arm/stub-cache-arm.cc __ mov(r0, Operand(r0, LSL, kMantissaShiftForLoWord)); __ 3858 src/arm/stub-cache-arm.cc __ str(r2, FieldMemOperand(r3, HeapNumber::kExponentOffset)); __ 3859 src/arm/stub-cache-arm.cc __ str(r0, FieldMemOperand(r3, HeapNumber::kMantissaOffset)); __ 3861 src/arm/stub-cache-arm.cc __ mov(r0, r3); __ 3862 src/arm/stub-cache-arm.cc __ Ret(); __ 3870 src/arm/stub-cache-arm.cc __ LoadRoot(r6, Heap::kHeapNumberMapRootIndex); __ 3871 src/arm/stub-cache-arm.cc __ AllocateHeapNumber(r2, r3, r4, r6, &slow); __ 3872 src/arm/stub-cache-arm.cc __ sub(r1, r2, Operand(kHeapObjectTag)); __ 3873 src/arm/stub-cache-arm.cc __ vstr(d0, r1, HeapNumber::kValueOffset); __ 3875 src/arm/stub-cache-arm.cc __ mov(r0, r2); __ 3876 src/arm/stub-cache-arm.cc __ Ret(); __ 3881 src/arm/stub-cache-arm.cc __ LoadRoot(r7, Heap::kHeapNumberMapRootIndex); __ 3882 src/arm/stub-cache-arm.cc __ AllocateHeapNumber(r4, r5, r6, r7, &slow); __ 3884 src/arm/stub-cache-arm.cc __ str(r2, FieldMemOperand(r4, HeapNumber::kMantissaOffset)); __ 3885 src/arm/stub-cache-arm.cc __ str(r3, FieldMemOperand(r4, HeapNumber::kExponentOffset)); __ 3886 src/arm/stub-cache-arm.cc __ mov(r0, r4); __ 3887 src/arm/stub-cache-arm.cc __ Ret(); __ 3892 src/arm/stub-cache-arm.cc __ mov(r0, Operand(value, LSL, kSmiTagSize)); __ 3893 src/arm/stub-cache-arm.cc __ Ret(); __ 3897 src/arm/stub-cache-arm.cc __ bind(&slow); __ 3898 src/arm/stub-cache-arm.cc __ IncrementCounter( __ 3908 src/arm/stub-cache-arm.cc __ Push(r1, r0); __ 3910 src/arm/stub-cache-arm.cc __ TailCallRuntime(Runtime::kKeyedGetProperty, 2, 1); __ 3912 src/arm/stub-cache-arm.cc __ bind(&miss_force_generic); __ 3915 src/arm/stub-cache-arm.cc __ Jump(stub, RelocInfo::CODE_TARGET); __ 3942 src/arm/stub-cache-arm.cc __ ldr(r3, FieldMemOperand(receiver, JSObject::kElementsOffset)); __ 3945 src/arm/stub-cache-arm.cc __ ldr(ip, FieldMemOperand(r3, ExternalArray::kLengthOffset)); __ 3946 src/arm/stub-cache-arm.cc __ cmp(key, ip); __ 3948 src/arm/stub-cache-arm.cc __ b(hs, &miss_force_generic); __ 3955 src/arm/stub-cache-arm.cc __ JumpIfNotSmi(value, &slow); __ 3957 src/arm/stub-cache-arm.cc __ JumpIfNotSmi(value, &check_heap_number); __ 3959 src/arm/stub-cache-arm.cc __ SmiUntag(r5, value); __ 3960 src/arm/stub-cache-arm.cc __ ldr(r3, FieldMemOperand(r3, ExternalArray::kExternalPointerOffset)); __ 3967 src/arm/stub-cache-arm.cc __ Usat(r5, 8, Operand(r5)); __ 3968 src/arm/stub-cache-arm.cc __ strb(r5, MemOperand(r3, key, LSR, 1)); __ 3972 src/arm/stub-cache-arm.cc __ strb(r5, MemOperand(r3, key, LSR, 1)); __ 3976 src/arm/stub-cache-arm.cc __ strh(r5, MemOperand(r3, key, LSL, 0)); __ 3980 src/arm/stub-cache-arm.cc __ str(r5, MemOperand(r3, key, LSL, 1)); __ 3984 src/arm/stub-cache-arm.cc __ SmiUntag(r4, key); __ 3988 src/arm/stub-cache-arm.cc __ add(r3, r3, Operand(key, LSL, 2)); __ 4002 src/arm/stub-cache-arm.cc __ vstr(d0, r3, 0); __ 4004 src/arm/stub-cache-arm.cc __ str(r6, MemOperand(r3, 0)); __ 4005 src/arm/stub-cache-arm.cc __ str(r7, MemOperand(r3, Register::kSizeInBytes)); __ 4021 src/arm/stub-cache-arm.cc __ Ret(); __ 4025 src/arm/stub-cache-arm.cc __ bind(&check_heap_number); __ 4026 src/arm/stub-cache-arm.cc __ CompareObjectType(value, r5, r6, HEAP_NUMBER_TYPE); __ 4027 src/arm/stub-cache-arm.cc __ b(ne, &slow); __ 4029 src/arm/stub-cache-arm.cc __ ldr(r3, FieldMemOperand(r3, ExternalArray::kExternalPointerOffset)); __ 4042 src/arm/stub-cache-arm.cc __ sub(r5, r0, Operand(kHeapObjectTag)); __ 4043 src/arm/stub-cache-arm.cc __ vldr(d0, r5, HeapNumber::kValueOffset); __ 4044 src/arm/stub-cache-arm.cc __ add(r5, r3, Operand(key, LSL, 1)); __ 4045 src/arm/stub-cache-arm.cc __ vcvt_f32_f64(s0, d0); __ 4046 src/arm/stub-cache-arm.cc __ vstr(s0, r5, 0); __ 4048 src/arm/stub-cache-arm.cc __ sub(r5, r0, Operand(kHeapObjectTag)); __ 4049 src/arm/stub-cache-arm.cc __ vldr(d0, r5, HeapNumber::kValueOffset); __ 4050 src/arm/stub-cache-arm.cc __ add(r5, r3, Operand(key, LSL, 2)); __ 4051 src/arm/stub-cache-arm.cc __ vstr(d0, r5, 0); __ 4055 src/arm/stub-cache-arm.cc __ sub(r5, value, Operand(kHeapObjectTag)); __ 4056 src/arm/stub-cache-arm.cc __ vldr(d0, r5, HeapNumber::kValueOffset); __ 4057 src/arm/stub-cache-arm.cc __ EmitECMATruncate(r5, d0, s2, r6, r7, r9); __ 4062 src/arm/stub-cache-arm.cc __ strb(r5, MemOperand(r3, key, LSR, 1)); __ 4066 src/arm/stub-cache-arm.cc __ strh(r5, MemOperand(r3, key, LSL, 0)); __ 4070 src/arm/stub-cache-arm.cc __ str(r5, MemOperand(r3, key, LSL, 1)); __ 4090 src/arm/stub-cache-arm.cc __ Ret(); __ 4093 src/arm/stub-cache-arm.cc __ ldr(r5, FieldMemOperand(value, HeapNumber::kExponentOffset)); __ 4094 src/arm/stub-cache-arm.cc __ ldr(r6, FieldMemOperand(value, HeapNumber::kMantissaOffset)); __ 4106 src/arm/stub-cache-arm.cc __ mov(r7, Operand(HeapNumber::kExponentMask)); __ 4107 src/arm/stub-cache-arm.cc __ and_(r9, r5, Operand(r7), SetCC); __ 4108 src/arm/stub-cache-arm.cc __ b(eq, &nan_or_infinity_or_zero); __ 4110 src/arm/stub-cache-arm.cc __ teq(r9, Operand(r7)); __ 4111 src/arm/stub-cache-arm.cc __ mov(r9, Operand(kBinary32ExponentMask), LeaveCC, eq); __ 4112 src/arm/stub-cache-arm.cc __ b(eq, &nan_or_infinity_or_zero); __ 4115 src/arm/stub-cache-arm.cc __ mov(r9, Operand(r9, LSR, HeapNumber::kExponentShift)); __ 4116 src/arm/stub-cache-arm.cc __ add(r9, __ 4120 src/arm/stub-cache-arm.cc __ cmp(r9, Operand(kBinary32MaxExponent)); __ 4121 src/arm/stub-cache-arm.cc __ and_(r5, r5, Operand(HeapNumber::kSignMask), LeaveCC, gt); __ 4122 src/arm/stub-cache-arm.cc __ orr(r5, r5, Operand(kBinary32ExponentMask), LeaveCC, gt); __ 4123 src/arm/stub-cache-arm.cc __ b(gt, &done); __ 4125 src/arm/stub-cache-arm.cc __ cmp(r9, Operand(kBinary32MinExponent)); __ 4126 src/arm/stub-cache-arm.cc __ and_(r5, r5, Operand(HeapNumber::kSignMask), LeaveCC, lt); __ 4127 src/arm/stub-cache-arm.cc __ b(lt, &done); __ 4129 src/arm/stub-cache-arm.cc __ and_(r7, r5, Operand(HeapNumber::kSignMask)); __ 4130 src/arm/stub-cache-arm.cc __ and_(r5, r5, Operand(HeapNumber::kMantissaMask)); __ 4131 src/arm/stub-cache-arm.cc __ orr(r7, r7, Operand(r5, LSL, kMantissaInHiWordShift)); __ 4132 src/arm/stub-cache-arm.cc __ orr(r7, r7, Operand(r6, LSR, kMantissaInLoWordShift)); __ 4133 src/arm/stub-cache-arm.cc __ orr(r5, r7, Operand(r9, LSL, kBinary32ExponentShift)); __ 4135 src/arm/stub-cache-arm.cc __ bind(&done); __ 4136 src/arm/stub-cache-arm.cc __ str(r5, MemOperand(r3, key, LSL, 1)); __ 4139 src/arm/stub-cache-arm.cc __ Ret(); __ 4141 src/arm/stub-cache-arm.cc __ bind(&nan_or_infinity_or_zero); __ 4142 src/arm/stub-cache-arm.cc __ and_(r7, r5, Operand(HeapNumber::kSignMask)); __ 4143 src/arm/stub-cache-arm.cc __ and_(r5, r5, Operand(HeapNumber::kMantissaMask)); __ 4144 src/arm/stub-cache-arm.cc __ orr(r9, r9, r7); __ 4145 src/arm/stub-cache-arm.cc __ orr(r9, r9, Operand(r5, LSL, kMantissaInHiWordShift)); __ 4146 src/arm/stub-cache-arm.cc __ orr(r5, r9, Operand(r6, LSR, kMantissaInLoWordShift)); __ 4147 src/arm/stub-cache-arm.cc __ b(&done); __ 4149 src/arm/stub-cache-arm.cc __ add(r7, r3, Operand(key, LSL, 2)); __ 4151 src/arm/stub-cache-arm.cc __ str(r6, MemOperand(r7, 0)); __ 4152 src/arm/stub-cache-arm.cc __ str(r5, MemOperand(r7, Register::kSizeInBytes)); __ 4153 src/arm/stub-cache-arm.cc __ Ret(); __ 4163 src/arm/stub-cache-arm.cc __ mov(r7, Operand(HeapNumber::kExponentMask)); __ 4164 src/arm/stub-cache-arm.cc __ and_(r9, r5, Operand(r7), SetCC); __ 4165 src/arm/stub-cache-arm.cc __ mov(r5, Operand(0, RelocInfo::NONE), LeaveCC, eq); __ 4166 src/arm/stub-cache-arm.cc __ b(eq, &done); __ 4168 src/arm/stub-cache-arm.cc __ teq(r9, Operand(r7)); __ 4169 src/arm/stub-cache-arm.cc __ mov(r5, Operand(0, RelocInfo::NONE), LeaveCC, eq); __ 4170 src/arm/stub-cache-arm.cc __ b(eq, &done); __ 4173 src/arm/stub-cache-arm.cc __ mov(r9, Operand(r9, LSR, HeapNumber::kExponentShift)); __ 4174 src/arm/stub-cache-arm.cc __ sub(r9, r9, Operand(HeapNumber::kExponentBias), SetCC); __ 4176 src/arm/stub-cache-arm.cc __ mov(r5, Operand(0, RelocInfo::NONE), LeaveCC, mi); __ 4177 src/arm/stub-cache-arm.cc __ b(mi, &done); __ 4180 src/arm/stub-cache-arm.cc __ cmp(r9, Operand(meaningfull_bits - 1)); __ 4181 src/arm/stub-cache-arm.cc __ mov(r5, Operand(min_value), LeaveCC, ge); __ 4182 src/arm/stub-cache-arm.cc __ b(ge, &done); __ 4184 src/arm/stub-cache-arm.cc __ and_(r7, r5, Operand(HeapNumber::kSignMask), SetCC); __ 4185 src/arm/stub-cache-arm.cc __ and_(r5, r5, Operand(HeapNumber::kMantissaMask)); __ 4186 src/arm/stub-cache-arm.cc __ orr(r5, r5, Operand(1u << HeapNumber::kMantissaBitsInTopWord)); __ 4188 src/arm/stub-cache-arm.cc __ rsb(r9, r9, Operand(HeapNumber::kMantissaBitsInTopWord), SetCC); __ 4189 src/arm/stub-cache-arm.cc __ mov(r5, Operand(r5, LSR, r9), LeaveCC, pl); __ 4190 src/arm/stub-cache-arm.cc __ b(pl, &sign); __ 4192 src/arm/stub-cache-arm.cc __ rsb(r9, r9, Operand(0, RelocInfo::NONE)); __ 4193 src/arm/stub-cache-arm.cc __ mov(r5, Operand(r5, LSL, r9)); __ 4194 src/arm/stub-cache-arm.cc __ rsb(r9, r9, Operand(meaningfull_bits)); __ 4195 src/arm/stub-cache-arm.cc __ orr(r5, r5, Operand(r6, LSR, r9)); __ 4197 src/arm/stub-cache-arm.cc __ bind(&sign); __ 4198 src/arm/stub-cache-arm.cc __ teq(r7, Operand(0, RelocInfo::NONE)); __ 4199 src/arm/stub-cache-arm.cc __ rsb(r5, r5, Operand(0, RelocInfo::NONE), LeaveCC, ne); __ 4201 src/arm/stub-cache-arm.cc __ bind(&done); __ 4205 src/arm/stub-cache-arm.cc __ strb(r5, MemOperand(r3, key, LSR, 1)); __ 4209 src/arm/stub-cache-arm.cc __ strh(r5, MemOperand(r3, key, LSL, 0)); __ 4213 src/arm/stub-cache-arm.cc __ str(r5, MemOperand(r3, key, LSL, 1)); __ 4234 src/arm/stub-cache-arm.cc __ bind(&slow); __ 4235 src/arm/stub-cache-arm.cc __ IncrementCounter( __ 4246 src/arm/stub-cache-arm.cc __ Jump(slow_ic, RelocInfo::CODE_TARGET); __ 4249 src/arm/stub-cache-arm.cc __ bind(&miss_force_generic); __ 4259 src/arm/stub-cache-arm.cc __ Jump(miss_ic, RelocInfo::CODE_TARGET); __ 4278 src/arm/stub-cache-arm.cc __ ldr(r2, FieldMemOperand(r1, JSObject::kElementsOffset)); __ 4279 src/arm/stub-cache-arm.cc __ AssertFastElements(r2); __ 4282 src/arm/stub-cache-arm.cc __ ldr(r3, FieldMemOperand(r2, FixedArray::kLengthOffset)); __ 4283 src/arm/stub-cache-arm.cc __ cmp(r0, Operand(r3)); __ 4284 src/arm/stub-cache-arm.cc __ b(hs, &miss_force_generic); __ 4287 src/arm/stub-cache-arm.cc __ add(r3, r2, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 4289 src/arm/stub-cache-arm.cc __ ldr(r4, __ 4291 src/arm/stub-cache-arm.cc __ LoadRoot(ip, Heap::kTheHoleValueRootIndex); __ 4292 src/arm/stub-cache-arm.cc __ cmp(r4, ip); __ 4293 src/arm/stub-cache-arm.cc __ b(eq, &miss_force_generic); __ 4294 src/arm/stub-cache-arm.cc __ mov(r0, r4); __ 4295 src/arm/stub-cache-arm.cc __ Ret(); __ 4297 src/arm/stub-cache-arm.cc __ bind(&miss_force_generic); __ 4300 src/arm/stub-cache-arm.cc __ Jump(stub, RelocInfo::CODE_TARGET); __ 4330 src/arm/stub-cache-arm.cc __ ldr(elements_reg, __ 4334 src/arm/stub-cache-arm.cc __ ldr(scratch, FieldMemOperand(elements_reg, FixedArray::kLengthOffset)); __ 4335 src/arm/stub-cache-arm.cc __ cmp(key_reg, Operand(scratch)); __ 4336 src/arm/stub-cache-arm.cc __ b(hs, &miss_force_generic); __ 4339 src/arm/stub-cache-arm.cc __ add(indexed_double_offset, elements_reg, __ 4342 src/arm/stub-cache-arm.cc __ ldr(scratch, FieldMemOperand(indexed_double_offset, upper_32_offset)); __ 4343 src/arm/stub-cache-arm.cc __ cmp(scratch, Operand(kHoleNanUpper32)); __ 4344 src/arm/stub-cache-arm.cc __ b(&miss_force_generic, eq); __ 4347 src/arm/stub-cache-arm.cc __ LoadRoot(heap_number_map, Heap::kHeapNumberMapRootIndex); __ 4348 src/arm/stub-cache-arm.cc __ AllocateHeapNumber(heap_number_reg, scratch2, scratch3, __ 4353 src/arm/stub-cache-arm.cc __ str(scratch, FieldMemOperand(heap_number_reg, __ 4355 src/arm/stub-cache-arm.cc __ ldr(scratch, FieldMemOperand(indexed_double_offset, __ 4357 src/arm/stub-cache-arm.cc __ str(scratch, FieldMemOperand(heap_number_reg, __ 4360 src/arm/stub-cache-arm.cc __ mov(r0, heap_number_reg); __ 4361 src/arm/stub-cache-arm.cc __ Ret(); __ 4363 src/arm/stub-cache-arm.cc __ bind(&slow_allocate_heapnumber); __ 4366 src/arm/stub-cache-arm.cc __ Jump(slow_ic, RelocInfo::CODE_TARGET); __ 4368 src/arm/stub-cache-arm.cc __ bind(&miss_force_generic); __ 4371 src/arm/stub-cache-arm.cc __ Jump(miss_ic, RelocInfo::CODE_TARGET); __ 4406 src/arm/stub-cache-arm.cc __ JumpIfNotSmi(value_reg, &transition_elements_kind); __ 4410 src/arm/stub-cache-arm.cc __ ldr(elements_reg, __ 4413 src/arm/stub-cache-arm.cc __ ldr(scratch, FieldMemOperand(receiver_reg, JSArray::kLengthOffset)); __ 4415 src/arm/stub-cache-arm.cc __ ldr(scratch, FieldMemOperand(elements_reg, FixedArray::kLengthOffset)); __ 4418 src/arm/stub-cache-arm.cc __ cmp(key_reg, scratch); __ 4420 src/arm/stub-cache-arm.cc __ b(hs, &grow); __ 4422 src/arm/stub-cache-arm.cc __ b(hs, &miss_force_generic); __ 4426 src/arm/stub-cache-arm.cc __ CheckMap(elements_reg, __ 4432 src/arm/stub-cache-arm.cc __ bind(&finish_store); __ 4434 src/arm/stub-cache-arm.cc __ add(scratch, __ 4438 src/arm/stub-cache-arm.cc __ add(scratch, __ 4441 src/arm/stub-cache-arm.cc __ str(value_reg, MemOperand(scratch)); __ 4444 src/arm/stub-cache-arm.cc __ add(scratch, __ 4448 src/arm/stub-cache-arm.cc __ add(scratch, __ 4451 src/arm/stub-cache-arm.cc __ str(value_reg, MemOperand(scratch)); __ 4452 src/arm/stub-cache-arm.cc __ mov(receiver_reg, value_reg); __ 4453 src/arm/stub-cache-arm.cc __ RecordWrite(elements_reg, // Object. __ 4461 src/arm/stub-cache-arm.cc __ Ret(); __ 4463 src/arm/stub-cache-arm.cc __ bind(&miss_force_generic); __ 4466 src/arm/stub-cache-arm.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 4468 src/arm/stub-cache-arm.cc __ bind(&transition_elements_kind); __ 4470 src/arm/stub-cache-arm.cc __ Jump(ic_miss, RelocInfo::CODE_TARGET); __ 4474 src/arm/stub-cache-arm.cc __ bind(&grow); __ 4478 src/arm/stub-cache-arm.cc __ b(ne, &miss_force_generic); __ 4482 src/arm/stub-cache-arm.cc __ ldr(length_reg, __ 4484 src/arm/stub-cache-arm.cc __ ldr(elements_reg, __ 4486 src/arm/stub-cache-arm.cc __ CompareRoot(elements_reg, Heap::kEmptyFixedArrayRootIndex); __ 4487 src/arm/stub-cache-arm.cc __ b(ne, &check_capacity); __ 4490 src/arm/stub-cache-arm.cc __ AllocateInNewSpace(size, elements_reg, scratch, scratch2, &slow, __ 4493 src/arm/stub-cache-arm.cc __ LoadRoot(scratch, Heap::kFixedArrayMapRootIndex); __ 4494 src/arm/stub-cache-arm.cc __ str(scratch, FieldMemOperand(elements_reg, JSObject::kMapOffset)); __ 4495 src/arm/stub-cache-arm.cc __ mov(scratch, Operand(Smi::FromInt(JSArray::kPreallocatedArrayElements))); __ 4496 src/arm/stub-cache-arm.cc __ str(scratch, FieldMemOperand(elements_reg, FixedArray::kLengthOffset)); __ 4497 src/arm/stub-cache-arm.cc __ LoadRoot(scratch, Heap::kTheHoleValueRootIndex); __ 4499 src/arm/stub-cache-arm.cc __ str(scratch, FieldMemOperand(elements_reg, FixedArray::SizeFor(i))); __ 4503 src/arm/stub-cache-arm.cc __ str(value_reg, FieldMemOperand(elements_reg, FixedArray::SizeFor(0))); __ 4506 src/arm/stub-cache-arm.cc __ str(elements_reg, __ 4508 src/arm/stub-cache-arm.cc __ RecordWriteField(receiver_reg, JSObject::kElementsOffset, elements_reg, __ 4513 src/arm/stub-cache-arm.cc __ mov(length_reg, Operand(Smi::FromInt(1))); __ 4514 src/arm/stub-cache-arm.cc __ str(length_reg, FieldMemOperand(receiver_reg, JSArray::kLengthOffset)); __ 4515 src/arm/stub-cache-arm.cc __ Ret(); __ 4517 src/arm/stub-cache-arm.cc __ bind(&check_capacity); __ 4519 src/arm/stub-cache-arm.cc __ CheckMap(elements_reg, __ 4525 src/arm/stub-cache-arm.cc __ ldr(scratch, FieldMemOperand(elements_reg, FixedArray::kLengthOffset)); __ 4526 src/arm/stub-cache-arm.cc __ cmp(length_reg, scratch); __ 4527 src/arm/stub-cache-arm.cc __ b(hs, &slow); __ 4530 src/arm/stub-cache-arm.cc __ add(length_reg, length_reg, Operand(Smi::FromInt(1))); __ 4531 src/arm/stub-cache-arm.cc __ str(length_reg, FieldMemOperand(receiver_reg, JSArray::kLengthOffset)); __ 4532 src/arm/stub-cache-arm.cc __ jmp(&finish_store); __ 4534 src/arm/stub-cache-arm.cc __ bind(&slow); __ 4536 src/arm/stub-cache-arm.cc __ Jump(ic_slow, RelocInfo::CODE_TARGET); __ 4573 src/arm/stub-cache-arm.cc __ ldr(elements_reg, __ 4578 src/arm/stub-cache-arm.cc __ ldr(scratch1, FieldMemOperand(receiver_reg, JSArray::kLengthOffset)); __ 4580 src/arm/stub-cache-arm.cc __ ldr(scratch1, __ 4585 src/arm/stub-cache-arm.cc __ cmp(key_reg, scratch1); __ 4587 src/arm/stub-cache-arm.cc __ b(hs, &grow); __ 4589 src/arm/stub-cache-arm.cc __ b(hs, &miss_force_generic); __ 4592 src/arm/stub-cache-arm.cc __ bind(&finish_store); __ 4593 src/arm/stub-cache-arm.cc __ StoreNumberToDoubleElements(value_reg, __ 4602 src/arm/stub-cache-arm.cc __ Ret(); __ 4605 src/arm/stub-cache-arm.cc __ bind(&miss_force_generic); __ 4608 src/arm/stub-cache-arm.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 4610 src/arm/stub-cache-arm.cc __ bind(&transition_elements_kind); __ 4612 src/arm/stub-cache-arm.cc __ Jump(ic_miss, RelocInfo::CODE_TARGET); __ 4616 src/arm/stub-cache-arm.cc __ bind(&grow); __ 4620 src/arm/stub-cache-arm.cc __ b(ne, &miss_force_generic); __ 4624 src/arm/stub-cache-arm.cc __ JumpIfSmi(value_reg, &value_is_smi); __ 4625 src/arm/stub-cache-arm.cc __ ldr(scratch1, FieldMemOperand(value_reg, HeapObject::kMapOffset)); __ 4626 src/arm/stub-cache-arm.cc __ CompareRoot(scratch1, Heap::kHeapNumberMapRootIndex); __ 4627 src/arm/stub-cache-arm.cc __ b(ne, &transition_elements_kind); __ 4628 src/arm/stub-cache-arm.cc __ bind(&value_is_smi); __ 4632 src/arm/stub-cache-arm.cc __ ldr(length_reg, __ 4634 src/arm/stub-cache-arm.cc __ ldr(elements_reg, __ 4636 src/arm/stub-cache-arm.cc __ CompareRoot(elements_reg, Heap::kEmptyFixedArrayRootIndex); __ 4637 src/arm/stub-cache-arm.cc __ b(ne, &check_capacity); __ 4640 src/arm/stub-cache-arm.cc __ AllocateInNewSpace(size, elements_reg, scratch1, scratch2, &slow, __ 4645 src/arm/stub-cache-arm.cc __ LoadRoot(scratch1, Heap::kFixedDoubleArrayMapRootIndex); __ 4646 src/arm/stub-cache-arm.cc __ str(scratch1, FieldMemOperand(elements_reg, JSObject::kMapOffset)); __ 4647 src/arm/stub-cache-arm.cc __ mov(scratch1, __ 4649 src/arm/stub-cache-arm.cc __ str(scratch1, __ 4653 src/arm/stub-cache-arm.cc __ str(elements_reg, __ 4655 src/arm/stub-cache-arm.cc __ RecordWriteField(receiver_reg, JSObject::kElementsOffset, elements_reg, __ 4660 src/arm/stub-cache-arm.cc __ mov(length_reg, Operand(Smi::FromInt(1))); __ 4661 src/arm/stub-cache-arm.cc __ str(length_reg, FieldMemOperand(receiver_reg, JSArray::kLengthOffset)); __ 4662 src/arm/stub-cache-arm.cc __ ldr(elements_reg, __ 4664 src/arm/stub-cache-arm.cc __ jmp(&finish_store); __ 4666 src/arm/stub-cache-arm.cc __ bind(&check_capacity); __ 4668 src/arm/stub-cache-arm.cc __ ldr(scratch1, __ 4670 src/arm/stub-cache-arm.cc __ cmp(length_reg, scratch1); __ 4671 src/arm/stub-cache-arm.cc __ b(hs, &slow); __ 4674 src/arm/stub-cache-arm.cc __ add(length_reg, length_reg, Operand(Smi::FromInt(1))); __ 4675 src/arm/stub-cache-arm.cc __ str(length_reg, FieldMemOperand(receiver_reg, JSArray::kLengthOffset)); __ 4676 src/arm/stub-cache-arm.cc __ jmp(&finish_store); __ 4678 src/arm/stub-cache-arm.cc __ bind(&slow); __ 4680 src/arm/stub-cache-arm.cc __ Jump(ic_slow, RelocInfo::CODE_TARGET); __ 48 src/codegen.cc __ RecordComment(msg); __ 53 src/codegen.cc if (msg_[0] == '[') __ RecordComment("]"); __ 353 src/full-codegen.cc __ dd(length); __ 355 src/full-codegen.cc __ dd(stack_checks_[i].id); __ 356 src/full-codegen.cc __ dd(stack_checks_[i].pc_and_state); __ 477 src/full-codegen.cc __ Move(result_register(), reg); __ 482 src/full-codegen.cc __ push(reg); __ 488 src/full-codegen.cc __ Move(result_register(), reg); __ 495 src/full-codegen.cc __ Drop(1); __ 500 src/full-codegen.cc __ pop(result_register()); __ 510 src/full-codegen.cc __ pop(result_register()); __ 603 src/full-codegen.cc __ Push(instance); __ 604 src/full-codegen.cc __ CallRuntime(Runtime::kPushModuleContext, 1); __ 809 src/full-codegen.cc __ bind(&eval_right); __ 815 src/full-codegen.cc __ push(result_register()); __ 822 src/full-codegen.cc __ bind(&restore); __ 823 src/full-codegen.cc __ pop(result_register()); __ 824 src/full-codegen.cc __ jmp(&done); __ 825 src/full-codegen.cc __ bind(&discard); __ 826 src/full-codegen.cc __ Drop(1); __ 833 src/full-codegen.cc __ push(result_register()); __ 840 src/full-codegen.cc __ bind(&discard); __ 841 src/full-codegen.cc __ Drop(1); __ 853 src/full-codegen.cc __ bind(&eval_right); __ 857 src/full-codegen.cc __ bind(&done); __ 896 src/full-codegen.cc __ Push(scope_->interface()->Instance()); __ 897 src/full-codegen.cc __ CallRuntime(Runtime::kPushModuleContext, 1); __ 905 src/full-codegen.cc __ Push(scope_info); __ 909 src/full-codegen.cc __ CallStub(&stub); __ 911 src/full-codegen.cc __ CallRuntime(Runtime::kPushBlockContext, 2); __ 926 src/full-codegen.cc __ bind(nested_block.break_label()); __ 960 src/full-codegen.cc __ bind(&then_part); __ 962 src/full-codegen.cc __ jmp(&done); __ 965 src/full-codegen.cc __ bind(&else_part); __ 970 src/full-codegen.cc __ bind(&then_part); __ 975 src/full-codegen.cc __ bind(&done); __ 994 src/full-codegen.cc __ Drop(stack_depth); __ 1004 src/full-codegen.cc __ jmp(current->AsIteration()->continue_label()); __ 1022 src/full-codegen.cc __ Drop(stack_depth); __ 1032 src/full-codegen.cc __ jmp(current->AsBreakable()->break_label()); __ 1049 src/full-codegen.cc __ Drop(stack_depth); __ 1061 src/full-codegen.cc __ CallRuntime(Runtime::kPushWithContext, 2); __ 1083 src/full-codegen.cc __ bind(&body); __ 1088 src/full-codegen.cc __ bind(loop_statement.continue_label()); __ 1098 src/full-codegen.cc __ bind(&stack_check); __ 1100 src/full-codegen.cc __ jmp(&body); __ 1103 src/full-codegen.cc __ bind(loop_statement.break_label()); __ 1116 src/full-codegen.cc __ jmp(&test); __ 1119 src/full-codegen.cc __ bind(&body); __ 1124 src/full-codegen.cc __ bind(loop_statement.continue_label()); __ 1130 src/full-codegen.cc __ bind(&test); __ 1137 src/full-codegen.cc __ bind(loop_statement.break_label()); __ 1157 src/full-codegen.cc __ jmp(&test); __ 1160 src/full-codegen.cc __ bind(&body); __ 1164 src/full-codegen.cc __ bind(loop_statement.continue_label()); __ 1176 src/full-codegen.cc __ bind(&test); __ 1183 src/full-codegen.cc __ jmp(&body); __ 1187 src/full-codegen.cc __ bind(loop_statement.break_label()); __ 1202 src/full-codegen.cc __ jmp(&try_entry); __ 1203 src/full-codegen.cc __ bind(&handler_entry); __ 1208 src/full-codegen.cc __ Push(stmt->variable()->name()); __ 1209 src/full-codegen.cc __ push(result_register()); __ 1211 src/full-codegen.cc __ CallRuntime(Runtime::kPushCatchContext, 3); __ 1226 src/full-codegen.cc __ jmp(&exit); __ 1229 src/full-codegen.cc __ bind(&try_entry); __ 1230 src/full-codegen.cc __ PushTryHandler(StackHandler::CATCH, stmt->index()); __ 1234 src/full-codegen.cc __ PopTryHandler(); __ 1235 src/full-codegen.cc __ bind(&exit); __ 1266 src/full-codegen.cc __ jmp(&try_entry); __ 1267 src/full-codegen.cc __ bind(&handler_entry); __ 1273 src/full-codegen.cc __ Call(&finally_entry); __ 1274 src/full-codegen.cc __ push(result_register()); __ 1275 src/full-codegen.cc __ CallRuntime(Runtime::kReThrow, 1); __ 1278 src/full-codegen.cc __ bind(&finally_entry); __ 1286 src/full-codegen.cc __ bind(&try_entry); __ 1287 src/full-codegen.cc __ PushTryHandler(StackHandler::FINALLY, stmt->index()); __ 1291 src/full-codegen.cc __ PopTryHandler(); __ 1297 src/full-codegen.cc __ Call(&finally_entry); __ 1306 src/full-codegen.cc __ DebugBreak(); __ 1318 src/full-codegen.cc __ bind(&true_case); __ 1329 src/full-codegen.cc __ jmp(&done); __ 1333 src/full-codegen.cc __ bind(&false_case); __ 1339 src/full-codegen.cc __ bind(&done); __ 1374 src/full-codegen.cc __ CallRuntime(Runtime::kThrow, 1); __ 1383 src/full-codegen.cc __ Drop(*stack_depth); __ 1384 src/full-codegen.cc __ PopTryHandler(); __ 87 src/ia32/assembler-ia32.cc __ push(ebp); __ 88 src/ia32/assembler-ia32.cc __ pushfd(); __ 89 src/ia32/assembler-ia32.cc __ push(ecx); __ 90 src/ia32/assembler-ia32.cc __ push(ebx); __ 91 src/ia32/assembler-ia32.cc __ mov(ebp, esp); __ 94 src/ia32/assembler-ia32.cc __ pushfd(); __ 95 src/ia32/assembler-ia32.cc __ pop(eax); __ 96 src/ia32/assembler-ia32.cc __ mov(edx, eax); __ 97 src/ia32/assembler-ia32.cc __ xor_(eax, 0x200000); // Flip bit 21. __ 98 src/ia32/assembler-ia32.cc __ push(eax); __ 99 src/ia32/assembler-ia32.cc __ popfd(); __ 100 src/ia32/assembler-ia32.cc __ pushfd(); __ 101 src/ia32/assembler-ia32.cc __ pop(eax); __ 102 src/ia32/assembler-ia32.cc __ xor_(eax, edx); // Different if CPUID is supported. __ 103 src/ia32/assembler-ia32.cc __ j(not_zero, &cpuid); __ 106 src/ia32/assembler-ia32.cc __ xor_(eax, eax); __ 107 src/ia32/assembler-ia32.cc __ xor_(edx, edx); __ 108 src/ia32/assembler-ia32.cc __ jmp(&done); __ 113 src/ia32/assembler-ia32.cc __ bind(&cpuid); __ 114 src/ia32/assembler-ia32.cc __ mov(eax, 1); __ 117 src/ia32/assembler-ia32.cc __ cpuid(); __ 123 src/ia32/assembler-ia32.cc __ mov(eax, edx); __ 124 src/ia32/assembler-ia32.cc __ or_(eax, 1 << CPUID); __ 125 src/ia32/assembler-ia32.cc __ mov(edx, ecx); __ 128 src/ia32/assembler-ia32.cc __ bind(&done); __ 129 src/ia32/assembler-ia32.cc __ mov(esp, ebp); __ 130 src/ia32/assembler-ia32.cc __ pop(ebx); __ 131 src/ia32/assembler-ia32.cc __ pop(ecx); __ 132 src/ia32/assembler-ia32.cc __ popfd(); __ 133 src/ia32/assembler-ia32.cc __ pop(ebp); __ 134 src/ia32/assembler-ia32.cc __ ret(0); __ 63 src/ia32/builtins-ia32.cc __ pop(scratch); // Save return address. __ 64 src/ia32/builtins-ia32.cc __ push(edi); __ 65 src/ia32/builtins-ia32.cc __ push(scratch); // Restore return address. __ 72 src/ia32/builtins-ia32.cc __ add(eax, Immediate(num_extra_args + 1)); __ 73 src/ia32/builtins-ia32.cc __ JumpToExternalReference(ExternalReference(id, masm->isolate())); __ 93 src/ia32/builtins-ia32.cc __ SmiTag(eax); __ 94 src/ia32/builtins-ia32.cc __ push(eax); __ 97 src/ia32/builtins-ia32.cc __ push(edi); __ 107 src/ia32/builtins-ia32.cc __ cmp(Operand::StaticVariable(debug_step_in_fp), Immediate(0)); __ 108 src/ia32/builtins-ia32.cc __ j(not_equal, &rt_call); __ 114 src/ia32/builtins-ia32.cc __ mov(eax, FieldOperand(edi, JSFunction::kPrototypeOrInitialMapOffset)); __ 116 src/ia32/builtins-ia32.cc __ JumpIfSmi(eax, &rt_call); __ 119 src/ia32/builtins-ia32.cc __ CmpObjectType(eax, MAP_TYPE, ebx); __ 120 src/ia32/builtins-ia32.cc __ j(not_equal, &rt_call); __ 127 src/ia32/builtins-ia32.cc __ CmpInstanceType(eax, JS_FUNCTION_TYPE); __ 128 src/ia32/builtins-ia32.cc __ j(equal, &rt_call); __ 133 src/ia32/builtins-ia32.cc __ mov(ecx, FieldOperand(edi, JSFunction::kSharedFunctionInfoOffset)); __ 134 src/ia32/builtins-ia32.cc __ dec_b(FieldOperand(ecx, __ 136 src/ia32/builtins-ia32.cc __ j(not_zero, &allocate); __ 138 src/ia32/builtins-ia32.cc __ push(eax); __ 139 src/ia32/builtins-ia32.cc __ push(edi); __ 141 src/ia32/builtins-ia32.cc __ push(edi); // constructor __ 143 src/ia32/builtins-ia32.cc __ CallRuntime(Runtime::kFinalizeInstanceSize, 1); __ 145 src/ia32/builtins-ia32.cc __ pop(edi); __ 146 src/ia32/builtins-ia32.cc __ pop(eax); __ 148 src/ia32/builtins-ia32.cc __ bind(&allocate); __ 154 src/ia32/builtins-ia32.cc __ movzx_b(edi, FieldOperand(eax, Map::kInstanceSizeOffset)); __ 155 src/ia32/builtins-ia32.cc __ shl(edi, kPointerSizeLog2); __ 156 src/ia32/builtins-ia32.cc __ AllocateInNewSpace( __ 162 src/ia32/builtins-ia32.cc __ mov(Operand(ebx, JSObject::kMapOffset), eax); __ 164 src/ia32/builtins-ia32.cc __ mov(ecx, factory->empty_fixed_array()); __ 165 src/ia32/builtins-ia32.cc __ mov(Operand(ebx, JSObject::kPropertiesOffset), ecx); __ 166 src/ia32/builtins-ia32.cc __ mov(Operand(ebx, JSObject::kElementsOffset), ecx); __ 171 src/ia32/builtins-ia32.cc __ lea(ecx, Operand(ebx, JSObject::kHeaderSize)); __ 172 src/ia32/builtins-ia32.cc __ mov(edx, factory->undefined_value()); __ 174 src/ia32/builtins-ia32.cc __ movzx_b(esi, __ 176 src/ia32/builtins-ia32.cc __ lea(esi, __ 180 src/ia32/builtins-ia32.cc __ cmp(esi, edi); __ 181 src/ia32/builtins-ia32.cc __ Assert(less_equal, __ 184 src/ia32/builtins-ia32.cc __ InitializeFieldsWithFiller(ecx, esi, edx); __ 185 src/ia32/builtins-ia32.cc __ mov(edx, factory->one_pointer_filler_map()); __ 187 src/ia32/builtins-ia32.cc __ InitializeFieldsWithFiller(ecx, edi, edx); __ 196 src/ia32/builtins-ia32.cc __ or_(ebx, Immediate(kHeapObjectTag)); __ 204 src/ia32/builtins-ia32.cc __ movzx_b(edx, FieldOperand(eax, Map::kUnusedPropertyFieldsOffset)); __ 205 src/ia32/builtins-ia32.cc __ movzx_b(ecx, __ 207 src/ia32/builtins-ia32.cc __ add(edx, ecx); __ 209 src/ia32/builtins-ia32.cc __ movzx_b(ecx, FieldOperand(eax, Map::kInObjectPropertiesOffset)); __ 210 src/ia32/builtins-ia32.cc __ sub(edx, ecx); __ 212 src/ia32/builtins-ia32.cc __ j(zero, &allocated); __ 213 src/ia32/builtins-ia32.cc __ Assert(positive, "Property allocation count failed."); __ 220 src/ia32/builtins-ia32.cc __ AllocateInNewSpace(FixedArray::kHeaderSize, __ 234 src/ia32/builtins-ia32.cc __ mov(eax, factory->fixed_array_map()); __ 235 src/ia32/builtins-ia32.cc __ mov(Operand(edi, FixedArray::kMapOffset), eax); // setup the map __ 236 src/ia32/builtins-ia32.cc __ SmiTag(edx); __ 237 src/ia32/builtins-ia32.cc __ mov(Operand(edi, FixedArray::kLengthOffset), edx); // and length __ 244 src/ia32/builtins-ia32.cc __ mov(edx, factory->undefined_value()); __ 245 src/ia32/builtins-ia32.cc __ lea(eax, Operand(edi, FixedArray::kHeaderSize)); __ 246 src/ia32/builtins-ia32.cc __ jmp(&entry); __ 247 src/ia32/builtins-ia32.cc __ bind(&loop); __ 248 src/ia32/builtins-ia32.cc __ mov(Operand(eax, 0), edx); __ 249 src/ia32/builtins-ia32.cc __ add(eax, Immediate(kPointerSize)); __ 250 src/ia32/builtins-ia32.cc __ bind(&entry); __ 251 src/ia32/builtins-ia32.cc __ cmp(eax, ecx); __ 252 src/ia32/builtins-ia32.cc __ j(below, &loop); __ 259 src/ia32/builtins-ia32.cc __ or_(edi, Immediate(kHeapObjectTag)); // add the heap tag __ 260 src/ia32/builtins-ia32.cc __ mov(FieldOperand(ebx, JSObject::kPropertiesOffset), edi); __ 265 src/ia32/builtins-ia32.cc __ jmp(&allocated); __ 271 src/ia32/builtins-ia32.cc __ bind(&undo_allocation); __ 272 src/ia32/builtins-ia32.cc __ UndoAllocationInNewSpace(ebx); __ 276 src/ia32/builtins-ia32.cc __ bind(&rt_call); __ 278 src/ia32/builtins-ia32.cc __ mov(edi, Operand(esp, 0)); __ 280 src/ia32/builtins-ia32.cc __ push(edi); __ 281 src/ia32/builtins-ia32.cc __ CallRuntime(Runtime::kNewObject, 1); __ 282 src/ia32/builtins-ia32.cc __ mov(ebx, eax); // store result in ebx __ 286 src/ia32/builtins-ia32.cc __ bind(&allocated); __ 288 src/ia32/builtins-ia32.cc __ pop(edi); __ 291 src/ia32/builtins-ia32.cc __ mov(eax, Operand(esp, 0)); __ 292 src/ia32/builtins-ia32.cc __ SmiUntag(eax); __ 297 src/ia32/builtins-ia32.cc __ push(ebx); __ 298 src/ia32/builtins-ia32.cc __ push(ebx); __ 301 src/ia32/builtins-ia32.cc __ lea(ebx, Operand(ebp, StandardFrameConstants::kCallerSPOffset)); __ 305 src/ia32/builtins-ia32.cc __ mov(ecx, eax); __ 306 src/ia32/builtins-ia32.cc __ jmp(&entry); __ 307 src/ia32/builtins-ia32.cc __ bind(&loop); __ 308 src/ia32/builtins-ia32.cc __ push(Operand(ebx, ecx, times_4, 0)); __ 309 src/ia32/builtins-ia32.cc __ bind(&entry); __ 310 src/ia32/builtins-ia32.cc __ dec(ecx); __ 311 src/ia32/builtins-ia32.cc __ j(greater_equal, &loop); __ 315 src/ia32/builtins-ia32.cc __ mov(esi, FieldOperand(edi, JSFunction::kContextOffset)); __ 319 src/ia32/builtins-ia32.cc __ InvokeCode(code, expected, expected, RelocInfo::CODE_TARGET, __ 323 src/ia32/builtins-ia32.cc __ InvokeFunction(edi, actual, CALL_FUNCTION, __ 333 src/ia32/builtins-ia32.cc __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); __ 341 src/ia32/builtins-ia32.cc __ JumpIfSmi(eax, &use_receiver); __ 345 src/ia32/builtins-ia32.cc __ CmpObjectType(eax, FIRST_SPEC_OBJECT_TYPE, ecx); __ 346 src/ia32/builtins-ia32.cc __ j(above_equal, &exit); __ 350 src/ia32/builtins-ia32.cc __ bind(&use_receiver); __ 351 src/ia32/builtins-ia32.cc __ mov(eax, Operand(esp, 0)); __ 354 src/ia32/builtins-ia32.cc __ bind(&exit); __ 355 src/ia32/builtins-ia32.cc __ mov(ebx, Operand(esp, kPointerSize)); // Get arguments count. __ 362 src/ia32/builtins-ia32.cc __ pop(ecx); __ 363 src/ia32/builtins-ia32.cc __ lea(esp, Operand(esp, ebx, times_2, 1 * kPointerSize)); // 1 ~ receiver __ 364 src/ia32/builtins-ia32.cc __ push(ecx); __ 365 src/ia32/builtins-ia32.cc __ IncrementCounter(masm->isolate()->counters()->constructed_objects(), 1); __ 366 src/ia32/builtins-ia32.cc __ ret(0); __ 388 src/ia32/builtins-ia32.cc __ Set(esi, Immediate(0)); __ 394 src/ia32/builtins-ia32.cc __ mov(ebx, Operand(ebp, 0)); __ 397 src/ia32/builtins-ia32.cc __ mov(ecx, Operand(ebx, EntryFrameConstants::kFunctionArgOffset)); __ 398 src/ia32/builtins-ia32.cc __ mov(esi, FieldOperand(ecx, JSFunction::kContextOffset)); __ 401 src/ia32/builtins-ia32.cc __ push(ecx); __ 402 src/ia32/builtins-ia32.cc __ push(Operand(ebx, EntryFrameConstants::kReceiverArgOffset)); __ 405 src/ia32/builtins-ia32.cc __ mov(eax, Operand(ebx, EntryFrameConstants::kArgcOffset)); __ 406 src/ia32/builtins-ia32.cc __ mov(ebx, Operand(ebx, EntryFrameConstants::kArgvOffset)); __ 410 src/ia32/builtins-ia32.cc __ Set(ecx, Immediate(0)); __ 411 src/ia32/builtins-ia32.cc __ jmp(&entry); __ 412 src/ia32/builtins-ia32.cc __ bind(&loop); __ 413 src/ia32/builtins-ia32.cc __ mov(edx, Operand(ebx, ecx, times_4, 0)); // push parameter from argv __ 414 src/ia32/builtins-ia32.cc __ push(Operand(edx, 0)); // dereference handle __ 415 src/ia32/builtins-ia32.cc __ inc(ecx); __ 416 src/ia32/builtins-ia32.cc __ bind(&entry); __ 417 src/ia32/builtins-ia32.cc __ cmp(ecx, eax); __ 418 src/ia32/builtins-ia32.cc __ j(not_equal, &loop); __ 422 src/ia32/builtins-ia32.cc __ mov(edi, Operand(esp, eax, times_4, kPointerSize)); __ 427 src/ia32/builtins-ia32.cc __ CallStub(&stub); __ 430 src/ia32/builtins-ia32.cc __ InvokeFunction(edi, actual, CALL_FUNCTION, __ 438 src/ia32/builtins-ia32.cc __ ret(kPointerSize); // Remove receiver. __ 457 src/ia32/builtins-ia32.cc __ push(edi); __ 459 src/ia32/builtins-ia32.cc __ push(ecx); __ 461 src/ia32/builtins-ia32.cc __ push(edi); // Function is also the parameter to the runtime call. __ 462 src/ia32/builtins-ia32.cc __ CallRuntime(Runtime::kLazyCompile, 1); __ 465 src/ia32/builtins-ia32.cc __ pop(ecx); __ 467 src/ia32/builtins-ia32.cc __ pop(edi); __ 473 src/ia32/builtins-ia32.cc __ lea(eax, FieldOperand(eax, Code::kHeaderSize)); __ 474 src/ia32/builtins-ia32.cc __ jmp(eax); __ 483 src/ia32/builtins-ia32.cc __ push(edi); __ 485 src/ia32/builtins-ia32.cc __ push(ecx); __ 487 src/ia32/builtins-ia32.cc __ push(edi); // Function is also the parameter to the runtime call. __ 488 src/ia32/builtins-ia32.cc __ CallRuntime(Runtime::kLazyRecompile, 1); __ 491 src/ia32/builtins-ia32.cc __ pop(ecx); __ 493 src/ia32/builtins-ia32.cc __ pop(edi); __ 499 src/ia32/builtins-ia32.cc __ lea(eax, FieldOperand(eax, Code::kHeaderSize)); __ 500 src/ia32/builtins-ia32.cc __ jmp(eax); __ 510 src/ia32/builtins-ia32.cc __ push(Immediate(Smi::FromInt(static_cast<int>(type)))); __ 511 src/ia32/builtins-ia32.cc __ CallRuntime(Runtime::kNotifyDeoptimized, 1); __ 517 src/ia32/builtins-ia32.cc __ mov(ecx, Operand(esp, 1 * kPointerSize)); __ 518 src/ia32/builtins-ia32.cc __ SmiUntag(ecx); __ 522 src/ia32/builtins-ia32.cc __ cmp(ecx, FullCodeGenerator::NO_REGISTERS); __ 523 src/ia32/builtins-ia32.cc __ j(not_equal, ¬_no_registers, Label::kNear); __ 524 src/ia32/builtins-ia32.cc __ ret(1 * kPointerSize); // Remove state. __ 526 src/ia32/builtins-ia32.cc __ bind(¬_no_registers); __ 527 src/ia32/builtins-ia32.cc __ mov(eax, Operand(esp, 2 * kPointerSize)); __ 528 src/ia32/builtins-ia32.cc __ cmp(ecx, FullCodeGenerator::TOS_REG); __ 529 src/ia32/builtins-ia32.cc __ j(not_equal, ¬_tos_eax, Label::kNear); __ 530 src/ia32/builtins-ia32.cc __ ret(2 * kPointerSize); // Remove state, eax. __ 532 src/ia32/builtins-ia32.cc __ bind(¬_tos_eax); __ 533 src/ia32/builtins-ia32.cc __ Abort("no cases left"); __ 554 src/ia32/builtins-ia32.cc __ pushad(); __ 557 src/ia32/builtins-ia32.cc __ CallRuntime(Runtime::kNotifyOSR, 0); __ 559 src/ia32/builtins-ia32.cc __ popad(); __ 560 src/ia32/builtins-ia32.cc __ ret(0); __ 569 src/ia32/builtins-ia32.cc __ test(eax, eax); __ 570 src/ia32/builtins-ia32.cc __ j(not_zero, &done); __ 571 src/ia32/builtins-ia32.cc __ pop(ebx); __ 572 src/ia32/builtins-ia32.cc __ push(Immediate(factory->undefined_value())); __ 573 src/ia32/builtins-ia32.cc __ push(ebx); __ 574 src/ia32/builtins-ia32.cc __ inc(eax); __ 575 src/ia32/builtins-ia32.cc __ bind(&done); __ 582 src/ia32/builtins-ia32.cc __ mov(edi, Operand(esp, eax, times_4, 1 * kPointerSize)); __ 583 src/ia32/builtins-ia32.cc __ JumpIfSmi(edi, &non_function); __ 584 src/ia32/builtins-ia32.cc __ CmpObjectType(edi, JS_FUNCTION_TYPE, ecx); __ 585 src/ia32/builtins-ia32.cc __ j(not_equal, &slow); __ 590 src/ia32/builtins-ia32.cc __ Set(edx, Immediate(0)); // indicate regular JS_FUNCTION __ 593 src/ia32/builtins-ia32.cc __ mov(esi, FieldOperand(edi, JSFunction::kContextOffset)); __ 596 src/ia32/builtins-ia32.cc __ mov(ebx, FieldOperand(edi, JSFunction::kSharedFunctionInfoOffset)); __ 597 src/ia32/builtins-ia32.cc __ test_b(FieldOperand(ebx, SharedFunctionInfo::kStrictModeByteOffset), __ 599 src/ia32/builtins-ia32.cc __ j(not_equal, &shift_arguments); __ 602 src/ia32/builtins-ia32.cc __ test_b(FieldOperand(ebx, SharedFunctionInfo::kNativeByteOffset), __ 604 src/ia32/builtins-ia32.cc __ j(not_equal, &shift_arguments); __ 607 src/ia32/builtins-ia32.cc __ mov(ebx, Operand(esp, eax, times_4, 0)); // First argument. __ 611 src/ia32/builtins-ia32.cc __ JumpIfSmi(ebx, &convert_to_object); __ 612 src/ia32/builtins-ia32.cc __ cmp(ebx, factory->null_value()); __ 613 src/ia32/builtins-ia32.cc __ j(equal, &use_global_receiver); __ 614 src/ia32/builtins-ia32.cc __ cmp(ebx, factory->undefined_value()); __ 615 src/ia32/builtins-ia32.cc __ j(equal, &use_global_receiver); __ 617 src/ia32/builtins-ia32.cc __ CmpObjectType(ebx, FIRST_SPEC_OBJECT_TYPE, ecx); __ 618 src/ia32/builtins-ia32.cc __ j(above_equal, &shift_arguments); __ 620 src/ia32/builtins-ia32.cc __ bind(&convert_to_object); __ 624 src/ia32/builtins-ia32.cc __ SmiTag(eax); __ 625 src/ia32/builtins-ia32.cc __ push(eax); __ 627 src/ia32/builtins-ia32.cc __ push(ebx); __ 628 src/ia32/builtins-ia32.cc __ InvokeBuiltin(Builtins::TO_OBJECT, CALL_FUNCTION); __ 629 src/ia32/builtins-ia32.cc __ mov(ebx, eax); __ 630 src/ia32/builtins-ia32.cc __ Set(edx, Immediate(0)); // restore __ 632 src/ia32/builtins-ia32.cc __ pop(eax); __ 633 src/ia32/builtins-ia32.cc __ SmiUntag(eax); __ 637 src/ia32/builtins-ia32.cc __ mov(edi, Operand(esp, eax, times_4, 1 * kPointerSize)); __ 638 src/ia32/builtins-ia32.cc __ jmp(&patch_receiver); __ 642 src/ia32/builtins-ia32.cc __ bind(&use_global_receiver); __ 645 src/ia32/builtins-ia32.cc __ mov(ebx, FieldOperand(esi, kGlobalIndex)); __ 646 src/ia32/builtins-ia32.cc __ mov(ebx, FieldOperand(ebx, GlobalObject::kGlobalContextOffset)); __ 647 src/ia32/builtins-ia32.cc __ mov(ebx, FieldOperand(ebx, kGlobalIndex)); __ 648 src/ia32/builtins-ia32.cc __ mov(ebx, FieldOperand(ebx, GlobalObject::kGlobalReceiverOffset)); __ 650 src/ia32/builtins-ia32.cc __ bind(&patch_receiver); __ 651 src/ia32/builtins-ia32.cc __ mov(Operand(esp, eax, times_4, 0), ebx); __ 653 src/ia32/builtins-ia32.cc __ jmp(&shift_arguments); __ 657 src/ia32/builtins-ia32.cc __ bind(&slow); __ 658 src/ia32/builtins-ia32.cc __ Set(edx, Immediate(1)); // indicate function proxy __ 659 src/ia32/builtins-ia32.cc __ CmpInstanceType(ecx, JS_FUNCTION_PROXY_TYPE); __ 660 src/ia32/builtins-ia32.cc __ j(equal, &shift_arguments); __ 661 src/ia32/builtins-ia32.cc __ bind(&non_function); __ 662 src/ia32/builtins-ia32.cc __ Set(edx, Immediate(2)); // indicate non-function __ 668 src/ia32/builtins-ia32.cc __ mov(Operand(esp, eax, times_4, 0), edi); __ 673 src/ia32/builtins-ia32.cc __ bind(&shift_arguments); __ 675 src/ia32/builtins-ia32.cc __ mov(ecx, eax); __ 676 src/ia32/builtins-ia32.cc __ bind(&loop); __ 677 src/ia32/builtins-ia32.cc __ mov(ebx, Operand(esp, ecx, times_4, 0)); __ 678 src/ia32/builtins-ia32.cc __ mov(Operand(esp, ecx, times_4, kPointerSize), ebx); __ 679 src/ia32/builtins-ia32.cc __ dec(ecx); __ 680 src/ia32/builtins-ia32.cc __ j(not_sign, &loop); // While non-negative (to copy return address). __ 681 src/ia32/builtins-ia32.cc __ pop(ebx); // Discard copy of return address. __ 682 src/ia32/builtins-ia32.cc __ dec(eax); // One fewer argument (first argument is new receiver). __ 688 src/ia32/builtins-ia32.cc __ test(edx, edx); __ 689 src/ia32/builtins-ia32.cc __ j(zero, &function); __ 690 src/ia32/builtins-ia32.cc __ Set(ebx, Immediate(0)); __ 691 src/ia32/builtins-ia32.cc __ cmp(edx, Immediate(1)); __ 692 src/ia32/builtins-ia32.cc __ j(not_equal, &non_proxy); __ 694 src/ia32/builtins-ia32.cc __ pop(edx); // return address __ 695 src/ia32/builtins-ia32.cc __ push(edi); // re-add proxy object as additional argument __ 696 src/ia32/builtins-ia32.cc __ push(edx); __ 697 src/ia32/builtins-ia32.cc __ inc(eax); __ 698 src/ia32/builtins-ia32.cc __ SetCallKind(ecx, CALL_AS_FUNCTION); __ 699 src/ia32/builtins-ia32.cc __ GetBuiltinEntry(edx, Builtins::CALL_FUNCTION_PROXY); __ 700 src/ia32/builtins-ia32.cc __ jmp(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(), __ 703 src/ia32/builtins-ia32.cc __ bind(&non_proxy); __ 704 src/ia32/builtins-ia32.cc __ SetCallKind(ecx, CALL_AS_METHOD); __ 705 src/ia32/builtins-ia32.cc __ GetBuiltinEntry(edx, Builtins::CALL_NON_FUNCTION); __ 706 src/ia32/builtins-ia32.cc __ jmp(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(), __ 708 src/ia32/builtins-ia32.cc __ bind(&function); __ 714 src/ia32/builtins-ia32.cc __ mov(edx, FieldOperand(edi, JSFunction::kSharedFunctionInfoOffset)); __ 715 src/ia32/builtins-ia32.cc __ mov(ebx, __ 717 src/ia32/builtins-ia32.cc __ mov(edx, FieldOperand(edi, JSFunction::kCodeEntryOffset)); __ 718 src/ia32/builtins-ia32.cc __ SmiUntag(ebx); __ 719 src/ia32/builtins-ia32.cc __ SetCallKind(ecx, CALL_AS_METHOD); __ 720 src/ia32/builtins-ia32.cc __ cmp(eax, ebx); __ 721 src/ia32/builtins-ia32.cc __ j(not_equal, __ 725 src/ia32/builtins-ia32.cc __ InvokeCode(edx, expected, expected, JUMP_FUNCTION, NullCallWrapper(), __ 737 src/ia32/builtins-ia32.cc __ push(Operand(ebp, kFunctionOffset)); // push this __ 738 src/ia32/builtins-ia32.cc __ push(Operand(ebp, kArgumentsOffset)); // push arguments __ 739 src/ia32/builtins-ia32.cc __ InvokeBuiltin(Builtins::APPLY_PREPARE, CALL_FUNCTION); __ 747 src/ia32/builtins-ia32.cc __ mov(edi, Operand::StaticVariable(real_stack_limit)); __ 750 src/ia32/builtins-ia32.cc __ mov(ecx, esp); __ 751 src/ia32/builtins-ia32.cc __ sub(ecx, edi); __ 754 src/ia32/builtins-ia32.cc __ mov(edx, eax); __ 755 src/ia32/builtins-ia32.cc __ shl(edx, kPointerSizeLog2 - kSmiTagSize); __ 757 src/ia32/builtins-ia32.cc __ cmp(ecx, edx); __ 758 src/ia32/builtins-ia32.cc __ j(greater, &okay); // Signed comparison. __ 761 src/ia32/builtins-ia32.cc __ push(Operand(ebp, 4 * kPointerSize)); // push this __ 762 src/ia32/builtins-ia32.cc __ push(eax); __ 763 src/ia32/builtins-ia32.cc __ InvokeBuiltin(Builtins::APPLY_OVERFLOW, CALL_FUNCTION); __ 764 src/ia32/builtins-ia32.cc __ bind(&okay); __ 771 src/ia32/builtins-ia32.cc __ push(eax); // limit __ 772 src/ia32/builtins-ia32.cc __ push(Immediate(0)); // index __ 775 src/ia32/builtins-ia32.cc __ mov(ebx, Operand(ebp, kReceiverOffset)); __ 779 src/ia32/builtins-ia32.cc __ mov(edi, Operand(ebp, kFunctionOffset)); __ 780 src/ia32/builtins-ia32.cc __ CmpObjectType(edi, JS_FUNCTION_TYPE, ecx); __ 781 src/ia32/builtins-ia32.cc __ j(not_equal, &push_receiver); __ 784 src/ia32/builtins-ia32.cc __ mov(esi, FieldOperand(edi, JSFunction::kContextOffset)); __ 789 src/ia32/builtins-ia32.cc __ mov(ecx, FieldOperand(edi, JSFunction::kSharedFunctionInfoOffset)); __ 790 src/ia32/builtins-ia32.cc __ test_b(FieldOperand(ecx, SharedFunctionInfo::kStrictModeByteOffset), __ 792 src/ia32/builtins-ia32.cc __ j(not_equal, &push_receiver); __ 797 src/ia32/builtins-ia32.cc __ test_b(FieldOperand(ecx, SharedFunctionInfo::kNativeByteOffset), __ 799 src/ia32/builtins-ia32.cc __ j(not_equal, &push_receiver); __ 804 src/ia32/builtins-ia32.cc __ JumpIfSmi(ebx, &call_to_object); __ 805 src/ia32/builtins-ia32.cc __ cmp(ebx, factory->null_value()); __ 806 src/ia32/builtins-ia32.cc __ j(equal, &use_global_receiver); __ 807 src/ia32/builtins-ia32.cc __ cmp(ebx, factory->undefined_value()); __ 808 src/ia32/builtins-ia32.cc __ j(equal, &use_global_receiver); __ 810 src/ia32/builtins-ia32.cc __ CmpObjectType(ebx, FIRST_SPEC_OBJECT_TYPE, ecx); __ 811 src/ia32/builtins-ia32.cc __ j(above_equal, &push_receiver); __ 813 src/ia32/builtins-ia32.cc __ bind(&call_to_object); __ 814 src/ia32/builtins-ia32.cc __ push(ebx); __ 815 src/ia32/builtins-ia32.cc __ InvokeBuiltin(Builtins::TO_OBJECT, CALL_FUNCTION); __ 816 src/ia32/builtins-ia32.cc __ mov(ebx, eax); __ 817 src/ia32/builtins-ia32.cc __ jmp(&push_receiver); __ 820 src/ia32/builtins-ia32.cc __ bind(&use_global_receiver); __ 823 src/ia32/builtins-ia32.cc __ mov(ebx, FieldOperand(esi, kGlobalOffset)); __ 824 src/ia32/builtins-ia32.cc __ mov(ebx, FieldOperand(ebx, GlobalObject::kGlobalContextOffset)); __ 825 src/ia32/builtins-ia32.cc __ mov(ebx, FieldOperand(ebx, kGlobalOffset)); __ 826 src/ia32/builtins-ia32.cc __ mov(ebx, FieldOperand(ebx, GlobalObject::kGlobalReceiverOffset)); __ 829 src/ia32/builtins-ia32.cc __ bind(&push_receiver); __ 830 src/ia32/builtins-ia32.cc __ push(ebx); __ 834 src/ia32/builtins-ia32.cc __ mov(ecx, Operand(ebp, kIndexOffset)); __ 835 src/ia32/builtins-ia32.cc __ jmp(&entry); __ 836 src/ia32/builtins-ia32.cc __ bind(&loop); __ 837 src/ia32/builtins-ia32.cc __ mov(edx, Operand(ebp, kArgumentsOffset)); // load arguments __ 841 src/ia32/builtins-ia32.cc __ call(ic, RelocInfo::CODE_TARGET); __ 848 src/ia32/builtins-ia32.cc __ push(eax); __ 851 src/ia32/builtins-ia32.cc __ mov(ecx, Operand(ebp, kIndexOffset)); __ 852 src/ia32/builtins-ia32.cc __ add(ecx, Immediate(1 << kSmiTagSize)); __ 853 src/ia32/builtins-ia32.cc __ mov(Operand(ebp, kIndexOffset), ecx); __ 855 src/ia32/builtins-ia32.cc __ bind(&entry); __ 856 src/ia32/builtins-ia32.cc __ cmp(ecx, Operand(ebp, kLimitOffset)); __ 857 src/ia32/builtins-ia32.cc __ j(not_equal, &loop); __ 861 src/ia32/builtins-ia32.cc __ mov(eax, ecx); __ 863 src/ia32/builtins-ia32.cc __ SmiUntag(eax); __ 864 src/ia32/builtins-ia32.cc __ mov(edi, Operand(ebp, kFunctionOffset)); __ 865 src/ia32/builtins-ia32.cc __ CmpObjectType(edi, JS_FUNCTION_TYPE, ecx); __ 866 src/ia32/builtins-ia32.cc __ j(not_equal, &call_proxy); __ 867 src/ia32/builtins-ia32.cc __ InvokeFunction(edi, actual, CALL_FUNCTION, __ 871 src/ia32/builtins-ia32.cc __ ret(3 * kPointerSize); // remove this, receiver, and arguments __ 874 src/ia32/builtins-ia32.cc __ bind(&call_proxy); __ 875 src/ia32/builtins-ia32.cc __ push(edi); // add function proxy as last argument __ 876 src/ia32/builtins-ia32.cc __ inc(eax); __ 877 src/ia32/builtins-ia32.cc __ Set(ebx, Immediate(0)); __ 878 src/ia32/builtins-ia32.cc __ SetCallKind(ecx, CALL_AS_METHOD); __ 879 src/ia32/builtins-ia32.cc __ GetBuiltinEntry(edx, Builtins::CALL_FUNCTION_PROXY); __ 880 src/ia32/builtins-ia32.cc __ call(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(), __ 885 src/ia32/builtins-ia32.cc __ ret(3 * kPointerSize); // remove this, receiver, and arguments __ 903 src/ia32/builtins-ia32.cc __ LoadInitialArrayMap(array_function, scratch2, scratch1, false); __ 911 src/ia32/builtins-ia32.cc __ AllocateInNewSpace(size, __ 923 src/ia32/builtins-ia32.cc __ mov(FieldOperand(result, JSObject::kMapOffset), scratch1); __ 925 src/ia32/builtins-ia32.cc __ mov(FieldOperand(result, JSArray::kPropertiesOffset), __ 928 src/ia32/builtins-ia32.cc __ mov(FieldOperand(result, JSArray::kLengthOffset), Immediate(0)); __ 933 src/ia32/builtins-ia32.cc __ mov(FieldOperand(result, JSArray::kElementsOffset), __ 942 src/ia32/builtins-ia32.cc __ lea(scratch1, Operand(result, JSArray::kSize)); __ 943 src/ia32/builtins-ia32.cc __ mov(FieldOperand(result, JSArray::kElementsOffset), scratch1); __ 950 src/ia32/builtins-ia32.cc __ mov(FieldOperand(scratch1, FixedArray::kMapOffset), __ 952 src/ia32/builtins-ia32.cc __ mov(FieldOperand(scratch1, FixedArray::kLengthOffset), __ 961 src/ia32/builtins-ia32.cc __ mov(scratch3, factory->the_hole_value()); __ 963 src/ia32/builtins-ia32.cc __ mov(FieldOperand(scratch1, __ 969 src/ia32/builtins-ia32.cc __ mov(scratch2, Immediate(initial_capacity)); __ 970 src/ia32/builtins-ia32.cc __ jmp(&entry); __ 971 src/ia32/builtins-ia32.cc __ bind(&loop); __ 972 src/ia32/builtins-ia32.cc __ mov(FieldOperand(scratch1, __ 977 src/ia32/builtins-ia32.cc __ bind(&entry); __ 978 src/ia32/builtins-ia32.cc __ dec(scratch2); __ 979 src/ia32/builtins-ia32.cc __ j(not_sign, &loop); __ 1006 src/ia32/builtins-ia32.cc __ LoadInitialArrayMap(array_function, scratch, __ 1012 src/ia32/builtins-ia32.cc __ AllocateInNewSpace(JSArray::kSize + FixedArray::kHeaderSize, __ 1027 src/ia32/builtins-ia32.cc __ mov(FieldOperand(result, JSObject::kMapOffset), elements_array); __ 1029 src/ia32/builtins-ia32.cc __ mov(elements_array, factory->empty_fixed_array()); __ 1030 src/ia32/builtins-ia32.cc __ mov(FieldOperand(result, JSArray::kPropertiesOffset), elements_array); __ 1032 src/ia32/builtins-ia32.cc __ mov(FieldOperand(result, JSArray::kLengthOffset), array_size); __ 1039 src/ia32/builtins-ia32.cc __ lea(elements_array, Operand(result, JSArray::kSize)); __ 1040 src/ia32/builtins-ia32.cc __ mov(FieldOperand(result, JSArray::kElementsOffset), elements_array); __ 1047 src/ia32/builtins-ia32.cc __ mov(FieldOperand(elements_array, FixedArray::kMapOffset), __ 1051 src/ia32/builtins-ia32.cc __ mov(FieldOperand(elements_array, FixedArray::kLengthOffset), array_size); __ 1057 src/ia32/builtins-ia32.cc __ SmiUntag(array_size); __ 1058 src/ia32/builtins-ia32.cc __ lea(edi, Operand(elements_array, __ 1060 src/ia32/builtins-ia32.cc __ mov(eax, factory->the_hole_value()); __ 1061 src/ia32/builtins-ia32.cc __ cld(); __ 1066 src/ia32/builtins-ia32.cc __ cmp(ecx, kRepStosThreshold); __ 1067 src/ia32/builtins-ia32.cc __ j(below, &loop); // Note: ecx > 0. __ 1068 src/ia32/builtins-ia32.cc __ rep_stos(); __ 1069 src/ia32/builtins-ia32.cc __ jmp(&done); __ 1070 src/ia32/builtins-ia32.cc __ bind(&loop); __ 1071 src/ia32/builtins-ia32.cc __ stos(); __ 1072 src/ia32/builtins-ia32.cc __ bind(&entry); __ 1073 src/ia32/builtins-ia32.cc __ cmp(edi, elements_array_end); __ 1074 src/ia32/builtins-ia32.cc __ j(below, &loop); __ 1075 src/ia32/builtins-ia32.cc __ bind(&done); __ 1105 src/ia32/builtins-ia32.cc __ push(edi); __ 1108 src/ia32/builtins-ia32.cc __ push(eax); __ 1111 src/ia32/builtins-ia32.cc __ test(eax, eax); __ 1112 src/ia32/builtins-ia32.cc __ j(not_zero, &argc_one_or_more); __ 1114 src/ia32/builtins-ia32.cc __ bind(&empty_array); __ 1123 src/ia32/builtins-ia32.cc __ IncrementCounter(masm->isolate()->counters()->array_function_native(), 1); __ 1124 src/ia32/builtins-ia32.cc __ pop(ebx); __ 1126 src/ia32/builtins-ia32.cc __ pop(edi); __ 1128 src/ia32/builtins-ia32.cc __ ret(kPointerSize); __ 1132 src/ia32/builtins-ia32.cc __ bind(&argc_one_or_more); __ 1133 src/ia32/builtins-ia32.cc __ cmp(eax, 1); __ 1134 src/ia32/builtins-ia32.cc __ j(not_equal, &argc_two_or_more); __ 1136 src/ia32/builtins-ia32.cc __ mov(ecx, Operand(esp, (push_count + 1) * kPointerSize)); __ 1137 src/ia32/builtins-ia32.cc __ test(ecx, ecx); __ 1138 src/ia32/builtins-ia32.cc __ j(not_zero, ¬_empty_array); __ 1147 src/ia32/builtins-ia32.cc __ mov(eax, Operand(esp, i * kPointerSize)); __ 1148 src/ia32/builtins-ia32.cc __ mov(Operand(esp, (i + 1) * kPointerSize), eax); __ 1150 src/ia32/builtins-ia32.cc __ Drop(2); // Drop two stack slots. __ 1151 src/ia32/builtins-ia32.cc __ push(Immediate(0)); // Treat this as a call with argc of zero. __ 1152 src/ia32/builtins-ia32.cc __ jmp(&empty_array); __ 1154 src/ia32/builtins-ia32.cc __ bind(¬_empty_array); __ 1155 src/ia32/builtins-ia32.cc __ test(ecx, Immediate(kIntptrSignBit | kSmiTagMask)); __ 1156 src/ia32/builtins-ia32.cc __ j(not_zero, &prepare_generic_code_call); __ 1161 src/ia32/builtins-ia32.cc __ cmp(ecx, JSObject::kInitialMaxFastElementArray << kSmiTagSize); __ 1162 src/ia32/builtins-ia32.cc __ j(greater_equal, &prepare_generic_code_call); __ 1180 src/ia32/builtins-ia32.cc __ IncrementCounter(counters->array_function_native(), 1); __ 1181 src/ia32/builtins-ia32.cc __ mov(eax, ebx); __ 1182 src/ia32/builtins-ia32.cc __ pop(ebx); __ 1184 src/ia32/builtins-ia32.cc __ pop(edi); __ 1186 src/ia32/builtins-ia32.cc __ ret(2 * kPointerSize); __ 1189 src/ia32/builtins-ia32.cc __ bind(&argc_two_or_more); __ 1191 src/ia32/builtins-ia32.cc __ SmiTag(eax); // Convet argc to a smi. __ 1207 src/ia32/builtins-ia32.cc __ IncrementCounter(counters->array_function_native(), 1); __ 1208 src/ia32/builtins-ia32.cc __ push(ebx); __ 1209 src/ia32/builtins-ia32.cc __ mov(ebx, Operand(esp, kPointerSize)); __ 1220 src/ia32/builtins-ia32.cc __ lea(edi, Operand(esp, last_arg_offset)); __ 1224 src/ia32/builtins-ia32.cc __ lea(edx, Operand(ecx, FixedArray::kHeaderSize - kHeapObjectTag)); __ 1237 src/ia32/builtins-ia32.cc __ mov(ecx, ebx); __ 1238 src/ia32/builtins-ia32.cc __ jmp(&entry); __ 1239 src/ia32/builtins-ia32.cc __ bind(&loop); __ 1240 src/ia32/builtins-ia32.cc __ mov(eax, Operand(edi, ecx, times_pointer_size, 0)); __ 1242 src/ia32/builtins-ia32.cc __ JumpIfNotSmi(eax, &has_non_smi_element); __ 1244 src/ia32/builtins-ia32.cc __ mov(Operand(edx, 0), eax); __ 1245 src/ia32/builtins-ia32.cc __ add(edx, Immediate(kPointerSize)); __ 1246 src/ia32/builtins-ia32.cc __ bind(&entry); __ 1247 src/ia32/builtins-ia32.cc __ dec(ecx); __ 1248 src/ia32/builtins-ia32.cc __ j(greater_equal, &loop); __ 1257 src/ia32/builtins-ia32.cc __ bind(&finish); __ 1258 src/ia32/builtins-ia32.cc __ mov(ecx, Operand(esp, last_arg_offset - kPointerSize)); __ 1259 src/ia32/builtins-ia32.cc __ pop(eax); __ 1260 src/ia32/builtins-ia32.cc __ pop(ebx); __ 1261 src/ia32/builtins-ia32.cc __ lea(esp, Operand(esp, ebx, times_pointer_size, __ 1263 src/ia32/builtins-ia32.cc __ jmp(ecx); __ 1265 src/ia32/builtins-ia32.cc __ bind(&has_non_smi_element); __ 1267 src/ia32/builtins-ia32.cc __ CheckMap(eax, __ 1271 src/ia32/builtins-ia32.cc __ bind(&cant_transition_map); __ 1273 src/ia32/builtins-ia32.cc __ pop(eax); __ 1274 src/ia32/builtins-ia32.cc __ UndoAllocationInNewSpace(eax); __ 1275 src/ia32/builtins-ia32.cc __ jmp(&prepare_generic_code_call); __ 1277 src/ia32/builtins-ia32.cc __ bind(¬_double); __ 1279 src/ia32/builtins-ia32.cc __ mov(ebx, Operand(esp, 0)); __ 1280 src/ia32/builtins-ia32.cc __ mov(edi, FieldOperand(ebx, HeapObject::kMapOffset)); __ 1281 src/ia32/builtins-ia32.cc __ LoadTransitionedArrayMapConditional( __ 1287 src/ia32/builtins-ia32.cc __ mov(FieldOperand(ebx, HeapObject::kMapOffset), edi); __ 1288 src/ia32/builtins-ia32.cc __ RecordWriteField(ebx, HeapObject::kMapOffset, edi, eax, __ 1292 src/ia32/builtins-ia32.cc __ lea(edi, Operand(esp, last_arg_offset)); __ 1296 src/ia32/builtins-ia32.cc __ bind(&loop2); __ 1297 src/ia32/builtins-ia32.cc __ mov(eax, Operand(edi, ecx, times_pointer_size, 0)); __ 1298 src/ia32/builtins-ia32.cc __ mov(Operand(edx, 0), eax); __ 1299 src/ia32/builtins-ia32.cc __ add(edx, Immediate(kPointerSize)); __ 1300 src/ia32/builtins-ia32.cc __ dec(ecx); __ 1301 src/ia32/builtins-ia32.cc __ j(greater_equal, &loop2); __ 1302 src/ia32/builtins-ia32.cc __ jmp(&finish); __ 1305 src/ia32/builtins-ia32.cc __ bind(&prepare_generic_code_call); __ 1306 src/ia32/builtins-ia32.cc __ pop(eax); __ 1308 src/ia32/builtins-ia32.cc __ pop(edi); __ 1310 src/ia32/builtins-ia32.cc __ jmp(call_generic_code); __ 1323 src/ia32/builtins-ia32.cc __ LoadGlobalFunction(Context::INTERNAL_ARRAY_FUNCTION_INDEX, edi); __ 1327 src/ia32/builtins-ia32.cc __ mov(ebx, FieldOperand(edi, JSFunction::kPrototypeOrInitialMapOffset)); __ 1329 src/ia32/builtins-ia32.cc __ test(ebx, Immediate(kSmiTagMask)); __ 1330 src/ia32/builtins-ia32.cc __ Assert(not_zero, "Unexpected initial map for InternalArray function"); __ 1331 src/ia32/builtins-ia32.cc __ CmpObjectType(ebx, MAP_TYPE, ecx); __ 1332 src/ia32/builtins-ia32.cc __ Assert(equal, "Unexpected initial map for InternalArray function"); __ 1341 src/ia32/builtins-ia32.cc __ bind(&generic_array_code); __ 1344 src/ia32/builtins-ia32.cc __ jmp(array_code, RelocInfo::CODE_TARGET); __ 1357 src/ia32/builtins-ia32.cc __ LoadGlobalFunction(Context::ARRAY_FUNCTION_INDEX, edi); __ 1361 src/ia32/builtins-ia32.cc __ mov(ebx, FieldOperand(edi, JSFunction::kPrototypeOrInitialMapOffset)); __ 1363 src/ia32/builtins-ia32.cc __ test(ebx, Immediate(kSmiTagMask)); __ 1364 src/ia32/builtins-ia32.cc __ Assert(not_zero, "Unexpected initial map for Array function"); __ 1365 src/ia32/builtins-ia32.cc __ CmpObjectType(ebx, MAP_TYPE, ecx); __ 1366 src/ia32/builtins-ia32.cc __ Assert(equal, "Unexpected initial map for Array function"); __ 1374 src/ia32/builtins-ia32.cc __ bind(&generic_array_code); __ 1377 src/ia32/builtins-ia32.cc __ jmp(array_code, RelocInfo::CODE_TARGET); __ 1395 src/ia32/builtins-ia32.cc __ mov(ebx, FieldOperand(edi, JSFunction::kPrototypeOrInitialMapOffset)); __ 1397 src/ia32/builtins-ia32.cc __ test(ebx, Immediate(kSmiTagMask)); __ 1398 src/ia32/builtins-ia32.cc __ Assert(not_zero, "Unexpected initial map for Array function"); __ 1399 src/ia32/builtins-ia32.cc __ CmpObjectType(ebx, MAP_TYPE, ecx); __ 1400 src/ia32/builtins-ia32.cc __ Assert(equal, "Unexpected initial map for Array function"); __ 1408 src/ia32/builtins-ia32.cc __ bind(&generic_constructor); __ 1411 src/ia32/builtins-ia32.cc __ jmp(generic_construct_stub, RelocInfo::CODE_TARGET); __ 1424 src/ia32/builtins-ia32.cc __ IncrementCounter(counters->string_ctor_calls(), 1); __ 1427 src/ia32/builtins-ia32.cc __ LoadGlobalFunction(Context::STRING_FUNCTION_INDEX, ecx); __ 1428 src/ia32/builtins-ia32.cc __ cmp(edi, ecx); __ 1429 src/ia32/builtins-ia32.cc __ Assert(equal, "Unexpected String function"); __ 1435 src/ia32/builtins-ia32.cc __ test(eax, eax); __ 1436 src/ia32/builtins-ia32.cc __ j(zero, &no_arguments); __ 1437 src/ia32/builtins-ia32.cc __ mov(ebx, Operand(esp, eax, times_pointer_size, 0)); __ 1438 src/ia32/builtins-ia32.cc __ pop(ecx); __ 1439 src/ia32/builtins-ia32.cc __ lea(esp, Operand(esp, eax, times_pointer_size, kPointerSize)); __ 1440 src/ia32/builtins-ia32.cc __ push(ecx); __ 1441 src/ia32/builtins-ia32.cc __ mov(eax, ebx); __ 1453 src/ia32/builtins-ia32.cc __ IncrementCounter(counters->string_ctor_cached_number(), 1); __ 1454 src/ia32/builtins-ia32.cc __ bind(&argument_is_string); __ 1463 src/ia32/builtins-ia32.cc __ AllocateInNewSpace(JSValue::kSize, __ 1471 src/ia32/builtins-ia32.cc __ LoadGlobalFunctionInitialMap(edi, ecx); __ 1473 src/ia32/builtins-ia32.cc __ cmpb(FieldOperand(ecx, Map::kInstanceSizeOffset), __ 1475 src/ia32/builtins-ia32.cc __ Assert(equal, "Unexpected string wrapper instance size"); __ 1476 src/ia32/builtins-ia32.cc __ cmpb(FieldOperand(ecx, Map::kUnusedPropertyFieldsOffset), 0); __ 1477 src/ia32/builtins-ia32.cc __ Assert(equal, "Unexpected unused properties of string wrapper"); __ 1479 src/ia32/builtins-ia32.cc __ mov(FieldOperand(eax, HeapObject::kMapOffset), ecx); __ 1483 src/ia32/builtins-ia32.cc __ Set(ecx, Immediate(factory->empty_fixed_array())); __ 1484 src/ia32/builtins-ia32.cc __ mov(FieldOperand(eax, JSObject::kPropertiesOffset), ecx); __ 1485 src/ia32/builtins-ia32.cc __ mov(FieldOperand(eax, JSObject::kElementsOffset), ecx); __ 1488 src/ia32/builtins-ia32.cc __ mov(FieldOperand(eax, JSValue::kValueOffset), ebx); __ 1494 src/ia32/builtins-ia32.cc __ ret(0); __ 1499 src/ia32/builtins-ia32.cc __ bind(¬_cached); __ 1501 src/ia32/builtins-ia32.cc __ JumpIfSmi(eax, &convert_argument); __ 1503 src/ia32/builtins-ia32.cc __ j(NegateCondition(is_string), &convert_argument); __ 1504 src/ia32/builtins-ia32.cc __ mov(ebx, eax); __ 1505 src/ia32/builtins-ia32.cc __ IncrementCounter(counters->string_ctor_string_value(), 1); __ 1506 src/ia32/builtins-ia32.cc __ jmp(&argument_is_string); __ 1509 src/ia32/builtins-ia32.cc __ bind(&convert_argument); __ 1510 src/ia32/builtins-ia32.cc __ IncrementCounter(counters->string_ctor_conversions(), 1); __ 1513 src/ia32/builtins-ia32.cc __ push(edi); // Preserve the function. __ 1514 src/ia32/builtins-ia32.cc __ push(eax); __ 1515 src/ia32/builtins-ia32.cc __ InvokeBuiltin(Builtins::TO_STRING, CALL_FUNCTION); __ 1516 src/ia32/builtins-ia32.cc __ pop(edi); __ 1518 src/ia32/builtins-ia32.cc __ mov(ebx, eax); __ 1519 src/ia32/builtins-ia32.cc __ jmp(&argument_is_string); __ 1523 src/ia32/builtins-ia32.cc __ bind(&no_arguments); __ 1524 src/ia32/builtins-ia32.cc __ Set(ebx, Immediate(factory->empty_string())); __ 1525 src/ia32/builtins-ia32.cc __ pop(ecx); __ 1526 src/ia32/builtins-ia32.cc __ lea(esp, Operand(esp, kPointerSize)); __ 1527 src/ia32/builtins-ia32.cc __ push(ecx); __ 1528 src/ia32/builtins-ia32.cc __ jmp(&argument_is_string); __ 1532 src/ia32/builtins-ia32.cc __ bind(&gc_required); __ 1533 src/ia32/builtins-ia32.cc __ IncrementCounter(counters->string_ctor_gc_required(), 1); __ 1536 src/ia32/builtins-ia32.cc __ push(ebx); __ 1537 src/ia32/builtins-ia32.cc __ CallRuntime(Runtime::kNewStringWrapper, 1); __ 1539 src/ia32/builtins-ia32.cc __ ret(0); __ 1544 src/ia32/builtins-ia32.cc __ push(ebp); __ 1545 src/ia32/builtins-ia32.cc __ mov(ebp, esp); __ 1548 src/ia32/builtins-ia32.cc __ push(Immediate(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR))); __ 1551 src/ia32/builtins-ia32.cc __ push(edi); __ 1557 src/ia32/builtins-ia32.cc __ lea(edi, Operand(eax, eax, times_1, kSmiTag)); __ 1558 src/ia32/builtins-ia32.cc __ push(edi); __ 1564 src/ia32/builtins-ia32.cc __ mov(ebx, Operand(ebp, ArgumentsAdaptorFrameConstants::kLengthOffset)); __ 1567 src/ia32/builtins-ia32.cc __ leave(); __ 1571 src/ia32/builtins-ia32.cc __ pop(ecx); __ 1572 src/ia32/builtins-ia32.cc __ lea(esp, Operand(esp, ebx, times_2, 1 * kPointerSize)); // 1 ~ receiver __ 1573 src/ia32/builtins-ia32.cc __ push(ecx); __ 1586 src/ia32/builtins-ia32.cc __ IncrementCounter(masm->isolate()->counters()->arguments_adaptors(), 1); __ 1589 src/ia32/builtins-ia32.cc __ cmp(eax, ebx); __ 1590 src/ia32/builtins-ia32.cc __ j(less, &too_few); __ 1591 src/ia32/builtins-ia32.cc __ cmp(ebx, SharedFunctionInfo::kDontAdaptArgumentsSentinel); __ 1592 src/ia32/builtins-ia32.cc __ j(equal, &dont_adapt_arguments); __ 1595 src/ia32/builtins-ia32.cc __ bind(&enough); __ 1600 src/ia32/builtins-ia32.cc __ lea(eax, Operand(ebp, eax, times_4, offset)); __ 1601 src/ia32/builtins-ia32.cc __ mov(edi, -1); // account for receiver __ 1604 src/ia32/builtins-ia32.cc __ bind(©); __ 1605 src/ia32/builtins-ia32.cc __ inc(edi); __ 1606 src/ia32/builtins-ia32.cc __ push(Operand(eax, 0)); __ 1607 src/ia32/builtins-ia32.cc __ sub(eax, Immediate(kPointerSize)); __ 1608 src/ia32/builtins-ia32.cc __ cmp(edi, ebx); __ 1609 src/ia32/builtins-ia32.cc __ j(less, ©); __ 1610 src/ia32/builtins-ia32.cc __ jmp(&invoke); __ 1614 src/ia32/builtins-ia32.cc __ bind(&too_few); __ 1619 src/ia32/builtins-ia32.cc __ lea(edi, Operand(ebp, eax, times_4, offset)); __ 1621 src/ia32/builtins-ia32.cc __ sub(ebx, eax); __ 1623 src/ia32/builtins-ia32.cc __ neg(eax); __ 1624 src/ia32/builtins-ia32.cc __ sub(eax, Immediate(1)); __ 1627 src/ia32/builtins-ia32.cc __ bind(©); __ 1628 src/ia32/builtins-ia32.cc __ inc(eax); __ 1629 src/ia32/builtins-ia32.cc __ push(Operand(edi, 0)); __ 1630 src/ia32/builtins-ia32.cc __ sub(edi, Immediate(kPointerSize)); __ 1631 src/ia32/builtins-ia32.cc __ test(eax, eax); __ 1632 src/ia32/builtins-ia32.cc __ j(not_zero, ©); __ 1636 src/ia32/builtins-ia32.cc __ bind(&fill); __ 1637 src/ia32/builtins-ia32.cc __ inc(eax); __ 1638 src/ia32/builtins-ia32.cc __ push(Immediate(masm->isolate()->factory()->undefined_value())); __ 1639 src/ia32/builtins-ia32.cc __ cmp(eax, ebx); __ 1640 src/ia32/builtins-ia32.cc __ j(less, &fill); __ 1644 src/ia32/builtins-ia32.cc __ bind(&invoke); __ 1646 src/ia32/builtins-ia32.cc __ mov(edi, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset)); __ 1647 src/ia32/builtins-ia32.cc __ call(edx); __ 1654 src/ia32/builtins-ia32.cc __ ret(0); __ 1659 src/ia32/builtins-ia32.cc __ bind(&dont_adapt_arguments); __ 1660 src/ia32/builtins-ia32.cc __ jmp(edx); __ 1667 src/ia32/builtins-ia32.cc __ Abort("Unreachable code: Cannot optimize without SSE2 support."); __ 1674 src/ia32/builtins-ia32.cc __ mov(ebx, Operand(esp, 0)); // return address __ 1676 src/ia32/builtins-ia32.cc __ cmpb(Operand(ebx, 0), Assembler::kTestAlByte); __ 1677 src/ia32/builtins-ia32.cc __ Assert(equal, "test eax instruction not found after loop stack check"); __ 1679 src/ia32/builtins-ia32.cc __ movzx_b(ebx, Operand(ebx, 1)); // depth __ 1685 src/ia32/builtins-ia32.cc __ mov(eax, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset)); __ 1686 src/ia32/builtins-ia32.cc __ mov(ecx, FieldOperand(eax, JSFunction::kSharedFunctionInfoOffset)); __ 1687 src/ia32/builtins-ia32.cc __ mov(ecx, FieldOperand(ecx, SharedFunctionInfo::kCodeOffset)); __ 1688 src/ia32/builtins-ia32.cc __ cmpb(ebx, FieldOperand(ecx, Code::kAllowOSRAtLoopNestingLevelOffset)); __ 1689 src/ia32/builtins-ia32.cc __ j(greater, &stack_check); __ 1695 src/ia32/builtins-ia32.cc __ push(eax); __ 1696 src/ia32/builtins-ia32.cc __ CallRuntime(Runtime::kCompileForOnStackReplacement, 1); __ 1702 src/ia32/builtins-ia32.cc __ cmp(eax, Immediate(Smi::FromInt(-1))); __ 1703 src/ia32/builtins-ia32.cc __ j(not_equal, &skip, Label::kNear); __ 1704 src/ia32/builtins-ia32.cc __ ret(0); __ 1709 src/ia32/builtins-ia32.cc __ bind(&stack_check); __ 1713 src/ia32/builtins-ia32.cc __ cmp(esp, Operand::StaticVariable(stack_limit)); __ 1714 src/ia32/builtins-ia32.cc __ j(above_equal, &ok, Label::kNear); __ 1716 src/ia32/builtins-ia32.cc __ TailCallStub(&stub); __ 1718 src/ia32/builtins-ia32.cc __ Abort("Unreachable code: returned from tail call."); __ 1720 src/ia32/builtins-ia32.cc __ bind(&ok); __ 1721 src/ia32/builtins-ia32.cc __ ret(0); __ 1723 src/ia32/builtins-ia32.cc __ bind(&skip); __ 1725 src/ia32/builtins-ia32.cc __ SmiUntag(eax); __ 1726 src/ia32/builtins-ia32.cc __ push(eax); __ 48 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(eax, &check_heap_number, Label::kNear); __ 49 src/ia32/code-stubs-ia32.cc __ ret(0); __ 51 src/ia32/code-stubs-ia32.cc __ bind(&check_heap_number); __ 52 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset)); __ 54 src/ia32/code-stubs-ia32.cc __ cmp(ebx, Immediate(factory->heap_number_map())); __ 55 src/ia32/code-stubs-ia32.cc __ j(not_equal, &call_builtin, Label::kNear); __ 56 src/ia32/code-stubs-ia32.cc __ ret(0); __ 58 src/ia32/code-stubs-ia32.cc __ bind(&call_builtin); __ 59 src/ia32/code-stubs-ia32.cc __ pop(ecx); // Pop return address. __ 60 src/ia32/code-stubs-ia32.cc __ push(eax); __ 61 src/ia32/code-stubs-ia32.cc __ push(ecx); // Push return address. __ 62 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::TO_NUMBER, JUMP_FUNCTION); __ 72 src/ia32/code-stubs-ia32.cc __ AllocateInNewSpace(JSFunction::kSize, eax, ebx, ecx, &gc, TAG_OBJECT); __ 74 src/ia32/code-stubs-ia32.cc __ IncrementCounter(counters->fast_new_closure_total(), 1); __ 77 src/ia32/code-stubs-ia32.cc __ mov(edx, Operand(esp, 1 * kPointerSize)); __ 85 src/ia32/code-stubs-ia32.cc __ mov(ecx, Operand(esi, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 86 src/ia32/code-stubs-ia32.cc __ mov(ecx, FieldOperand(ecx, GlobalObject::kGlobalContextOffset)); __ 87 src/ia32/code-stubs-ia32.cc __ mov(ebx, Operand(ecx, Context::SlotOffset(map_index))); __ 88 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, JSObject::kMapOffset), ebx); __ 93 src/ia32/code-stubs-ia32.cc __ mov(ebx, Immediate(factory->empty_fixed_array())); __ 94 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, JSObject::kPropertiesOffset), ebx); __ 95 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, JSObject::kElementsOffset), ebx); __ 96 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, JSFunction::kPrototypeOrInitialMapOffset), __ 98 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, JSFunction::kSharedFunctionInfoOffset), edx); __ 99 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, JSFunction::kContextOffset), esi); __ 100 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, JSFunction::kLiteralsOffset), ebx); __ 108 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(edx, SharedFunctionInfo::kOptimizedCodeMapOffset)); __ 109 src/ia32/code-stubs-ia32.cc __ test(ebx, ebx); __ 110 src/ia32/code-stubs-ia32.cc __ j(not_zero, &check_optimized, Label::kNear); __ 112 src/ia32/code-stubs-ia32.cc __ bind(&install_unoptimized); __ 113 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, JSFunction::kNextFunctionLinkOffset), __ 115 src/ia32/code-stubs-ia32.cc __ mov(edx, FieldOperand(edx, SharedFunctionInfo::kCodeOffset)); __ 116 src/ia32/code-stubs-ia32.cc __ lea(edx, FieldOperand(edx, Code::kHeaderSize)); __ 117 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, JSFunction::kCodeEntryOffset), edx); __ 120 src/ia32/code-stubs-ia32.cc __ ret(1 * kPointerSize); __ 122 src/ia32/code-stubs-ia32.cc __ bind(&check_optimized); __ 124 src/ia32/code-stubs-ia32.cc __ IncrementCounter(counters->fast_new_closure_try_optimized(), 1); __ 131 src/ia32/code-stubs-ia32.cc __ mov(edx, FieldOperand(ebx, FixedArray::kHeaderSize + kPointerSize)); __ 132 src/ia32/code-stubs-ia32.cc __ cmp(ecx, FieldOperand(ebx, FixedArray::kHeaderSize)); __ 133 src/ia32/code-stubs-ia32.cc __ j(equal, &install_optimized); __ 138 src/ia32/code-stubs-ia32.cc __ mov(edx, FieldOperand(ebx, FixedArray::kLengthOffset)); __ 139 src/ia32/code-stubs-ia32.cc __ bind(&loop); __ 141 src/ia32/code-stubs-ia32.cc __ cmp(edx, Immediate(Smi::FromInt(SharedFunctionInfo::kEntryLength))); __ 142 src/ia32/code-stubs-ia32.cc __ j(equal, &restore); __ 143 src/ia32/code-stubs-ia32.cc __ sub(edx, Immediate(Smi::FromInt( __ 145 src/ia32/code-stubs-ia32.cc __ cmp(ecx, CodeGenerator::FixedArrayElementOperand(ebx, edx, 0)); __ 146 src/ia32/code-stubs-ia32.cc __ j(not_equal, &loop, Label::kNear); __ 148 src/ia32/code-stubs-ia32.cc __ mov(edx, CodeGenerator::FixedArrayElementOperand(ebx, edx, 1)); __ 150 src/ia32/code-stubs-ia32.cc __ bind(&install_optimized); __ 151 src/ia32/code-stubs-ia32.cc __ IncrementCounter(counters->fast_new_closure_install_optimized(), 1); __ 156 src/ia32/code-stubs-ia32.cc __ lea(edx, FieldOperand(edx, Code::kHeaderSize)); __ 157 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, JSFunction::kCodeEntryOffset), edx); __ 160 src/ia32/code-stubs-ia32.cc __ mov(edx, ContextOperand(ecx, Context::OPTIMIZED_FUNCTIONS_LIST)); __ 162 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, JSFunction::kNextFunctionLinkOffset), edx); __ 165 src/ia32/code-stubs-ia32.cc __ mov(ContextOperand(ecx, Context::OPTIMIZED_FUNCTIONS_LIST), eax); __ 168 src/ia32/code-stubs-ia32.cc __ mov(edx, eax); __ 169 src/ia32/code-stubs-ia32.cc __ RecordWriteContextSlot( __ 177 src/ia32/code-stubs-ia32.cc __ ret(1 * kPointerSize); __ 179 src/ia32/code-stubs-ia32.cc __ bind(&restore); __ 181 src/ia32/code-stubs-ia32.cc __ mov(edx, Operand(esp, 1 * kPointerSize)); __ 182 src/ia32/code-stubs-ia32.cc __ jmp(&install_unoptimized); __ 185 src/ia32/code-stubs-ia32.cc __ bind(&gc); __ 186 src/ia32/code-stubs-ia32.cc __ pop(ecx); // Temporarily remove return address. __ 187 src/ia32/code-stubs-ia32.cc __ pop(edx); __ 188 src/ia32/code-stubs-ia32.cc __ push(esi); __ 189 src/ia32/code-stubs-ia32.cc __ push(edx); __ 190 src/ia32/code-stubs-ia32.cc __ push(Immediate(factory->false_value())); __ 191 src/ia32/code-stubs-ia32.cc __ push(ecx); // Restore return address. __ 192 src/ia32/code-stubs-ia32.cc __ TailCallRuntime(Runtime::kNewClosure, 3, 1); __ 200 src/ia32/code-stubs-ia32.cc __ AllocateInNewSpace((length * kPointerSize) + FixedArray::kHeaderSize, __ 204 src/ia32/code-stubs-ia32.cc __ mov(ecx, Operand(esp, 1 * kPointerSize)); __ 208 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, HeapObject::kMapOffset), __ 210 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, Context::kLengthOffset), __ 214 src/ia32/code-stubs-ia32.cc __ Set(ebx, Immediate(0)); // Set to NULL. __ 215 src/ia32/code-stubs-ia32.cc __ mov(Operand(eax, Context::SlotOffset(Context::CLOSURE_INDEX)), ecx); __ 216 src/ia32/code-stubs-ia32.cc __ mov(Operand(eax, Context::SlotOffset(Context::PREVIOUS_INDEX)), esi); __ 217 src/ia32/code-stubs-ia32.cc __ mov(Operand(eax, Context::SlotOffset(Context::EXTENSION_INDEX)), ebx); __ 220 src/ia32/code-stubs-ia32.cc __ mov(ebx, Operand(esi, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 221 src/ia32/code-stubs-ia32.cc __ mov(Operand(eax, Context::SlotOffset(Context::GLOBAL_INDEX)), ebx); __ 224 src/ia32/code-stubs-ia32.cc __ mov(ebx, factory->undefined_value()); __ 226 src/ia32/code-stubs-ia32.cc __ mov(Operand(eax, Context::SlotOffset(i)), ebx); __ 230 src/ia32/code-stubs-ia32.cc __ mov(esi, eax); __ 231 src/ia32/code-stubs-ia32.cc __ ret(1 * kPointerSize); __ 234 src/ia32/code-stubs-ia32.cc __ bind(&gc); __ 235 src/ia32/code-stubs-ia32.cc __ TailCallRuntime(Runtime::kNewFunctionContext, 1, 1); __ 248 src/ia32/code-stubs-ia32.cc __ AllocateInNewSpace(FixedArray::SizeFor(length), __ 252 src/ia32/code-stubs-ia32.cc __ mov(ecx, Operand(esp, 1 * kPointerSize)); __ 255 src/ia32/code-stubs-ia32.cc __ mov(ebx, Operand(esp, 2 * kPointerSize)); __ 259 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, HeapObject::kMapOffset), __ 261 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, Context::kLengthOffset), __ 269 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(ecx, &after_sentinel, Label::kNear); __ 272 src/ia32/code-stubs-ia32.cc __ cmp(ecx, 0); __ 273 src/ia32/code-stubs-ia32.cc __ Assert(equal, message); __ 275 src/ia32/code-stubs-ia32.cc __ mov(ecx, GlobalObjectOperand()); __ 276 src/ia32/code-stubs-ia32.cc __ mov(ecx, FieldOperand(ecx, GlobalObject::kGlobalContextOffset)); __ 277 src/ia32/code-stubs-ia32.cc __ mov(ecx, ContextOperand(ecx, Context::CLOSURE_INDEX)); __ 278 src/ia32/code-stubs-ia32.cc __ bind(&after_sentinel); __ 281 src/ia32/code-stubs-ia32.cc __ mov(ContextOperand(eax, Context::CLOSURE_INDEX), ecx); __ 282 src/ia32/code-stubs-ia32.cc __ mov(ContextOperand(eax, Context::PREVIOUS_INDEX), esi); __ 283 src/ia32/code-stubs-ia32.cc __ mov(ContextOperand(eax, Context::EXTENSION_INDEX), ebx); __ 286 src/ia32/code-stubs-ia32.cc __ mov(ebx, ContextOperand(esi, Context::GLOBAL_INDEX)); __ 287 src/ia32/code-stubs-ia32.cc __ mov(ContextOperand(eax, Context::GLOBAL_INDEX), ebx); __ 291 src/ia32/code-stubs-ia32.cc __ mov(ContextOperand(eax, Context::MIN_CONTEXT_SLOTS), __ 294 src/ia32/code-stubs-ia32.cc __ mov(ebx, factory->the_hole_value()); __ 296 src/ia32/code-stubs-ia32.cc __ mov(ContextOperand(eax, i + Context::MIN_CONTEXT_SLOTS), ebx); __ 301 src/ia32/code-stubs-ia32.cc __ mov(esi, eax); __ 302 src/ia32/code-stubs-ia32.cc __ ret(2 * kPointerSize); __ 305 src/ia32/code-stubs-ia32.cc __ bind(&gc); __ 306 src/ia32/code-stubs-ia32.cc __ TailCallRuntime(Runtime::kPushBlockContext, 2, 1); __ 331 src/ia32/code-stubs-ia32.cc __ AllocateInNewSpace(size, eax, ebx, edx, fail, TAG_OBJECT); __ 336 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(ecx, i)); __ 337 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, i), ebx); __ 344 src/ia32/code-stubs-ia32.cc __ mov(ecx, FieldOperand(ecx, JSArray::kElementsOffset)); __ 345 src/ia32/code-stubs-ia32.cc __ lea(edx, Operand(eax, JSArray::kSize)); __ 346 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, JSArray::kElementsOffset), edx); __ 351 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(ecx, i)); __ 352 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(edx, i), ebx); __ 358 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(ecx, i)); __ 359 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(edx, i), ebx); __ 362 src/ia32/code-stubs-ia32.cc __ fld_d(FieldOperand(ecx, i)); __ 363 src/ia32/code-stubs-ia32.cc __ fstp_d(FieldOperand(edx, i)); __ 381 src/ia32/code-stubs-ia32.cc __ mov(ecx, Operand(esp, 3 * kPointerSize)); __ 382 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(esp, 2 * kPointerSize)); __ 386 src/ia32/code-stubs-ia32.cc __ mov(ecx, FieldOperand(ecx, eax, times_half_pointer_size, __ 389 src/ia32/code-stubs-ia32.cc __ cmp(ecx, factory->undefined_value()); __ 391 src/ia32/code-stubs-ia32.cc __ j(equal, &slow_case); __ 397 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(ecx, JSArray::kElementsOffset)); __ 398 src/ia32/code-stubs-ia32.cc __ CheckMap(ebx, factory->fixed_cow_array_map(), __ 402 src/ia32/code-stubs-ia32.cc __ ret(3 * kPointerSize); __ 404 src/ia32/code-stubs-ia32.cc __ bind(&check_fast_elements); __ 405 src/ia32/code-stubs-ia32.cc __ CheckMap(ebx, factory->fixed_array_map(), __ 409 src/ia32/code-stubs-ia32.cc __ ret(3 * kPointerSize); __ 411 src/ia32/code-stubs-ia32.cc __ bind(&double_elements); __ 430 src/ia32/code-stubs-ia32.cc __ push(ecx); __ 431 src/ia32/code-stubs-ia32.cc __ mov(ecx, FieldOperand(ecx, JSArray::kElementsOffset)); __ 432 src/ia32/code-stubs-ia32.cc __ cmp(FieldOperand(ecx, HeapObject::kMapOffset), expected_map); __ 433 src/ia32/code-stubs-ia32.cc __ Assert(equal, message); __ 434 src/ia32/code-stubs-ia32.cc __ pop(ecx); __ 439 src/ia32/code-stubs-ia32.cc __ ret(3 * kPointerSize); __ 441 src/ia32/code-stubs-ia32.cc __ bind(&slow_case); __ 442 src/ia32/code-stubs-ia32.cc __ TailCallRuntime(Runtime::kCreateArrayLiteralShallow, 3, 1); __ 457 src/ia32/code-stubs-ia32.cc __ mov(ecx, Operand(esp, 4 * kPointerSize)); __ 458 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(esp, 3 * kPointerSize)); __ 462 src/ia32/code-stubs-ia32.cc __ mov(ecx, FieldOperand(ecx, eax, times_half_pointer_size, __ 465 src/ia32/code-stubs-ia32.cc __ cmp(ecx, factory->undefined_value()); __ 466 src/ia32/code-stubs-ia32.cc __ j(equal, &slow_case); __ 471 src/ia32/code-stubs-ia32.cc __ mov(eax, FieldOperand(ecx, HeapObject::kMapOffset)); __ 472 src/ia32/code-stubs-ia32.cc __ movzx_b(eax, FieldOperand(eax, Map::kInstanceSizeOffset)); __ 473 src/ia32/code-stubs-ia32.cc __ cmp(eax, Immediate(size >> kPointerSizeLog2)); __ 474 src/ia32/code-stubs-ia32.cc __ j(not_equal, &slow_case); __ 478 src/ia32/code-stubs-ia32.cc __ AllocateInNewSpace(size, eax, ebx, edx, &slow_case, TAG_OBJECT); __ 480 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(ecx, i)); __ 481 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, i), ebx); __ 485 src/ia32/code-stubs-ia32.cc __ ret(4 * kPointerSize); __ 487 src/ia32/code-stubs-ia32.cc __ bind(&slow_case); __ 488 src/ia32/code-stubs-ia32.cc __ TailCallRuntime(Runtime::kCreateObjectLiteralShallow, 4, 1); __ 503 src/ia32/code-stubs-ia32.cc __ mov(argument, Operand(esp, 1 * kPointerSize)); __ 519 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(argument, ¬_smi, Label::kNear); __ 522 src/ia32/code-stubs-ia32.cc __ mov(tos_, argument); __ 524 src/ia32/code-stubs-ia32.cc __ ret(1 * kPointerSize); __ 525 src/ia32/code-stubs-ia32.cc __ bind(¬_smi); __ 528 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(argument, &patch, Label::kNear); __ 532 src/ia32/code-stubs-ia32.cc __ mov(map, FieldOperand(argument, HeapObject::kMapOffset)); __ 535 src/ia32/code-stubs-ia32.cc __ test_b(FieldOperand(map, Map::kBitFieldOffset), __ 539 src/ia32/code-stubs-ia32.cc __ j(zero, ¬_undetectable, Label::kNear); __ 540 src/ia32/code-stubs-ia32.cc __ Set(tos_, Immediate(0)); __ 541 src/ia32/code-stubs-ia32.cc __ ret(1 * kPointerSize); __ 542 src/ia32/code-stubs-ia32.cc __ bind(¬_undetectable); __ 549 src/ia32/code-stubs-ia32.cc __ CmpInstanceType(map, FIRST_SPEC_OBJECT_TYPE); __ 550 src/ia32/code-stubs-ia32.cc __ j(below, ¬_js_object, Label::kNear); __ 553 src/ia32/code-stubs-ia32.cc __ Set(tos_, Immediate(1)); __ 555 src/ia32/code-stubs-ia32.cc __ ret(1 * kPointerSize); __ 556 src/ia32/code-stubs-ia32.cc __ bind(¬_js_object); __ 562 src/ia32/code-stubs-ia32.cc __ CmpInstanceType(map, FIRST_NONSTRING_TYPE); __ 563 src/ia32/code-stubs-ia32.cc __ j(above_equal, ¬_string, Label::kNear); __ 564 src/ia32/code-stubs-ia32.cc __ mov(tos_, FieldOperand(argument, String::kLengthOffset)); __ 565 src/ia32/code-stubs-ia32.cc __ ret(1 * kPointerSize); // the string length is OK as the return value __ 566 src/ia32/code-stubs-ia32.cc __ bind(¬_string); __ 572 src/ia32/code-stubs-ia32.cc __ cmp(map, factory->heap_number_map()); __ 573 src/ia32/code-stubs-ia32.cc __ j(not_equal, ¬_heap_number, Label::kNear); __ 574 src/ia32/code-stubs-ia32.cc __ fldz(); __ 575 src/ia32/code-stubs-ia32.cc __ fld_d(FieldOperand(argument, HeapNumber::kValueOffset)); __ 576 src/ia32/code-stubs-ia32.cc __ FCmp(); __ 577 src/ia32/code-stubs-ia32.cc __ j(zero, &false_result, Label::kNear); __ 580 src/ia32/code-stubs-ia32.cc __ Set(tos_, Immediate(1)); __ 582 src/ia32/code-stubs-ia32.cc __ ret(1 * kPointerSize); __ 583 src/ia32/code-stubs-ia32.cc __ bind(&false_result); __ 584 src/ia32/code-stubs-ia32.cc __ Set(tos_, Immediate(0)); __ 585 src/ia32/code-stubs-ia32.cc __ ret(1 * kPointerSize); __ 586 src/ia32/code-stubs-ia32.cc __ bind(¬_heap_number); __ 589 src/ia32/code-stubs-ia32.cc __ bind(&patch); __ 598 src/ia32/code-stubs-ia32.cc __ pushad(); __ 601 src/ia32/code-stubs-ia32.cc __ sub(esp, Immediate(kDoubleSize * XMMRegister::kNumRegisters)); __ 604 src/ia32/code-stubs-ia32.cc __ movdbl(Operand(esp, i * kDoubleSize), reg); __ 610 src/ia32/code-stubs-ia32.cc __ PrepareCallCFunction(argument_count, ecx); __ 611 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 0 * kPointerSize), __ 613 src/ia32/code-stubs-ia32.cc __ CallCFunction( __ 620 src/ia32/code-stubs-ia32.cc __ movdbl(reg, Operand(esp, i * kDoubleSize)); __ 622 src/ia32/code-stubs-ia32.cc __ add(esp, Immediate(kDoubleSize * XMMRegister::kNumRegisters)); __ 624 src/ia32/code-stubs-ia32.cc __ popad(); __ 625 src/ia32/code-stubs-ia32.cc __ ret(0); __ 637 src/ia32/code-stubs-ia32.cc __ CompareRoot(argument, value); __ 638 src/ia32/code-stubs-ia32.cc __ j(not_equal, &different_value, Label::kNear); __ 641 src/ia32/code-stubs-ia32.cc __ Set(tos_, Immediate(0)); __ 645 src/ia32/code-stubs-ia32.cc __ Set(tos_, Immediate(1)); __ 647 src/ia32/code-stubs-ia32.cc __ ret(1 * kPointerSize); __ 648 src/ia32/code-stubs-ia32.cc __ bind(&different_value); __ 654 src/ia32/code-stubs-ia32.cc __ pop(ecx); // Get return address, operand is now on top of stack. __ 655 src/ia32/code-stubs-ia32.cc __ push(Immediate(Smi::FromInt(tos_.code()))); __ 656 src/ia32/code-stubs-ia32.cc __ push(Immediate(Smi::FromInt(types_.ToByte()))); __ 657 src/ia32/code-stubs-ia32.cc __ push(ecx); // Push return address. __ 660 src/ia32/code-stubs-ia32.cc __ TailCallExternalReference( __ 754 src/ia32/code-stubs-ia32.cc __ mov(scratch, FieldOperand(source, HeapNumber::kExponentOffset)); __ 756 src/ia32/code-stubs-ia32.cc __ mov(scratch2, scratch); __ 757 src/ia32/code-stubs-ia32.cc __ and_(scratch2, HeapNumber::kExponentMask); __ 763 src/ia32/code-stubs-ia32.cc __ cmp(scratch2, Immediate(kTooBigExponent)); __ 764 src/ia32/code-stubs-ia32.cc __ j(greater_equal, conversion_failure); __ 766 src/ia32/code-stubs-ia32.cc __ fld_d(FieldOperand(source, HeapNumber::kValueOffset)); __ 768 src/ia32/code-stubs-ia32.cc __ sub(esp, Immediate(sizeof(uint64_t))); // Nolint. __ 770 src/ia32/code-stubs-ia32.cc __ fisttp_d(Operand(esp, 0)); __ 771 src/ia32/code-stubs-ia32.cc __ mov(ecx, Operand(esp, 0)); // Load low word of answer into ecx. __ 772 src/ia32/code-stubs-ia32.cc __ add(esp, Immediate(sizeof(uint64_t))); // Nolint. __ 776 src/ia32/code-stubs-ia32.cc __ xor_(ecx, ecx); __ 783 src/ia32/code-stubs-ia32.cc __ cmp(scratch2, Immediate(non_smi_exponent)); __ 786 src/ia32/code-stubs-ia32.cc __ j(equal, &right_exponent, Label::kNear); __ 789 src/ia32/code-stubs-ia32.cc __ j(less, &normal_exponent, Label::kNear); __ 796 src/ia32/code-stubs-ia32.cc __ cmp(scratch2, Immediate(big_non_smi_exponent)); __ 797 src/ia32/code-stubs-ia32.cc __ j(not_equal, conversion_failure); __ 800 src/ia32/code-stubs-ia32.cc __ mov(scratch2, scratch); __ 801 src/ia32/code-stubs-ia32.cc __ and_(scratch2, HeapNumber::kMantissaMask); __ 803 src/ia32/code-stubs-ia32.cc __ or_(scratch2, 1 << HeapNumber::kExponentShift); __ 809 src/ia32/code-stubs-ia32.cc __ shl(scratch2, big_shift_distance); __ 811 src/ia32/code-stubs-ia32.cc __ mov(ecx, FieldOperand(source, HeapNumber::kMantissaOffset)); __ 814 src/ia32/code-stubs-ia32.cc __ shr(ecx, 32 - big_shift_distance); __ 815 src/ia32/code-stubs-ia32.cc __ or_(ecx, scratch2); __ 817 src/ia32/code-stubs-ia32.cc __ test(scratch, scratch); __ 818 src/ia32/code-stubs-ia32.cc __ j(positive, &done, Label::kNear); __ 819 src/ia32/code-stubs-ia32.cc __ neg(ecx); __ 820 src/ia32/code-stubs-ia32.cc __ jmp(&done, Label::kNear); __ 823 src/ia32/code-stubs-ia32.cc __ bind(&normal_exponent); __ 831 src/ia32/code-stubs-ia32.cc __ sub(scratch2, Immediate(zero_exponent)); __ 833 src/ia32/code-stubs-ia32.cc __ j(less, &done, Label::kNear); __ 836 src/ia32/code-stubs-ia32.cc __ shr(scratch2, HeapNumber::kExponentShift); __ 837 src/ia32/code-stubs-ia32.cc __ mov(ecx, Immediate(30)); __ 838 src/ia32/code-stubs-ia32.cc __ sub(ecx, scratch2); __ 840 src/ia32/code-stubs-ia32.cc __ bind(&right_exponent); __ 843 src/ia32/code-stubs-ia32.cc __ and_(scratch, HeapNumber::kMantissaMask); __ 845 src/ia32/code-stubs-ia32.cc __ or_(scratch, 1 << HeapNumber::kExponentShift); __ 850 src/ia32/code-stubs-ia32.cc __ shl(scratch, shift_distance); __ 854 src/ia32/code-stubs-ia32.cc __ mov(scratch2, FieldOperand(source, HeapNumber::kMantissaOffset)); __ 857 src/ia32/code-stubs-ia32.cc __ shr(scratch2, 32 - shift_distance); __ 858 src/ia32/code-stubs-ia32.cc __ or_(scratch2, scratch); __ 860 src/ia32/code-stubs-ia32.cc __ shr_cl(scratch2); __ 864 src/ia32/code-stubs-ia32.cc __ xor_(ecx, ecx); __ 865 src/ia32/code-stubs-ia32.cc __ cmp(ecx, FieldOperand(source, HeapNumber::kExponentOffset)); __ 866 src/ia32/code-stubs-ia32.cc __ j(greater, &negative, Label::kNear); __ 867 src/ia32/code-stubs-ia32.cc __ mov(ecx, scratch2); __ 868 src/ia32/code-stubs-ia32.cc __ jmp(&done, Label::kNear); __ 869 src/ia32/code-stubs-ia32.cc __ bind(&negative); __ 870 src/ia32/code-stubs-ia32.cc __ sub(ecx, scratch2); __ 871 src/ia32/code-stubs-ia32.cc __ bind(&done); __ 910 src/ia32/code-stubs-ia32.cc __ pop(ecx); // Save return address. __ 912 src/ia32/code-stubs-ia32.cc __ push(eax); // the operand __ 913 src/ia32/code-stubs-ia32.cc __ push(Immediate(Smi::FromInt(op_))); __ 914 src/ia32/code-stubs-ia32.cc __ push(Immediate(Smi::FromInt(mode_))); __ 915 src/ia32/code-stubs-ia32.cc __ push(Immediate(Smi::FromInt(operand_type_))); __ 917 src/ia32/code-stubs-ia32.cc __ push(ecx); // Push return address. __ 921 src/ia32/code-stubs-ia32.cc __ TailCallExternalReference( __ 945 src/ia32/code-stubs-ia32.cc __ bind(&undo); __ 947 src/ia32/code-stubs-ia32.cc __ bind(&non_smi); __ 948 src/ia32/code-stubs-ia32.cc __ bind(&slow); __ 956 src/ia32/code-stubs-ia32.cc __ bind(&non_smi); __ 969 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(eax, non_smi, non_smi_near); __ 972 src/ia32/code-stubs-ia32.cc __ test(eax, eax); __ 973 src/ia32/code-stubs-ia32.cc __ j(zero, slow, slow_near); __ 976 src/ia32/code-stubs-ia32.cc __ mov(edx, eax); __ 977 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(0)); __ 978 src/ia32/code-stubs-ia32.cc __ sub(eax, edx); __ 979 src/ia32/code-stubs-ia32.cc __ j(overflow, undo, undo_near); __ 980 src/ia32/code-stubs-ia32.cc __ ret(0); __ 989 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(eax, non_smi, non_smi_near); __ 992 src/ia32/code-stubs-ia32.cc __ not_(eax); __ 993 src/ia32/code-stubs-ia32.cc __ and_(eax, ~kSmiTagMask); __ 994 src/ia32/code-stubs-ia32.cc __ ret(0); __ 999 src/ia32/code-stubs-ia32.cc __ mov(eax, edx); __ 1021 src/ia32/code-stubs-ia32.cc __ bind(&non_smi); __ 1023 src/ia32/code-stubs-ia32.cc __ bind(&undo); __ 1025 src/ia32/code-stubs-ia32.cc __ bind(&slow); __ 1027 src/ia32/code-stubs-ia32.cc __ bind(&call_builtin); __ 1036 src/ia32/code-stubs-ia32.cc __ bind(&non_smi); __ 1038 src/ia32/code-stubs-ia32.cc __ bind(&slow); __ 1045 src/ia32/code-stubs-ia32.cc __ mov(edx, FieldOperand(eax, HeapObject::kMapOffset)); __ 1046 src/ia32/code-stubs-ia32.cc __ cmp(edx, masm->isolate()->factory()->heap_number_map()); __ 1047 src/ia32/code-stubs-ia32.cc __ j(not_equal, slow); __ 1050 src/ia32/code-stubs-ia32.cc __ xor_(FieldOperand(eax, HeapNumber::kExponentOffset), __ 1053 src/ia32/code-stubs-ia32.cc __ mov(edx, eax); __ 1057 src/ia32/code-stubs-ia32.cc __ AllocateHeapNumber(eax, ebx, ecx, &slow_allocate_heapnumber); __ 1058 src/ia32/code-stubs-ia32.cc __ jmp(&heapnumber_allocated, Label::kNear); __ 1060 src/ia32/code-stubs-ia32.cc __ bind(&slow_allocate_heapnumber); __ 1063 src/ia32/code-stubs-ia32.cc __ push(edx); __ 1064 src/ia32/code-stubs-ia32.cc __ CallRuntime(Runtime::kNumberAlloc, 0); __ 1065 src/ia32/code-stubs-ia32.cc __ pop(edx); __ 1068 src/ia32/code-stubs-ia32.cc __ bind(&heapnumber_allocated); __ 1070 src/ia32/code-stubs-ia32.cc __ mov(ecx, FieldOperand(edx, HeapNumber::kExponentOffset)); __ 1071 src/ia32/code-stubs-ia32.cc __ xor_(ecx, HeapNumber::kSignMask); // Flip sign. __ 1072 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, HeapNumber::kExponentOffset), ecx); __ 1073 src/ia32/code-stubs-ia32.cc __ mov(ecx, FieldOperand(edx, HeapNumber::kMantissaOffset)); __ 1074 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, HeapNumber::kMantissaOffset), ecx); __ 1076 src/ia32/code-stubs-ia32.cc __ ret(0); __ 1082 src/ia32/code-stubs-ia32.cc __ mov(edx, FieldOperand(eax, HeapObject::kMapOffset)); __ 1083 src/ia32/code-stubs-ia32.cc __ cmp(edx, masm->isolate()->factory()->heap_number_map()); __ 1084 src/ia32/code-stubs-ia32.cc __ j(not_equal, slow); __ 1091 src/ia32/code-stubs-ia32.cc __ not_(ecx); __ 1092 src/ia32/code-stubs-ia32.cc __ cmp(ecx, 0xc0000000); __ 1093 src/ia32/code-stubs-ia32.cc __ j(sign, &try_float, Label::kNear); __ 1097 src/ia32/code-stubs-ia32.cc __ lea(eax, Operand(ecx, times_2, kSmiTag)); __ 1098 src/ia32/code-stubs-ia32.cc __ ret(0); __ 1101 src/ia32/code-stubs-ia32.cc __ bind(&try_float); __ 1104 src/ia32/code-stubs-ia32.cc __ mov(ebx, eax); __ 1105 src/ia32/code-stubs-ia32.cc __ AllocateHeapNumber(eax, edx, edi, &slow_allocate_heapnumber); __ 1106 src/ia32/code-stubs-ia32.cc __ jmp(&heapnumber_allocated); __ 1108 src/ia32/code-stubs-ia32.cc __ bind(&slow_allocate_heapnumber); __ 1114 src/ia32/code-stubs-ia32.cc __ push(ebx); __ 1115 src/ia32/code-stubs-ia32.cc __ CallRuntime(Runtime::kNumberAlloc, 0); __ 1117 src/ia32/code-stubs-ia32.cc __ pop(edx); __ 1122 src/ia32/code-stubs-ia32.cc __ not_(ecx); __ 1124 src/ia32/code-stubs-ia32.cc __ bind(&heapnumber_allocated); __ 1128 src/ia32/code-stubs-ia32.cc __ cvtsi2sd(xmm0, ecx); __ 1129 src/ia32/code-stubs-ia32.cc __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0); __ 1131 src/ia32/code-stubs-ia32.cc __ push(ecx); __ 1132 src/ia32/code-stubs-ia32.cc __ fild_s(Operand(esp, 0)); __ 1133 src/ia32/code-stubs-ia32.cc __ pop(ecx); __ 1134 src/ia32/code-stubs-ia32.cc __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset)); __ 1136 src/ia32/code-stubs-ia32.cc __ ret(0); __ 1158 src/ia32/code-stubs-ia32.cc __ bind(&non_smi); __ 1160 src/ia32/code-stubs-ia32.cc __ bind(&undo); __ 1162 src/ia32/code-stubs-ia32.cc __ bind(&slow); __ 1170 src/ia32/code-stubs-ia32.cc __ bind(&non_smi); __ 1172 src/ia32/code-stubs-ia32.cc __ bind(&slow); __ 1179 src/ia32/code-stubs-ia32.cc __ pop(ecx); // pop return address. __ 1180 src/ia32/code-stubs-ia32.cc __ push(eax); __ 1181 src/ia32/code-stubs-ia32.cc __ push(ecx); // push return address __ 1184 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::UNARY_MINUS, JUMP_FUNCTION); __ 1187 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::BIT_NOT, JUMP_FUNCTION); __ 1196 src/ia32/code-stubs-ia32.cc __ pop(ecx); // Save return address. __ 1197 src/ia32/code-stubs-ia32.cc __ push(edx); __ 1198 src/ia32/code-stubs-ia32.cc __ push(eax); __ 1202 src/ia32/code-stubs-ia32.cc __ push(Immediate(Smi::FromInt(MinorKey()))); __ 1203 src/ia32/code-stubs-ia32.cc __ push(Immediate(Smi::FromInt(op_))); __ 1204 src/ia32/code-stubs-ia32.cc __ push(Immediate(Smi::FromInt(operands_type_))); __ 1206 src/ia32/code-stubs-ia32.cc __ push(ecx); // Push return address. __ 1210 src/ia32/code-stubs-ia32.cc __ TailCallExternalReference( __ 1221 src/ia32/code-stubs-ia32.cc __ pop(ecx); // Save return address. __ 1225 src/ia32/code-stubs-ia32.cc __ push(Immediate(Smi::FromInt(MinorKey()))); __ 1226 src/ia32/code-stubs-ia32.cc __ push(Immediate(Smi::FromInt(op_))); __ 1227 src/ia32/code-stubs-ia32.cc __ push(Immediate(Smi::FromInt(operands_type_))); __ 1229 src/ia32/code-stubs-ia32.cc __ push(ecx); // Push return address. __ 1233 src/ia32/code-stubs-ia32.cc __ TailCallExternalReference( __ 1305 src/ia32/code-stubs-ia32.cc __ mov(ebx, eax); __ 1306 src/ia32/code-stubs-ia32.cc __ mov(eax, edx); __ 1320 src/ia32/code-stubs-ia32.cc __ mov(ecx, right); __ 1321 src/ia32/code-stubs-ia32.cc __ or_(right, left); // Bitwise or is commutative. __ 1332 src/ia32/code-stubs-ia32.cc __ mov(combined, right); __ 1333 src/ia32/code-stubs-ia32.cc __ or_(combined, left); __ 1342 src/ia32/code-stubs-ia32.cc __ mov(ecx, right); __ 1343 src/ia32/code-stubs-ia32.cc __ or_(right, left); __ 1353 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(combined, ¬_smis); __ 1366 src/ia32/code-stubs-ia32.cc __ xor_(right, left); // Bitwise xor is commutative. __ 1371 src/ia32/code-stubs-ia32.cc __ and_(right, left); // Bitwise and is commutative. __ 1376 src/ia32/code-stubs-ia32.cc __ SmiUntag(left); __ 1377 src/ia32/code-stubs-ia32.cc __ SmiUntag(ecx); __ 1379 src/ia32/code-stubs-ia32.cc __ shl_cl(left); __ 1381 src/ia32/code-stubs-ia32.cc __ cmp(left, 0xc0000000); __ 1382 src/ia32/code-stubs-ia32.cc __ j(sign, &use_fp_on_smis); __ 1384 src/ia32/code-stubs-ia32.cc __ SmiTag(left); __ 1385 src/ia32/code-stubs-ia32.cc __ mov(eax, left); __ 1390 src/ia32/code-stubs-ia32.cc __ SmiUntag(left); __ 1391 src/ia32/code-stubs-ia32.cc __ SmiUntag(ecx); __ 1393 src/ia32/code-stubs-ia32.cc __ sar_cl(left); __ 1395 src/ia32/code-stubs-ia32.cc __ SmiTag(left); __ 1396 src/ia32/code-stubs-ia32.cc __ mov(eax, left); __ 1401 src/ia32/code-stubs-ia32.cc __ SmiUntag(left); __ 1402 src/ia32/code-stubs-ia32.cc __ SmiUntag(ecx); __ 1404 src/ia32/code-stubs-ia32.cc __ shr_cl(left); __ 1411 src/ia32/code-stubs-ia32.cc __ test(left, Immediate(0xc0000000)); __ 1412 src/ia32/code-stubs-ia32.cc __ j(not_zero, &use_fp_on_smis); __ 1414 src/ia32/code-stubs-ia32.cc __ SmiTag(left); __ 1415 src/ia32/code-stubs-ia32.cc __ mov(eax, left); __ 1420 src/ia32/code-stubs-ia32.cc __ add(right, left); // Addition is commutative. __ 1421 src/ia32/code-stubs-ia32.cc __ j(overflow, &use_fp_on_smis); __ 1425 src/ia32/code-stubs-ia32.cc __ sub(left, right); __ 1426 src/ia32/code-stubs-ia32.cc __ j(overflow, &use_fp_on_smis); __ 1427 src/ia32/code-stubs-ia32.cc __ mov(eax, left); __ 1435 src/ia32/code-stubs-ia32.cc __ mov(ebx, right); __ 1437 src/ia32/code-stubs-ia32.cc __ SmiUntag(right); __ 1439 src/ia32/code-stubs-ia32.cc __ imul(right, left); // Multiplication is commutative. __ 1440 src/ia32/code-stubs-ia32.cc __ j(overflow, &use_fp_on_smis); __ 1442 src/ia32/code-stubs-ia32.cc __ NegativeZeroTest(right, combined, &use_fp_on_smis); __ 1448 src/ia32/code-stubs-ia32.cc __ mov(edi, left); __ 1450 src/ia32/code-stubs-ia32.cc __ test(right, right); __ 1451 src/ia32/code-stubs-ia32.cc __ j(zero, &use_fp_on_smis); __ 1454 src/ia32/code-stubs-ia32.cc __ cdq(); __ 1456 src/ia32/code-stubs-ia32.cc __ idiv(right); __ 1461 src/ia32/code-stubs-ia32.cc __ cmp(eax, 0x40000000); __ 1462 src/ia32/code-stubs-ia32.cc __ j(equal, &use_fp_on_smis); __ 1464 src/ia32/code-stubs-ia32.cc __ NegativeZeroTest(eax, combined, &use_fp_on_smis); __ 1466 src/ia32/code-stubs-ia32.cc __ test(edx, edx); __ 1467 src/ia32/code-stubs-ia32.cc __ j(not_zero, &use_fp_on_smis); __ 1469 src/ia32/code-stubs-ia32.cc __ SmiTag(eax); __ 1474 src/ia32/code-stubs-ia32.cc __ test(right, right); __ 1475 src/ia32/code-stubs-ia32.cc __ j(zero, ¬_smis); __ 1479 src/ia32/code-stubs-ia32.cc __ cdq(); __ 1481 src/ia32/code-stubs-ia32.cc __ idiv(right); __ 1483 src/ia32/code-stubs-ia32.cc __ NegativeZeroTest(edx, combined, slow); __ 1485 src/ia32/code-stubs-ia32.cc __ mov(eax, edx); __ 1498 src/ia32/code-stubs-ia32.cc __ ret(0); __ 1507 src/ia32/code-stubs-ia32.cc __ ret(2 * kPointerSize); __ 1517 src/ia32/code-stubs-ia32.cc __ bind(&use_fp_on_smis); __ 1525 src/ia32/code-stubs-ia32.cc __ sub(right, left); __ 1529 src/ia32/code-stubs-ia32.cc __ add(left, right); __ 1533 src/ia32/code-stubs-ia32.cc __ mov(right, ebx); __ 1538 src/ia32/code-stubs-ia32.cc __ mov(eax, edi); __ 1544 src/ia32/code-stubs-ia32.cc __ jmp(¬_smis); __ 1551 src/ia32/code-stubs-ia32.cc __ bind(&use_fp_on_smis); __ 1554 src/ia32/code-stubs-ia32.cc __ AllocateHeapNumber(eax, ecx, ebx, slow); __ 1559 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 1 * kPointerSize), left); __ 1560 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 2 * kPointerSize), Immediate(0)); __ 1561 src/ia32/code-stubs-ia32.cc __ fild_d(Operand(esp, 1 * kPointerSize)); __ 1562 src/ia32/code-stubs-ia32.cc __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset)); __ 1567 src/ia32/code-stubs-ia32.cc __ cvtsi2sd(xmm0, left); __ 1568 src/ia32/code-stubs-ia32.cc __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0); __ 1570 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 1 * kPointerSize), left); __ 1571 src/ia32/code-stubs-ia32.cc __ fild_s(Operand(esp, 1 * kPointerSize)); __ 1572 src/ia32/code-stubs-ia32.cc __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset)); __ 1575 src/ia32/code-stubs-ia32.cc __ ret(2 * kPointerSize); __ 1584 src/ia32/code-stubs-ia32.cc __ bind(&use_fp_on_smis); __ 1589 src/ia32/code-stubs-ia32.cc __ sub(right, left); __ 1593 src/ia32/code-stubs-ia32.cc __ add(left, right); __ 1597 src/ia32/code-stubs-ia32.cc __ mov(right, ebx); __ 1602 src/ia32/code-stubs-ia32.cc __ mov(edx, edi); __ 1603 src/ia32/code-stubs-ia32.cc __ mov(eax, right); __ 1608 src/ia32/code-stubs-ia32.cc __ AllocateHeapNumber(ecx, ebx, no_reg, slow); __ 1613 src/ia32/code-stubs-ia32.cc case Token::ADD: __ addsd(xmm0, xmm1); break; __ 1614 src/ia32/code-stubs-ia32.cc case Token::SUB: __ subsd(xmm0, xmm1); break; __ 1615 src/ia32/code-stubs-ia32.cc case Token::MUL: __ mulsd(xmm0, xmm1); break; __ 1616 src/ia32/code-stubs-ia32.cc case Token::DIV: __ divsd(xmm0, xmm1); break; __ 1619 src/ia32/code-stubs-ia32.cc __ movdbl(FieldOperand(ecx, HeapNumber::kValueOffset), xmm0); __ 1623 src/ia32/code-stubs-ia32.cc case Token::ADD: __ faddp(1); break; __ 1624 src/ia32/code-stubs-ia32.cc case Token::SUB: __ fsubp(1); break; __ 1625 src/ia32/code-stubs-ia32.cc case Token::MUL: __ fmulp(1); break; __ 1626 src/ia32/code-stubs-ia32.cc case Token::DIV: __ fdivp(1); break; __ 1629 src/ia32/code-stubs-ia32.cc __ fstp_d(FieldOperand(ecx, HeapNumber::kValueOffset)); __ 1631 src/ia32/code-stubs-ia32.cc __ mov(eax, ecx); __ 1632 src/ia32/code-stubs-ia32.cc __ ret(0); __ 1644 src/ia32/code-stubs-ia32.cc __ bind(¬_smis); __ 1652 src/ia32/code-stubs-ia32.cc __ mov(eax, ecx); __ 1658 src/ia32/code-stubs-ia32.cc __ mov(edx, eax); __ 1659 src/ia32/code-stubs-ia32.cc __ mov(eax, ebx); __ 1696 src/ia32/code-stubs-ia32.cc __ bind(&call_runtime); __ 1741 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(left, &call_runtime, Label::kNear); __ 1742 src/ia32/code-stubs-ia32.cc __ CmpObjectType(left, FIRST_NONSTRING_TYPE, ecx); __ 1743 src/ia32/code-stubs-ia32.cc __ j(above_equal, &call_runtime, Label::kNear); __ 1746 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(right, &call_runtime, Label::kNear); __ 1747 src/ia32/code-stubs-ia32.cc __ CmpObjectType(right, FIRST_NONSTRING_TYPE, ecx); __ 1748 src/ia32/code-stubs-ia32.cc __ j(above_equal, &call_runtime, Label::kNear); __ 1752 src/ia32/code-stubs-ia32.cc __ TailCallStub(&string_add_stub); __ 1754 src/ia32/code-stubs-ia32.cc __ bind(&call_runtime); __ 1783 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::MOD, JUMP_FUNCTION); __ 1786 src/ia32/code-stubs-ia32.cc case Token::ADD: __ addsd(xmm0, xmm1); break; __ 1787 src/ia32/code-stubs-ia32.cc case Token::SUB: __ subsd(xmm0, xmm1); break; __ 1788 src/ia32/code-stubs-ia32.cc case Token::MUL: __ mulsd(xmm0, xmm1); break; __ 1789 src/ia32/code-stubs-ia32.cc case Token::DIV: __ divsd(xmm0, xmm1); break; __ 1794 src/ia32/code-stubs-ia32.cc __ cvttsd2si(ecx, Operand(xmm0)); __ 1795 src/ia32/code-stubs-ia32.cc __ cvtsi2sd(xmm2, ecx); __ 1796 src/ia32/code-stubs-ia32.cc __ ucomisd(xmm0, xmm2); __ 1797 src/ia32/code-stubs-ia32.cc __ j(not_zero, ¬_int32); __ 1798 src/ia32/code-stubs-ia32.cc __ j(carry, ¬_int32); __ 1801 src/ia32/code-stubs-ia32.cc __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0); __ 1802 src/ia32/code-stubs-ia32.cc __ ret(0); __ 1813 src/ia32/code-stubs-ia32.cc __ fstp(0); __ 1814 src/ia32/code-stubs-ia32.cc __ fstp(0); __ 1816 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::MOD, JUMP_FUNCTION); __ 1819 src/ia32/code-stubs-ia32.cc case Token::ADD: __ faddp(1); break; __ 1820 src/ia32/code-stubs-ia32.cc case Token::SUB: __ fsubp(1); break; __ 1821 src/ia32/code-stubs-ia32.cc case Token::MUL: __ fmulp(1); break; __ 1822 src/ia32/code-stubs-ia32.cc case Token::DIV: __ fdivp(1); break; __ 1827 src/ia32/code-stubs-ia32.cc __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset)); __ 1828 src/ia32/code-stubs-ia32.cc __ ret(0); __ 1829 src/ia32/code-stubs-ia32.cc __ bind(&after_alloc_failure); __ 1830 src/ia32/code-stubs-ia32.cc __ fstp(0); // Pop FPU stack before calling runtime. __ 1831 src/ia32/code-stubs-ia32.cc __ jmp(&call_runtime); __ 1835 src/ia32/code-stubs-ia32.cc __ bind(¬_floats); __ 1836 src/ia32/code-stubs-ia32.cc __ bind(¬_int32); __ 1857 src/ia32/code-stubs-ia32.cc case Token::BIT_OR: __ or_(eax, ecx); break; __ 1858 src/ia32/code-stubs-ia32.cc case Token::BIT_AND: __ and_(eax, ecx); break; __ 1859 src/ia32/code-stubs-ia32.cc case Token::BIT_XOR: __ xor_(eax, ecx); break; __ 1860 src/ia32/code-stubs-ia32.cc case Token::SAR: __ sar_cl(eax); break; __ 1861 src/ia32/code-stubs-ia32.cc case Token::SHL: __ shl_cl(eax); break; __ 1862 src/ia32/code-stubs-ia32.cc case Token::SHR: __ shr_cl(eax); break; __ 1867 src/ia32/code-stubs-ia32.cc __ test(eax, Immediate(0xc0000000)); __ 1868 src/ia32/code-stubs-ia32.cc __ j(not_zero, &call_runtime); __ 1871 src/ia32/code-stubs-ia32.cc __ cmp(eax, 0xc0000000); __ 1872 src/ia32/code-stubs-ia32.cc __ j(negative, &non_smi_result, Label::kNear); __ 1875 src/ia32/code-stubs-ia32.cc __ SmiTag(eax); __ 1876 src/ia32/code-stubs-ia32.cc __ ret(2 * kPointerSize); // Drop two pushed arguments from the stack. __ 1881 src/ia32/code-stubs-ia32.cc __ bind(&non_smi_result); __ 1883 src/ia32/code-stubs-ia32.cc __ mov(ebx, eax); // ebx: result __ 1890 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(esp, mode_ == OVERWRITE_RIGHT ? __ 1892 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(eax, &skip_allocation, Label::kNear); __ 1895 src/ia32/code-stubs-ia32.cc __ AllocateHeapNumber(eax, ecx, edx, &call_runtime); __ 1896 src/ia32/code-stubs-ia32.cc __ bind(&skip_allocation); __ 1903 src/ia32/code-stubs-ia32.cc __ cvtsi2sd(xmm0, ebx); __ 1904 src/ia32/code-stubs-ia32.cc __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0); __ 1906 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 1 * kPointerSize), ebx); __ 1907 src/ia32/code-stubs-ia32.cc __ fild_s(Operand(esp, 1 * kPointerSize)); __ 1908 src/ia32/code-stubs-ia32.cc __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset)); __ 1910 src/ia32/code-stubs-ia32.cc __ ret(2 * kPointerSize); // Drop two pushed arguments from the stack. __ 1913 src/ia32/code-stubs-ia32.cc __ bind(¬_floats); __ 1914 src/ia32/code-stubs-ia32.cc __ bind(¬_int32); __ 1923 src/ia32/code-stubs-ia32.cc __ bind(&call_runtime); __ 1928 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::ADD, JUMP_FUNCTION); __ 1932 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::SUB, JUMP_FUNCTION); __ 1936 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::MUL, JUMP_FUNCTION); __ 1940 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::DIV, JUMP_FUNCTION); __ 1945 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::BIT_OR, JUMP_FUNCTION); __ 1948 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::BIT_AND, JUMP_FUNCTION); __ 1951 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::BIT_XOR, JUMP_FUNCTION); __ 1954 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::SAR, JUMP_FUNCTION); __ 1957 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::SHL, JUMP_FUNCTION); __ 1960 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::SHR, JUMP_FUNCTION); __ 1979 src/ia32/code-stubs-ia32.cc __ cmp(edx, factory->undefined_value()); __ 1980 src/ia32/code-stubs-ia32.cc __ j(not_equal, &check, Label::kNear); __ 1982 src/ia32/code-stubs-ia32.cc __ xor_(edx, edx); __ 1984 src/ia32/code-stubs-ia32.cc __ mov(edx, Immediate(factory->nan_value())); __ 1986 src/ia32/code-stubs-ia32.cc __ jmp(&done, Label::kNear); __ 1987 src/ia32/code-stubs-ia32.cc __ bind(&check); __ 1988 src/ia32/code-stubs-ia32.cc __ cmp(eax, factory->undefined_value()); __ 1989 src/ia32/code-stubs-ia32.cc __ j(not_equal, &done, Label::kNear); __ 1991 src/ia32/code-stubs-ia32.cc __ xor_(eax, eax); __ 1993 src/ia32/code-stubs-ia32.cc __ mov(eax, Immediate(factory->nan_value())); __ 1995 src/ia32/code-stubs-ia32.cc __ bind(&done); __ 2016 src/ia32/code-stubs-ia32.cc case Token::ADD: __ addsd(xmm0, xmm1); break; __ 2017 src/ia32/code-stubs-ia32.cc case Token::SUB: __ subsd(xmm0, xmm1); break; __ 2018 src/ia32/code-stubs-ia32.cc case Token::MUL: __ mulsd(xmm0, xmm1); break; __ 2019 src/ia32/code-stubs-ia32.cc case Token::DIV: __ divsd(xmm0, xmm1); break; __ 2023 src/ia32/code-stubs-ia32.cc __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0); __ 2024 src/ia32/code-stubs-ia32.cc __ ret(0); __ 2032 src/ia32/code-stubs-ia32.cc case Token::ADD: __ faddp(1); break; __ 2033 src/ia32/code-stubs-ia32.cc case Token::SUB: __ fsubp(1); break; __ 2034 src/ia32/code-stubs-ia32.cc case Token::MUL: __ fmulp(1); break; __ 2035 src/ia32/code-stubs-ia32.cc case Token::DIV: __ fdivp(1); break; __ 2040 src/ia32/code-stubs-ia32.cc __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset)); __ 2041 src/ia32/code-stubs-ia32.cc __ ret(0); __ 2042 src/ia32/code-stubs-ia32.cc __ bind(&after_alloc_failure); __ 2043 src/ia32/code-stubs-ia32.cc __ fstp(0); // Pop FPU stack before calling runtime. __ 2044 src/ia32/code-stubs-ia32.cc __ jmp(&call_runtime); __ 2047 src/ia32/code-stubs-ia32.cc __ bind(¬_floats); __ 2069 src/ia32/code-stubs-ia32.cc case Token::BIT_OR: __ or_(eax, ecx); break; __ 2070 src/ia32/code-stubs-ia32.cc case Token::BIT_AND: __ and_(eax, ecx); break; __ 2071 src/ia32/code-stubs-ia32.cc case Token::BIT_XOR: __ xor_(eax, ecx); break; __ 2072 src/ia32/code-stubs-ia32.cc case Token::SAR: __ sar_cl(eax); break; __ 2073 src/ia32/code-stubs-ia32.cc case Token::SHL: __ shl_cl(eax); break; __ 2074 src/ia32/code-stubs-ia32.cc case Token::SHR: __ shr_cl(eax); break; __ 2079 src/ia32/code-stubs-ia32.cc __ test(eax, Immediate(0xc0000000)); __ 2080 src/ia32/code-stubs-ia32.cc __ j(not_zero, &call_runtime); __ 2083 src/ia32/code-stubs-ia32.cc __ cmp(eax, 0xc0000000); __ 2084 src/ia32/code-stubs-ia32.cc __ j(negative, &non_smi_result, Label::kNear); __ 2087 src/ia32/code-stubs-ia32.cc __ SmiTag(eax); __ 2088 src/ia32/code-stubs-ia32.cc __ ret(2 * kPointerSize); // Drop two pushed arguments from the stack. __ 2093 src/ia32/code-stubs-ia32.cc __ bind(&non_smi_result); __ 2095 src/ia32/code-stubs-ia32.cc __ mov(ebx, eax); // ebx: result __ 2102 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(esp, mode_ == OVERWRITE_RIGHT ? __ 2104 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(eax, &skip_allocation, Label::kNear); __ 2107 src/ia32/code-stubs-ia32.cc __ AllocateHeapNumber(eax, ecx, edx, &call_runtime); __ 2108 src/ia32/code-stubs-ia32.cc __ bind(&skip_allocation); __ 2115 src/ia32/code-stubs-ia32.cc __ cvtsi2sd(xmm0, ebx); __ 2116 src/ia32/code-stubs-ia32.cc __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0); __ 2118 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 1 * kPointerSize), ebx); __ 2119 src/ia32/code-stubs-ia32.cc __ fild_s(Operand(esp, 1 * kPointerSize)); __ 2120 src/ia32/code-stubs-ia32.cc __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset)); __ 2122 src/ia32/code-stubs-ia32.cc __ ret(2 * kPointerSize); // Drop two pushed arguments from the stack. __ 2125 src/ia32/code-stubs-ia32.cc __ bind(¬_floats); __ 2134 src/ia32/code-stubs-ia32.cc __ bind(&call_runtime); __ 2139 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::ADD, JUMP_FUNCTION); __ 2143 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::SUB, JUMP_FUNCTION); __ 2147 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::MUL, JUMP_FUNCTION); __ 2151 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::DIV, JUMP_FUNCTION); __ 2155 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::MOD, JUMP_FUNCTION); __ 2158 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::BIT_OR, JUMP_FUNCTION); __ 2161 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::BIT_AND, JUMP_FUNCTION); __ 2164 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::BIT_XOR, JUMP_FUNCTION); __ 2167 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::SAR, JUMP_FUNCTION); __ 2170 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::SHL, JUMP_FUNCTION); __ 2173 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::SHR, JUMP_FUNCTION); __ 2185 src/ia32/code-stubs-ia32.cc __ IncrementCounter(counters->generic_binary_stub_calls(), 1); __ 2220 src/ia32/code-stubs-ia32.cc case Token::ADD: __ addsd(xmm0, xmm1); break; __ 2221 src/ia32/code-stubs-ia32.cc case Token::SUB: __ subsd(xmm0, xmm1); break; __ 2222 src/ia32/code-stubs-ia32.cc case Token::MUL: __ mulsd(xmm0, xmm1); break; __ 2223 src/ia32/code-stubs-ia32.cc case Token::DIV: __ divsd(xmm0, xmm1); break; __ 2227 src/ia32/code-stubs-ia32.cc __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0); __ 2228 src/ia32/code-stubs-ia32.cc __ ret(0); __ 2236 src/ia32/code-stubs-ia32.cc case Token::ADD: __ faddp(1); break; __ 2237 src/ia32/code-stubs-ia32.cc case Token::SUB: __ fsubp(1); break; __ 2238 src/ia32/code-stubs-ia32.cc case Token::MUL: __ fmulp(1); break; __ 2239 src/ia32/code-stubs-ia32.cc case Token::DIV: __ fdivp(1); break; __ 2244 src/ia32/code-stubs-ia32.cc __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset)); __ 2245 src/ia32/code-stubs-ia32.cc __ ret(0); __ 2246 src/ia32/code-stubs-ia32.cc __ bind(&after_alloc_failure); __ 2247 src/ia32/code-stubs-ia32.cc __ fstp(0); // Pop FPU stack before calling runtime. __ 2248 src/ia32/code-stubs-ia32.cc __ jmp(&call_runtime); __ 2250 src/ia32/code-stubs-ia32.cc __ bind(¬_floats); __ 2268 src/ia32/code-stubs-ia32.cc case Token::BIT_OR: __ or_(eax, ecx); break; __ 2269 src/ia32/code-stubs-ia32.cc case Token::BIT_AND: __ and_(eax, ecx); break; __ 2270 src/ia32/code-stubs-ia32.cc case Token::BIT_XOR: __ xor_(eax, ecx); break; __ 2271 src/ia32/code-stubs-ia32.cc case Token::SAR: __ sar_cl(eax); break; __ 2272 src/ia32/code-stubs-ia32.cc case Token::SHL: __ shl_cl(eax); break; __ 2273 src/ia32/code-stubs-ia32.cc case Token::SHR: __ shr_cl(eax); break; __ 2278 src/ia32/code-stubs-ia32.cc __ test(eax, Immediate(0xc0000000)); __ 2279 src/ia32/code-stubs-ia32.cc __ j(not_zero, &call_runtime); __ 2282 src/ia32/code-stubs-ia32.cc __ cmp(eax, 0xc0000000); __ 2283 src/ia32/code-stubs-ia32.cc __ j(negative, &non_smi_result, Label::kNear); __ 2286 src/ia32/code-stubs-ia32.cc __ SmiTag(eax); __ 2287 src/ia32/code-stubs-ia32.cc __ ret(2 * kPointerSize); // Drop the arguments from the stack. __ 2292 src/ia32/code-stubs-ia32.cc __ bind(&non_smi_result); __ 2294 src/ia32/code-stubs-ia32.cc __ mov(ebx, eax); // ebx: result __ 2301 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(esp, mode_ == OVERWRITE_RIGHT ? __ 2303 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(eax, &skip_allocation, Label::kNear); __ 2306 src/ia32/code-stubs-ia32.cc __ AllocateHeapNumber(eax, ecx, edx, &call_runtime); __ 2307 src/ia32/code-stubs-ia32.cc __ bind(&skip_allocation); __ 2314 src/ia32/code-stubs-ia32.cc __ cvtsi2sd(xmm0, ebx); __ 2315 src/ia32/code-stubs-ia32.cc __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0); __ 2317 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 1 * kPointerSize), ebx); __ 2318 src/ia32/code-stubs-ia32.cc __ fild_s(Operand(esp, 1 * kPointerSize)); __ 2319 src/ia32/code-stubs-ia32.cc __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset)); __ 2321 src/ia32/code-stubs-ia32.cc __ ret(2 * kPointerSize); __ 2330 src/ia32/code-stubs-ia32.cc __ bind(&call_runtime); __ 2335 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::ADD, JUMP_FUNCTION); __ 2340 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::SUB, JUMP_FUNCTION); __ 2344 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::MUL, JUMP_FUNCTION); __ 2348 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::DIV, JUMP_FUNCTION); __ 2351 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::MOD, JUMP_FUNCTION); __ 2354 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::BIT_OR, JUMP_FUNCTION); __ 2357 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::BIT_AND, JUMP_FUNCTION); __ 2360 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::BIT_XOR, JUMP_FUNCTION); __ 2363 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::SAR, JUMP_FUNCTION); __ 2366 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::SHL, JUMP_FUNCTION); __ 2369 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::SHR, JUMP_FUNCTION); __ 2386 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(left, &left_not_string, Label::kNear); __ 2387 src/ia32/code-stubs-ia32.cc __ CmpObjectType(left, FIRST_NONSTRING_TYPE, ecx); __ 2388 src/ia32/code-stubs-ia32.cc __ j(above_equal, &left_not_string, Label::kNear); __ 2392 src/ia32/code-stubs-ia32.cc __ TailCallStub(&string_add_left_stub); __ 2395 src/ia32/code-stubs-ia32.cc __ bind(&left_not_string); __ 2396 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(right, &call_runtime, Label::kNear); __ 2397 src/ia32/code-stubs-ia32.cc __ CmpObjectType(right, FIRST_NONSTRING_TYPE, ecx); __ 2398 src/ia32/code-stubs-ia32.cc __ j(above_equal, &call_runtime, Label::kNear); __ 2402 src/ia32/code-stubs-ia32.cc __ TailCallStub(&string_add_right_stub); __ 2405 src/ia32/code-stubs-ia32.cc __ bind(&call_runtime); __ 2418 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(edx, &skip_allocation, Label::kNear); __ 2421 src/ia32/code-stubs-ia32.cc __ AllocateHeapNumber(ebx, ecx, no_reg, alloc_failure); __ 2424 src/ia32/code-stubs-ia32.cc __ mov(edx, ebx); __ 2425 src/ia32/code-stubs-ia32.cc __ bind(&skip_allocation); __ 2427 src/ia32/code-stubs-ia32.cc __ mov(eax, edx); __ 2433 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(eax, &skip_allocation, Label::kNear); __ 2438 src/ia32/code-stubs-ia32.cc __ AllocateHeapNumber(ebx, ecx, no_reg, alloc_failure); __ 2441 src/ia32/code-stubs-ia32.cc __ mov(eax, ebx); __ 2442 src/ia32/code-stubs-ia32.cc __ bind(&skip_allocation); __ 2450 src/ia32/code-stubs-ia32.cc __ pop(ecx); __ 2451 src/ia32/code-stubs-ia32.cc __ push(edx); __ 2452 src/ia32/code-stubs-ia32.cc __ push(eax); __ 2453 src/ia32/code-stubs-ia32.cc __ push(ecx); __ 2479 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(esp, kPointerSize)); __ 2480 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(eax, &input_not_smi, Label::kNear); __ 2484 src/ia32/code-stubs-ia32.cc __ sar(eax, 1); __ 2485 src/ia32/code-stubs-ia32.cc __ sub(esp, Immediate(2 * kPointerSize)); __ 2486 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 0), eax); __ 2487 src/ia32/code-stubs-ia32.cc __ fild_s(Operand(esp, 0)); __ 2488 src/ia32/code-stubs-ia32.cc __ fst_d(Operand(esp, 0)); __ 2489 src/ia32/code-stubs-ia32.cc __ pop(edx); __ 2490 src/ia32/code-stubs-ia32.cc __ pop(ebx); __ 2491 src/ia32/code-stubs-ia32.cc __ jmp(&loaded, Label::kNear); __ 2492 src/ia32/code-stubs-ia32.cc __ bind(&input_not_smi); __ 2494 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset)); __ 2496 src/ia32/code-stubs-ia32.cc __ cmp(ebx, Immediate(factory->heap_number_map())); __ 2497 src/ia32/code-stubs-ia32.cc __ j(not_equal, &runtime_call); __ 2500 src/ia32/code-stubs-ia32.cc __ fld_d(FieldOperand(eax, HeapNumber::kValueOffset)); __ 2501 src/ia32/code-stubs-ia32.cc __ mov(edx, FieldOperand(eax, HeapNumber::kExponentOffset)); __ 2502 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(eax, HeapNumber::kMantissaOffset)); __ 2504 src/ia32/code-stubs-ia32.cc __ bind(&loaded); __ 2508 src/ia32/code-stubs-ia32.cc __ pextrd(edx, xmm1, 0x1); // copy xmm1[63..32] to edx. __ 2510 src/ia32/code-stubs-ia32.cc __ pshufd(xmm0, xmm1, 0x1); __ 2511 src/ia32/code-stubs-ia32.cc __ movd(edx, xmm0); __ 2513 src/ia32/code-stubs-ia32.cc __ movd(ebx, xmm1); __ 2521 src/ia32/code-stubs-ia32.cc __ mov(ecx, ebx); __ 2522 src/ia32/code-stubs-ia32.cc __ xor_(ecx, edx); __ 2523 src/ia32/code-stubs-ia32.cc __ mov(eax, ecx); __ 2524 src/ia32/code-stubs-ia32.cc __ sar(eax, 16); __ 2525 src/ia32/code-stubs-ia32.cc __ xor_(ecx, eax); __ 2526 src/ia32/code-stubs-ia32.cc __ mov(eax, ecx); __ 2527 src/ia32/code-stubs-ia32.cc __ sar(eax, 8); __ 2528 src/ia32/code-stubs-ia32.cc __ xor_(ecx, eax); __ 2530 src/ia32/code-stubs-ia32.cc __ and_(ecx, __ 2539 src/ia32/code-stubs-ia32.cc __ mov(eax, Immediate(cache_array)); __ 2542 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(eax, cache_array_index)); __ 2545 src/ia32/code-stubs-ia32.cc __ test(eax, eax); __ 2546 src/ia32/code-stubs-ia32.cc __ j(zero, &runtime_call_clear_stack); __ 2562 src/ia32/code-stubs-ia32.cc __ lea(ecx, Operand(ecx, ecx, times_2, 0)); __ 2563 src/ia32/code-stubs-ia32.cc __ lea(ecx, Operand(eax, ecx, times_4, 0)); __ 2566 src/ia32/code-stubs-ia32.cc __ cmp(ebx, Operand(ecx, 0)); __ 2567 src/ia32/code-stubs-ia32.cc __ j(not_equal, &cache_miss, Label::kNear); __ 2568 src/ia32/code-stubs-ia32.cc __ cmp(edx, Operand(ecx, kIntSize)); __ 2569 src/ia32/code-stubs-ia32.cc __ j(not_equal, &cache_miss, Label::kNear); __ 2572 src/ia32/code-stubs-ia32.cc __ IncrementCounter(counters->transcendental_cache_hit(), 1); __ 2573 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(ecx, 2 * kIntSize)); __ 2575 src/ia32/code-stubs-ia32.cc __ fstp(0); __ 2576 src/ia32/code-stubs-ia32.cc __ ret(kPointerSize); __ 2578 src/ia32/code-stubs-ia32.cc __ movdbl(xmm1, FieldOperand(eax, HeapNumber::kValueOffset)); __ 2579 src/ia32/code-stubs-ia32.cc __ Ret(); __ 2582 src/ia32/code-stubs-ia32.cc __ bind(&cache_miss); __ 2583 src/ia32/code-stubs-ia32.cc __ IncrementCounter(counters->transcendental_cache_miss(), 1); __ 2588 src/ia32/code-stubs-ia32.cc __ AllocateHeapNumber(eax, edi, no_reg, &runtime_call_clear_stack); __ 2590 src/ia32/code-stubs-ia32.cc __ AllocateHeapNumber(eax, edi, no_reg, &skip_cache); __ 2591 src/ia32/code-stubs-ia32.cc __ sub(esp, Immediate(kDoubleSize)); __ 2592 src/ia32/code-stubs-ia32.cc __ movdbl(Operand(esp, 0), xmm1); __ 2593 src/ia32/code-stubs-ia32.cc __ fld_d(Operand(esp, 0)); __ 2594 src/ia32/code-stubs-ia32.cc __ add(esp, Immediate(kDoubleSize)); __ 2597 src/ia32/code-stubs-ia32.cc __ mov(Operand(ecx, 0), ebx); __ 2598 src/ia32/code-stubs-ia32.cc __ mov(Operand(ecx, kIntSize), edx); __ 2599 src/ia32/code-stubs-ia32.cc __ mov(Operand(ecx, 2 * kIntSize), eax); __ 2600 src/ia32/code-stubs-ia32.cc __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset)); __ 2602 src/ia32/code-stubs-ia32.cc __ ret(kPointerSize); __ 2604 src/ia32/code-stubs-ia32.cc __ movdbl(xmm1, FieldOperand(eax, HeapNumber::kValueOffset)); __ 2605 src/ia32/code-stubs-ia32.cc __ Ret(); __ 2608 src/ia32/code-stubs-ia32.cc __ bind(&skip_cache); __ 2609 src/ia32/code-stubs-ia32.cc __ sub(esp, Immediate(kDoubleSize)); __ 2610 src/ia32/code-stubs-ia32.cc __ movdbl(Operand(esp, 0), xmm1); __ 2611 src/ia32/code-stubs-ia32.cc __ fld_d(Operand(esp, 0)); __ 2613 src/ia32/code-stubs-ia32.cc __ fstp_d(Operand(esp, 0)); __ 2614 src/ia32/code-stubs-ia32.cc __ movdbl(xmm1, Operand(esp, 0)); __ 2615 src/ia32/code-stubs-ia32.cc __ add(esp, Immediate(kDoubleSize)); __ 2621 src/ia32/code-stubs-ia32.cc __ push(Immediate(Smi::FromInt(2 * kDoubleSize))); __ 2622 src/ia32/code-stubs-ia32.cc __ CallRuntimeSaveDoubles(Runtime::kAllocateInNewSpace); __ 2624 src/ia32/code-stubs-ia32.cc __ Ret(); __ 2629 src/ia32/code-stubs-ia32.cc __ bind(&runtime_call_clear_stack); __ 2630 src/ia32/code-stubs-ia32.cc __ fstp(0); __ 2631 src/ia32/code-stubs-ia32.cc __ bind(&runtime_call); __ 2634 src/ia32/code-stubs-ia32.cc __ TailCallExternalReference(runtime, 1, 1); __ 2636 src/ia32/code-stubs-ia32.cc __ bind(&runtime_call_clear_stack); __ 2637 src/ia32/code-stubs-ia32.cc __ bind(&runtime_call); __ 2638 src/ia32/code-stubs-ia32.cc __ AllocateHeapNumber(eax, edi, no_reg, &skip_cache); __ 2639 src/ia32/code-stubs-ia32.cc __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm1); __ 2642 src/ia32/code-stubs-ia32.cc __ push(eax); __ 2643 src/ia32/code-stubs-ia32.cc __ CallRuntime(RuntimeFunction(), 1); __ 2645 src/ia32/code-stubs-ia32.cc __ movdbl(xmm1, FieldOperand(eax, HeapNumber::kValueOffset)); __ 2646 src/ia32/code-stubs-ia32.cc __ Ret(); __ 2679 src/ia32/code-stubs-ia32.cc __ mov(edi, edx); __ 2680 src/ia32/code-stubs-ia32.cc __ and_(edi, Immediate(0x7ff00000)); // Exponent only. __ 2683 src/ia32/code-stubs-ia32.cc __ cmp(edi, Immediate(supported_exponent_limit)); __ 2684 src/ia32/code-stubs-ia32.cc __ j(below, &in_range, Label::kNear); __ 2686 src/ia32/code-stubs-ia32.cc __ cmp(edi, Immediate(0x7ff00000)); __ 2688 src/ia32/code-stubs-ia32.cc __ j(not_equal, &non_nan_result, Label::kNear); __ 2690 src/ia32/code-stubs-ia32.cc __ fstp(0); __ 2692 src/ia32/code-stubs-ia32.cc __ push(Immediate(0x7ff80000)); __ 2693 src/ia32/code-stubs-ia32.cc __ push(Immediate(0)); __ 2694 src/ia32/code-stubs-ia32.cc __ fld_d(Operand(esp, 0)); __ 2695 src/ia32/code-stubs-ia32.cc __ add(esp, Immediate(2 * kPointerSize)); __ 2696 src/ia32/code-stubs-ia32.cc __ jmp(&done, Label::kNear); __ 2698 src/ia32/code-stubs-ia32.cc __ bind(&non_nan_result); __ 2701 src/ia32/code-stubs-ia32.cc __ mov(edi, eax); // Save eax before using fnstsw_ax. __ 2702 src/ia32/code-stubs-ia32.cc __ fldpi(); __ 2703 src/ia32/code-stubs-ia32.cc __ fadd(0); __ 2704 src/ia32/code-stubs-ia32.cc __ fld(1); __ 2708 src/ia32/code-stubs-ia32.cc __ fwait(); __ 2709 src/ia32/code-stubs-ia32.cc __ fnstsw_ax(); __ 2711 src/ia32/code-stubs-ia32.cc __ test(eax, Immediate(5)); __ 2712 src/ia32/code-stubs-ia32.cc __ j(zero, &no_exceptions, Label::kNear); __ 2713 src/ia32/code-stubs-ia32.cc __ fnclex(); __ 2714 src/ia32/code-stubs-ia32.cc __ bind(&no_exceptions); __ 2720 src/ia32/code-stubs-ia32.cc __ bind(&partial_remainder_loop); __ 2721 src/ia32/code-stubs-ia32.cc __ fprem1(); __ 2722 src/ia32/code-stubs-ia32.cc __ fwait(); __ 2723 src/ia32/code-stubs-ia32.cc __ fnstsw_ax(); __ 2724 src/ia32/code-stubs-ia32.cc __ test(eax, Immediate(0x400 /* C2 */)); __ 2727 src/ia32/code-stubs-ia32.cc __ j(not_zero, &partial_remainder_loop); __ 2730 src/ia32/code-stubs-ia32.cc __ fstp(2); __ 2731 src/ia32/code-stubs-ia32.cc __ fstp(0); __ 2732 src/ia32/code-stubs-ia32.cc __ mov(eax, edi); // Restore eax (allocated HeapNumber pointer). __ 2735 src/ia32/code-stubs-ia32.cc __ bind(&in_range); __ 2738 src/ia32/code-stubs-ia32.cc __ fsin(); __ 2741 src/ia32/code-stubs-ia32.cc __ fcos(); __ 2746 src/ia32/code-stubs-ia32.cc __ fptan(); __ 2747 src/ia32/code-stubs-ia32.cc __ fstp(0); // Pop FP register stack. __ 2752 src/ia32/code-stubs-ia32.cc __ bind(&done); __ 2755 src/ia32/code-stubs-ia32.cc __ fldln2(); __ 2756 src/ia32/code-stubs-ia32.cc __ fxch(); __ 2757 src/ia32/code-stubs-ia32.cc __ fyl2x(); __ 2773 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(edx, &arg1_is_object, Label::kNear); __ 2775 src/ia32/code-stubs-ia32.cc __ SmiUntag(edx); __ 2776 src/ia32/code-stubs-ia32.cc __ jmp(&load_arg2); __ 2779 src/ia32/code-stubs-ia32.cc __ bind(&check_undefined_arg1); __ 2781 src/ia32/code-stubs-ia32.cc __ cmp(edx, factory->undefined_value()); __ 2782 src/ia32/code-stubs-ia32.cc __ j(not_equal, conversion_failure); __ 2783 src/ia32/code-stubs-ia32.cc __ mov(edx, Immediate(0)); __ 2784 src/ia32/code-stubs-ia32.cc __ jmp(&load_arg2); __ 2786 src/ia32/code-stubs-ia32.cc __ bind(&arg1_is_object); __ 2787 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(edx, HeapObject::kMapOffset)); __ 2788 src/ia32/code-stubs-ia32.cc __ cmp(ebx, factory->heap_number_map()); __ 2789 src/ia32/code-stubs-ia32.cc __ j(not_equal, &check_undefined_arg1); __ 2793 src/ia32/code-stubs-ia32.cc __ mov(edx, ecx); __ 2796 src/ia32/code-stubs-ia32.cc __ bind(&load_arg2); __ 2799 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(eax, &arg2_is_object, Label::kNear); __ 2801 src/ia32/code-stubs-ia32.cc __ SmiUntag(eax); __ 2802 src/ia32/code-stubs-ia32.cc __ mov(ecx, eax); __ 2803 src/ia32/code-stubs-ia32.cc __ jmp(&done); __ 2806 src/ia32/code-stubs-ia32.cc __ bind(&check_undefined_arg2); __ 2807 src/ia32/code-stubs-ia32.cc __ cmp(eax, factory->undefined_value()); __ 2808 src/ia32/code-stubs-ia32.cc __ j(not_equal, conversion_failure); __ 2809 src/ia32/code-stubs-ia32.cc __ mov(ecx, Immediate(0)); __ 2810 src/ia32/code-stubs-ia32.cc __ jmp(&done); __ 2812 src/ia32/code-stubs-ia32.cc __ bind(&arg2_is_object); __ 2813 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset)); __ 2814 src/ia32/code-stubs-ia32.cc __ cmp(ebx, factory->heap_number_map()); __ 2815 src/ia32/code-stubs-ia32.cc __ j(not_equal, &check_undefined_arg2); __ 2819 src/ia32/code-stubs-ia32.cc __ bind(&done); __ 2820 src/ia32/code-stubs-ia32.cc __ mov(eax, edx); __ 2835 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(number, &load_smi, Label::kNear); __ 2836 src/ia32/code-stubs-ia32.cc __ fld_d(FieldOperand(number, HeapNumber::kValueOffset)); __ 2837 src/ia32/code-stubs-ia32.cc __ jmp(&done, Label::kNear); __ 2839 src/ia32/code-stubs-ia32.cc __ bind(&load_smi); __ 2840 src/ia32/code-stubs-ia32.cc __ SmiUntag(number); __ 2841 src/ia32/code-stubs-ia32.cc __ push(number); __ 2842 src/ia32/code-stubs-ia32.cc __ fild_s(Operand(esp, 0)); __ 2843 src/ia32/code-stubs-ia32.cc __ pop(number); __ 2845 src/ia32/code-stubs-ia32.cc __ bind(&done); __ 2852 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(edx, &load_smi_edx, Label::kNear); __ 2853 src/ia32/code-stubs-ia32.cc __ movdbl(xmm0, FieldOperand(edx, HeapNumber::kValueOffset)); __ 2855 src/ia32/code-stubs-ia32.cc __ bind(&load_eax); __ 2857 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(eax, &load_smi_eax, Label::kNear); __ 2858 src/ia32/code-stubs-ia32.cc __ movdbl(xmm1, FieldOperand(eax, HeapNumber::kValueOffset)); __ 2859 src/ia32/code-stubs-ia32.cc __ jmp(&done, Label::kNear); __ 2861 src/ia32/code-stubs-ia32.cc __ bind(&load_smi_edx); __ 2862 src/ia32/code-stubs-ia32.cc __ SmiUntag(edx); // Untag smi before converting to float. __ 2863 src/ia32/code-stubs-ia32.cc __ cvtsi2sd(xmm0, edx); __ 2864 src/ia32/code-stubs-ia32.cc __ SmiTag(edx); // Retag smi for heap number overwriting test. __ 2865 src/ia32/code-stubs-ia32.cc __ jmp(&load_eax); __ 2867 src/ia32/code-stubs-ia32.cc __ bind(&load_smi_eax); __ 2868 src/ia32/code-stubs-ia32.cc __ SmiUntag(eax); // Untag smi before converting to float. __ 2869 src/ia32/code-stubs-ia32.cc __ cvtsi2sd(xmm1, eax); __ 2870 src/ia32/code-stubs-ia32.cc __ SmiTag(eax); // Retag smi for heap number overwriting test. __ 2872 src/ia32/code-stubs-ia32.cc __ bind(&done); __ 2880 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(edx, &load_smi_edx, Label::kNear); __ 2882 src/ia32/code-stubs-ia32.cc __ cmp(FieldOperand(edx, HeapObject::kMapOffset), factory->heap_number_map()); __ 2883 src/ia32/code-stubs-ia32.cc __ j(not_equal, not_numbers); // Argument in edx is not a number. __ 2884 src/ia32/code-stubs-ia32.cc __ movdbl(xmm0, FieldOperand(edx, HeapNumber::kValueOffset)); __ 2885 src/ia32/code-stubs-ia32.cc __ bind(&load_eax); __ 2887 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(eax, &load_smi_eax, Label::kNear); __ 2888 src/ia32/code-stubs-ia32.cc __ cmp(FieldOperand(eax, HeapObject::kMapOffset), factory->heap_number_map()); __ 2889 src/ia32/code-stubs-ia32.cc __ j(equal, &load_float_eax, Label::kNear); __ 2890 src/ia32/code-stubs-ia32.cc __ jmp(not_numbers); // Argument in eax is not a number. __ 2891 src/ia32/code-stubs-ia32.cc __ bind(&load_smi_edx); __ 2892 src/ia32/code-stubs-ia32.cc __ SmiUntag(edx); // Untag smi before converting to float. __ 2893 src/ia32/code-stubs-ia32.cc __ cvtsi2sd(xmm0, edx); __ 2894 src/ia32/code-stubs-ia32.cc __ SmiTag(edx); // Retag smi for heap number overwriting test. __ 2895 src/ia32/code-stubs-ia32.cc __ jmp(&load_eax); __ 2896 src/ia32/code-stubs-ia32.cc __ bind(&load_smi_eax); __ 2897 src/ia32/code-stubs-ia32.cc __ SmiUntag(eax); // Untag smi before converting to float. __ 2898 src/ia32/code-stubs-ia32.cc __ cvtsi2sd(xmm1, eax); __ 2899 src/ia32/code-stubs-ia32.cc __ SmiTag(eax); // Retag smi for heap number overwriting test. __ 2900 src/ia32/code-stubs-ia32.cc __ jmp(&done, Label::kNear); __ 2901 src/ia32/code-stubs-ia32.cc __ bind(&load_float_eax); __ 2902 src/ia32/code-stubs-ia32.cc __ movdbl(xmm1, FieldOperand(eax, HeapNumber::kValueOffset)); __ 2903 src/ia32/code-stubs-ia32.cc __ bind(&done); __ 2911 src/ia32/code-stubs-ia32.cc __ mov(scratch, left); __ 2913 src/ia32/code-stubs-ia32.cc __ SmiUntag(scratch); __ 2914 src/ia32/code-stubs-ia32.cc __ cvtsi2sd(xmm0, scratch); __ 2916 src/ia32/code-stubs-ia32.cc __ mov(scratch, right); __ 2917 src/ia32/code-stubs-ia32.cc __ SmiUntag(scratch); __ 2918 src/ia32/code-stubs-ia32.cc __ cvtsi2sd(xmm1, scratch); __ 2925 src/ia32/code-stubs-ia32.cc __ cvttsd2si(scratch, Operand(xmm0)); __ 2926 src/ia32/code-stubs-ia32.cc __ cvtsi2sd(xmm2, scratch); __ 2927 src/ia32/code-stubs-ia32.cc __ ucomisd(xmm0, xmm2); __ 2928 src/ia32/code-stubs-ia32.cc __ j(not_zero, non_int32); __ 2929 src/ia32/code-stubs-ia32.cc __ j(carry, non_int32); __ 2930 src/ia32/code-stubs-ia32.cc __ cvttsd2si(scratch, Operand(xmm1)); __ 2931 src/ia32/code-stubs-ia32.cc __ cvtsi2sd(xmm2, scratch); __ 2932 src/ia32/code-stubs-ia32.cc __ ucomisd(xmm1, xmm2); __ 2933 src/ia32/code-stubs-ia32.cc __ j(not_zero, non_int32); __ 2934 src/ia32/code-stubs-ia32.cc __ j(carry, non_int32); __ 2943 src/ia32/code-stubs-ia32.cc __ mov(scratch, edx); __ 2945 src/ia32/code-stubs-ia32.cc __ mov(scratch, Operand(esp, 2 * kPointerSize)); __ 2947 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(scratch, &load_smi_1, Label::kNear); __ 2948 src/ia32/code-stubs-ia32.cc __ fld_d(FieldOperand(scratch, HeapNumber::kValueOffset)); __ 2949 src/ia32/code-stubs-ia32.cc __ bind(&done_load_1); __ 2952 src/ia32/code-stubs-ia32.cc __ mov(scratch, eax); __ 2954 src/ia32/code-stubs-ia32.cc __ mov(scratch, Operand(esp, 1 * kPointerSize)); __ 2956 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(scratch, &load_smi_2, Label::kNear); __ 2957 src/ia32/code-stubs-ia32.cc __ fld_d(FieldOperand(scratch, HeapNumber::kValueOffset)); __ 2958 src/ia32/code-stubs-ia32.cc __ jmp(&done, Label::kNear); __ 2960 src/ia32/code-stubs-ia32.cc __ bind(&load_smi_1); __ 2961 src/ia32/code-stubs-ia32.cc __ SmiUntag(scratch); __ 2962 src/ia32/code-stubs-ia32.cc __ push(scratch); __ 2963 src/ia32/code-stubs-ia32.cc __ fild_s(Operand(esp, 0)); __ 2964 src/ia32/code-stubs-ia32.cc __ pop(scratch); __ 2965 src/ia32/code-stubs-ia32.cc __ jmp(&done_load_1); __ 2967 src/ia32/code-stubs-ia32.cc __ bind(&load_smi_2); __ 2968 src/ia32/code-stubs-ia32.cc __ SmiUntag(scratch); __ 2969 src/ia32/code-stubs-ia32.cc __ push(scratch); __ 2970 src/ia32/code-stubs-ia32.cc __ fild_s(Operand(esp, 0)); __ 2971 src/ia32/code-stubs-ia32.cc __ pop(scratch); __ 2973 src/ia32/code-stubs-ia32.cc __ bind(&done); __ 2981 src/ia32/code-stubs-ia32.cc __ mov(scratch, left); __ 2983 src/ia32/code-stubs-ia32.cc __ SmiUntag(scratch); __ 2984 src/ia32/code-stubs-ia32.cc __ push(scratch); __ 2985 src/ia32/code-stubs-ia32.cc __ fild_s(Operand(esp, 0)); __ 2987 src/ia32/code-stubs-ia32.cc __ mov(scratch, right); __ 2988 src/ia32/code-stubs-ia32.cc __ SmiUntag(scratch); __ 2989 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 0), scratch); __ 2990 src/ia32/code-stubs-ia32.cc __ fild_s(Operand(esp, 0)); __ 2991 src/ia32/code-stubs-ia32.cc __ pop(scratch); __ 3001 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(edx, &test_other, Label::kNear); __ 3002 src/ia32/code-stubs-ia32.cc __ mov(scratch, FieldOperand(edx, HeapObject::kMapOffset)); __ 3004 src/ia32/code-stubs-ia32.cc __ cmp(scratch, factory->heap_number_map()); __ 3005 src/ia32/code-stubs-ia32.cc __ j(not_equal, non_float); // argument in edx is not a number -> NaN __ 3007 src/ia32/code-stubs-ia32.cc __ bind(&test_other); __ 3008 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(eax, &done, Label::kNear); __ 3009 src/ia32/code-stubs-ia32.cc __ mov(scratch, FieldOperand(eax, HeapObject::kMapOffset)); __ 3010 src/ia32/code-stubs-ia32.cc __ cmp(scratch, factory->heap_number_map()); __ 3011 src/ia32/code-stubs-ia32.cc __ j(not_equal, non_float); // argument in eax is not a number -> NaN __ 3014 src/ia32/code-stubs-ia32.cc __ bind(&done); __ 3038 src/ia32/code-stubs-ia32.cc __ mov(scratch, Immediate(1)); __ 3039 src/ia32/code-stubs-ia32.cc __ cvtsi2sd(double_result, scratch); __ 3046 src/ia32/code-stubs-ia32.cc __ mov(base, Operand(esp, 2 * kPointerSize)); __ 3047 src/ia32/code-stubs-ia32.cc __ mov(exponent, Operand(esp, 1 * kPointerSize)); __ 3049 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(base, &base_is_smi, Label::kNear); __ 3050 src/ia32/code-stubs-ia32.cc __ cmp(FieldOperand(base, HeapObject::kMapOffset), __ 3052 src/ia32/code-stubs-ia32.cc __ j(not_equal, &call_runtime); __ 3054 src/ia32/code-stubs-ia32.cc __ movdbl(double_base, FieldOperand(base, HeapNumber::kValueOffset)); __ 3055 src/ia32/code-stubs-ia32.cc __ jmp(&unpack_exponent, Label::kNear); __ 3057 src/ia32/code-stubs-ia32.cc __ bind(&base_is_smi); __ 3058 src/ia32/code-stubs-ia32.cc __ SmiUntag(base); __ 3059 src/ia32/code-stubs-ia32.cc __ cvtsi2sd(double_base, base); __ 3061 src/ia32/code-stubs-ia32.cc __ bind(&unpack_exponent); __ 3062 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(exponent, &exponent_not_smi, Label::kNear); __ 3063 src/ia32/code-stubs-ia32.cc __ SmiUntag(exponent); __ 3064 src/ia32/code-stubs-ia32.cc __ jmp(&int_exponent); __ 3066 src/ia32/code-stubs-ia32.cc __ bind(&exponent_not_smi); __ 3067 src/ia32/code-stubs-ia32.cc __ cmp(FieldOperand(exponent, HeapObject::kMapOffset), __ 3069 src/ia32/code-stubs-ia32.cc __ j(not_equal, &call_runtime); __ 3070 src/ia32/code-stubs-ia32.cc __ movdbl(double_exponent, __ 3073 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(exponent, &exponent_not_smi, Label::kNear); __ 3074 src/ia32/code-stubs-ia32.cc __ SmiUntag(exponent); __ 3075 src/ia32/code-stubs-ia32.cc __ jmp(&int_exponent); __ 3077 src/ia32/code-stubs-ia32.cc __ bind(&exponent_not_smi); __ 3078 src/ia32/code-stubs-ia32.cc __ movdbl(double_exponent, __ 3085 src/ia32/code-stubs-ia32.cc __ cvttsd2si(exponent, Operand(double_exponent)); __ 3087 src/ia32/code-stubs-ia32.cc __ cmp(exponent, Immediate(0x80000000u)); __ 3088 src/ia32/code-stubs-ia32.cc __ j(equal, &call_runtime); __ 3089 src/ia32/code-stubs-ia32.cc __ cvtsi2sd(double_scratch, exponent); __ 3091 src/ia32/code-stubs-ia32.cc __ ucomisd(double_exponent, double_scratch); __ 3092 src/ia32/code-stubs-ia32.cc __ j(equal, &int_exponent); __ 3101 src/ia32/code-stubs-ia32.cc __ mov(scratch, Immediate(0x3F000000u)); __ 3102 src/ia32/code-stubs-ia32.cc __ movd(double_scratch, scratch); __ 3103 src/ia32/code-stubs-ia32.cc __ cvtss2sd(double_scratch, double_scratch); __ 3105 src/ia32/code-stubs-ia32.cc __ ucomisd(double_scratch, double_exponent); __ 3106 src/ia32/code-stubs-ia32.cc __ j(not_equal, ¬_plus_half, Label::kNear); __ 3112 src/ia32/code-stubs-ia32.cc __ mov(scratch, 0xFF800000u); __ 3113 src/ia32/code-stubs-ia32.cc __ movd(double_scratch, scratch); __ 3114 src/ia32/code-stubs-ia32.cc __ cvtss2sd(double_scratch, double_scratch); __ 3115 src/ia32/code-stubs-ia32.cc __ ucomisd(double_base, double_scratch); __ 3118 src/ia32/code-stubs-ia32.cc __ j(not_equal, &continue_sqrt, Label::kNear); __ 3119 src/ia32/code-stubs-ia32.cc __ j(carry, &continue_sqrt, Label::kNear); __ 3122 src/ia32/code-stubs-ia32.cc __ xorps(double_result, double_result); __ 3123 src/ia32/code-stubs-ia32.cc __ subsd(double_result, double_scratch); __ 3124 src/ia32/code-stubs-ia32.cc __ jmp(&done); __ 3126 src/ia32/code-stubs-ia32.cc __ bind(&continue_sqrt); __ 3128 src/ia32/code-stubs-ia32.cc __ xorps(double_scratch, double_scratch); __ 3129 src/ia32/code-stubs-ia32.cc __ addsd(double_scratch, double_base); // Convert -0 to +0. __ 3130 src/ia32/code-stubs-ia32.cc __ sqrtsd(double_result, double_scratch); __ 3131 src/ia32/code-stubs-ia32.cc __ jmp(&done); __ 3134 src/ia32/code-stubs-ia32.cc __ bind(¬_plus_half); __ 3136 src/ia32/code-stubs-ia32.cc __ subsd(double_scratch, double_result); __ 3138 src/ia32/code-stubs-ia32.cc __ ucomisd(double_scratch, double_exponent); __ 3139 src/ia32/code-stubs-ia32.cc __ j(not_equal, &fast_power, Label::kNear); __ 3145 src/ia32/code-stubs-ia32.cc __ mov(scratch, 0xFF800000u); __ 3146 src/ia32/code-stubs-ia32.cc __ movd(double_scratch, scratch); __ 3147 src/ia32/code-stubs-ia32.cc __ cvtss2sd(double_scratch, double_scratch); __ 3148 src/ia32/code-stubs-ia32.cc __ ucomisd(double_base, double_scratch); __ 3151 src/ia32/code-stubs-ia32.cc __ j(not_equal, &continue_rsqrt, Label::kNear); __ 3152 src/ia32/code-stubs-ia32.cc __ j(carry, &continue_rsqrt, Label::kNear); __ 3155 src/ia32/code-stubs-ia32.cc __ xorps(double_result, double_result); __ 3156 src/ia32/code-stubs-ia32.cc __ jmp(&done); __ 3158 src/ia32/code-stubs-ia32.cc __ bind(&continue_rsqrt); __ 3160 src/ia32/code-stubs-ia32.cc __ xorps(double_exponent, double_exponent); __ 3161 src/ia32/code-stubs-ia32.cc __ addsd(double_exponent, double_base); // Convert -0 to +0. __ 3162 src/ia32/code-stubs-ia32.cc __ sqrtsd(double_exponent, double_exponent); __ 3163 src/ia32/code-stubs-ia32.cc __ divsd(double_result, double_exponent); __ 3164 src/ia32/code-stubs-ia32.cc __ jmp(&done); __ 3169 src/ia32/code-stubs-ia32.cc __ bind(&fast_power); __ 3170 src/ia32/code-stubs-ia32.cc __ fnclex(); // Clear flags to catch exceptions later. __ 3172 src/ia32/code-stubs-ia32.cc __ sub(esp, Immediate(kDoubleSize)); __ 3173 src/ia32/code-stubs-ia32.cc __ movdbl(Operand(esp, 0), double_exponent); __ 3174 src/ia32/code-stubs-ia32.cc __ fld_d(Operand(esp, 0)); // E __ 3175 src/ia32/code-stubs-ia32.cc __ movdbl(Operand(esp, 0), double_base); __ 3176 src/ia32/code-stubs-ia32.cc __ fld_d(Operand(esp, 0)); // B, E __ 3181 src/ia32/code-stubs-ia32.cc __ fyl2x(); // X __ 3182 src/ia32/code-stubs-ia32.cc __ fld(0); // X, X __ 3183 src/ia32/code-stubs-ia32.cc __ frndint(); // rnd(X), X __ 3184 src/ia32/code-stubs-ia32.cc __ fsub(1); // rnd(X), X-rnd(X) __ 3185 src/ia32/code-stubs-ia32.cc __ fxch(1); // X - rnd(X), rnd(X) __ 3187 src/ia32/code-stubs-ia32.cc __ f2xm1(); // 2^(X-rnd(X)) - 1, rnd(X) __ 3188 src/ia32/code-stubs-ia32.cc __ fld1(); // 1, 2^(X-rnd(X)) - 1, rnd(X) __ 3189 src/ia32/code-stubs-ia32.cc __ faddp(1); // 1, 2^(X-rnd(X)), rnd(X) __ 3191 src/ia32/code-stubs-ia32.cc __ fscale(); // 2^X, rnd(X) __ 3192 src/ia32/code-stubs-ia32.cc __ fstp(1); __ 3194 src/ia32/code-stubs-ia32.cc __ fnstsw_ax(); __ 3195 src/ia32/code-stubs-ia32.cc __ test_b(eax, 0x5F); // We check for all but precision exception. __ 3196 src/ia32/code-stubs-ia32.cc __ j(not_zero, &fast_power_failed, Label::kNear); __ 3197 src/ia32/code-stubs-ia32.cc __ fstp_d(Operand(esp, 0)); __ 3198 src/ia32/code-stubs-ia32.cc __ movdbl(double_result, Operand(esp, 0)); __ 3199 src/ia32/code-stubs-ia32.cc __ add(esp, Immediate(kDoubleSize)); __ 3200 src/ia32/code-stubs-ia32.cc __ jmp(&done); __ 3202 src/ia32/code-stubs-ia32.cc __ bind(&fast_power_failed); __ 3203 src/ia32/code-stubs-ia32.cc __ fninit(); __ 3204 src/ia32/code-stubs-ia32.cc __ add(esp, Immediate(kDoubleSize)); __ 3205 src/ia32/code-stubs-ia32.cc __ jmp(&call_runtime); __ 3209 src/ia32/code-stubs-ia32.cc __ bind(&int_exponent); __ 3211 src/ia32/code-stubs-ia32.cc __ mov(scratch, exponent); // Back up exponent. __ 3212 src/ia32/code-stubs-ia32.cc __ movsd(double_scratch, double_base); // Back up base. __ 3213 src/ia32/code-stubs-ia32.cc __ movsd(double_scratch2, double_result); // Load double_exponent with 1. __ 3217 src/ia32/code-stubs-ia32.cc __ test(scratch, scratch); __ 3218 src/ia32/code-stubs-ia32.cc __ j(positive, &no_neg, Label::kNear); __ 3219 src/ia32/code-stubs-ia32.cc __ neg(scratch); __ 3220 src/ia32/code-stubs-ia32.cc __ bind(&no_neg); __ 3222 src/ia32/code-stubs-ia32.cc __ bind(&while_true); __ 3223 src/ia32/code-stubs-ia32.cc __ shr(scratch, 1); __ 3224 src/ia32/code-stubs-ia32.cc __ j(not_carry, &no_multiply, Label::kNear); __ 3225 src/ia32/code-stubs-ia32.cc __ mulsd(double_result, double_scratch); __ 3226 src/ia32/code-stubs-ia32.cc __ bind(&no_multiply); __ 3228 src/ia32/code-stubs-ia32.cc __ mulsd(double_scratch, double_scratch); __ 3229 src/ia32/code-stubs-ia32.cc __ j(not_zero, &while_true); __ 3233 src/ia32/code-stubs-ia32.cc __ test(exponent, exponent); __ 3234 src/ia32/code-stubs-ia32.cc __ j(positive, &done); __ 3235 src/ia32/code-stubs-ia32.cc __ divsd(double_scratch2, double_result); __ 3236 src/ia32/code-stubs-ia32.cc __ movsd(double_result, double_scratch2); __ 3239 src/ia32/code-stubs-ia32.cc __ xorps(double_scratch2, double_scratch2); __ 3240 src/ia32/code-stubs-ia32.cc __ ucomisd(double_scratch2, double_result); // Result cannot be NaN. __ 3244 src/ia32/code-stubs-ia32.cc __ j(not_equal, &done); __ 3245 src/ia32/code-stubs-ia32.cc __ cvtsi2sd(double_exponent, exponent); __ 3251 src/ia32/code-stubs-ia32.cc __ bind(&call_runtime); __ 3252 src/ia32/code-stubs-ia32.cc __ TailCallRuntime(Runtime::kMath_pow_cfunction, 2, 1); __ 3256 src/ia32/code-stubs-ia32.cc __ bind(&done); __ 3257 src/ia32/code-stubs-ia32.cc __ AllocateHeapNumber(eax, scratch, base, &call_runtime); __ 3258 src/ia32/code-stubs-ia32.cc __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), double_result); __ 3259 src/ia32/code-stubs-ia32.cc __ IncrementCounter(counters->math_pow(), 1); __ 3260 src/ia32/code-stubs-ia32.cc __ ret(2 * kPointerSize); __ 3262 src/ia32/code-stubs-ia32.cc __ bind(&call_runtime); __ 3265 src/ia32/code-stubs-ia32.cc __ PrepareCallCFunction(4, scratch); __ 3266 src/ia32/code-stubs-ia32.cc __ movdbl(Operand(esp, 0 * kDoubleSize), double_base); __ 3267 src/ia32/code-stubs-ia32.cc __ movdbl(Operand(esp, 1 * kDoubleSize), double_exponent); __ 3268 src/ia32/code-stubs-ia32.cc __ CallCFunction( __ 3273 src/ia32/code-stubs-ia32.cc __ sub(esp, Immediate(kDoubleSize)); __ 3274 src/ia32/code-stubs-ia32.cc __ fstp_d(Operand(esp, 0)); __ 3275 src/ia32/code-stubs-ia32.cc __ movdbl(double_result, Operand(esp, 0)); __ 3276 src/ia32/code-stubs-ia32.cc __ add(esp, Immediate(kDoubleSize)); __ 3278 src/ia32/code-stubs-ia32.cc __ bind(&done); __ 3279 src/ia32/code-stubs-ia32.cc __ IncrementCounter(counters->math_pow(), 1); __ 3280 src/ia32/code-stubs-ia32.cc __ ret(0); __ 3295 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(edx, &slow, Label::kNear); __ 3299 src/ia32/code-stubs-ia32.cc __ mov(ebx, Operand(ebp, StandardFrameConstants::kCallerFPOffset)); __ 3300 src/ia32/code-stubs-ia32.cc __ mov(ecx, Operand(ebx, StandardFrameConstants::kContextOffset)); __ 3301 src/ia32/code-stubs-ia32.cc __ cmp(ecx, Immediate(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR))); __ 3302 src/ia32/code-stubs-ia32.cc __ j(equal, &adaptor, Label::kNear); __ 3307 src/ia32/code-stubs-ia32.cc __ cmp(edx, eax); __ 3308 src/ia32/code-stubs-ia32.cc __ j(above_equal, &slow, Label::kNear); __ 3313 src/ia32/code-stubs-ia32.cc __ lea(ebx, Operand(ebp, eax, times_2, 0)); __ 3314 src/ia32/code-stubs-ia32.cc __ neg(edx); __ 3315 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(ebx, edx, times_2, kDisplacement)); __ 3316 src/ia32/code-stubs-ia32.cc __ ret(0); __ 3321 src/ia32/code-stubs-ia32.cc __ bind(&adaptor); __ 3322 src/ia32/code-stubs-ia32.cc __ mov(ecx, Operand(ebx, ArgumentsAdaptorFrameConstants::kLengthOffset)); __ 3323 src/ia32/code-stubs-ia32.cc __ cmp(edx, ecx); __ 3324 src/ia32/code-stubs-ia32.cc __ j(above_equal, &slow, Label::kNear); __ 3329 src/ia32/code-stubs-ia32.cc __ lea(ebx, Operand(ebx, ecx, times_2, 0)); __ 3330 src/ia32/code-stubs-ia32.cc __ neg(edx); __ 3331 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(ebx, edx, times_2, kDisplacement)); __ 3332 src/ia32/code-stubs-ia32.cc __ ret(0); __ 3336 src/ia32/code-stubs-ia32.cc __ bind(&slow); __ 3337 src/ia32/code-stubs-ia32.cc __ pop(ebx); // Return address. __ 3338 src/ia32/code-stubs-ia32.cc __ push(edx); __ 3339 src/ia32/code-stubs-ia32.cc __ push(ebx); __ 3340 src/ia32/code-stubs-ia32.cc __ TailCallRuntime(Runtime::kGetArgumentsProperty, 1, 1); __ 3352 src/ia32/code-stubs-ia32.cc __ mov(edx, Operand(ebp, StandardFrameConstants::kCallerFPOffset)); __ 3353 src/ia32/code-stubs-ia32.cc __ mov(ecx, Operand(edx, StandardFrameConstants::kContextOffset)); __ 3354 src/ia32/code-stubs-ia32.cc __ cmp(ecx, Immediate(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR))); __ 3355 src/ia32/code-stubs-ia32.cc __ j(not_equal, &runtime, Label::kNear); __ 3358 src/ia32/code-stubs-ia32.cc __ mov(ecx, Operand(edx, ArgumentsAdaptorFrameConstants::kLengthOffset)); __ 3359 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 1 * kPointerSize), ecx); __ 3360 src/ia32/code-stubs-ia32.cc __ lea(edx, Operand(edx, ecx, times_2, __ 3362 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 2 * kPointerSize), edx); __ 3364 src/ia32/code-stubs-ia32.cc __ bind(&runtime); __ 3365 src/ia32/code-stubs-ia32.cc __ TailCallRuntime(Runtime::kNewArgumentsFast, 3, 1); __ 3376 src/ia32/code-stubs-ia32.cc __ mov(ebx, Operand(esp, 1 * kPointerSize)); __ 3383 src/ia32/code-stubs-ia32.cc __ mov(edx, Operand(ebp, StandardFrameConstants::kCallerFPOffset)); __ 3384 src/ia32/code-stubs-ia32.cc __ mov(ecx, Operand(edx, StandardFrameConstants::kContextOffset)); __ 3385 src/ia32/code-stubs-ia32.cc __ cmp(ecx, Immediate(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR))); __ 3386 src/ia32/code-stubs-ia32.cc __ j(equal, &adaptor_frame, Label::kNear); __ 3389 src/ia32/code-stubs-ia32.cc __ mov(ecx, ebx); __ 3390 src/ia32/code-stubs-ia32.cc __ jmp(&try_allocate, Label::kNear); __ 3393 src/ia32/code-stubs-ia32.cc __ bind(&adaptor_frame); __ 3394 src/ia32/code-stubs-ia32.cc __ mov(ecx, Operand(edx, ArgumentsAdaptorFrameConstants::kLengthOffset)); __ 3395 src/ia32/code-stubs-ia32.cc __ lea(edx, Operand(edx, ecx, times_2, __ 3397 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 2 * kPointerSize), edx); __ 3404 src/ia32/code-stubs-ia32.cc __ cmp(ebx, ecx); __ 3405 src/ia32/code-stubs-ia32.cc __ j(less_equal, &try_allocate, Label::kNear); __ 3406 src/ia32/code-stubs-ia32.cc __ mov(ebx, ecx); __ 3408 src/ia32/code-stubs-ia32.cc __ bind(&try_allocate); __ 3411 src/ia32/code-stubs-ia32.cc __ push(ebx); __ 3418 src/ia32/code-stubs-ia32.cc __ test(ebx, ebx); __ 3419 src/ia32/code-stubs-ia32.cc __ j(zero, &no_parameter_map, Label::kNear); __ 3420 src/ia32/code-stubs-ia32.cc __ lea(ebx, Operand(ebx, times_2, kParameterMapHeaderSize)); __ 3421 src/ia32/code-stubs-ia32.cc __ bind(&no_parameter_map); __ 3424 src/ia32/code-stubs-ia32.cc __ lea(ebx, Operand(ebx, ecx, times_2, FixedArray::kHeaderSize)); __ 3427 src/ia32/code-stubs-ia32.cc __ add(ebx, Immediate(Heap::kArgumentsObjectSize)); __ 3430 src/ia32/code-stubs-ia32.cc __ AllocateInNewSpace(ebx, eax, edx, edi, &runtime, TAG_OBJECT); __ 3439 src/ia32/code-stubs-ia32.cc __ mov(edi, Operand(esi, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 3440 src/ia32/code-stubs-ia32.cc __ mov(edi, FieldOperand(edi, GlobalObject::kGlobalContextOffset)); __ 3441 src/ia32/code-stubs-ia32.cc __ mov(ebx, Operand(esp, 0 * kPointerSize)); __ 3442 src/ia32/code-stubs-ia32.cc __ test(ebx, ebx); __ 3443 src/ia32/code-stubs-ia32.cc __ j(not_zero, &has_mapped_parameters, Label::kNear); __ 3444 src/ia32/code-stubs-ia32.cc __ mov(edi, Operand(edi, __ 3446 src/ia32/code-stubs-ia32.cc __ jmp(©, Label::kNear); __ 3448 src/ia32/code-stubs-ia32.cc __ bind(&has_mapped_parameters); __ 3449 src/ia32/code-stubs-ia32.cc __ mov(edi, Operand(edi, __ 3451 src/ia32/code-stubs-ia32.cc __ bind(©); __ 3462 src/ia32/code-stubs-ia32.cc __ mov(edx, FieldOperand(edi, i)); __ 3463 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, i), edx); __ 3468 src/ia32/code-stubs-ia32.cc __ mov(edx, Operand(esp, 4 * kPointerSize)); __ 3469 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, JSObject::kHeaderSize + __ 3475 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, JSObject::kHeaderSize + __ 3482 src/ia32/code-stubs-ia32.cc __ lea(edi, Operand(eax, Heap::kArgumentsObjectSize)); __ 3483 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, JSObject::kElementsOffset), edi); __ 3493 src/ia32/code-stubs-ia32.cc __ push(eax); __ 3497 src/ia32/code-stubs-ia32.cc __ test(ebx, ebx); __ 3498 src/ia32/code-stubs-ia32.cc __ j(zero, &skip_parameter_map); __ 3500 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(edi, FixedArray::kMapOffset), __ 3502 src/ia32/code-stubs-ia32.cc __ lea(eax, Operand(ebx, reinterpret_cast<intptr_t>(Smi::FromInt(2)))); __ 3503 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(edi, FixedArray::kLengthOffset), eax); __ 3504 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(edi, FixedArray::kHeaderSize + 0 * kPointerSize), esi); __ 3505 src/ia32/code-stubs-ia32.cc __ lea(eax, Operand(edi, ebx, times_2, kParameterMapHeaderSize)); __ 3506 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(edi, FixedArray::kHeaderSize + 1 * kPointerSize), eax); __ 3517 src/ia32/code-stubs-ia32.cc __ push(ecx); __ 3518 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(esp, 2 * kPointerSize)); __ 3519 src/ia32/code-stubs-ia32.cc __ mov(ebx, Immediate(Smi::FromInt(Context::MIN_CONTEXT_SLOTS))); __ 3520 src/ia32/code-stubs-ia32.cc __ add(ebx, Operand(esp, 4 * kPointerSize)); __ 3521 src/ia32/code-stubs-ia32.cc __ sub(ebx, eax); __ 3522 src/ia32/code-stubs-ia32.cc __ mov(ecx, FACTORY->the_hole_value()); __ 3523 src/ia32/code-stubs-ia32.cc __ mov(edx, edi); __ 3524 src/ia32/code-stubs-ia32.cc __ lea(edi, Operand(edi, eax, times_2, kParameterMapHeaderSize)); __ 3535 src/ia32/code-stubs-ia32.cc __ jmp(¶meters_test, Label::kNear); __ 3537 src/ia32/code-stubs-ia32.cc __ bind(¶meters_loop); __ 3538 src/ia32/code-stubs-ia32.cc __ sub(eax, Immediate(Smi::FromInt(1))); __ 3539 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(edx, eax, times_2, kParameterMapHeaderSize), ebx); __ 3540 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(edi, eax, times_2, FixedArray::kHeaderSize), ecx); __ 3541 src/ia32/code-stubs-ia32.cc __ add(ebx, Immediate(Smi::FromInt(1))); __ 3542 src/ia32/code-stubs-ia32.cc __ bind(¶meters_test); __ 3543 src/ia32/code-stubs-ia32.cc __ test(eax, eax); __ 3544 src/ia32/code-stubs-ia32.cc __ j(not_zero, ¶meters_loop, Label::kNear); __ 3545 src/ia32/code-stubs-ia32.cc __ pop(ecx); __ 3547 src/ia32/code-stubs-ia32.cc __ bind(&skip_parameter_map); __ 3556 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(edi, FixedArray::kMapOffset), __ 3558 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(edi, FixedArray::kLengthOffset), ecx); __ 3561 src/ia32/code-stubs-ia32.cc __ mov(ebx, Operand(esp, 1 * kPointerSize)); __ 3562 src/ia32/code-stubs-ia32.cc __ mov(edx, Operand(esp, 4 * kPointerSize)); __ 3563 src/ia32/code-stubs-ia32.cc __ sub(edx, ebx); // Is there a smarter way to do negative scaling? __ 3564 src/ia32/code-stubs-ia32.cc __ sub(edx, ebx); __ 3565 src/ia32/code-stubs-ia32.cc __ jmp(&arguments_test, Label::kNear); __ 3567 src/ia32/code-stubs-ia32.cc __ bind(&arguments_loop); __ 3568 src/ia32/code-stubs-ia32.cc __ sub(edx, Immediate(kPointerSize)); __ 3569 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(edx, 0)); __ 3570 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(edi, ebx, times_2, FixedArray::kHeaderSize), eax); __ 3571 src/ia32/code-stubs-ia32.cc __ add(ebx, Immediate(Smi::FromInt(1))); __ 3573 src/ia32/code-stubs-ia32.cc __ bind(&arguments_test); __ 3574 src/ia32/code-stubs-ia32.cc __ cmp(ebx, ecx); __ 3575 src/ia32/code-stubs-ia32.cc __ j(less, &arguments_loop, Label::kNear); __ 3578 src/ia32/code-stubs-ia32.cc __ pop(eax); // Address of arguments object. __ 3579 src/ia32/code-stubs-ia32.cc __ pop(ebx); // Parameter count. __ 3582 src/ia32/code-stubs-ia32.cc __ ret(3 * kPointerSize); __ 3585 src/ia32/code-stubs-ia32.cc __ bind(&runtime); __ 3586 src/ia32/code-stubs-ia32.cc __ pop(eax); // Remove saved parameter count. __ 3587 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 1 * kPointerSize), ecx); // Patch argument count. __ 3588 src/ia32/code-stubs-ia32.cc __ TailCallRuntime(Runtime::kNewStrictArgumentsFast, 3, 1); __ 3600 src/ia32/code-stubs-ia32.cc __ mov(edx, Operand(ebp, StandardFrameConstants::kCallerFPOffset)); __ 3601 src/ia32/code-stubs-ia32.cc __ mov(ecx, Operand(edx, StandardFrameConstants::kContextOffset)); __ 3602 src/ia32/code-stubs-ia32.cc __ cmp(ecx, Immediate(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR))); __ 3603 src/ia32/code-stubs-ia32.cc __ j(equal, &adaptor_frame, Label::kNear); __ 3606 src/ia32/code-stubs-ia32.cc __ mov(ecx, Operand(esp, 1 * kPointerSize)); __ 3607 src/ia32/code-stubs-ia32.cc __ jmp(&try_allocate, Label::kNear); __ 3610 src/ia32/code-stubs-ia32.cc __ bind(&adaptor_frame); __ 3611 src/ia32/code-stubs-ia32.cc __ mov(ecx, Operand(edx, ArgumentsAdaptorFrameConstants::kLengthOffset)); __ 3612 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 1 * kPointerSize), ecx); __ 3613 src/ia32/code-stubs-ia32.cc __ lea(edx, Operand(edx, ecx, times_2, __ 3615 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 2 * kPointerSize), edx); __ 3620 src/ia32/code-stubs-ia32.cc __ bind(&try_allocate); __ 3621 src/ia32/code-stubs-ia32.cc __ test(ecx, ecx); __ 3622 src/ia32/code-stubs-ia32.cc __ j(zero, &add_arguments_object, Label::kNear); __ 3623 src/ia32/code-stubs-ia32.cc __ lea(ecx, Operand(ecx, times_2, FixedArray::kHeaderSize)); __ 3624 src/ia32/code-stubs-ia32.cc __ bind(&add_arguments_object); __ 3625 src/ia32/code-stubs-ia32.cc __ add(ecx, Immediate(Heap::kArgumentsObjectSizeStrict)); __ 3628 src/ia32/code-stubs-ia32.cc __ AllocateInNewSpace(ecx, eax, edx, ebx, &runtime, TAG_OBJECT); __ 3631 src/ia32/code-stubs-ia32.cc __ mov(edi, Operand(esi, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 3632 src/ia32/code-stubs-ia32.cc __ mov(edi, FieldOperand(edi, GlobalObject::kGlobalContextOffset)); __ 3635 src/ia32/code-stubs-ia32.cc __ mov(edi, Operand(edi, offset)); __ 3639 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(edi, i)); __ 3640 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, i), ebx); __ 3645 src/ia32/code-stubs-ia32.cc __ mov(ecx, Operand(esp, 1 * kPointerSize)); __ 3646 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, JSObject::kHeaderSize + __ 3652 src/ia32/code-stubs-ia32.cc __ test(ecx, ecx); __ 3653 src/ia32/code-stubs-ia32.cc __ j(zero, &done, Label::kNear); __ 3656 src/ia32/code-stubs-ia32.cc __ mov(edx, Operand(esp, 2 * kPointerSize)); __ 3660 src/ia32/code-stubs-ia32.cc __ lea(edi, Operand(eax, Heap::kArgumentsObjectSizeStrict)); __ 3661 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, JSObject::kElementsOffset), edi); __ 3662 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(edi, FixedArray::kMapOffset), __ 3665 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(edi, FixedArray::kLengthOffset), ecx); __ 3667 src/ia32/code-stubs-ia32.cc __ SmiUntag(ecx); __ 3671 src/ia32/code-stubs-ia32.cc __ bind(&loop); __ 3672 src/ia32/code-stubs-ia32.cc __ mov(ebx, Operand(edx, -1 * kPointerSize)); // Skip receiver. __ 3673 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(edi, FixedArray::kHeaderSize), ebx); __ 3674 src/ia32/code-stubs-ia32.cc __ add(edi, Immediate(kPointerSize)); __ 3675 src/ia32/code-stubs-ia32.cc __ sub(edx, Immediate(kPointerSize)); __ 3676 src/ia32/code-stubs-ia32.cc __ dec(ecx); __ 3677 src/ia32/code-stubs-ia32.cc __ j(not_zero, &loop); __ 3680 src/ia32/code-stubs-ia32.cc __ bind(&done); __ 3681 src/ia32/code-stubs-ia32.cc __ ret(3 * kPointerSize); __ 3684 src/ia32/code-stubs-ia32.cc __ bind(&runtime); __ 3685 src/ia32/code-stubs-ia32.cc __ TailCallRuntime(Runtime::kNewStrictArgumentsFast, 3, 1); __ 3694 src/ia32/code-stubs-ia32.cc __ TailCallRuntime(Runtime::kRegExpExec, 4, 1); __ 3717 src/ia32/code-stubs-ia32.cc __ mov(ebx, Operand::StaticVariable(address_of_regexp_stack_memory_size)); __ 3718 src/ia32/code-stubs-ia32.cc __ test(ebx, ebx); __ 3719 src/ia32/code-stubs-ia32.cc __ j(zero, &runtime); __ 3722 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(esp, kJSRegExpOffset)); __ 3724 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(eax, &runtime); __ 3725 src/ia32/code-stubs-ia32.cc __ CmpObjectType(eax, JS_REGEXP_TYPE, ecx); __ 3726 src/ia32/code-stubs-ia32.cc __ j(not_equal, &runtime); __ 3728 src/ia32/code-stubs-ia32.cc __ mov(ecx, FieldOperand(eax, JSRegExp::kDataOffset)); __ 3730 src/ia32/code-stubs-ia32.cc __ test(ecx, Immediate(kSmiTagMask)); __ 3731 src/ia32/code-stubs-ia32.cc __ Check(not_zero, "Unexpected type for RegExp data, FixedArray expected"); __ 3732 src/ia32/code-stubs-ia32.cc __ CmpObjectType(ecx, FIXED_ARRAY_TYPE, ebx); __ 3733 src/ia32/code-stubs-ia32.cc __ Check(equal, "Unexpected type for RegExp data, FixedArray expected"); __ 3738 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(ecx, JSRegExp::kDataTagOffset)); __ 3739 src/ia32/code-stubs-ia32.cc __ cmp(ebx, Immediate(Smi::FromInt(JSRegExp::IRREGEXP))); __ 3740 src/ia32/code-stubs-ia32.cc __ j(not_equal, &runtime); __ 3744 src/ia32/code-stubs-ia32.cc __ mov(edx, FieldOperand(ecx, JSRegExp::kIrregexpCaptureCountOffset)); __ 3749 src/ia32/code-stubs-ia32.cc __ add(edx, Immediate(2)); // edx was a smi. __ 3751 src/ia32/code-stubs-ia32.cc __ cmp(edx, OffsetsVector::kStaticOffsetsVectorSize); __ 3752 src/ia32/code-stubs-ia32.cc __ j(above, &runtime); __ 3757 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(esp, kSubjectOffset)); __ 3758 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(eax, &runtime); __ 3760 src/ia32/code-stubs-ia32.cc __ j(NegateCondition(is_string), &runtime); __ 3762 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(eax, String::kLengthOffset)); __ 3769 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(esp, kPreviousIndexOffset)); __ 3770 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(eax, &runtime); __ 3771 src/ia32/code-stubs-ia32.cc __ cmp(eax, ebx); __ 3772 src/ia32/code-stubs-ia32.cc __ j(above_equal, &runtime); __ 3777 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(esp, kLastMatchInfoOffset)); __ 3778 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(eax, &runtime); __ 3779 src/ia32/code-stubs-ia32.cc __ CmpObjectType(eax, JS_ARRAY_TYPE, ebx); __ 3780 src/ia32/code-stubs-ia32.cc __ j(not_equal, &runtime); __ 3782 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(eax, JSArray::kElementsOffset)); __ 3783 src/ia32/code-stubs-ia32.cc __ mov(eax, FieldOperand(ebx, HeapObject::kMapOffset)); __ 3785 src/ia32/code-stubs-ia32.cc __ cmp(eax, factory->fixed_array_map()); __ 3786 src/ia32/code-stubs-ia32.cc __ j(not_equal, &runtime); __ 3789 src/ia32/code-stubs-ia32.cc __ mov(eax, FieldOperand(ebx, FixedArray::kLengthOffset)); __ 3790 src/ia32/code-stubs-ia32.cc __ SmiUntag(eax); __ 3791 src/ia32/code-stubs-ia32.cc __ add(edx, Immediate(RegExpImpl::kLastMatchOverhead)); __ 3792 src/ia32/code-stubs-ia32.cc __ cmp(edx, eax); __ 3793 src/ia32/code-stubs-ia32.cc __ j(greater, &runtime); __ 3796 src/ia32/code-stubs-ia32.cc __ Set(edi, Immediate(0)); __ 3800 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(esp, kSubjectOffset)); __ 3801 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset)); __ 3802 src/ia32/code-stubs-ia32.cc __ movzx_b(ebx, FieldOperand(ebx, Map::kInstanceTypeOffset)); __ 3804 src/ia32/code-stubs-ia32.cc __ and_(ebx, kIsNotStringMask | __ 3809 src/ia32/code-stubs-ia32.cc __ j(zero, &seq_two_byte_string, Label::kNear); __ 3813 src/ia32/code-stubs-ia32.cc __ and_(ebx, Immediate(kIsNotStringMask | __ 3816 src/ia32/code-stubs-ia32.cc __ j(zero, &seq_ascii_string, Label::kNear); __ 3830 src/ia32/code-stubs-ia32.cc __ cmp(ebx, Immediate(kExternalStringTag)); __ 3831 src/ia32/code-stubs-ia32.cc __ j(less, &cons_string); __ 3832 src/ia32/code-stubs-ia32.cc __ j(equal, &external_string); __ 3836 src/ia32/code-stubs-ia32.cc __ test(ebx, Immediate(kIsNotStringMask | kShortExternalStringTag)); __ 3837 src/ia32/code-stubs-ia32.cc __ j(not_zero, &runtime); __ 3840 src/ia32/code-stubs-ia32.cc __ mov(edi, FieldOperand(eax, SlicedString::kOffsetOffset)); __ 3841 src/ia32/code-stubs-ia32.cc __ mov(eax, FieldOperand(eax, SlicedString::kParentOffset)); __ 3844 src/ia32/code-stubs-ia32.cc __ jmp(&check_encoding, Label::kNear); __ 3846 src/ia32/code-stubs-ia32.cc __ bind(&cons_string); __ 3847 src/ia32/code-stubs-ia32.cc __ cmp(FieldOperand(eax, ConsString::kSecondOffset), factory->empty_string()); __ 3848 src/ia32/code-stubs-ia32.cc __ j(not_equal, &runtime); __ 3849 src/ia32/code-stubs-ia32.cc __ mov(eax, FieldOperand(eax, ConsString::kFirstOffset)); __ 3850 src/ia32/code-stubs-ia32.cc __ bind(&check_encoding); __ 3851 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset)); __ 3855 src/ia32/code-stubs-ia32.cc __ test_b(FieldOperand(ebx, Map::kInstanceTypeOffset), __ 3858 src/ia32/code-stubs-ia32.cc __ j(zero, &seq_two_byte_string, Label::kNear); __ 3860 src/ia32/code-stubs-ia32.cc __ test_b(FieldOperand(ebx, Map::kInstanceTypeOffset), __ 3862 src/ia32/code-stubs-ia32.cc __ j(not_zero, &external_string); __ 3864 src/ia32/code-stubs-ia32.cc __ bind(&seq_ascii_string); __ 3867 src/ia32/code-stubs-ia32.cc __ mov(edx, FieldOperand(ecx, JSRegExp::kDataAsciiCodeOffset)); __ 3868 src/ia32/code-stubs-ia32.cc __ Set(ecx, Immediate(1)); // Type is ASCII. __ 3869 src/ia32/code-stubs-ia32.cc __ jmp(&check_code, Label::kNear); __ 3871 src/ia32/code-stubs-ia32.cc __ bind(&seq_two_byte_string); __ 3874 src/ia32/code-stubs-ia32.cc __ mov(edx, FieldOperand(ecx, JSRegExp::kDataUC16CodeOffset)); __ 3875 src/ia32/code-stubs-ia32.cc __ Set(ecx, Immediate(0)); // Type is two byte. __ 3877 src/ia32/code-stubs-ia32.cc __ bind(&check_code); __ 3881 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(edx, &runtime); __ 3888 src/ia32/code-stubs-ia32.cc __ mov(ebx, Operand(esp, kPreviousIndexOffset)); __ 3889 src/ia32/code-stubs-ia32.cc __ SmiUntag(ebx); // Previous index from smi. __ 3897 src/ia32/code-stubs-ia32.cc __ IncrementCounter(counters->regexp_entry_native(), 1); __ 3901 src/ia32/code-stubs-ia32.cc __ EnterApiExitFrame(kRegExpExecuteArguments); __ 3904 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 8 * kPointerSize), __ 3908 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 7 * kPointerSize), Immediate(1)); __ 3911 src/ia32/code-stubs-ia32.cc __ mov(esi, Operand::StaticVariable(address_of_regexp_stack_memory_address)); __ 3912 src/ia32/code-stubs-ia32.cc __ add(esi, Operand::StaticVariable(address_of_regexp_stack_memory_size)); __ 3913 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 6 * kPointerSize), esi); __ 3917 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 5 * kPointerSize), Immediate(0)); __ 3920 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 4 * kPointerSize), __ 3925 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 1 * kPointerSize), ebx); __ 3932 src/ia32/code-stubs-ia32.cc __ mov(esi, Operand(ebp, kSubjectOffset + kPointerSize)); __ 3933 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 0 * kPointerSize), esi); __ 3944 src/ia32/code-stubs-ia32.cc __ mov(esi, FieldOperand(esi, String::kLengthOffset)); __ 3945 src/ia32/code-stubs-ia32.cc __ add(esi, edi); // Calculate input end wrt offset. __ 3946 src/ia32/code-stubs-ia32.cc __ SmiUntag(edi); __ 3947 src/ia32/code-stubs-ia32.cc __ add(ebx, edi); // Calculate input start wrt offset. __ 3952 src/ia32/code-stubs-ia32.cc __ test(ecx, ecx); __ 3953 src/ia32/code-stubs-ia32.cc __ j(zero, &setup_two_byte, Label::kNear); __ 3954 src/ia32/code-stubs-ia32.cc __ SmiUntag(esi); __ 3955 src/ia32/code-stubs-ia32.cc __ lea(ecx, FieldOperand(eax, esi, times_1, SeqAsciiString::kHeaderSize)); __ 3956 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 3 * kPointerSize), ecx); // Argument 4. __ 3957 src/ia32/code-stubs-ia32.cc __ lea(ecx, FieldOperand(eax, ebx, times_1, SeqAsciiString::kHeaderSize)); __ 3958 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 2 * kPointerSize), ecx); // Argument 3. __ 3959 src/ia32/code-stubs-ia32.cc __ jmp(&setup_rest, Label::kNear); __ 3961 src/ia32/code-stubs-ia32.cc __ bind(&setup_two_byte); __ 3964 src/ia32/code-stubs-ia32.cc __ lea(ecx, FieldOperand(eax, esi, times_1, SeqTwoByteString::kHeaderSize)); __ 3965 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 3 * kPointerSize), ecx); // Argument 4. __ 3966 src/ia32/code-stubs-ia32.cc __ lea(ecx, FieldOperand(eax, ebx, times_2, SeqTwoByteString::kHeaderSize)); __ 3967 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 2 * kPointerSize), ecx); // Argument 3. __ 3969 src/ia32/code-stubs-ia32.cc __ bind(&setup_rest); __ 3972 src/ia32/code-stubs-ia32.cc __ add(edx, Immediate(Code::kHeaderSize - kHeapObjectTag)); __ 3973 src/ia32/code-stubs-ia32.cc __ call(edx); __ 3976 src/ia32/code-stubs-ia32.cc __ LeaveApiExitFrame(); __ 3980 src/ia32/code-stubs-ia32.cc __ cmp(eax, 1); __ 3983 src/ia32/code-stubs-ia32.cc __ j(equal, &success); __ 3985 src/ia32/code-stubs-ia32.cc __ cmp(eax, NativeRegExpMacroAssembler::FAILURE); __ 3986 src/ia32/code-stubs-ia32.cc __ j(equal, &failure); __ 3987 src/ia32/code-stubs-ia32.cc __ cmp(eax, NativeRegExpMacroAssembler::EXCEPTION); __ 3989 src/ia32/code-stubs-ia32.cc __ j(not_equal, &runtime); __ 3996 src/ia32/code-stubs-ia32.cc __ mov(edx, Immediate(masm->isolate()->factory()->the_hole_value())); __ 3997 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand::StaticVariable(pending_exception)); __ 3998 src/ia32/code-stubs-ia32.cc __ cmp(edx, eax); __ 3999 src/ia32/code-stubs-ia32.cc __ j(equal, &runtime); __ 4003 src/ia32/code-stubs-ia32.cc __ mov(Operand::StaticVariable(pending_exception), edx); __ 4007 src/ia32/code-stubs-ia32.cc __ cmp(eax, factory->termination_exception()); __ 4009 src/ia32/code-stubs-ia32.cc __ j(equal, &throw_termination_exception, Label::kNear); __ 4012 src/ia32/code-stubs-ia32.cc __ Throw(eax); __ 4014 src/ia32/code-stubs-ia32.cc __ bind(&throw_termination_exception); __ 4015 src/ia32/code-stubs-ia32.cc __ ThrowUncatchable(eax); __ 4017 src/ia32/code-stubs-ia32.cc __ bind(&failure); __ 4019 src/ia32/code-stubs-ia32.cc __ mov(eax, factory->null_value()); __ 4020 src/ia32/code-stubs-ia32.cc __ ret(4 * kPointerSize); __ 4023 src/ia32/code-stubs-ia32.cc __ bind(&success); __ 4024 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(esp, kJSRegExpOffset)); __ 4025 src/ia32/code-stubs-ia32.cc __ mov(ecx, FieldOperand(eax, JSRegExp::kDataOffset)); __ 4026 src/ia32/code-stubs-ia32.cc __ mov(edx, FieldOperand(ecx, JSRegExp::kIrregexpCaptureCountOffset)); __ 4030 src/ia32/code-stubs-ia32.cc __ add(edx, Immediate(2)); // edx was a smi. __ 4034 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(esp, kLastMatchInfoOffset)); __ 4035 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(eax, JSArray::kElementsOffset)); __ 4040 src/ia32/code-stubs-ia32.cc __ SmiTag(edx); // Number of capture registers to smi. __ 4041 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(ebx, RegExpImpl::kLastCaptureCountOffset), edx); __ 4042 src/ia32/code-stubs-ia32.cc __ SmiUntag(edx); // Number of capture registers back from smi. __ 4044 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(esp, kSubjectOffset)); __ 4045 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(ebx, RegExpImpl::kLastSubjectOffset), eax); __ 4046 src/ia32/code-stubs-ia32.cc __ RecordWriteField(ebx, __ 4051 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(esp, kSubjectOffset)); __ 4052 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(ebx, RegExpImpl::kLastInputOffset), eax); __ 4053 src/ia32/code-stubs-ia32.cc __ RecordWriteField(ebx, __ 4062 src/ia32/code-stubs-ia32.cc __ mov(ecx, Immediate(address_of_static_offsets_vector)); __ 4070 src/ia32/code-stubs-ia32.cc __ bind(&next_capture); __ 4071 src/ia32/code-stubs-ia32.cc __ sub(edx, Immediate(1)); __ 4072 src/ia32/code-stubs-ia32.cc __ j(negative, &done, Label::kNear); __ 4074 src/ia32/code-stubs-ia32.cc __ mov(edi, Operand(ecx, edx, times_int_size, 0)); __ 4075 src/ia32/code-stubs-ia32.cc __ SmiTag(edi); __ 4077 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(ebx, __ 4082 src/ia32/code-stubs-ia32.cc __ jmp(&next_capture); __ 4083 src/ia32/code-stubs-ia32.cc __ bind(&done); __ 4086 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(esp, kLastMatchInfoOffset)); __ 4087 src/ia32/code-stubs-ia32.cc __ ret(4 * kPointerSize); __ 4092 src/ia32/code-stubs-ia32.cc __ bind(&external_string); __ 4093 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset)); __ 4094 src/ia32/code-stubs-ia32.cc __ movzx_b(ebx, FieldOperand(ebx, Map::kInstanceTypeOffset)); __ 4098 src/ia32/code-stubs-ia32.cc __ test_b(ebx, kIsIndirectStringMask); __ 4099 src/ia32/code-stubs-ia32.cc __ Assert(zero, "external string expected, but not found"); __ 4101 src/ia32/code-stubs-ia32.cc __ mov(eax, FieldOperand(eax, ExternalString::kResourceDataOffset)); __ 4104 src/ia32/code-stubs-ia32.cc __ sub(eax, Immediate(SeqTwoByteString::kHeaderSize - kHeapObjectTag)); __ 4106 src/ia32/code-stubs-ia32.cc __ test_b(ebx, kStringEncodingMask); __ 4107 src/ia32/code-stubs-ia32.cc __ j(not_zero, &seq_ascii_string); __ 4108 src/ia32/code-stubs-ia32.cc __ jmp(&seq_two_byte_string); __ 4111 src/ia32/code-stubs-ia32.cc __ bind(&runtime); __ 4112 src/ia32/code-stubs-ia32.cc __ TailCallRuntime(Runtime::kRegExpExec, 4, 1); __ 4121 src/ia32/code-stubs-ia32.cc __ mov(ebx, Operand(esp, kPointerSize * 3)); __ 4122 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(ebx, &slowcase); __ 4123 src/ia32/code-stubs-ia32.cc __ cmp(ebx, Immediate(Smi::FromInt(kMaxInlineLength))); __ 4124 src/ia32/code-stubs-ia32.cc __ j(above, &slowcase); __ 4131 src/ia32/code-stubs-ia32.cc __ AllocateInNewSpace(JSRegExpResult::kSize + FixedArray::kHeaderSize, __ 4145 src/ia32/code-stubs-ia32.cc __ mov(edx, ContextOperand(esi, Context::GLOBAL_INDEX)); __ 4147 src/ia32/code-stubs-ia32.cc __ mov(ecx, Immediate(factory->empty_fixed_array())); __ 4148 src/ia32/code-stubs-ia32.cc __ lea(ebx, Operand(eax, JSRegExpResult::kSize)); __ 4149 src/ia32/code-stubs-ia32.cc __ mov(edx, FieldOperand(edx, GlobalObject::kGlobalContextOffset)); __ 4150 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, JSObject::kElementsOffset), ebx); __ 4151 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, JSObject::kPropertiesOffset), ecx); __ 4152 src/ia32/code-stubs-ia32.cc __ mov(edx, ContextOperand(edx, Context::REGEXP_RESULT_MAP_INDEX)); __ 4153 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, HeapObject::kMapOffset), edx); __ 4156 src/ia32/code-stubs-ia32.cc __ mov(ecx, Operand(esp, kPointerSize * 1)); __ 4157 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, JSRegExpResult::kInputOffset), ecx); __ 4158 src/ia32/code-stubs-ia32.cc __ mov(ecx, Operand(esp, kPointerSize * 2)); __ 4159 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, JSRegExpResult::kIndexOffset), ecx); __ 4160 src/ia32/code-stubs-ia32.cc __ mov(ecx, Operand(esp, kPointerSize * 3)); __ 4161 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, JSArray::kLengthOffset), ecx); __ 4169 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(ebx, HeapObject::kMapOffset), __ 4172 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(ebx, FixedArray::kLengthOffset), ecx); __ 4174 src/ia32/code-stubs-ia32.cc __ SmiUntag(ecx); __ 4175 src/ia32/code-stubs-ia32.cc __ mov(edx, Immediate(factory->the_hole_value())); __ 4176 src/ia32/code-stubs-ia32.cc __ lea(ebx, FieldOperand(ebx, FixedArray::kHeaderSize)); __ 4183 src/ia32/code-stubs-ia32.cc __ test(ecx, ecx); __ 4184 src/ia32/code-stubs-ia32.cc __ bind(&loop); __ 4185 src/ia32/code-stubs-ia32.cc __ j(less_equal, &done, Label::kNear); // Jump if ecx is negative or zero. __ 4186 src/ia32/code-stubs-ia32.cc __ sub(ecx, Immediate(1)); __ 4187 src/ia32/code-stubs-ia32.cc __ mov(Operand(ebx, ecx, times_pointer_size, 0), edx); __ 4188 src/ia32/code-stubs-ia32.cc __ jmp(&loop); __ 4190 src/ia32/code-stubs-ia32.cc __ bind(&done); __ 4191 src/ia32/code-stubs-ia32.cc __ ret(3 * kPointerSize); __ 4193 src/ia32/code-stubs-ia32.cc __ bind(&slowcase); __ 4194 src/ia32/code-stubs-ia32.cc __ TailCallRuntime(Runtime::kRegExpConstructResult, 3, 1); __ 4213 src/ia32/code-stubs-ia32.cc __ mov(scratch, Immediate(Heap::kNumberStringCacheRootIndex)); __ 4214 src/ia32/code-stubs-ia32.cc __ mov(number_string_cache, __ 4218 src/ia32/code-stubs-ia32.cc __ mov(mask, FieldOperand(number_string_cache, FixedArray::kLengthOffset)); __ 4219 src/ia32/code-stubs-ia32.cc __ shr(mask, kSmiTagSize + 1); // Untag length and divide it by two. __ 4220 src/ia32/code-stubs-ia32.cc __ sub(mask, Immediate(1)); // Make mask. __ 4229 src/ia32/code-stubs-ia32.cc __ mov(scratch, object); __ 4230 src/ia32/code-stubs-ia32.cc __ SmiUntag(scratch); __ 4234 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(object, ¬_smi, Label::kNear); __ 4235 src/ia32/code-stubs-ia32.cc __ mov(scratch, object); __ 4236 src/ia32/code-stubs-ia32.cc __ SmiUntag(scratch); __ 4237 src/ia32/code-stubs-ia32.cc __ jmp(&smi_hash_calculated, Label::kNear); __ 4238 src/ia32/code-stubs-ia32.cc __ bind(¬_smi); __ 4239 src/ia32/code-stubs-ia32.cc __ cmp(FieldOperand(object, HeapObject::kMapOffset), __ 4241 src/ia32/code-stubs-ia32.cc __ j(not_equal, not_found); __ 4243 src/ia32/code-stubs-ia32.cc __ mov(scratch, FieldOperand(object, HeapNumber::kValueOffset)); __ 4244 src/ia32/code-stubs-ia32.cc __ xor_(scratch, FieldOperand(object, HeapNumber::kValueOffset + 4)); __ 4246 src/ia32/code-stubs-ia32.cc __ and_(scratch, mask); __ 4249 src/ia32/code-stubs-ia32.cc __ mov(probe, __ 4254 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(probe, not_found); __ 4257 src/ia32/code-stubs-ia32.cc __ movdbl(xmm0, FieldOperand(object, HeapNumber::kValueOffset)); __ 4258 src/ia32/code-stubs-ia32.cc __ movdbl(xmm1, FieldOperand(probe, HeapNumber::kValueOffset)); __ 4259 src/ia32/code-stubs-ia32.cc __ ucomisd(xmm0, xmm1); __ 4261 src/ia32/code-stubs-ia32.cc __ fld_d(FieldOperand(object, HeapNumber::kValueOffset)); __ 4262 src/ia32/code-stubs-ia32.cc __ fld_d(FieldOperand(probe, HeapNumber::kValueOffset)); __ 4263 src/ia32/code-stubs-ia32.cc __ FCmp(); __ 4265 src/ia32/code-stubs-ia32.cc __ j(parity_even, not_found); // Bail out if NaN is involved. __ 4266 src/ia32/code-stubs-ia32.cc __ j(not_equal, not_found); // The cache did not contain this value. __ 4267 src/ia32/code-stubs-ia32.cc __ jmp(&load_result_from_cache, Label::kNear); __ 4270 src/ia32/code-stubs-ia32.cc __ bind(&smi_hash_calculated); __ 4272 src/ia32/code-stubs-ia32.cc __ and_(scratch, mask); __ 4275 src/ia32/code-stubs-ia32.cc __ cmp(object, __ 4280 src/ia32/code-stubs-ia32.cc __ j(not_equal, not_found); __ 4283 src/ia32/code-stubs-ia32.cc __ bind(&load_result_from_cache); __ 4284 src/ia32/code-stubs-ia32.cc __ mov(result, __ 4290 src/ia32/code-stubs-ia32.cc __ IncrementCounter(counters->number_to_string_native(), 1); __ 4297 src/ia32/code-stubs-ia32.cc __ mov(ebx, Operand(esp, kPointerSize)); __ 4301 src/ia32/code-stubs-ia32.cc __ ret(1 * kPointerSize); __ 4303 src/ia32/code-stubs-ia32.cc __ bind(&runtime); __ 4305 src/ia32/code-stubs-ia32.cc __ TailCallRuntime(Runtime::kNumberToStringSkipCache, 1, 1); __ 4324 src/ia32/code-stubs-ia32.cc __ mov(ecx, edx); __ 4325 src/ia32/code-stubs-ia32.cc __ or_(ecx, eax); __ 4326 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(ecx, &non_smi, Label::kNear); __ 4327 src/ia32/code-stubs-ia32.cc __ sub(edx, eax); // Return on the result of the subtraction. __ 4328 src/ia32/code-stubs-ia32.cc __ j(no_overflow, &smi_done, Label::kNear); __ 4329 src/ia32/code-stubs-ia32.cc __ not_(edx); // Correct sign in case of overflow. edx is never 0 here. __ 4330 src/ia32/code-stubs-ia32.cc __ bind(&smi_done); __ 4331 src/ia32/code-stubs-ia32.cc __ mov(eax, edx); __ 4332 src/ia32/code-stubs-ia32.cc __ ret(0); __ 4333 src/ia32/code-stubs-ia32.cc __ bind(&non_smi); __ 4335 src/ia32/code-stubs-ia32.cc __ mov(ecx, edx); __ 4336 src/ia32/code-stubs-ia32.cc __ or_(ecx, eax); __ 4337 src/ia32/code-stubs-ia32.cc __ test(ecx, Immediate(kSmiTagMask)); __ 4338 src/ia32/code-stubs-ia32.cc __ Assert(not_zero, "Unexpected smi operands."); __ 4348 src/ia32/code-stubs-ia32.cc __ cmp(eax, edx); __ 4349 src/ia32/code-stubs-ia32.cc __ j(not_equal, ¬_identical); __ 4355 src/ia32/code-stubs-ia32.cc __ cmp(edx, masm->isolate()->factory()->undefined_value()); __ 4356 src/ia32/code-stubs-ia32.cc __ j(not_equal, &check_for_nan, Label::kNear); __ 4357 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(Smi::FromInt(NegativeComparisonResult(cc_)))); __ 4358 src/ia32/code-stubs-ia32.cc __ ret(0); __ 4359 src/ia32/code-stubs-ia32.cc __ bind(&check_for_nan); __ 4366 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(Smi::FromInt(EQUAL))); __ 4367 src/ia32/code-stubs-ia32.cc __ ret(0); __ 4370 src/ia32/code-stubs-ia32.cc __ cmp(FieldOperand(edx, HeapObject::kMapOffset), __ 4372 src/ia32/code-stubs-ia32.cc __ j(equal, &heap_number, Label::kNear); __ 4375 src/ia32/code-stubs-ia32.cc __ CmpObjectType(eax, FIRST_SPEC_OBJECT_TYPE, ecx); __ 4376 src/ia32/code-stubs-ia32.cc __ j(above_equal, ¬_identical); __ 4378 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(Smi::FromInt(EQUAL))); __ 4379 src/ia32/code-stubs-ia32.cc __ ret(0); __ 4381 src/ia32/code-stubs-ia32.cc __ bind(&heap_number); __ 4393 src/ia32/code-stubs-ia32.cc __ mov(edx, FieldOperand(edx, HeapNumber::kExponentOffset)); __ 4394 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(0)); __ 4397 src/ia32/code-stubs-ia32.cc __ add(edx, edx); __ 4398 src/ia32/code-stubs-ia32.cc __ cmp(edx, kQuietNaNHighBitsMask << 1); __ 4401 src/ia32/code-stubs-ia32.cc __ setcc(above_equal, eax); __ 4402 src/ia32/code-stubs-ia32.cc __ ret(0); __ 4405 src/ia32/code-stubs-ia32.cc __ j(above_equal, &nan, Label::kNear); __ 4406 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(Smi::FromInt(EQUAL))); __ 4407 src/ia32/code-stubs-ia32.cc __ ret(0); __ 4408 src/ia32/code-stubs-ia32.cc __ bind(&nan); __ 4409 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(Smi::FromInt(NegativeComparisonResult(cc_)))); __ 4410 src/ia32/code-stubs-ia32.cc __ ret(0); __ 4414 src/ia32/code-stubs-ia32.cc __ bind(¬_identical); __ 4430 src/ia32/code-stubs-ia32.cc __ mov(ecx, Immediate(kSmiTagMask)); __ 4431 src/ia32/code-stubs-ia32.cc __ and_(ecx, eax); __ 4432 src/ia32/code-stubs-ia32.cc __ test(ecx, edx); __ 4433 src/ia32/code-stubs-ia32.cc __ j(not_zero, ¬_smis, Label::kNear); __ 4439 src/ia32/code-stubs-ia32.cc __ sub(ecx, Immediate(0x01)); __ 4440 src/ia32/code-stubs-ia32.cc __ mov(ebx, edx); __ 4441 src/ia32/code-stubs-ia32.cc __ xor_(ebx, eax); __ 4442 src/ia32/code-stubs-ia32.cc __ and_(ebx, ecx); // ebx holds either 0 or eax ^ edx. __ 4443 src/ia32/code-stubs-ia32.cc __ xor_(ebx, eax); __ 4447 src/ia32/code-stubs-ia32.cc __ cmp(FieldOperand(ebx, HeapObject::kMapOffset), __ 4450 src/ia32/code-stubs-ia32.cc __ j(equal, &slow, Label::kNear); __ 4452 src/ia32/code-stubs-ia32.cc __ mov(eax, ebx); __ 4453 src/ia32/code-stubs-ia32.cc __ ret(0); __ 4455 src/ia32/code-stubs-ia32.cc __ bind(¬_smis); __ 4464 src/ia32/code-stubs-ia32.cc __ CmpObjectType(eax, FIRST_SPEC_OBJECT_TYPE, ecx); __ 4465 src/ia32/code-stubs-ia32.cc __ j(below, &first_non_object, Label::kNear); __ 4470 src/ia32/code-stubs-ia32.cc __ bind(&return_not_equal); __ 4471 src/ia32/code-stubs-ia32.cc __ ret(0); __ 4473 src/ia32/code-stubs-ia32.cc __ bind(&first_non_object); __ 4475 src/ia32/code-stubs-ia32.cc __ CmpInstanceType(ecx, ODDBALL_TYPE); __ 4476 src/ia32/code-stubs-ia32.cc __ j(equal, &return_not_equal); __ 4478 src/ia32/code-stubs-ia32.cc __ CmpObjectType(edx, FIRST_SPEC_OBJECT_TYPE, ecx); __ 4479 src/ia32/code-stubs-ia32.cc __ j(above_equal, &return_not_equal); __ 4482 src/ia32/code-stubs-ia32.cc __ CmpInstanceType(ecx, ODDBALL_TYPE); __ 4483 src/ia32/code-stubs-ia32.cc __ j(equal, &return_not_equal); __ 4486 src/ia32/code-stubs-ia32.cc __ bind(&slow); __ 4498 src/ia32/code-stubs-ia32.cc __ ucomisd(xmm0, xmm1); __ 4501 src/ia32/code-stubs-ia32.cc __ j(parity_even, &unordered, Label::kNear); __ 4503 src/ia32/code-stubs-ia32.cc __ mov(eax, 0); // equal __ 4504 src/ia32/code-stubs-ia32.cc __ mov(ecx, Immediate(Smi::FromInt(1))); __ 4505 src/ia32/code-stubs-ia32.cc __ cmov(above, eax, ecx); __ 4506 src/ia32/code-stubs-ia32.cc __ mov(ecx, Immediate(Smi::FromInt(-1))); __ 4507 src/ia32/code-stubs-ia32.cc __ cmov(below, eax, ecx); __ 4508 src/ia32/code-stubs-ia32.cc __ ret(0); __ 4514 src/ia32/code-stubs-ia32.cc __ FCmp(); __ 4517 src/ia32/code-stubs-ia32.cc __ j(parity_even, &unordered, Label::kNear); __ 4521 src/ia32/code-stubs-ia32.cc __ j(below, &below_label, Label::kNear); __ 4522 src/ia32/code-stubs-ia32.cc __ j(above, &above_label, Label::kNear); __ 4524 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(0)); __ 4525 src/ia32/code-stubs-ia32.cc __ ret(0); __ 4527 src/ia32/code-stubs-ia32.cc __ bind(&below_label); __ 4528 src/ia32/code-stubs-ia32.cc __ mov(eax, Immediate(Smi::FromInt(-1))); __ 4529 src/ia32/code-stubs-ia32.cc __ ret(0); __ 4531 src/ia32/code-stubs-ia32.cc __ bind(&above_label); __ 4532 src/ia32/code-stubs-ia32.cc __ mov(eax, Immediate(Smi::FromInt(1))); __ 4533 src/ia32/code-stubs-ia32.cc __ ret(0); __ 4538 src/ia32/code-stubs-ia32.cc __ bind(&unordered); __ 4541 src/ia32/code-stubs-ia32.cc __ mov(eax, Immediate(Smi::FromInt(1))); __ 4543 src/ia32/code-stubs-ia32.cc __ mov(eax, Immediate(Smi::FromInt(-1))); __ 4545 src/ia32/code-stubs-ia32.cc __ ret(0); __ 4548 src/ia32/code-stubs-ia32.cc __ bind(&non_number_comparison); __ 4560 src/ia32/code-stubs-ia32.cc __ ret(0); __ 4563 src/ia32/code-stubs-ia32.cc __ bind(&check_for_strings); __ 4565 src/ia32/code-stubs-ia32.cc __ JumpIfNotBothSequentialAsciiStrings(edx, eax, ecx, ebx, __ 4584 src/ia32/code-stubs-ia32.cc __ Abort("Unexpected fall-through from string comparison"); __ 4587 src/ia32/code-stubs-ia32.cc __ bind(&check_unequal_objects); __ 4599 src/ia32/code-stubs-ia32.cc __ lea(ecx, Operand(eax, edx, times_1, 0)); __ 4600 src/ia32/code-stubs-ia32.cc __ test(ecx, Immediate(kSmiTagMask)); __ 4601 src/ia32/code-stubs-ia32.cc __ j(not_zero, ¬_both_objects, Label::kNear); __ 4602 src/ia32/code-stubs-ia32.cc __ CmpObjectType(eax, FIRST_SPEC_OBJECT_TYPE, ecx); __ 4603 src/ia32/code-stubs-ia32.cc __ j(below, ¬_both_objects, Label::kNear); __ 4604 src/ia32/code-stubs-ia32.cc __ CmpObjectType(edx, FIRST_SPEC_OBJECT_TYPE, ebx); __ 4605 src/ia32/code-stubs-ia32.cc __ j(below, ¬_both_objects, Label::kNear); __ 4609 src/ia32/code-stubs-ia32.cc __ test_b(FieldOperand(ecx, Map::kBitFieldOffset), __ 4611 src/ia32/code-stubs-ia32.cc __ j(zero, &return_unequal, Label::kNear); __ 4612 src/ia32/code-stubs-ia32.cc __ test_b(FieldOperand(ebx, Map::kBitFieldOffset), __ 4614 src/ia32/code-stubs-ia32.cc __ j(zero, &return_unequal, Label::kNear); __ 4617 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(EQUAL)); __ 4618 src/ia32/code-stubs-ia32.cc __ bind(&return_unequal); __ 4621 src/ia32/code-stubs-ia32.cc __ ret(0); // rax, rdx were pushed __ 4622 src/ia32/code-stubs-ia32.cc __ bind(¬_both_objects); __ 4626 src/ia32/code-stubs-ia32.cc __ pop(ecx); __ 4627 src/ia32/code-stubs-ia32.cc __ push(edx); __ 4628 src/ia32/code-stubs-ia32.cc __ push(eax); __ 4636 src/ia32/code-stubs-ia32.cc __ push(Immediate(Smi::FromInt(NegativeComparisonResult(cc_)))); __ 4640 src/ia32/code-stubs-ia32.cc __ push(ecx); __ 4644 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(builtin, JUMP_FUNCTION); __ 4652 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(object, label); __ 4653 src/ia32/code-stubs-ia32.cc __ mov(scratch, FieldOperand(object, HeapObject::kMapOffset)); __ 4654 src/ia32/code-stubs-ia32.cc __ movzx_b(scratch, FieldOperand(scratch, Map::kInstanceTypeOffset)); __ 4655 src/ia32/code-stubs-ia32.cc __ and_(scratch, kIsSymbolMask | kIsNotStringMask); __ 4656 src/ia32/code-stubs-ia32.cc __ cmp(scratch, kSymbolTag | kStringTag); __ 4657 src/ia32/code-stubs-ia32.cc __ j(not_equal, label); __ 4662 src/ia32/code-stubs-ia32.cc __ TailCallRuntime(Runtime::kStackGuard, 0, 1); __ 4667 src/ia32/code-stubs-ia32.cc __ TailCallRuntime(Runtime::kInterrupt, 0, 1); __ 4681 src/ia32/code-stubs-ia32.cc __ mov(ecx, FieldOperand(ebx, JSGlobalPropertyCell::kValueOffset)); __ 4685 src/ia32/code-stubs-ia32.cc __ cmp(ecx, edi); __ 4686 src/ia32/code-stubs-ia32.cc __ j(equal, &done, Label::kNear); __ 4687 src/ia32/code-stubs-ia32.cc __ cmp(ecx, Immediate(TypeFeedbackCells::MegamorphicSentinel(isolate))); __ 4688 src/ia32/code-stubs-ia32.cc __ j(equal, &done, Label::kNear); __ 4692 src/ia32/code-stubs-ia32.cc __ cmp(ecx, Immediate(TypeFeedbackCells::UninitializedSentinel(isolate))); __ 4693 src/ia32/code-stubs-ia32.cc __ j(equal, &initialize, Label::kNear); __ 4696 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(ebx, JSGlobalPropertyCell::kValueOffset), __ 4698 src/ia32/code-stubs-ia32.cc __ jmp(&done, Label::kNear); __ 4701 src/ia32/code-stubs-ia32.cc __ bind(&initialize); __ 4702 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(ebx, JSGlobalPropertyCell::kValueOffset), edi); __ 4705 src/ia32/code-stubs-ia32.cc __ bind(&done); __ 4722 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(esp, (argc_ + 1) * kPointerSize)); __ 4724 src/ia32/code-stubs-ia32.cc __ cmp(eax, isolate->factory()->the_hole_value()); __ 4725 src/ia32/code-stubs-ia32.cc __ j(not_equal, &receiver_ok, Label::kNear); __ 4727 src/ia32/code-stubs-ia32.cc __ mov(ecx, GlobalObjectOperand()); __ 4728 src/ia32/code-stubs-ia32.cc __ mov(ecx, FieldOperand(ecx, GlobalObject::kGlobalReceiverOffset)); __ 4729 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, (argc_ + 1) * kPointerSize), ecx); __ 4730 src/ia32/code-stubs-ia32.cc __ bind(&receiver_ok); __ 4734 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(edi, &non_function); __ 4736 src/ia32/code-stubs-ia32.cc __ CmpObjectType(edi, JS_FUNCTION_TYPE, ecx); __ 4737 src/ia32/code-stubs-ia32.cc __ j(not_equal, &slow); __ 4748 src/ia32/code-stubs-ia32.cc __ cmp(eax, isolate->factory()->the_hole_value()); __ 4749 src/ia32/code-stubs-ia32.cc __ j(equal, &call_as_function); __ 4750 src/ia32/code-stubs-ia32.cc __ InvokeFunction(edi, __ 4755 src/ia32/code-stubs-ia32.cc __ bind(&call_as_function); __ 4757 src/ia32/code-stubs-ia32.cc __ InvokeFunction(edi, __ 4764 src/ia32/code-stubs-ia32.cc __ bind(&slow); __ 4769 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(ebx, JSGlobalPropertyCell::kValueOffset), __ 4773 src/ia32/code-stubs-ia32.cc __ CmpInstanceType(ecx, JS_FUNCTION_PROXY_TYPE); __ 4774 src/ia32/code-stubs-ia32.cc __ j(not_equal, &non_function); __ 4775 src/ia32/code-stubs-ia32.cc __ pop(ecx); __ 4776 src/ia32/code-stubs-ia32.cc __ push(edi); // put proxy as additional argument under return address __ 4777 src/ia32/code-stubs-ia32.cc __ push(ecx); __ 4778 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(argc_ + 1)); __ 4779 src/ia32/code-stubs-ia32.cc __ Set(ebx, Immediate(0)); __ 4780 src/ia32/code-stubs-ia32.cc __ SetCallKind(ecx, CALL_AS_FUNCTION); __ 4781 src/ia32/code-stubs-ia32.cc __ GetBuiltinEntry(edx, Builtins::CALL_FUNCTION_PROXY); __ 4784 src/ia32/code-stubs-ia32.cc __ jmp(adaptor, RelocInfo::CODE_TARGET); __ 4789 src/ia32/code-stubs-ia32.cc __ bind(&non_function); __ 4790 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, (argc_ + 1) * kPointerSize), edi); __ 4791 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(argc_)); __ 4792 src/ia32/code-stubs-ia32.cc __ Set(ebx, Immediate(0)); __ 4793 src/ia32/code-stubs-ia32.cc __ SetCallKind(ecx, CALL_AS_METHOD); __ 4794 src/ia32/code-stubs-ia32.cc __ GetBuiltinEntry(edx, Builtins::CALL_NON_FUNCTION); __ 4796 src/ia32/code-stubs-ia32.cc __ jmp(adaptor, RelocInfo::CODE_TARGET); __ 4807 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(edi, &non_function_call); __ 4809 src/ia32/code-stubs-ia32.cc __ CmpObjectType(edi, JS_FUNCTION_TYPE, ecx); __ 4810 src/ia32/code-stubs-ia32.cc __ j(not_equal, &slow); __ 4817 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(edi, JSFunction::kSharedFunctionInfoOffset)); __ 4818 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(ebx, SharedFunctionInfo::kConstructStubOffset)); __ 4819 src/ia32/code-stubs-ia32.cc __ lea(ebx, FieldOperand(ebx, Code::kHeaderSize)); __ 4820 src/ia32/code-stubs-ia32.cc __ jmp(ebx); __ 4826 src/ia32/code-stubs-ia32.cc __ bind(&slow); __ 4827 src/ia32/code-stubs-ia32.cc __ CmpInstanceType(ecx, JS_FUNCTION_PROXY_TYPE); __ 4828 src/ia32/code-stubs-ia32.cc __ j(not_equal, &non_function_call); __ 4829 src/ia32/code-stubs-ia32.cc __ GetBuiltinEntry(edx, Builtins::CALL_FUNCTION_PROXY_AS_CONSTRUCTOR); __ 4830 src/ia32/code-stubs-ia32.cc __ jmp(&do_call); __ 4832 src/ia32/code-stubs-ia32.cc __ bind(&non_function_call); __ 4833 src/ia32/code-stubs-ia32.cc __ GetBuiltinEntry(edx, Builtins::CALL_NON_FUNCTION_AS_CONSTRUCTOR); __ 4834 src/ia32/code-stubs-ia32.cc __ bind(&do_call); __ 4836 src/ia32/code-stubs-ia32.cc __ Set(ebx, Immediate(0)); __ 4839 src/ia32/code-stubs-ia32.cc __ SetCallKind(ecx, CALL_AS_METHOD); __ 4840 src/ia32/code-stubs-ia32.cc __ jmp(arguments_adaptor, RelocInfo::CODE_TARGET); __ 4895 src/ia32/code-stubs-ia32.cc __ CheckStackAlignment(); __ 4904 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 0 * kPointerSize), eax); // Result. __ 4905 src/ia32/code-stubs-ia32.cc __ call(FUNCTION_ADDR(Runtime::PerformGC), RelocInfo::RUNTIME_ENTRY); __ 4911 src/ia32/code-stubs-ia32.cc __ inc(Operand::StaticVariable(scope_depth)); __ 4915 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 0 * kPointerSize), edi); // argc. __ 4916 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 1 * kPointerSize), esi); // argv. __ 4917 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 2 * kPointerSize), __ 4919 src/ia32/code-stubs-ia32.cc __ call(ebx); __ 4923 src/ia32/code-stubs-ia32.cc __ dec(Operand::StaticVariable(scope_depth)); __ 4930 src/ia32/code-stubs-ia32.cc __ cmp(eax, masm->isolate()->factory()->the_hole_value()); __ 4931 src/ia32/code-stubs-ia32.cc __ j(not_equal, &okay, Label::kNear); __ 4932 src/ia32/code-stubs-ia32.cc __ int3(); __ 4933 src/ia32/code-stubs-ia32.cc __ bind(&okay); __ 4939 src/ia32/code-stubs-ia32.cc __ lea(ecx, Operand(eax, 1)); __ 4941 src/ia32/code-stubs-ia32.cc __ test(ecx, Immediate(kFailureTagMask)); __ 4942 src/ia32/code-stubs-ia32.cc __ j(zero, &failure_returned); __ 4950 src/ia32/code-stubs-ia32.cc __ push(edx); __ 4951 src/ia32/code-stubs-ia32.cc __ mov(edx, Immediate(masm->isolate()->factory()->the_hole_value())); __ 4953 src/ia32/code-stubs-ia32.cc __ cmp(edx, Operand::StaticVariable(pending_exception_address)); __ 4955 src/ia32/code-stubs-ia32.cc __ j(equal, &okay, Label::kNear); __ 4956 src/ia32/code-stubs-ia32.cc __ int3(); __ 4957 src/ia32/code-stubs-ia32.cc __ bind(&okay); __ 4958 src/ia32/code-stubs-ia32.cc __ pop(edx); __ 4962 src/ia32/code-stubs-ia32.cc __ LeaveExitFrame(save_doubles_ == kSaveFPRegs); __ 4963 src/ia32/code-stubs-ia32.cc __ ret(0); __ 4966 src/ia32/code-stubs-ia32.cc __ bind(&failure_returned); __ 4971 src/ia32/code-stubs-ia32.cc __ test(eax, Immediate(((1 << kFailureTypeTagSize) - 1) << kFailureTagSize)); __ 4972 src/ia32/code-stubs-ia32.cc __ j(zero, &retry, Label::kNear); __ 4975 src/ia32/code-stubs-ia32.cc __ cmp(eax, reinterpret_cast<int32_t>(Failure::OutOfMemoryException())); __ 4976 src/ia32/code-stubs-ia32.cc __ j(equal, throw_out_of_memory_exception); __ 4979 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand::StaticVariable(pending_exception_address)); __ 4980 src/ia32/code-stubs-ia32.cc __ mov(edx, Immediate(masm->isolate()->factory()->the_hole_value())); __ 4981 src/ia32/code-stubs-ia32.cc __ mov(Operand::StaticVariable(pending_exception_address), edx); __ 4985 src/ia32/code-stubs-ia32.cc __ cmp(eax, masm->isolate()->factory()->termination_exception()); __ 4986 src/ia32/code-stubs-ia32.cc __ j(equal, throw_termination_exception); __ 4989 src/ia32/code-stubs-ia32.cc __ jmp(throw_normal_exception); __ 4992 src/ia32/code-stubs-ia32.cc __ bind(&retry); __ 5009 src/ia32/code-stubs-ia32.cc __ EnterExitFrame(save_doubles_ == kSaveFPRegs); __ 5040 src/ia32/code-stubs-ia32.cc __ mov(eax, Immediate(reinterpret_cast<int32_t>(failure))); __ 5048 src/ia32/code-stubs-ia32.cc __ bind(&throw_out_of_memory_exception); __ 5053 src/ia32/code-stubs-ia32.cc __ mov(Operand::StaticVariable(external_caught), Immediate(false)); __ 5058 src/ia32/code-stubs-ia32.cc __ mov(eax, reinterpret_cast<int32_t>(Failure::OutOfMemoryException())); __ 5059 src/ia32/code-stubs-ia32.cc __ mov(Operand::StaticVariable(pending_exception), eax); __ 5062 src/ia32/code-stubs-ia32.cc __ bind(&throw_termination_exception); __ 5063 src/ia32/code-stubs-ia32.cc __ ThrowUncatchable(eax); __ 5065 src/ia32/code-stubs-ia32.cc __ bind(&throw_normal_exception); __ 5066 src/ia32/code-stubs-ia32.cc __ Throw(eax); __ 5075 src/ia32/code-stubs-ia32.cc __ push(ebp); __ 5076 src/ia32/code-stubs-ia32.cc __ mov(ebp, esp); __ 5080 src/ia32/code-stubs-ia32.cc __ push(Immediate(Smi::FromInt(marker))); // context slot __ 5081 src/ia32/code-stubs-ia32.cc __ push(Immediate(Smi::FromInt(marker))); // function slot __ 5083 src/ia32/code-stubs-ia32.cc __ push(edi); __ 5084 src/ia32/code-stubs-ia32.cc __ push(esi); __ 5085 src/ia32/code-stubs-ia32.cc __ push(ebx); __ 5089 src/ia32/code-stubs-ia32.cc __ push(Operand::StaticVariable(c_entry_fp)); __ 5094 src/ia32/code-stubs-ia32.cc __ cmp(Operand::StaticVariable(js_entry_sp), Immediate(0)); __ 5095 src/ia32/code-stubs-ia32.cc __ j(not_equal, ¬_outermost_js, Label::kNear); __ 5096 src/ia32/code-stubs-ia32.cc __ mov(Operand::StaticVariable(js_entry_sp), ebp); __ 5097 src/ia32/code-stubs-ia32.cc __ push(Immediate(Smi::FromInt(StackFrame::OUTERMOST_JSENTRY_FRAME))); __ 5098 src/ia32/code-stubs-ia32.cc __ jmp(&invoke, Label::kNear); __ 5099 src/ia32/code-stubs-ia32.cc __ bind(¬_outermost_js); __ 5100 src/ia32/code-stubs-ia32.cc __ push(Immediate(Smi::FromInt(StackFrame::INNER_JSENTRY_FRAME))); __ 5104 src/ia32/code-stubs-ia32.cc __ jmp(&invoke); __ 5105 src/ia32/code-stubs-ia32.cc __ bind(&handler_entry); __ 5111 src/ia32/code-stubs-ia32.cc __ mov(Operand::StaticVariable(pending_exception), eax); __ 5112 src/ia32/code-stubs-ia32.cc __ mov(eax, reinterpret_cast<int32_t>(Failure::Exception())); __ 5113 src/ia32/code-stubs-ia32.cc __ jmp(&exit); __ 5117 src/ia32/code-stubs-ia32.cc __ bind(&invoke); __ 5118 src/ia32/code-stubs-ia32.cc __ PushTryHandler(StackHandler::JS_ENTRY, 0); __ 5121 src/ia32/code-stubs-ia32.cc __ mov(edx, Immediate(masm->isolate()->factory()->the_hole_value())); __ 5122 src/ia32/code-stubs-ia32.cc __ mov(Operand::StaticVariable(pending_exception), edx); __ 5125 src/ia32/code-stubs-ia32.cc __ push(Immediate(0)); // receiver __ 5134 src/ia32/code-stubs-ia32.cc __ mov(edx, Immediate(construct_entry)); __ 5138 src/ia32/code-stubs-ia32.cc __ mov(edx, Immediate(entry)); __ 5140 src/ia32/code-stubs-ia32.cc __ mov(edx, Operand(edx, 0)); // deref address __ 5141 src/ia32/code-stubs-ia32.cc __ lea(edx, FieldOperand(edx, Code::kHeaderSize)); __ 5142 src/ia32/code-stubs-ia32.cc __ call(edx); __ 5145 src/ia32/code-stubs-ia32.cc __ PopTryHandler(); __ 5147 src/ia32/code-stubs-ia32.cc __ bind(&exit); __ 5149 src/ia32/code-stubs-ia32.cc __ pop(ebx); __ 5150 src/ia32/code-stubs-ia32.cc __ cmp(ebx, Immediate(Smi::FromInt(StackFrame::OUTERMOST_JSENTRY_FRAME))); __ 5151 src/ia32/code-stubs-ia32.cc __ j(not_equal, ¬_outermost_js_2); __ 5152 src/ia32/code-stubs-ia32.cc __ mov(Operand::StaticVariable(js_entry_sp), Immediate(0)); __ 5153 src/ia32/code-stubs-ia32.cc __ bind(¬_outermost_js_2); __ 5156 src/ia32/code-stubs-ia32.cc __ pop(Operand::StaticVariable(ExternalReference( __ 5161 src/ia32/code-stubs-ia32.cc __ pop(ebx); __ 5162 src/ia32/code-stubs-ia32.cc __ pop(esi); __ 5163 src/ia32/code-stubs-ia32.cc __ pop(edi); __ 5164 src/ia32/code-stubs-ia32.cc __ add(esp, Immediate(2 * kPointerSize)); // remove markers __ 5167 src/ia32/code-stubs-ia32.cc __ pop(ebp); __ 5168 src/ia32/code-stubs-ia32.cc __ ret(0); __ 5216 src/ia32/code-stubs-ia32.cc __ mov(object, Operand(esp, 2 * kPointerSize)); __ 5217 src/ia32/code-stubs-ia32.cc __ mov(function, Operand(esp, 1 * kPointerSize)); __ 5221 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(object, ¬_js_object); __ 5222 src/ia32/code-stubs-ia32.cc __ IsObjectJSObjectType(object, map, scratch, ¬_js_object); __ 5229 src/ia32/code-stubs-ia32.cc __ mov(scratch, Immediate(Heap::kInstanceofCacheFunctionRootIndex)); __ 5230 src/ia32/code-stubs-ia32.cc __ cmp(function, Operand::StaticArray(scratch, __ 5233 src/ia32/code-stubs-ia32.cc __ j(not_equal, &miss, Label::kNear); __ 5234 src/ia32/code-stubs-ia32.cc __ mov(scratch, Immediate(Heap::kInstanceofCacheMapRootIndex)); __ 5235 src/ia32/code-stubs-ia32.cc __ cmp(map, Operand::StaticArray( __ 5237 src/ia32/code-stubs-ia32.cc __ j(not_equal, &miss, Label::kNear); __ 5238 src/ia32/code-stubs-ia32.cc __ mov(scratch, Immediate(Heap::kInstanceofCacheAnswerRootIndex)); __ 5239 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand::StaticArray( __ 5241 src/ia32/code-stubs-ia32.cc __ ret((HasArgsInRegisters() ? 0 : 2) * kPointerSize); __ 5242 src/ia32/code-stubs-ia32.cc __ bind(&miss); __ 5246 src/ia32/code-stubs-ia32.cc __ TryGetFunctionPrototype(function, prototype, scratch, &slow, true); __ 5249 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(prototype, &slow); __ 5250 src/ia32/code-stubs-ia32.cc __ IsObjectJSObjectType(prototype, scratch, scratch, &slow); __ 5255 src/ia32/code-stubs-ia32.cc __ mov(scratch, Immediate(Heap::kInstanceofCacheMapRootIndex)); __ 5256 src/ia32/code-stubs-ia32.cc __ mov(Operand::StaticArray(scratch, times_pointer_size, roots_array_start), __ 5258 src/ia32/code-stubs-ia32.cc __ mov(scratch, Immediate(Heap::kInstanceofCacheFunctionRootIndex)); __ 5259 src/ia32/code-stubs-ia32.cc __ mov(Operand::StaticArray(scratch, times_pointer_size, roots_array_start), __ 5266 src/ia32/code-stubs-ia32.cc __ mov(scratch, Operand(esp, 0 * kPointerSize)); __ 5267 src/ia32/code-stubs-ia32.cc __ sub(scratch, Operand(esp, 1 * kPointerSize)); __ 5269 src/ia32/code-stubs-ia32.cc __ cmpb(Operand(scratch, 0), kCmpEdiOperandByte1); __ 5270 src/ia32/code-stubs-ia32.cc __ Assert(equal, "InstanceofStub unexpected call site cache (cmp 1)"); __ 5271 src/ia32/code-stubs-ia32.cc __ cmpb(Operand(scratch, 1), kCmpEdiOperandByte2); __ 5272 src/ia32/code-stubs-ia32.cc __ Assert(equal, "InstanceofStub unexpected call site cache (cmp 2)"); __ 5274 src/ia32/code-stubs-ia32.cc __ mov(scratch, Operand(scratch, kDeltaToCmpImmediate)); __ 5275 src/ia32/code-stubs-ia32.cc __ mov(Operand(scratch, 0), map); __ 5280 src/ia32/code-stubs-ia32.cc __ mov(scratch, FieldOperand(map, Map::kPrototypeOffset)); __ 5282 src/ia32/code-stubs-ia32.cc __ bind(&loop); __ 5283 src/ia32/code-stubs-ia32.cc __ cmp(scratch, prototype); __ 5284 src/ia32/code-stubs-ia32.cc __ j(equal, &is_instance, Label::kNear); __ 5286 src/ia32/code-stubs-ia32.cc __ cmp(scratch, Immediate(factory->null_value())); __ 5287 src/ia32/code-stubs-ia32.cc __ j(equal, &is_not_instance, Label::kNear); __ 5288 src/ia32/code-stubs-ia32.cc __ mov(scratch, FieldOperand(scratch, HeapObject::kMapOffset)); __ 5289 src/ia32/code-stubs-ia32.cc __ mov(scratch, FieldOperand(scratch, Map::kPrototypeOffset)); __ 5290 src/ia32/code-stubs-ia32.cc __ jmp(&loop); __ 5292 src/ia32/code-stubs-ia32.cc __ bind(&is_instance); __ 5294 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(0)); __ 5295 src/ia32/code-stubs-ia32.cc __ mov(scratch, Immediate(Heap::kInstanceofCacheAnswerRootIndex)); __ 5296 src/ia32/code-stubs-ia32.cc __ mov(Operand::StaticArray(scratch, __ 5300 src/ia32/code-stubs-ia32.cc __ mov(eax, factory->true_value()); __ 5301 src/ia32/code-stubs-ia32.cc __ mov(scratch, Operand(esp, 0 * kPointerSize)); __ 5302 src/ia32/code-stubs-ia32.cc __ sub(scratch, Operand(esp, 1 * kPointerSize)); __ 5304 src/ia32/code-stubs-ia32.cc __ cmpb(Operand(scratch, kDeltaToMov), kMovEaxImmediateByte); __ 5305 src/ia32/code-stubs-ia32.cc __ Assert(equal, "InstanceofStub unexpected call site cache (mov)"); __ 5307 src/ia32/code-stubs-ia32.cc __ mov(Operand(scratch, kDeltaToMovImmediate), eax); __ 5309 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(0)); __ 5312 src/ia32/code-stubs-ia32.cc __ ret((HasArgsInRegisters() ? 0 : 2) * kPointerSize); __ 5314 src/ia32/code-stubs-ia32.cc __ bind(&is_not_instance); __ 5316 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(Smi::FromInt(1))); __ 5317 src/ia32/code-stubs-ia32.cc __ mov(scratch, Immediate(Heap::kInstanceofCacheAnswerRootIndex)); __ 5318 src/ia32/code-stubs-ia32.cc __ mov(Operand::StaticArray( __ 5322 src/ia32/code-stubs-ia32.cc __ mov(eax, factory->false_value()); __ 5323 src/ia32/code-stubs-ia32.cc __ mov(scratch, Operand(esp, 0 * kPointerSize)); __ 5324 src/ia32/code-stubs-ia32.cc __ sub(scratch, Operand(esp, 1 * kPointerSize)); __ 5326 src/ia32/code-stubs-ia32.cc __ cmpb(Operand(scratch, kDeltaToMov), kMovEaxImmediateByte); __ 5327 src/ia32/code-stubs-ia32.cc __ Assert(equal, "InstanceofStub unexpected call site cache (mov)"); __ 5329 src/ia32/code-stubs-ia32.cc __ mov(Operand(scratch, kDeltaToMovImmediate), eax); __ 5331 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(Smi::FromInt(1))); __ 5334 src/ia32/code-stubs-ia32.cc __ ret((HasArgsInRegisters() ? 0 : 2) * kPointerSize); __ 5337 src/ia32/code-stubs-ia32.cc __ bind(¬_js_object); __ 5340 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(function, &slow, Label::kNear); __ 5341 src/ia32/code-stubs-ia32.cc __ CmpObjectType(function, JS_FUNCTION_TYPE, scratch); __ 5342 src/ia32/code-stubs-ia32.cc __ j(not_equal, &slow, Label::kNear); __ 5345 src/ia32/code-stubs-ia32.cc __ cmp(object, factory->null_value()); __ 5346 src/ia32/code-stubs-ia32.cc __ j(not_equal, &object_not_null, Label::kNear); __ 5347 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(Smi::FromInt(1))); __ 5348 src/ia32/code-stubs-ia32.cc __ ret((HasArgsInRegisters() ? 0 : 2) * kPointerSize); __ 5350 src/ia32/code-stubs-ia32.cc __ bind(&object_not_null); __ 5352 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(object, &object_not_null_or_smi, Label::kNear); __ 5353 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(Smi::FromInt(1))); __ 5354 src/ia32/code-stubs-ia32.cc __ ret((HasArgsInRegisters() ? 0 : 2) * kPointerSize); __ 5356 src/ia32/code-stubs-ia32.cc __ bind(&object_not_null_or_smi); __ 5359 src/ia32/code-stubs-ia32.cc __ j(NegateCondition(is_string), &slow, Label::kNear); __ 5360 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(Smi::FromInt(1))); __ 5361 src/ia32/code-stubs-ia32.cc __ ret((HasArgsInRegisters() ? 0 : 2) * kPointerSize); __ 5364 src/ia32/code-stubs-ia32.cc __ bind(&slow); __ 5369 src/ia32/code-stubs-ia32.cc __ pop(scratch); __ 5370 src/ia32/code-stubs-ia32.cc __ push(object); __ 5371 src/ia32/code-stubs-ia32.cc __ push(function); __ 5372 src/ia32/code-stubs-ia32.cc __ push(scratch); __ 5374 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::INSTANCE_OF, JUMP_FUNCTION); __ 5379 src/ia32/code-stubs-ia32.cc __ push(object); __ 5380 src/ia32/code-stubs-ia32.cc __ push(function); __ 5381 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(Builtins::INSTANCE_OF, CALL_FUNCTION); __ 5384 src/ia32/code-stubs-ia32.cc __ test(eax, eax); __ 5385 src/ia32/code-stubs-ia32.cc __ j(zero, &true_value, Label::kNear); __ 5386 src/ia32/code-stubs-ia32.cc __ mov(eax, factory->false_value()); __ 5387 src/ia32/code-stubs-ia32.cc __ jmp(&done, Label::kNear); __ 5388 src/ia32/code-stubs-ia32.cc __ bind(&true_value); __ 5389 src/ia32/code-stubs-ia32.cc __ mov(eax, factory->true_value()); __ 5390 src/ia32/code-stubs-ia32.cc __ bind(&done); __ 5391 src/ia32/code-stubs-ia32.cc __ ret((HasArgsInRegisters() ? 0 : 2) * kPointerSize); __ 5446 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(object_, receiver_not_string_); __ 5449 src/ia32/code-stubs-ia32.cc __ mov(result_, FieldOperand(object_, HeapObject::kMapOffset)); __ 5450 src/ia32/code-stubs-ia32.cc __ movzx_b(result_, FieldOperand(result_, Map::kInstanceTypeOffset)); __ 5452 src/ia32/code-stubs-ia32.cc __ test(result_, Immediate(kIsNotStringMask)); __ 5453 src/ia32/code-stubs-ia32.cc __ j(not_zero, receiver_not_string_); __ 5457 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(index_, &index_not_smi_); __ 5458 src/ia32/code-stubs-ia32.cc __ bind(&got_smi_index_); __ 5461 src/ia32/code-stubs-ia32.cc __ cmp(index_, FieldOperand(object_, String::kLengthOffset)); __ 5462 src/ia32/code-stubs-ia32.cc __ j(above_equal, index_out_of_range_); __ 5464 src/ia32/code-stubs-ia32.cc __ SmiUntag(index_); __ 5470 src/ia32/code-stubs-ia32.cc __ SmiTag(result_); __ 5471 src/ia32/code-stubs-ia32.cc __ bind(&exit_); __ 5478 src/ia32/code-stubs-ia32.cc __ Abort("Unexpected fallthrough to CharCodeAt slow case"); __ 5481 src/ia32/code-stubs-ia32.cc __ bind(&index_not_smi_); __ 5483 src/ia32/code-stubs-ia32.cc __ CheckMap(index_, __ 5488 src/ia32/code-stubs-ia32.cc __ push(object_); __ 5489 src/ia32/code-stubs-ia32.cc __ push(index_); // Consumed by runtime conversion function. __ 5491 src/ia32/code-stubs-ia32.cc __ CallRuntime(Runtime::kNumberToIntegerMapMinusZero, 1); __ 5495 src/ia32/code-stubs-ia32.cc __ CallRuntime(Runtime::kNumberToSmi, 1); __ 5500 src/ia32/code-stubs-ia32.cc __ mov(index_, eax); __ 5502 src/ia32/code-stubs-ia32.cc __ pop(object_); __ 5504 src/ia32/code-stubs-ia32.cc __ mov(result_, FieldOperand(object_, HeapObject::kMapOffset)); __ 5505 src/ia32/code-stubs-ia32.cc __ movzx_b(result_, FieldOperand(result_, Map::kInstanceTypeOffset)); __ 5509 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(index_, index_out_of_range_); __ 5511 src/ia32/code-stubs-ia32.cc __ jmp(&got_smi_index_); __ 5516 src/ia32/code-stubs-ia32.cc __ bind(&call_runtime_); __ 5518 src/ia32/code-stubs-ia32.cc __ push(object_); __ 5519 src/ia32/code-stubs-ia32.cc __ SmiTag(index_); __ 5520 src/ia32/code-stubs-ia32.cc __ push(index_); __ 5521 src/ia32/code-stubs-ia32.cc __ CallRuntime(Runtime::kStringCharCodeAt, 2); __ 5523 src/ia32/code-stubs-ia32.cc __ mov(result_, eax); __ 5526 src/ia32/code-stubs-ia32.cc __ jmp(&exit_); __ 5528 src/ia32/code-stubs-ia32.cc __ Abort("Unexpected fallthrough from CharCodeAt slow case"); __ 5540 src/ia32/code-stubs-ia32.cc __ test(code_, __ 5543 src/ia32/code-stubs-ia32.cc __ j(not_zero, &slow_case_); __ 5546 src/ia32/code-stubs-ia32.cc __ Set(result_, Immediate(factory->single_character_string_cache())); __ 5551 src/ia32/code-stubs-ia32.cc __ mov(result_, FieldOperand(result_, __ 5554 src/ia32/code-stubs-ia32.cc __ cmp(result_, factory->undefined_value()); __ 5555 src/ia32/code-stubs-ia32.cc __ j(equal, &slow_case_); __ 5556 src/ia32/code-stubs-ia32.cc __ bind(&exit_); __ 5563 src/ia32/code-stubs-ia32.cc __ Abort("Unexpected fallthrough to CharFromCode slow case"); __ 5565 src/ia32/code-stubs-ia32.cc __ bind(&slow_case_); __ 5567 src/ia32/code-stubs-ia32.cc __ push(code_); __ 5568 src/ia32/code-stubs-ia32.cc __ CallRuntime(Runtime::kCharFromCode, 1); __ 5570 src/ia32/code-stubs-ia32.cc __ mov(result_, eax); __ 5573 src/ia32/code-stubs-ia32.cc __ jmp(&exit_); __ 5575 src/ia32/code-stubs-ia32.cc __ Abort("Unexpected fallthrough from CharFromCode slow case"); __ 5601 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(esp, 2 * kPointerSize)); // First argument. __ 5602 src/ia32/code-stubs-ia32.cc __ mov(edx, Operand(esp, 1 * kPointerSize)); // Second argument. __ 5606 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(eax, &call_runtime); __ 5607 src/ia32/code-stubs-ia32.cc __ CmpObjectType(eax, FIRST_NONSTRING_TYPE, ebx); __ 5608 src/ia32/code-stubs-ia32.cc __ j(above_equal, &call_runtime); __ 5611 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(edx, &call_runtime); __ 5612 src/ia32/code-stubs-ia32.cc __ CmpObjectType(edx, FIRST_NONSTRING_TYPE, ebx); __ 5613 src/ia32/code-stubs-ia32.cc __ j(above_equal, &call_runtime); __ 5635 src/ia32/code-stubs-ia32.cc __ mov(ecx, FieldOperand(edx, String::kLengthOffset)); __ 5637 src/ia32/code-stubs-ia32.cc __ test(ecx, ecx); __ 5638 src/ia32/code-stubs-ia32.cc __ j(not_zero, &second_not_zero_length, Label::kNear); __ 5641 src/ia32/code-stubs-ia32.cc __ IncrementCounter(counters->string_add_native(), 1); __ 5642 src/ia32/code-stubs-ia32.cc __ ret(2 * kPointerSize); __ 5643 src/ia32/code-stubs-ia32.cc __ bind(&second_not_zero_length); __ 5644 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(eax, String::kLengthOffset)); __ 5646 src/ia32/code-stubs-ia32.cc __ test(ebx, ebx); __ 5647 src/ia32/code-stubs-ia32.cc __ j(not_zero, &both_not_zero_length, Label::kNear); __ 5649 src/ia32/code-stubs-ia32.cc __ mov(eax, edx); __ 5650 src/ia32/code-stubs-ia32.cc __ IncrementCounter(counters->string_add_native(), 1); __ 5651 src/ia32/code-stubs-ia32.cc __ ret(2 * kPointerSize); __ 5660 src/ia32/code-stubs-ia32.cc __ bind(&both_not_zero_length); __ 5661 src/ia32/code-stubs-ia32.cc __ add(ebx, ecx); __ 5664 src/ia32/code-stubs-ia32.cc __ j(overflow, &call_runtime); __ 5667 src/ia32/code-stubs-ia32.cc __ cmp(ebx, Immediate(Smi::FromInt(2))); __ 5668 src/ia32/code-stubs-ia32.cc __ j(not_equal, &longer_than_two); __ 5671 src/ia32/code-stubs-ia32.cc __ JumpIfNotBothSequentialAsciiStrings(eax, edx, ebx, ecx, &call_runtime); __ 5674 src/ia32/code-stubs-ia32.cc __ movzx_b(ebx, FieldOperand(eax, SeqAsciiString::kHeaderSize)); __ 5675 src/ia32/code-stubs-ia32.cc __ movzx_b(ecx, FieldOperand(edx, SeqAsciiString::kHeaderSize)); __ 5683 src/ia32/code-stubs-ia32.cc __ IncrementCounter(counters->string_add_native(), 1); __ 5684 src/ia32/code-stubs-ia32.cc __ ret(2 * kPointerSize); __ 5687 src/ia32/code-stubs-ia32.cc __ bind(&make_two_character_string); __ 5689 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(esp, 2 * kPointerSize)); // First argument. __ 5690 src/ia32/code-stubs-ia32.cc __ mov(edx, Operand(esp, 1 * kPointerSize)); // Second argument. __ 5692 src/ia32/code-stubs-ia32.cc __ movzx_b(ebx, FieldOperand(eax, SeqAsciiString::kHeaderSize)); __ 5693 src/ia32/code-stubs-ia32.cc __ movzx_b(ecx, FieldOperand(edx, SeqAsciiString::kHeaderSize)); __ 5694 src/ia32/code-stubs-ia32.cc __ bind(&make_two_character_string_no_reload); __ 5695 src/ia32/code-stubs-ia32.cc __ IncrementCounter(counters->string_add_make_two_char(), 1); __ 5696 src/ia32/code-stubs-ia32.cc __ AllocateAsciiString(eax, 2, edi, edx, &call_runtime); __ 5698 src/ia32/code-stubs-ia32.cc __ shl(ecx, kBitsPerByte); __ 5699 src/ia32/code-stubs-ia32.cc __ or_(ebx, ecx); __ 5701 src/ia32/code-stubs-ia32.cc __ mov_w(FieldOperand(eax, SeqAsciiString::kHeaderSize), ebx); __ 5702 src/ia32/code-stubs-ia32.cc __ IncrementCounter(counters->string_add_native(), 1); __ 5703 src/ia32/code-stubs-ia32.cc __ ret(2 * kPointerSize); __ 5705 src/ia32/code-stubs-ia32.cc __ bind(&longer_than_two); __ 5707 src/ia32/code-stubs-ia32.cc __ cmp(ebx, Immediate(Smi::FromInt(ConsString::kMinLength))); __ 5708 src/ia32/code-stubs-ia32.cc __ j(below, &string_add_flat_result); __ 5713 src/ia32/code-stubs-ia32.cc __ mov(edi, FieldOperand(eax, HeapObject::kMapOffset)); __ 5714 src/ia32/code-stubs-ia32.cc __ movzx_b(ecx, FieldOperand(edi, Map::kInstanceTypeOffset)); __ 5715 src/ia32/code-stubs-ia32.cc __ mov(edi, FieldOperand(edx, HeapObject::kMapOffset)); __ 5716 src/ia32/code-stubs-ia32.cc __ movzx_b(edi, FieldOperand(edi, Map::kInstanceTypeOffset)); __ 5717 src/ia32/code-stubs-ia32.cc __ and_(ecx, edi); __ 5720 src/ia32/code-stubs-ia32.cc __ test(ecx, Immediate(kStringEncodingMask)); __ 5721 src/ia32/code-stubs-ia32.cc __ j(zero, &non_ascii); __ 5722 src/ia32/code-stubs-ia32.cc __ bind(&ascii_data); __ 5724 src/ia32/code-stubs-ia32.cc __ AllocateAsciiConsString(ecx, edi, no_reg, &call_runtime); __ 5725 src/ia32/code-stubs-ia32.cc __ bind(&allocated); __ 5727 src/ia32/code-stubs-ia32.cc if (FLAG_debug_code) __ AbortIfNotSmi(ebx); __ 5728 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(ecx, ConsString::kLengthOffset), ebx); __ 5729 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(ecx, ConsString::kHashFieldOffset), __ 5731 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(ecx, ConsString::kFirstOffset), eax); __ 5732 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(ecx, ConsString::kSecondOffset), edx); __ 5733 src/ia32/code-stubs-ia32.cc __ mov(eax, ecx); __ 5734 src/ia32/code-stubs-ia32.cc __ IncrementCounter(counters->string_add_native(), 1); __ 5735 src/ia32/code-stubs-ia32.cc __ ret(2 * kPointerSize); __ 5736 src/ia32/code-stubs-ia32.cc __ bind(&non_ascii); __ 5741 src/ia32/code-stubs-ia32.cc __ test(ecx, Immediate(kAsciiDataHintMask)); __ 5742 src/ia32/code-stubs-ia32.cc __ j(not_zero, &ascii_data); __ 5743 src/ia32/code-stubs-ia32.cc __ mov(ecx, FieldOperand(eax, HeapObject::kMapOffset)); __ 5744 src/ia32/code-stubs-ia32.cc __ movzx_b(ecx, FieldOperand(ecx, Map::kInstanceTypeOffset)); __ 5745 src/ia32/code-stubs-ia32.cc __ xor_(edi, ecx); __ 5747 src/ia32/code-stubs-ia32.cc __ and_(edi, kAsciiStringTag | kAsciiDataHintTag); __ 5748 src/ia32/code-stubs-ia32.cc __ cmp(edi, kAsciiStringTag | kAsciiDataHintTag); __ 5749 src/ia32/code-stubs-ia32.cc __ j(equal, &ascii_data); __ 5751 src/ia32/code-stubs-ia32.cc __ AllocateTwoByteConsString(ecx, edi, no_reg, &call_runtime); __ 5752 src/ia32/code-stubs-ia32.cc __ jmp(&allocated); __ 5763 src/ia32/code-stubs-ia32.cc __ bind(&string_add_flat_result); __ 5764 src/ia32/code-stubs-ia32.cc __ mov(ecx, FieldOperand(eax, HeapObject::kMapOffset)); __ 5765 src/ia32/code-stubs-ia32.cc __ movzx_b(ecx, FieldOperand(ecx, Map::kInstanceTypeOffset)); __ 5768 src/ia32/code-stubs-ia32.cc __ test_b(ecx, kStringRepresentationMask); __ 5769 src/ia32/code-stubs-ia32.cc __ j(zero, &first_is_sequential, Label::kNear); __ 5772 src/ia32/code-stubs-ia32.cc __ test_b(ecx, kShortExternalStringMask); __ 5773 src/ia32/code-stubs-ia32.cc __ j(not_zero, &call_runtime); __ 5774 src/ia32/code-stubs-ia32.cc __ mov(eax, FieldOperand(eax, ExternalString::kResourceDataOffset)); __ 5776 src/ia32/code-stubs-ia32.cc __ jmp(&first_prepared, Label::kNear); __ 5777 src/ia32/code-stubs-ia32.cc __ bind(&first_is_sequential); __ 5778 src/ia32/code-stubs-ia32.cc __ add(eax, Immediate(SeqAsciiString::kHeaderSize - kHeapObjectTag)); __ 5779 src/ia32/code-stubs-ia32.cc __ bind(&first_prepared); __ 5781 src/ia32/code-stubs-ia32.cc __ mov(edi, FieldOperand(edx, HeapObject::kMapOffset)); __ 5782 src/ia32/code-stubs-ia32.cc __ movzx_b(edi, FieldOperand(edi, Map::kInstanceTypeOffset)); __ 5785 src/ia32/code-stubs-ia32.cc __ xor_(ecx, edi); __ 5786 src/ia32/code-stubs-ia32.cc __ test_b(ecx, kStringEncodingMask); __ 5787 src/ia32/code-stubs-ia32.cc __ j(not_zero, &call_runtime); __ 5789 src/ia32/code-stubs-ia32.cc __ test_b(edi, kStringRepresentationMask); __ 5790 src/ia32/code-stubs-ia32.cc __ j(zero, &second_is_sequential, Label::kNear); __ 5793 src/ia32/code-stubs-ia32.cc __ test_b(edi, kShortExternalStringMask); __ 5794 src/ia32/code-stubs-ia32.cc __ j(not_zero, &call_runtime); __ 5795 src/ia32/code-stubs-ia32.cc __ mov(edx, FieldOperand(edx, ExternalString::kResourceDataOffset)); __ 5797 src/ia32/code-stubs-ia32.cc __ jmp(&second_prepared, Label::kNear); __ 5798 src/ia32/code-stubs-ia32.cc __ bind(&second_is_sequential); __ 5799 src/ia32/code-stubs-ia32.cc __ add(edx, Immediate(SeqAsciiString::kHeaderSize - kHeapObjectTag)); __ 5800 src/ia32/code-stubs-ia32.cc __ bind(&second_prepared); __ 5803 src/ia32/code-stubs-ia32.cc __ push(edx); __ 5804 src/ia32/code-stubs-ia32.cc __ push(eax); __ 5810 src/ia32/code-stubs-ia32.cc __ test_b(edi, kStringEncodingMask); __ 5811 src/ia32/code-stubs-ia32.cc __ j(zero, &non_ascii_string_add_flat_result); __ 5815 src/ia32/code-stubs-ia32.cc __ SmiUntag(ebx); __ 5816 src/ia32/code-stubs-ia32.cc __ AllocateAsciiString(eax, ebx, ecx, edx, edi, &call_runtime_drop_two); __ 5818 src/ia32/code-stubs-ia32.cc __ mov(ecx, eax); __ 5820 src/ia32/code-stubs-ia32.cc __ add(ecx, Immediate(SeqAsciiString::kHeaderSize - kHeapObjectTag)); __ 5823 src/ia32/code-stubs-ia32.cc __ mov(edx, Operand(esp, 4 * kPointerSize)); __ 5824 src/ia32/code-stubs-ia32.cc __ mov(edi, FieldOperand(edx, String::kLengthOffset)); __ 5825 src/ia32/code-stubs-ia32.cc __ SmiUntag(edi); __ 5826 src/ia32/code-stubs-ia32.cc __ pop(edx); __ 5834 src/ia32/code-stubs-ia32.cc __ mov(edx, Operand(esp, 2 * kPointerSize)); __ 5835 src/ia32/code-stubs-ia32.cc __ mov(edi, FieldOperand(edx, String::kLengthOffset)); __ 5836 src/ia32/code-stubs-ia32.cc __ SmiUntag(edi); __ 5837 src/ia32/code-stubs-ia32.cc __ pop(edx); __ 5843 src/ia32/code-stubs-ia32.cc __ IncrementCounter(counters->string_add_native(), 1); __ 5844 src/ia32/code-stubs-ia32.cc __ ret(2 * kPointerSize); __ 5850 src/ia32/code-stubs-ia32.cc __ bind(&non_ascii_string_add_flat_result); __ 5852 src/ia32/code-stubs-ia32.cc __ SmiUntag(ebx); __ 5853 src/ia32/code-stubs-ia32.cc __ AllocateTwoByteString(eax, ebx, ecx, edx, edi, &call_runtime_drop_two); __ 5855 src/ia32/code-stubs-ia32.cc __ mov(ecx, eax); __ 5857 src/ia32/code-stubs-ia32.cc __ add(ecx, Immediate(SeqTwoByteString::kHeaderSize - kHeapObjectTag)); __ 5860 src/ia32/code-stubs-ia32.cc __ mov(edx, Operand(esp, 4 * kPointerSize)); __ 5861 src/ia32/code-stubs-ia32.cc __ mov(edi, FieldOperand(edx, String::kLengthOffset)); __ 5862 src/ia32/code-stubs-ia32.cc __ SmiUntag(edi); __ 5863 src/ia32/code-stubs-ia32.cc __ pop(edx); __ 5871 src/ia32/code-stubs-ia32.cc __ mov(edx, Operand(esp, 2 * kPointerSize)); __ 5872 src/ia32/code-stubs-ia32.cc __ mov(edi, FieldOperand(edx, String::kLengthOffset)); __ 5873 src/ia32/code-stubs-ia32.cc __ SmiUntag(edi); __ 5874 src/ia32/code-stubs-ia32.cc __ pop(edx); __ 5880 src/ia32/code-stubs-ia32.cc __ IncrementCounter(counters->string_add_native(), 1); __ 5881 src/ia32/code-stubs-ia32.cc __ ret(2 * kPointerSize); __ 5884 src/ia32/code-stubs-ia32.cc __ bind(&call_runtime_drop_two); __ 5885 src/ia32/code-stubs-ia32.cc __ Drop(2); __ 5887 src/ia32/code-stubs-ia32.cc __ bind(&call_runtime); __ 5888 src/ia32/code-stubs-ia32.cc __ TailCallRuntime(Runtime::kStringAdd, 2, 1); __ 5891 src/ia32/code-stubs-ia32.cc __ bind(&call_builtin); __ 5892 src/ia32/code-stubs-ia32.cc __ InvokeBuiltin(builtin_id, JUMP_FUNCTION); __ 5906 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(arg, ¬_string); __ 5907 src/ia32/code-stubs-ia32.cc __ CmpObjectType(arg, FIRST_NONSTRING_TYPE, scratch1); __ 5908 src/ia32/code-stubs-ia32.cc __ j(below, &done); __ 5912 src/ia32/code-stubs-ia32.cc __ bind(¬_string); __ 5921 src/ia32/code-stubs-ia32.cc __ mov(arg, scratch1); __ 5922 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, stack_offset), arg); __ 5923 src/ia32/code-stubs-ia32.cc __ jmp(&done); __ 5926 src/ia32/code-stubs-ia32.cc __ bind(¬_cached); __ 5927 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(arg, slow); __ 5928 src/ia32/code-stubs-ia32.cc __ CmpObjectType(arg, JS_VALUE_TYPE, scratch1); // map -> scratch1. __ 5929 src/ia32/code-stubs-ia32.cc __ j(not_equal, slow); __ 5930 src/ia32/code-stubs-ia32.cc __ test_b(FieldOperand(scratch1, Map::kBitField2Offset), __ 5932 src/ia32/code-stubs-ia32.cc __ j(zero, slow); __ 5933 src/ia32/code-stubs-ia32.cc __ mov(arg, FieldOperand(arg, JSValue::kValueOffset)); __ 5934 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, stack_offset), arg); __ 5936 src/ia32/code-stubs-ia32.cc __ bind(&done); __ 5947 src/ia32/code-stubs-ia32.cc __ bind(&loop); __ 5951 src/ia32/code-stubs-ia32.cc __ mov_b(scratch, Operand(src, 0)); __ 5952 src/ia32/code-stubs-ia32.cc __ mov_b(Operand(dest, 0), scratch); __ 5953 src/ia32/code-stubs-ia32.cc __ add(src, Immediate(1)); __ 5954 src/ia32/code-stubs-ia32.cc __ add(dest, Immediate(1)); __ 5956 src/ia32/code-stubs-ia32.cc __ mov_w(scratch, Operand(src, 0)); __ 5957 src/ia32/code-stubs-ia32.cc __ mov_w(Operand(dest, 0), scratch); __ 5958 src/ia32/code-stubs-ia32.cc __ add(src, Immediate(2)); __ 5959 src/ia32/code-stubs-ia32.cc __ add(dest, Immediate(2)); __ 5961 src/ia32/code-stubs-ia32.cc __ sub(count, Immediate(1)); __ 5962 src/ia32/code-stubs-ia32.cc __ j(not_zero, &loop); __ 5984 src/ia32/code-stubs-ia32.cc __ test(count, count); __ 5985 src/ia32/code-stubs-ia32.cc __ j(zero, &done); __ 5989 src/ia32/code-stubs-ia32.cc __ shl(count, 1); __ 5994 src/ia32/code-stubs-ia32.cc __ test(count, Immediate(~3)); __ 5995 src/ia32/code-stubs-ia32.cc __ j(zero, &last_bytes, Label::kNear); __ 5998 src/ia32/code-stubs-ia32.cc __ mov(scratch, count); __ 5999 src/ia32/code-stubs-ia32.cc __ sar(count, 2); // Number of doublewords to copy. __ 6000 src/ia32/code-stubs-ia32.cc __ cld(); __ 6001 src/ia32/code-stubs-ia32.cc __ rep_movs(); __ 6004 src/ia32/code-stubs-ia32.cc __ mov(count, scratch); __ 6005 src/ia32/code-stubs-ia32.cc __ and_(count, 3); __ 6008 src/ia32/code-stubs-ia32.cc __ bind(&last_bytes); __ 6009 src/ia32/code-stubs-ia32.cc __ test(count, count); __ 6010 src/ia32/code-stubs-ia32.cc __ j(zero, &done); __ 6014 src/ia32/code-stubs-ia32.cc __ bind(&loop); __ 6015 src/ia32/code-stubs-ia32.cc __ mov_b(scratch, Operand(src, 0)); __ 6016 src/ia32/code-stubs-ia32.cc __ mov_b(Operand(dest, 0), scratch); __ 6017 src/ia32/code-stubs-ia32.cc __ add(src, Immediate(1)); __ 6018 src/ia32/code-stubs-ia32.cc __ add(dest, Immediate(1)); __ 6019 src/ia32/code-stubs-ia32.cc __ sub(count, Immediate(1)); __ 6020 src/ia32/code-stubs-ia32.cc __ j(not_zero, &loop); __ 6022 src/ia32/code-stubs-ia32.cc __ bind(&done); __ 6040 src/ia32/code-stubs-ia32.cc __ mov(scratch, c1); __ 6041 src/ia32/code-stubs-ia32.cc __ sub(scratch, Immediate(static_cast<int>('0'))); __ 6042 src/ia32/code-stubs-ia32.cc __ cmp(scratch, Immediate(static_cast<int>('9' - '0'))); __ 6043 src/ia32/code-stubs-ia32.cc __ j(above, ¬_array_index, Label::kNear); __ 6044 src/ia32/code-stubs-ia32.cc __ mov(scratch, c2); __ 6045 src/ia32/code-stubs-ia32.cc __ sub(scratch, Immediate(static_cast<int>('0'))); __ 6046 src/ia32/code-stubs-ia32.cc __ cmp(scratch, Immediate(static_cast<int>('9' - '0'))); __ 6047 src/ia32/code-stubs-ia32.cc __ j(below_equal, not_probed); __ 6049 src/ia32/code-stubs-ia32.cc __ bind(¬_array_index); __ 6058 src/ia32/code-stubs-ia32.cc __ shl(c2, kBitsPerByte); __ 6059 src/ia32/code-stubs-ia32.cc __ or_(chars, c2); __ 6068 src/ia32/code-stubs-ia32.cc __ mov(scratch, Immediate(Heap::kSymbolTableRootIndex)); __ 6069 src/ia32/code-stubs-ia32.cc __ mov(symbol_table, __ 6074 src/ia32/code-stubs-ia32.cc __ mov(mask, FieldOperand(symbol_table, SymbolTable::kCapacityOffset)); __ 6075 src/ia32/code-stubs-ia32.cc __ SmiUntag(mask); __ 6076 src/ia32/code-stubs-ia32.cc __ sub(mask, Immediate(1)); __ 6092 src/ia32/code-stubs-ia32.cc __ mov(scratch, hash); __ 6094 src/ia32/code-stubs-ia32.cc __ add(scratch, Immediate(SymbolTable::GetProbeOffset(i))); __ 6096 src/ia32/code-stubs-ia32.cc __ and_(scratch, mask); __ 6100 src/ia32/code-stubs-ia32.cc __ mov(candidate, __ 6108 src/ia32/code-stubs-ia32.cc __ cmp(candidate, factory->undefined_value()); __ 6109 src/ia32/code-stubs-ia32.cc __ j(equal, not_found); __ 6110 src/ia32/code-stubs-ia32.cc __ cmp(candidate, factory->the_hole_value()); __ 6111 src/ia32/code-stubs-ia32.cc __ j(equal, &next_probe[i]); __ 6114 src/ia32/code-stubs-ia32.cc __ cmp(FieldOperand(candidate, String::kLengthOffset), __ 6116 src/ia32/code-stubs-ia32.cc __ j(not_equal, &next_probe[i]); __ 6120 src/ia32/code-stubs-ia32.cc __ push(mask); __ 6124 src/ia32/code-stubs-ia32.cc __ mov(temp, FieldOperand(candidate, HeapObject::kMapOffset)); __ 6125 src/ia32/code-stubs-ia32.cc __ movzx_b(temp, FieldOperand(temp, Map::kInstanceTypeOffset)); __ 6126 src/ia32/code-stubs-ia32.cc __ JumpIfInstanceTypeIsNotSequentialAscii( __ 6130 src/ia32/code-stubs-ia32.cc __ mov(temp, FieldOperand(candidate, SeqAsciiString::kHeaderSize)); __ 6131 src/ia32/code-stubs-ia32.cc __ and_(temp, 0x0000ffff); __ 6132 src/ia32/code-stubs-ia32.cc __ cmp(chars, temp); __ 6133 src/ia32/code-stubs-ia32.cc __ j(equal, &found_in_symbol_table); __ 6134 src/ia32/code-stubs-ia32.cc __ bind(&next_probe_pop_mask[i]); __ 6135 src/ia32/code-stubs-ia32.cc __ pop(mask); __ 6136 src/ia32/code-stubs-ia32.cc __ bind(&next_probe[i]); __ 6140 src/ia32/code-stubs-ia32.cc __ jmp(not_found); __ 6144 src/ia32/code-stubs-ia32.cc __ bind(&found_in_symbol_table); __ 6145 src/ia32/code-stubs-ia32.cc __ pop(mask); // Pop saved mask from the stack. __ 6147 src/ia32/code-stubs-ia32.cc __ mov(eax, result); __ 6160 src/ia32/code-stubs-ia32.cc __ mov(scratch, Immediate(Heap::kHashSeedRootIndex)); __ 6161 src/ia32/code-stubs-ia32.cc __ mov(scratch, Operand::StaticArray(scratch, __ 6164 src/ia32/code-stubs-ia32.cc __ SmiUntag(scratch); __ 6165 src/ia32/code-stubs-ia32.cc __ add(scratch, character); __ 6166 src/ia32/code-stubs-ia32.cc __ mov(hash, scratch); __ 6167 src/ia32/code-stubs-ia32.cc __ shl(scratch, 10); __ 6168 src/ia32/code-stubs-ia32.cc __ add(hash, scratch); __ 6171 src/ia32/code-stubs-ia32.cc __ lea(scratch, Operand(character, seed)); __ 6172 src/ia32/code-stubs-ia32.cc __ shl(scratch, 10); __ 6173 src/ia32/code-stubs-ia32.cc __ lea(hash, Operand(scratch, character, times_1, seed)); __ 6176 src/ia32/code-stubs-ia32.cc __ mov(scratch, hash); __ 6177 src/ia32/code-stubs-ia32.cc __ shr(scratch, 6); __ 6178 src/ia32/code-stubs-ia32.cc __ xor_(hash, scratch); __ 6187 src/ia32/code-stubs-ia32.cc __ add(hash, character); __ 6189 src/ia32/code-stubs-ia32.cc __ mov(scratch, hash); __ 6190 src/ia32/code-stubs-ia32.cc __ shl(scratch, 10); __ 6191 src/ia32/code-stubs-ia32.cc __ add(hash, scratch); __ 6193 src/ia32/code-stubs-ia32.cc __ mov(scratch, hash); __ 6194 src/ia32/code-stubs-ia32.cc __ shr(scratch, 6); __ 6195 src/ia32/code-stubs-ia32.cc __ xor_(hash, scratch); __ 6203 src/ia32/code-stubs-ia32.cc __ mov(scratch, hash); __ 6204 src/ia32/code-stubs-ia32.cc __ shl(scratch, 3); __ 6205 src/ia32/code-stubs-ia32.cc __ add(hash, scratch); __ 6207 src/ia32/code-stubs-ia32.cc __ mov(scratch, hash); __ 6208 src/ia32/code-stubs-ia32.cc __ shr(scratch, 11); __ 6209 src/ia32/code-stubs-ia32.cc __ xor_(hash, scratch); __ 6211 src/ia32/code-stubs-ia32.cc __ mov(scratch, hash); __ 6212 src/ia32/code-stubs-ia32.cc __ shl(scratch, 15); __ 6213 src/ia32/code-stubs-ia32.cc __ add(hash, scratch); __ 6215 src/ia32/code-stubs-ia32.cc __ and_(hash, String::kHashBitMask); __ 6219 src/ia32/code-stubs-ia32.cc __ j(not_zero, &hash_not_zero, Label::kNear); __ 6220 src/ia32/code-stubs-ia32.cc __ mov(hash, Immediate(StringHasher::kZeroHash)); __ 6221 src/ia32/code-stubs-ia32.cc __ bind(&hash_not_zero); __ 6235 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(esp, 3 * kPointerSize)); __ 6237 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(eax, &runtime); __ 6239 src/ia32/code-stubs-ia32.cc __ j(NegateCondition(is_string), &runtime); __ 6245 src/ia32/code-stubs-ia32.cc __ mov(ecx, Operand(esp, 1 * kPointerSize)); // To index. __ 6246 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(ecx, &runtime); __ 6247 src/ia32/code-stubs-ia32.cc __ mov(edx, Operand(esp, 2 * kPointerSize)); // From index. __ 6248 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(edx, &runtime); __ 6249 src/ia32/code-stubs-ia32.cc __ sub(ecx, edx); __ 6250 src/ia32/code-stubs-ia32.cc __ cmp(ecx, FieldOperand(eax, String::kLengthOffset)); __ 6253 src/ia32/code-stubs-ia32.cc __ j(below, ¬_original_string, Label::kNear); __ 6255 src/ia32/code-stubs-ia32.cc __ j(above, &runtime); __ 6258 src/ia32/code-stubs-ia32.cc __ IncrementCounter(counters->sub_string_native(), 1); __ 6259 src/ia32/code-stubs-ia32.cc __ ret(3 * kPointerSize); __ 6260 src/ia32/code-stubs-ia32.cc __ bind(¬_original_string); __ 6272 src/ia32/code-stubs-ia32.cc __ test(ebx, Immediate(kIsIndirectStringMask)); __ 6273 src/ia32/code-stubs-ia32.cc __ j(zero, &seq_or_external_string, Label::kNear); __ 6276 src/ia32/code-stubs-ia32.cc __ test(ebx, Immediate(kSlicedNotConsMask)); __ 6277 src/ia32/code-stubs-ia32.cc __ j(not_zero, &sliced_string, Label::kNear); __ 6280 src/ia32/code-stubs-ia32.cc __ cmp(FieldOperand(eax, ConsString::kSecondOffset), __ 6282 src/ia32/code-stubs-ia32.cc __ j(not_equal, &runtime); __ 6283 src/ia32/code-stubs-ia32.cc __ mov(edi, FieldOperand(eax, ConsString::kFirstOffset)); __ 6285 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(edi, HeapObject::kMapOffset)); __ 6286 src/ia32/code-stubs-ia32.cc __ movzx_b(ebx, FieldOperand(ebx, Map::kInstanceTypeOffset)); __ 6287 src/ia32/code-stubs-ia32.cc __ jmp(&underlying_unpacked, Label::kNear); __ 6289 src/ia32/code-stubs-ia32.cc __ bind(&sliced_string); __ 6291 src/ia32/code-stubs-ia32.cc __ add(edx, FieldOperand(eax, SlicedString::kOffsetOffset)); __ 6292 src/ia32/code-stubs-ia32.cc __ mov(edi, FieldOperand(eax, SlicedString::kParentOffset)); __ 6294 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(edi, HeapObject::kMapOffset)); __ 6295 src/ia32/code-stubs-ia32.cc __ movzx_b(ebx, FieldOperand(ebx, Map::kInstanceTypeOffset)); __ 6296 src/ia32/code-stubs-ia32.cc __ jmp(&underlying_unpacked, Label::kNear); __ 6298 src/ia32/code-stubs-ia32.cc __ bind(&seq_or_external_string); __ 6300 src/ia32/code-stubs-ia32.cc __ mov(edi, eax); __ 6302 src/ia32/code-stubs-ia32.cc __ bind(&underlying_unpacked); __ 6310 src/ia32/code-stubs-ia32.cc __ cmp(ecx, Immediate(Smi::FromInt(SlicedString::kMinLength))); __ 6312 src/ia32/code-stubs-ia32.cc __ j(less, ©_routine); __ 6321 src/ia32/code-stubs-ia32.cc __ test(ebx, Immediate(kStringEncodingMask)); __ 6322 src/ia32/code-stubs-ia32.cc __ j(zero, &two_byte_slice, Label::kNear); __ 6323 src/ia32/code-stubs-ia32.cc __ AllocateAsciiSlicedString(eax, ebx, no_reg, &runtime); __ 6324 src/ia32/code-stubs-ia32.cc __ jmp(&set_slice_header, Label::kNear); __ 6325 src/ia32/code-stubs-ia32.cc __ bind(&two_byte_slice); __ 6326 src/ia32/code-stubs-ia32.cc __ AllocateTwoByteSlicedString(eax, ebx, no_reg, &runtime); __ 6327 src/ia32/code-stubs-ia32.cc __ bind(&set_slice_header); __ 6328 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, SlicedString::kLengthOffset), ecx); __ 6329 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, SlicedString::kHashFieldOffset), __ 6331 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, SlicedString::kParentOffset), edi); __ 6332 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(eax, SlicedString::kOffsetOffset), edx); __ 6333 src/ia32/code-stubs-ia32.cc __ IncrementCounter(counters->sub_string_native(), 1); __ 6334 src/ia32/code-stubs-ia32.cc __ ret(3 * kPointerSize); __ 6336 src/ia32/code-stubs-ia32.cc __ bind(©_routine); __ 6348 src/ia32/code-stubs-ia32.cc __ test_b(ebx, kExternalStringTag); __ 6349 src/ia32/code-stubs-ia32.cc __ j(zero, &sequential_string); __ 6354 src/ia32/code-stubs-ia32.cc __ test_b(ebx, kShortExternalStringMask); __ 6355 src/ia32/code-stubs-ia32.cc __ j(not_zero, &runtime); __ 6356 src/ia32/code-stubs-ia32.cc __ mov(edi, FieldOperand(edi, ExternalString::kResourceDataOffset)); __ 6359 src/ia32/code-stubs-ia32.cc __ sub(edi, Immediate(SeqTwoByteString::kHeaderSize - kHeapObjectTag)); __ 6361 src/ia32/code-stubs-ia32.cc __ bind(&sequential_string); __ 6363 src/ia32/code-stubs-ia32.cc __ push(edx); __ 6364 src/ia32/code-stubs-ia32.cc __ push(edi); __ 6365 src/ia32/code-stubs-ia32.cc __ SmiUntag(ecx); __ 6367 src/ia32/code-stubs-ia32.cc __ test_b(ebx, kStringEncodingMask); __ 6368 src/ia32/code-stubs-ia32.cc __ j(zero, &two_byte_sequential); __ 6371 src/ia32/code-stubs-ia32.cc __ AllocateAsciiString(eax, ecx, ebx, edx, edi, &runtime_drop_two); __ 6375 src/ia32/code-stubs-ia32.cc __ mov(edx, esi); // esi used by following code. __ 6377 src/ia32/code-stubs-ia32.cc __ mov(edi, eax); __ 6378 src/ia32/code-stubs-ia32.cc __ add(edi, Immediate(SeqAsciiString::kHeaderSize - kHeapObjectTag)); __ 6380 src/ia32/code-stubs-ia32.cc __ pop(esi); __ 6381 src/ia32/code-stubs-ia32.cc __ pop(ebx); __ 6382 src/ia32/code-stubs-ia32.cc __ SmiUntag(ebx); __ 6383 src/ia32/code-stubs-ia32.cc __ lea(esi, FieldOperand(esi, ebx, times_1, SeqAsciiString::kHeaderSize)); __ 6391 src/ia32/code-stubs-ia32.cc __ mov(esi, edx); // Restore esi. __ 6392 src/ia32/code-stubs-ia32.cc __ IncrementCounter(counters->sub_string_native(), 1); __ 6393 src/ia32/code-stubs-ia32.cc __ ret(3 * kPointerSize); __ 6395 src/ia32/code-stubs-ia32.cc __ bind(&two_byte_sequential); __ 6397 src/ia32/code-stubs-ia32.cc __ AllocateTwoByteString(eax, ecx, ebx, edx, edi, &runtime_drop_two); __ 6401 src/ia32/code-stubs-ia32.cc __ mov(edx, esi); // esi used by following code. __ 6403 src/ia32/code-stubs-ia32.cc __ mov(edi, eax); __ 6404 src/ia32/code-stubs-ia32.cc __ add(edi, __ 6407 src/ia32/code-stubs-ia32.cc __ pop(esi); __ 6408 src/ia32/code-stubs-ia32.cc __ pop(ebx); __ 6413 src/ia32/code-stubs-ia32.cc __ lea(esi, FieldOperand(esi, ebx, times_1, SeqTwoByteString::kHeaderSize)); __ 6421 src/ia32/code-stubs-ia32.cc __ mov(esi, edx); // Restore esi. __ 6422 src/ia32/code-stubs-ia32.cc __ IncrementCounter(counters->sub_string_native(), 1); __ 6423 src/ia32/code-stubs-ia32.cc __ ret(3 * kPointerSize); __ 6426 src/ia32/code-stubs-ia32.cc __ bind(&runtime_drop_two); __ 6427 src/ia32/code-stubs-ia32.cc __ Drop(2); __ 6430 src/ia32/code-stubs-ia32.cc __ bind(&runtime); __ 6431 src/ia32/code-stubs-ia32.cc __ TailCallRuntime(Runtime::kSubString, 3, 1); __ 6444 src/ia32/code-stubs-ia32.cc __ mov(length, FieldOperand(left, String::kLengthOffset)); __ 6445 src/ia32/code-stubs-ia32.cc __ cmp(length, FieldOperand(right, String::kLengthOffset)); __ 6446 src/ia32/code-stubs-ia32.cc __ j(equal, &check_zero_length, Label::kNear); __ 6447 src/ia32/code-stubs-ia32.cc __ bind(&strings_not_equal); __ 6448 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(Smi::FromInt(NOT_EQUAL))); __ 6449 src/ia32/code-stubs-ia32.cc __ ret(0); __ 6453 src/ia32/code-stubs-ia32.cc __ bind(&check_zero_length); __ 6455 src/ia32/code-stubs-ia32.cc __ test(length, length); __ 6456 src/ia32/code-stubs-ia32.cc __ j(not_zero, &compare_chars, Label::kNear); __ 6457 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(Smi::FromInt(EQUAL))); __ 6458 src/ia32/code-stubs-ia32.cc __ ret(0); __ 6461 src/ia32/code-stubs-ia32.cc __ bind(&compare_chars); __ 6466 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(Smi::FromInt(EQUAL))); __ 6467 src/ia32/code-stubs-ia32.cc __ ret(0); __ 6478 src/ia32/code-stubs-ia32.cc __ IncrementCounter(counters->string_compare_native(), 1); __ 6482 src/ia32/code-stubs-ia32.cc __ mov(scratch1, FieldOperand(left, String::kLengthOffset)); __ 6483 src/ia32/code-stubs-ia32.cc __ mov(scratch3, scratch1); __ 6484 src/ia32/code-stubs-ia32.cc __ sub(scratch3, FieldOperand(right, String::kLengthOffset)); __ 6488 src/ia32/code-stubs-ia32.cc __ j(less_equal, &left_shorter, Label::kNear); __ 6490 src/ia32/code-stubs-ia32.cc __ sub(scratch1, length_delta); __ 6491 src/ia32/code-stubs-ia32.cc __ bind(&left_shorter); __ 6497 src/ia32/code-stubs-ia32.cc __ test(min_length, min_length); __ 6498 src/ia32/code-stubs-ia32.cc __ j(zero, &compare_lengths, Label::kNear); __ 6506 src/ia32/code-stubs-ia32.cc __ bind(&compare_lengths); __ 6507 src/ia32/code-stubs-ia32.cc __ test(length_delta, length_delta); __ 6508 src/ia32/code-stubs-ia32.cc __ j(not_zero, &result_not_equal, Label::kNear); __ 6513 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(Smi::FromInt(EQUAL))); __ 6514 src/ia32/code-stubs-ia32.cc __ ret(0); __ 6517 src/ia32/code-stubs-ia32.cc __ bind(&result_not_equal); __ 6518 src/ia32/code-stubs-ia32.cc __ j(greater, &result_greater, Label::kNear); __ 6521 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(Smi::FromInt(LESS))); __ 6522 src/ia32/code-stubs-ia32.cc __ ret(0); __ 6525 src/ia32/code-stubs-ia32.cc __ bind(&result_greater); __ 6526 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(Smi::FromInt(GREATER))); __ 6527 src/ia32/code-stubs-ia32.cc __ ret(0); __ 6542 src/ia32/code-stubs-ia32.cc __ SmiUntag(length); __ 6543 src/ia32/code-stubs-ia32.cc __ lea(left, __ 6545 src/ia32/code-stubs-ia32.cc __ lea(right, __ 6547 src/ia32/code-stubs-ia32.cc __ neg(length); __ 6552 src/ia32/code-stubs-ia32.cc __ bind(&loop); __ 6553 src/ia32/code-stubs-ia32.cc __ mov_b(scratch, Operand(left, index, times_1, 0)); __ 6554 src/ia32/code-stubs-ia32.cc __ cmpb(scratch, Operand(right, index, times_1, 0)); __ 6555 src/ia32/code-stubs-ia32.cc __ j(not_equal, chars_not_equal, chars_not_equal_near); __ 6556 src/ia32/code-stubs-ia32.cc __ inc(index); __ 6557 src/ia32/code-stubs-ia32.cc __ j(not_zero, &loop); __ 6569 src/ia32/code-stubs-ia32.cc __ mov(edx, Operand(esp, 2 * kPointerSize)); // left __ 6570 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(esp, 1 * kPointerSize)); // right __ 6573 src/ia32/code-stubs-ia32.cc __ cmp(edx, eax); __ 6574 src/ia32/code-stubs-ia32.cc __ j(not_equal, ¬_same, Label::kNear); __ 6577 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(Smi::FromInt(EQUAL))); __ 6578 src/ia32/code-stubs-ia32.cc __ IncrementCounter(masm->isolate()->counters()->string_compare_native(), 1); __ 6579 src/ia32/code-stubs-ia32.cc __ ret(2 * kPointerSize); __ 6581 src/ia32/code-stubs-ia32.cc __ bind(¬_same); __ 6584 src/ia32/code-stubs-ia32.cc __ JumpIfNotBothSequentialAsciiStrings(edx, eax, ecx, ebx, &runtime); __ 6588 src/ia32/code-stubs-ia32.cc __ pop(ecx); __ 6589 src/ia32/code-stubs-ia32.cc __ add(esp, Immediate(2 * kPointerSize)); __ 6590 src/ia32/code-stubs-ia32.cc __ push(ecx); __ 6595 src/ia32/code-stubs-ia32.cc __ bind(&runtime); __ 6596 src/ia32/code-stubs-ia32.cc __ TailCallRuntime(Runtime::kStringCompare, 2, 1); __ 6603 src/ia32/code-stubs-ia32.cc __ mov(ecx, edx); __ 6604 src/ia32/code-stubs-ia32.cc __ or_(ecx, eax); __ 6605 src/ia32/code-stubs-ia32.cc __ JumpIfNotSmi(ecx, &miss, Label::kNear); __ 6609 src/ia32/code-stubs-ia32.cc __ sub(eax, edx); __ 6612 src/ia32/code-stubs-ia32.cc __ sub(edx, eax); __ 6613 src/ia32/code-stubs-ia32.cc __ j(no_overflow, &done, Label::kNear); __ 6615 src/ia32/code-stubs-ia32.cc __ not_(edx); __ 6616 src/ia32/code-stubs-ia32.cc __ bind(&done); __ 6617 src/ia32/code-stubs-ia32.cc __ mov(eax, edx); __ 6619 src/ia32/code-stubs-ia32.cc __ ret(0); __ 6621 src/ia32/code-stubs-ia32.cc __ bind(&miss); __ 6632 src/ia32/code-stubs-ia32.cc __ mov(ecx, edx); __ 6633 src/ia32/code-stubs-ia32.cc __ and_(ecx, eax); __ 6634 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(ecx, &generic_stub, Label::kNear); __ 6636 src/ia32/code-stubs-ia32.cc __ CmpObjectType(eax, HEAP_NUMBER_TYPE, ecx); __ 6637 src/ia32/code-stubs-ia32.cc __ j(not_equal, &maybe_undefined1, Label::kNear); __ 6638 src/ia32/code-stubs-ia32.cc __ CmpObjectType(edx, HEAP_NUMBER_TYPE, ecx); __ 6639 src/ia32/code-stubs-ia32.cc __ j(not_equal, &maybe_undefined2, Label::kNear); __ 6648 src/ia32/code-stubs-ia32.cc __ movdbl(xmm0, FieldOperand(edx, HeapNumber::kValueOffset)); __ 6649 src/ia32/code-stubs-ia32.cc __ movdbl(xmm1, FieldOperand(eax, HeapNumber::kValueOffset)); __ 6652 src/ia32/code-stubs-ia32.cc __ ucomisd(xmm0, xmm1); __ 6655 src/ia32/code-stubs-ia32.cc __ j(parity_even, &unordered, Label::kNear); __ 6659 src/ia32/code-stubs-ia32.cc __ mov(eax, 0); // equal __ 6660 src/ia32/code-stubs-ia32.cc __ mov(ecx, Immediate(Smi::FromInt(1))); __ 6661 src/ia32/code-stubs-ia32.cc __ cmov(above, eax, ecx); __ 6662 src/ia32/code-stubs-ia32.cc __ mov(ecx, Immediate(Smi::FromInt(-1))); __ 6663 src/ia32/code-stubs-ia32.cc __ cmov(below, eax, ecx); __ 6664 src/ia32/code-stubs-ia32.cc __ ret(0); __ 6667 src/ia32/code-stubs-ia32.cc __ bind(&unordered); __ 6669 src/ia32/code-stubs-ia32.cc __ bind(&generic_stub); __ 6670 src/ia32/code-stubs-ia32.cc __ jmp(stub.GetCode(), RelocInfo::CODE_TARGET); __ 6672 src/ia32/code-stubs-ia32.cc __ bind(&maybe_undefined1); __ 6674 src/ia32/code-stubs-ia32.cc __ cmp(eax, Immediate(masm->isolate()->factory()->undefined_value())); __ 6675 src/ia32/code-stubs-ia32.cc __ j(not_equal, &miss); __ 6676 src/ia32/code-stubs-ia32.cc __ CmpObjectType(edx, HEAP_NUMBER_TYPE, ecx); __ 6677 src/ia32/code-stubs-ia32.cc __ j(not_equal, &maybe_undefined2, Label::kNear); __ 6678 src/ia32/code-stubs-ia32.cc __ jmp(&unordered); __ 6681 src/ia32/code-stubs-ia32.cc __ bind(&maybe_undefined2); __ 6683 src/ia32/code-stubs-ia32.cc __ cmp(edx, Immediate(masm->isolate()->factory()->undefined_value())); __ 6684 src/ia32/code-stubs-ia32.cc __ j(equal, &unordered); __ 6687 src/ia32/code-stubs-ia32.cc __ bind(&miss); __ 6704 src/ia32/code-stubs-ia32.cc __ mov(tmp1, left); __ 6706 src/ia32/code-stubs-ia32.cc __ and_(tmp1, right); __ 6707 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(tmp1, &miss, Label::kNear); __ 6710 src/ia32/code-stubs-ia32.cc __ mov(tmp1, FieldOperand(left, HeapObject::kMapOffset)); __ 6711 src/ia32/code-stubs-ia32.cc __ mov(tmp2, FieldOperand(right, HeapObject::kMapOffset)); __ 6712 src/ia32/code-stubs-ia32.cc __ movzx_b(tmp1, FieldOperand(tmp1, Map::kInstanceTypeOffset)); __ 6713 src/ia32/code-stubs-ia32.cc __ movzx_b(tmp2, FieldOperand(tmp2, Map::kInstanceTypeOffset)); __ 6715 src/ia32/code-stubs-ia32.cc __ and_(tmp1, tmp2); __ 6716 src/ia32/code-stubs-ia32.cc __ test(tmp1, Immediate(kIsSymbolMask)); __ 6717 src/ia32/code-stubs-ia32.cc __ j(zero, &miss, Label::kNear); __ 6721 src/ia32/code-stubs-ia32.cc __ cmp(left, right); __ 6725 src/ia32/code-stubs-ia32.cc __ j(not_equal, &done, Label::kNear); __ 6728 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(Smi::FromInt(EQUAL))); __ 6729 src/ia32/code-stubs-ia32.cc __ bind(&done); __ 6730 src/ia32/code-stubs-ia32.cc __ ret(0); __ 6732 src/ia32/code-stubs-ia32.cc __ bind(&miss); __ 6751 src/ia32/code-stubs-ia32.cc __ mov(tmp1, left); __ 6753 src/ia32/code-stubs-ia32.cc __ and_(tmp1, right); __ 6754 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(tmp1, &miss); __ 6758 src/ia32/code-stubs-ia32.cc __ mov(tmp1, FieldOperand(left, HeapObject::kMapOffset)); __ 6759 src/ia32/code-stubs-ia32.cc __ mov(tmp2, FieldOperand(right, HeapObject::kMapOffset)); __ 6760 src/ia32/code-stubs-ia32.cc __ movzx_b(tmp1, FieldOperand(tmp1, Map::kInstanceTypeOffset)); __ 6761 src/ia32/code-stubs-ia32.cc __ movzx_b(tmp2, FieldOperand(tmp2, Map::kInstanceTypeOffset)); __ 6762 src/ia32/code-stubs-ia32.cc __ mov(tmp3, tmp1); __ 6764 src/ia32/code-stubs-ia32.cc __ or_(tmp3, tmp2); __ 6765 src/ia32/code-stubs-ia32.cc __ test(tmp3, Immediate(kIsNotStringMask)); __ 6766 src/ia32/code-stubs-ia32.cc __ j(not_zero, &miss); __ 6770 src/ia32/code-stubs-ia32.cc __ cmp(left, right); __ 6771 src/ia32/code-stubs-ia32.cc __ j(not_equal, ¬_same, Label::kNear); __ 6774 src/ia32/code-stubs-ia32.cc __ Set(eax, Immediate(Smi::FromInt(EQUAL))); __ 6775 src/ia32/code-stubs-ia32.cc __ ret(0); __ 6778 src/ia32/code-stubs-ia32.cc __ bind(¬_same); __ 6786 src/ia32/code-stubs-ia32.cc __ and_(tmp1, tmp2); __ 6787 src/ia32/code-stubs-ia32.cc __ test(tmp1, Immediate(kIsSymbolMask)); __ 6788 src/ia32/code-stubs-ia32.cc __ j(zero, &do_compare, Label::kNear); __ 6792 src/ia32/code-stubs-ia32.cc __ ret(0); __ 6793 src/ia32/code-stubs-ia32.cc __ bind(&do_compare); __ 6798 src/ia32/code-stubs-ia32.cc __ JumpIfNotBothSequentialAsciiStrings(left, right, tmp1, tmp2, &runtime); __ 6810 src/ia32/code-stubs-ia32.cc __ bind(&runtime); __ 6811 src/ia32/code-stubs-ia32.cc __ pop(tmp1); // Return address. __ 6812 src/ia32/code-stubs-ia32.cc __ push(left); __ 6813 src/ia32/code-stubs-ia32.cc __ push(right); __ 6814 src/ia32/code-stubs-ia32.cc __ push(tmp1); __ 6816 src/ia32/code-stubs-ia32.cc __ TailCallRuntime(Runtime::kStringEquals, 2, 1); __ 6818 src/ia32/code-stubs-ia32.cc __ TailCallRuntime(Runtime::kStringCompare, 2, 1); __ 6821 src/ia32/code-stubs-ia32.cc __ bind(&miss); __ 6829 src/ia32/code-stubs-ia32.cc __ mov(ecx, edx); __ 6830 src/ia32/code-stubs-ia32.cc __ and_(ecx, eax); __ 6831 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(ecx, &miss, Label::kNear); __ 6833 src/ia32/code-stubs-ia32.cc __ CmpObjectType(eax, JS_OBJECT_TYPE, ecx); __ 6834 src/ia32/code-stubs-ia32.cc __ j(not_equal, &miss, Label::kNear); __ 6835 src/ia32/code-stubs-ia32.cc __ CmpObjectType(edx, JS_OBJECT_TYPE, ecx); __ 6836 src/ia32/code-stubs-ia32.cc __ j(not_equal, &miss, Label::kNear); __ 6839 src/ia32/code-stubs-ia32.cc __ sub(eax, edx); __ 6840 src/ia32/code-stubs-ia32.cc __ ret(0); __ 6842 src/ia32/code-stubs-ia32.cc __ bind(&miss); __ 6849 src/ia32/code-stubs-ia32.cc __ mov(ecx, edx); __ 6850 src/ia32/code-stubs-ia32.cc __ and_(ecx, eax); __ 6851 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(ecx, &miss, Label::kNear); __ 6853 src/ia32/code-stubs-ia32.cc __ mov(ecx, FieldOperand(eax, HeapObject::kMapOffset)); __ 6854 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(edx, HeapObject::kMapOffset)); __ 6855 src/ia32/code-stubs-ia32.cc __ cmp(ecx, known_map_); __ 6856 src/ia32/code-stubs-ia32.cc __ j(not_equal, &miss, Label::kNear); __ 6857 src/ia32/code-stubs-ia32.cc __ cmp(ebx, known_map_); __ 6858 src/ia32/code-stubs-ia32.cc __ j(not_equal, &miss, Label::kNear); __ 6860 src/ia32/code-stubs-ia32.cc __ sub(eax, edx); __ 6861 src/ia32/code-stubs-ia32.cc __ ret(0); __ 6863 src/ia32/code-stubs-ia32.cc __ bind(&miss); __ 6874 src/ia32/code-stubs-ia32.cc __ push(edx); // Preserve edx and eax. __ 6875 src/ia32/code-stubs-ia32.cc __ push(eax); __ 6876 src/ia32/code-stubs-ia32.cc __ push(edx); // And also use them as the arguments. __ 6877 src/ia32/code-stubs-ia32.cc __ push(eax); __ 6878 src/ia32/code-stubs-ia32.cc __ push(Immediate(Smi::FromInt(op_))); __ 6879 src/ia32/code-stubs-ia32.cc __ CallExternalReference(miss, 3); __ 6881 src/ia32/code-stubs-ia32.cc __ lea(edi, FieldOperand(eax, Code::kHeaderSize)); __ 6882 src/ia32/code-stubs-ia32.cc __ pop(eax); __ 6883 src/ia32/code-stubs-ia32.cc __ pop(edx); __ 6887 src/ia32/code-stubs-ia32.cc __ jmp(edi); __ 6913 src/ia32/code-stubs-ia32.cc __ mov(index, FieldOperand(properties, kCapacityOffset)); __ 6914 src/ia32/code-stubs-ia32.cc __ dec(index); __ 6915 src/ia32/code-stubs-ia32.cc __ and_(index, __ 6921 src/ia32/code-stubs-ia32.cc __ lea(index, Operand(index, index, times_2, 0)); // index *= 3. __ 6925 src/ia32/code-stubs-ia32.cc __ mov(entity_name, Operand(properties, index, times_half_pointer_size, __ 6927 src/ia32/code-stubs-ia32.cc __ cmp(entity_name, masm->isolate()->factory()->undefined_value()); __ 6928 src/ia32/code-stubs-ia32.cc __ j(equal, done); __ 6931 src/ia32/code-stubs-ia32.cc __ cmp(entity_name, Handle<String>(name)); __ 6932 src/ia32/code-stubs-ia32.cc __ j(equal, miss); __ 6936 src/ia32/code-stubs-ia32.cc __ cmp(entity_name, masm->isolate()->factory()->the_hole_value()); __ 6937 src/ia32/code-stubs-ia32.cc __ j(equal, &the_hole, Label::kNear); __ 6940 src/ia32/code-stubs-ia32.cc __ mov(entity_name, FieldOperand(entity_name, HeapObject::kMapOffset)); __ 6941 src/ia32/code-stubs-ia32.cc __ test_b(FieldOperand(entity_name, Map::kInstanceTypeOffset), __ 6943 src/ia32/code-stubs-ia32.cc __ j(zero, miss); __ 6944 src/ia32/code-stubs-ia32.cc __ bind(&the_hole); __ 6951 src/ia32/code-stubs-ia32.cc __ push(Immediate(Handle<Object>(name))); __ 6952 src/ia32/code-stubs-ia32.cc __ push(Immediate(name->Hash())); __ 6953 src/ia32/code-stubs-ia32.cc __ CallStub(&stub); __ 6954 src/ia32/code-stubs-ia32.cc __ test(r0, r0); __ 6955 src/ia32/code-stubs-ia32.cc __ j(not_zero, miss); __ 6956 src/ia32/code-stubs-ia32.cc __ jmp(done); __ 6977 src/ia32/code-stubs-ia32.cc if (FLAG_debug_code) __ AbortIfNotString(name); __ 6979 src/ia32/code-stubs-ia32.cc __ mov(r1, FieldOperand(elements, kCapacityOffset)); __ 6980 src/ia32/code-stubs-ia32.cc __ shr(r1, kSmiTagSize); // convert smi to int __ 6981 src/ia32/code-stubs-ia32.cc __ dec(r1); __ 6988 src/ia32/code-stubs-ia32.cc __ mov(r0, FieldOperand(name, String::kHashFieldOffset)); __ 6989 src/ia32/code-stubs-ia32.cc __ shr(r0, String::kHashShift); __ 6991 src/ia32/code-stubs-ia32.cc __ add(r0, Immediate(StringDictionary::GetProbeOffset(i))); __ 6993 src/ia32/code-stubs-ia32.cc __ and_(r0, r1); __ 6997 src/ia32/code-stubs-ia32.cc __ lea(r0, Operand(r0, r0, times_2, 0)); // r0 = r0 * 3 __ 7000 src/ia32/code-stubs-ia32.cc __ cmp(name, Operand(elements, __ 7004 src/ia32/code-stubs-ia32.cc __ j(equal, done); __ 7011 src/ia32/code-stubs-ia32.cc __ push(name); __ 7012 src/ia32/code-stubs-ia32.cc __ mov(r0, FieldOperand(name, String::kHashFieldOffset)); __ 7013 src/ia32/code-stubs-ia32.cc __ shr(r0, String::kHashShift); __ 7014 src/ia32/code-stubs-ia32.cc __ push(r0); __ 7015 src/ia32/code-stubs-ia32.cc __ CallStub(&stub); __ 7017 src/ia32/code-stubs-ia32.cc __ test(r1, r1); __ 7018 src/ia32/code-stubs-ia32.cc __ j(zero, miss); __ 7019 src/ia32/code-stubs-ia32.cc __ jmp(done); __ 7042 src/ia32/code-stubs-ia32.cc __ mov(scratch, FieldOperand(dictionary_, kCapacityOffset)); __ 7043 src/ia32/code-stubs-ia32.cc __ dec(scratch); __ 7044 src/ia32/code-stubs-ia32.cc __ SmiUntag(scratch); __ 7045 src/ia32/code-stubs-ia32.cc __ push(scratch); __ 7054 src/ia32/code-stubs-ia32.cc __ mov(scratch, Operand(esp, 2 * kPointerSize)); __ 7056 src/ia32/code-stubs-ia32.cc __ add(scratch, Immediate(StringDictionary::GetProbeOffset(i))); __ 7058 src/ia32/code-stubs-ia32.cc __ and_(scratch, Operand(esp, 0)); __ 7062 src/ia32/code-stubs-ia32.cc __ lea(index_, Operand(scratch, scratch, times_2, 0)); // index *= 3. __ 7066 src/ia32/code-stubs-ia32.cc __ mov(scratch, Operand(dictionary_, __ 7070 src/ia32/code-stubs-ia32.cc __ cmp(scratch, masm->isolate()->factory()->undefined_value()); __ 7071 src/ia32/code-stubs-ia32.cc __ j(equal, ¬_in_dictionary); __ 7074 src/ia32/code-stubs-ia32.cc __ cmp(scratch, Operand(esp, 3 * kPointerSize)); __ 7075 src/ia32/code-stubs-ia32.cc __ j(equal, &in_dictionary); __ 7083 src/ia32/code-stubs-ia32.cc __ mov(scratch, FieldOperand(scratch, HeapObject::kMapOffset)); __ 7084 src/ia32/code-stubs-ia32.cc __ test_b(FieldOperand(scratch, Map::kInstanceTypeOffset), __ 7086 src/ia32/code-stubs-ia32.cc __ j(zero, &maybe_in_dictionary); __ 7090 src/ia32/code-stubs-ia32.cc __ bind(&maybe_in_dictionary); __ 7095 src/ia32/code-stubs-ia32.cc __ mov(result_, Immediate(0)); __ 7096 src/ia32/code-stubs-ia32.cc __ Drop(1); __ 7097 src/ia32/code-stubs-ia32.cc __ ret(2 * kPointerSize); __ 7100 src/ia32/code-stubs-ia32.cc __ bind(&in_dictionary); __ 7101 src/ia32/code-stubs-ia32.cc __ mov(result_, Immediate(1)); __ 7102 src/ia32/code-stubs-ia32.cc __ Drop(1); __ 7103 src/ia32/code-stubs-ia32.cc __ ret(2 * kPointerSize); __ 7105 src/ia32/code-stubs-ia32.cc __ bind(¬_in_dictionary); __ 7106 src/ia32/code-stubs-ia32.cc __ mov(result_, Immediate(0)); __ 7107 src/ia32/code-stubs-ia32.cc __ Drop(1); __ 7108 src/ia32/code-stubs-ia32.cc __ ret(2 * kPointerSize); __ 7213 src/ia32/code-stubs-ia32.cc __ jmp(&skip_to_incremental_noncompacting, Label::kNear); __ 7214 src/ia32/code-stubs-ia32.cc __ jmp(&skip_to_incremental_compacting, Label::kFar); __ 7217 src/ia32/code-stubs-ia32.cc __ RememberedSetHelper(object_, __ 7223 src/ia32/code-stubs-ia32.cc __ ret(0); __ 7226 src/ia32/code-stubs-ia32.cc __ bind(&skip_to_incremental_noncompacting); __ 7229 src/ia32/code-stubs-ia32.cc __ bind(&skip_to_incremental_compacting); __ 7245 src/ia32/code-stubs-ia32.cc __ mov(regs_.scratch0(), Operand(regs_.address(), 0)); __ 7246 src/ia32/code-stubs-ia32.cc __ JumpIfNotInNewSpace(regs_.scratch0(), // Value. __ 7250 src/ia32/code-stubs-ia32.cc __ CheckPageFlag(regs_.object(), __ 7264 src/ia32/code-stubs-ia32.cc __ RememberedSetHelper(object_, __ 7270 src/ia32/code-stubs-ia32.cc __ bind(&dont_need_remembered_set); __ 7279 src/ia32/code-stubs-ia32.cc __ ret(0); __ 7286 src/ia32/code-stubs-ia32.cc __ PrepareCallCFunction(argument_count, regs_.scratch0()); __ 7287 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 0 * kPointerSize), regs_.object()); __ 7289 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 1 * kPointerSize), regs_.address()); // Slot. __ 7292 src/ia32/code-stubs-ia32.cc __ mov(regs_.scratch0(), Operand(regs_.address(), 0)); __ 7293 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 1 * kPointerSize), regs_.scratch0()); // Value. __ 7295 src/ia32/code-stubs-ia32.cc __ mov(Operand(esp, 2 * kPointerSize), __ 7300 src/ia32/code-stubs-ia32.cc __ CallCFunction( __ 7306 src/ia32/code-stubs-ia32.cc __ CallCFunction( __ 7323 src/ia32/code-stubs-ia32.cc __ JumpIfBlack(regs_.object(), __ 7331 src/ia32/code-stubs-ia32.cc __ RememberedSetHelper(object_, __ 7337 src/ia32/code-stubs-ia32.cc __ ret(0); __ 7340 src/ia32/code-stubs-ia32.cc __ bind(&object_is_black); __ 7343 src/ia32/code-stubs-ia32.cc __ mov(regs_.scratch0(), Operand(regs_.address(), 0)); __ 7348 src/ia32/code-stubs-ia32.cc __ CheckPageFlag(regs_.scratch0(), // Contains value. __ 7355 src/ia32/code-stubs-ia32.cc __ CheckPageFlag(regs_.object(), __ 7362 src/ia32/code-stubs-ia32.cc __ jmp(&need_incremental); __ 7364 src/ia32/code-stubs-ia32.cc __ bind(&ensure_not_white); __ 7369 src/ia32/code-stubs-ia32.cc __ push(regs_.object()); __ 7370 src/ia32/code-stubs-ia32.cc __ EnsureNotWhite(regs_.scratch0(), // The value. __ 7375 src/ia32/code-stubs-ia32.cc __ pop(regs_.object()); __ 7379 src/ia32/code-stubs-ia32.cc __ RememberedSetHelper(object_, __ 7385 src/ia32/code-stubs-ia32.cc __ ret(0); __ 7388 src/ia32/code-stubs-ia32.cc __ bind(&need_incremental_pop_object); __ 7389 src/ia32/code-stubs-ia32.cc __ pop(regs_.object()); __ 7391 src/ia32/code-stubs-ia32.cc __ bind(&need_incremental); __ 7414 src/ia32/code-stubs-ia32.cc __ CheckFastElements(edi, &double_elements); __ 7417 src/ia32/code-stubs-ia32.cc __ JumpIfSmi(eax, &smi_element); __ 7418 src/ia32/code-stubs-ia32.cc __ CheckFastSmiElements(edi, &fast_elements, Label::kNear); __ 7423 src/ia32/code-stubs-ia32.cc __ bind(&slow_elements); __ 7424 src/ia32/code-stubs-ia32.cc __ pop(edi); // Pop return address and remember to put back later for tail __ 7426 src/ia32/code-stubs-ia32.cc __ push(ebx); __ 7427 src/ia32/code-stubs-ia32.cc __ push(ecx); __ 7428 src/ia32/code-stubs-ia32.cc __ push(eax); __ 7429 src/ia32/code-stubs-ia32.cc __ mov(ebx, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset)); __ 7430 src/ia32/code-stubs-ia32.cc __ push(FieldOperand(ebx, JSFunction::kLiteralsOffset)); __ 7431 src/ia32/code-stubs-ia32.cc __ push(edx); __ 7432 src/ia32/code-stubs-ia32.cc __ push(edi); // Return return address so that tail call returns to right __ 7434 src/ia32/code-stubs-ia32.cc __ TailCallRuntime(Runtime::kStoreArrayLiteralElement, 5, 1); __ 7436 src/ia32/code-stubs-ia32.cc __ bind(&slow_elements_from_double); __ 7437 src/ia32/code-stubs-ia32.cc __ pop(edx); __ 7438 src/ia32/code-stubs-ia32.cc __ jmp(&slow_elements); __ 7441 src/ia32/code-stubs-ia32.cc __ bind(&fast_elements); __ 7442 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(ebx, JSObject::kElementsOffset)); __ 7443 src/ia32/code-stubs-ia32.cc __ lea(ecx, FieldOperand(ebx, ecx, times_half_pointer_size, __ 7445 src/ia32/code-stubs-ia32.cc __ mov(Operand(ecx, 0), eax); __ 7447 src/ia32/code-stubs-ia32.cc __ RecordWrite(ebx, ecx, eax, __ 7451 src/ia32/code-stubs-ia32.cc __ ret(0); __ 7455 src/ia32/code-stubs-ia32.cc __ bind(&smi_element); __ 7456 src/ia32/code-stubs-ia32.cc __ mov(ebx, FieldOperand(ebx, JSObject::kElementsOffset)); __ 7457 src/ia32/code-stubs-ia32.cc __ mov(FieldOperand(ebx, ecx, times_half_pointer_size, __ 7459 src/ia32/code-stubs-ia32.cc __ ret(0); __ 7462 src/ia32/code-stubs-ia32.cc __ bind(&double_elements); __ 7464 src/ia32/code-stubs-ia32.cc __ push(edx); __ 7465 src/ia32/code-stubs-ia32.cc __ mov(edx, FieldOperand(ebx, JSObject::kElementsOffset)); __ 7466 src/ia32/code-stubs-ia32.cc __ StoreNumberToDoubleElements(eax, __ 7473 src/ia32/code-stubs-ia32.cc __ pop(edx); __ 7474 src/ia32/code-stubs-ia32.cc __ ret(0); __ 7488 src/ia32/code-stubs-ia32.cc __ push(ecx); __ 7491 src/ia32/code-stubs-ia32.cc __ lea(eax, Operand(esp, kPointerSize)); __ 7492 src/ia32/code-stubs-ia32.cc __ push(eax); __ 7495 src/ia32/code-stubs-ia32.cc __ mov(eax, Operand(eax, 0)); __ 7496 src/ia32/code-stubs-ia32.cc __ sub(eax, Immediate(Assembler::kCallInstructionLength)); __ 7497 src/ia32/code-stubs-ia32.cc __ push(eax); __ 7501 src/ia32/code-stubs-ia32.cc __ call(Operand(hook_location, RelocInfo::NONE)); __ 7502 src/ia32/code-stubs-ia32.cc __ add(esp, Immediate(2 * kPointerSize)); __ 7505 src/ia32/code-stubs-ia32.cc __ pop(ecx); __ 7506 src/ia32/code-stubs-ia32.cc __ ret(0); __ 82 src/ia32/codegen-ia32.cc __ push(ebx); __ 83 src/ia32/codegen-ia32.cc __ push(edx); __ 84 src/ia32/codegen-ia32.cc __ push(edi); __ 85 src/ia32/codegen-ia32.cc __ fld_d(Operand(esp, 4 * kPointerSize)); __ 86 src/ia32/codegen-ia32.cc __ mov(ebx, Operand(esp, 4 * kPointerSize)); __ 87 src/ia32/codegen-ia32.cc __ mov(edx, Operand(esp, 5 * kPointerSize)); __ 90 src/ia32/codegen-ia32.cc __ pop(edi); __ 91 src/ia32/codegen-ia32.cc __ pop(edx); __ 92 src/ia32/codegen-ia32.cc __ pop(ebx); __ 93 src/ia32/codegen-ia32.cc __ Ret(); __ 120 src/ia32/codegen-ia32.cc __ movdbl(xmm0, Operand(esp, 1 * kPointerSize)); __ 121 src/ia32/codegen-ia32.cc __ sqrtsd(xmm0, xmm0); __ 122 src/ia32/codegen-ia32.cc __ movdbl(Operand(esp, 1 * kPointerSize), xmm0); __ 124 src/ia32/codegen-ia32.cc __ fld_d(Operand(esp, 1 * kPointerSize)); __ 125 src/ia32/codegen-ia32.cc __ Ret(); __ 171 src/ia32/codegen-ia32.cc __ cmp(Operand(esp, kSizeOffset + stack_offset), __ 174 src/ia32/codegen-ia32.cc __ j(greater_equal, &ok); __ 175 src/ia32/codegen-ia32.cc __ int3(); __ 176 src/ia32/codegen-ia32.cc __ bind(&ok); __ 180 src/ia32/codegen-ia32.cc __ push(edi); __ 181 src/ia32/codegen-ia32.cc __ push(esi); __ 186 src/ia32/codegen-ia32.cc __ mov(dst, Operand(esp, stack_offset + kDestinationOffset)); __ 187 src/ia32/codegen-ia32.cc __ mov(src, Operand(esp, stack_offset + kSourceOffset)); __ 188 src/ia32/codegen-ia32.cc __ mov(count, Operand(esp, stack_offset + kSizeOffset)); __ 191 src/ia32/codegen-ia32.cc __ movdqu(xmm0, Operand(src, 0)); __ 192 src/ia32/codegen-ia32.cc __ movdqu(Operand(dst, 0), xmm0); __ 193 src/ia32/codegen-ia32.cc __ mov(edx, dst); __ 194 src/ia32/codegen-ia32.cc __ and_(edx, 0xF); __ 195 src/ia32/codegen-ia32.cc __ neg(edx); __ 196 src/ia32/codegen-ia32.cc __ add(edx, Immediate(16)); __ 197 src/ia32/codegen-ia32.cc __ add(dst, edx); __ 198 src/ia32/codegen-ia32.cc __ add(src, edx); __ 199 src/ia32/codegen-ia32.cc __ sub(count, edx); __ 203 src/ia32/codegen-ia32.cc __ test(src, Immediate(0x0F)); __ 204 src/ia32/codegen-ia32.cc __ j(not_zero, &unaligned_source); __ 207 src/ia32/codegen-ia32.cc __ mov(edx, count); __ 210 src/ia32/codegen-ia32.cc __ shr(loop_count, 5); __ 214 src/ia32/codegen-ia32.cc __ bind(&loop); __ 215 src/ia32/codegen-ia32.cc __ prefetch(Operand(src, 0x20), 1); __ 216 src/ia32/codegen-ia32.cc __ movdqa(xmm0, Operand(src, 0x00)); __ 217 src/ia32/codegen-ia32.cc __ movdqa(xmm1, Operand(src, 0x10)); __ 218 src/ia32/codegen-ia32.cc __ add(src, Immediate(0x20)); __ 220 src/ia32/codegen-ia32.cc __ movdqa(Operand(dst, 0x00), xmm0); __ 221 src/ia32/codegen-ia32.cc __ movdqa(Operand(dst, 0x10), xmm1); __ 222 src/ia32/codegen-ia32.cc __ add(dst, Immediate(0x20)); __ 224 src/ia32/codegen-ia32.cc __ dec(loop_count); __ 225 src/ia32/codegen-ia32.cc __ j(not_zero, &loop); __ 230 src/ia32/codegen-ia32.cc __ test(count, Immediate(0x10)); __ 231 src/ia32/codegen-ia32.cc __ j(zero, &move_less_16); __ 232 src/ia32/codegen-ia32.cc __ movdqa(xmm0, Operand(src, 0)); __ 233 src/ia32/codegen-ia32.cc __ add(src, Immediate(0x10)); __ 234 src/ia32/codegen-ia32.cc __ movdqa(Operand(dst, 0), xmm0); __ 235 src/ia32/codegen-ia32.cc __ add(dst, Immediate(0x10)); __ 236 src/ia32/codegen-ia32.cc __ bind(&move_less_16); __ 239 src/ia32/codegen-ia32.cc __ and_(count, 0xF); __ 240 src/ia32/codegen-ia32.cc __ movdqu(xmm0, Operand(src, count, times_1, -0x10)); __ 241 src/ia32/codegen-ia32.cc __ movdqu(Operand(dst, count, times_1, -0x10), xmm0); __ 243 src/ia32/codegen-ia32.cc __ mov(eax, Operand(esp, stack_offset + kDestinationOffset)); __ 244 src/ia32/codegen-ia32.cc __ pop(esi); __ 245 src/ia32/codegen-ia32.cc __ pop(edi); __ 246 src/ia32/codegen-ia32.cc __ ret(0); __ 248 src/ia32/codegen-ia32.cc __ Align(16); __ 252 src/ia32/codegen-ia32.cc __ bind(&unaligned_source); __ 253 src/ia32/codegen-ia32.cc __ mov(edx, ecx); __ 256 src/ia32/codegen-ia32.cc __ shr(loop_count, 5); __ 260 src/ia32/codegen-ia32.cc __ bind(&loop); __ 261 src/ia32/codegen-ia32.cc __ prefetch(Operand(src, 0x20), 1); __ 262 src/ia32/codegen-ia32.cc __ movdqu(xmm0, Operand(src, 0x00)); __ 263 src/ia32/codegen-ia32.cc __ movdqu(xmm1, Operand(src, 0x10)); __ 264 src/ia32/codegen-ia32.cc __ add(src, Immediate(0x20)); __ 266 src/ia32/codegen-ia32.cc __ movdqa(Operand(dst, 0x00), xmm0); __ 267 src/ia32/codegen-ia32.cc __ movdqa(Operand(dst, 0x10), xmm1); __ 268 src/ia32/codegen-ia32.cc __ add(dst, Immediate(0x20)); __ 270 src/ia32/codegen-ia32.cc __ dec(loop_count); __ 271 src/ia32/codegen-ia32.cc __ j(not_zero, &loop); __ 276 src/ia32/codegen-ia32.cc __ test(count, Immediate(0x10)); __ 277 src/ia32/codegen-ia32.cc __ j(zero, &move_less_16); __ 278 src/ia32/codegen-ia32.cc __ movdqu(xmm0, Operand(src, 0)); __ 279 src/ia32/codegen-ia32.cc __ add(src, Immediate(0x10)); __ 280 src/ia32/codegen-ia32.cc __ movdqa(Operand(dst, 0), xmm0); __ 281 src/ia32/codegen-ia32.cc __ add(dst, Immediate(0x10)); __ 282 src/ia32/codegen-ia32.cc __ bind(&move_less_16); __ 285 src/ia32/codegen-ia32.cc __ and_(count, 0x0F); __ 286 src/ia32/codegen-ia32.cc __ movdqu(xmm0, Operand(src, count, times_1, -0x10)); __ 287 src/ia32/codegen-ia32.cc __ movdqu(Operand(dst, count, times_1, -0x10), xmm0); __ 289 src/ia32/codegen-ia32.cc __ mov(eax, Operand(esp, stack_offset + kDestinationOffset)); __ 290 src/ia32/codegen-ia32.cc __ pop(esi); __ 291 src/ia32/codegen-ia32.cc __ pop(edi); __ 292 src/ia32/codegen-ia32.cc __ ret(0); __ 297 src/ia32/codegen-ia32.cc __ push(edi); __ 298 src/ia32/codegen-ia32.cc __ push(esi); __ 300 src/ia32/codegen-ia32.cc __ cld(); __ 304 src/ia32/codegen-ia32.cc __ mov(dst, Operand(esp, stack_offset + kDestinationOffset)); __ 305 src/ia32/codegen-ia32.cc __ mov(src, Operand(esp, stack_offset + kSourceOffset)); __ 306 src/ia32/codegen-ia32.cc __ mov(count, Operand(esp, stack_offset + kSizeOffset)); __ 309 src/ia32/codegen-ia32.cc __ mov(eax, Operand(src, 0)); __ 310 src/ia32/codegen-ia32.cc __ mov(Operand(dst, 0), eax); __ 313 src/ia32/codegen-ia32.cc __ mov(edx, dst); __ 314 src/ia32/codegen-ia32.cc __ and_(edx, 0x03); __ 315 src/ia32/codegen-ia32.cc __ neg(edx); __ 316 src/ia32/codegen-ia32.cc __ add(edx, Immediate(4)); // edx = 4 - (dst & 3) __ 317 src/ia32/codegen-ia32.cc __ add(dst, edx); __ 318 src/ia32/codegen-ia32.cc __ add(src, edx); __ 319 src/ia32/codegen-ia32.cc __ sub(count, edx); __ 322 src/ia32/codegen-ia32.cc __ mov(edx, count); __ 324 src/ia32/codegen-ia32.cc __ shr(ecx, 2); // Make word count instead of byte count. __ 325 src/ia32/codegen-ia32.cc __ rep_movs(); __ 328 src/ia32/codegen-ia32.cc __ and_(count, 3); __ 329 src/ia32/codegen-ia32.cc __ mov(eax, Operand(src, count, times_1, -4)); __ 330 src/ia32/codegen-ia32.cc __ mov(Operand(dst, count, times_1, -4), eax); __ 332 src/ia32/codegen-ia32.cc __ mov(eax, Operand(esp, stack_offset + kDestinationOffset)); __ 333 src/ia32/codegen-ia32.cc __ pop(esi); __ 334 src/ia32/codegen-ia32.cc __ pop(edi); __ 335 src/ia32/codegen-ia32.cc __ ret(0); __ 364 src/ia32/codegen-ia32.cc __ mov(FieldOperand(edx, HeapObject::kMapOffset), ebx); __ 365 src/ia32/codegen-ia32.cc __ RecordWriteField(edx, __ 388 src/ia32/codegen-ia32.cc __ mov(edi, FieldOperand(edx, JSObject::kElementsOffset)); __ 389 src/ia32/codegen-ia32.cc __ cmp(edi, Immediate(masm->isolate()->factory()->empty_fixed_array())); __ 390 src/ia32/codegen-ia32.cc __ j(equal, &only_change_map); __ 392 src/ia32/codegen-ia32.cc __ push(eax); __ 393 src/ia32/codegen-ia32.cc __ push(ebx); __ 395 src/ia32/codegen-ia32.cc __ mov(edi, FieldOperand(edi, FixedArray::kLengthOffset)); __ 400 src/ia32/codegen-ia32.cc __ lea(esi, Operand(edi, __ 403 src/ia32/codegen-ia32.cc __ AllocateInNewSpace(esi, eax, ebx, no_reg, &gc_required, TAG_OBJECT); __ 406 src/ia32/codegen-ia32.cc __ test(eax, Immediate(kDoubleAlignmentMask - kHeapObjectTag)); __ 407 src/ia32/codegen-ia32.cc __ j(zero, &aligned, Label::kNear); __ 408 src/ia32/codegen-ia32.cc __ mov(FieldOperand(eax, 0), __ 410 src/ia32/codegen-ia32.cc __ add(eax, Immediate(kPointerSize)); __ 411 src/ia32/codegen-ia32.cc __ jmp(&aligned_done); __ 413 src/ia32/codegen-ia32.cc __ bind(&aligned); __ 414 src/ia32/codegen-ia32.cc __ mov(Operand(eax, esi, times_1, -kPointerSize-1), __ 417 src/ia32/codegen-ia32.cc __ bind(&aligned_done); __ 422 src/ia32/codegen-ia32.cc __ mov(FieldOperand(eax, HeapObject::kMapOffset), __ 424 src/ia32/codegen-ia32.cc __ mov(FieldOperand(eax, FixedDoubleArray::kLengthOffset), edi); __ 425 src/ia32/codegen-ia32.cc __ mov(esi, FieldOperand(edx, JSObject::kElementsOffset)); __ 427 src/ia32/codegen-ia32.cc __ mov(FieldOperand(edx, JSObject::kElementsOffset), eax); __ 428 src/ia32/codegen-ia32.cc __ mov(ebx, eax); __ 429 src/ia32/codegen-ia32.cc __ RecordWriteField(edx, __ 437 src/ia32/codegen-ia32.cc __ mov(edi, FieldOperand(esi, FixedArray::kLengthOffset)); __ 445 src/ia32/codegen-ia32.cc __ movdbl(the_hole_nan, __ 448 src/ia32/codegen-ia32.cc __ jmp(&entry); __ 451 src/ia32/codegen-ia32.cc __ bind(&gc_required); __ 453 src/ia32/codegen-ia32.cc __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); __ 454 src/ia32/codegen-ia32.cc __ pop(ebx); __ 455 src/ia32/codegen-ia32.cc __ pop(eax); __ 456 src/ia32/codegen-ia32.cc __ jmp(fail); __ 460 src/ia32/codegen-ia32.cc __ bind(&loop); __ 461 src/ia32/codegen-ia32.cc __ mov(ebx, FieldOperand(esi, edi, times_2, FixedArray::kHeaderSize)); __ 464 src/ia32/codegen-ia32.cc __ JumpIfNotSmi(ebx, &convert_hole); __ 467 src/ia32/codegen-ia32.cc __ SmiUntag(ebx); __ 470 src/ia32/codegen-ia32.cc __ cvtsi2sd(xmm0, ebx); __ 471 src/ia32/codegen-ia32.cc __ movdbl(FieldOperand(eax, edi, times_4, FixedDoubleArray::kHeaderSize), __ 474 src/ia32/codegen-ia32.cc __ push(ebx); __ 475 src/ia32/codegen-ia32.cc __ fild_s(Operand(esp, 0)); __ 476 src/ia32/codegen-ia32.cc __ pop(ebx); __ 477 src/ia32/codegen-ia32.cc __ fstp_d(FieldOperand(eax, edi, times_4, FixedDoubleArray::kHeaderSize)); __ 479 src/ia32/codegen-ia32.cc __ jmp(&entry); __ 482 src/ia32/codegen-ia32.cc __ bind(&convert_hole); __ 485 src/ia32/codegen-ia32.cc __ cmp(ebx, masm->isolate()->factory()->the_hole_value()); __ 486 src/ia32/codegen-ia32.cc __ Assert(equal, "object found in smi-only array"); __ 491 src/ia32/codegen-ia32.cc __ movdbl(FieldOperand(eax, edi, times_4, FixedDoubleArray::kHeaderSize), __ 494 src/ia32/codegen-ia32.cc __ fld_d(Operand::StaticVariable(canonical_the_hole_nan_reference)); __ 495 src/ia32/codegen-ia32.cc __ fstp_d(FieldOperand(eax, edi, times_4, FixedDoubleArray::kHeaderSize)); __ 498 src/ia32/codegen-ia32.cc __ bind(&entry); __ 499 src/ia32/codegen-ia32.cc __ sub(edi, Immediate(Smi::FromInt(1))); __ 500 src/ia32/codegen-ia32.cc __ j(not_sign, &loop); __ 502 src/ia32/codegen-ia32.cc __ pop(ebx); __ 503 src/ia32/codegen-ia32.cc __ pop(eax); __ 506 src/ia32/codegen-ia32.cc __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); __ 508 src/ia32/codegen-ia32.cc __ bind(&only_change_map); __ 512 src/ia32/codegen-ia32.cc __ mov(FieldOperand(edx, HeapObject::kMapOffset), ebx); __ 513 src/ia32/codegen-ia32.cc __ RecordWriteField(edx, __ 536 src/ia32/codegen-ia32.cc __ mov(edi, FieldOperand(edx, JSObject::kElementsOffset)); __ 537 src/ia32/codegen-ia32.cc __ cmp(edi, Immediate(masm->isolate()->factory()->empty_fixed_array())); __ 538 src/ia32/codegen-ia32.cc __ j(equal, &only_change_map); __ 540 src/ia32/codegen-ia32.cc __ push(eax); __ 541 src/ia32/codegen-ia32.cc __ push(edx); __ 542 src/ia32/codegen-ia32.cc __ push(ebx); __ 544 src/ia32/codegen-ia32.cc __ mov(ebx, FieldOperand(edi, FixedDoubleArray::kLengthOffset)); __ 548 src/ia32/codegen-ia32.cc __ lea(edi, Operand(ebx, times_2, FixedArray::kHeaderSize)); __ 549 src/ia32/codegen-ia32.cc __ AllocateInNewSpace(edi, eax, esi, no_reg, &gc_required, TAG_OBJECT); __ 553 src/ia32/codegen-ia32.cc __ mov(FieldOperand(eax, HeapObject::kMapOffset), __ 555 src/ia32/codegen-ia32.cc __ mov(FieldOperand(eax, FixedArray::kLengthOffset), ebx); __ 556 src/ia32/codegen-ia32.cc __ mov(edi, FieldOperand(edx, JSObject::kElementsOffset)); __ 558 src/ia32/codegen-ia32.cc __ jmp(&entry); __ 563 src/ia32/codegen-ia32.cc __ bind(&only_change_map); __ 564 src/ia32/codegen-ia32.cc __ mov(FieldOperand(edx, HeapObject::kMapOffset), ebx); __ 565 src/ia32/codegen-ia32.cc __ RecordWriteField(edx, __ 572 src/ia32/codegen-ia32.cc __ jmp(&success); __ 575 src/ia32/codegen-ia32.cc __ bind(&gc_required); __ 576 src/ia32/codegen-ia32.cc __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); __ 577 src/ia32/codegen-ia32.cc __ pop(ebx); __ 578 src/ia32/codegen-ia32.cc __ pop(edx); __ 579 src/ia32/codegen-ia32.cc __ pop(eax); __ 580 src/ia32/codegen-ia32.cc __ jmp(fail); __ 585 src/ia32/codegen-ia32.cc __ bind(&loop); __ 588 src/ia32/codegen-ia32.cc __ cmp(FieldOperand(edi, ebx, times_4, offset), Immediate(kHoleNanUpper32)); __ 589 src/ia32/codegen-ia32.cc __ j(equal, &convert_hole); __ 592 src/ia32/codegen-ia32.cc __ AllocateHeapNumber(edx, esi, no_reg, &gc_required); __ 596 src/ia32/codegen-ia32.cc __ movdbl(xmm0, __ 598 src/ia32/codegen-ia32.cc __ movdbl(FieldOperand(edx, HeapNumber::kValueOffset), xmm0); __ 600 src/ia32/codegen-ia32.cc __ mov(esi, FieldOperand(edi, ebx, times_4, FixedDoubleArray::kHeaderSize)); __ 601 src/ia32/codegen-ia32.cc __ mov(FieldOperand(edx, HeapNumber::kValueOffset), esi); __ 602 src/ia32/codegen-ia32.cc __ mov(esi, FieldOperand(edi, ebx, times_4, offset)); __ 603 src/ia32/codegen-ia32.cc __ mov(FieldOperand(edx, HeapNumber::kValueOffset + kPointerSize), esi); __ 605 src/ia32/codegen-ia32.cc __ mov(FieldOperand(eax, ebx, times_2, FixedArray::kHeaderSize), edx); __ 606 src/ia32/codegen-ia32.cc __ mov(esi, ebx); __ 607 src/ia32/codegen-ia32.cc __ RecordWriteArray(eax, __ 613 src/ia32/codegen-ia32.cc __ jmp(&entry, Label::kNear); __ 616 src/ia32/codegen-ia32.cc __ bind(&convert_hole); __ 617 src/ia32/codegen-ia32.cc __ mov(FieldOperand(eax, ebx, times_2, FixedArray::kHeaderSize), __ 620 src/ia32/codegen-ia32.cc __ bind(&entry); __ 621 src/ia32/codegen-ia32.cc __ sub(ebx, Immediate(Smi::FromInt(1))); __ 622 src/ia32/codegen-ia32.cc __ j(not_sign, &loop); __ 624 src/ia32/codegen-ia32.cc __ pop(ebx); __ 625 src/ia32/codegen-ia32.cc __ pop(edx); __ 629 src/ia32/codegen-ia32.cc __ mov(FieldOperand(edx, HeapObject::kMapOffset), ebx); __ 630 src/ia32/codegen-ia32.cc __ RecordWriteField(edx, __ 638 src/ia32/codegen-ia32.cc __ mov(FieldOperand(edx, JSObject::kElementsOffset), eax); __ 639 src/ia32/codegen-ia32.cc __ RecordWriteField(edx, __ 648 src/ia32/codegen-ia32.cc __ pop(eax); __ 649 src/ia32/codegen-ia32.cc __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); __ 651 src/ia32/codegen-ia32.cc __ bind(&success); __ 662 src/ia32/codegen-ia32.cc __ mov(result, FieldOperand(string, HeapObject::kMapOffset)); __ 663 src/ia32/codegen-ia32.cc __ movzx_b(result, FieldOperand(result, Map::kInstanceTypeOffset)); __ 667 src/ia32/codegen-ia32.cc __ test(result, Immediate(kIsIndirectStringMask)); __ 668 src/ia32/codegen-ia32.cc __ j(zero, &check_sequential, Label::kNear); __ 672 src/ia32/codegen-ia32.cc __ test(result, Immediate(kSlicedNotConsMask)); __ 673 src/ia32/codegen-ia32.cc __ j(zero, &cons_string, Label::kNear); __ 677 src/ia32/codegen-ia32.cc __ mov(result, FieldOperand(string, SlicedString::kOffsetOffset)); __ 678 src/ia32/codegen-ia32.cc __ SmiUntag(result); __ 679 src/ia32/codegen-ia32.cc __ add(index, result); __ 680 src/ia32/codegen-ia32.cc __ mov(string, FieldOperand(string, SlicedString::kParentOffset)); __ 681 src/ia32/codegen-ia32.cc __ jmp(&indirect_string_loaded, Label::kNear); __ 688 src/ia32/codegen-ia32.cc __ bind(&cons_string); __ 689 src/ia32/codegen-ia32.cc __ cmp(FieldOperand(string, ConsString::kSecondOffset), __ 691 src/ia32/codegen-ia32.cc __ j(not_equal, call_runtime); __ 692 src/ia32/codegen-ia32.cc __ mov(string, FieldOperand(string, ConsString::kFirstOffset)); __ 694 src/ia32/codegen-ia32.cc __ bind(&indirect_string_loaded); __ 695 src/ia32/codegen-ia32.cc __ mov(result, FieldOperand(string, HeapObject::kMapOffset)); __ 696 src/ia32/codegen-ia32.cc __ movzx_b(result, FieldOperand(result, Map::kInstanceTypeOffset)); __ 702 src/ia32/codegen-ia32.cc __ bind(&check_sequential); __ 704 src/ia32/codegen-ia32.cc __ test(result, Immediate(kStringRepresentationMask)); __ 705 src/ia32/codegen-ia32.cc __ j(zero, &seq_string, Label::kNear); __ 712 src/ia32/codegen-ia32.cc __ test(result, Immediate(kIsIndirectStringMask)); __ 713 src/ia32/codegen-ia32.cc __ Assert(zero, "external string expected, but not found"); __ 717 src/ia32/codegen-ia32.cc __ test_b(result, kShortExternalStringMask); __ 718 src/ia32/codegen-ia32.cc __ j(not_zero, call_runtime); __ 721 src/ia32/codegen-ia32.cc __ test_b(result, kStringEncodingMask); __ 722 src/ia32/codegen-ia32.cc __ mov(result, FieldOperand(string, ExternalString::kResourceDataOffset)); __ 723 src/ia32/codegen-ia32.cc __ j(not_equal, &ascii_external, Label::kNear); __ 725 src/ia32/codegen-ia32.cc __ movzx_w(result, Operand(result, index, times_2, 0)); __ 726 src/ia32/codegen-ia32.cc __ jmp(&done, Label::kNear); __ 727 src/ia32/codegen-ia32.cc __ bind(&ascii_external); __ 729 src/ia32/codegen-ia32.cc __ movzx_b(result, Operand(result, index, times_1, 0)); __ 730 src/ia32/codegen-ia32.cc __ jmp(&done, Label::kNear); __ 734 src/ia32/codegen-ia32.cc __ bind(&seq_string); __ 737 src/ia32/codegen-ia32.cc __ test(result, Immediate(kStringEncodingMask)); __ 738 src/ia32/codegen-ia32.cc __ j(not_zero, &ascii, Label::kNear); __ 742 src/ia32/codegen-ia32.cc __ movzx_w(result, FieldOperand(string, __ 746 src/ia32/codegen-ia32.cc __ jmp(&done, Label::kNear); __ 750 src/ia32/codegen-ia32.cc __ bind(&ascii); __ 751 src/ia32/codegen-ia32.cc __ movzx_b(result, FieldOperand(string, __ 755 src/ia32/codegen-ia32.cc __ bind(&done); __ 110 src/ia32/debug-ia32.cc __ push(Immediate(Smi::FromInt( __ 113 src/ia32/debug-ia32.cc __ push(Immediate(Smi::FromInt(Debug::FramePaddingLayout::kInitialSize))); __ 125 src/ia32/debug-ia32.cc __ push(reg); __ 129 src/ia32/debug-ia32.cc __ test(reg, Immediate(0xc0000000)); __ 130 src/ia32/debug-ia32.cc __ Assert(zero, "Unable to encode value as smi"); __ 132 src/ia32/debug-ia32.cc __ SmiTag(reg); __ 133 src/ia32/debug-ia32.cc __ push(reg); __ 138 src/ia32/debug-ia32.cc __ RecordComment("// Calling from debug break to runtime - come in - over"); __ 140 src/ia32/debug-ia32.cc __ Set(eax, Immediate(0)); // No arguments. __ 141 src/ia32/debug-ia32.cc __ mov(ebx, Immediate(ExternalReference::debug_break(masm->isolate()))); __ 144 src/ia32/debug-ia32.cc __ CallStub(&ceb); __ 156 src/ia32/debug-ia32.cc __ Set(reg, Immediate(kDebugZapValue)); __ 160 src/ia32/debug-ia32.cc __ pop(reg); __ 164 src/ia32/debug-ia32.cc __ pop(reg); __ 165 src/ia32/debug-ia32.cc __ SmiUntag(reg); __ 176 src/ia32/debug-ia32.cc __ pop(unused_reg); __ 179 src/ia32/debug-ia32.cc __ lea(esp, Operand(esp, unused_reg, times_half_pointer_size, 0)); __ 187 src/ia32/debug-ia32.cc __ add(esp, Immediate(kPointerSize)); __ 195 src/ia32/debug-ia32.cc __ jmp(Operand::StaticVariable(after_break_target)); __ 310 src/ia32/debug-ia32.cc __ bind(&check_codesize); __ 311 src/ia32/debug-ia32.cc __ RecordDebugBreakSlot(); __ 312 src/ia32/debug-ia32.cc __ Nop(Assembler::kDebugBreakSlotLength); __ 334 src/ia32/debug-ia32.cc __ mov(Operand::StaticVariable(restarter_frame_function_slot), Immediate(0)); __ 337 src/ia32/debug-ia32.cc __ lea(esp, Operand(ebp, -1 * kPointerSize)); __ 339 src/ia32/debug-ia32.cc __ pop(edi); // Function. __ 340 src/ia32/debug-ia32.cc __ pop(ebp); __ 343 src/ia32/debug-ia32.cc __ mov(esi, FieldOperand(edi, JSFunction::kContextOffset)); __ 346 src/ia32/debug-ia32.cc __ mov(edx, FieldOperand(edi, JSFunction::kSharedFunctionInfoOffset)); __ 347 src/ia32/debug-ia32.cc __ mov(edx, FieldOperand(edx, SharedFunctionInfo::kCodeOffset)); __ 348 src/ia32/debug-ia32.cc __ lea(edx, FieldOperand(edx, Code::kHeaderSize)); __ 351 src/ia32/debug-ia32.cc __ jmp(edx); __ 917 src/ia32/deoptimizer-ia32.cc __ sub(esp, Immediate(kDoubleRegsSize)); __ 921 src/ia32/deoptimizer-ia32.cc __ movdbl(Operand(esp, offset), xmm_reg); __ 924 src/ia32/deoptimizer-ia32.cc __ pushad(); __ 930 src/ia32/deoptimizer-ia32.cc __ mov(ebx, Operand(esp, kSavedRegistersAreaSize)); __ 935 src/ia32/deoptimizer-ia32.cc __ Set(ecx, Immediate(0)); __ 936 src/ia32/deoptimizer-ia32.cc __ lea(edx, Operand(esp, kSavedRegistersAreaSize + 1 * kPointerSize)); __ 938 src/ia32/deoptimizer-ia32.cc __ mov(ecx, Operand(esp, kSavedRegistersAreaSize + 1 * kPointerSize)); __ 939 src/ia32/deoptimizer-ia32.cc __ lea(edx, Operand(esp, kSavedRegistersAreaSize + 2 * kPointerSize)); __ 941 src/ia32/deoptimizer-ia32.cc __ sub(edx, ebp); __ 942 src/ia32/deoptimizer-ia32.cc __ neg(edx); __ 945 src/ia32/deoptimizer-ia32.cc __ PrepareCallCFunction(6, eax); __ 946 src/ia32/deoptimizer-ia32.cc __ mov(eax, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset)); __ 947 src/ia32/deoptimizer-ia32.cc __ mov(Operand(esp, 0 * kPointerSize), eax); // Function. __ 948 src/ia32/deoptimizer-ia32.cc __ mov(Operand(esp, 1 * kPointerSize), Immediate(type())); // Bailout type. __ 949 src/ia32/deoptimizer-ia32.cc __ mov(Operand(esp, 2 * kPointerSize), ebx); // Bailout id. __ 950 src/ia32/deoptimizer-ia32.cc __ mov(Operand(esp, 3 * kPointerSize), ecx); // Code address or 0. __ 951 src/ia32/deoptimizer-ia32.cc __ mov(Operand(esp, 4 * kPointerSize), edx); // Fp-to-sp delta. __ 952 src/ia32/deoptimizer-ia32.cc __ mov(Operand(esp, 5 * kPointerSize), __ 956 src/ia32/deoptimizer-ia32.cc __ CallCFunction(ExternalReference::new_deoptimizer_function(isolate), 6); __ 961 src/ia32/deoptimizer-ia32.cc __ mov(ebx, Operand(eax, Deoptimizer::input_offset())); __ 966 src/ia32/deoptimizer-ia32.cc __ pop(Operand(ebx, offset)); __ 974 src/ia32/deoptimizer-ia32.cc __ movdbl(xmm0, Operand(esp, src_offset)); __ 975 src/ia32/deoptimizer-ia32.cc __ movdbl(Operand(ebx, dst_offset), xmm0); __ 980 src/ia32/deoptimizer-ia32.cc __ add(esp, Immediate(kDoubleRegsSize + kPointerSize)); __ 982 src/ia32/deoptimizer-ia32.cc __ add(esp, Immediate(kDoubleRegsSize + 2 * kPointerSize)); __ 987 src/ia32/deoptimizer-ia32.cc __ mov(ecx, Operand(ebx, FrameDescription::frame_size_offset())); __ 988 src/ia32/deoptimizer-ia32.cc __ add(ecx, esp); __ 993 src/ia32/deoptimizer-ia32.cc __ lea(edx, Operand(ebx, FrameDescription::frame_content_offset())); __ 995 src/ia32/deoptimizer-ia32.cc __ bind(&pop_loop); __ 996 src/ia32/deoptimizer-ia32.cc __ pop(Operand(edx, 0)); __ 997 src/ia32/deoptimizer-ia32.cc __ add(edx, Immediate(sizeof(uint32_t))); __ 998 src/ia32/deoptimizer-ia32.cc __ cmp(ecx, esp); __ 999 src/ia32/deoptimizer-ia32.cc __ j(not_equal, &pop_loop); __ 1002 src/ia32/deoptimizer-ia32.cc __ push(eax); __ 1003 src/ia32/deoptimizer-ia32.cc __ PrepareCallCFunction(1, ebx); __ 1004 src/ia32/deoptimizer-ia32.cc __ mov(Operand(esp, 0 * kPointerSize), eax); __ 1007 src/ia32/deoptimizer-ia32.cc __ CallCFunction( __ 1010 src/ia32/deoptimizer-ia32.cc __ pop(eax); __ 1015 src/ia32/deoptimizer-ia32.cc __ cmp(Operand(eax, Deoptimizer::has_alignment_padding_offset()), __ 1017 src/ia32/deoptimizer-ia32.cc __ j(equal, &no_padding); __ 1018 src/ia32/deoptimizer-ia32.cc __ pop(ecx); __ 1020 src/ia32/deoptimizer-ia32.cc __ cmp(ecx, Immediate(kAlignmentZapValue)); __ 1021 src/ia32/deoptimizer-ia32.cc __ Assert(equal, "alignment marker expected"); __ 1023 src/ia32/deoptimizer-ia32.cc __ bind(&no_padding); __ 1027 src/ia32/deoptimizer-ia32.cc __ cmp(Operand(eax, Deoptimizer::has_alignment_padding_offset()), __ 1029 src/ia32/deoptimizer-ia32.cc __ j(equal, &no_padding); __ 1030 src/ia32/deoptimizer-ia32.cc __ push(Immediate(kAlignmentZapValue)); __ 1031 src/ia32/deoptimizer-ia32.cc __ bind(&no_padding); __ 1038 src/ia32/deoptimizer-ia32.cc __ mov(edx, Operand(eax, Deoptimizer::output_count_offset())); __ 1039 src/ia32/deoptimizer-ia32.cc __ mov(eax, Operand(eax, Deoptimizer::output_offset())); __ 1040 src/ia32/deoptimizer-ia32.cc __ lea(edx, Operand(eax, edx, times_4, 0)); __ 1041 src/ia32/deoptimizer-ia32.cc __ bind(&outer_push_loop); __ 1043 src/ia32/deoptimizer-ia32.cc __ mov(ebx, Operand(eax, 0)); __ 1044 src/ia32/deoptimizer-ia32.cc __ mov(ecx, Operand(ebx, FrameDescription::frame_size_offset())); __ 1045 src/ia32/deoptimizer-ia32.cc __ bind(&inner_push_loop); __ 1046 src/ia32/deoptimizer-ia32.cc __ sub(ecx, Immediate(sizeof(uint32_t))); __ 1047 src/ia32/deoptimizer-ia32.cc __ push(Operand(ebx, ecx, times_1, FrameDescription::frame_content_offset())); __ 1048 src/ia32/deoptimizer-ia32.cc __ test(ecx, ecx); __ 1049 src/ia32/deoptimizer-ia32.cc __ j(not_zero, &inner_push_loop); __ 1050 src/ia32/deoptimizer-ia32.cc __ add(eax, Immediate(kPointerSize)); __ 1051 src/ia32/deoptimizer-ia32.cc __ cmp(eax, edx); __ 1052 src/ia32/deoptimizer-ia32.cc __ j(below, &outer_push_loop); __ 1059 src/ia32/deoptimizer-ia32.cc __ movdbl(xmm_reg, Operand(ebx, src_offset)); __ 1065 src/ia32/deoptimizer-ia32.cc __ push(Operand(ebx, FrameDescription::state_offset())); __ 1067 src/ia32/deoptimizer-ia32.cc __ push(Operand(ebx, FrameDescription::pc_offset())); __ 1068 src/ia32/deoptimizer-ia32.cc __ push(Operand(ebx, FrameDescription::continuation_offset())); __ 1074 src/ia32/deoptimizer-ia32.cc __ push(Operand(ebx, offset)); __ 1078 src/ia32/deoptimizer-ia32.cc __ popad(); __ 1081 src/ia32/deoptimizer-ia32.cc __ ret(0); __ 1091 src/ia32/deoptimizer-ia32.cc __ push_imm32(i); __ 1092 src/ia32/deoptimizer-ia32.cc __ jmp(&done); __ 1095 src/ia32/deoptimizer-ia32.cc __ bind(&done); __ 63 src/ia32/full-codegen-ia32.cc __ test(reg, Immediate(kSmiTagMask)); __ 70 src/ia32/full-codegen-ia32.cc __ test(reg, Immediate(kSmiTagMask)); __ 78 src/ia32/full-codegen-ia32.cc __ test(eax, Immediate(delta_to_patch_site)); __ 83 src/ia32/full-codegen-ia32.cc __ nop(); // Signals no inlined code. __ 92 src/ia32/full-codegen-ia32.cc __ bind(&patch_site_); __ 93 src/ia32/full-codegen-ia32.cc __ j(cc, target, distance); __ 131 src/ia32/full-codegen-ia32.cc __ int3(); __ 141 src/ia32/full-codegen-ia32.cc __ test(ecx, ecx); __ 142 src/ia32/full-codegen-ia32.cc __ j(zero, &ok, Label::kNear); __ 145 src/ia32/full-codegen-ia32.cc __ mov(ecx, Operand(esp, receiver_offset)); __ 146 src/ia32/full-codegen-ia32.cc __ JumpIfSmi(ecx, &ok); __ 147 src/ia32/full-codegen-ia32.cc __ CmpObjectType(ecx, JS_GLOBAL_PROXY_TYPE, ecx); __ 148 src/ia32/full-codegen-ia32.cc __ j(not_equal, &ok, Label::kNear); __ 149 src/ia32/full-codegen-ia32.cc __ mov(Operand(esp, receiver_offset), __ 151 src/ia32/full-codegen-ia32.cc __ bind(&ok); __ 159 src/ia32/full-codegen-ia32.cc __ push(ebp); // Caller's frame pointer. __ 160 src/ia32/full-codegen-ia32.cc __ mov(ebp, esp); __ 161 src/ia32/full-codegen-ia32.cc __ push(esi); // Callee's context. __ 162 src/ia32/full-codegen-ia32.cc __ push(edi); // Callee's JS Function. __ 167 src/ia32/full-codegen-ia32.cc __ push(Immediate(isolate()->factory()->undefined_value())); __ 169 src/ia32/full-codegen-ia32.cc __ mov(eax, Immediate(isolate()->factory()->undefined_value())); __ 171 src/ia32/full-codegen-ia32.cc __ push(eax); __ 183 src/ia32/full-codegen-ia32.cc __ push(edi); __ 186 src/ia32/full-codegen-ia32.cc __ CallStub(&stub); __ 188 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kNewFunctionContext, 1); __ 193 src/ia32/full-codegen-ia32.cc __ mov(Operand(ebp, StandardFrameConstants::kContextOffset), esi); __ 203 src/ia32/full-codegen-ia32.cc __ mov(eax, Operand(ebp, parameter_offset)); __ 206 src/ia32/full-codegen-ia32.cc __ mov(Operand(esi, context_offset), eax); __ 208 src/ia32/full-codegen-ia32.cc __ RecordWriteContextSlot(esi, __ 222 src/ia32/full-codegen-ia32.cc __ push(edi); __ 224 src/ia32/full-codegen-ia32.cc __ push(Operand(ebp, JavaScriptFrameConstants::kFunctionOffset)); __ 229 src/ia32/full-codegen-ia32.cc __ lea(edx, __ 231 src/ia32/full-codegen-ia32.cc __ push(edx); __ 232 src/ia32/full-codegen-ia32.cc __ push(Immediate(Smi::FromInt(num_parameters))); __ 246 src/ia32/full-codegen-ia32.cc __ CallStub(&stub); __ 252 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kTraceEnter, 0); __ 281 src/ia32/full-codegen-ia32.cc __ cmp(esp, Operand::StaticVariable(stack_limit)); __ 282 src/ia32/full-codegen-ia32.cc __ j(above_equal, &ok, Label::kNear); __ 284 src/ia32/full-codegen-ia32.cc __ CallStub(&stub); __ 285 src/ia32/full-codegen-ia32.cc __ bind(&ok); __ 298 src/ia32/full-codegen-ia32.cc __ mov(eax, isolate()->factory()->undefined_value()); __ 305 src/ia32/full-codegen-ia32.cc __ Set(eax, Immediate(Smi::FromInt(0))); __ 310 src/ia32/full-codegen-ia32.cc __ mov(ebx, Immediate(profiling_counter_)); __ 311 src/ia32/full-codegen-ia32.cc __ sub(FieldOperand(ebx, JSGlobalPropertyCell::kValueOffset), __ 322 src/ia32/full-codegen-ia32.cc __ mov(ebx, Immediate(profiling_counter_)); __ 323 src/ia32/full-codegen-ia32.cc __ mov(FieldOperand(ebx, JSGlobalPropertyCell::kValueOffset), __ 346 src/ia32/full-codegen-ia32.cc __ j(positive, &ok, Label::kNear); __ 348 src/ia32/full-codegen-ia32.cc __ CallStub(&stub); __ 355 src/ia32/full-codegen-ia32.cc __ cmp(esp, Operand::StaticVariable(stack_limit)); __ 356 src/ia32/full-codegen-ia32.cc __ j(above_equal, &ok, Label::kNear); __ 358 src/ia32/full-codegen-ia32.cc __ CallStub(&stub); __ 371 src/ia32/full-codegen-ia32.cc __ test(eax, Immediate(Min(loop_depth(), Code::kMaxLoopNestingMarker))); __ 377 src/ia32/full-codegen-ia32.cc __ bind(&ok); __ 389 src/ia32/full-codegen-ia32.cc __ jmp(&return_label_); __ 392 src/ia32/full-codegen-ia32.cc __ bind(&return_label_); __ 394 src/ia32/full-codegen-ia32.cc __ push(eax); __ 395 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kTraceExit, 1); __ 409 src/ia32/full-codegen-ia32.cc __ j(positive, &ok, Label::kNear); __ 410 src/ia32/full-codegen-ia32.cc __ push(eax); __ 412 src/ia32/full-codegen-ia32.cc __ push(Operand(ebp, JavaScriptFrameConstants::kFunctionOffset)); __ 413 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kOptimizeFunctionOnNextCall, 1); __ 416 src/ia32/full-codegen-ia32.cc __ CallStub(&stub); __ 418 src/ia32/full-codegen-ia32.cc __ pop(eax); __ 420 src/ia32/full-codegen-ia32.cc __ bind(&ok); __ 428 src/ia32/full-codegen-ia32.cc __ RecordJSReturn(); __ 431 src/ia32/full-codegen-ia32.cc __ mov(esp, ebp); __ 432 src/ia32/full-codegen-ia32.cc __ pop(ebp); __ 435 src/ia32/full-codegen-ia32.cc __ Ret(arguments_bytes, ecx); __ 461 src/ia32/full-codegen-ia32.cc __ push(operand); __ 502 src/ia32/full-codegen-ia32.cc __ SafeSet(result_register(), Immediate(lit)); __ 504 src/ia32/full-codegen-ia32.cc __ Set(result_register(), Immediate(lit)); __ 511 src/ia32/full-codegen-ia32.cc __ SafePush(Immediate(lit)); __ 513 src/ia32/full-codegen-ia32.cc __ push(Immediate(lit)); __ 525 src/ia32/full-codegen-ia32.cc if (false_label_ != fall_through_) __ jmp(false_label_); __ 527 src/ia32/full-codegen-ia32.cc if (true_label_ != fall_through_) __ jmp(true_label_); __ 530 src/ia32/full-codegen-ia32.cc if (false_label_ != fall_through_) __ jmp(false_label_); __ 532 src/ia32/full-codegen-ia32.cc if (true_label_ != fall_through_) __ jmp(true_label_); __ 536 src/ia32/full-codegen-ia32.cc if (false_label_ != fall_through_) __ jmp(false_label_); __ 538 src/ia32/full-codegen-ia32.cc if (true_label_ != fall_through_) __ jmp(true_label_); __ 542 src/ia32/full-codegen-ia32.cc __ mov(result_register(), lit); __ 551 src/ia32/full-codegen-ia32.cc __ Drop(count); __ 559 src/ia32/full-codegen-ia32.cc __ Drop(count); __ 560 src/ia32/full-codegen-ia32.cc __ Move(result_register(), reg); __ 567 src/ia32/full-codegen-ia32.cc if (count > 1) __ Drop(count - 1); __ 568 src/ia32/full-codegen-ia32.cc __ mov(Operand(esp, 0), reg); __ 576 src/ia32/full-codegen-ia32.cc __ Drop(count); __ 577 src/ia32/full-codegen-ia32.cc __ Move(result_register(), reg); __ 586 src/ia32/full-codegen-ia32.cc __ bind(materialize_true); __ 594 src/ia32/full-codegen-ia32.cc __ bind(materialize_true); __ 595 src/ia32/full-codegen-ia32.cc __ mov(result_register(), isolate()->factory()->true_value()); __ 596 src/ia32/full-codegen-ia32.cc __ jmp(&done, Label::kNear); __ 597 src/ia32/full-codegen-ia32.cc __ bind(materialize_false); __ 598 src/ia32/full-codegen-ia32.cc __ mov(result_register(), isolate()->factory()->false_value()); __ 599 src/ia32/full-codegen-ia32.cc __ bind(&done); __ 607 src/ia32/full-codegen-ia32.cc __ bind(materialize_true); __ 608 src/ia32/full-codegen-ia32.cc __ push(Immediate(isolate()->factory()->true_value())); __ 609 src/ia32/full-codegen-ia32.cc __ jmp(&done, Label::kNear); __ 610 src/ia32/full-codegen-ia32.cc __ bind(materialize_false); __ 611 src/ia32/full-codegen-ia32.cc __ push(Immediate(isolate()->factory()->false_value())); __ 612 src/ia32/full-codegen-ia32.cc __ bind(&done); __ 631 src/ia32/full-codegen-ia32.cc __ mov(result_register(), value); __ 639 src/ia32/full-codegen-ia32.cc __ push(Immediate(value)); __ 649 src/ia32/full-codegen-ia32.cc if (true_label_ != fall_through_) __ jmp(true_label_); __ 651 src/ia32/full-codegen-ia32.cc if (false_label_ != fall_through_) __ jmp(false_label_); __ 661 src/ia32/full-codegen-ia32.cc __ push(result_register()); __ 662 src/ia32/full-codegen-ia32.cc __ CallStub(&stub, condition->test_id()); __ 663 src/ia32/full-codegen-ia32.cc __ test(result_register(), result_register()); __ 674 src/ia32/full-codegen-ia32.cc __ j(cc, if_true); __ 676 src/ia32/full-codegen-ia32.cc __ j(NegateCondition(cc), if_false); __ 678 src/ia32/full-codegen-ia32.cc __ j(cc, if_true); __ 679 src/ia32/full-codegen-ia32.cc __ jmp(if_false); __ 702 src/ia32/full-codegen-ia32.cc __ LoadContext(scratch, context_chain_length); __ 713 src/ia32/full-codegen-ia32.cc __ mov(dest, location); __ 726 src/ia32/full-codegen-ia32.cc __ mov(location, src); __ 732 src/ia32/full-codegen-ia32.cc __ RecordWriteContextSlot(scratch0, offset, src, scratch1, kDontSaveFPRegs); __ 747 src/ia32/full-codegen-ia32.cc if (should_normalize) __ jmp(&skip, Label::kNear); __ 750 src/ia32/full-codegen-ia32.cc __ cmp(eax, isolate()->factory()->true_value()); __ 752 src/ia32/full-codegen-ia32.cc __ bind(&skip); __ 763 src/ia32/full-codegen-ia32.cc __ mov(ebx, FieldOperand(esi, HeapObject::kMapOffset)); __ 764 src/ia32/full-codegen-ia32.cc __ cmp(ebx, isolate()->factory()->with_context_map()); __ 765 src/ia32/full-codegen-ia32.cc __ Check(not_equal, "Declaration in with context."); __ 766 src/ia32/full-codegen-ia32.cc __ cmp(ebx, isolate()->factory()->catch_context_map()); __ 767 src/ia32/full-codegen-ia32.cc __ Check(not_equal, "Declaration in catch context."); __ 793 src/ia32/full-codegen-ia32.cc __ mov(StackOperand(variable), __ 802 src/ia32/full-codegen-ia32.cc __ mov(ContextOperand(esi, variable->index()), __ 811 src/ia32/full-codegen-ia32.cc __ push(esi); __ 812 src/ia32/full-codegen-ia32.cc __ push(Immediate(variable->name())); __ 818 src/ia32/full-codegen-ia32.cc __ push(Immediate(Smi::FromInt(attr))); __ 824 src/ia32/full-codegen-ia32.cc __ push(Immediate(isolate()->factory()->the_hole_value())); __ 826 src/ia32/full-codegen-ia32.cc __ push(Immediate(Smi::FromInt(0))); // Indicates no initial value. __ 828 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kDeclareContextSlot, 4); __ 854 src/ia32/full-codegen-ia32.cc __ mov(StackOperand(variable), result_register()); __ 862 src/ia32/full-codegen-ia32.cc __ mov(ContextOperand(esi, variable->index()), result_register()); __ 864 src/ia32/full-codegen-ia32.cc __ RecordWriteContextSlot(esi, __ 877 src/ia32/full-codegen-ia32.cc __ push(esi); __ 878 src/ia32/full-codegen-ia32.cc __ push(Immediate(variable->name())); __ 879 src/ia32/full-codegen-ia32.cc __ push(Immediate(Smi::FromInt(NONE))); __ 881 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kDeclareContextSlot, 4); __ 906 src/ia32/full-codegen-ia32.cc __ mov(ContextOperand(esi, variable->index()), Immediate(instance)); __ 949 src/ia32/full-codegen-ia32.cc __ push(esi); // The context is the first argument. __ 950 src/ia32/full-codegen-ia32.cc __ push(Immediate(pairs)); __ 951 src/ia32/full-codegen-ia32.cc __ push(Immediate(Smi::FromInt(DeclareGlobalsFlags()))); __ 952 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kDeclareGlobals, 3); __ 982 src/ia32/full-codegen-ia32.cc __ bind(&next_test); __ 989 src/ia32/full-codegen-ia32.cc __ mov(edx, Operand(esp, 0)); // Switch value. __ 994 src/ia32/full-codegen-ia32.cc __ mov(ecx, edx); __ 995 src/ia32/full-codegen-ia32.cc __ or_(ecx, eax); __ 998 src/ia32/full-codegen-ia32.cc __ cmp(edx, eax); __ 999 src/ia32/full-codegen-ia32.cc __ j(not_equal, &next_test); __ 1000 src/ia32/full-codegen-ia32.cc __ Drop(1); // Switch value is no longer needed. __ 1001 src/ia32/full-codegen-ia32.cc __ jmp(clause->body_target()); __ 1002 src/ia32/full-codegen-ia32.cc __ bind(&slow_case); __ 1010 src/ia32/full-codegen-ia32.cc __ test(eax, eax); __ 1011 src/ia32/full-codegen-ia32.cc __ j(not_equal, &next_test); __ 1012 src/ia32/full-codegen-ia32.cc __ Drop(1); // Switch value is no longer needed. __ 1013 src/ia32/full-codegen-ia32.cc __ jmp(clause->body_target()); __ 1018 src/ia32/full-codegen-ia32.cc __ bind(&next_test); __ 1019 src/ia32/full-codegen-ia32.cc __ Drop(1); // Switch value is no longer needed. __ 1021 src/ia32/full-codegen-ia32.cc __ jmp(nested_statement.break_label()); __ 1023 src/ia32/full-codegen-ia32.cc __ jmp(default_clause->body_target()); __ 1030 src/ia32/full-codegen-ia32.cc __ bind(clause->body_target()); __ 1035 src/ia32/full-codegen-ia32.cc __ bind(nested_statement.break_label()); __ 1052 src/ia32/full-codegen-ia32.cc __ cmp(eax, isolate()->factory()->undefined_value()); __ 1053 src/ia32/full-codegen-ia32.cc __ j(equal, &exit); __ 1054 src/ia32/full-codegen-ia32.cc __ cmp(eax, isolate()->factory()->null_value()); __ 1055 src/ia32/full-codegen-ia32.cc __ j(equal, &exit); __ 1061 src/ia32/full-codegen-ia32.cc __ JumpIfSmi(eax, &convert, Label::kNear); __ 1062 src/ia32/full-codegen-ia32.cc __ CmpObjectType(eax, FIRST_SPEC_OBJECT_TYPE, ecx); __ 1063 src/ia32/full-codegen-ia32.cc __ j(above_equal, &done_convert, Label::kNear); __ 1064 src/ia32/full-codegen-ia32.cc __ bind(&convert); __ 1065 src/ia32/full-codegen-ia32.cc __ push(eax); __ 1066 src/ia32/full-codegen-ia32.cc __ InvokeBuiltin(Builtins::TO_OBJECT, CALL_FUNCTION); __ 1067 src/ia32/full-codegen-ia32.cc __ bind(&done_convert); __ 1068 src/ia32/full-codegen-ia32.cc __ push(eax); __ 1073 src/ia32/full-codegen-ia32.cc __ CmpObjectType(eax, LAST_JS_PROXY_TYPE, ecx); __ 1074 src/ia32/full-codegen-ia32.cc __ j(below_equal, &call_runtime); __ 1080 src/ia32/full-codegen-ia32.cc __ CheckEnumCache(&call_runtime); __ 1082 src/ia32/full-codegen-ia32.cc __ mov(eax, FieldOperand(eax, HeapObject::kMapOffset)); __ 1083 src/ia32/full-codegen-ia32.cc __ jmp(&use_cache, Label::kNear); __ 1086 src/ia32/full-codegen-ia32.cc __ bind(&call_runtime); __ 1087 src/ia32/full-codegen-ia32.cc __ push(eax); __ 1088 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kGetPropertyNamesFast, 1); __ 1089 src/ia32/full-codegen-ia32.cc __ cmp(FieldOperand(eax, HeapObject::kMapOffset), __ 1091 src/ia32/full-codegen-ia32.cc __ j(not_equal, &fixed_array); __ 1095 src/ia32/full-codegen-ia32.cc __ bind(&use_cache); __ 1096 src/ia32/full-codegen-ia32.cc __ LoadInstanceDescriptors(eax, ecx); __ 1097 src/ia32/full-codegen-ia32.cc __ mov(ecx, FieldOperand(ecx, DescriptorArray::kLastAddedOffset)); __ 1098 src/ia32/full-codegen-ia32.cc __ mov(edx, FieldOperand(ecx, DescriptorArray::kEnumCacheBridgeCacheOffset)); __ 1101 src/ia32/full-codegen-ia32.cc __ push(eax); // Map. __ 1102 src/ia32/full-codegen-ia32.cc __ push(edx); // Enumeration cache. __ 1103 src/ia32/full-codegen-ia32.cc __ mov(eax, FieldOperand(edx, FixedArray::kLengthOffset)); __ 1104 src/ia32/full-codegen-ia32.cc __ push(eax); // Enumeration cache length (as smi). __ 1105 src/ia32/full-codegen-ia32.cc __ push(Immediate(Smi::FromInt(0))); // Initial index. __ 1106 src/ia32/full-codegen-ia32.cc __ jmp(&loop); __ 1110 src/ia32/full-codegen-ia32.cc __ bind(&fixed_array); __ 1117 src/ia32/full-codegen-ia32.cc __ LoadHeapObject(ebx, cell); __ 1118 src/ia32/full-codegen-ia32.cc __ mov(FieldOperand(ebx, JSGlobalPropertyCell::kValueOffset), __ 1121 src/ia32/full-codegen-ia32.cc __ mov(ebx, Immediate(Smi::FromInt(1))); // Smi indicates slow check __ 1122 src/ia32/full-codegen-ia32.cc __ mov(ecx, Operand(esp, 0 * kPointerSize)); // Get enumerated object __ 1124 src/ia32/full-codegen-ia32.cc __ CmpObjectType(ecx, LAST_JS_PROXY_TYPE, ecx); __ 1125 src/ia32/full-codegen-ia32.cc __ j(above, &non_proxy); __ 1126 src/ia32/full-codegen-ia32.cc __ mov(ebx, Immediate(Smi::FromInt(0))); // Zero indicates proxy __ 1127 src/ia32/full-codegen-ia32.cc __ bind(&non_proxy); __ 1128 src/ia32/full-codegen-ia32.cc __ push(ebx); // Smi __ 1129 src/ia32/full-codegen-ia32.cc __ push(eax); // Array __ 1130 src/ia32/full-codegen-ia32.cc __ mov(eax, FieldOperand(eax, FixedArray::kLengthOffset)); __ 1131 src/ia32/full-codegen-ia32.cc __ push(eax); // Fixed array length (as smi). __ 1132 src/ia32/full-codegen-ia32.cc __ push(Immediate(Smi::FromInt(0))); // Initial index. __ 1136 src/ia32/full-codegen-ia32.cc __ bind(&loop); __ 1137 src/ia32/full-codegen-ia32.cc __ mov(eax, Operand(esp, 0 * kPointerSize)); // Get the current index. __ 1138 src/ia32/full-codegen-ia32.cc __ cmp(eax, Operand(esp, 1 * kPointerSize)); // Compare to the array length. __ 1139 src/ia32/full-codegen-ia32.cc __ j(above_equal, loop_statement.break_label()); __ 1142 src/ia32/full-codegen-ia32.cc __ mov(ebx, Operand(esp, 2 * kPointerSize)); __ 1143 src/ia32/full-codegen-ia32.cc __ mov(ebx, FieldOperand(ebx, eax, times_2, FixedArray::kHeaderSize)); __ 1147 src/ia32/full-codegen-ia32.cc __ mov(edx, Operand(esp, 3 * kPointerSize)); __ 1152 src/ia32/full-codegen-ia32.cc __ mov(ecx, Operand(esp, 4 * kPointerSize)); __ 1153 src/ia32/full-codegen-ia32.cc __ cmp(edx, FieldOperand(ecx, HeapObject::kMapOffset)); __ 1154 src/ia32/full-codegen-ia32.cc __ j(equal, &update_each, Label::kNear); __ 1159 src/ia32/full-codegen-ia32.cc __ test(edx, edx); __ 1160 src/ia32/full-codegen-ia32.cc __ j(zero, &update_each); __ 1165 src/ia32/full-codegen-ia32.cc __ push(ecx); // Enumerable. __ 1166 src/ia32/full-codegen-ia32.cc __ push(ebx); // Current entry. __ 1167 src/ia32/full-codegen-ia32.cc __ InvokeBuiltin(Builtins::FILTER_KEY, CALL_FUNCTION); __ 1168 src/ia32/full-codegen-ia32.cc __ test(eax, eax); __ 1169 src/ia32/full-codegen-ia32.cc __ j(equal, loop_statement.continue_label()); __ 1170 src/ia32/full-codegen-ia32.cc __ mov(ebx, eax); __ 1174 src/ia32/full-codegen-ia32.cc __ bind(&update_each); __ 1175 src/ia32/full-codegen-ia32.cc __ mov(result_register(), ebx); __ 1186 src/ia32/full-codegen-ia32.cc __ bind(loop_statement.continue_label()); __ 1187 src/ia32/full-codegen-ia32.cc __ add(Operand(esp, 0 * kPointerSize), Immediate(Smi::FromInt(1))); __ 1190 src/ia32/full-codegen-ia32.cc __ jmp(&loop); __ 1193 src/ia32/full-codegen-ia32.cc __ bind(loop_statement.break_label()); __ 1194 src/ia32/full-codegen-ia32.cc __ add(esp, Immediate(5 * kPointerSize)); __ 1198 src/ia32/full-codegen-ia32.cc __ bind(&exit); __ 1217 src/ia32/full-codegen-ia32.cc __ push(Immediate(info)); __ 1218 src/ia32/full-codegen-ia32.cc __ CallStub(&stub); __ 1220 src/ia32/full-codegen-ia32.cc __ push(esi); __ 1221 src/ia32/full-codegen-ia32.cc __ push(Immediate(info)); __ 1222 src/ia32/full-codegen-ia32.cc __ push(Immediate(pretenure __ 1225 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kNewClosure, 3); __ 1248 src/ia32/full-codegen-ia32.cc __ cmp(ContextOperand(context, Context::EXTENSION_INDEX), __ 1250 src/ia32/full-codegen-ia32.cc __ j(not_equal, slow); __ 1253 src/ia32/full-codegen-ia32.cc __ mov(temp, ContextOperand(context, Context::PREVIOUS_INDEX)); __ 1269 src/ia32/full-codegen-ia32.cc __ mov(temp, context); __ 1271 src/ia32/full-codegen-ia32.cc __ bind(&next); __ 1273 src/ia32/full-codegen-ia32.cc __ cmp(FieldOperand(temp, HeapObject::kMapOffset), __ 1275 src/ia32/full-codegen-ia32.cc __ j(equal, &fast, Label::kNear); __ 1277 src/ia32/full-codegen-ia32.cc __ cmp(ContextOperand(temp, Context::EXTENSION_INDEX), Immediate(0)); __ 1278 src/ia32/full-codegen-ia32.cc __ j(not_equal, slow); __ 1280 src/ia32/full-codegen-ia32.cc __ mov(temp, ContextOperand(temp, Context::PREVIOUS_INDEX)); __ 1281 src/ia32/full-codegen-ia32.cc __ jmp(&next); __ 1282 src/ia32/full-codegen-ia32.cc __ bind(&fast); __ 1287 src/ia32/full-codegen-ia32.cc __ mov(edx, GlobalObjectOperand()); __ 1288 src/ia32/full-codegen-ia32.cc __ mov(ecx, var->name()); __ 1307 src/ia32/full-codegen-ia32.cc __ cmp(ContextOperand(context, Context::EXTENSION_INDEX), __ 1309 src/ia32/full-codegen-ia32.cc __ j(not_equal, slow); __ 1311 src/ia32/full-codegen-ia32.cc __ mov(temp, ContextOperand(context, Context::PREVIOUS_INDEX)); __ 1317 src/ia32/full-codegen-ia32.cc __ cmp(ContextOperand(context, Context::EXTENSION_INDEX), Immediate(0)); __ 1318 src/ia32/full-codegen-ia32.cc __ j(not_equal, slow); __ 1338 src/ia32/full-codegen-ia32.cc __ jmp(done); __ 1341 src/ia32/full-codegen-ia32.cc __ mov(eax, ContextSlotOperandCheckExtensions(local, slow)); __ 1345 src/ia32/full-codegen-ia32.cc __ cmp(eax, isolate()->factory()->the_hole_value()); __ 1346 src/ia32/full-codegen-ia32.cc __ j(not_equal, done); __ 1348 src/ia32/full-codegen-ia32.cc __ mov(eax, isolate()->factory()->undefined_value()); __ 1350 src/ia32/full-codegen-ia32.cc __ push(Immediate(var->name())); __ 1351 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kThrowReferenceError, 1); __ 1354 src/ia32/full-codegen-ia32.cc __ jmp(done); __ 1371 src/ia32/full-codegen-ia32.cc __ mov(edx, GlobalObjectOperand()); __ 1372 src/ia32/full-codegen-ia32.cc __ mov(ecx, var->name()); __ 1424 src/ia32/full-codegen-ia32.cc __ cmp(eax, isolate()->factory()->the_hole_value()); __ 1425 src/ia32/full-codegen-ia32.cc __ j(not_equal, &done, Label::kNear); __ 1429 src/ia32/full-codegen-ia32.cc __ push(Immediate(var->name())); __ 1430 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kThrowReferenceError, 1); __ 1434 src/ia32/full-codegen-ia32.cc __ mov(eax, isolate()->factory()->undefined_value()); __ 1436 src/ia32/full-codegen-ia32.cc __ bind(&done); __ 1450 src/ia32/full-codegen-ia32.cc __ bind(&slow); __ 1452 src/ia32/full-codegen-ia32.cc __ push(esi); // Context. __ 1453 src/ia32/full-codegen-ia32.cc __ push(Immediate(var->name())); __ 1454 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kLoadContextSlot, 2); __ 1455 src/ia32/full-codegen-ia32.cc __ bind(&done); __ 1471 src/ia32/full-codegen-ia32.cc __ mov(edi, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset)); __ 1472 src/ia32/full-codegen-ia32.cc __ mov(ecx, FieldOperand(edi, JSFunction::kLiteralsOffset)); __ 1475 src/ia32/full-codegen-ia32.cc __ mov(ebx, FieldOperand(ecx, literal_offset)); __ 1476 src/ia32/full-codegen-ia32.cc __ cmp(ebx, isolate()->factory()->undefined_value()); __ 1477 src/ia32/full-codegen-ia32.cc __ j(not_equal, &materialized, Label::kNear); __ 1481 src/ia32/full-codegen-ia32.cc __ push(ecx); __ 1482 src/ia32/full-codegen-ia32.cc __ push(Immediate(Smi::FromInt(expr->literal_index()))); __ 1483 src/ia32/full-codegen-ia32.cc __ push(Immediate(expr->pattern())); __ 1484 src/ia32/full-codegen-ia32.cc __ push(Immediate(expr->flags())); __ 1485 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kMaterializeRegExpLiteral, 4); __ 1486 src/ia32/full-codegen-ia32.cc __ mov(ebx, eax); __ 1488 src/ia32/full-codegen-ia32.cc __ bind(&materialized); __ 1491 src/ia32/full-codegen-ia32.cc __ AllocateInNewSpace(size, eax, ecx, edx, &runtime_allocate, TAG_OBJECT); __ 1492 src/ia32/full-codegen-ia32.cc __ jmp(&allocated); __ 1494 src/ia32/full-codegen-ia32.cc __ bind(&runtime_allocate); __ 1495 src/ia32/full-codegen-ia32.cc __ push(ebx); __ 1496 src/ia32/full-codegen-ia32.cc __ push(Immediate(Smi::FromInt(size))); __ 1497 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kAllocateInNewSpace, 1); __ 1498 src/ia32/full-codegen-ia32.cc __ pop(ebx); __ 1500 src/ia32/full-codegen-ia32.cc __ bind(&allocated); __ 1504 src/ia32/full-codegen-ia32.cc __ mov(edx, FieldOperand(ebx, i)); __ 1505 src/ia32/full-codegen-ia32.cc __ mov(ecx, FieldOperand(ebx, i + kPointerSize)); __ 1506 src/ia32/full-codegen-ia32.cc __ mov(FieldOperand(eax, i), edx); __ 1507 src/ia32/full-codegen-ia32.cc __ mov(FieldOperand(eax, i + kPointerSize), ecx); __ 1510 src/ia32/full-codegen-ia32.cc __ mov(edx, FieldOperand(ebx, size - kPointerSize)); __ 1511 src/ia32/full-codegen-ia32.cc __ mov(FieldOperand(eax, size - kPointerSize), edx); __ 1519 src/ia32/full-codegen-ia32.cc __ push(Immediate(isolate()->factory()->null_value())); __ 1529 src/ia32/full-codegen-ia32.cc __ mov(edi, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset)); __ 1530 src/ia32/full-codegen-ia32.cc __ push(FieldOperand(edi, JSFunction::kLiteralsOffset)); __ 1531 src/ia32/full-codegen-ia32.cc __ push(Immediate(Smi::FromInt(expr->literal_index()))); __ 1532 src/ia32/full-codegen-ia32.cc __ push(Immediate(constant_properties)); __ 1539 src/ia32/full-codegen-ia32.cc __ push(Immediate(Smi::FromInt(flags))); __ 1542 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kCreateObjectLiteral, 4); __ 1545 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kCreateObjectLiteralShallow, 4); __ 1548 src/ia32/full-codegen-ia32.cc __ CallStub(&stub); __ 1568 src/ia32/full-codegen-ia32.cc __ push(eax); // Save result on the stack __ 1581 src/ia32/full-codegen-ia32.cc __ mov(ecx, Immediate(key->handle())); __ 1582 src/ia32/full-codegen-ia32.cc __ mov(edx, Operand(esp, 0)); __ 1595 src/ia32/full-codegen-ia32.cc __ push(Operand(esp, 0)); // Duplicate receiver. __ 1599 src/ia32/full-codegen-ia32.cc __ push(Immediate(Smi::FromInt(NONE))); // PropertyAttributes __ 1600 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kSetProperty, 4); __ 1602 src/ia32/full-codegen-ia32.cc __ Drop(3); __ 1619 src/ia32/full-codegen-ia32.cc __ push(Operand(esp, 0)); // Duplicate receiver. __ 1623 src/ia32/full-codegen-ia32.cc __ push(Immediate(Smi::FromInt(NONE))); __ 1624 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kDefineOrRedefineAccessorProperty, 5); __ 1629 src/ia32/full-codegen-ia32.cc __ push(Operand(esp, 0)); __ 1630 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kToFastProperties, 1); __ 1655 src/ia32/full-codegen-ia32.cc __ mov(ebx, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset)); __ 1656 src/ia32/full-codegen-ia32.cc __ push(FieldOperand(ebx, JSFunction::kLiteralsOffset)); __ 1657 src/ia32/full-codegen-ia32.cc __ push(Immediate(Smi::FromInt(expr->literal_index()))); __ 1658 src/ia32/full-codegen-ia32.cc __ push(Immediate(constant_elements)); __ 1664 src/ia32/full-codegen-ia32.cc __ IncrementCounter(isolate()->counters()->cow_arrays_created_stub(), 1); __ 1668 src/ia32/full-codegen-ia32.cc __ CallStub(&stub); __ 1670 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kCreateArrayLiteral, 3); __ 1672 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kCreateArrayLiteralShallow, 3); __ 1682 src/ia32/full-codegen-ia32.cc __ CallStub(&stub); __ 1699 src/ia32/full-codegen-ia32.cc __ push(eax); __ 1708 src/ia32/full-codegen-ia32.cc __ mov(ebx, Operand(esp, 0)); // Copy of array literal. __ 1709 src/ia32/full-codegen-ia32.cc __ mov(ebx, FieldOperand(ebx, JSObject::kElementsOffset)); __ 1711 src/ia32/full-codegen-ia32.cc __ mov(FieldOperand(ebx, offset), result_register()); __ 1713 src/ia32/full-codegen-ia32.cc __ RecordWriteField(ebx, offset, result_register(), ecx, __ 1719 src/ia32/full-codegen-ia32.cc __ mov(ebx, Operand(esp, 0)); // Copy of array literal. __ 1720 src/ia32/full-codegen-ia32.cc __ mov(edi, FieldOperand(ebx, JSObject::kMapOffset)); __ 1721 src/ia32/full-codegen-ia32.cc __ mov(ecx, Immediate(Smi::FromInt(i))); __ 1722 src/ia32/full-codegen-ia32.cc __ mov(edx, Immediate(Smi::FromInt(expr->literal_index()))); __ 1724 src/ia32/full-codegen-ia32.cc __ CallStub(&stub); __ 1767 src/ia32/full-codegen-ia32.cc __ mov(edx, Operand(esp, 0)); __ 1776 src/ia32/full-codegen-ia32.cc __ mov(edx, Operand(esp, kPointerSize)); // Object. __ 1777 src/ia32/full-codegen-ia32.cc __ mov(ecx, Operand(esp, 0)); // Key. __ 1808 src/ia32/full-codegen-ia32.cc __ push(eax); // Left operand goes on the stack. __ 1856 src/ia32/full-codegen-ia32.cc __ mov(ecx, Immediate(key->handle())); __ 1877 src/ia32/full-codegen-ia32.cc __ pop(edx); __ 1878 src/ia32/full-codegen-ia32.cc __ mov(ecx, eax); __ 1879 src/ia32/full-codegen-ia32.cc __ or_(eax, edx); __ 1883 src/ia32/full-codegen-ia32.cc __ bind(&stub_call); __ 1884 src/ia32/full-codegen-ia32.cc __ mov(eax, ecx); __ 1888 src/ia32/full-codegen-ia32.cc __ jmp(&done, Label::kNear); __ 1891 src/ia32/full-codegen-ia32.cc __ bind(&smi_case); __ 1892 src/ia32/full-codegen-ia32.cc __ mov(eax, edx); // Copy left operand in case of a stub call. __ 1896 src/ia32/full-codegen-ia32.cc __ SmiUntag(eax); __ 1897 src/ia32/full-codegen-ia32.cc __ SmiUntag(ecx); __ 1898 src/ia32/full-codegen-ia32.cc __ sar_cl(eax); // No checks of result necessary __ 1899 src/ia32/full-codegen-ia32.cc __ SmiTag(eax); __ 1903 src/ia32/full-codegen-ia32.cc __ SmiUntag(eax); __ 1904 src/ia32/full-codegen-ia32.cc __ SmiUntag(ecx); __ 1905 src/ia32/full-codegen-ia32.cc __ shl_cl(eax); __ 1907 src/ia32/full-codegen-ia32.cc __ cmp(eax, 0xc0000000); __ 1908 src/ia32/full-codegen-ia32.cc __ j(positive, &result_ok); __ 1909 src/ia32/full-codegen-ia32.cc __ SmiTag(ecx); __ 1910 src/ia32/full-codegen-ia32.cc __ jmp(&stub_call); __ 1911 src/ia32/full-codegen-ia32.cc __ bind(&result_ok); __ 1912 src/ia32/full-codegen-ia32.cc __ SmiTag(eax); __ 1917 src/ia32/full-codegen-ia32.cc __ SmiUntag(eax); __ 1918 src/ia32/full-codegen-ia32.cc __ SmiUntag(ecx); __ 1919 src/ia32/full-codegen-ia32.cc __ shr_cl(eax); __ 1920 src/ia32/full-codegen-ia32.cc __ test(eax, Immediate(0xc0000000)); __ 1921 src/ia32/full-codegen-ia32.cc __ j(zero, &result_ok); __ 1922 src/ia32/full-codegen-ia32.cc __ SmiTag(ecx); __ 1923 src/ia32/full-codegen-ia32.cc __ jmp(&stub_call); __ 1924 src/ia32/full-codegen-ia32.cc __ bind(&result_ok); __ 1925 src/ia32/full-codegen-ia32.cc __ SmiTag(eax); __ 1929 src/ia32/full-codegen-ia32.cc __ add(eax, ecx); __ 1930 src/ia32/full-codegen-ia32.cc __ j(overflow, &stub_call); __ 1933 src/ia32/full-codegen-ia32.cc __ sub(eax, ecx); __ 1934 src/ia32/full-codegen-ia32.cc __ j(overflow, &stub_call); __ 1937 src/ia32/full-codegen-ia32.cc __ SmiUntag(eax); __ 1938 src/ia32/full-codegen-ia32.cc __ imul(eax, ecx); __ 1939 src/ia32/full-codegen-ia32.cc __ j(overflow, &stub_call); __ 1940 src/ia32/full-codegen-ia32.cc __ test(eax, eax); __ 1941 src/ia32/full-codegen-ia32.cc __ j(not_zero, &done, Label::kNear); __ 1942 src/ia32/full-codegen-ia32.cc __ mov(ebx, edx); __ 1943 src/ia32/full-codegen-ia32.cc __ or_(ebx, ecx); __ 1944 src/ia32/full-codegen-ia32.cc __ j(negative, &stub_call); __ 1948 src/ia32/full-codegen-ia32.cc __ or_(eax, ecx); __ 1951 src/ia32/full-codegen-ia32.cc __ and_(eax, ecx); __ 1954 src/ia32/full-codegen-ia32.cc __ xor_(eax, ecx); __ 1960 src/ia32/full-codegen-ia32.cc __ bind(&done); __ 1968 src/ia32/full-codegen-ia32.cc __ pop(edx); __ 2004 src/ia32/full-codegen-ia32.cc __ push(eax); // Preserve value. __ 2006 src/ia32/full-codegen-ia32.cc __ mov(edx, eax); __ 2007 src/ia32/full-codegen-ia32.cc __ pop(eax); // Restore value. __ 2008 src/ia32/full-codegen-ia32.cc __ mov(ecx, prop->key()->AsLiteral()->handle()); __ 2016 src/ia32/full-codegen-ia32.cc __ push(eax); // Preserve value. __ 2019 src/ia32/full-codegen-ia32.cc __ mov(ecx, eax); __ 2020 src/ia32/full-codegen-ia32.cc __ pop(edx); // Receiver. __ 2021 src/ia32/full-codegen-ia32.cc __ pop(eax); // Restore value. __ 2037 src/ia32/full-codegen-ia32.cc __ mov(ecx, var->name()); __ 2038 src/ia32/full-codegen-ia32.cc __ mov(edx, GlobalObjectOperand()); __ 2049 src/ia32/full-codegen-ia32.cc __ mov(edx, StackOperand(var)); __ 2050 src/ia32/full-codegen-ia32.cc __ cmp(edx, isolate()->factory()->the_hole_value()); __ 2051 src/ia32/full-codegen-ia32.cc __ j(not_equal, &skip); __ 2052 src/ia32/full-codegen-ia32.cc __ mov(StackOperand(var), eax); __ 2053 src/ia32/full-codegen-ia32.cc __ bind(&skip); __ 2061 src/ia32/full-codegen-ia32.cc __ push(eax); __ 2062 src/ia32/full-codegen-ia32.cc __ push(esi); __ 2063 src/ia32/full-codegen-ia32.cc __ push(Immediate(var->name())); __ 2064 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kInitializeConstContextSlot, 3); __ 2070 src/ia32/full-codegen-ia32.cc __ push(eax); // Value. __ 2071 src/ia32/full-codegen-ia32.cc __ push(esi); // Context. __ 2072 src/ia32/full-codegen-ia32.cc __ push(Immediate(var->name())); __ 2073 src/ia32/full-codegen-ia32.cc __ push(Immediate(Smi::FromInt(language_mode()))); __ 2074 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kStoreContextSlot, 4); __ 2079 src/ia32/full-codegen-ia32.cc __ mov(edx, location); __ 2080 src/ia32/full-codegen-ia32.cc __ cmp(edx, isolate()->factory()->the_hole_value()); __ 2081 src/ia32/full-codegen-ia32.cc __ j(not_equal, &assign, Label::kNear); __ 2082 src/ia32/full-codegen-ia32.cc __ push(Immediate(var->name())); __ 2083 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kThrowReferenceError, 1); __ 2084 src/ia32/full-codegen-ia32.cc __ bind(&assign); __ 2085 src/ia32/full-codegen-ia32.cc __ mov(location, eax); __ 2087 src/ia32/full-codegen-ia32.cc __ mov(edx, eax); __ 2089 src/ia32/full-codegen-ia32.cc __ RecordWriteContextSlot(ecx, offset, edx, ebx, kDontSaveFPRegs); __ 2100 src/ia32/full-codegen-ia32.cc __ mov(edx, location); __ 2101 src/ia32/full-codegen-ia32.cc __ cmp(edx, isolate()->factory()->the_hole_value()); __ 2102 src/ia32/full-codegen-ia32.cc __ Check(equal, "Let binding re-initialization."); __ 2105 src/ia32/full-codegen-ia32.cc __ mov(location, eax); __ 2107 src/ia32/full-codegen-ia32.cc __ mov(edx, eax); __ 2109 src/ia32/full-codegen-ia32.cc __ RecordWriteContextSlot(ecx, offset, edx, ebx, kDontSaveFPRegs); __ 2113 src/ia32/full-codegen-ia32.cc __ push(eax); // Value. __ 2114 src/ia32/full-codegen-ia32.cc __ push(esi); // Context. __ 2115 src/ia32/full-codegen-ia32.cc __ push(Immediate(var->name())); __ 2116 src/ia32/full-codegen-ia32.cc __ push(Immediate(Smi::FromInt(language_mode()))); __ 2117 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kStoreContextSlot, 4); __ 2137 src/ia32/full-codegen-ia32.cc __ push(result_register()); __ 2138 src/ia32/full-codegen-ia32.cc __ push(Operand(esp, kPointerSize)); // Receiver is now under value. __ 2139 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kToSlowProperties, 1); __ 2140 src/ia32/full-codegen-ia32.cc __ pop(result_register()); __ 2145 src/ia32/full-codegen-ia32.cc __ mov(ecx, prop->key()->AsLiteral()->handle()); __ 2147 src/ia32/full-codegen-ia32.cc __ mov(edx, Operand(esp, 0)); __ 2149 src/ia32/full-codegen-ia32.cc __ pop(edx); __ 2158 src/ia32/full-codegen-ia32.cc __ push(eax); // Result of assignment, saved even if not needed. __ 2159 src/ia32/full-codegen-ia32.cc __ push(Operand(esp, kPointerSize)); // Receiver is under value. __ 2160 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kToFastProperties, 1); __ 2161 src/ia32/full-codegen-ia32.cc __ pop(eax); __ 2162 src/ia32/full-codegen-ia32.cc __ Drop(1); __ 2179 src/ia32/full-codegen-ia32.cc __ push(result_register()); __ 2181 src/ia32/full-codegen-ia32.cc __ push(Operand(esp, 2 * kPointerSize)); __ 2182 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kToSlowProperties, 1); __ 2183 src/ia32/full-codegen-ia32.cc __ pop(result_register()); __ 2186 src/ia32/full-codegen-ia32.cc __ pop(ecx); // Key. __ 2188 src/ia32/full-codegen-ia32.cc __ mov(edx, Operand(esp, 0)); // Leave receiver on the stack for later. __ 2190 src/ia32/full-codegen-ia32.cc __ pop(edx); __ 2201 src/ia32/full-codegen-ia32.cc __ pop(edx); __ 2202 src/ia32/full-codegen-ia32.cc __ push(eax); // Result of assignment, saved even if not needed. __ 2203 src/ia32/full-codegen-ia32.cc __ push(edx); __ 2204 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kToFastProperties, 1); __ 2205 src/ia32/full-codegen-ia32.cc __ pop(eax); __ 2219 src/ia32/full-codegen-ia32.cc __ mov(edx, result_register()); __ 2225 src/ia32/full-codegen-ia32.cc __ pop(edx); // Object. __ 2226 src/ia32/full-codegen-ia32.cc __ mov(ecx, result_register()); // Key. __ 2237 src/ia32/full-codegen-ia32.cc __ call(code, rmode, ast_id); __ 2253 src/ia32/full-codegen-ia32.cc __ Set(ecx, Immediate(name)); __ 2262 src/ia32/full-codegen-ia32.cc __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); __ 2274 src/ia32/full-codegen-ia32.cc __ pop(ecx); __ 2275 src/ia32/full-codegen-ia32.cc __ push(eax); __ 2276 src/ia32/full-codegen-ia32.cc __ push(ecx); __ 2290 src/ia32/full-codegen-ia32.cc __ mov(ecx, Operand(esp, (arg_count + 1) * kPointerSize)); // Key. __ 2294 src/ia32/full-codegen-ia32.cc __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); __ 2319 src/ia32/full-codegen-ia32.cc __ mov(ebx, cell); __ 2323 src/ia32/full-codegen-ia32.cc __ mov(edi, Operand(esp, (arg_count + 1) * kPointerSize)); __ 2324 src/ia32/full-codegen-ia32.cc __ CallStub(&stub, expr->id()); __ 2328 src/ia32/full-codegen-ia32.cc __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); __ 2336 src/ia32/full-codegen-ia32.cc __ push(Operand(esp, arg_count * kPointerSize)); __ 2338 src/ia32/full-codegen-ia32.cc __ push(Immediate(isolate()->factory()->undefined_value())); __ 2342 src/ia32/full-codegen-ia32.cc __ push(Operand(ebp, (2 + info_->scope()->num_parameters()) * kPointerSize)); __ 2344 src/ia32/full-codegen-ia32.cc __ push(Immediate(Smi::FromInt(language_mode()))); __ 2347 src/ia32/full-codegen-ia32.cc __ push(Immediate(Smi::FromInt(scope()->start_position()))); __ 2350 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kResolvePossiblyDirectEval, 5); __ 2375 src/ia32/full-codegen-ia32.cc __ push(Immediate(isolate()->factory()->undefined_value())); __ 2383 src/ia32/full-codegen-ia32.cc __ push(Operand(esp, (arg_count + 1) * kPointerSize)); __ 2388 src/ia32/full-codegen-ia32.cc __ mov(Operand(esp, (arg_count + 0) * kPointerSize), edx); __ 2389 src/ia32/full-codegen-ia32.cc __ mov(Operand(esp, (arg_count + 1) * kPointerSize), eax); __ 2394 src/ia32/full-codegen-ia32.cc __ mov(edi, Operand(esp, (arg_count + 1) * kPointerSize)); __ 2395 src/ia32/full-codegen-ia32.cc __ CallStub(&stub); __ 2398 src/ia32/full-codegen-ia32.cc __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); __ 2403 src/ia32/full-codegen-ia32.cc __ push(GlobalObjectOperand()); __ 2414 src/ia32/full-codegen-ia32.cc __ bind(&slow); __ 2417 src/ia32/full-codegen-ia32.cc __ push(context_register()); __ 2418 src/ia32/full-codegen-ia32.cc __ push(Immediate(proxy->name())); __ 2419 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kLoadContextSlot, 2); __ 2420 src/ia32/full-codegen-ia32.cc __ push(eax); // Function. __ 2421 src/ia32/full-codegen-ia32.cc __ push(edx); // Receiver. __ 2427 src/ia32/full-codegen-ia32.cc __ jmp(&call, Label::kNear); __ 2428 src/ia32/full-codegen-ia32.cc __ bind(&done); __ 2430 src/ia32/full-codegen-ia32.cc __ push(eax); __ 2433 src/ia32/full-codegen-ia32.cc __ push(Immediate(isolate()->factory()->the_hole_value())); __ 2434 src/ia32/full-codegen-ia32.cc __ bind(&call); __ 2460 src/ia32/full-codegen-ia32.cc __ mov(ebx, GlobalObjectOperand()); __ 2461 src/ia32/full-codegen-ia32.cc __ push(FieldOperand(ebx, GlobalObject::kGlobalReceiverOffset)); __ 2496 src/ia32/full-codegen-ia32.cc __ Set(eax, Immediate(arg_count)); __ 2497 src/ia32/full-codegen-ia32.cc __ mov(edi, Operand(esp, arg_count * kPointerSize)); __ 2508 src/ia32/full-codegen-ia32.cc __ mov(ebx, cell); __ 2514 src/ia32/full-codegen-ia32.cc __ call(stub.GetCode(), RelocInfo::CONSTRUCT_CALL); __ 2534 src/ia32/full-codegen-ia32.cc __ test(eax, Immediate(kSmiTagMask)); __ 2555 src/ia32/full-codegen-ia32.cc __ test(eax, Immediate(kSmiTagMask | 0x80000000)); __ 2575 src/ia32/full-codegen-ia32.cc __ JumpIfSmi(eax, if_false); __ 2576 src/ia32/full-codegen-ia32.cc __ cmp(eax, isolate()->factory()->null_value()); __ 2577 src/ia32/full-codegen-ia32.cc __ j(equal, if_true); __ 2578 src/ia32/full-codegen-ia32.cc __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset)); __ 2580 src/ia32/full-codegen-ia32.cc __ movzx_b(ecx, FieldOperand(ebx, Map::kBitFieldOffset)); __ 2581 src/ia32/full-codegen-ia32.cc __ test(ecx, Immediate(1 << Map::kIsUndetectable)); __ 2582 src/ia32/full-codegen-ia32.cc __ j(not_zero, if_false); __ 2583 src/ia32/full-codegen-ia32.cc __ movzx_b(ecx, FieldOperand(ebx, Map::kInstanceTypeOffset)); __ 2584 src/ia32/full-codegen-ia32.cc __ cmp(ecx, FIRST_NONCALLABLE_SPEC_OBJECT_TYPE); __ 2585 src/ia32/full-codegen-ia32.cc __ j(below, if_false); __ 2586 src/ia32/full-codegen-ia32.cc __ cmp(ecx, LAST_NONCALLABLE_SPEC_OBJECT_TYPE); __ 2607 src/ia32/full-codegen-ia32.cc __ JumpIfSmi(eax, if_false); __ 2608 src/ia32/full-codegen-ia32.cc __ CmpObjectType(eax, FIRST_SPEC_OBJECT_TYPE, ebx); __ 2629 src/ia32/full-codegen-ia32.cc __ JumpIfSmi(eax, if_false); __ 2630 src/ia32/full-codegen-ia32.cc __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset)); __ 2631 src/ia32/full-codegen-ia32.cc __ movzx_b(ebx, FieldOperand(ebx, Map::kBitFieldOffset)); __ 2632 src/ia32/full-codegen-ia32.cc __ test(ebx, Immediate(1 << Map::kIsUndetectable)); __ 2654 src/ia32/full-codegen-ia32.cc if (FLAG_debug_code) __ AbortIfSmi(eax); __ 2658 src/ia32/full-codegen-ia32.cc __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset)); __ 2659 src/ia32/full-codegen-ia32.cc __ test_b(FieldOperand(ebx, Map::kBitField2Offset), __ 2661 src/ia32/full-codegen-ia32.cc __ j(not_zero, if_true); __ 2664 src/ia32/full-codegen-ia32.cc __ mov(ecx, FieldOperand(eax, JSObject::kPropertiesOffset)); __ 2665 src/ia32/full-codegen-ia32.cc __ mov(ecx, FieldOperand(ecx, HeapObject::kMapOffset)); __ 2666 src/ia32/full-codegen-ia32.cc __ cmp(ecx, FACTORY->hash_table_map()); __ 2667 src/ia32/full-codegen-ia32.cc __ j(equal, if_false); __ 2672 src/ia32/full-codegen-ia32.cc __ LoadInstanceDescriptors(ebx, ebx); __ 2673 src/ia32/full-codegen-ia32.cc __ mov(ecx, FieldOperand(ebx, FixedArray::kLengthOffset)); __ 2680 src/ia32/full-codegen-ia32.cc __ lea(ecx, Operand(ebx, ecx, times_2, FixedArray::kHeaderSize)); __ 2682 src/ia32/full-codegen-ia32.cc __ add(ebx, __ 2688 src/ia32/full-codegen-ia32.cc __ jmp(&entry); __ 2689 src/ia32/full-codegen-ia32.cc __ bind(&loop); __ 2690 src/ia32/full-codegen-ia32.cc __ mov(edx, FieldOperand(ebx, 0)); __ 2691 src/ia32/full-codegen-ia32.cc __ cmp(edx, FACTORY->value_of_symbol()); __ 2692 src/ia32/full-codegen-ia32.cc __ j(equal, if_false); __ 2693 src/ia32/full-codegen-ia32.cc __ add(ebx, Immediate(kPointerSize)); __ 2694 src/ia32/full-codegen-ia32.cc __ bind(&entry); __ 2695 src/ia32/full-codegen-ia32.cc __ cmp(ebx, ecx); __ 2696 src/ia32/full-codegen-ia32.cc __ j(not_equal, &loop); __ 2699 src/ia32/full-codegen-ia32.cc __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset)); __ 2703 src/ia32/full-codegen-ia32.cc __ mov(ecx, FieldOperand(ebx, Map::kPrototypeOffset)); __ 2704 src/ia32/full-codegen-ia32.cc __ JumpIfSmi(ecx, if_false); __ 2705 src/ia32/full-codegen-ia32.cc __ mov(ecx, FieldOperand(ecx, HeapObject::kMapOffset)); __ 2706 src/ia32/full-codegen-ia32.cc __ mov(edx, Operand(esi, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 2707 src/ia32/full-codegen-ia32.cc __ mov(edx, __ 2709 src/ia32/full-codegen-ia32.cc __ cmp(ecx, __ 2712 src/ia32/full-codegen-ia32.cc __ j(not_equal, if_false); __ 2715 src/ia32/full-codegen-ia32.cc __ or_(FieldOperand(ebx, Map::kBitField2Offset), __ 2717 src/ia32/full-codegen-ia32.cc __ jmp(if_true); __ 2737 src/ia32/full-codegen-ia32.cc __ JumpIfSmi(eax, if_false); __ 2738 src/ia32/full-codegen-ia32.cc __ CmpObjectType(eax, JS_FUNCTION_TYPE, ebx); __ 2759 src/ia32/full-codegen-ia32.cc __ JumpIfSmi(eax, if_false); __ 2760 src/ia32/full-codegen-ia32.cc __ CmpObjectType(eax, JS_ARRAY_TYPE, ebx); __ 2781 src/ia32/full-codegen-ia32.cc __ JumpIfSmi(eax, if_false); __ 2782 src/ia32/full-codegen-ia32.cc __ CmpObjectType(eax, JS_REGEXP_TYPE, ebx); __ 2802 src/ia32/full-codegen-ia32.cc __ mov(eax, Operand(ebp, StandardFrameConstants::kCallerFPOffset)); __ 2806 src/ia32/full-codegen-ia32.cc __ cmp(Operand(eax, StandardFrameConstants::kContextOffset), __ 2808 src/ia32/full-codegen-ia32.cc __ j(not_equal, &check_frame_marker); __ 2809 src/ia32/full-codegen-ia32.cc __ mov(eax, Operand(eax, StandardFrameConstants::kCallerFPOffset)); __ 2812 src/ia32/full-codegen-ia32.cc __ bind(&check_frame_marker); __ 2813 src/ia32/full-codegen-ia32.cc __ cmp(Operand(eax, StandardFrameConstants::kMarkerOffset), __ 2837 src/ia32/full-codegen-ia32.cc __ pop(ebx); __ 2838 src/ia32/full-codegen-ia32.cc __ cmp(eax, ebx); __ 2853 src/ia32/full-codegen-ia32.cc __ mov(edx, eax); __ 2854 src/ia32/full-codegen-ia32.cc __ Set(eax, Immediate(Smi::FromInt(info_->scope()->num_parameters()))); __ 2856 src/ia32/full-codegen-ia32.cc __ CallStub(&stub); __ 2866 src/ia32/full-codegen-ia32.cc __ Set(eax, Immediate(Smi::FromInt(info_->scope()->num_parameters()))); __ 2869 src/ia32/full-codegen-ia32.cc __ mov(ebx, Operand(ebp, StandardFrameConstants::kCallerFPOffset)); __ 2870 src/ia32/full-codegen-ia32.cc __ cmp(Operand(ebx, StandardFrameConstants::kContextOffset), __ 2872 src/ia32/full-codegen-ia32.cc __ j(not_equal, &exit); __ 2876 src/ia32/full-codegen-ia32.cc __ mov(eax, Operand(ebx, ArgumentsAdaptorFrameConstants::kLengthOffset)); __ 2878 src/ia32/full-codegen-ia32.cc __ bind(&exit); __ 2879 src/ia32/full-codegen-ia32.cc if (FLAG_debug_code) __ AbortIfNotSmi(eax); __ 2892 src/ia32/full-codegen-ia32.cc __ JumpIfSmi(eax, &null); __ 2899 src/ia32/full-codegen-ia32.cc __ CmpObjectType(eax, FIRST_SPEC_OBJECT_TYPE, eax); __ 2901 src/ia32/full-codegen-ia32.cc __ j(below, &null); __ 2904 src/ia32/full-codegen-ia32.cc __ j(equal, &function); __ 2906 src/ia32/full-codegen-ia32.cc __ CmpInstanceType(eax, LAST_SPEC_OBJECT_TYPE); __ 2909 src/ia32/full-codegen-ia32.cc __ j(equal, &function); __ 2914 src/ia32/full-codegen-ia32.cc __ mov(eax, FieldOperand(eax, Map::kConstructorOffset)); __ 2915 src/ia32/full-codegen-ia32.cc __ CmpObjectType(eax, JS_FUNCTION_TYPE, ebx); __ 2916 src/ia32/full-codegen-ia32.cc __ j(not_equal, &non_function_constructor); __ 2920 src/ia32/full-codegen-ia32.cc __ mov(eax, FieldOperand(eax, JSFunction::kSharedFunctionInfoOffset)); __ 2921 src/ia32/full-codegen-ia32.cc __ mov(eax, FieldOperand(eax, SharedFunctionInfo::kInstanceClassNameOffset)); __ 2922 src/ia32/full-codegen-ia32.cc __ jmp(&done); __ 2925 src/ia32/full-codegen-ia32.cc __ bind(&function); __ 2926 src/ia32/full-codegen-ia32.cc __ mov(eax, isolate()->factory()->function_class_symbol()); __ 2927 src/ia32/full-codegen-ia32.cc __ jmp(&done); __ 2930 src/ia32/full-codegen-ia32.cc __ bind(&non_function_constructor); __ 2931 src/ia32/full-codegen-ia32.cc __ mov(eax, isolate()->factory()->Object_symbol()); __ 2932 src/ia32/full-codegen-ia32.cc __ jmp(&done); __ 2935 src/ia32/full-codegen-ia32.cc __ bind(&null); __ 2936 src/ia32/full-codegen-ia32.cc __ mov(eax, isolate()->factory()->null_value()); __ 2939 src/ia32/full-codegen-ia32.cc __ bind(&done); __ 2958 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kLog, 2); __ 2961 src/ia32/full-codegen-ia32.cc __ mov(eax, isolate()->factory()->undefined_value()); __ 2972 src/ia32/full-codegen-ia32.cc __ AllocateHeapNumber(edi, ebx, ecx, &slow_allocate_heapnumber); __ 2973 src/ia32/full-codegen-ia32.cc __ jmp(&heapnumber_allocated); __ 2975 src/ia32/full-codegen-ia32.cc __ bind(&slow_allocate_heapnumber); __ 2977 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kNumberAlloc, 0); __ 2978 src/ia32/full-codegen-ia32.cc __ mov(edi, eax); __ 2980 src/ia32/full-codegen-ia32.cc __ bind(&heapnumber_allocated); __ 2982 src/ia32/full-codegen-ia32.cc __ PrepareCallCFunction(1, ebx); __ 2983 src/ia32/full-codegen-ia32.cc __ mov(eax, ContextOperand(context_register(), Context::GLOBAL_INDEX)); __ 2984 src/ia32/full-codegen-ia32.cc __ mov(eax, FieldOperand(eax, GlobalObject::kGlobalContextOffset)); __ 2985 src/ia32/full-codegen-ia32.cc __ mov(Operand(esp, 0), eax); __ 2986 src/ia32/full-codegen-ia32.cc __ CallCFunction(ExternalReference::random_uint32_function(isolate()), 1); __ 2994 src/ia32/full-codegen-ia32.cc __ mov(ebx, Immediate(0x49800000)); // 1.0 x 2^20 as single. __ 2995 src/ia32/full-codegen-ia32.cc __ movd(xmm1, ebx); __ 2996 src/ia32/full-codegen-ia32.cc __ movd(xmm0, eax); __ 2997 src/ia32/full-codegen-ia32.cc __ cvtss2sd(xmm1, xmm1); __ 2998 src/ia32/full-codegen-ia32.cc __ xorps(xmm0, xmm1); __ 2999 src/ia32/full-codegen-ia32.cc __ subsd(xmm0, xmm1); __ 3000 src/ia32/full-codegen-ia32.cc __ movdbl(FieldOperand(edi, HeapNumber::kValueOffset), xmm0); __ 3003 src/ia32/full-codegen-ia32.cc __ mov(FieldOperand(edi, HeapNumber::kExponentOffset), __ 3005 src/ia32/full-codegen-ia32.cc __ mov(FieldOperand(edi, HeapNumber::kMantissaOffset), eax); __ 3006 src/ia32/full-codegen-ia32.cc __ fld_d(FieldOperand(edi, HeapNumber::kValueOffset)); __ 3007 src/ia32/full-codegen-ia32.cc __ mov(FieldOperand(edi, HeapNumber::kMantissaOffset), Immediate(0)); __ 3008 src/ia32/full-codegen-ia32.cc __ fld_d(FieldOperand(edi, HeapNumber::kValueOffset)); __ 3009 src/ia32/full-codegen-ia32.cc __ fsubp(1); __ 3010 src/ia32/full-codegen-ia32.cc __ fstp_d(FieldOperand(edi, HeapNumber::kValueOffset)); __ 3012 src/ia32/full-codegen-ia32.cc __ mov(eax, edi); __ 3025 src/ia32/full-codegen-ia32.cc __ CallStub(&stub); __ 3039 src/ia32/full-codegen-ia32.cc __ CallStub(&stub); __ 3052 src/ia32/full-codegen-ia32.cc __ JumpIfSmi(eax, &done, Label::kNear); __ 3054 src/ia32/full-codegen-ia32.cc __ CmpObjectType(eax, JS_VALUE_TYPE, ebx); __ 3055 src/ia32/full-codegen-ia32.cc __ j(not_equal, &done, Label::kNear); __ 3056 src/ia32/full-codegen-ia32.cc __ mov(eax, FieldOperand(eax, JSValue::kValueOffset)); __ 3058 src/ia32/full-codegen-ia32.cc __ bind(&done); __ 3077 src/ia32/full-codegen-ia32.cc __ AbortIfSmi(object); __ 3078 src/ia32/full-codegen-ia32.cc __ CmpObjectType(object, JS_DATE_TYPE, scratch); __ 3079 src/ia32/full-codegen-ia32.cc __ Assert(equal, "Trying to get date field from non-date."); __ 3083 src/ia32/full-codegen-ia32.cc __ mov(result, FieldOperand(object, JSDate::kValueOffset)); __ 3087 src/ia32/full-codegen-ia32.cc __ mov(scratch, Operand::StaticVariable(stamp)); __ 3088 src/ia32/full-codegen-ia32.cc __ cmp(scratch, FieldOperand(object, JSDate::kCacheStampOffset)); __ 3089 src/ia32/full-codegen-ia32.cc __ j(not_equal, &runtime, Label::kNear); __ 3090 src/ia32/full-codegen-ia32.cc __ mov(result, FieldOperand(object, JSDate::kValueOffset + __ 3092 src/ia32/full-codegen-ia32.cc __ jmp(&done); __ 3094 src/ia32/full-codegen-ia32.cc __ bind(&runtime); __ 3095 src/ia32/full-codegen-ia32.cc __ PrepareCallCFunction(2, scratch); __ 3096 src/ia32/full-codegen-ia32.cc __ mov(Operand(esp, 0), object); __ 3097 src/ia32/full-codegen-ia32.cc __ mov(Operand(esp, 1 * kPointerSize), Immediate(index)); __ 3098 src/ia32/full-codegen-ia32.cc __ CallCFunction(ExternalReference::get_date_field_function(isolate()), 2); __ 3099 src/ia32/full-codegen-ia32.cc __ bind(&done); __ 3114 src/ia32/full-codegen-ia32.cc __ CallStub(&stub); __ 3116 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kMath_pow, 2); __ 3128 src/ia32/full-codegen-ia32.cc __ pop(ebx); // eax = value. ebx = object. __ 3132 src/ia32/full-codegen-ia32.cc __ JumpIfSmi(ebx, &done, Label::kNear); __ 3135 src/ia32/full-codegen-ia32.cc __ CmpObjectType(ebx, JS_VALUE_TYPE, ecx); __ 3136 src/ia32/full-codegen-ia32.cc __ j(not_equal, &done, Label::kNear); __ 3139 src/ia32/full-codegen-ia32.cc __ mov(FieldOperand(ebx, JSValue::kValueOffset), eax); __ 3143 src/ia32/full-codegen-ia32.cc __ mov(edx, eax); __ 3144 src/ia32/full-codegen-ia32.cc __ RecordWriteField(ebx, JSValue::kValueOffset, edx, ecx, kDontSaveFPRegs); __ 3146 src/ia32/full-codegen-ia32.cc __ bind(&done); __ 3159 src/ia32/full-codegen-ia32.cc __ CallStub(&stub); __ 3173 src/ia32/full-codegen-ia32.cc __ jmp(&done); __ 3178 src/ia32/full-codegen-ia32.cc __ bind(&done); __ 3194 src/ia32/full-codegen-ia32.cc __ pop(object); __ 3207 src/ia32/full-codegen-ia32.cc __ jmp(&done); __ 3209 src/ia32/full-codegen-ia32.cc __ bind(&index_out_of_range); __ 3212 src/ia32/full-codegen-ia32.cc __ Set(result, Immediate(isolate()->factory()->nan_value())); __ 3213 src/ia32/full-codegen-ia32.cc __ jmp(&done); __ 3215 src/ia32/full-codegen-ia32.cc __ bind(&need_conversion); __ 3218 src/ia32/full-codegen-ia32.cc __ Set(result, Immediate(isolate()->factory()->undefined_value())); __ 3219 src/ia32/full-codegen-ia32.cc __ jmp(&done); __ 3224 src/ia32/full-codegen-ia32.cc __ bind(&done); __ 3241 src/ia32/full-codegen-ia32.cc __ pop(object); __ 3255 src/ia32/full-codegen-ia32.cc __ jmp(&done); __ 3257 src/ia32/full-codegen-ia32.cc __ bind(&index_out_of_range); __ 3260 src/ia32/full-codegen-ia32.cc __ Set(result, Immediate(isolate()->factory()->empty_string())); __ 3261 src/ia32/full-codegen-ia32.cc __ jmp(&done); __ 3263 src/ia32/full-codegen-ia32.cc __ bind(&need_conversion); __ 3266 src/ia32/full-codegen-ia32.cc __ Set(result, Immediate(Smi::FromInt(0))); __ 3267 src/ia32/full-codegen-ia32.cc __ jmp(&done); __ 3272 src/ia32/full-codegen-ia32.cc __ bind(&done); __ 3285 src/ia32/full-codegen-ia32.cc __ CallStub(&stub); __ 3298 src/ia32/full-codegen-ia32.cc __ CallStub(&stub); __ 3310 src/ia32/full-codegen-ia32.cc __ CallStub(&stub); __ 3322 src/ia32/full-codegen-ia32.cc __ CallStub(&stub); __ 3334 src/ia32/full-codegen-ia32.cc __ CallStub(&stub); __ 3346 src/ia32/full-codegen-ia32.cc __ CallStub(&stub); __ 3356 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kMath_sqrt, 1); __ 3373 src/ia32/full-codegen-ia32.cc __ CmpObjectType(eax, JS_FUNCTION_PROXY_TYPE, ebx); __ 3374 src/ia32/full-codegen-ia32.cc __ j(equal, &proxy); __ 3377 src/ia32/full-codegen-ia32.cc __ mov(edi, result_register()); __ 3379 src/ia32/full-codegen-ia32.cc __ InvokeFunction(edi, count, CALL_FUNCTION, __ 3381 src/ia32/full-codegen-ia32.cc __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); __ 3382 src/ia32/full-codegen-ia32.cc __ jmp(&done); __ 3384 src/ia32/full-codegen-ia32.cc __ bind(&proxy); __ 3385 src/ia32/full-codegen-ia32.cc __ push(eax); __ 3386 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kCall, args->length()); __ 3387 src/ia32/full-codegen-ia32.cc __ bind(&done); __ 3401 src/ia32/full-codegen-ia32.cc __ CallStub(&stub); __ 3416 src/ia32/full-codegen-ia32.cc __ Abort("Attempt to use undefined cache."); __ 3417 src/ia32/full-codegen-ia32.cc __ mov(eax, isolate()->factory()->undefined_value()); __ 3427 src/ia32/full-codegen-ia32.cc __ mov(cache, ContextOperand(esi, Context::GLOBAL_INDEX)); __ 3428 src/ia32/full-codegen-ia32.cc __ mov(cache, __ 3430 src/ia32/full-codegen-ia32.cc __ mov(cache, ContextOperand(cache, Context::JSFUNCTION_RESULT_CACHES_INDEX)); __ 3431 src/ia32/full-codegen-ia32.cc __ mov(cache, __ 3437 src/ia32/full-codegen-ia32.cc __ mov(tmp, FieldOperand(cache, JSFunctionResultCache::kFingerOffset)); __ 3438 src/ia32/full-codegen-ia32.cc __ cmp(key, CodeGenerator::FixedArrayElementOperand(cache, tmp)); __ 3439 src/ia32/full-codegen-ia32.cc __ j(not_equal, ¬_found); __ 3441 src/ia32/full-codegen-ia32.cc __ mov(eax, CodeGenerator::FixedArrayElementOperand(cache, tmp, 1)); __ 3442 src/ia32/full-codegen-ia32.cc __ jmp(&done); __ 3444 src/ia32/full-codegen-ia32.cc __ bind(¬_found); __ 3446 src/ia32/full-codegen-ia32.cc __ push(cache); __ 3447 src/ia32/full-codegen-ia32.cc __ push(key); __ 3448 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kGetFromCache, 2); __ 3450 src/ia32/full-codegen-ia32.cc __ bind(&done); __ 3465 src/ia32/full-codegen-ia32.cc __ pop(left); __ 3468 src/ia32/full-codegen-ia32.cc __ cmp(left, right); __ 3469 src/ia32/full-codegen-ia32.cc __ j(equal, &ok); __ 3471 src/ia32/full-codegen-ia32.cc __ mov(tmp, left); __ 3472 src/ia32/full-codegen-ia32.cc __ and_(tmp, right); __ 3473 src/ia32/full-codegen-ia32.cc __ JumpIfSmi(tmp, &fail); __ 3474 src/ia32/full-codegen-ia32.cc __ mov(tmp, FieldOperand(left, HeapObject::kMapOffset)); __ 3475 src/ia32/full-codegen-ia32.cc __ CmpInstanceType(tmp, JS_REGEXP_TYPE); __ 3476 src/ia32/full-codegen-ia32.cc __ j(not_equal, &fail); __ 3477 src/ia32/full-codegen-ia32.cc __ cmp(tmp, FieldOperand(right, HeapObject::kMapOffset)); __ 3478 src/ia32/full-codegen-ia32.cc __ j(not_equal, &fail); __ 3479 src/ia32/full-codegen-ia32.cc __ mov(tmp, FieldOperand(left, JSRegExp::kDataOffset)); __ 3480 src/ia32/full-codegen-ia32.cc __ cmp(tmp, FieldOperand(right, JSRegExp::kDataOffset)); __ 3481 src/ia32/full-codegen-ia32.cc __ j(equal, &ok); __ 3482 src/ia32/full-codegen-ia32.cc __ bind(&fail); __ 3483 src/ia32/full-codegen-ia32.cc __ mov(eax, Immediate(isolate()->factory()->false_value())); __ 3484 src/ia32/full-codegen-ia32.cc __ jmp(&done); __ 3485 src/ia32/full-codegen-ia32.cc __ bind(&ok); __ 3486 src/ia32/full-codegen-ia32.cc __ mov(eax, Immediate(isolate()->factory()->true_value())); __ 3487 src/ia32/full-codegen-ia32.cc __ bind(&done); __ 3500 src/ia32/full-codegen-ia32.cc __ AbortIfNotString(eax); __ 3510 src/ia32/full-codegen-ia32.cc __ test(FieldOperand(eax, String::kHashFieldOffset), __ 3525 src/ia32/full-codegen-ia32.cc __ AbortIfNotString(eax); __ 3528 src/ia32/full-codegen-ia32.cc __ mov(eax, FieldOperand(eax, String::kHashFieldOffset)); __ 3529 src/ia32/full-codegen-ia32.cc __ IndexFromHash(eax, eax); __ 3565 src/ia32/full-codegen-ia32.cc __ sub(esp, Immediate(2 * kPointerSize)); __ 3566 src/ia32/full-codegen-ia32.cc __ cld(); __ 3568 src/ia32/full-codegen-ia32.cc __ JumpIfSmi(array, &bailout); __ 3569 src/ia32/full-codegen-ia32.cc __ CmpObjectType(array, JS_ARRAY_TYPE, scratch); __ 3570 src/ia32/full-codegen-ia32.cc __ j(not_equal, &bailout); __ 3573 src/ia32/full-codegen-ia32.cc __ CheckFastElements(scratch, &bailout); __ 3576 src/ia32/full-codegen-ia32.cc __ mov(array_length, FieldOperand(array, JSArray::kLengthOffset)); __ 3577 src/ia32/full-codegen-ia32.cc __ SmiUntag(array_length); __ 3578 src/ia32/full-codegen-ia32.cc __ j(not_zero, &non_trivial_array); __ 3579 src/ia32/full-codegen-ia32.cc __ mov(result_operand, isolate()->factory()->empty_string()); __ 3580 src/ia32/full-codegen-ia32.cc __ jmp(&done); __ 3583 src/ia32/full-codegen-ia32.cc __ bind(&non_trivial_array); __ 3584 src/ia32/full-codegen-ia32.cc __ mov(array_length_operand, array_length); __ 3589 src/ia32/full-codegen-ia32.cc __ mov(elements, FieldOperand(array, JSArray::kElementsOffset)); __ 3595 src/ia32/full-codegen-ia32.cc __ Set(index, Immediate(0)); __ 3596 src/ia32/full-codegen-ia32.cc __ Set(string_length, Immediate(0)); __ 3601 src/ia32/full-codegen-ia32.cc __ cmp(index, array_length); __ 3602 src/ia32/full-codegen-ia32.cc __ Assert(less, "No empty arrays here in EmitFastAsciiArrayJoin"); __ 3604 src/ia32/full-codegen-ia32.cc __ bind(&loop); __ 3605 src/ia32/full-codegen-ia32.cc __ mov(string, FieldOperand(elements, __ 3609 src/ia32/full-codegen-ia32.cc __ JumpIfSmi(string, &bailout); __ 3610 src/ia32/full-codegen-ia32.cc __ mov(scratch, FieldOperand(string, HeapObject::kMapOffset)); __ 3611 src/ia32/full-codegen-ia32.cc __ movzx_b(scratch, FieldOperand(scratch, Map::kInstanceTypeOffset)); __ 3612 src/ia32/full-codegen-ia32.cc __ and_(scratch, Immediate( __ 3614 src/ia32/full-codegen-ia32.cc __ cmp(scratch, kStringTag | kAsciiStringTag | kSeqStringTag); __ 3615 src/ia32/full-codegen-ia32.cc __ j(not_equal, &bailout); __ 3616 src/ia32/full-codegen-ia32.cc __ add(string_length, __ 3618 src/ia32/full-codegen-ia32.cc __ j(overflow, &bailout); __ 3619 src/ia32/full-codegen-ia32.cc __ add(index, Immediate(1)); __ 3620 src/ia32/full-codegen-ia32.cc __ cmp(index, array_length); __ 3621 src/ia32/full-codegen-ia32.cc __ j(less, &loop); __ 3624 src/ia32/full-codegen-ia32.cc __ cmp(array_length, 1); __ 3625 src/ia32/full-codegen-ia32.cc __ j(not_equal, ¬_size_one_array); __ 3626 src/ia32/full-codegen-ia32.cc __ mov(scratch, FieldOperand(elements, FixedArray::kHeaderSize)); __ 3627 src/ia32/full-codegen-ia32.cc __ mov(result_operand, scratch); __ 3628 src/ia32/full-codegen-ia32.cc __ jmp(&done); __ 3630 src/ia32/full-codegen-ia32.cc __ bind(¬_size_one_array); __ 3641 src/ia32/full-codegen-ia32.cc __ mov(string, separator_operand); __ 3642 src/ia32/full-codegen-ia32.cc __ JumpIfSmi(string, &bailout); __ 3643 src/ia32/full-codegen-ia32.cc __ mov(scratch, FieldOperand(string, HeapObject::kMapOffset)); __ 3644 src/ia32/full-codegen-ia32.cc __ movzx_b(scratch, FieldOperand(scratch, Map::kInstanceTypeOffset)); __ 3645 src/ia32/full-codegen-ia32.cc __ and_(scratch, Immediate( __ 3647 src/ia32/full-codegen-ia32.cc __ cmp(scratch, ASCII_STRING_TYPE); __ 3648 src/ia32/full-codegen-ia32.cc __ j(not_equal, &bailout); __ 3652 src/ia32/full-codegen-ia32.cc __ mov(scratch, separator_operand); __ 3653 src/ia32/full-codegen-ia32.cc __ mov(scratch, FieldOperand(scratch, SeqAsciiString::kLengthOffset)); __ 3654 src/ia32/full-codegen-ia32.cc __ sub(string_length, scratch); // May be negative, temporarily. __ 3655 src/ia32/full-codegen-ia32.cc __ imul(scratch, array_length_operand); __ 3656 src/ia32/full-codegen-ia32.cc __ j(overflow, &bailout); __ 3657 src/ia32/full-codegen-ia32.cc __ add(string_length, scratch); __ 3658 src/ia32/full-codegen-ia32.cc __ j(overflow, &bailout); __ 3660 src/ia32/full-codegen-ia32.cc __ shr(string_length, 1); __ 3664 src/ia32/full-codegen-ia32.cc __ AllocateAsciiString(result_pos, string_length, scratch, __ 3666 src/ia32/full-codegen-ia32.cc __ mov(result_operand, result_pos); __ 3667 src/ia32/full-codegen-ia32.cc __ lea(result_pos, FieldOperand(result_pos, SeqAsciiString::kHeaderSize)); __ 3670 src/ia32/full-codegen-ia32.cc __ mov(string, separator_operand); __ 3671 src/ia32/full-codegen-ia32.cc __ cmp(FieldOperand(string, SeqAsciiString::kLengthOffset), __ 3673 src/ia32/full-codegen-ia32.cc __ j(equal, &one_char_separator); __ 3674 src/ia32/full-codegen-ia32.cc __ j(greater, &long_separator); __ 3678 src/ia32/full-codegen-ia32.cc __ mov(index, Immediate(0)); __ 3679 src/ia32/full-codegen-ia32.cc __ jmp(&loop_1_condition); __ 3681 src/ia32/full-codegen-ia32.cc __ bind(&loop_1); __ 3689 src/ia32/full-codegen-ia32.cc __ mov(string, FieldOperand(elements, index, __ 3692 src/ia32/full-codegen-ia32.cc __ mov(string_length, __ 3694 src/ia32/full-codegen-ia32.cc __ shr(string_length, 1); __ 3695 src/ia32/full-codegen-ia32.cc __ lea(string, __ 3697 src/ia32/full-codegen-ia32.cc __ CopyBytes(string, result_pos, string_length, scratch); __ 3698 src/ia32/full-codegen-ia32.cc __ add(index, Immediate(1)); __ 3699 src/ia32/full-codegen-ia32.cc __ bind(&loop_1_condition); __ 3700 src/ia32/full-codegen-ia32.cc __ cmp(index, array_length_operand); __ 3701 src/ia32/full-codegen-ia32.cc __ j(less, &loop_1); // End while (index < length). __ 3702 src/ia32/full-codegen-ia32.cc __ jmp(&done); __ 3707 src/ia32/full-codegen-ia32.cc __ bind(&one_char_separator); __ 3709 src/ia32/full-codegen-ia32.cc __ mov_b(scratch, FieldOperand(string, SeqAsciiString::kHeaderSize)); __ 3710 src/ia32/full-codegen-ia32.cc __ mov_b(separator_operand, scratch); __ 3712 src/ia32/full-codegen-ia32.cc __ Set(index, Immediate(0)); __ 3715 src/ia32/full-codegen-ia32.cc __ jmp(&loop_2_entry); __ 3717 src/ia32/full-codegen-ia32.cc __ bind(&loop_2); __ 3724 src/ia32/full-codegen-ia32.cc __ mov_b(scratch, separator_operand); __ 3725 src/ia32/full-codegen-ia32.cc __ mov_b(Operand(result_pos, 0), scratch); __ 3726 src/ia32/full-codegen-ia32.cc __ inc(result_pos); __ 3728 src/ia32/full-codegen-ia32.cc __ bind(&loop_2_entry); __ 3730 src/ia32/full-codegen-ia32.cc __ mov(string, FieldOperand(elements, index, __ 3733 src/ia32/full-codegen-ia32.cc __ mov(string_length, __ 3735 src/ia32/full-codegen-ia32.cc __ shr(string_length, 1); __ 3736 src/ia32/full-codegen-ia32.cc __ lea(string, __ 3738 src/ia32/full-codegen-ia32.cc __ CopyBytes(string, result_pos, string_length, scratch); __ 3739 src/ia32/full-codegen-ia32.cc __ add(index, Immediate(1)); __ 3741 src/ia32/full-codegen-ia32.cc __ cmp(index, array_length_operand); __ 3742 src/ia32/full-codegen-ia32.cc __ j(less, &loop_2); // End while (index < length). __ 3743 src/ia32/full-codegen-ia32.cc __ jmp(&done); __ 3747 src/ia32/full-codegen-ia32.cc __ bind(&long_separator); __ 3749 src/ia32/full-codegen-ia32.cc __ Set(index, Immediate(0)); __ 3752 src/ia32/full-codegen-ia32.cc __ jmp(&loop_3_entry); __ 3754 src/ia32/full-codegen-ia32.cc __ bind(&loop_3); __ 3761 src/ia32/full-codegen-ia32.cc __ mov(string, separator_operand); __ 3762 src/ia32/full-codegen-ia32.cc __ mov(string_length, __ 3764 src/ia32/full-codegen-ia32.cc __ shr(string_length, 1); __ 3765 src/ia32/full-codegen-ia32.cc __ lea(string, __ 3767 src/ia32/full-codegen-ia32.cc __ CopyBytes(string, result_pos, string_length, scratch); __ 3769 src/ia32/full-codegen-ia32.cc __ bind(&loop_3_entry); __ 3771 src/ia32/full-codegen-ia32.cc __ mov(string, FieldOperand(elements, index, __ 3774 src/ia32/full-codegen-ia32.cc __ mov(string_length, __ 3776 src/ia32/full-codegen-ia32.cc __ shr(string_length, 1); __ 3777 src/ia32/full-codegen-ia32.cc __ lea(string, __ 3779 src/ia32/full-codegen-ia32.cc __ CopyBytes(string, result_pos, string_length, scratch); __ 3780 src/ia32/full-codegen-ia32.cc __ add(index, Immediate(1)); __ 3782 src/ia32/full-codegen-ia32.cc __ cmp(index, array_length_operand); __ 3783 src/ia32/full-codegen-ia32.cc __ j(less, &loop_3); // End while (index < length). __ 3784 src/ia32/full-codegen-ia32.cc __ jmp(&done); __ 3787 src/ia32/full-codegen-ia32.cc __ bind(&bailout); __ 3788 src/ia32/full-codegen-ia32.cc __ mov(result_operand, isolate()->factory()->undefined_value()); __ 3789 src/ia32/full-codegen-ia32.cc __ bind(&done); __ 3790 src/ia32/full-codegen-ia32.cc __ mov(eax, result_operand); __ 3792 src/ia32/full-codegen-ia32.cc __ add(esp, Immediate(3 * kPointerSize)); __ 3794 src/ia32/full-codegen-ia32.cc __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); __ 3812 src/ia32/full-codegen-ia32.cc __ mov(eax, GlobalObjectOperand()); __ 3813 src/ia32/full-codegen-ia32.cc __ push(FieldOperand(eax, GlobalObject::kBuiltinsOffset)); __ 3824 src/ia32/full-codegen-ia32.cc __ Set(ecx, Immediate(expr->name())); __ 3830 src/ia32/full-codegen-ia32.cc __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); __ 3833 src/ia32/full-codegen-ia32.cc __ CallRuntime(expr->function(), arg_count); __ 3851 src/ia32/full-codegen-ia32.cc __ push(Immediate(Smi::FromInt(strict_mode_flag))); __ 3852 src/ia32/full-codegen-ia32.cc __ InvokeBuiltin(Builtins::DELETE, CALL_FUNCTION); __ 3860 src/ia32/full-codegen-ia32.cc __ push(GlobalObjectOperand()); __ 3861 src/ia32/full-codegen-ia32.cc __ push(Immediate(var->name())); __ 3862 src/ia32/full-codegen-ia32.cc __ push(Immediate(Smi::FromInt(kNonStrictMode))); __ 3863 src/ia32/full-codegen-ia32.cc __ InvokeBuiltin(Builtins::DELETE, CALL_FUNCTION); __ 3873 src/ia32/full-codegen-ia32.cc __ push(context_register()); __ 3874 src/ia32/full-codegen-ia32.cc __ push(Immediate(var->name())); __ 3875 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kDeleteContextSlot, 2); __ 3919 src/ia32/full-codegen-ia32.cc __ bind(&materialize_true); __ 3922 src/ia32/full-codegen-ia32.cc __ mov(eax, isolate()->factory()->true_value()); __ 3924 src/ia32/full-codegen-ia32.cc __ Push(isolate()->factory()->true_value()); __ 3926 src/ia32/full-codegen-ia32.cc __ jmp(&done, Label::kNear); __ 3927 src/ia32/full-codegen-ia32.cc __ bind(&materialize_false); __ 3930 src/ia32/full-codegen-ia32.cc __ mov(eax, isolate()->factory()->false_value()); __ 3932 src/ia32/full-codegen-ia32.cc __ Push(isolate()->factory()->false_value()); __ 3934 src/ia32/full-codegen-ia32.cc __ bind(&done); __ 3944 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kTypeof, 1); __ 3953 src/ia32/full-codegen-ia32.cc __ JumpIfSmi(result_register(), &no_conversion); __ 3955 src/ia32/full-codegen-ia32.cc __ CallStub(&convert_stub); __ 3956 src/ia32/full-codegen-ia32.cc __ bind(&no_conversion); __ 4022 src/ia32/full-codegen-ia32.cc __ push(Immediate(Smi::FromInt(0))); __ 4027 src/ia32/full-codegen-ia32.cc __ push(eax); __ 4028 src/ia32/full-codegen-ia32.cc __ mov(edx, eax); __ 4033 src/ia32/full-codegen-ia32.cc __ mov(edx, Operand(esp, kPointerSize)); // Object. __ 4034 src/ia32/full-codegen-ia32.cc __ mov(ecx, Operand(esp, 0)); // Key. __ 4050 src/ia32/full-codegen-ia32.cc __ JumpIfSmi(eax, &no_conversion, Label::kNear); __ 4053 src/ia32/full-codegen-ia32.cc __ CallStub(&convert_stub); __ 4054 src/ia32/full-codegen-ia32.cc __ bind(&no_conversion); __ 4064 src/ia32/full-codegen-ia32.cc __ push(eax); __ 4067 src/ia32/full-codegen-ia32.cc __ mov(Operand(esp, kPointerSize), eax); __ 4070 src/ia32/full-codegen-ia32.cc __ mov(Operand(esp, 2 * kPointerSize), eax); __ 4082 src/ia32/full-codegen-ia32.cc __ add(eax, Immediate(Smi::FromInt(1))); __ 4084 src/ia32/full-codegen-ia32.cc __ sub(eax, Immediate(Smi::FromInt(1))); __ 4086 src/ia32/full-codegen-ia32.cc __ j(overflow, &stub_call, Label::kNear); __ 4091 src/ia32/full-codegen-ia32.cc __ bind(&stub_call); __ 4094 src/ia32/full-codegen-ia32.cc __ sub(eax, Immediate(Smi::FromInt(1))); __ 4096 src/ia32/full-codegen-ia32.cc __ add(eax, Immediate(Smi::FromInt(1))); __ 4104 src/ia32/full-codegen-ia32.cc __ mov(edx, eax); __ 4105 src/ia32/full-codegen-ia32.cc __ mov(eax, Immediate(Smi::FromInt(1))); __ 4109 src/ia32/full-codegen-ia32.cc __ bind(&done); __ 4136 src/ia32/full-codegen-ia32.cc __ mov(ecx, prop->key()->AsLiteral()->handle()); __ 4137 src/ia32/full-codegen-ia32.cc __ pop(edx); __ 4153 src/ia32/full-codegen-ia32.cc __ pop(ecx); __ 4154 src/ia32/full-codegen-ia32.cc __ pop(edx); __ 4181 src/ia32/full-codegen-ia32.cc __ mov(edx, GlobalObjectOperand()); __ 4182 src/ia32/full-codegen-ia32.cc __ mov(ecx, Immediate(proxy->name())); __ 4196 src/ia32/full-codegen-ia32.cc __ bind(&slow); __ 4197 src/ia32/full-codegen-ia32.cc __ push(esi); __ 4198 src/ia32/full-codegen-ia32.cc __ push(Immediate(proxy->name())); __ 4199 src/ia32/full-codegen-ia32.cc __ CallRuntime(Runtime::kLoadContextSlotNoReferenceError, 2); __ 4201 src/ia32/full-codegen-ia32.cc __ bind(&done); __ 4227 src/ia32/full-codegen-ia32.cc __ JumpIfSmi(eax, if_true); __ 4228 src/ia32/full-codegen-ia32.cc __ cmp(FieldOperand(eax, HeapObject::kMapOffset), __ 4232 src/ia32/full-codegen-ia32.cc __ JumpIfSmi(eax, if_false); __ 4233 src/ia32/full-codegen-ia32.cc __ CmpObjectType(eax, FIRST_NONSTRING_TYPE, edx); __ 4234 src/ia32/full-codegen-ia32.cc __ j(above_equal, if_false); __ 4236 src/ia32/full-codegen-ia32.cc __ test_b(FieldOperand(edx, Map::kBitFieldOffset), __ 4240 src/ia32/full-codegen-ia32.cc __ cmp(eax, isolate()->factory()->true_value()); __ 4241 src/ia32/full-codegen-ia32.cc __ j(equal, if_true); __ 4242 src/ia32/full-codegen-ia32.cc __ cmp(eax, isolate()->factory()->false_value()); __ 4246 src/ia32/full-codegen-ia32.cc __ cmp(eax, isolate()->factory()->null_value()); __ 4249 src/ia32/full-codegen-ia32.cc __ cmp(eax, isolate()->factory()->undefined_value()); __ 4250 src/ia32/full-codegen-ia32.cc __ j(equal, if_true); __ 4251 src/ia32/full-codegen-ia32.cc __ JumpIfSmi(eax, if_false); __ 4253 src/ia32/full-codegen-ia32.cc __ mov(edx, FieldOperand(eax, HeapObject::kMapOffset)); __ 4254 src/ia32/full-codegen-ia32.cc __ movzx_b(ecx, FieldOperand(edx, Map::kBitFieldOffset)); __ 4255 src/ia32/full-codegen-ia32.cc __ test(ecx, Immediate(1 << Map::kIsUndetectable)); __ 4258 src/ia32/full-codegen-ia32.cc __ JumpIfSmi(eax, if_false); __ 4260 src/ia32/full-codegen-ia32.cc __ CmpObjectType(eax, JS_FUNCTION_TYPE, edx); __ 4261 src/ia32/full-codegen-ia32.cc __ j(equal, if_true); __ 4262 src/ia32/full-codegen-ia32.cc __ CmpInstanceType(edx, JS_FUNCTION_PROXY_TYPE); __ 4265 src/ia32/full-codegen-ia32.cc __ JumpIfSmi(eax, if_false); __ 4267 src/ia32/full-codegen-ia32.cc __ cmp(eax, isolate()->factory()->null_value()); __ 4268 src/ia32/full-codegen-ia32.cc __ j(equal, if_true); __ 4270 src/ia32/full-codegen-ia32.cc __ CmpObjectType(eax, FIRST_NONCALLABLE_SPEC_OBJECT_TYPE, edx); __ 4271 src/ia32/full-codegen-ia32.cc __ j(below, if_false); __ 4272 src/ia32/full-codegen-ia32.cc __ CmpInstanceType(edx, LAST_NONCALLABLE_SPEC_OBJECT_TYPE); __ 4273 src/ia32/full-codegen-ia32.cc __ j(above, if_false); __ 4275 src/ia32/full-codegen-ia32.cc __ test_b(FieldOperand(edx, Map::kBitFieldOffset), __ 4279 src/ia32/full-codegen-ia32.cc if (if_false != fall_through) __ jmp(if_false); __ 4307 src/ia32/full-codegen-ia32.cc __ InvokeBuiltin(Builtins::IN, CALL_FUNCTION); __ 4309 src/ia32/full-codegen-ia32.cc __ cmp(eax, isolate()->factory()->true_value()); __ 4316 src/ia32/full-codegen-ia32.cc __ CallStub(&stub); __ 4318 src/ia32/full-codegen-ia32.cc __ test(eax, eax); __ 4349 src/ia32/full-codegen-ia32.cc __ pop(edx); __ 4355 src/ia32/full-codegen-ia32.cc __ mov(ecx, edx); __ 4356 src/ia32/full-codegen-ia32.cc __ or_(ecx, eax); __ 4358 src/ia32/full-codegen-ia32.cc __ cmp(edx, eax); __ 4360 src/ia32/full-codegen-ia32.cc __ bind(&slow_case); __ 4370 src/ia32/full-codegen-ia32.cc __ test(eax, eax); __ 4396 src/ia32/full-codegen-ia32.cc __ cmp(eax, nil_value); __ 4403 src/ia32/full-codegen-ia32.cc __ j(equal, if_true); __ 4404 src/ia32/full-codegen-ia32.cc __ cmp(eax, other_nil_value); __ 4405 src/ia32/full-codegen-ia32.cc __ j(equal, if_true); __ 4406 src/ia32/full-codegen-ia32.cc __ JumpIfSmi(eax, if_false); __ 4408 src/ia32/full-codegen-ia32.cc __ mov(edx, FieldOperand(eax, HeapObject::kMapOffset)); __ 4409 src/ia32/full-codegen-ia32.cc __ movzx_b(edx, FieldOperand(edx, Map::kBitFieldOffset)); __ 4410 src/ia32/full-codegen-ia32.cc __ test(edx, Immediate(1 << Map::kIsUndetectable)); __ 4418 src/ia32/full-codegen-ia32.cc __ mov(eax, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset)); __ 4435 src/ia32/full-codegen-ia32.cc __ mov(Operand(ebp, frame_offset), value); __ 4440 src/ia32/full-codegen-ia32.cc __ mov(dst, ContextOperand(esi, context_index)); __ 4452 src/ia32/full-codegen-ia32.cc __ push(Immediate(Smi::FromInt(0))); __ 4457 src/ia32/full-codegen-ia32.cc __ push(ContextOperand(esi, Context::CLOSURE_INDEX)); __ 4460 src/ia32/full-codegen-ia32.cc __ push(Operand(ebp, JavaScriptFrameConstants::kFunctionOffset)); __ 4471 src/ia32/full-codegen-ia32.cc __ pop(edx); __ 4472 src/ia32/full-codegen-ia32.cc __ sub(edx, Immediate(masm_->CodeObject())); __ 4475 src/ia32/full-codegen-ia32.cc __ SmiTag(edx); __ 4476 src/ia32/full-codegen-ia32.cc __ push(edx); __ 4479 src/ia32/full-codegen-ia32.cc __ push(result_register()); __ 4484 src/ia32/full-codegen-ia32.cc __ mov(edx, Operand::StaticVariable(pending_message_obj)); __ 4485 src/ia32/full-codegen-ia32.cc __ push(edx); __ 4489 src/ia32/full-codegen-ia32.cc __ mov(edx, Operand::StaticVariable(has_pending_message)); __ 4490 src/ia32/full-codegen-ia32.cc __ SmiTag(edx); __ 4491 src/ia32/full-codegen-ia32.cc __ push(edx); __ 4495 src/ia32/full-codegen-ia32.cc __ mov(edx, Operand::StaticVariable(pending_message_script)); __ 4496 src/ia32/full-codegen-ia32.cc __ push(edx); __ 4503 src/ia32/full-codegen-ia32.cc __ pop(edx); __ 4506 src/ia32/full-codegen-ia32.cc __ mov(Operand::StaticVariable(pending_message_script), edx); __ 4508 src/ia32/full-codegen-ia32.cc __ pop(edx); __ 4509 src/ia32/full-codegen-ia32.cc __ SmiUntag(edx); __ 4512 src/ia32/full-codegen-ia32.cc __ mov(Operand::StaticVariable(has_pending_message), edx); __ 4514 src/ia32/full-codegen-ia32.cc __ pop(edx); __ 4517 src/ia32/full-codegen-ia32.cc __ mov(Operand::StaticVariable(pending_message_obj), edx); __ 4520 src/ia32/full-codegen-ia32.cc __ pop(result_register()); __ 4523 src/ia32/full-codegen-ia32.cc __ pop(edx); __ 4524 src/ia32/full-codegen-ia32.cc __ SmiUntag(edx); __ 4525 src/ia32/full-codegen-ia32.cc __ add(edx, Immediate(masm_->CodeObject())); __ 4526 src/ia32/full-codegen-ia32.cc __ jmp(edx); __ 4543 src/ia32/full-codegen-ia32.cc __ Drop(*stack_depth); // Down to the handler block. __ 4546 src/ia32/full-codegen-ia32.cc __ mov(esi, Operand(esp, StackHandlerConstants::kContextOffset)); __ 4547 src/ia32/full-codegen-ia32.cc __ mov(Operand(ebp, StandardFrameConstants::kContextOffset), esi); __ 4549 src/ia32/full-codegen-ia32.cc __ PopTryHandler(); __ 4550 src/ia32/full-codegen-ia32.cc __ call(finally_entry_); __ 52 src/ia32/ic-ia32.cc __ cmp(type, JS_GLOBAL_OBJECT_TYPE); __ 53 src/ia32/ic-ia32.cc __ j(equal, global_object); __ 54 src/ia32/ic-ia32.cc __ cmp(type, JS_BUILTINS_OBJECT_TYPE); __ 55 src/ia32/ic-ia32.cc __ j(equal, global_object); __ 56 src/ia32/ic-ia32.cc __ cmp(type, JS_GLOBAL_PROXY_TYPE); __ 57 src/ia32/ic-ia32.cc __ j(equal, global_object); __ 75 src/ia32/ic-ia32.cc __ JumpIfSmi(receiver, miss); __ 78 src/ia32/ic-ia32.cc __ mov(r1, FieldOperand(receiver, HeapObject::kMapOffset)); __ 79 src/ia32/ic-ia32.cc __ movzx_b(r0, FieldOperand(r1, Map::kInstanceTypeOffset)); __ 80 src/ia32/ic-ia32.cc __ cmp(r0, FIRST_SPEC_OBJECT_TYPE); __ 81 src/ia32/ic-ia32.cc __ j(below, miss); __ 89 src/ia32/ic-ia32.cc __ test_b(FieldOperand(r1, Map::kBitFieldOffset), __ 92 src/ia32/ic-ia32.cc __ j(not_zero, miss); __ 94 src/ia32/ic-ia32.cc __ mov(r0, FieldOperand(receiver, JSObject::kPropertiesOffset)); __ 95 src/ia32/ic-ia32.cc __ CheckMap(r0, FACTORY->hash_table_map(), miss, DONT_DO_SMI_CHECK); __ 141 src/ia32/ic-ia32.cc __ bind(&done); __ 146 src/ia32/ic-ia32.cc __ test(Operand(elements, r0, times_4, kDetailsOffset - kHeapObjectTag), __ 148 src/ia32/ic-ia32.cc __ j(not_zero, miss_label); __ 152 src/ia32/ic-ia32.cc __ mov(result, Operand(elements, r0, times_4, kValueOffset - kHeapObjectTag)); __ 196 src/ia32/ic-ia32.cc __ bind(&done); __ 204 src/ia32/ic-ia32.cc __ test(Operand(elements, r0, times_4, kDetailsOffset - kHeapObjectTag), __ 206 src/ia32/ic-ia32.cc __ j(not_zero, miss_label); __ 210 src/ia32/ic-ia32.cc __ lea(r0, Operand(elements, r0, times_4, kValueOffset - kHeapObjectTag)); __ 211 src/ia32/ic-ia32.cc __ mov(Operand(r0, 0), value); __ 214 src/ia32/ic-ia32.cc __ mov(r1, value); __ 215 src/ia32/ic-ia32.cc __ RecordWrite(elements, r0, r1, kDontSaveFPRegs); __ 228 src/ia32/ic-ia32.cc __ bind(&miss); __ 244 src/ia32/ic-ia32.cc __ bind(&miss); __ 258 src/ia32/ic-ia32.cc __ bind(&miss); __ 276 src/ia32/ic-ia32.cc __ JumpIfSmi(receiver, slow); __ 279 src/ia32/ic-ia32.cc __ mov(map, FieldOperand(receiver, HeapObject::kMapOffset)); __ 282 src/ia32/ic-ia32.cc __ test_b(FieldOperand(map, Map::kBitFieldOffset), __ 284 src/ia32/ic-ia32.cc __ j(not_zero, slow); __ 291 src/ia32/ic-ia32.cc __ CmpInstanceType(map, JS_OBJECT_TYPE); __ 292 src/ia32/ic-ia32.cc __ j(below, slow); __ 313 src/ia32/ic-ia32.cc __ mov(scratch, FieldOperand(receiver, JSObject::kElementsOffset)); __ 316 src/ia32/ic-ia32.cc __ CheckMap(scratch, __ 321 src/ia32/ic-ia32.cc __ AssertFastElements(scratch); __ 324 src/ia32/ic-ia32.cc __ cmp(key, FieldOperand(scratch, FixedArray::kLengthOffset)); __ 325 src/ia32/ic-ia32.cc __ j(above_equal, out_of_range); __ 328 src/ia32/ic-ia32.cc __ mov(scratch, FieldOperand(scratch, key, times_2, FixedArray::kHeaderSize)); __ 329 src/ia32/ic-ia32.cc __ cmp(scratch, Immediate(FACTORY->the_hole_value())); __ 332 src/ia32/ic-ia32.cc __ j(equal, out_of_range); __ 334 src/ia32/ic-ia32.cc __ mov(result, scratch); __ 352 src/ia32/ic-ia32.cc __ CmpObjectType(key, FIRST_NONSTRING_TYPE, map); __ 353 src/ia32/ic-ia32.cc __ j(above_equal, not_symbol); __ 356 src/ia32/ic-ia32.cc __ mov(hash, FieldOperand(key, String::kHashFieldOffset)); __ 357 src/ia32/ic-ia32.cc __ test(hash, Immediate(String::kContainsCachedArrayIndexMask)); __ 358 src/ia32/ic-ia32.cc __ j(zero, index_string); __ 362 src/ia32/ic-ia32.cc __ test_b(FieldOperand(map, Map::kInstanceTypeOffset), kIsSymbolMask); __ 363 src/ia32/ic-ia32.cc __ j(zero, not_symbol); __ 380 src/ia32/ic-ia32.cc __ JumpIfSmi(object, slow_case); __ 382 src/ia32/ic-ia32.cc __ CmpObjectType(object, FIRST_JS_RECEIVER_TYPE, scratch1); __ 383 src/ia32/ic-ia32.cc __ j(below, slow_case); __ 386 src/ia32/ic-ia32.cc __ test(key, Immediate(0x80000001)); __ 387 src/ia32/ic-ia32.cc __ j(not_zero, slow_case); __ 391 src/ia32/ic-ia32.cc __ mov(scratch1, FieldOperand(object, JSObject::kElementsOffset)); __ 392 src/ia32/ic-ia32.cc __ CheckMap(scratch1, arguments_map, slow_case, DONT_DO_SMI_CHECK); __ 396 src/ia32/ic-ia32.cc __ mov(scratch2, FieldOperand(scratch1, FixedArray::kLengthOffset)); __ 397 src/ia32/ic-ia32.cc __ sub(scratch2, Immediate(Smi::FromInt(2))); __ 398 src/ia32/ic-ia32.cc __ cmp(key, scratch2); __ 399 src/ia32/ic-ia32.cc __ j(above_equal, unmapped_case); __ 403 src/ia32/ic-ia32.cc __ mov(scratch2, FieldOperand(scratch1, __ 407 src/ia32/ic-ia32.cc __ cmp(scratch2, factory->the_hole_value()); __ 408 src/ia32/ic-ia32.cc __ j(equal, unmapped_case); __ 414 src/ia32/ic-ia32.cc __ mov(scratch1, FieldOperand(scratch1, kContextOffset)); __ 431 src/ia32/ic-ia32.cc __ mov(backing_store, FieldOperand(parameter_map, kBackingStoreOffset)); __ 433 src/ia32/ic-ia32.cc __ CheckMap(backing_store, fixed_array_map, slow_case, DONT_DO_SMI_CHECK); __ 434 src/ia32/ic-ia32.cc __ mov(scratch, FieldOperand(backing_store, FixedArray::kLengthOffset)); __ 435 src/ia32/ic-ia32.cc __ cmp(key, scratch); __ 436 src/ia32/ic-ia32.cc __ j(greater_equal, slow_case); __ 454 src/ia32/ic-ia32.cc __ JumpIfNotSmi(ecx, &check_string); __ 455 src/ia32/ic-ia32.cc __ bind(&index_smi); __ 463 src/ia32/ic-ia32.cc __ CheckFastElements(eax, &check_number_dictionary); __ 468 src/ia32/ic-ia32.cc __ IncrementCounter(counters->keyed_load_generic_smi(), 1); __ 469 src/ia32/ic-ia32.cc __ ret(0); __ 471 src/ia32/ic-ia32.cc __ bind(&check_number_dictionary); __ 472 src/ia32/ic-ia32.cc __ mov(ebx, ecx); __ 473 src/ia32/ic-ia32.cc __ SmiUntag(ebx); __ 474 src/ia32/ic-ia32.cc __ mov(eax, FieldOperand(edx, JSObject::kElementsOffset)); __ 481 src/ia32/ic-ia32.cc __ CheckMap(eax, __ 488 src/ia32/ic-ia32.cc __ push(edx); __ 489 src/ia32/ic-ia32.cc __ LoadFromNumberDictionary(&slow_pop_receiver, eax, ecx, ebx, edx, edi, eax); __ 491 src/ia32/ic-ia32.cc __ pop(edx); __ 492 src/ia32/ic-ia32.cc __ ret(0); __ 494 src/ia32/ic-ia32.cc __ bind(&slow_pop_receiver); __ 496 src/ia32/ic-ia32.cc __ pop(edx); __ 498 src/ia32/ic-ia32.cc __ bind(&slow); __ 502 src/ia32/ic-ia32.cc __ IncrementCounter(counters->keyed_load_generic_slow(), 1); __ 505 src/ia32/ic-ia32.cc __ bind(&check_string); __ 513 src/ia32/ic-ia32.cc __ mov(ebx, FieldOperand(edx, JSObject::kPropertiesOffset)); __ 514 src/ia32/ic-ia32.cc __ cmp(FieldOperand(ebx, HeapObject::kMapOffset), __ 516 src/ia32/ic-ia32.cc __ j(equal, &probe_dictionary); __ 521 src/ia32/ic-ia32.cc __ cmp(eax, FieldOperand(edx, HeapObject::kMapOffset)); __ 522 src/ia32/ic-ia32.cc __ Check(equal, "Map is no longer in eax."); __ 524 src/ia32/ic-ia32.cc __ mov(ebx, eax); // Keep the map around for later. __ 525 src/ia32/ic-ia32.cc __ shr(eax, KeyedLookupCache::kMapHashShift); __ 526 src/ia32/ic-ia32.cc __ mov(edi, FieldOperand(ecx, String::kHashFieldOffset)); __ 527 src/ia32/ic-ia32.cc __ shr(edi, String::kHashShift); __ 528 src/ia32/ic-ia32.cc __ xor_(eax, edi); __ 529 src/ia32/ic-ia32.cc __ and_(eax, KeyedLookupCache::kCapacityMask & KeyedLookupCache::kHashMask); __ 541 src/ia32/ic-ia32.cc __ mov(edi, eax); __ 542 src/ia32/ic-ia32.cc __ shl(edi, kPointerSizeLog2 + 1); __ 544 src/ia32/ic-ia32.cc __ add(edi, Immediate(kPointerSize * i * 2)); __ 546 src/ia32/ic-ia32.cc __ cmp(ebx, Operand::StaticArray(edi, times_1, cache_keys)); __ 547 src/ia32/ic-ia32.cc __ j(not_equal, &try_next_entry); __ 548 src/ia32/ic-ia32.cc __ add(edi, Immediate(kPointerSize)); __ 549 src/ia32/ic-ia32.cc __ cmp(ecx, Operand::StaticArray(edi, times_1, cache_keys)); __ 550 src/ia32/ic-ia32.cc __ j(equal, &hit_on_nth_entry[i]); __ 551 src/ia32/ic-ia32.cc __ bind(&try_next_entry); __ 554 src/ia32/ic-ia32.cc __ lea(edi, Operand(eax, 1)); __ 555 src/ia32/ic-ia32.cc __ shl(edi, kPointerSizeLog2 + 1); __ 556 src/ia32/ic-ia32.cc __ add(edi, Immediate(kPointerSize * (kEntriesPerBucket - 1) * 2)); __ 557 src/ia32/ic-ia32.cc __ cmp(ebx, Operand::StaticArray(edi, times_1, cache_keys)); __ 558 src/ia32/ic-ia32.cc __ j(not_equal, &slow); __ 559 src/ia32/ic-ia32.cc __ add(edi, Immediate(kPointerSize)); __ 560 src/ia32/ic-ia32.cc __ cmp(ecx, Operand::StaticArray(edi, times_1, cache_keys)); __ 561 src/ia32/ic-ia32.cc __ j(not_equal, &slow); __ 573 src/ia32/ic-ia32.cc __ bind(&hit_on_nth_entry[i]); __ 575 src/ia32/ic-ia32.cc __ add(eax, Immediate(i)); __ 577 src/ia32/ic-ia32.cc __ mov(edi, __ 579 src/ia32/ic-ia32.cc __ movzx_b(eax, FieldOperand(ebx, Map::kInObjectPropertiesOffset)); __ 580 src/ia32/ic-ia32.cc __ sub(edi, eax); __ 581 src/ia32/ic-ia32.cc __ j(above_equal, &property_array_property); __ 583 src/ia32/ic-ia32.cc __ jmp(&load_in_object_property); __ 588 src/ia32/ic-ia32.cc __ bind(&load_in_object_property); __ 589 src/ia32/ic-ia32.cc __ movzx_b(eax, FieldOperand(ebx, Map::kInstanceSizeOffset)); __ 590 src/ia32/ic-ia32.cc __ add(eax, edi); __ 591 src/ia32/ic-ia32.cc __ mov(eax, FieldOperand(edx, eax, times_pointer_size, 0)); __ 592 src/ia32/ic-ia32.cc __ IncrementCounter(counters->keyed_load_generic_lookup_cache(), 1); __ 593 src/ia32/ic-ia32.cc __ ret(0); __ 596 src/ia32/ic-ia32.cc __ bind(&property_array_property); __ 597 src/ia32/ic-ia32.cc __ mov(eax, FieldOperand(edx, JSObject::kPropertiesOffset)); __ 598 src/ia32/ic-ia32.cc __ mov(eax, FieldOperand(eax, edi, times_pointer_size, __ 600 src/ia32/ic-ia32.cc __ IncrementCounter(counters->keyed_load_generic_lookup_cache(), 1); __ 601 src/ia32/ic-ia32.cc __ ret(0); __ 605 src/ia32/ic-ia32.cc __ bind(&probe_dictionary); __ 607 src/ia32/ic-ia32.cc __ mov(eax, FieldOperand(edx, JSObject::kMapOffset)); __ 608 src/ia32/ic-ia32.cc __ movzx_b(eax, FieldOperand(eax, Map::kInstanceTypeOffset)); __ 612 src/ia32/ic-ia32.cc __ IncrementCounter(counters->keyed_load_generic_symbol(), 1); __ 613 src/ia32/ic-ia32.cc __ ret(0); __ 615 src/ia32/ic-ia32.cc __ bind(&index_string); __ 616 src/ia32/ic-ia32.cc __ IndexFromHash(ebx, ecx); __ 618 src/ia32/ic-ia32.cc __ jmp(&index_smi); __ 644 src/ia32/ic-ia32.cc __ ret(0); __ 649 src/ia32/ic-ia32.cc __ bind(&miss); __ 663 src/ia32/ic-ia32.cc __ JumpIfSmi(edx, &slow); __ 666 src/ia32/ic-ia32.cc __ test(ecx, Immediate(kSmiTagMask | kSmiSignMask)); __ 667 src/ia32/ic-ia32.cc __ j(not_zero, &slow); __ 670 src/ia32/ic-ia32.cc __ mov(eax, FieldOperand(edx, HeapObject::kMapOffset)); __ 674 src/ia32/ic-ia32.cc __ movzx_b(eax, FieldOperand(eax, Map::kBitFieldOffset)); __ 675 src/ia32/ic-ia32.cc __ and_(eax, Immediate(kSlowCaseBitFieldMask)); __ 676 src/ia32/ic-ia32.cc __ cmp(eax, Immediate(1 << Map::kHasIndexedInterceptor)); __ 677 src/ia32/ic-ia32.cc __ j(not_zero, &slow); __ 680 src/ia32/ic-ia32.cc __ pop(eax); __ 681 src/ia32/ic-ia32.cc __ push(edx); // receiver __ 682 src/ia32/ic-ia32.cc __ push(ecx); // key __ 683 src/ia32/ic-ia32.cc __ push(eax); // return address __ 689 src/ia32/ic-ia32.cc __ TailCallExternalReference(ref, 2, 1); __ 691 src/ia32/ic-ia32.cc __ bind(&slow); __ 706 src/ia32/ic-ia32.cc __ mov(eax, mapped_location); __ 707 src/ia32/ic-ia32.cc __ Ret(); __ 708 src/ia32/ic-ia32.cc __ bind(¬in); __ 712 src/ia32/ic-ia32.cc __ cmp(unmapped_location, factory->the_hole_value()); __ 713 src/ia32/ic-ia32.cc __ j(equal, &slow); __ 714 src/ia32/ic-ia32.cc __ mov(eax, unmapped_location); __ 715 src/ia32/ic-ia32.cc __ Ret(); __ 716 src/ia32/ic-ia32.cc __ bind(&slow); __ 731 src/ia32/ic-ia32.cc __ mov(mapped_location, eax); __ 732 src/ia32/ic-ia32.cc __ lea(ecx, mapped_location); __ 733 src/ia32/ic-ia32.cc __ mov(edx, eax); __ 734 src/ia32/ic-ia32.cc __ RecordWrite(ebx, ecx, edx, kDontSaveFPRegs); __ 735 src/ia32/ic-ia32.cc __ Ret(); __ 736 src/ia32/ic-ia32.cc __ bind(¬in); __ 740 src/ia32/ic-ia32.cc __ mov(unmapped_location, eax); __ 741 src/ia32/ic-ia32.cc __ lea(edi, unmapped_location); __ 742 src/ia32/ic-ia32.cc __ mov(edx, eax); __ 743 src/ia32/ic-ia32.cc __ RecordWrite(ebx, edi, edx, kDontSaveFPRegs); __ 744 src/ia32/ic-ia32.cc __ Ret(); __ 745 src/ia32/ic-ia32.cc __ bind(&slow); __ 764 src/ia32/ic-ia32.cc __ JumpIfSmi(edx, &slow); __ 766 src/ia32/ic-ia32.cc __ mov(edi, FieldOperand(edx, HeapObject::kMapOffset)); __ 769 src/ia32/ic-ia32.cc __ test_b(FieldOperand(edi, Map::kBitFieldOffset), __ 771 src/ia32/ic-ia32.cc __ j(not_zero, &slow); __ 773 src/ia32/ic-ia32.cc __ JumpIfNotSmi(ecx, &slow); __ 774 src/ia32/ic-ia32.cc __ CmpInstanceType(edi, JS_ARRAY_TYPE); __ 775 src/ia32/ic-ia32.cc __ j(equal, &array); __ 777 src/ia32/ic-ia32.cc __ CmpInstanceType(edi, FIRST_JS_OBJECT_TYPE); __ 778 src/ia32/ic-ia32.cc __ j(below, &slow); __ 785 src/ia32/ic-ia32.cc __ mov(ebx, FieldOperand(edx, JSObject::kElementsOffset)); __ 787 src/ia32/ic-ia32.cc __ cmp(ecx, FieldOperand(ebx, FixedArray::kLengthOffset)); __ 788 src/ia32/ic-ia32.cc __ j(below, &fast_object_with_map_check); __ 791 src/ia32/ic-ia32.cc __ bind(&slow); __ 797 src/ia32/ic-ia32.cc __ bind(&extra); __ 805 src/ia32/ic-ia32.cc __ j(not_equal, &slow); __ 806 src/ia32/ic-ia32.cc __ cmp(ecx, FieldOperand(ebx, FixedArray::kLengthOffset)); __ 807 src/ia32/ic-ia32.cc __ j(above_equal, &slow); __ 808 src/ia32/ic-ia32.cc __ mov(edi, FieldOperand(ebx, HeapObject::kMapOffset)); __ 809 src/ia32/ic-ia32.cc __ cmp(edi, masm->isolate()->factory()->fixed_array_map()); __ 810 src/ia32/ic-ia32.cc __ j(not_equal, &check_if_double_array); __ 812 src/ia32/ic-ia32.cc __ add(FieldOperand(edx, JSArray::kLengthOffset), __ 814 src/ia32/ic-ia32.cc __ jmp(&fast_object_without_map_check); __ 816 src/ia32/ic-ia32.cc __ bind(&check_if_double_array); __ 817 src/ia32/ic-ia32.cc __ cmp(edi, masm->isolate()->factory()->fixed_double_array_map()); __ 818 src/ia32/ic-ia32.cc __ j(not_equal, &slow); __ 820 src/ia32/ic-ia32.cc __ add(FieldOperand(edx, JSArray::kLengthOffset), __ 822 src/ia32/ic-ia32.cc __ jmp(&fast_double_without_map_check); __ 827 src/ia32/ic-ia32.cc __ bind(&array); __ 832 src/ia32/ic-ia32.cc __ mov(ebx, FieldOperand(edx, JSObject::kElementsOffset)); __ 836 src/ia32/ic-ia32.cc __ cmp(ecx, FieldOperand(edx, JSArray::kLengthOffset)); // Compare smis. __ 837 src/ia32/ic-ia32.cc __ j(above_equal, &extra); __ 840 src/ia32/ic-ia32.cc __ bind(&fast_object_with_map_check); __ 846 src/ia32/ic-ia32.cc __ mov(edi, FieldOperand(ebx, HeapObject::kMapOffset)); __ 847 src/ia32/ic-ia32.cc __ cmp(edi, masm->isolate()->factory()->fixed_array_map()); __ 848 src/ia32/ic-ia32.cc __ j(not_equal, &fast_double_with_map_check); __ 849 src/ia32/ic-ia32.cc __ bind(&fast_object_without_map_check); __ 852 src/ia32/ic-ia32.cc __ JumpIfNotSmi(eax, &non_smi_value); __ 854 src/ia32/ic-ia32.cc __ mov(CodeGenerator::FixedArrayElementOperand(ebx, ecx), eax); __ 855 src/ia32/ic-ia32.cc __ ret(0); __ 857 src/ia32/ic-ia32.cc __ bind(&non_smi_value); __ 859 src/ia32/ic-ia32.cc __ mov(edi, FieldOperand(edx, HeapObject::kMapOffset)); __ 860 src/ia32/ic-ia32.cc __ CheckFastObjectElements(edi, &transition_smi_elements); __ 863 src/ia32/ic-ia32.cc __ bind(&finish_object_store); __ 864 src/ia32/ic-ia32.cc __ mov(CodeGenerator::FixedArrayElementOperand(ebx, ecx), eax); __ 866 src/ia32/ic-ia32.cc __ mov(edx, eax); // Preserve the value which is returned. __ 867 src/ia32/ic-ia32.cc __ RecordWriteArray( __ 869 src/ia32/ic-ia32.cc __ ret(0); __ 871 src/ia32/ic-ia32.cc __ bind(&fast_double_with_map_check); __ 874 src/ia32/ic-ia32.cc __ cmp(edi, masm->isolate()->factory()->fixed_double_array_map()); __ 875 src/ia32/ic-ia32.cc __ j(not_equal, &slow); __ 876 src/ia32/ic-ia32.cc __ bind(&fast_double_without_map_check); __ 879 src/ia32/ic-ia32.cc __ StoreNumberToDoubleElements(eax, ebx, ecx, edx, xmm0, __ 881 src/ia32/ic-ia32.cc __ ret(0); __ 883 src/ia32/ic-ia32.cc __ bind(&transition_smi_elements); __ 884 src/ia32/ic-ia32.cc __ mov(ebx, FieldOperand(edx, HeapObject::kMapOffset)); __ 887 src/ia32/ic-ia32.cc __ CheckMap(eax, __ 894 src/ia32/ic-ia32.cc __ LoadTransitionedArrayMapConditional(FAST_SMI_ELEMENTS, __ 900 src/ia32/ic-ia32.cc __ mov(ebx, FieldOperand(edx, JSObject::kElementsOffset)); __ 901 src/ia32/ic-ia32.cc __ jmp(&fast_double_without_map_check); __ 903 src/ia32/ic-ia32.cc __ bind(&non_double_value); __ 905 src/ia32/ic-ia32.cc __ LoadTransitionedArrayMapConditional(FAST_SMI_ELEMENTS, __ 911 src/ia32/ic-ia32.cc __ mov(ebx, FieldOperand(edx, JSObject::kElementsOffset)); __ 912 src/ia32/ic-ia32.cc __ jmp(&finish_object_store); __ 914 src/ia32/ic-ia32.cc __ bind(&transition_double_elements); __ 918 src/ia32/ic-ia32.cc __ mov(ebx, FieldOperand(edx, HeapObject::kMapOffset)); __ 919 src/ia32/ic-ia32.cc __ LoadTransitionedArrayMapConditional(FAST_DOUBLE_ELEMENTS, __ 925 src/ia32/ic-ia32.cc __ mov(ebx, FieldOperand(edx, JSObject::kElementsOffset)); __ 926 src/ia32/ic-ia32.cc __ jmp(&finish_object_store); __ 957 src/ia32/ic-ia32.cc __ JumpIfSmi(edx, &number); __ 958 src/ia32/ic-ia32.cc __ CmpObjectType(edx, HEAP_NUMBER_TYPE, ebx); __ 959 src/ia32/ic-ia32.cc __ j(not_equal, &non_number); __ 960 src/ia32/ic-ia32.cc __ bind(&number); __ 963 src/ia32/ic-ia32.cc __ jmp(&probe); __ 966 src/ia32/ic-ia32.cc __ bind(&non_number); __ 967 src/ia32/ic-ia32.cc __ CmpInstanceType(ebx, FIRST_NONSTRING_TYPE); __ 968 src/ia32/ic-ia32.cc __ j(above_equal, &non_string); __ 971 src/ia32/ic-ia32.cc __ jmp(&probe); __ 974 src/ia32/ic-ia32.cc __ bind(&non_string); __ 975 src/ia32/ic-ia32.cc __ cmp(edx, isolate->factory()->true_value()); __ 976 src/ia32/ic-ia32.cc __ j(equal, &boolean); __ 977 src/ia32/ic-ia32.cc __ cmp(edx, isolate->factory()->false_value()); __ 978 src/ia32/ic-ia32.cc __ j(not_equal, &miss); __ 979 src/ia32/ic-ia32.cc __ bind(&boolean); __ 984 src/ia32/ic-ia32.cc __ bind(&probe); __ 986 src/ia32/ic-ia32.cc __ bind(&miss); __ 1003 src/ia32/ic-ia32.cc __ JumpIfSmi(edi, miss); __ 1006 src/ia32/ic-ia32.cc __ CmpObjectType(edi, JS_FUNCTION_TYPE, eax); __ 1007 src/ia32/ic-ia32.cc __ j(not_equal, miss); __ 1011 src/ia32/ic-ia32.cc __ InvokeFunction(edi, actual, JUMP_FUNCTION, __ 1028 src/ia32/ic-ia32.cc __ mov(edx, Operand(esp, (argc + 1) * kPointerSize)); __ 1037 src/ia32/ic-ia32.cc __ bind(&miss); __ 1055 src/ia32/ic-ia32.cc __ IncrementCounter(counters->call_miss(), 1); __ 1057 src/ia32/ic-ia32.cc __ IncrementCounter(counters->keyed_call_miss(), 1); __ 1061 src/ia32/ic-ia32.cc __ mov(edx, Operand(esp, (argc + 1) * kPointerSize)); __ 1067 src/ia32/ic-ia32.cc __ push(edx); __ 1068 src/ia32/ic-ia32.cc __ push(ecx); __ 1072 src/ia32/ic-ia32.cc __ mov(eax, Immediate(2)); __ 1073 src/ia32/ic-ia32.cc __ mov(ebx, Immediate(ExternalReference(IC_Utility(id), masm->isolate()))); __ 1074 src/ia32/ic-ia32.cc __ CallStub(&stub); __ 1077 src/ia32/ic-ia32.cc __ mov(edi, eax); __ 1084 src/ia32/ic-ia32.cc __ mov(edx, Operand(esp, (argc + 1) * kPointerSize)); // receiver __ 1085 src/ia32/ic-ia32.cc __ JumpIfSmi(edx, &invoke, Label::kNear); __ 1086 src/ia32/ic-ia32.cc __ mov(ebx, FieldOperand(edx, HeapObject::kMapOffset)); __ 1087 src/ia32/ic-ia32.cc __ movzx_b(ebx, FieldOperand(ebx, Map::kInstanceTypeOffset)); __ 1088 src/ia32/ic-ia32.cc __ cmp(ebx, JS_GLOBAL_OBJECT_TYPE); __ 1089 src/ia32/ic-ia32.cc __ j(equal, &global, Label::kNear); __ 1090 src/ia32/ic-ia32.cc __ cmp(ebx, JS_BUILTINS_OBJECT_TYPE); __ 1091 src/ia32/ic-ia32.cc __ j(not_equal, &invoke, Label::kNear); __ 1094 src/ia32/ic-ia32.cc __ bind(&global); __ 1095 src/ia32/ic-ia32.cc __ mov(edx, FieldOperand(edx, GlobalObject::kGlobalReceiverOffset)); __ 1096 src/ia32/ic-ia32.cc __ mov(Operand(esp, (argc + 1) * kPointerSize), edx); __ 1097 src/ia32/ic-ia32.cc __ bind(&invoke); __ 1105 src/ia32/ic-ia32.cc __ InvokeFunction(edi, __ 1125 src/ia32/ic-ia32.cc __ mov(edx, Operand(esp, (argc + 1) * kPointerSize)); __ 1143 src/ia32/ic-ia32.cc __ mov(edx, Operand(esp, (argc + 1) * kPointerSize)); __ 1150 src/ia32/ic-ia32.cc __ JumpIfNotSmi(ecx, &check_string); __ 1152 src/ia32/ic-ia32.cc __ bind(&index_smi); __ 1163 src/ia32/ic-ia32.cc __ IncrementCounter(counters->keyed_call_generic_smi_fast(), 1); __ 1165 src/ia32/ic-ia32.cc __ bind(&do_call); __ 1171 src/ia32/ic-ia32.cc __ bind(&check_number_dictionary); __ 1175 src/ia32/ic-ia32.cc __ CheckMap(eax, __ 1179 src/ia32/ic-ia32.cc __ mov(ebx, ecx); __ 1180 src/ia32/ic-ia32.cc __ SmiUntag(ebx); __ 1183 src/ia32/ic-ia32.cc __ LoadFromNumberDictionary( __ 1185 src/ia32/ic-ia32.cc __ IncrementCounter(counters->keyed_call_generic_smi_dict(), 1); __ 1186 src/ia32/ic-ia32.cc __ jmp(&do_call); __ 1188 src/ia32/ic-ia32.cc __ bind(&slow_reload_receiver); __ 1189 src/ia32/ic-ia32.cc __ mov(edx, Operand(esp, (argc + 1) * kPointerSize)); __ 1191 src/ia32/ic-ia32.cc __ bind(&slow_load); __ 1194 src/ia32/ic-ia32.cc __ IncrementCounter(counters->keyed_call_generic_slow_load(), 1); __ 1198 src/ia32/ic-ia32.cc __ push(ecx); // save the key __ 1199 src/ia32/ic-ia32.cc __ push(edx); // pass the receiver __ 1200 src/ia32/ic-ia32.cc __ push(ecx); // pass the key __ 1201 src/ia32/ic-ia32.cc __ CallRuntime(Runtime::kKeyedGetProperty, 2); __ 1202 src/ia32/ic-ia32.cc __ pop(ecx); // restore the key __ 1206 src/ia32/ic-ia32.cc __ mov(edi, eax); __ 1207 src/ia32/ic-ia32.cc __ jmp(&do_call); __ 1209 src/ia32/ic-ia32.cc __ bind(&check_string); __ 1219 src/ia32/ic-ia32.cc __ mov(ebx, FieldOperand(edx, JSObject::kPropertiesOffset)); __ 1220 src/ia32/ic-ia32.cc __ CheckMap(ebx, __ 1226 src/ia32/ic-ia32.cc __ IncrementCounter(counters->keyed_call_generic_lookup_dict(), 1); __ 1227 src/ia32/ic-ia32.cc __ jmp(&do_call); __ 1229 src/ia32/ic-ia32.cc __ bind(&lookup_monomorphic_cache); __ 1230 src/ia32/ic-ia32.cc __ IncrementCounter(counters->keyed_call_generic_lookup_cache(), 1); __ 1235 src/ia32/ic-ia32.cc __ bind(&slow_call); __ 1242 src/ia32/ic-ia32.cc __ IncrementCounter(counters->keyed_call_generic_slow(), 1); __ 1245 src/ia32/ic-ia32.cc __ bind(&index_string); __ 1246 src/ia32/ic-ia32.cc __ IndexFromHash(ebx, ecx); __ 1248 src/ia32/ic-ia32.cc __ jmp(&index_smi); __ 1263 src/ia32/ic-ia32.cc __ mov(edx, Operand(esp, (argc + 1) * kPointerSize)); __ 1266 src/ia32/ic-ia32.cc __ mov(edi, mapped_location); __ 1268 src/ia32/ic-ia32.cc __ bind(¬in); __ 1272 src/ia32/ic-ia32.cc __ cmp(unmapped_location, factory->the_hole_value()); __ 1273 src/ia32/ic-ia32.cc __ j(equal, &slow); __ 1274 src/ia32/ic-ia32.cc __ mov(edi, unmapped_location); __ 1276 src/ia32/ic-ia32.cc __ bind(&slow); __ 1292 src/ia32/ic-ia32.cc __ JumpIfSmi(ecx, &miss); __ 1294 src/ia32/ic-ia32.cc __ j(NegateCondition(cond), &miss); __ 1296 src/ia32/ic-ia32.cc __ bind(&miss); __ 1331 src/ia32/ic-ia32.cc __ ret(0); __ 1334 src/ia32/ic-ia32.cc __ bind(&miss); __ 1346 src/ia32/ic-ia32.cc __ IncrementCounter(masm->isolate()->counters()->load_miss(), 1); __ 1348 src/ia32/ic-ia32.cc __ pop(ebx); __ 1349 src/ia32/ic-ia32.cc __ push(edx); // receiver __ 1350 src/ia32/ic-ia32.cc __ push(ecx); // name __ 1351 src/ia32/ic-ia32.cc __ push(ebx); // return address __ 1356 src/ia32/ic-ia32.cc __ TailCallExternalReference(ref, 2, 1); __ 1367 src/ia32/ic-ia32.cc __ IncrementCounter(masm->isolate()->counters()->keyed_load_miss(), 1); __ 1369 src/ia32/ic-ia32.cc __ pop(ebx); __ 1370 src/ia32/ic-ia32.cc __ push(edx); // receiver __ 1371 src/ia32/ic-ia32.cc __ push(ecx); // name __ 1372 src/ia32/ic-ia32.cc __ push(ebx); // return address __ 1379 src/ia32/ic-ia32.cc __ TailCallExternalReference(ref, 2, 1); __ 1390 src/ia32/ic-ia32.cc __ pop(ebx); __ 1391 src/ia32/ic-ia32.cc __ push(edx); // receiver __ 1392 src/ia32/ic-ia32.cc __ push(ecx); // name __ 1393 src/ia32/ic-ia32.cc __ push(ebx); // return address __ 1396 src/ia32/ic-ia32.cc __ TailCallRuntime(Runtime::kKeyedGetProperty, 2, 1); __ 1427 src/ia32/ic-ia32.cc __ pop(ebx); __ 1428 src/ia32/ic-ia32.cc __ push(edx); __ 1429 src/ia32/ic-ia32.cc __ push(ecx); __ 1430 src/ia32/ic-ia32.cc __ push(eax); __ 1431 src/ia32/ic-ia32.cc __ push(ebx); __ 1436 src/ia32/ic-ia32.cc __ TailCallExternalReference(ref, 3, 1); __ 1460 src/ia32/ic-ia32.cc __ JumpIfSmi(receiver, &miss); __ 1463 src/ia32/ic-ia32.cc __ CmpObjectType(receiver, JS_ARRAY_TYPE, scratch); __ 1464 src/ia32/ic-ia32.cc __ j(not_equal, &miss); __ 1469 src/ia32/ic-ia32.cc __ mov(scratch, FieldOperand(receiver, JSArray::kElementsOffset)); __ 1470 src/ia32/ic-ia32.cc __ CmpObjectType(scratch, FIXED_ARRAY_TYPE, scratch); __ 1471 src/ia32/ic-ia32.cc __ j(not_equal, &miss); __ 1475 src/ia32/ic-ia32.cc __ mov(scratch, FieldOperand(receiver, JSArray::kPropertiesOffset)); __ 1476 src/ia32/ic-ia32.cc __ CompareRoot(FieldOperand(scratch, FixedArray::kMapOffset), __ 1478 src/ia32/ic-ia32.cc __ j(equal, &miss); __ 1481 src/ia32/ic-ia32.cc __ JumpIfNotSmi(value, &miss); __ 1484 src/ia32/ic-ia32.cc __ pop(scratch); __ 1485 src/ia32/ic-ia32.cc __ push(receiver); __ 1486 src/ia32/ic-ia32.cc __ push(value); __ 1487 src/ia32/ic-ia32.cc __ push(scratch); // return address __ 1491 src/ia32/ic-ia32.cc __ TailCallExternalReference(ref, 2, 1); __ 1493 src/ia32/ic-ia32.cc __ bind(&miss); __ 1514 src/ia32/ic-ia32.cc __ push(edx); __ 1516 src/ia32/ic-ia32.cc __ Drop(1); __ 1518 src/ia32/ic-ia32.cc __ IncrementCounter(counters->store_normal_hit(), 1); __ 1519 src/ia32/ic-ia32.cc __ ret(0); __ 1521 src/ia32/ic-ia32.cc __ bind(&restore_miss); __ 1522 src/ia32/ic-ia32.cc __ pop(edx); __ 1524 src/ia32/ic-ia32.cc __ bind(&miss); __ 1525 src/ia32/ic-ia32.cc __ IncrementCounter(counters->store_normal_miss(), 1); __ 1538 src/ia32/ic-ia32.cc __ pop(ebx); __ 1539 src/ia32/ic-ia32.cc __ push(edx); __ 1540 src/ia32/ic-ia32.cc __ push(ecx); __ 1541 src/ia32/ic-ia32.cc __ push(eax); __ 1542 src/ia32/ic-ia32.cc __ push(Immediate(Smi::FromInt(NONE))); // PropertyAttributes __ 1543 src/ia32/ic-ia32.cc __ push(Immediate(Smi::FromInt(strict_mode))); __ 1544 src/ia32/ic-ia32.cc __ push(ebx); // return address __ 1547 src/ia32/ic-ia32.cc __ TailCallRuntime(Runtime::kSetProperty, 5, 1); __ 1560 src/ia32/ic-ia32.cc __ pop(ebx); __ 1561 src/ia32/ic-ia32.cc __ push(edx); __ 1562 src/ia32/ic-ia32.cc __ push(ecx); __ 1563 src/ia32/ic-ia32.cc __ push(eax); __ 1564 src/ia32/ic-ia32.cc __ push(Immediate(Smi::FromInt(NONE))); // PropertyAttributes __ 1565 src/ia32/ic-ia32.cc __ push(Immediate(Smi::FromInt(strict_mode))); // Strict mode. __ 1566 src/ia32/ic-ia32.cc __ push(ebx); // return address __ 1569 src/ia32/ic-ia32.cc __ TailCallRuntime(Runtime::kSetProperty, 5, 1); __ 1581 src/ia32/ic-ia32.cc __ pop(ebx); __ 1582 src/ia32/ic-ia32.cc __ push(edx); __ 1583 src/ia32/ic-ia32.cc __ push(ecx); __ 1584 src/ia32/ic-ia32.cc __ push(eax); __ 1585 src/ia32/ic-ia32.cc __ push(ebx); __ 1592 src/ia32/ic-ia32.cc __ TailCallExternalReference(ref, 3, 1); __ 1604 src/ia32/ic-ia32.cc __ pop(ebx); __ 1605 src/ia32/ic-ia32.cc __ push(edx); __ 1606 src/ia32/ic-ia32.cc __ push(ecx); __ 1607 src/ia32/ic-ia32.cc __ push(eax); __ 1608 src/ia32/ic-ia32.cc __ push(ebx); // return address __ 1612 src/ia32/ic-ia32.cc __ TailCallExternalReference(ref, 3, 1); __ 1626 src/ia32/ic-ia32.cc __ mov(eax, edx); __ 1627 src/ia32/ic-ia32.cc __ Ret(); __ 1628 src/ia32/ic-ia32.cc __ bind(&fail); __ 1631 src/ia32/ic-ia32.cc __ pop(ebx); __ 1632 src/ia32/ic-ia32.cc __ push(edx); __ 1633 src/ia32/ic-ia32.cc __ push(ebx); // return address __ 1636 src/ia32/ic-ia32.cc __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); __ 1637 src/ia32/ic-ia32.cc __ TailCallRuntime(Runtime::kTransitionElementsSmiToDouble, 1, 1); __ 1652 src/ia32/ic-ia32.cc __ mov(eax, edx); __ 1653 src/ia32/ic-ia32.cc __ Ret(); __ 1654 src/ia32/ic-ia32.cc __ bind(&fail); __ 1657 src/ia32/ic-ia32.cc __ pop(ebx); __ 1658 src/ia32/ic-ia32.cc __ push(edx); __ 1659 src/ia32/ic-ia32.cc __ push(ebx); // return address __ 1662 src/ia32/ic-ia32.cc __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); __ 1663 src/ia32/ic-ia32.cc __ TailCallRuntime(Runtime::kTransitionElementsDoubleToObject, 1, 1); __ 143 src/ia32/lithium-codegen-ia32.cc __ int3(); __ 153 src/ia32/lithium-codegen-ia32.cc __ test(ecx, Operand(ecx)); __ 154 src/ia32/lithium-codegen-ia32.cc __ j(zero, &ok, Label::kNear); __ 157 src/ia32/lithium-codegen-ia32.cc __ mov(Operand(esp, receiver_offset), __ 159 src/ia32/lithium-codegen-ia32.cc __ bind(&ok); __ 165 src/ia32/lithium-codegen-ia32.cc __ mov(edx, Immediate(kNoAlignmentPadding)); __ 170 src/ia32/lithium-codegen-ia32.cc __ test(esp, Immediate(kPointerSize)); __ 171 src/ia32/lithium-codegen-ia32.cc __ j(not_zero, &do_not_pad, Label::kNear); __ 172 src/ia32/lithium-codegen-ia32.cc __ push(Immediate(0)); __ 173 src/ia32/lithium-codegen-ia32.cc __ mov(ebx, esp); __ 174 src/ia32/lithium-codegen-ia32.cc __ mov(edx, Immediate(kAlignmentPaddingPushed)); __ 176 src/ia32/lithium-codegen-ia32.cc __ mov(ecx, Immediate(scope()->num_parameters() + 2)); __ 178 src/ia32/lithium-codegen-ia32.cc __ bind(&align_loop); __ 179 src/ia32/lithium-codegen-ia32.cc __ mov(eax, Operand(ebx, 1 * kPointerSize)); __ 180 src/ia32/lithium-codegen-ia32.cc __ mov(Operand(ebx, 0), eax); __ 181 src/ia32/lithium-codegen-ia32.cc __ add(Operand(ebx), Immediate(kPointerSize)); __ 182 src/ia32/lithium-codegen-ia32.cc __ dec(ecx); __ 183 src/ia32/lithium-codegen-ia32.cc __ j(not_zero, &align_loop, Label::kNear); __ 184 src/ia32/lithium-codegen-ia32.cc __ mov(Operand(ebx, 0), Immediate(kAlignmentZapValue)); __ 185 src/ia32/lithium-codegen-ia32.cc __ bind(&do_not_pad); __ 188 src/ia32/lithium-codegen-ia32.cc __ push(ebp); // Caller's frame pointer. __ 189 src/ia32/lithium-codegen-ia32.cc __ mov(ebp, esp); __ 190 src/ia32/lithium-codegen-ia32.cc __ push(esi); // Callee's context. __ 191 src/ia32/lithium-codegen-ia32.cc __ push(edi); // Callee's JS function. __ 194 src/ia32/lithium-codegen-ia32.cc __ test(esp, Immediate(kPointerSize)); __ 195 src/ia32/lithium-codegen-ia32.cc __ Assert(zero, "frame is expected to be aligned"); __ 203 src/ia32/lithium-codegen-ia32.cc __ push(edx); __ 205 src/ia32/lithium-codegen-ia32.cc __ push(Immediate(kNoAlignmentPadding)); __ 209 src/ia32/lithium-codegen-ia32.cc __ mov(Operand(eax), Immediate(slots)); __ 211 src/ia32/lithium-codegen-ia32.cc __ bind(&loop); __ 212 src/ia32/lithium-codegen-ia32.cc __ push(Immediate(kSlotsZapValue)); __ 213 src/ia32/lithium-codegen-ia32.cc __ dec(eax); __ 214 src/ia32/lithium-codegen-ia32.cc __ j(not_zero, &loop); __ 216 src/ia32/lithium-codegen-ia32.cc __ sub(Operand(esp), Immediate(slots * kPointerSize)); __ 225 src/ia32/lithium-codegen-ia32.cc __ mov(Operand(esp, offset), eax); __ 232 src/ia32/lithium-codegen-ia32.cc __ mov(Operand(ebp, __ 236 src/ia32/lithium-codegen-ia32.cc __ mov(Operand(ebp, __ 247 src/ia32/lithium-codegen-ia32.cc __ push(edi); __ 250 src/ia32/lithium-codegen-ia32.cc __ CallStub(&stub); __ 252 src/ia32/lithium-codegen-ia32.cc __ CallRuntime(Runtime::kNewFunctionContext, 1); __ 257 src/ia32/lithium-codegen-ia32.cc __ mov(Operand(ebp, StandardFrameConstants::kContextOffset), esi); __ 267 src/ia32/lithium-codegen-ia32.cc __ mov(eax, Operand(ebp, parameter_offset)); __ 270 src/ia32/lithium-codegen-ia32.cc __ mov(Operand(esi, context_offset), eax); __ 272 src/ia32/lithium-codegen-ia32.cc __ RecordWriteContextSlot(esi, __ 286 src/ia32/lithium-codegen-ia32.cc __ CallRuntime(Runtime::kTraceEnter, 0); __ 319 src/ia32/lithium-codegen-ia32.cc __ bind(code->entry()); __ 324 src/ia32/lithium-codegen-ia32.cc __ jmp(code->exit()); __ 515 src/ia32/lithium-codegen-ia32.cc __ call(code, mode); __ 522 src/ia32/lithium-codegen-ia32.cc __ nop(); __ 542 src/ia32/lithium-codegen-ia32.cc __ CallRuntime(fun, argc); __ 554 src/ia32/lithium-codegen-ia32.cc __ mov(esi, ToRegister(context)); __ 557 src/ia32/lithium-codegen-ia32.cc __ mov(esi, ToOperand(context)); __ 561 src/ia32/lithium-codegen-ia32.cc __ LoadHeapObject(esi, Handle<Context>::cast(constant->handle())); __ 566 src/ia32/lithium-codegen-ia32.cc __ CallRuntimeSaveDoubles(id); __ 622 src/ia32/lithium-codegen-ia32.cc __ pushfd(); __ 623 src/ia32/lithium-codegen-ia32.cc __ push(eax); __ 624 src/ia32/lithium-codegen-ia32.cc __ push(ebx); __ 625 src/ia32/lithium-codegen-ia32.cc __ mov(ebx, shared); __ 626 src/ia32/lithium-codegen-ia32.cc __ mov(eax, __ 628 src/ia32/lithium-codegen-ia32.cc __ sub(Operand(eax), Immediate(Smi::FromInt(1))); __ 629 src/ia32/lithium-codegen-ia32.cc __ j(not_zero, &no_deopt, Label::kNear); __ 630 src/ia32/lithium-codegen-ia32.cc if (FLAG_trap_on_deopt) __ int3(); __ 631 src/ia32/lithium-codegen-ia32.cc __ mov(eax, Immediate(Smi::FromInt(FLAG_deopt_every_n_times))); __ 632 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(ebx, SharedFunctionInfo::kStressDeoptCounterOffset), __ 634 src/ia32/lithium-codegen-ia32.cc __ pop(ebx); __ 635 src/ia32/lithium-codegen-ia32.cc __ pop(eax); __ 636 src/ia32/lithium-codegen-ia32.cc __ popfd(); __ 637 src/ia32/lithium-codegen-ia32.cc __ jmp(entry, RelocInfo::RUNTIME_ENTRY); __ 639 src/ia32/lithium-codegen-ia32.cc __ bind(&no_deopt); __ 640 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(ebx, SharedFunctionInfo::kStressDeoptCounterOffset), __ 642 src/ia32/lithium-codegen-ia32.cc __ pop(ebx); __ 643 src/ia32/lithium-codegen-ia32.cc __ pop(eax); __ 644 src/ia32/lithium-codegen-ia32.cc __ popfd(); __ 648 src/ia32/lithium-codegen-ia32.cc if (FLAG_trap_on_deopt) __ int3(); __ 649 src/ia32/lithium-codegen-ia32.cc __ jmp(entry, RelocInfo::RUNTIME_ENTRY); __ 653 src/ia32/lithium-codegen-ia32.cc __ j(NegateCondition(cc), &done, Label::kNear); __ 654 src/ia32/lithium-codegen-ia32.cc __ int3(); __ 655 src/ia32/lithium-codegen-ia32.cc __ jmp(entry, RelocInfo::RUNTIME_ENTRY); __ 656 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 658 src/ia32/lithium-codegen-ia32.cc __ j(cc, entry, RelocInfo::RUNTIME_ENTRY); __ 786 src/ia32/lithium-codegen-ia32.cc __ bind(label->label()); __ 879 src/ia32/lithium-codegen-ia32.cc __ test(dividend, Operand(dividend)); __ 880 src/ia32/lithium-codegen-ia32.cc __ j(not_sign, &positive_dividend, Label::kNear); __ 881 src/ia32/lithium-codegen-ia32.cc __ neg(dividend); __ 882 src/ia32/lithium-codegen-ia32.cc __ and_(dividend, divisor - 1); __ 883 src/ia32/lithium-codegen-ia32.cc __ neg(dividend); __ 885 src/ia32/lithium-codegen-ia32.cc __ j(not_zero, &done, Label::kNear); __ 888 src/ia32/lithium-codegen-ia32.cc __ jmp(&done, Label::kNear); __ 890 src/ia32/lithium-codegen-ia32.cc __ bind(&positive_dividend); __ 891 src/ia32/lithium-codegen-ia32.cc __ and_(dividend, divisor - 1); __ 892 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 906 src/ia32/lithium-codegen-ia32.cc __ test(right_reg, Operand(right_reg)); __ 910 src/ia32/lithium-codegen-ia32.cc __ test(left_reg, Operand(left_reg)); __ 911 src/ia32/lithium-codegen-ia32.cc __ j(zero, &remainder_eq_dividend, Label::kNear); __ 912 src/ia32/lithium-codegen-ia32.cc __ j(sign, &slow, Label::kNear); __ 914 src/ia32/lithium-codegen-ia32.cc __ test(right_reg, Operand(right_reg)); __ 915 src/ia32/lithium-codegen-ia32.cc __ j(not_sign, &both_positive, Label::kNear); __ 917 src/ia32/lithium-codegen-ia32.cc __ neg(right_reg); __ 919 src/ia32/lithium-codegen-ia32.cc __ bind(&both_positive); __ 922 src/ia32/lithium-codegen-ia32.cc __ cmp(left_reg, Operand(right_reg)); __ 923 src/ia32/lithium-codegen-ia32.cc __ j(less, &remainder_eq_dividend, Label::kNear); __ 927 src/ia32/lithium-codegen-ia32.cc __ mov(scratch, right_reg); __ 928 src/ia32/lithium-codegen-ia32.cc __ sub(Operand(scratch), Immediate(1)); __ 929 src/ia32/lithium-codegen-ia32.cc __ test(scratch, Operand(right_reg)); __ 930 src/ia32/lithium-codegen-ia32.cc __ j(not_zero, &do_subtraction, Label::kNear); __ 931 src/ia32/lithium-codegen-ia32.cc __ and_(left_reg, Operand(scratch)); __ 932 src/ia32/lithium-codegen-ia32.cc __ jmp(&remainder_eq_dividend, Label::kNear); __ 934 src/ia32/lithium-codegen-ia32.cc __ bind(&do_subtraction); __ 937 src/ia32/lithium-codegen-ia32.cc __ mov(scratch, left_reg); __ 940 src/ia32/lithium-codegen-ia32.cc __ sub(left_reg, Operand(right_reg)); __ 942 src/ia32/lithium-codegen-ia32.cc __ cmp(left_reg, Operand(right_reg)); __ 943 src/ia32/lithium-codegen-ia32.cc __ j(less, &remainder_eq_dividend, Label::kNear); __ 945 src/ia32/lithium-codegen-ia32.cc __ mov(left_reg, scratch); __ 948 src/ia32/lithium-codegen-ia32.cc __ bind(&slow); __ 950 src/ia32/lithium-codegen-ia32.cc __ cdq(); __ 956 src/ia32/lithium-codegen-ia32.cc __ test(left_reg, Operand(left_reg)); __ 957 src/ia32/lithium-codegen-ia32.cc __ j(not_sign, &positive_left, Label::kNear); __ 958 src/ia32/lithium-codegen-ia32.cc __ idiv(right_reg); __ 961 src/ia32/lithium-codegen-ia32.cc __ test(result_reg, Operand(result_reg)); __ 962 src/ia32/lithium-codegen-ia32.cc __ j(not_zero, &done, Label::kNear); __ 965 src/ia32/lithium-codegen-ia32.cc __ bind(&positive_left); __ 966 src/ia32/lithium-codegen-ia32.cc __ idiv(right_reg); __ 967 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 969 src/ia32/lithium-codegen-ia32.cc __ idiv(right_reg); __ 971 src/ia32/lithium-codegen-ia32.cc __ jmp(&done, Label::kNear); __ 973 src/ia32/lithium-codegen-ia32.cc __ bind(&remainder_eq_dividend); __ 974 src/ia32/lithium-codegen-ia32.cc __ mov(result_reg, left_reg); __ 976 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 993 src/ia32/lithium-codegen-ia32.cc __ test(right_reg, ToOperand(right)); __ 1000 src/ia32/lithium-codegen-ia32.cc __ test(left_reg, Operand(left_reg)); __ 1001 src/ia32/lithium-codegen-ia32.cc __ j(not_zero, &left_not_zero, Label::kNear); __ 1002 src/ia32/lithium-codegen-ia32.cc __ test(right_reg, ToOperand(right)); __ 1004 src/ia32/lithium-codegen-ia32.cc __ bind(&left_not_zero); __ 1010 src/ia32/lithium-codegen-ia32.cc __ cmp(left_reg, kMinInt); __ 1011 src/ia32/lithium-codegen-ia32.cc __ j(not_zero, &left_not_min_int, Label::kNear); __ 1012 src/ia32/lithium-codegen-ia32.cc __ cmp(right_reg, -1); __ 1014 src/ia32/lithium-codegen-ia32.cc __ bind(&left_not_min_int); __ 1018 src/ia32/lithium-codegen-ia32.cc __ cdq(); __ 1019 src/ia32/lithium-codegen-ia32.cc __ idiv(right_reg); __ 1022 src/ia32/lithium-codegen-ia32.cc __ test(edx, Operand(edx)); __ 1040 src/ia32/lithium-codegen-ia32.cc __ Move(result, dividend); __ 1044 src/ia32/lithium-codegen-ia32.cc __ Move(result, dividend); __ 1045 src/ia32/lithium-codegen-ia32.cc __ neg(result); __ 1061 src/ia32/lithium-codegen-ia32.cc __ mov(result, dividend); __ 1062 src/ia32/lithium-codegen-ia32.cc __ sar(dividend, 31); __ 1063 src/ia32/lithium-codegen-ia32.cc __ neg(result); __ 1067 src/ia32/lithium-codegen-ia32.cc __ shl(dividend, 32 - power); __ 1068 src/ia32/lithium-codegen-ia32.cc __ sar(result, power); __ 1069 src/ia32/lithium-codegen-ia32.cc __ not_(dividend); __ 1071 src/ia32/lithium-codegen-ia32.cc __ and_(result, dividend); __ 1073 src/ia32/lithium-codegen-ia32.cc __ Move(result, dividend); __ 1074 src/ia32/lithium-codegen-ia32.cc __ sar(result, power); __ 1095 src/ia32/lithium-codegen-ia32.cc __ mov(scratch, dividend); __ 1098 src/ia32/lithium-codegen-ia32.cc __ test(dividend, dividend); __ 1101 src/ia32/lithium-codegen-ia32.cc __ mov(edx, static_cast<int32_t>(multiplier)); __ 1102 src/ia32/lithium-codegen-ia32.cc __ imul(edx); __ 1104 src/ia32/lithium-codegen-ia32.cc __ add(edx, scratch); __ 1109 src/ia32/lithium-codegen-ia32.cc __ xchg(reg_lo, reg_byte_scratch); __ 1114 src/ia32/lithium-codegen-ia32.cc __ xor_(reg_byte_scratch, reg_byte_scratch); __ 1115 src/ia32/lithium-codegen-ia32.cc __ cmp(reg_lo, 0x40000000); __ 1116 src/ia32/lithium-codegen-ia32.cc __ setcc(above, reg_byte_scratch); __ 1117 src/ia32/lithium-codegen-ia32.cc __ neg(edx); __ 1118 src/ia32/lithium-codegen-ia32.cc __ sub(edx, reg_byte_scratch); __ 1120 src/ia32/lithium-codegen-ia32.cc __ xor_(reg_byte_scratch, reg_byte_scratch); __ 1121 src/ia32/lithium-codegen-ia32.cc __ cmp(reg_lo, 0xC0000000); __ 1122 src/ia32/lithium-codegen-ia32.cc __ setcc(above_equal, reg_byte_scratch); __ 1123 src/ia32/lithium-codegen-ia32.cc __ add(edx, reg_byte_scratch); __ 1125 src/ia32/lithium-codegen-ia32.cc __ sar(edx, shift - 32); __ 1135 src/ia32/lithium-codegen-ia32.cc __ mov(ToRegister(instr->TempAt(0)), left); __ 1144 src/ia32/lithium-codegen-ia32.cc __ neg(left); __ 1146 src/ia32/lithium-codegen-ia32.cc __ xor_(left, Operand(left)); __ 1148 src/ia32/lithium-codegen-ia32.cc __ add(left, Operand(left)); __ 1158 src/ia32/lithium-codegen-ia32.cc __ lea(left, Operand(left, left, times_2, 0)); __ 1161 src/ia32/lithium-codegen-ia32.cc __ shl(left, 2); __ 1164 src/ia32/lithium-codegen-ia32.cc __ lea(left, Operand(left, left, times_4, 0)); __ 1167 src/ia32/lithium-codegen-ia32.cc __ shl(left, 3); __ 1170 src/ia32/lithium-codegen-ia32.cc __ lea(left, Operand(left, left, times_8, 0)); __ 1173 src/ia32/lithium-codegen-ia32.cc __ shl(left, 4); __ 1176 src/ia32/lithium-codegen-ia32.cc __ imul(left, left, constant); __ 1180 src/ia32/lithium-codegen-ia32.cc __ imul(left, left, constant); __ 1183 src/ia32/lithium-codegen-ia32.cc __ imul(left, ToOperand(right)); __ 1193 src/ia32/lithium-codegen-ia32.cc __ test(left, Operand(left)); __ 1194 src/ia32/lithium-codegen-ia32.cc __ j(not_zero, &done, Label::kNear); __ 1201 src/ia32/lithium-codegen-ia32.cc __ or_(ToRegister(instr->TempAt(0)), ToOperand(right)); __ 1204 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 1219 src/ia32/lithium-codegen-ia32.cc __ and_(ToRegister(left), right_operand); __ 1222 src/ia32/lithium-codegen-ia32.cc __ or_(ToRegister(left), right_operand); __ 1225 src/ia32/lithium-codegen-ia32.cc __ xor_(ToRegister(left), right_operand); __ 1234 src/ia32/lithium-codegen-ia32.cc __ and_(ToRegister(left), ToOperand(right)); __ 1237 src/ia32/lithium-codegen-ia32.cc __ or_(ToRegister(left), ToOperand(right)); __ 1240 src/ia32/lithium-codegen-ia32.cc __ xor_(ToRegister(left), ToOperand(right)); __ 1260 src/ia32/lithium-codegen-ia32.cc __ sar_cl(ToRegister(left)); __ 1263 src/ia32/lithium-codegen-ia32.cc __ shr_cl(ToRegister(left)); __ 1265 src/ia32/lithium-codegen-ia32.cc __ test(ToRegister(left), Immediate(0x80000000)); __ 1270 src/ia32/lithium-codegen-ia32.cc __ shl_cl(ToRegister(left)); __ 1282 src/ia32/lithium-codegen-ia32.cc __ sar(ToRegister(left), shift_count); __ 1287 src/ia32/lithium-codegen-ia32.cc __ test(ToRegister(left), Immediate(0x80000000)); __ 1290 src/ia32/lithium-codegen-ia32.cc __ shr(ToRegister(left), shift_count); __ 1295 src/ia32/lithium-codegen-ia32.cc __ shl(ToRegister(left), shift_count); __ 1312 src/ia32/lithium-codegen-ia32.cc __ sub(ToOperand(left), ToInteger32Immediate(right)); __ 1314 src/ia32/lithium-codegen-ia32.cc __ sub(ToRegister(left), ToOperand(right)); __ 1324 src/ia32/lithium-codegen-ia32.cc __ Set(ToRegister(instr->result()), Immediate(instr->value())); __ 1335 src/ia32/lithium-codegen-ia32.cc __ xorps(res, res); __ 1344 src/ia32/lithium-codegen-ia32.cc __ Set(temp, Immediate(lower)); __ 1345 src/ia32/lithium-codegen-ia32.cc __ movd(res, Operand(temp)); __ 1346 src/ia32/lithium-codegen-ia32.cc __ Set(temp, Immediate(upper)); __ 1347 src/ia32/lithium-codegen-ia32.cc __ pinsrd(res, Operand(temp), 1); __ 1349 src/ia32/lithium-codegen-ia32.cc __ xorps(res, res); __ 1350 src/ia32/lithium-codegen-ia32.cc __ Set(temp, Immediate(upper)); __ 1351 src/ia32/lithium-codegen-ia32.cc __ pinsrd(res, Operand(temp), 1); __ 1354 src/ia32/lithium-codegen-ia32.cc __ Set(temp, Immediate(upper)); __ 1355 src/ia32/lithium-codegen-ia32.cc __ movd(res, Operand(temp)); __ 1356 src/ia32/lithium-codegen-ia32.cc __ psllq(res, 32); __ 1358 src/ia32/lithium-codegen-ia32.cc __ Set(temp, Immediate(lower)); __ 1359 src/ia32/lithium-codegen-ia32.cc __ movd(xmm0, Operand(temp)); __ 1360 src/ia32/lithium-codegen-ia32.cc __ por(res, xmm0); __ 1371 src/ia32/lithium-codegen-ia32.cc __ LoadHeapObject(reg, Handle<HeapObject>::cast(handle)); __ 1373 src/ia32/lithium-codegen-ia32.cc __ Set(reg, Immediate(handle)); __ 1381 src/ia32/lithium-codegen-ia32.cc __ mov(result, FieldOperand(array, JSArray::kLengthOffset)); __ 1389 src/ia32/lithium-codegen-ia32.cc __ mov(result, FieldOperand(array, FixedArrayBase::kLengthOffset)); __ 1398 src/ia32/lithium-codegen-ia32.cc __ mov(result, FieldOperand(input, HeapObject::kMapOffset)); __ 1401 src/ia32/lithium-codegen-ia32.cc __ mov(result, FieldOperand(result, Map::kBitField2Offset)); __ 1403 src/ia32/lithium-codegen-ia32.cc __ and_(result, Map::kElementsKindMask); __ 1404 src/ia32/lithium-codegen-ia32.cc __ shr(result, Map::kElementsKindShift); __ 1416 src/ia32/lithium-codegen-ia32.cc __ JumpIfSmi(input, &done, Label::kNear); __ 1419 src/ia32/lithium-codegen-ia32.cc __ CmpObjectType(input, JS_VALUE_TYPE, map); __ 1420 src/ia32/lithium-codegen-ia32.cc __ j(not_equal, &done, Label::kNear); __ 1421 src/ia32/lithium-codegen-ia32.cc __ mov(result, FieldOperand(input, JSValue::kValueOffset)); __ 1423 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 1437 src/ia32/lithium-codegen-ia32.cc __ AbortIfSmi(object); __ 1438 src/ia32/lithium-codegen-ia32.cc __ CmpObjectType(object, JS_DATE_TYPE, scratch); __ 1439 src/ia32/lithium-codegen-ia32.cc __ Assert(equal, "Trying to get date field from non-date."); __ 1443 src/ia32/lithium-codegen-ia32.cc __ mov(result, FieldOperand(object, JSDate::kValueOffset)); __ 1447 src/ia32/lithium-codegen-ia32.cc __ mov(scratch, Operand::StaticVariable(stamp)); __ 1448 src/ia32/lithium-codegen-ia32.cc __ cmp(scratch, FieldOperand(object, JSDate::kCacheStampOffset)); __ 1449 src/ia32/lithium-codegen-ia32.cc __ j(not_equal, &runtime, Label::kNear); __ 1450 src/ia32/lithium-codegen-ia32.cc __ mov(result, FieldOperand(object, JSDate::kValueOffset + __ 1452 src/ia32/lithium-codegen-ia32.cc __ jmp(&done); __ 1454 src/ia32/lithium-codegen-ia32.cc __ bind(&runtime); __ 1455 src/ia32/lithium-codegen-ia32.cc __ PrepareCallCFunction(2, scratch); __ 1456 src/ia32/lithium-codegen-ia32.cc __ mov(Operand(esp, 0), object); __ 1457 src/ia32/lithium-codegen-ia32.cc __ mov(Operand(esp, 1 * kPointerSize), Immediate(index)); __ 1458 src/ia32/lithium-codegen-ia32.cc __ CallCFunction(ExternalReference::get_date_field_function(isolate()), 2); __ 1459 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 1467 src/ia32/lithium-codegen-ia32.cc __ not_(ToRegister(input)); __ 1472 src/ia32/lithium-codegen-ia32.cc __ push(ToOperand(instr->value())); __ 1478 src/ia32/lithium-codegen-ia32.cc __ int3(); __ 1489 src/ia32/lithium-codegen-ia32.cc __ add(ToOperand(left), ToInteger32Immediate(right)); __ 1491 src/ia32/lithium-codegen-ia32.cc __ add(ToRegister(left), ToOperand(right)); __ 1508 src/ia32/lithium-codegen-ia32.cc __ addsd(left, right); __ 1511 src/ia32/lithium-codegen-ia32.cc __ subsd(left, right); __ 1514 src/ia32/lithium-codegen-ia32.cc __ mulsd(left, right); __ 1517 src/ia32/lithium-codegen-ia32.cc __ divsd(left, right); __ 1521 src/ia32/lithium-codegen-ia32.cc __ PrepareCallCFunction(4, eax); __ 1522 src/ia32/lithium-codegen-ia32.cc __ movdbl(Operand(esp, 0 * kDoubleSize), left); __ 1523 src/ia32/lithium-codegen-ia32.cc __ movdbl(Operand(esp, 1 * kDoubleSize), right); __ 1524 src/ia32/lithium-codegen-ia32.cc __ CallCFunction( __ 1530 src/ia32/lithium-codegen-ia32.cc __ sub(Operand(esp), Immediate(kDoubleSize)); __ 1531 src/ia32/lithium-codegen-ia32.cc __ fstp_d(Operand(esp, 0)); __ 1532 src/ia32/lithium-codegen-ia32.cc __ movdbl(result, Operand(esp, 0)); __ 1533 src/ia32/lithium-codegen-ia32.cc __ add(Operand(esp), Immediate(kDoubleSize)); __ 1551 src/ia32/lithium-codegen-ia32.cc __ nop(); // Signals no inlined code. __ 1572 src/ia32/lithium-codegen-ia32.cc __ j(NegateCondition(cc), chunk_->GetAssemblyLabel(right_block)); __ 1574 src/ia32/lithium-codegen-ia32.cc __ j(cc, chunk_->GetAssemblyLabel(left_block)); __ 1576 src/ia32/lithium-codegen-ia32.cc __ j(cc, chunk_->GetAssemblyLabel(left_block)); __ 1577 src/ia32/lithium-codegen-ia32.cc __ jmp(chunk_->GetAssemblyLabel(right_block)); __ 1589 src/ia32/lithium-codegen-ia32.cc __ test(reg, Operand(reg)); __ 1593 src/ia32/lithium-codegen-ia32.cc __ xorps(xmm0, xmm0); __ 1594 src/ia32/lithium-codegen-ia32.cc __ ucomisd(reg, xmm0); __ 1601 src/ia32/lithium-codegen-ia32.cc __ cmp(reg, factory()->true_value()); __ 1604 src/ia32/lithium-codegen-ia32.cc __ test(reg, Operand(reg)); __ 1616 src/ia32/lithium-codegen-ia32.cc __ cmp(reg, factory()->undefined_value()); __ 1617 src/ia32/lithium-codegen-ia32.cc __ j(equal, false_label); __ 1621 src/ia32/lithium-codegen-ia32.cc __ cmp(reg, factory()->true_value()); __ 1622 src/ia32/lithium-codegen-ia32.cc __ j(equal, true_label); __ 1624 src/ia32/lithium-codegen-ia32.cc __ cmp(reg, factory()->false_value()); __ 1625 src/ia32/lithium-codegen-ia32.cc __ j(equal, false_label); __ 1629 src/ia32/lithium-codegen-ia32.cc __ cmp(reg, factory()->null_value()); __ 1630 src/ia32/lithium-codegen-ia32.cc __ j(equal, false_label); __ 1635 src/ia32/lithium-codegen-ia32.cc __ test(reg, Operand(reg)); __ 1636 src/ia32/lithium-codegen-ia32.cc __ j(equal, false_label); __ 1637 src/ia32/lithium-codegen-ia32.cc __ JumpIfSmi(reg, true_label); __ 1640 src/ia32/lithium-codegen-ia32.cc __ test(reg, Immediate(kSmiTagMask)); __ 1648 src/ia32/lithium-codegen-ia32.cc __ mov(map, FieldOperand(reg, HeapObject::kMapOffset)); __ 1652 src/ia32/lithium-codegen-ia32.cc __ test_b(FieldOperand(map, Map::kBitFieldOffset), __ 1654 src/ia32/lithium-codegen-ia32.cc __ j(not_zero, false_label); __ 1660 src/ia32/lithium-codegen-ia32.cc __ CmpInstanceType(map, FIRST_SPEC_OBJECT_TYPE); __ 1661 src/ia32/lithium-codegen-ia32.cc __ j(above_equal, true_label); __ 1667 src/ia32/lithium-codegen-ia32.cc __ CmpInstanceType(map, FIRST_NONSTRING_TYPE); __ 1668 src/ia32/lithium-codegen-ia32.cc __ j(above_equal, ¬_string, Label::kNear); __ 1669 src/ia32/lithium-codegen-ia32.cc __ cmp(FieldOperand(reg, String::kLengthOffset), Immediate(0)); __ 1670 src/ia32/lithium-codegen-ia32.cc __ j(not_zero, true_label); __ 1671 src/ia32/lithium-codegen-ia32.cc __ jmp(false_label); __ 1672 src/ia32/lithium-codegen-ia32.cc __ bind(¬_string); __ 1678 src/ia32/lithium-codegen-ia32.cc __ cmp(FieldOperand(reg, HeapObject::kMapOffset), __ 1680 src/ia32/lithium-codegen-ia32.cc __ j(not_equal, ¬_heap_number, Label::kNear); __ 1681 src/ia32/lithium-codegen-ia32.cc __ fldz(); __ 1682 src/ia32/lithium-codegen-ia32.cc __ fld_d(FieldOperand(reg, HeapNumber::kValueOffset)); __ 1683 src/ia32/lithium-codegen-ia32.cc __ FCmp(); __ 1684 src/ia32/lithium-codegen-ia32.cc __ j(zero, false_label); __ 1685 src/ia32/lithium-codegen-ia32.cc __ jmp(true_label); __ 1686 src/ia32/lithium-codegen-ia32.cc __ bind(¬_heap_number); __ 1700 src/ia32/lithium-codegen-ia32.cc __ jmp(chunk_->GetAssemblyLabel(block)); __ 1757 src/ia32/lithium-codegen-ia32.cc __ ucomisd(ToDoubleRegister(left), ToDoubleRegister(right)); __ 1758 src/ia32/lithium-codegen-ia32.cc __ j(parity_even, chunk_->GetAssemblyLabel(false_block)); __ 1761 src/ia32/lithium-codegen-ia32.cc __ cmp(ToRegister(left), ToInteger32Immediate(right)); __ 1763 src/ia32/lithium-codegen-ia32.cc __ cmp(ToOperand(right), ToInteger32Immediate(left)); __ 1767 src/ia32/lithium-codegen-ia32.cc __ cmp(ToRegister(left), ToOperand(right)); __ 1781 src/ia32/lithium-codegen-ia32.cc __ cmp(left, Operand(right)); __ 1791 src/ia32/lithium-codegen-ia32.cc __ cmp(left, instr->hydrogen()->right()); __ 1812 src/ia32/lithium-codegen-ia32.cc __ cmp(reg, nil_value); __ 1821 src/ia32/lithium-codegen-ia32.cc __ j(equal, true_label); __ 1822 src/ia32/lithium-codegen-ia32.cc __ cmp(reg, other_nil_value); __ 1823 src/ia32/lithium-codegen-ia32.cc __ j(equal, true_label); __ 1824 src/ia32/lithium-codegen-ia32.cc __ JumpIfSmi(reg, false_label); __ 1828 src/ia32/lithium-codegen-ia32.cc __ mov(scratch, FieldOperand(reg, HeapObject::kMapOffset)); __ 1829 src/ia32/lithium-codegen-ia32.cc __ movzx_b(scratch, FieldOperand(scratch, Map::kBitFieldOffset)); __ 1830 src/ia32/lithium-codegen-ia32.cc __ test(scratch, Immediate(1 << Map::kIsUndetectable)); __ 1840 src/ia32/lithium-codegen-ia32.cc __ JumpIfSmi(input, is_not_object); __ 1842 src/ia32/lithium-codegen-ia32.cc __ cmp(input, isolate()->factory()->null_value()); __ 1843 src/ia32/lithium-codegen-ia32.cc __ j(equal, is_object); __ 1845 src/ia32/lithium-codegen-ia32.cc __ mov(temp1, FieldOperand(input, HeapObject::kMapOffset)); __ 1847 src/ia32/lithium-codegen-ia32.cc __ test_b(FieldOperand(temp1, Map::kBitFieldOffset), __ 1849 src/ia32/lithium-codegen-ia32.cc __ j(not_zero, is_not_object); __ 1851 src/ia32/lithium-codegen-ia32.cc __ movzx_b(temp1, FieldOperand(temp1, Map::kInstanceTypeOffset)); __ 1852 src/ia32/lithium-codegen-ia32.cc __ cmp(temp1, FIRST_NONCALLABLE_SPEC_OBJECT_TYPE); __ 1853 src/ia32/lithium-codegen-ia32.cc __ j(below, is_not_object); __ 1854 src/ia32/lithium-codegen-ia32.cc __ cmp(temp1, LAST_NONCALLABLE_SPEC_OBJECT_TYPE); __ 1877 src/ia32/lithium-codegen-ia32.cc __ JumpIfSmi(input, is_not_string); __ 1905 src/ia32/lithium-codegen-ia32.cc __ test(input, Immediate(kSmiTagMask)); __ 1918 src/ia32/lithium-codegen-ia32.cc __ JumpIfSmi(input, chunk_->GetAssemblyLabel(false_block)); __ 1919 src/ia32/lithium-codegen-ia32.cc __ mov(temp, FieldOperand(input, HeapObject::kMapOffset)); __ 1920 src/ia32/lithium-codegen-ia32.cc __ test_b(FieldOperand(temp, Map::kBitFieldOffset), __ 1955 src/ia32/lithium-codegen-ia32.cc __ test(eax, Operand(eax)); __ 1990 src/ia32/lithium-codegen-ia32.cc __ JumpIfSmi(input, false_label); __ 1992 src/ia32/lithium-codegen-ia32.cc __ CmpObjectType(input, TestType(instr->hydrogen()), temp); __ 2002 src/ia32/lithium-codegen-ia32.cc __ AbortIfNotString(input); __ 2005 src/ia32/lithium-codegen-ia32.cc __ mov(result, FieldOperand(input, String::kHashFieldOffset)); __ 2006 src/ia32/lithium-codegen-ia32.cc __ IndexFromHash(result, result); __ 2017 src/ia32/lithium-codegen-ia32.cc __ test(FieldOperand(input, String::kHashFieldOffset), __ 2034 src/ia32/lithium-codegen-ia32.cc __ JumpIfSmi(input, is_false); __ 2045 src/ia32/lithium-codegen-ia32.cc __ CmpObjectType(input, FIRST_SPEC_OBJECT_TYPE, temp); __ 2046 src/ia32/lithium-codegen-ia32.cc __ j(below, is_false); __ 2047 src/ia32/lithium-codegen-ia32.cc __ j(equal, is_true); __ 2048 src/ia32/lithium-codegen-ia32.cc __ CmpInstanceType(temp, LAST_SPEC_OBJECT_TYPE); __ 2049 src/ia32/lithium-codegen-ia32.cc __ j(equal, is_true); __ 2053 src/ia32/lithium-codegen-ia32.cc __ mov(temp, FieldOperand(input, HeapObject::kMapOffset)); __ 2054 src/ia32/lithium-codegen-ia32.cc __ movzx_b(temp2, FieldOperand(temp, Map::kInstanceTypeOffset)); __ 2055 src/ia32/lithium-codegen-ia32.cc __ sub(Operand(temp2), Immediate(FIRST_NONCALLABLE_SPEC_OBJECT_TYPE)); __ 2056 src/ia32/lithium-codegen-ia32.cc __ cmp(Operand(temp2), Immediate(LAST_NONCALLABLE_SPEC_OBJECT_TYPE - __ 2058 src/ia32/lithium-codegen-ia32.cc __ j(above, is_false); __ 2063 src/ia32/lithium-codegen-ia32.cc __ mov(temp, FieldOperand(temp, Map::kConstructorOffset)); __ 2065 src/ia32/lithium-codegen-ia32.cc __ CmpObjectType(temp, JS_FUNCTION_TYPE, temp2); __ 2067 src/ia32/lithium-codegen-ia32.cc __ j(not_equal, is_true); __ 2069 src/ia32/lithium-codegen-ia32.cc __ j(not_equal, is_false); __ 2074 src/ia32/lithium-codegen-ia32.cc __ mov(temp, FieldOperand(temp, JSFunction::kSharedFunctionInfoOffset)); __ 2075 src/ia32/lithium-codegen-ia32.cc __ mov(temp, FieldOperand(temp, __ 2083 src/ia32/lithium-codegen-ia32.cc __ cmp(temp, class_name); __ 2112 src/ia32/lithium-codegen-ia32.cc __ cmp(FieldOperand(reg, HeapObject::kMapOffset), instr->map()); __ 2124 src/ia32/lithium-codegen-ia32.cc __ test(eax, Operand(eax)); __ 2125 src/ia32/lithium-codegen-ia32.cc __ j(zero, &true_value, Label::kNear); __ 2126 src/ia32/lithium-codegen-ia32.cc __ mov(ToRegister(instr->result()), factory()->false_value()); __ 2127 src/ia32/lithium-codegen-ia32.cc __ jmp(&done, Label::kNear); __ 2128 src/ia32/lithium-codegen-ia32.cc __ bind(&true_value); __ 2129 src/ia32/lithium-codegen-ia32.cc __ mov(ToRegister(instr->result()), factory()->true_value()); __ 2130 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 2158 src/ia32/lithium-codegen-ia32.cc __ JumpIfSmi(object, &false_result); __ 2165 src/ia32/lithium-codegen-ia32.cc __ mov(map, FieldOperand(object, HeapObject::kMapOffset)); __ 2166 src/ia32/lithium-codegen-ia32.cc __ bind(deferred->map_check()); // Label for calculating code patching. __ 2169 src/ia32/lithium-codegen-ia32.cc __ cmp(map, Operand::Cell(cache_cell)); // Patched to cached map. __ 2170 src/ia32/lithium-codegen-ia32.cc __ j(not_equal, &cache_miss, Label::kNear); __ 2171 src/ia32/lithium-codegen-ia32.cc __ mov(eax, factory()->the_hole_value()); // Patched to either true or false. __ 2172 src/ia32/lithium-codegen-ia32.cc __ jmp(&done); __ 2176 src/ia32/lithium-codegen-ia32.cc __ bind(&cache_miss); __ 2178 src/ia32/lithium-codegen-ia32.cc __ cmp(object, factory()->null_value()); __ 2179 src/ia32/lithium-codegen-ia32.cc __ j(equal, &false_result); __ 2183 src/ia32/lithium-codegen-ia32.cc __ j(is_string, &false_result); __ 2186 src/ia32/lithium-codegen-ia32.cc __ jmp(deferred->entry()); __ 2188 src/ia32/lithium-codegen-ia32.cc __ bind(&false_result); __ 2189 src/ia32/lithium-codegen-ia32.cc __ mov(ToRegister(instr->result()), factory()->false_value()); __ 2193 src/ia32/lithium-codegen-ia32.cc __ bind(deferred->exit()); __ 2194 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 2217 src/ia32/lithium-codegen-ia32.cc __ LoadHeapObject(InstanceofStub::right(), instr->function()); __ 2220 src/ia32/lithium-codegen-ia32.cc __ mov(temp, Immediate(delta)); __ 2221 src/ia32/lithium-codegen-ia32.cc __ StoreToSafepointRegisterSlot(temp, temp); __ 2232 src/ia32/lithium-codegen-ia32.cc __ StoreToSafepointRegisterSlot(eax, eax); __ 2244 src/ia32/lithium-codegen-ia32.cc __ test(eax, Operand(eax)); __ 2245 src/ia32/lithium-codegen-ia32.cc __ j(condition, &true_value, Label::kNear); __ 2246 src/ia32/lithium-codegen-ia32.cc __ mov(ToRegister(instr->result()), factory()->false_value()); __ 2247 src/ia32/lithium-codegen-ia32.cc __ jmp(&done, Label::kNear); __ 2248 src/ia32/lithium-codegen-ia32.cc __ bind(&true_value); __ 2249 src/ia32/lithium-codegen-ia32.cc __ mov(ToRegister(instr->result()), factory()->true_value()); __ 2250 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 2260 src/ia32/lithium-codegen-ia32.cc __ push(eax); __ 2261 src/ia32/lithium-codegen-ia32.cc __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); __ 2262 src/ia32/lithium-codegen-ia32.cc __ CallRuntime(Runtime::kTraceExit, 1); __ 2266 src/ia32/lithium-codegen-ia32.cc __ mov(edx, Operand(ebp, __ 2269 src/ia32/lithium-codegen-ia32.cc __ mov(esp, ebp); __ 2270 src/ia32/lithium-codegen-ia32.cc __ pop(ebp); __ 2273 src/ia32/lithium-codegen-ia32.cc __ cmp(edx, Immediate(kNoAlignmentPadding)); __ 2274 src/ia32/lithium-codegen-ia32.cc __ j(equal, &no_padding); __ 2276 src/ia32/lithium-codegen-ia32.cc __ cmp(Operand(esp, (GetParameterCount() + 2) * kPointerSize), __ 2278 src/ia32/lithium-codegen-ia32.cc __ Assert(equal, "expected alignment marker"); __ 2280 src/ia32/lithium-codegen-ia32.cc __ Ret((GetParameterCount() + 2) * kPointerSize, ecx); __ 2281 src/ia32/lithium-codegen-ia32.cc __ bind(&no_padding); __ 2283 src/ia32/lithium-codegen-ia32.cc __ Ret((GetParameterCount() + 1) * kPointerSize, ecx); __ 2289 src/ia32/lithium-codegen-ia32.cc __ mov(result, Operand::Cell(instr->hydrogen()->cell())); __ 2291 src/ia32/lithium-codegen-ia32.cc __ cmp(result, factory()->the_hole_value()); __ 2302 src/ia32/lithium-codegen-ia32.cc __ mov(ecx, instr->name()); __ 2319 src/ia32/lithium-codegen-ia32.cc __ cmp(Operand::Cell(cell_handle), factory()->the_hole_value()); __ 2324 src/ia32/lithium-codegen-ia32.cc __ mov(Operand::Cell(cell_handle), value); __ 2334 src/ia32/lithium-codegen-ia32.cc __ mov(ecx, instr->name()); __ 2345 src/ia32/lithium-codegen-ia32.cc __ mov(result, ContextOperand(context, instr->slot_index())); __ 2348 src/ia32/lithium-codegen-ia32.cc __ cmp(result, factory()->the_hole_value()); __ 2353 src/ia32/lithium-codegen-ia32.cc __ j(not_equal, &is_not_hole, Label::kNear); __ 2354 src/ia32/lithium-codegen-ia32.cc __ mov(result, factory()->undefined_value()); __ 2355 src/ia32/lithium-codegen-ia32.cc __ bind(&is_not_hole); __ 2369 src/ia32/lithium-codegen-ia32.cc __ cmp(target, factory()->the_hole_value()); __ 2373 src/ia32/lithium-codegen-ia32.cc __ j(not_equal, &skip_assignment, Label::kNear); __ 2377 src/ia32/lithium-codegen-ia32.cc __ mov(target, value); __ 2384 src/ia32/lithium-codegen-ia32.cc __ RecordWriteContextSlot(context, __ 2393 src/ia32/lithium-codegen-ia32.cc __ bind(&skip_assignment); __ 2401 src/ia32/lithium-codegen-ia32.cc __ mov(result, FieldOperand(object, instr->hydrogen()->offset())); __ 2403 src/ia32/lithium-codegen-ia32.cc __ mov(result, FieldOperand(object, JSObject::kPropertiesOffset)); __ 2404 src/ia32/lithium-codegen-ia32.cc __ mov(result, FieldOperand(result, instr->hydrogen()->offset())); __ 2423 src/ia32/lithium-codegen-ia32.cc __ mov(result, FieldOperand(object, offset + type->instance_size())); __ 2426 src/ia32/lithium-codegen-ia32.cc __ mov(result, FieldOperand(object, JSObject::kPropertiesOffset)); __ 2427 src/ia32/lithium-codegen-ia32.cc __ mov(result, FieldOperand(result, offset + FixedArray::kHeaderSize)); __ 2431 src/ia32/lithium-codegen-ia32.cc __ LoadHeapObject(result, function); __ 2438 src/ia32/lithium-codegen-ia32.cc __ LoadHeapObject(result, current); __ 2439 src/ia32/lithium-codegen-ia32.cc __ cmp(FieldOperand(result, HeapObject::kMapOffset), __ 2445 src/ia32/lithium-codegen-ia32.cc __ mov(result, factory()->undefined_value()); __ 2455 src/ia32/lithium-codegen-ia32.cc __ Push(Handle<Smi>::cast(object)); __ 2457 src/ia32/lithium-codegen-ia32.cc __ PushHeapObject(Handle<HeapObject>::cast(object)); __ 2460 src/ia32/lithium-codegen-ia32.cc __ push(ToRegister(operand)); __ 2462 src/ia32/lithium-codegen-ia32.cc __ push(ToOperand(operand)); __ 2507 src/ia32/lithium-codegen-ia32.cc __ CompareMap(object, map, &check_passed, ALLOW_ELEMENT_TRANSITION_MAPS); __ 2510 src/ia32/lithium-codegen-ia32.cc __ bind(&check_passed); __ 2517 src/ia32/lithium-codegen-ia32.cc __ j(not_equal, &next, compact ? Label::kNear : Label::kFar); __ 2518 src/ia32/lithium-codegen-ia32.cc __ bind(&check_passed); __ 2521 src/ia32/lithium-codegen-ia32.cc __ jmp(&done, all_are_compact ? Label::kNear : Label::kFar); __ 2522 src/ia32/lithium-codegen-ia32.cc __ bind(&next); __ 2526 src/ia32/lithium-codegen-ia32.cc __ mov(ecx, name); __ 2530 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 2539 src/ia32/lithium-codegen-ia32.cc __ mov(ecx, instr->name()); __ 2551 src/ia32/lithium-codegen-ia32.cc __ CmpObjectType(function, JS_FUNCTION_TYPE, result); __ 2556 src/ia32/lithium-codegen-ia32.cc __ test_b(FieldOperand(result, Map::kBitFieldOffset), __ 2558 src/ia32/lithium-codegen-ia32.cc __ j(not_zero, &non_instance, Label::kNear); __ 2561 src/ia32/lithium-codegen-ia32.cc __ mov(result, __ 2565 src/ia32/lithium-codegen-ia32.cc __ cmp(Operand(result), Immediate(factory()->the_hole_value())); __ 2570 src/ia32/lithium-codegen-ia32.cc __ CmpObjectType(result, MAP_TYPE, temp); __ 2571 src/ia32/lithium-codegen-ia32.cc __ j(not_equal, &done, Label::kNear); __ 2574 src/ia32/lithium-codegen-ia32.cc __ mov(result, FieldOperand(result, Map::kPrototypeOffset)); __ 2575 src/ia32/lithium-codegen-ia32.cc __ jmp(&done, Label::kNear); __ 2579 src/ia32/lithium-codegen-ia32.cc __ bind(&non_instance); __ 2580 src/ia32/lithium-codegen-ia32.cc __ mov(result, FieldOperand(result, Map::kConstructorOffset)); __ 2583 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 2590 src/ia32/lithium-codegen-ia32.cc __ mov(result, FieldOperand(input, JSObject::kElementsOffset)); __ 2593 src/ia32/lithium-codegen-ia32.cc __ cmp(FieldOperand(result, HeapObject::kMapOffset), __ 2595 src/ia32/lithium-codegen-ia32.cc __ j(equal, &done, Label::kNear); __ 2596 src/ia32/lithium-codegen-ia32.cc __ cmp(FieldOperand(result, HeapObject::kMapOffset), __ 2598 src/ia32/lithium-codegen-ia32.cc __ j(equal, &done, Label::kNear); __ 2600 src/ia32/lithium-codegen-ia32.cc __ push(temp); __ 2601 src/ia32/lithium-codegen-ia32.cc __ mov(temp, FieldOperand(result, HeapObject::kMapOffset)); __ 2602 src/ia32/lithium-codegen-ia32.cc __ movzx_b(temp, FieldOperand(temp, Map::kBitField2Offset)); __ 2603 src/ia32/lithium-codegen-ia32.cc __ and_(temp, Map::kElementsKindMask); __ 2604 src/ia32/lithium-codegen-ia32.cc __ shr(temp, Map::kElementsKindShift); __ 2605 src/ia32/lithium-codegen-ia32.cc __ cmp(temp, GetInitialFastElementsKind()); __ 2606 src/ia32/lithium-codegen-ia32.cc __ j(less, &fail, Label::kNear); __ 2607 src/ia32/lithium-codegen-ia32.cc __ cmp(temp, TERMINAL_FAST_ELEMENTS_KIND); __ 2608 src/ia32/lithium-codegen-ia32.cc __ j(less_equal, &ok, Label::kNear); __ 2609 src/ia32/lithium-codegen-ia32.cc __ cmp(temp, FIRST_EXTERNAL_ARRAY_ELEMENTS_KIND); __ 2610 src/ia32/lithium-codegen-ia32.cc __ j(less, &fail, Label::kNear); __ 2611 src/ia32/lithium-codegen-ia32.cc __ cmp(temp, LAST_EXTERNAL_ARRAY_ELEMENTS_KIND); __ 2612 src/ia32/lithium-codegen-ia32.cc __ j(less_equal, &ok, Label::kNear); __ 2613 src/ia32/lithium-codegen-ia32.cc __ bind(&fail); __ 2614 src/ia32/lithium-codegen-ia32.cc __ Abort("Check for fast or external elements failed."); __ 2615 src/ia32/lithium-codegen-ia32.cc __ bind(&ok); __ 2616 src/ia32/lithium-codegen-ia32.cc __ pop(temp); __ 2617 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 2626 src/ia32/lithium-codegen-ia32.cc __ mov(result, FieldOperand(input, __ 2637 src/ia32/lithium-codegen-ia32.cc __ sub(length, index); __ 2642 src/ia32/lithium-codegen-ia32.cc __ mov(result, Operand(arguments, length, times_4, kPointerSize)); __ 2650 src/ia32/lithium-codegen-ia32.cc __ mov(result, __ 2660 src/ia32/lithium-codegen-ia32.cc __ test(result, Immediate(kSmiTagMask)); __ 2663 src/ia32/lithium-codegen-ia32.cc __ cmp(result, factory()->the_hole_value()); __ 2682 src/ia32/lithium-codegen-ia32.cc __ cmp(hole_check_operand, Immediate(kHoleNanUpper32)); __ 2692 src/ia32/lithium-codegen-ia32.cc __ movdbl(result, double_load_operand); __ 2732 src/ia32/lithium-codegen-ia32.cc __ movss(result, operand); __ 2733 src/ia32/lithium-codegen-ia32.cc __ cvtss2sd(result, result); __ 2735 src/ia32/lithium-codegen-ia32.cc __ movdbl(ToDoubleRegister(instr->result()), operand); __ 2740 src/ia32/lithium-codegen-ia32.cc __ movsx_b(result, operand); __ 2744 src/ia32/lithium-codegen-ia32.cc __ movzx_b(result, operand); __ 2747 src/ia32/lithium-codegen-ia32.cc __ movsx_w(result, operand); __ 2750 src/ia32/lithium-codegen-ia32.cc __ movzx_w(result, operand); __ 2753 src/ia32/lithium-codegen-ia32.cc __ mov(result, operand); __ 2756 src/ia32/lithium-codegen-ia32.cc __ mov(result, operand); __ 2757 src/ia32/lithium-codegen-ia32.cc __ test(result, Operand(result)); __ 2794 src/ia32/lithium-codegen-ia32.cc __ lea(result, Operand(esp, -2 * kPointerSize)); __ 2798 src/ia32/lithium-codegen-ia32.cc __ mov(result, Operand(ebp, StandardFrameConstants::kCallerFPOffset)); __ 2799 src/ia32/lithium-codegen-ia32.cc __ mov(result, Operand(result, StandardFrameConstants::kContextOffset)); __ 2800 src/ia32/lithium-codegen-ia32.cc __ cmp(Operand(result), __ 2802 src/ia32/lithium-codegen-ia32.cc __ j(equal, &adapted, Label::kNear); __ 2805 src/ia32/lithium-codegen-ia32.cc __ mov(result, Operand(ebp)); __ 2806 src/ia32/lithium-codegen-ia32.cc __ jmp(&done, Label::kNear); __ 2809 src/ia32/lithium-codegen-ia32.cc __ bind(&adapted); __ 2810 src/ia32/lithium-codegen-ia32.cc __ mov(result, Operand(ebp, StandardFrameConstants::kCallerFPOffset)); __ 2814 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 2826 src/ia32/lithium-codegen-ia32.cc __ cmp(ebp, elem); __ 2827 src/ia32/lithium-codegen-ia32.cc __ mov(result, Immediate(scope()->num_parameters())); __ 2828 src/ia32/lithium-codegen-ia32.cc __ j(equal, &done, Label::kNear); __ 2831 src/ia32/lithium-codegen-ia32.cc __ mov(result, Operand(ebp, StandardFrameConstants::kCallerFPOffset)); __ 2832 src/ia32/lithium-codegen-ia32.cc __ mov(result, Operand(result, __ 2834 src/ia32/lithium-codegen-ia32.cc __ SmiUntag(result); __ 2837 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 2853 src/ia32/lithium-codegen-ia32.cc __ mov(scratch, __ 2855 src/ia32/lithium-codegen-ia32.cc __ test_b(FieldOperand(scratch, SharedFunctionInfo::kStrictModeByteOffset), __ 2857 src/ia32/lithium-codegen-ia32.cc __ j(not_equal, &receiver_ok, Label::kNear); __ 2860 src/ia32/lithium-codegen-ia32.cc __ test_b(FieldOperand(scratch, SharedFunctionInfo::kNativeByteOffset), __ 2862 src/ia32/lithium-codegen-ia32.cc __ j(not_equal, &receiver_ok, Label::kNear); __ 2865 src/ia32/lithium-codegen-ia32.cc __ cmp(receiver, factory()->null_value()); __ 2866 src/ia32/lithium-codegen-ia32.cc __ j(equal, &global_object, Label::kNear); __ 2867 src/ia32/lithium-codegen-ia32.cc __ cmp(receiver, factory()->undefined_value()); __ 2868 src/ia32/lithium-codegen-ia32.cc __ j(equal, &global_object, Label::kNear); __ 2871 src/ia32/lithium-codegen-ia32.cc __ test(receiver, Immediate(kSmiTagMask)); __ 2873 src/ia32/lithium-codegen-ia32.cc __ CmpObjectType(receiver, FIRST_SPEC_OBJECT_TYPE, scratch); __ 2875 src/ia32/lithium-codegen-ia32.cc __ jmp(&receiver_ok, Label::kNear); __ 2877 src/ia32/lithium-codegen-ia32.cc __ bind(&global_object); __ 2881 src/ia32/lithium-codegen-ia32.cc __ mov(receiver, Operand(ebp, StandardFrameConstants::kContextOffset)); __ 2882 src/ia32/lithium-codegen-ia32.cc __ mov(receiver, ContextOperand(receiver, Context::GLOBAL_INDEX)); __ 2883 src/ia32/lithium-codegen-ia32.cc __ mov(receiver, __ 2885 src/ia32/lithium-codegen-ia32.cc __ bind(&receiver_ok); __ 2901 src/ia32/lithium-codegen-ia32.cc __ cmp(length, kArgumentsLimit); __ 2904 src/ia32/lithium-codegen-ia32.cc __ push(receiver); __ 2905 src/ia32/lithium-codegen-ia32.cc __ mov(receiver, length); __ 2911 src/ia32/lithium-codegen-ia32.cc __ test(length, Operand(length)); __ 2912 src/ia32/lithium-codegen-ia32.cc __ j(zero, &invoke, Label::kNear); __ 2913 src/ia32/lithium-codegen-ia32.cc __ bind(&loop); __ 2914 src/ia32/lithium-codegen-ia32.cc __ push(Operand(elements, length, times_pointer_size, 1 * kPointerSize)); __ 2915 src/ia32/lithium-codegen-ia32.cc __ dec(length); __ 2916 src/ia32/lithium-codegen-ia32.cc __ j(not_zero, &loop); __ 2919 src/ia32/lithium-codegen-ia32.cc __ bind(&invoke); __ 2926 src/ia32/lithium-codegen-ia32.cc __ InvokeFunction(function, actual, CALL_FUNCTION, __ 2938 src/ia32/lithium-codegen-ia32.cc __ Drop(instr->count()); __ 2944 src/ia32/lithium-codegen-ia32.cc __ mov(result, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset)); __ 2950 src/ia32/lithium-codegen-ia32.cc __ mov(result, Operand(ebp, StandardFrameConstants::kContextOffset)); __ 2957 src/ia32/lithium-codegen-ia32.cc __ mov(result, __ 2964 src/ia32/lithium-codegen-ia32.cc __ push(esi); // The context is the first argument. __ 2965 src/ia32/lithium-codegen-ia32.cc __ push(Immediate(instr->hydrogen()->pairs())); __ 2966 src/ia32/lithium-codegen-ia32.cc __ push(Immediate(Smi::FromInt(instr->hydrogen()->flags()))); __ 2974 src/ia32/lithium-codegen-ia32.cc __ mov(result, Operand(context, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 2981 src/ia32/lithium-codegen-ia32.cc __ mov(result, FieldOperand(global, GlobalObject::kGlobalReceiverOffset)); __ 2998 src/ia32/lithium-codegen-ia32.cc __ LoadHeapObject(edi, function); __ 3008 src/ia32/lithium-codegen-ia32.cc __ mov(esi, FieldOperand(edi, JSFunction::kContextOffset)); __ 3010 src/ia32/lithium-codegen-ia32.cc __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); __ 3016 src/ia32/lithium-codegen-ia32.cc __ mov(eax, arity); __ 3020 src/ia32/lithium-codegen-ia32.cc __ SetCallKind(ecx, call_kind); __ 3022 src/ia32/lithium-codegen-ia32.cc __ CallSelf(); __ 3024 src/ia32/lithium-codegen-ia32.cc __ call(FieldOperand(edi, JSFunction::kCodeEntryOffset)); __ 3032 src/ia32/lithium-codegen-ia32.cc __ InvokeFunction(function, count, CALL_FUNCTION, generator, call_kind); __ 3049 src/ia32/lithium-codegen-ia32.cc __ cmp(FieldOperand(input_reg, HeapObject::kMapOffset), __ 3061 src/ia32/lithium-codegen-ia32.cc __ mov(tmp, FieldOperand(input_reg, HeapNumber::kExponentOffset)); __ 3066 src/ia32/lithium-codegen-ia32.cc __ test(tmp, Immediate(HeapNumber::kSignMask)); __ 3067 src/ia32/lithium-codegen-ia32.cc __ j(not_zero, &negative); __ 3068 src/ia32/lithium-codegen-ia32.cc __ jmp(&done); __ 3070 src/ia32/lithium-codegen-ia32.cc __ bind(&negative); __ 3073 src/ia32/lithium-codegen-ia32.cc __ AllocateHeapNumber(tmp, tmp2, no_reg, &slow); __ 3074 src/ia32/lithium-codegen-ia32.cc __ jmp(&allocated); __ 3077 src/ia32/lithium-codegen-ia32.cc __ bind(&slow); __ 3083 src/ia32/lithium-codegen-ia32.cc if (!tmp.is(eax)) __ mov(tmp, eax); __ 3086 src/ia32/lithium-codegen-ia32.cc __ LoadFromSafepointRegisterSlot(input_reg, input_reg); __ 3088 src/ia32/lithium-codegen-ia32.cc __ bind(&allocated); __ 3089 src/ia32/lithium-codegen-ia32.cc __ mov(tmp2, FieldOperand(input_reg, HeapNumber::kExponentOffset)); __ 3090 src/ia32/lithium-codegen-ia32.cc __ and_(tmp2, ~HeapNumber::kSignMask); __ 3091 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(tmp, HeapNumber::kExponentOffset), tmp2); __ 3092 src/ia32/lithium-codegen-ia32.cc __ mov(tmp2, FieldOperand(input_reg, HeapNumber::kMantissaOffset)); __ 3093 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(tmp, HeapNumber::kMantissaOffset), tmp2); __ 3094 src/ia32/lithium-codegen-ia32.cc __ StoreToSafepointRegisterSlot(input_reg, tmp); __ 3096 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 3102 src/ia32/lithium-codegen-ia32.cc __ test(input_reg, Operand(input_reg)); __ 3104 src/ia32/lithium-codegen-ia32.cc __ j(not_sign, &is_positive); __ 3105 src/ia32/lithium-codegen-ia32.cc __ neg(input_reg); __ 3106 src/ia32/lithium-codegen-ia32.cc __ test(input_reg, Operand(input_reg)); __ 3108 src/ia32/lithium-codegen-ia32.cc __ bind(&is_positive); __ 3133 src/ia32/lithium-codegen-ia32.cc __ xorps(scratch, scratch); __ 3134 src/ia32/lithium-codegen-ia32.cc __ subsd(scratch, input_reg); __ 3135 src/ia32/lithium-codegen-ia32.cc __ pand(input_reg, scratch); __ 3143 src/ia32/lithium-codegen-ia32.cc __ JumpIfNotSmi(input_reg, deferred->entry()); __ 3145 src/ia32/lithium-codegen-ia32.cc __ bind(deferred->exit()); __ 3160 src/ia32/lithium-codegen-ia32.cc __ xorps(xmm_scratch, xmm_scratch); // Zero the register. __ 3161 src/ia32/lithium-codegen-ia32.cc __ ucomisd(input_reg, xmm_scratch); __ 3162 src/ia32/lithium-codegen-ia32.cc __ j(not_equal, &non_zero, Label::kNear); __ 3163 src/ia32/lithium-codegen-ia32.cc __ movmskpd(output_reg, input_reg); __ 3164 src/ia32/lithium-codegen-ia32.cc __ test(output_reg, Immediate(1)); __ 3166 src/ia32/lithium-codegen-ia32.cc __ bind(&non_zero); __ 3168 src/ia32/lithium-codegen-ia32.cc __ roundsd(xmm_scratch, input_reg, Assembler::kRoundDown); __ 3169 src/ia32/lithium-codegen-ia32.cc __ cvttsd2si(output_reg, Operand(xmm_scratch)); __ 3171 src/ia32/lithium-codegen-ia32.cc __ cmp(output_reg, 0x80000000u); __ 3176 src/ia32/lithium-codegen-ia32.cc __ xorps(xmm_scratch, xmm_scratch); // Zero the register. __ 3177 src/ia32/lithium-codegen-ia32.cc __ ucomisd(input_reg, xmm_scratch); __ 3179 src/ia32/lithium-codegen-ia32.cc __ j(below, &negative_sign, Label::kNear); __ 3184 src/ia32/lithium-codegen-ia32.cc __ j(above, &positive_sign, Label::kNear); __ 3185 src/ia32/lithium-codegen-ia32.cc __ movmskpd(output_reg, input_reg); __ 3186 src/ia32/lithium-codegen-ia32.cc __ test(output_reg, Immediate(1)); __ 3188 src/ia32/lithium-codegen-ia32.cc __ Set(output_reg, Immediate(0)); __ 3189 src/ia32/lithium-codegen-ia32.cc __ jmp(&done, Label::kNear); __ 3190 src/ia32/lithium-codegen-ia32.cc __ bind(&positive_sign); __ 3194 src/ia32/lithium-codegen-ia32.cc __ cvttsd2si(output_reg, Operand(input_reg)); __ 3196 src/ia32/lithium-codegen-ia32.cc __ cmp(output_reg, 0x80000000u); __ 3198 src/ia32/lithium-codegen-ia32.cc __ jmp(&done, Label::kNear); __ 3201 src/ia32/lithium-codegen-ia32.cc __ bind(&negative_sign); __ 3203 src/ia32/lithium-codegen-ia32.cc __ cvttsd2si(output_reg, Operand(input_reg)); __ 3204 src/ia32/lithium-codegen-ia32.cc __ cvtsi2sd(xmm_scratch, output_reg); __ 3205 src/ia32/lithium-codegen-ia32.cc __ ucomisd(input_reg, xmm_scratch); __ 3206 src/ia32/lithium-codegen-ia32.cc __ j(equal, &done, Label::kNear); __ 3207 src/ia32/lithium-codegen-ia32.cc __ sub(output_reg, Immediate(1)); __ 3210 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 3222 src/ia32/lithium-codegen-ia32.cc __ movdbl(xmm_scratch, Operand::StaticVariable(one_half)); __ 3223 src/ia32/lithium-codegen-ia32.cc __ ucomisd(xmm_scratch, input_reg); __ 3224 src/ia32/lithium-codegen-ia32.cc __ j(above, &below_half); __ 3226 src/ia32/lithium-codegen-ia32.cc __ addsd(xmm_scratch, input_reg); __ 3230 src/ia32/lithium-codegen-ia32.cc __ cvttsd2si(output_reg, Operand(xmm_scratch)); __ 3233 src/ia32/lithium-codegen-ia32.cc __ cmp(output_reg, 0x80000000u); __ 3235 src/ia32/lithium-codegen-ia32.cc __ jmp(&done); __ 3237 src/ia32/lithium-codegen-ia32.cc __ bind(&below_half); __ 3243 src/ia32/lithium-codegen-ia32.cc __ movmskpd(output_reg, input_reg); __ 3244 src/ia32/lithium-codegen-ia32.cc __ test(output_reg, Immediate(1)); __ 3248 src/ia32/lithium-codegen-ia32.cc __ mov(output_reg, Immediate(0xBF000000)); __ 3249 src/ia32/lithium-codegen-ia32.cc __ movd(xmm_scratch, Operand(output_reg)); __ 3250 src/ia32/lithium-codegen-ia32.cc __ cvtss2sd(xmm_scratch, xmm_scratch); __ 3251 src/ia32/lithium-codegen-ia32.cc __ ucomisd(input_reg, xmm_scratch); __ 3254 src/ia32/lithium-codegen-ia32.cc __ Set(output_reg, Immediate(0)); __ 3255 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 3262 src/ia32/lithium-codegen-ia32.cc __ sqrtsd(input_reg, input_reg); __ 3278 src/ia32/lithium-codegen-ia32.cc __ mov(scratch, 0xFF800000); __ 3279 src/ia32/lithium-codegen-ia32.cc __ movd(xmm_scratch, scratch); __ 3280 src/ia32/lithium-codegen-ia32.cc __ cvtss2sd(xmm_scratch, xmm_scratch); __ 3281 src/ia32/lithium-codegen-ia32.cc __ ucomisd(input_reg, xmm_scratch); __ 3284 src/ia32/lithium-codegen-ia32.cc __ j(not_equal, &sqrt, Label::kNear); __ 3285 src/ia32/lithium-codegen-ia32.cc __ j(carry, &sqrt, Label::kNear); __ 3287 src/ia32/lithium-codegen-ia32.cc __ xorps(input_reg, input_reg); __ 3288 src/ia32/lithium-codegen-ia32.cc __ subsd(input_reg, xmm_scratch); __ 3289 src/ia32/lithium-codegen-ia32.cc __ jmp(&done, Label::kNear); __ 3292 src/ia32/lithium-codegen-ia32.cc __ bind(&sqrt); __ 3293 src/ia32/lithium-codegen-ia32.cc __ xorps(xmm_scratch, xmm_scratch); __ 3294 src/ia32/lithium-codegen-ia32.cc __ addsd(input_reg, xmm_scratch); // Convert -0 to +0. __ 3295 src/ia32/lithium-codegen-ia32.cc __ sqrtsd(input_reg, input_reg); __ 3296 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 3313 src/ia32/lithium-codegen-ia32.cc __ JumpIfSmi(eax, &no_deopt); __ 3314 src/ia32/lithium-codegen-ia32.cc __ CmpObjectType(eax, HEAP_NUMBER_TYPE, ecx); __ 3316 src/ia32/lithium-codegen-ia32.cc __ bind(&no_deopt); __ 3318 src/ia32/lithium-codegen-ia32.cc __ CallStub(&stub); __ 3321 src/ia32/lithium-codegen-ia32.cc __ CallStub(&stub); __ 3325 src/ia32/lithium-codegen-ia32.cc __ CallStub(&stub); __ 3351 src/ia32/lithium-codegen-ia32.cc __ mov(eax, FieldOperand(eax, GlobalObject::kGlobalContextOffset)); __ 3354 src/ia32/lithium-codegen-ia32.cc __ mov(ebx, FieldOperand(eax, kRandomSeedOffset)); __ 3358 src/ia32/lithium-codegen-ia32.cc __ mov(ecx, FieldOperand(ebx, ByteArray::kHeaderSize)); __ 3360 src/ia32/lithium-codegen-ia32.cc __ test(ecx, ecx); __ 3361 src/ia32/lithium-codegen-ia32.cc __ j(zero, deferred->entry()); __ 3363 src/ia32/lithium-codegen-ia32.cc __ mov(eax, FieldOperand(ebx, ByteArray::kHeaderSize + kSeedSize)); __ 3368 src/ia32/lithium-codegen-ia32.cc __ movzx_w(edx, ecx); __ 3369 src/ia32/lithium-codegen-ia32.cc __ imul(edx, edx, 18273); __ 3370 src/ia32/lithium-codegen-ia32.cc __ shr(ecx, 16); __ 3371 src/ia32/lithium-codegen-ia32.cc __ add(ecx, edx); __ 3373 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(ebx, ByteArray::kHeaderSize), ecx); __ 3376 src/ia32/lithium-codegen-ia32.cc __ movzx_w(edx, eax); __ 3377 src/ia32/lithium-codegen-ia32.cc __ imul(edx, edx, 36969); __ 3378 src/ia32/lithium-codegen-ia32.cc __ shr(eax, 16); __ 3379 src/ia32/lithium-codegen-ia32.cc __ add(eax, edx); __ 3381 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(ebx, ByteArray::kHeaderSize + kSeedSize), eax); __ 3384 src/ia32/lithium-codegen-ia32.cc __ shl(ecx, 14); __ 3385 src/ia32/lithium-codegen-ia32.cc __ and_(eax, Immediate(0x3FFFF)); __ 3386 src/ia32/lithium-codegen-ia32.cc __ add(eax, ecx); __ 3388 src/ia32/lithium-codegen-ia32.cc __ bind(deferred->exit()); __ 3392 src/ia32/lithium-codegen-ia32.cc __ mov(ebx, Immediate(0x49800000)); // 1.0 x 2^20 as single. __ 3393 src/ia32/lithium-codegen-ia32.cc __ movd(xmm2, ebx); __ 3394 src/ia32/lithium-codegen-ia32.cc __ movd(xmm1, eax); __ 3395 src/ia32/lithium-codegen-ia32.cc __ cvtss2sd(xmm2, xmm2); __ 3396 src/ia32/lithium-codegen-ia32.cc __ xorps(xmm1, xmm2); __ 3397 src/ia32/lithium-codegen-ia32.cc __ subsd(xmm1, xmm2); __ 3402 src/ia32/lithium-codegen-ia32.cc __ PrepareCallCFunction(1, ebx); __ 3403 src/ia32/lithium-codegen-ia32.cc __ mov(Operand(esp, 0), eax); __ 3404 src/ia32/lithium-codegen-ia32.cc __ CallCFunction(ExternalReference::random_uint32_function(isolate()), 1); __ 3413 src/ia32/lithium-codegen-ia32.cc __ xorps(xmm0, xmm0); __ 3414 src/ia32/lithium-codegen-ia32.cc __ ucomisd(input_reg, xmm0); __ 3415 src/ia32/lithium-codegen-ia32.cc __ j(above, &positive, Label::kNear); __ 3416 src/ia32/lithium-codegen-ia32.cc __ j(equal, &zero, Label::kNear); __ 3419 src/ia32/lithium-codegen-ia32.cc __ movdbl(input_reg, Operand::StaticVariable(nan)); __ 3420 src/ia32/lithium-codegen-ia32.cc __ jmp(&done, Label::kNear); __ 3421 src/ia32/lithium-codegen-ia32.cc __ bind(&zero); __ 3422 src/ia32/lithium-codegen-ia32.cc __ push(Immediate(0xFFF00000)); __ 3423 src/ia32/lithium-codegen-ia32.cc __ push(Immediate(0)); __ 3424 src/ia32/lithium-codegen-ia32.cc __ movdbl(input_reg, Operand(esp, 0)); __ 3425 src/ia32/lithium-codegen-ia32.cc __ add(Operand(esp), Immediate(kDoubleSize)); __ 3426 src/ia32/lithium-codegen-ia32.cc __ jmp(&done, Label::kNear); __ 3427 src/ia32/lithium-codegen-ia32.cc __ bind(&positive); __ 3428 src/ia32/lithium-codegen-ia32.cc __ fldln2(); __ 3429 src/ia32/lithium-codegen-ia32.cc __ sub(Operand(esp), Immediate(kDoubleSize)); __ 3430 src/ia32/lithium-codegen-ia32.cc __ movdbl(Operand(esp, 0), input_reg); __ 3431 src/ia32/lithium-codegen-ia32.cc __ fld_d(Operand(esp, 0)); __ 3432 src/ia32/lithium-codegen-ia32.cc __ fyl2x(); __ 3433 src/ia32/lithium-codegen-ia32.cc __ fstp_d(Operand(esp, 0)); __ 3434 src/ia32/lithium-codegen-ia32.cc __ movdbl(input_reg, Operand(esp, 0)); __ 3435 src/ia32/lithium-codegen-ia32.cc __ add(Operand(esp), Immediate(kDoubleSize)); __ 3436 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 3508 src/ia32/lithium-codegen-ia32.cc __ InvokeFunction(edi, count, CALL_FUNCTION, generator, CALL_AS_METHOD); __ 3539 src/ia32/lithium-codegen-ia32.cc __ mov(ecx, instr->name()); __ 3563 src/ia32/lithium-codegen-ia32.cc __ mov(ecx, instr->name()); __ 3584 src/ia32/lithium-codegen-ia32.cc __ Set(eax, Immediate(instr->arity())); __ 3601 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(object, HeapObject::kMapOffset), instr->transition()); __ 3605 src/ia32/lithium-codegen-ia32.cc __ mov(temp_map, instr->transition()); __ 3606 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(object, HeapObject::kMapOffset), temp_map); __ 3608 src/ia32/lithium-codegen-ia32.cc __ RecordWriteField(object, __ 3623 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(object, offset), value); __ 3627 src/ia32/lithium-codegen-ia32.cc __ RecordWriteField(object, __ 3637 src/ia32/lithium-codegen-ia32.cc __ mov(temp, FieldOperand(object, JSObject::kPropertiesOffset)); __ 3638 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(temp, offset), value); __ 3642 src/ia32/lithium-codegen-ia32.cc __ RecordWriteField(temp, __ 3659 src/ia32/lithium-codegen-ia32.cc __ mov(ecx, instr->name()); __ 3669 src/ia32/lithium-codegen-ia32.cc __ cmp(ToOperand(instr->length()), __ 3673 src/ia32/lithium-codegen-ia32.cc __ cmp(ToRegister(instr->index()), ToOperand(instr->length())); __ 3688 src/ia32/lithium-codegen-ia32.cc __ cvtsd2ss(xmm0, ToDoubleRegister(instr->value())); __ 3689 src/ia32/lithium-codegen-ia32.cc __ movss(operand, xmm0); __ 3691 src/ia32/lithium-codegen-ia32.cc __ movdbl(operand, ToDoubleRegister(instr->value())); __ 3698 src/ia32/lithium-codegen-ia32.cc __ mov_b(operand, value); __ 3702 src/ia32/lithium-codegen-ia32.cc __ mov_w(operand, value); __ 3706 src/ia32/lithium-codegen-ia32.cc __ mov(operand, value); __ 3736 src/ia32/lithium-codegen-ia32.cc __ mov(operand, value); __ 3744 src/ia32/lithium-codegen-ia32.cc __ lea(key, operand); __ 3745 src/ia32/lithium-codegen-ia32.cc __ RecordWrite(elements, __ 3762 src/ia32/lithium-codegen-ia32.cc __ ucomisd(value, value); __ 3763 src/ia32/lithium-codegen-ia32.cc __ j(parity_odd, &have_value); // NaN. __ 3767 src/ia32/lithium-codegen-ia32.cc __ movdbl(value, Operand::StaticVariable(canonical_nan_reference)); __ 3768 src/ia32/lithium-codegen-ia32.cc __ bind(&have_value); __ 3777 src/ia32/lithium-codegen-ia32.cc __ movdbl(double_store_operand, value); __ 3808 src/ia32/lithium-codegen-ia32.cc __ cmp(FieldOperand(object_reg, HeapObject::kMapOffset), from_map); __ 3809 src/ia32/lithium-codegen-ia32.cc __ j(not_equal, ¬_applicable, branch_distance); __ 3813 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(object_reg, HeapObject::kMapOffset), __ 3817 src/ia32/lithium-codegen-ia32.cc __ RecordWriteForMap(object_reg, to_map, new_map_reg, __ 3822 src/ia32/lithium-codegen-ia32.cc __ mov(new_map_reg, to_map); __ 3826 src/ia32/lithium-codegen-ia32.cc __ mov(fixed_object_reg, object_reg); __ 3831 src/ia32/lithium-codegen-ia32.cc __ mov(new_map_reg, to_map); __ 3835 src/ia32/lithium-codegen-ia32.cc __ mov(fixed_object_reg, object_reg); __ 3841 src/ia32/lithium-codegen-ia32.cc __ bind(¬_applicable); __ 3865 src/ia32/lithium-codegen-ia32.cc __ bind(deferred->exit()); __ 3876 src/ia32/lithium-codegen-ia32.cc __ Set(result, Immediate(0)); __ 3879 src/ia32/lithium-codegen-ia32.cc __ push(string); __ 3885 src/ia32/lithium-codegen-ia32.cc __ push(Immediate(Smi::FromInt(const_index))); __ 3888 src/ia32/lithium-codegen-ia32.cc __ SmiTag(index); __ 3889 src/ia32/lithium-codegen-ia32.cc __ push(index); __ 3894 src/ia32/lithium-codegen-ia32.cc __ AbortIfNotSmi(eax); __ 3896 src/ia32/lithium-codegen-ia32.cc __ SmiUntag(eax); __ 3897 src/ia32/lithium-codegen-ia32.cc __ StoreToSafepointRegisterSlot(result, eax); __ 3920 src/ia32/lithium-codegen-ia32.cc __ cmp(char_code, String::kMaxAsciiCharCode); __ 3921 src/ia32/lithium-codegen-ia32.cc __ j(above, deferred->entry()); __ 3922 src/ia32/lithium-codegen-ia32.cc __ Set(result, Immediate(factory()->single_character_string_cache())); __ 3923 src/ia32/lithium-codegen-ia32.cc __ mov(result, FieldOperand(result, __ 3926 src/ia32/lithium-codegen-ia32.cc __ cmp(result, factory()->undefined_value()); __ 3927 src/ia32/lithium-codegen-ia32.cc __ j(equal, deferred->entry()); __ 3928 src/ia32/lithium-codegen-ia32.cc __ bind(deferred->exit()); __ 3939 src/ia32/lithium-codegen-ia32.cc __ Set(result, Immediate(0)); __ 3942 src/ia32/lithium-codegen-ia32.cc __ SmiTag(char_code); __ 3943 src/ia32/lithium-codegen-ia32.cc __ push(char_code); __ 3945 src/ia32/lithium-codegen-ia32.cc __ StoreToSafepointRegisterSlot(result, eax); __ 3952 src/ia32/lithium-codegen-ia32.cc __ mov(result, FieldOperand(string, String::kLengthOffset)); __ 3969 src/ia32/lithium-codegen-ia32.cc __ cvtsi2sd(ToDoubleRegister(output), ToOperand(input)); __ 3989 src/ia32/lithium-codegen-ia32.cc __ SmiTag(reg); __ 3990 src/ia32/lithium-codegen-ia32.cc __ j(overflow, deferred->entry()); __ 3991 src/ia32/lithium-codegen-ia32.cc __ bind(deferred->exit()); __ 4007 src/ia32/lithium-codegen-ia32.cc __ SmiUntag(reg); __ 4008 src/ia32/lithium-codegen-ia32.cc __ xor_(reg, 0x80000000); __ 4009 src/ia32/lithium-codegen-ia32.cc __ cvtsi2sd(xmm0, Operand(reg)); __ 4011 src/ia32/lithium-codegen-ia32.cc __ AllocateHeapNumber(reg, tmp, no_reg, &slow); __ 4012 src/ia32/lithium-codegen-ia32.cc __ jmp(&done, Label::kNear); __ 4016 src/ia32/lithium-codegen-ia32.cc __ bind(&slow); __ 4021 src/ia32/lithium-codegen-ia32.cc __ StoreToSafepointRegisterSlot(reg, Immediate(0)); __ 4027 src/ia32/lithium-codegen-ia32.cc __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); __ 4028 src/ia32/lithium-codegen-ia32.cc __ CallRuntimeSaveDoubles(Runtime::kAllocateHeapNumber); __ 4031 src/ia32/lithium-codegen-ia32.cc if (!reg.is(eax)) __ mov(reg, eax); __ 4035 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 4036 src/ia32/lithium-codegen-ia32.cc __ movdbl(FieldOperand(reg, HeapNumber::kValueOffset), xmm0); __ 4037 src/ia32/lithium-codegen-ia32.cc __ StoreToSafepointRegisterSlot(reg, reg); __ 4058 src/ia32/lithium-codegen-ia32.cc __ AllocateHeapNumber(reg, tmp, no_reg, deferred->entry()); __ 4060 src/ia32/lithium-codegen-ia32.cc __ jmp(deferred->entry()); __ 4062 src/ia32/lithium-codegen-ia32.cc __ bind(deferred->exit()); __ 4063 src/ia32/lithium-codegen-ia32.cc __ movdbl(FieldOperand(reg, HeapNumber::kValueOffset), input_reg); __ 4072 src/ia32/lithium-codegen-ia32.cc __ Set(reg, Immediate(0)); __ 4080 src/ia32/lithium-codegen-ia32.cc __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); __ 4081 src/ia32/lithium-codegen-ia32.cc __ CallRuntimeSaveDoubles(Runtime::kAllocateHeapNumber); __ 4084 src/ia32/lithium-codegen-ia32.cc __ StoreToSafepointRegisterSlot(reg, eax); __ 4092 src/ia32/lithium-codegen-ia32.cc __ SmiTag(ToRegister(input)); __ 4100 src/ia32/lithium-codegen-ia32.cc __ test(ToRegister(input), Immediate(kSmiTagMask)); __ 4104 src/ia32/lithium-codegen-ia32.cc __ AbortIfNotSmi(ToRegister(input)); __ 4107 src/ia32/lithium-codegen-ia32.cc __ SmiUntag(ToRegister(input)); __ 4120 src/ia32/lithium-codegen-ia32.cc __ JumpIfSmi(input_reg, &load_smi, Label::kNear); __ 4123 src/ia32/lithium-codegen-ia32.cc __ cmp(FieldOperand(input_reg, HeapObject::kMapOffset), __ 4129 src/ia32/lithium-codegen-ia32.cc __ j(equal, &heap_number, Label::kNear); __ 4131 src/ia32/lithium-codegen-ia32.cc __ cmp(input_reg, factory()->undefined_value()); __ 4137 src/ia32/lithium-codegen-ia32.cc __ movdbl(result_reg, Operand::StaticVariable(nan)); __ 4138 src/ia32/lithium-codegen-ia32.cc __ jmp(&done, Label::kNear); __ 4140 src/ia32/lithium-codegen-ia32.cc __ bind(&heap_number); __ 4143 src/ia32/lithium-codegen-ia32.cc __ movdbl(result_reg, FieldOperand(input_reg, HeapNumber::kValueOffset)); __ 4146 src/ia32/lithium-codegen-ia32.cc __ xorps(xmm_scratch, xmm_scratch); __ 4147 src/ia32/lithium-codegen-ia32.cc __ ucomisd(result_reg, xmm_scratch); __ 4148 src/ia32/lithium-codegen-ia32.cc __ j(not_zero, &done, Label::kNear); __ 4149 src/ia32/lithium-codegen-ia32.cc __ movmskpd(temp_reg, result_reg); __ 4150 src/ia32/lithium-codegen-ia32.cc __ test_b(temp_reg, 1); __ 4153 src/ia32/lithium-codegen-ia32.cc __ jmp(&done, Label::kNear); __ 4156 src/ia32/lithium-codegen-ia32.cc __ bind(&load_smi); __ 4157 src/ia32/lithium-codegen-ia32.cc __ SmiUntag(input_reg); // Untag smi before converting to float. __ 4158 src/ia32/lithium-codegen-ia32.cc __ cvtsi2sd(result_reg, Operand(input_reg)); __ 4159 src/ia32/lithium-codegen-ia32.cc __ SmiTag(input_reg); // Retag smi. __ 4160 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 4169 src/ia32/lithium-codegen-ia32.cc __ cmp(FieldOperand(input_reg, HeapObject::kMapOffset), __ 4173 src/ia32/lithium-codegen-ia32.cc __ j(equal, &heap_number, Label::kNear); __ 4176 src/ia32/lithium-codegen-ia32.cc __ cmp(input_reg, factory()->undefined_value()); __ 4178 src/ia32/lithium-codegen-ia32.cc __ mov(input_reg, 0); __ 4179 src/ia32/lithium-codegen-ia32.cc __ jmp(&done, Label::kNear); __ 4181 src/ia32/lithium-codegen-ia32.cc __ bind(&heap_number); __ 4187 src/ia32/lithium-codegen-ia32.cc __ fld_d(FieldOperand(input_reg, HeapNumber::kValueOffset)); __ 4189 src/ia32/lithium-codegen-ia32.cc __ mov(input_reg, FieldOperand(input_reg, HeapNumber::kExponentOffset)); __ 4190 src/ia32/lithium-codegen-ia32.cc __ and_(input_reg, HeapNumber::kExponentMask); __ 4193 src/ia32/lithium-codegen-ia32.cc __ cmp(Operand(input_reg), Immediate(kTooBigExponent)); __ 4194 src/ia32/lithium-codegen-ia32.cc __ j(less, &convert, Label::kNear); __ 4196 src/ia32/lithium-codegen-ia32.cc __ fstp(0); __ 4200 src/ia32/lithium-codegen-ia32.cc __ bind(&convert); __ 4201 src/ia32/lithium-codegen-ia32.cc __ sub(Operand(esp), Immediate(kDoubleSize)); __ 4203 src/ia32/lithium-codegen-ia32.cc __ fisttp_d(Operand(esp, 0)); __ 4204 src/ia32/lithium-codegen-ia32.cc __ mov(input_reg, Operand(esp, 0)); // Low word of answer is the result. __ 4205 src/ia32/lithium-codegen-ia32.cc __ add(Operand(esp), Immediate(kDoubleSize)); __ 4208 src/ia32/lithium-codegen-ia32.cc __ movdbl(xmm0, FieldOperand(input_reg, HeapNumber::kValueOffset)); __ 4209 src/ia32/lithium-codegen-ia32.cc __ cvttsd2si(input_reg, Operand(xmm0)); __ 4210 src/ia32/lithium-codegen-ia32.cc __ cmp(input_reg, 0x80000000u); __ 4211 src/ia32/lithium-codegen-ia32.cc __ j(not_equal, &done); __ 4215 src/ia32/lithium-codegen-ia32.cc __ movdbl(xmm_temp, Operand::StaticVariable(min_int)); __ 4216 src/ia32/lithium-codegen-ia32.cc __ ucomisd(xmm_temp, xmm0); __ 4225 src/ia32/lithium-codegen-ia32.cc __ movdbl(xmm0, FieldOperand(input_reg, HeapNumber::kValueOffset)); __ 4226 src/ia32/lithium-codegen-ia32.cc __ cvttsd2si(input_reg, Operand(xmm0)); __ 4227 src/ia32/lithium-codegen-ia32.cc __ cvtsi2sd(xmm_temp, Operand(input_reg)); __ 4228 src/ia32/lithium-codegen-ia32.cc __ ucomisd(xmm0, xmm_temp); __ 4232 src/ia32/lithium-codegen-ia32.cc __ test(input_reg, Operand(input_reg)); __ 4233 src/ia32/lithium-codegen-ia32.cc __ j(not_zero, &done); __ 4234 src/ia32/lithium-codegen-ia32.cc __ movmskpd(input_reg, xmm0); __ 4235 src/ia32/lithium-codegen-ia32.cc __ and_(input_reg, 1); __ 4239 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 4263 src/ia32/lithium-codegen-ia32.cc __ JumpIfNotSmi(input_reg, deferred->entry()); __ 4266 src/ia32/lithium-codegen-ia32.cc __ SmiUntag(input_reg); // Untag smi. __ 4268 src/ia32/lithium-codegen-ia32.cc __ bind(deferred->exit()); __ 4308 src/ia32/lithium-codegen-ia32.cc __ cvttsd2si(result_reg, Operand(input_reg)); __ 4309 src/ia32/lithium-codegen-ia32.cc __ cmp(result_reg, 0x80000000u); __ 4314 src/ia32/lithium-codegen-ia32.cc __ j(not_equal, &done, Label::kNear); __ 4315 src/ia32/lithium-codegen-ia32.cc __ sub(Operand(esp), Immediate(kDoubleSize)); __ 4316 src/ia32/lithium-codegen-ia32.cc __ movdbl(Operand(esp, 0), input_reg); __ 4318 src/ia32/lithium-codegen-ia32.cc __ mov(result_reg, Operand(esp, sizeof(int32_t))); __ 4319 src/ia32/lithium-codegen-ia32.cc __ and_(result_reg, HeapNumber::kExponentMask); __ 4322 src/ia32/lithium-codegen-ia32.cc __ cmp(Operand(result_reg), Immediate(kTooBigExponent)); __ 4323 src/ia32/lithium-codegen-ia32.cc __ j(less, &convert, Label::kNear); __ 4324 src/ia32/lithium-codegen-ia32.cc __ add(Operand(esp), Immediate(kDoubleSize)); __ 4326 src/ia32/lithium-codegen-ia32.cc __ bind(&convert); __ 4328 src/ia32/lithium-codegen-ia32.cc __ fld_d(Operand(esp, 0)); __ 4329 src/ia32/lithium-codegen-ia32.cc __ fisttp_d(Operand(esp, 0)); __ 4330 src/ia32/lithium-codegen-ia32.cc __ mov(result_reg, Operand(esp, 0)); // Low word of answer is the result. __ 4331 src/ia32/lithium-codegen-ia32.cc __ add(Operand(esp), Immediate(kDoubleSize)); __ 4332 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 4340 src/ia32/lithium-codegen-ia32.cc __ j(not_equal, &done, Label::kNear); __ 4343 src/ia32/lithium-codegen-ia32.cc __ pshufd(xmm_scratch, input_reg, 1); __ 4344 src/ia32/lithium-codegen-ia32.cc __ movd(Operand(temp_reg), xmm_scratch); __ 4345 src/ia32/lithium-codegen-ia32.cc __ mov(result_reg, temp_reg); __ 4348 src/ia32/lithium-codegen-ia32.cc __ sar(temp_reg, kBitsPerInt - 1); __ 4354 src/ia32/lithium-codegen-ia32.cc __ shr(result_reg, HeapNumber::kExponentShift); __ 4355 src/ia32/lithium-codegen-ia32.cc __ and_(result_reg, __ 4357 src/ia32/lithium-codegen-ia32.cc __ sub(Operand(result_reg), __ 4372 src/ia32/lithium-codegen-ia32.cc __ movdbl(xmm_scratch, Operand::StaticVariable(minus_zero)); __ 4373 src/ia32/lithium-codegen-ia32.cc __ psllq(input_reg, HeapNumber::kExponentBits); __ 4374 src/ia32/lithium-codegen-ia32.cc __ por(input_reg, xmm_scratch); __ 4377 src/ia32/lithium-codegen-ia32.cc __ neg(result_reg); __ 4378 src/ia32/lithium-codegen-ia32.cc __ movd(xmm_scratch, Operand(result_reg)); __ 4381 src/ia32/lithium-codegen-ia32.cc __ psrlq(input_reg, xmm_scratch); __ 4382 src/ia32/lithium-codegen-ia32.cc __ movd(Operand(result_reg), input_reg); __ 4385 src/ia32/lithium-codegen-ia32.cc __ xor_(result_reg, Operand(temp_reg)); __ 4386 src/ia32/lithium-codegen-ia32.cc __ sub(result_reg, Operand(temp_reg)); __ 4387 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 4391 src/ia32/lithium-codegen-ia32.cc __ cvttsd2si(result_reg, Operand(input_reg)); __ 4392 src/ia32/lithium-codegen-ia32.cc __ cvtsi2sd(xmm0, Operand(result_reg)); __ 4393 src/ia32/lithium-codegen-ia32.cc __ ucomisd(xmm0, input_reg); __ 4399 src/ia32/lithium-codegen-ia32.cc __ test(result_reg, Operand(result_reg)); __ 4400 src/ia32/lithium-codegen-ia32.cc __ j(not_zero, &done, Label::kNear); __ 4401 src/ia32/lithium-codegen-ia32.cc __ movmskpd(result_reg, input_reg); __ 4405 src/ia32/lithium-codegen-ia32.cc __ and_(result_reg, 1); __ 4408 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 4415 src/ia32/lithium-codegen-ia32.cc __ test(ToOperand(input), Immediate(kSmiTagMask)); __ 4422 src/ia32/lithium-codegen-ia32.cc __ test(ToOperand(input), Immediate(kSmiTagMask)); __ 4431 src/ia32/lithium-codegen-ia32.cc __ mov(temp, FieldOperand(input, HeapObject::kMapOffset)); __ 4438 src/ia32/lithium-codegen-ia32.cc __ cmpb(FieldOperand(temp, Map::kInstanceTypeOffset), __ 4448 src/ia32/lithium-codegen-ia32.cc __ cmpb(FieldOperand(temp, Map::kInstanceTypeOffset), __ 4460 src/ia32/lithium-codegen-ia32.cc __ test_b(FieldOperand(temp, Map::kInstanceTypeOffset), mask); __ 4463 src/ia32/lithium-codegen-ia32.cc __ movzx_b(temp, FieldOperand(temp, Map::kInstanceTypeOffset)); __ 4464 src/ia32/lithium-codegen-ia32.cc __ and_(temp, mask); __ 4465 src/ia32/lithium-codegen-ia32.cc __ cmp(temp, tag); __ 4478 src/ia32/lithium-codegen-ia32.cc __ cmp(reg, Operand::Cell(cell)); __ 4481 src/ia32/lithium-codegen-ia32.cc __ cmp(operand, target); __ 4492 src/ia32/lithium-codegen-ia32.cc __ CompareMap(reg, map, &success, mode); __ 4494 src/ia32/lithium-codegen-ia32.cc __ bind(&success); __ 4507 src/ia32/lithium-codegen-ia32.cc __ CompareMap(reg, map, &success, REQUIRE_EXACT_MAP); __ 4508 src/ia32/lithium-codegen-ia32.cc __ j(equal, &success); __ 4512 src/ia32/lithium-codegen-ia32.cc __ bind(&success); __ 4519 src/ia32/lithium-codegen-ia32.cc __ ClampDoubleToUint8(value_reg, xmm0, result_reg); __ 4526 src/ia32/lithium-codegen-ia32.cc __ ClampUint8(value_reg); __ 4535 src/ia32/lithium-codegen-ia32.cc __ JumpIfSmi(input_reg, &is_smi); __ 4538 src/ia32/lithium-codegen-ia32.cc __ cmp(FieldOperand(input_reg, HeapObject::kMapOffset), __ 4540 src/ia32/lithium-codegen-ia32.cc __ j(equal, &heap_number, Label::kNear); __ 4544 src/ia32/lithium-codegen-ia32.cc __ cmp(input_reg, factory()->undefined_value()); __ 4546 src/ia32/lithium-codegen-ia32.cc __ mov(input_reg, 0); __ 4547 src/ia32/lithium-codegen-ia32.cc __ jmp(&done, Label::kNear); __ 4550 src/ia32/lithium-codegen-ia32.cc __ bind(&heap_number); __ 4551 src/ia32/lithium-codegen-ia32.cc __ movdbl(xmm0, FieldOperand(input_reg, HeapNumber::kValueOffset)); __ 4552 src/ia32/lithium-codegen-ia32.cc __ ClampDoubleToUint8(xmm0, xmm1, input_reg); __ 4553 src/ia32/lithium-codegen-ia32.cc __ jmp(&done, Label::kNear); __ 4556 src/ia32/lithium-codegen-ia32.cc __ bind(&is_smi); __ 4557 src/ia32/lithium-codegen-ia32.cc __ SmiUntag(input_reg); __ 4558 src/ia32/lithium-codegen-ia32.cc __ ClampUint8(input_reg); __ 4560 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 4571 src/ia32/lithium-codegen-ia32.cc __ LoadHeapObject(reg, current_prototype); __ 4581 src/ia32/lithium-codegen-ia32.cc __ LoadHeapObject(reg, current_prototype); __ 4617 src/ia32/lithium-codegen-ia32.cc __ AllocateInNewSpace(instance_size, __ 4624 src/ia32/lithium-codegen-ia32.cc __ bind(deferred->exit()); __ 4627 src/ia32/lithium-codegen-ia32.cc __ JumpIfInNewSpace(result, scratch, &is_in_new_space); __ 4628 src/ia32/lithium-codegen-ia32.cc __ Abort("Allocated object is not in new-space"); __ 4629 src/ia32/lithium-codegen-ia32.cc __ bind(&is_in_new_space); __ 4634 src/ia32/lithium-codegen-ia32.cc __ LoadHeapObject(scratch, constructor); __ 4635 src/ia32/lithium-codegen-ia32.cc __ mov(map, FieldOperand(scratch, JSFunction::kPrototypeOrInitialMapOffset)); __ 4638 src/ia32/lithium-codegen-ia32.cc __ AbortIfSmi(map); __ 4639 src/ia32/lithium-codegen-ia32.cc __ cmpb(FieldOperand(map, Map::kInstanceSizeOffset), __ 4641 src/ia32/lithium-codegen-ia32.cc __ Assert(equal, "Unexpected instance size"); __ 4642 src/ia32/lithium-codegen-ia32.cc __ cmpb(FieldOperand(map, Map::kPreAllocatedPropertyFieldsOffset), __ 4644 src/ia32/lithium-codegen-ia32.cc __ Assert(equal, "Unexpected pre-allocated property fields count"); __ 4645 src/ia32/lithium-codegen-ia32.cc __ cmpb(FieldOperand(map, Map::kUnusedPropertyFieldsOffset), __ 4647 src/ia32/lithium-codegen-ia32.cc __ Assert(equal, "Unexpected unused property fields count"); __ 4648 src/ia32/lithium-codegen-ia32.cc __ cmpb(FieldOperand(map, Map::kInObjectPropertiesOffset), __ 4650 src/ia32/lithium-codegen-ia32.cc __ Assert(equal, "Unexpected in-object property fields count"); __ 4655 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(result, JSObject::kMapOffset), map); __ 4656 src/ia32/lithium-codegen-ia32.cc __ mov(scratch, factory()->empty_fixed_array()); __ 4657 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(result, JSObject::kElementsOffset), scratch); __ 4658 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(result, JSObject::kPropertiesOffset), scratch); __ 4660 src/ia32/lithium-codegen-ia32.cc __ mov(scratch, factory()->undefined_value()); __ 4663 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(result, property_offset), scratch); __ 4678 src/ia32/lithium-codegen-ia32.cc __ Set(result, Immediate(0)); __ 4681 src/ia32/lithium-codegen-ia32.cc __ push(Immediate(Smi::FromInt(instance_size))); __ 4684 src/ia32/lithium-codegen-ia32.cc __ StoreToSafepointRegisterSlot(result, eax); __ 4699 src/ia32/lithium-codegen-ia32.cc __ LoadHeapObject(eax, instr->hydrogen()->boilerplate_object()); __ 4700 src/ia32/lithium-codegen-ia32.cc __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset)); __ 4703 src/ia32/lithium-codegen-ia32.cc __ mov(ebx, FieldOperand(ebx, Map::kBitField2Offset)); __ 4705 src/ia32/lithium-codegen-ia32.cc __ and_(ebx, Map::kElementsKindMask); __ 4706 src/ia32/lithium-codegen-ia32.cc __ cmp(ebx, boilerplate_elements_kind << Map::kElementsKindShift); __ 4711 src/ia32/lithium-codegen-ia32.cc __ PushHeapObject(literals); __ 4712 src/ia32/lithium-codegen-ia32.cc __ push(Immediate(Smi::FromInt(instr->hydrogen()->literal_index()))); __ 4715 src/ia32/lithium-codegen-ia32.cc __ push(Immediate(isolate()->factory()->empty_fixed_array())); __ 4748 src/ia32/lithium-codegen-ia32.cc __ LoadHeapObject(ecx, object); __ 4749 src/ia32/lithium-codegen-ia32.cc __ cmp(source, ecx); __ 4750 src/ia32/lithium-codegen-ia32.cc __ Assert(equal, "Unexpected object literal boilerplate"); __ 4751 src/ia32/lithium-codegen-ia32.cc __ mov(ecx, FieldOperand(source, HeapObject::kMapOffset)); __ 4752 src/ia32/lithium-codegen-ia32.cc __ cmp(ecx, Handle<Map>(object->map())); __ 4753 src/ia32/lithium-codegen-ia32.cc __ Assert(equal, "Unexpected boilerplate map"); __ 4754 src/ia32/lithium-codegen-ia32.cc __ mov(ecx, FieldOperand(ecx, Map::kBitField2Offset)); __ 4755 src/ia32/lithium-codegen-ia32.cc __ and_(ecx, Map::kElementsKindMask); __ 4756 src/ia32/lithium-codegen-ia32.cc __ cmp(ecx, object->GetElementsKind() << Map::kElementsKindShift); __ 4757 src/ia32/lithium-codegen-ia32.cc __ Assert(equal, "Unexpected boilerplate elements kind"); __ 4779 src/ia32/lithium-codegen-ia32.cc __ lea(ecx, Operand(result, elements_offset)); __ 4781 src/ia32/lithium-codegen-ia32.cc __ mov(ecx, FieldOperand(source, i)); __ 4783 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(result, object_offset + i), ecx); __ 4792 src/ia32/lithium-codegen-ia32.cc __ lea(ecx, Operand(result, *offset)); __ 4793 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(result, total_offset), ecx); __ 4794 src/ia32/lithium-codegen-ia32.cc __ LoadHeapObject(source, value_object); __ 4797 src/ia32/lithium-codegen-ia32.cc __ LoadHeapObject(ecx, Handle<HeapObject>::cast(value)); __ 4798 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(result, total_offset), ecx); __ 4800 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(result, total_offset), Immediate(value)); __ 4806 src/ia32/lithium-codegen-ia32.cc __ LoadHeapObject(source, elements); __ 4808 src/ia32/lithium-codegen-ia32.cc __ mov(ecx, FieldOperand(source, i)); __ 4809 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(result, elements_offset + i), ecx); __ 4823 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(result, total_offset), Immediate(value_low)); __ 4824 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(result, total_offset + 4), Immediate(value_high)); __ 4833 src/ia32/lithium-codegen-ia32.cc __ lea(ecx, Operand(result, *offset)); __ 4834 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(result, total_offset), ecx); __ 4835 src/ia32/lithium-codegen-ia32.cc __ LoadHeapObject(source, value_object); __ 4838 src/ia32/lithium-codegen-ia32.cc __ LoadHeapObject(ecx, Handle<HeapObject>::cast(value)); __ 4839 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(result, total_offset), ecx); __ 4841 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(result, total_offset), Immediate(value)); __ 4862 src/ia32/lithium-codegen-ia32.cc __ LoadHeapObject(ebx, instr->hydrogen()->boilerplate()); __ 4863 src/ia32/lithium-codegen-ia32.cc __ mov(ecx, FieldOperand(ebx, HeapObject::kMapOffset)); __ 4866 src/ia32/lithium-codegen-ia32.cc __ mov(ecx, FieldOperand(ecx, Map::kBitField2Offset)); __ 4868 src/ia32/lithium-codegen-ia32.cc __ and_(ecx, Map::kElementsKindMask); __ 4869 src/ia32/lithium-codegen-ia32.cc __ cmp(ecx, boilerplate_elements_kind << Map::kElementsKindShift); __ 4876 src/ia32/lithium-codegen-ia32.cc __ AllocateInNewSpace(size, eax, ecx, edx, &runtime_allocate, TAG_OBJECT); __ 4877 src/ia32/lithium-codegen-ia32.cc __ jmp(&allocated); __ 4879 src/ia32/lithium-codegen-ia32.cc __ bind(&runtime_allocate); __ 4880 src/ia32/lithium-codegen-ia32.cc __ push(Immediate(Smi::FromInt(size))); __ 4883 src/ia32/lithium-codegen-ia32.cc __ bind(&allocated); __ 4885 src/ia32/lithium-codegen-ia32.cc __ LoadHeapObject(ebx, instr->hydrogen()->boilerplate()); __ 4898 src/ia32/lithium-codegen-ia32.cc __ PushHeapObject(literals); __ 4899 src/ia32/lithium-codegen-ia32.cc __ push(Immediate(Smi::FromInt(instr->hydrogen()->literal_index()))); __ 4900 src/ia32/lithium-codegen-ia32.cc __ push(Immediate(constant_properties)); __ 4907 src/ia32/lithium-codegen-ia32.cc __ push(Immediate(Smi::FromInt(flags))); __ 4925 src/ia32/lithium-codegen-ia32.cc __ push(eax); __ 4940 src/ia32/lithium-codegen-ia32.cc __ LoadHeapObject(ecx, instr->hydrogen()->literals()); __ 4941 src/ia32/lithium-codegen-ia32.cc __ mov(ebx, FieldOperand(ecx, literal_offset)); __ 4942 src/ia32/lithium-codegen-ia32.cc __ cmp(ebx, factory()->undefined_value()); __ 4943 src/ia32/lithium-codegen-ia32.cc __ j(not_equal, &materialized, Label::kNear); __ 4947 src/ia32/lithium-codegen-ia32.cc __ push(ecx); __ 4948 src/ia32/lithium-codegen-ia32.cc __ push(Immediate(Smi::FromInt(instr->hydrogen()->literal_index()))); __ 4949 src/ia32/lithium-codegen-ia32.cc __ push(Immediate(instr->hydrogen()->pattern())); __ 4950 src/ia32/lithium-codegen-ia32.cc __ push(Immediate(instr->hydrogen()->flags())); __ 4952 src/ia32/lithium-codegen-ia32.cc __ mov(ebx, eax); __ 4954 src/ia32/lithium-codegen-ia32.cc __ bind(&materialized); __ 4957 src/ia32/lithium-codegen-ia32.cc __ AllocateInNewSpace(size, eax, ecx, edx, &runtime_allocate, TAG_OBJECT); __ 4958 src/ia32/lithium-codegen-ia32.cc __ jmp(&allocated); __ 4960 src/ia32/lithium-codegen-ia32.cc __ bind(&runtime_allocate); __ 4961 src/ia32/lithium-codegen-ia32.cc __ push(ebx); __ 4962 src/ia32/lithium-codegen-ia32.cc __ push(Immediate(Smi::FromInt(size))); __ 4964 src/ia32/lithium-codegen-ia32.cc __ pop(ebx); __ 4966 src/ia32/lithium-codegen-ia32.cc __ bind(&allocated); __ 4970 src/ia32/lithium-codegen-ia32.cc __ mov(edx, FieldOperand(ebx, i)); __ 4971 src/ia32/lithium-codegen-ia32.cc __ mov(ecx, FieldOperand(ebx, i + kPointerSize)); __ 4972 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(eax, i), edx); __ 4973 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(eax, i + kPointerSize), ecx); __ 4976 src/ia32/lithium-codegen-ia32.cc __ mov(edx, FieldOperand(ebx, size - kPointerSize)); __ 4977 src/ia32/lithium-codegen-ia32.cc __ mov(FieldOperand(eax, size - kPointerSize), edx); __ 4990 src/ia32/lithium-codegen-ia32.cc __ push(Immediate(shared_info)); __ 4993 src/ia32/lithium-codegen-ia32.cc __ push(esi); __ 4994 src/ia32/lithium-codegen-ia32.cc __ push(Immediate(shared_info)); __ 4995 src/ia32/lithium-codegen-ia32.cc __ push(Immediate(pretenure __ 5031 src/ia32/lithium-codegen-ia32.cc __ JumpIfSmi(input, true_label); __ 5032 src/ia32/lithium-codegen-ia32.cc __ cmp(FieldOperand(input, HeapObject::kMapOffset), __ 5037 src/ia32/lithium-codegen-ia32.cc __ JumpIfSmi(input, false_label); __ 5038 src/ia32/lithium-codegen-ia32.cc __ CmpObjectType(input, FIRST_NONSTRING_TYPE, input); __ 5039 src/ia32/lithium-codegen-ia32.cc __ j(above_equal, false_label); __ 5040 src/ia32/lithium-codegen-ia32.cc __ test_b(FieldOperand(input, Map::kBitFieldOffset), __ 5045 src/ia32/lithium-codegen-ia32.cc __ cmp(input, factory()->true_value()); __ 5046 src/ia32/lithium-codegen-ia32.cc __ j(equal, true_label); __ 5047 src/ia32/lithium-codegen-ia32.cc __ cmp(input, factory()->false_value()); __ 5051 src/ia32/lithium-codegen-ia32.cc __ cmp(input, factory()->null_value()); __ 5055 src/ia32/lithium-codegen-ia32.cc __ cmp(input, factory()->undefined_value()); __ 5056 src/ia32/lithium-codegen-ia32.cc __ j(equal, true_label); __ 5057 src/ia32/lithium-codegen-ia32.cc __ JumpIfSmi(input, false_label); __ 5059 src/ia32/lithium-codegen-ia32.cc __ mov(input, FieldOperand(input, HeapObject::kMapOffset)); __ 5060 src/ia32/lithium-codegen-ia32.cc __ test_b(FieldOperand(input, Map::kBitFieldOffset), __ 5066 src/ia32/lithium-codegen-ia32.cc __ JumpIfSmi(input, false_label); __ 5067 src/ia32/lithium-codegen-ia32.cc __ CmpObjectType(input, JS_FUNCTION_TYPE, input); __ 5068 src/ia32/lithium-codegen-ia32.cc __ j(equal, true_label); __ 5069 src/ia32/lithium-codegen-ia32.cc __ CmpInstanceType(input, JS_FUNCTION_PROXY_TYPE); __ 5073 src/ia32/lithium-codegen-ia32.cc __ JumpIfSmi(input, false_label); __ 5075 src/ia32/lithium-codegen-ia32.cc __ cmp(input, factory()->null_value()); __ 5076 src/ia32/lithium-codegen-ia32.cc __ j(equal, true_label); __ 5078 src/ia32/lithium-codegen-ia32.cc __ CmpObjectType(input, FIRST_NONCALLABLE_SPEC_OBJECT_TYPE, input); __ 5079 src/ia32/lithium-codegen-ia32.cc __ j(below, false_label); __ 5080 src/ia32/lithium-codegen-ia32.cc __ CmpInstanceType(input, LAST_NONCALLABLE_SPEC_OBJECT_TYPE); __ 5081 src/ia32/lithium-codegen-ia32.cc __ j(above, false_label); __ 5083 src/ia32/lithium-codegen-ia32.cc __ test_b(FieldOperand(input, Map::kBitFieldOffset), __ 5088 src/ia32/lithium-codegen-ia32.cc __ jmp(false_label); __ 5106 src/ia32/lithium-codegen-ia32.cc __ mov(temp, Operand(ebp, StandardFrameConstants::kCallerFPOffset)); __ 5110 src/ia32/lithium-codegen-ia32.cc __ cmp(Operand(temp, StandardFrameConstants::kContextOffset), __ 5112 src/ia32/lithium-codegen-ia32.cc __ j(not_equal, &check_frame_marker, Label::kNear); __ 5113 src/ia32/lithium-codegen-ia32.cc __ mov(temp, Operand(temp, StandardFrameConstants::kCallerFPOffset)); __ 5116 src/ia32/lithium-codegen-ia32.cc __ bind(&check_frame_marker); __ 5117 src/ia32/lithium-codegen-ia32.cc __ cmp(Operand(temp, StandardFrameConstants::kMarkerOffset), __ 5129 src/ia32/lithium-codegen-ia32.cc __ Nop(padding_size); __ 5152 src/ia32/lithium-codegen-ia32.cc __ push(ToOperand(obj)); __ 5162 src/ia32/lithium-codegen-ia32.cc __ push(Immediate(Smi::FromInt(strict_mode_flag()))); __ 5163 src/ia32/lithium-codegen-ia32.cc __ InvokeBuiltin(Builtins::DELETE, CALL_FUNCTION, safepoint_generator); __ 5169 src/ia32/lithium-codegen-ia32.cc __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); __ 5170 src/ia32/lithium-codegen-ia32.cc __ CallRuntimeSaveDoubles(Runtime::kStackGuard); __ 5199 src/ia32/lithium-codegen-ia32.cc __ cmp(esp, Operand::StaticVariable(stack_limit)); __ 5200 src/ia32/lithium-codegen-ia32.cc __ j(above_equal, &done, Label::kNear); __ 5207 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 5217 src/ia32/lithium-codegen-ia32.cc __ cmp(esp, Operand::StaticVariable(stack_limit)); __ 5218 src/ia32/lithium-codegen-ia32.cc __ j(below, deferred_stack_check->entry()); __ 5220 src/ia32/lithium-codegen-ia32.cc __ bind(instr->done_label()); __ 5257 src/ia32/lithium-codegen-ia32.cc __ InvokeBuiltin(Builtins::IN, CALL_FUNCTION, safepoint_generator); __ 5262 src/ia32/lithium-codegen-ia32.cc __ cmp(eax, isolate()->factory()->undefined_value()); __ 5265 src/ia32/lithium-codegen-ia32.cc __ cmp(eax, isolate()->factory()->null_value()); __ 5268 src/ia32/lithium-codegen-ia32.cc __ test(eax, Immediate(kSmiTagMask)); __ 5272 src/ia32/lithium-codegen-ia32.cc __ CmpObjectType(eax, LAST_JS_PROXY_TYPE, ecx); __ 5276 src/ia32/lithium-codegen-ia32.cc __ CheckEnumCache(&call_runtime); __ 5278 src/ia32/lithium-codegen-ia32.cc __ mov(eax, FieldOperand(eax, HeapObject::kMapOffset)); __ 5279 src/ia32/lithium-codegen-ia32.cc __ jmp(&use_cache, Label::kNear); __ 5282 src/ia32/lithium-codegen-ia32.cc __ bind(&call_runtime); __ 5283 src/ia32/lithium-codegen-ia32.cc __ push(eax); __ 5286 src/ia32/lithium-codegen-ia32.cc __ cmp(FieldOperand(eax, HeapObject::kMapOffset), __ 5289 src/ia32/lithium-codegen-ia32.cc __ bind(&use_cache); __ 5296 src/ia32/lithium-codegen-ia32.cc __ LoadInstanceDescriptors(map, result); __ 5297 src/ia32/lithium-codegen-ia32.cc __ mov(result, __ 5299 src/ia32/lithium-codegen-ia32.cc __ mov(result, __ 5301 src/ia32/lithium-codegen-ia32.cc __ test(result, result); __ 5308 src/ia32/lithium-codegen-ia32.cc __ cmp(ToRegister(instr->map()), __ 5319 src/ia32/lithium-codegen-ia32.cc __ cmp(index, Immediate(0)); __ 5320 src/ia32/lithium-codegen-ia32.cc __ j(less, &out_of_object); __ 5321 src/ia32/lithium-codegen-ia32.cc __ mov(object, FieldOperand(object, __ 5325 src/ia32/lithium-codegen-ia32.cc __ jmp(&done, Label::kNear); __ 5327 src/ia32/lithium-codegen-ia32.cc __ bind(&out_of_object); __ 5328 src/ia32/lithium-codegen-ia32.cc __ mov(object, FieldOperand(object, JSObject::kPropertiesOffset)); __ 5329 src/ia32/lithium-codegen-ia32.cc __ neg(index); __ 5331 src/ia32/lithium-codegen-ia32.cc __ mov(object, FieldOperand(object, __ 5335 src/ia32/lithium-codegen-ia32.cc __ bind(&done); __ 232 src/ia32/lithium-gap-resolver-ia32.cc __ pop(Register::FromAllocationIndex(spilled_register_)); __ 241 src/ia32/lithium-gap-resolver-ia32.cc __ pop(Register::FromAllocationIndex(spilled_register_)); __ 262 src/ia32/lithium-gap-resolver-ia32.cc __ push(scratch); __ 270 src/ia32/lithium-gap-resolver-ia32.cc __ push(scratch); __ 288 src/ia32/lithium-gap-resolver-ia32.cc __ mov(dst, src); __ 295 src/ia32/lithium-gap-resolver-ia32.cc __ mov(dst, src); __ 301 src/ia32/lithium-gap-resolver-ia32.cc __ mov(tmp, src); __ 302 src/ia32/lithium-gap-resolver-ia32.cc __ mov(dst, tmp); __ 310 src/ia32/lithium-gap-resolver-ia32.cc __ Set(dst, cgen_->ToInteger32Immediate(constant_source)); __ 312 src/ia32/lithium-gap-resolver-ia32.cc __ LoadObject(dst, cgen_->ToHandle(constant_source)); __ 318 src/ia32/lithium-gap-resolver-ia32.cc __ Set(dst, cgen_->ToInteger32Immediate(constant_source)); __ 321 src/ia32/lithium-gap-resolver-ia32.cc __ LoadObject(tmp, cgen_->ToHandle(constant_source)); __ 322 src/ia32/lithium-gap-resolver-ia32.cc __ mov(dst, tmp); __ 330 src/ia32/lithium-gap-resolver-ia32.cc __ movaps(dst, src); __ 334 src/ia32/lithium-gap-resolver-ia32.cc __ movdbl(dst, src); __ 342 src/ia32/lithium-gap-resolver-ia32.cc __ movdbl(dst, src); __ 346 src/ia32/lithium-gap-resolver-ia32.cc __ movdbl(xmm0, src); __ 347 src/ia32/lithium-gap-resolver-ia32.cc __ movdbl(dst, xmm0); __ 370 src/ia32/lithium-gap-resolver-ia32.cc __ xchg(dst, src); __ 383 src/ia32/lithium-gap-resolver-ia32.cc __ xor_(reg, mem); __ 384 src/ia32/lithium-gap-resolver-ia32.cc __ xor_(mem, reg); __ 385 src/ia32/lithium-gap-resolver-ia32.cc __ xor_(reg, mem); __ 387 src/ia32/lithium-gap-resolver-ia32.cc __ mov(tmp, mem); __ 388 src/ia32/lithium-gap-resolver-ia32.cc __ mov(mem, reg); __ 389 src/ia32/lithium-gap-resolver-ia32.cc __ mov(reg, tmp); __ 401 src/ia32/lithium-gap-resolver-ia32.cc __ mov(tmp0, dst); __ 402 src/ia32/lithium-gap-resolver-ia32.cc __ xor_(tmp0, src); __ 403 src/ia32/lithium-gap-resolver-ia32.cc __ xor_(src, tmp0); __ 404 src/ia32/lithium-gap-resolver-ia32.cc __ xor_(tmp0, src); __ 405 src/ia32/lithium-gap-resolver-ia32.cc __ mov(dst, tmp0); __ 407 src/ia32/lithium-gap-resolver-ia32.cc __ mov(tmp0, dst); __ 408 src/ia32/lithium-gap-resolver-ia32.cc __ mov(tmp1, src); __ 409 src/ia32/lithium-gap-resolver-ia32.cc __ mov(dst, tmp1); __ 410 src/ia32/lithium-gap-resolver-ia32.cc __ mov(src, tmp0); __ 417 src/ia32/lithium-gap-resolver-ia32.cc __ movaps(xmm0, src); __ 418 src/ia32/lithium-gap-resolver-ia32.cc __ movaps(src, dst); __ 419 src/ia32/lithium-gap-resolver-ia32.cc __ movaps(dst, xmm0); __ 430 src/ia32/lithium-gap-resolver-ia32.cc __ movdbl(xmm0, other); __ 431 src/ia32/lithium-gap-resolver-ia32.cc __ movdbl(other, reg); __ 432 src/ia32/lithium-gap-resolver-ia32.cc __ movdbl(reg, Operand(xmm0)); __ 443 src/ia32/lithium-gap-resolver-ia32.cc __ movdbl(xmm0, dst0); // Save destination in xmm0. __ 444 src/ia32/lithium-gap-resolver-ia32.cc __ mov(tmp, src0); // Then use tmp to copy source to destination. __ 445 src/ia32/lithium-gap-resolver-ia32.cc __ mov(dst0, tmp); __ 446 src/ia32/lithium-gap-resolver-ia32.cc __ mov(tmp, src1); __ 447 src/ia32/lithium-gap-resolver-ia32.cc __ mov(dst1, tmp); __ 448 src/ia32/lithium-gap-resolver-ia32.cc __ movdbl(src0, xmm0); __ 117 src/ia32/regexp-macro-assembler-ia32.cc __ jmp(&entry_label_); // We'll write the entry code later. __ 118 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&start_label_); // And then continue from here. __ 142 src/ia32/regexp-macro-assembler-ia32.cc __ add(edi, Immediate(by * char_size())); __ 151 src/ia32/regexp-macro-assembler-ia32.cc __ add(register_location(reg), Immediate(by)); __ 160 src/ia32/regexp-macro-assembler-ia32.cc __ add(ebx, Immediate(masm_->CodeObject())); __ 161 src/ia32/regexp-macro-assembler-ia32.cc __ jmp(ebx); __ 166 src/ia32/regexp-macro-assembler-ia32.cc __ bind(label); __ 171 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(current_character(), c); __ 177 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(current_character(), limit); __ 185 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(Operand(ebp, kStartIndex), Immediate(0)); __ 188 src/ia32/regexp-macro-assembler-ia32.cc __ lea(eax, Operand(esi, edi, times_1, 0)); __ 189 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(eax, Operand(ebp, kInputStart)); __ 191 src/ia32/regexp-macro-assembler-ia32.cc __ bind(¬_at_start); __ 197 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(Operand(ebp, kStartIndex), Immediate(0)); __ 200 src/ia32/regexp-macro-assembler-ia32.cc __ lea(eax, Operand(esi, edi, times_1, 0)); __ 201 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(eax, Operand(ebp, kInputStart)); __ 207 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(current_character(), limit); __ 227 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(edi, Immediate(-(byte_offset + byte_length))); __ 242 src/ia32/regexp-macro-assembler-ia32.cc __ cmpb(Operand(esi, edi, times_1, byte_offset), __ 247 src/ia32/regexp-macro-assembler-ia32.cc __ movzx_w(eax, __ 249 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(eax, static_cast<int32_t>(str[0])); __ 253 src/ia32/regexp-macro-assembler-ia32.cc __ lea(ebx, Operand(esi, edi, times_1, 0)); __ 262 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(Operand(ebx, byte_offset + i), Immediate(combined_chars)); __ 265 src/ia32/regexp-macro-assembler-ia32.cc __ cmpb(Operand(ebx, byte_offset + i), __ 272 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(Operand(ebx, byte_offset + i * sizeof(uc16)), __ 281 src/ia32/regexp-macro-assembler-ia32.cc __ movzx_w(eax, __ 283 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(eax, static_cast<int32_t>(str[i])); __ 294 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(edi, Operand(backtrack_stackpointer(), 0)); __ 295 src/ia32/regexp-macro-assembler-ia32.cc __ j(not_equal, &fallthrough); __ 296 src/ia32/regexp-macro-assembler-ia32.cc __ add(backtrack_stackpointer(), Immediate(kPointerSize)); // Pop. __ 298 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&fallthrough); __ 306 src/ia32/regexp-macro-assembler-ia32.cc __ mov(edx, register_location(start_reg)); // Index of start of capture __ 307 src/ia32/regexp-macro-assembler-ia32.cc __ mov(ebx, register_location(start_reg + 1)); // Index of end of capture __ 308 src/ia32/regexp-macro-assembler-ia32.cc __ sub(ebx, edx); // Length of capture. __ 317 src/ia32/regexp-macro-assembler-ia32.cc __ j(equal, &fallthrough); __ 320 src/ia32/regexp-macro-assembler-ia32.cc __ mov(eax, edi); __ 321 src/ia32/regexp-macro-assembler-ia32.cc __ add(eax, ebx); __ 329 src/ia32/regexp-macro-assembler-ia32.cc __ push(edi); __ 330 src/ia32/regexp-macro-assembler-ia32.cc __ push(backtrack_stackpointer()); __ 333 src/ia32/regexp-macro-assembler-ia32.cc __ add(edx, esi); // Start of capture __ 334 src/ia32/regexp-macro-assembler-ia32.cc __ add(edi, esi); // Start of text to match against capture. __ 335 src/ia32/regexp-macro-assembler-ia32.cc __ add(ebx, edi); // End of text to match against capture. __ 338 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&loop); __ 339 src/ia32/regexp-macro-assembler-ia32.cc __ movzx_b(eax, Operand(edi, 0)); __ 340 src/ia32/regexp-macro-assembler-ia32.cc __ cmpb_al(Operand(edx, 0)); __ 341 src/ia32/regexp-macro-assembler-ia32.cc __ j(equal, &loop_increment); __ 344 src/ia32/regexp-macro-assembler-ia32.cc __ or_(eax, 0x20); // Convert match character to lower-case. __ 345 src/ia32/regexp-macro-assembler-ia32.cc __ lea(ecx, Operand(eax, -'a')); __ 346 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(ecx, static_cast<int32_t>('z' - 'a')); // Is eax a lowercase letter? __ 347 src/ia32/regexp-macro-assembler-ia32.cc __ j(above, &fail); __ 349 src/ia32/regexp-macro-assembler-ia32.cc __ movzx_b(ecx, Operand(edx, 0)); __ 350 src/ia32/regexp-macro-assembler-ia32.cc __ or_(ecx, 0x20); __ 352 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(eax, ecx); __ 353 src/ia32/regexp-macro-assembler-ia32.cc __ j(not_equal, &fail); __ 355 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&loop_increment); __ 357 src/ia32/regexp-macro-assembler-ia32.cc __ add(edx, Immediate(1)); __ 358 src/ia32/regexp-macro-assembler-ia32.cc __ add(edi, Immediate(1)); __ 360 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(edi, ebx); __ 361 src/ia32/regexp-macro-assembler-ia32.cc __ j(below, &loop); __ 362 src/ia32/regexp-macro-assembler-ia32.cc __ jmp(&success); __ 364 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&fail); __ 366 src/ia32/regexp-macro-assembler-ia32.cc __ pop(backtrack_stackpointer()); __ 367 src/ia32/regexp-macro-assembler-ia32.cc __ pop(edi); __ 370 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&success); __ 372 src/ia32/regexp-macro-assembler-ia32.cc __ pop(backtrack_stackpointer()); __ 374 src/ia32/regexp-macro-assembler-ia32.cc __ add(esp, Immediate(kPointerSize)); __ 376 src/ia32/regexp-macro-assembler-ia32.cc __ sub(edi, esi); __ 380 src/ia32/regexp-macro-assembler-ia32.cc __ push(esi); __ 381 src/ia32/regexp-macro-assembler-ia32.cc __ push(edi); __ 382 src/ia32/regexp-macro-assembler-ia32.cc __ push(backtrack_stackpointer()); __ 383 src/ia32/regexp-macro-assembler-ia32.cc __ push(ebx); __ 386 src/ia32/regexp-macro-assembler-ia32.cc __ PrepareCallCFunction(argument_count, ecx); __ 395 src/ia32/regexp-macro-assembler-ia32.cc __ mov(Operand(esp, 3 * kPointerSize), __ 398 src/ia32/regexp-macro-assembler-ia32.cc __ mov(Operand(esp, 2 * kPointerSize), ebx); __ 402 src/ia32/regexp-macro-assembler-ia32.cc __ add(edi, esi); __ 403 src/ia32/regexp-macro-assembler-ia32.cc __ mov(Operand(esp, 1 * kPointerSize), edi); __ 406 src/ia32/regexp-macro-assembler-ia32.cc __ add(edx, esi); __ 407 src/ia32/regexp-macro-assembler-ia32.cc __ mov(Operand(esp, 0 * kPointerSize), edx); __ 413 src/ia32/regexp-macro-assembler-ia32.cc __ CallCFunction(compare, argument_count); __ 416 src/ia32/regexp-macro-assembler-ia32.cc __ pop(ebx); __ 417 src/ia32/regexp-macro-assembler-ia32.cc __ pop(backtrack_stackpointer()); __ 418 src/ia32/regexp-macro-assembler-ia32.cc __ pop(edi); __ 419 src/ia32/regexp-macro-assembler-ia32.cc __ pop(esi); __ 422 src/ia32/regexp-macro-assembler-ia32.cc __ or_(eax, eax); __ 425 src/ia32/regexp-macro-assembler-ia32.cc __ add(edi, ebx); __ 427 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&fallthrough); __ 439 src/ia32/regexp-macro-assembler-ia32.cc __ mov(edx, register_location(start_reg)); __ 440 src/ia32/regexp-macro-assembler-ia32.cc __ mov(eax, register_location(start_reg + 1)); __ 441 src/ia32/regexp-macro-assembler-ia32.cc __ sub(eax, edx); // Length to check. __ 445 src/ia32/regexp-macro-assembler-ia32.cc __ j(equal, &fallthrough); __ 448 src/ia32/regexp-macro-assembler-ia32.cc __ mov(ebx, edi); __ 449 src/ia32/regexp-macro-assembler-ia32.cc __ add(ebx, eax); __ 453 src/ia32/regexp-macro-assembler-ia32.cc __ push(backtrack_stackpointer()); __ 456 src/ia32/regexp-macro-assembler-ia32.cc __ lea(ebx, Operand(esi, edi, times_1, 0)); // Start of match. __ 457 src/ia32/regexp-macro-assembler-ia32.cc __ add(edx, esi); // Start of capture. __ 458 src/ia32/regexp-macro-assembler-ia32.cc __ lea(ecx, Operand(eax, ebx, times_1, 0)); // End of match __ 461 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&loop); __ 463 src/ia32/regexp-macro-assembler-ia32.cc __ movzx_b(eax, Operand(edx, 0)); __ 464 src/ia32/regexp-macro-assembler-ia32.cc __ cmpb_al(Operand(ebx, 0)); __ 467 src/ia32/regexp-macro-assembler-ia32.cc __ movzx_w(eax, Operand(edx, 0)); __ 468 src/ia32/regexp-macro-assembler-ia32.cc __ cmpw_ax(Operand(ebx, 0)); __ 470 src/ia32/regexp-macro-assembler-ia32.cc __ j(not_equal, &fail); __ 472 src/ia32/regexp-macro-assembler-ia32.cc __ add(edx, Immediate(char_size())); __ 473 src/ia32/regexp-macro-assembler-ia32.cc __ add(ebx, Immediate(char_size())); __ 475 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(ebx, ecx); __ 476 src/ia32/regexp-macro-assembler-ia32.cc __ j(below, &loop); __ 477 src/ia32/regexp-macro-assembler-ia32.cc __ jmp(&success); __ 479 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&fail); __ 481 src/ia32/regexp-macro-assembler-ia32.cc __ pop(backtrack_stackpointer()); __ 484 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&success); __ 486 src/ia32/regexp-macro-assembler-ia32.cc __ mov(edi, ecx); __ 487 src/ia32/regexp-macro-assembler-ia32.cc __ sub(edi, esi); __ 489 src/ia32/regexp-macro-assembler-ia32.cc __ pop(backtrack_stackpointer()); __ 491 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&fallthrough); __ 497 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(current_character(), c); __ 506 src/ia32/regexp-macro-assembler-ia32.cc __ test(current_character(), Immediate(mask)); __ 508 src/ia32/regexp-macro-assembler-ia32.cc __ mov(eax, mask); __ 509 src/ia32/regexp-macro-assembler-ia32.cc __ and_(eax, current_character()); __ 510 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(eax, c); __ 520 src/ia32/regexp-macro-assembler-ia32.cc __ test(current_character(), Immediate(mask)); __ 522 src/ia32/regexp-macro-assembler-ia32.cc __ mov(eax, mask); __ 523 src/ia32/regexp-macro-assembler-ia32.cc __ and_(eax, current_character()); __ 524 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(eax, c); __ 536 src/ia32/regexp-macro-assembler-ia32.cc __ lea(eax, Operand(current_character(), -minus)); __ 538 src/ia32/regexp-macro-assembler-ia32.cc __ test(eax, Immediate(mask)); __ 540 src/ia32/regexp-macro-assembler-ia32.cc __ and_(eax, mask); __ 541 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(eax, c); __ 551 src/ia32/regexp-macro-assembler-ia32.cc __ lea(eax, Operand(current_character(), -from)); __ 552 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(eax, to - from); __ 561 src/ia32/regexp-macro-assembler-ia32.cc __ lea(eax, Operand(current_character(), -from)); __ 562 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(eax, to - from); __ 570 src/ia32/regexp-macro-assembler-ia32.cc __ mov(eax, Immediate(table)); __ 573 src/ia32/regexp-macro-assembler-ia32.cc __ mov(ebx, kTableSize - 1); __ 574 src/ia32/regexp-macro-assembler-ia32.cc __ and_(ebx, current_character()); __ 577 src/ia32/regexp-macro-assembler-ia32.cc __ cmpb(FieldOperand(eax, index, times_1, ByteArray::kHeaderSize), 0); __ 592 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(current_character(), ' '); __ 593 src/ia32/regexp-macro-assembler-ia32.cc __ j(equal, &success); __ 595 src/ia32/regexp-macro-assembler-ia32.cc __ lea(eax, Operand(current_character(), -'\t')); __ 596 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(eax, '\r' - '\t'); __ 598 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&success); __ 606 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(current_character(), ' '); __ 608 src/ia32/regexp-macro-assembler-ia32.cc __ lea(eax, Operand(current_character(), -'\t')); __ 609 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(eax, '\r' - '\t'); __ 616 src/ia32/regexp-macro-assembler-ia32.cc __ lea(eax, Operand(current_character(), -'0')); __ 617 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(eax, '9' - '0'); __ 622 src/ia32/regexp-macro-assembler-ia32.cc __ lea(eax, Operand(current_character(), -'0')); __ 623 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(eax, '9' - '0'); __ 628 src/ia32/regexp-macro-assembler-ia32.cc __ mov(eax, current_character()); __ 629 src/ia32/regexp-macro-assembler-ia32.cc __ xor_(eax, Immediate(0x01)); __ 631 src/ia32/regexp-macro-assembler-ia32.cc __ sub(eax, Immediate(0x0b)); __ 632 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(eax, 0x0c - 0x0b); __ 638 src/ia32/regexp-macro-assembler-ia32.cc __ sub(eax, Immediate(0x2028 - 0x0b)); __ 639 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(eax, 0x2029 - 0x2028); __ 647 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(current_character(), Immediate('z')); __ 652 src/ia32/regexp-macro-assembler-ia32.cc __ test_b(current_character(), __ 661 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(current_character(), Immediate('z')); __ 662 src/ia32/regexp-macro-assembler-ia32.cc __ j(above, &done); __ 666 src/ia32/regexp-macro-assembler-ia32.cc __ test_b(current_character(), __ 670 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&done); __ 681 src/ia32/regexp-macro-assembler-ia32.cc __ mov(eax, current_character()); __ 682 src/ia32/regexp-macro-assembler-ia32.cc __ xor_(eax, Immediate(0x01)); __ 684 src/ia32/regexp-macro-assembler-ia32.cc __ sub(eax, Immediate(0x0b)); __ 685 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(eax, 0x0c - 0x0b); __ 695 src/ia32/regexp-macro-assembler-ia32.cc __ sub(eax, Immediate(0x2028 - 0x0b)); __ 696 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(eax, 1); __ 698 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&done); __ 712 src/ia32/regexp-macro-assembler-ia32.cc __ Set(eax, Immediate(FAILURE)); __ 714 src/ia32/regexp-macro-assembler-ia32.cc __ jmp(&exit_label_); __ 724 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&entry_label_); __ 731 src/ia32/regexp-macro-assembler-ia32.cc __ push(ebp); __ 732 src/ia32/regexp-macro-assembler-ia32.cc __ mov(ebp, esp); __ 735 src/ia32/regexp-macro-assembler-ia32.cc __ push(esi); __ 736 src/ia32/regexp-macro-assembler-ia32.cc __ push(edi); __ 737 src/ia32/regexp-macro-assembler-ia32.cc __ push(ebx); // Callee-save on MacOS. __ 738 src/ia32/regexp-macro-assembler-ia32.cc __ push(Immediate(0)); // Number of successful matches in a global regexp. __ 739 src/ia32/regexp-macro-assembler-ia32.cc __ push(Immediate(0)); // Make room for "input start - 1" constant. __ 747 src/ia32/regexp-macro-assembler-ia32.cc __ mov(ecx, esp); __ 748 src/ia32/regexp-macro-assembler-ia32.cc __ sub(ecx, Operand::StaticVariable(stack_limit)); __ 750 src/ia32/regexp-macro-assembler-ia32.cc __ j(below_equal, &stack_limit_hit); __ 753 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(ecx, num_registers_ * kPointerSize); __ 754 src/ia32/regexp-macro-assembler-ia32.cc __ j(above_equal, &stack_ok); __ 757 src/ia32/regexp-macro-assembler-ia32.cc __ mov(eax, EXCEPTION); __ 758 src/ia32/regexp-macro-assembler-ia32.cc __ jmp(&return_eax); __ 760 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&stack_limit_hit); __ 762 src/ia32/regexp-macro-assembler-ia32.cc __ or_(eax, eax); __ 764 src/ia32/regexp-macro-assembler-ia32.cc __ j(not_zero, &return_eax); __ 766 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&stack_ok); __ 768 src/ia32/regexp-macro-assembler-ia32.cc __ mov(ebx, Operand(ebp, kStartIndex)); __ 771 src/ia32/regexp-macro-assembler-ia32.cc __ sub(esp, Immediate(num_registers_ * kPointerSize)); __ 773 src/ia32/regexp-macro-assembler-ia32.cc __ mov(esi, Operand(ebp, kInputEnd)); __ 775 src/ia32/regexp-macro-assembler-ia32.cc __ mov(edi, Operand(ebp, kInputStart)); __ 777 src/ia32/regexp-macro-assembler-ia32.cc __ sub(edi, esi); __ 781 src/ia32/regexp-macro-assembler-ia32.cc __ neg(ebx); __ 783 src/ia32/regexp-macro-assembler-ia32.cc __ lea(eax, Operand(edi, ebx, times_2, -char_size())); __ 785 src/ia32/regexp-macro-assembler-ia32.cc __ lea(eax, Operand(edi, ebx, times_1, -char_size())); __ 789 src/ia32/regexp-macro-assembler-ia32.cc __ mov(Operand(ebp, kInputStartMinusOne), eax); __ 799 src/ia32/regexp-macro-assembler-ia32.cc __ mov(register_location(i), eax); // One write every page. __ 805 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(Operand(ebp, kStartIndex), Immediate(0)); __ 806 src/ia32/regexp-macro-assembler-ia32.cc __ j(not_equal, &load_char_start_regexp, Label::kNear); __ 807 src/ia32/regexp-macro-assembler-ia32.cc __ mov(current_character(), '\n'); __ 808 src/ia32/regexp-macro-assembler-ia32.cc __ jmp(&start_regexp, Label::kNear); __ 811 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&load_char_start_regexp); __ 814 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&start_regexp); __ 822 src/ia32/regexp-macro-assembler-ia32.cc __ mov(ecx, kRegisterZero); __ 824 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&init_loop); __ 825 src/ia32/regexp-macro-assembler-ia32.cc __ mov(Operand(ebp, ecx, times_1, 0), eax); __ 826 src/ia32/regexp-macro-assembler-ia32.cc __ sub(ecx, Immediate(kPointerSize)); __ 827 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(ecx, kRegisterZero - num_saved_registers_ * kPointerSize); __ 828 src/ia32/regexp-macro-assembler-ia32.cc __ j(greater, &init_loop); __ 831 src/ia32/regexp-macro-assembler-ia32.cc __ mov(register_location(i), eax); __ 837 src/ia32/regexp-macro-assembler-ia32.cc __ mov(backtrack_stackpointer(), Operand(ebp, kStackHighEnd)); __ 839 src/ia32/regexp-macro-assembler-ia32.cc __ jmp(&start_label_); __ 844 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&success_label_); __ 847 src/ia32/regexp-macro-assembler-ia32.cc __ mov(ebx, Operand(ebp, kRegisterOutput)); __ 848 src/ia32/regexp-macro-assembler-ia32.cc __ mov(ecx, Operand(ebp, kInputEnd)); __ 849 src/ia32/regexp-macro-assembler-ia32.cc __ mov(edx, Operand(ebp, kStartIndex)); __ 850 src/ia32/regexp-macro-assembler-ia32.cc __ sub(ecx, Operand(ebp, kInputStart)); __ 852 src/ia32/regexp-macro-assembler-ia32.cc __ lea(ecx, Operand(ecx, edx, times_2, 0)); __ 854 src/ia32/regexp-macro-assembler-ia32.cc __ add(ecx, edx); __ 857 src/ia32/regexp-macro-assembler-ia32.cc __ mov(eax, register_location(i)); __ 860 src/ia32/regexp-macro-assembler-ia32.cc __ mov(edx, eax); __ 863 src/ia32/regexp-macro-assembler-ia32.cc __ add(eax, ecx); __ 865 src/ia32/regexp-macro-assembler-ia32.cc __ sar(eax, 1); // Convert byte index to character index. __ 867 src/ia32/regexp-macro-assembler-ia32.cc __ mov(Operand(ebx, i * kPointerSize), eax); __ 874 src/ia32/regexp-macro-assembler-ia32.cc __ inc(Operand(ebp, kSuccessfulCaptures)); __ 877 src/ia32/regexp-macro-assembler-ia32.cc __ mov(ecx, Operand(ebp, kNumOutputRegisters)); __ 878 src/ia32/regexp-macro-assembler-ia32.cc __ sub(ecx, Immediate(num_saved_registers_)); __ 880 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(ecx, Immediate(num_saved_registers_)); __ 881 src/ia32/regexp-macro-assembler-ia32.cc __ j(less, &exit_label_); __ 883 src/ia32/regexp-macro-assembler-ia32.cc __ mov(Operand(ebp, kNumOutputRegisters), ecx); __ 885 src/ia32/regexp-macro-assembler-ia32.cc __ add(Operand(ebp, kRegisterOutput), __ 889 src/ia32/regexp-macro-assembler-ia32.cc __ mov(eax, Operand(ebp, kInputStartMinusOne)); __ 894 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(edi, edx); __ 896 src/ia32/regexp-macro-assembler-ia32.cc __ j(not_equal, &load_char_start_regexp); __ 898 src/ia32/regexp-macro-assembler-ia32.cc __ test(edi, edi); __ 899 src/ia32/regexp-macro-assembler-ia32.cc __ j(zero, &exit_label_, Label::kNear); __ 902 src/ia32/regexp-macro-assembler-ia32.cc __ add(edi, Immediate(2)); __ 904 src/ia32/regexp-macro-assembler-ia32.cc __ inc(edi); __ 908 src/ia32/regexp-macro-assembler-ia32.cc __ jmp(&load_char_start_regexp); __ 910 src/ia32/regexp-macro-assembler-ia32.cc __ mov(eax, Immediate(SUCCESS)); __ 914 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&exit_label_); __ 917 src/ia32/regexp-macro-assembler-ia32.cc __ mov(eax, Operand(ebp, kSuccessfulCaptures)); __ 920 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&return_eax); __ 922 src/ia32/regexp-macro-assembler-ia32.cc __ lea(esp, Operand(ebp, kBackup_ebx)); __ 924 src/ia32/regexp-macro-assembler-ia32.cc __ pop(ebx); __ 925 src/ia32/regexp-macro-assembler-ia32.cc __ pop(edi); __ 926 src/ia32/regexp-macro-assembler-ia32.cc __ pop(esi); __ 928 src/ia32/regexp-macro-assembler-ia32.cc __ pop(ebp); __ 929 src/ia32/regexp-macro-assembler-ia32.cc __ ret(0); __ 933 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&backtrack_label_); __ 943 src/ia32/regexp-macro-assembler-ia32.cc __ push(backtrack_stackpointer()); __ 944 src/ia32/regexp-macro-assembler-ia32.cc __ push(edi); __ 947 src/ia32/regexp-macro-assembler-ia32.cc __ or_(eax, eax); __ 950 src/ia32/regexp-macro-assembler-ia32.cc __ j(not_zero, &return_eax); __ 952 src/ia32/regexp-macro-assembler-ia32.cc __ pop(edi); __ 953 src/ia32/regexp-macro-assembler-ia32.cc __ pop(backtrack_stackpointer()); __ 955 src/ia32/regexp-macro-assembler-ia32.cc __ mov(esi, Operand(ebp, kInputEnd)); __ 966 src/ia32/regexp-macro-assembler-ia32.cc __ push(esi); __ 967 src/ia32/regexp-macro-assembler-ia32.cc __ push(edi); __ 971 src/ia32/regexp-macro-assembler-ia32.cc __ PrepareCallCFunction(num_arguments, ebx); __ 972 src/ia32/regexp-macro-assembler-ia32.cc __ mov(Operand(esp, 2 * kPointerSize), __ 974 src/ia32/regexp-macro-assembler-ia32.cc __ lea(eax, Operand(ebp, kStackHighEnd)); __ 975 src/ia32/regexp-macro-assembler-ia32.cc __ mov(Operand(esp, 1 * kPointerSize), eax); __ 976 src/ia32/regexp-macro-assembler-ia32.cc __ mov(Operand(esp, 0 * kPointerSize), backtrack_stackpointer()); __ 979 src/ia32/regexp-macro-assembler-ia32.cc __ CallCFunction(grow_stack, num_arguments); __ 982 src/ia32/regexp-macro-assembler-ia32.cc __ or_(eax, eax); __ 983 src/ia32/regexp-macro-assembler-ia32.cc __ j(equal, &exit_with_exception); __ 985 src/ia32/regexp-macro-assembler-ia32.cc __ mov(backtrack_stackpointer(), eax); __ 987 src/ia32/regexp-macro-assembler-ia32.cc __ pop(edi); __ 988 src/ia32/regexp-macro-assembler-ia32.cc __ pop(esi); __ 994 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&exit_with_exception); __ 996 src/ia32/regexp-macro-assembler-ia32.cc __ mov(eax, EXCEPTION); __ 997 src/ia32/regexp-macro-assembler-ia32.cc __ jmp(&return_eax); __ 1019 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(register_location(reg), Immediate(comparand)); __ 1027 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(register_location(reg), Immediate(comparand)); __ 1034 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(edi, register_location(reg)); __ 1065 src/ia32/regexp-macro-assembler-ia32.cc __ mov(register_location(register_index), eax); __ 1082 src/ia32/regexp-macro-assembler-ia32.cc __ mov(eax, register_location(register_index)); __ 1089 src/ia32/regexp-macro-assembler-ia32.cc __ mov(edi, register_location(reg)); __ 1094 src/ia32/regexp-macro-assembler-ia32.cc __ mov(backtrack_stackpointer(), register_location(reg)); __ 1095 src/ia32/regexp-macro-assembler-ia32.cc __ add(backtrack_stackpointer(), Operand(ebp, kStackHighEnd)); __ 1100 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(edi, -by * char_size()); __ 1101 src/ia32/regexp-macro-assembler-ia32.cc __ j(greater_equal, &after_position, Label::kNear); __ 1102 src/ia32/regexp-macro-assembler-ia32.cc __ mov(edi, -by * char_size()); __ 1107 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&after_position); __ 1112 src/ia32/regexp-macro-assembler-ia32.cc __ mov(register_location(register_index), Immediate(to)); __ 1117 src/ia32/regexp-macro-assembler-ia32.cc __ jmp(&success_label_); __ 1125 src/ia32/regexp-macro-assembler-ia32.cc __ mov(register_location(reg), edi); __ 1127 src/ia32/regexp-macro-assembler-ia32.cc __ lea(eax, Operand(edi, cp_offset * char_size())); __ 1128 src/ia32/regexp-macro-assembler-ia32.cc __ mov(register_location(reg), eax); __ 1135 src/ia32/regexp-macro-assembler-ia32.cc __ mov(eax, Operand(ebp, kInputStartMinusOne)); __ 1137 src/ia32/regexp-macro-assembler-ia32.cc __ mov(register_location(reg), eax); __ 1143 src/ia32/regexp-macro-assembler-ia32.cc __ mov(eax, backtrack_stackpointer()); __ 1144 src/ia32/regexp-macro-assembler-ia32.cc __ sub(eax, Operand(ebp, kStackHighEnd)); __ 1145 src/ia32/regexp-macro-assembler-ia32.cc __ mov(register_location(reg), eax); __ 1153 src/ia32/regexp-macro-assembler-ia32.cc __ PrepareCallCFunction(num_arguments, scratch); __ 1155 src/ia32/regexp-macro-assembler-ia32.cc __ mov(Operand(esp, 2 * kPointerSize), ebp); __ 1157 src/ia32/regexp-macro-assembler-ia32.cc __ mov(Operand(esp, 1 * kPointerSize), Immediate(masm_->CodeObject())); __ 1159 src/ia32/regexp-macro-assembler-ia32.cc __ lea(eax, Operand(esp, -kPointerSize)); __ 1160 src/ia32/regexp-macro-assembler-ia32.cc __ mov(Operand(esp, 0 * kPointerSize), eax); __ 1163 src/ia32/regexp-macro-assembler-ia32.cc __ CallCFunction(check_stack_guard, num_arguments); __ 1284 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(edi, -cp_offset * char_size()); __ 1296 src/ia32/regexp-macro-assembler-ia32.cc __ jmp(to); __ 1300 src/ia32/regexp-macro-assembler-ia32.cc __ j(condition, &backtrack_label_); __ 1303 src/ia32/regexp-macro-assembler-ia32.cc __ j(condition, to); __ 1309 src/ia32/regexp-macro-assembler-ia32.cc __ push(Immediate::CodeRelativeOffset(&return_to)); __ 1310 src/ia32/regexp-macro-assembler-ia32.cc __ jmp(to); __ 1311 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&return_to); __ 1316 src/ia32/regexp-macro-assembler-ia32.cc __ pop(ebx); __ 1317 src/ia32/regexp-macro-assembler-ia32.cc __ add(ebx, Immediate(masm_->CodeObject())); __ 1318 src/ia32/regexp-macro-assembler-ia32.cc __ jmp(ebx); __ 1323 src/ia32/regexp-macro-assembler-ia32.cc __ bind(name); __ 1330 src/ia32/regexp-macro-assembler-ia32.cc __ sub(backtrack_stackpointer(), Immediate(kPointerSize)); __ 1331 src/ia32/regexp-macro-assembler-ia32.cc __ mov(Operand(backtrack_stackpointer(), 0), source); __ 1337 src/ia32/regexp-macro-assembler-ia32.cc __ sub(backtrack_stackpointer(), Immediate(kPointerSize)); __ 1338 src/ia32/regexp-macro-assembler-ia32.cc __ mov(Operand(backtrack_stackpointer(), 0), value); __ 1344 src/ia32/regexp-macro-assembler-ia32.cc __ mov(target, Operand(backtrack_stackpointer(), 0)); __ 1346 src/ia32/regexp-macro-assembler-ia32.cc __ add(backtrack_stackpointer(), Immediate(kPointerSize)); __ 1355 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(esp, Operand::StaticVariable(stack_limit)); __ 1356 src/ia32/regexp-macro-assembler-ia32.cc __ j(above, &no_preempt); __ 1360 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&no_preempt); __ 1368 src/ia32/regexp-macro-assembler-ia32.cc __ cmp(backtrack_stackpointer(), Operand::StaticVariable(stack_limit)); __ 1369 src/ia32/regexp-macro-assembler-ia32.cc __ j(above, &no_stack_overflow); __ 1373 src/ia32/regexp-macro-assembler-ia32.cc __ bind(&no_stack_overflow); __ 1381 src/ia32/regexp-macro-assembler-ia32.cc __ mov(current_character(), Operand(esi, edi, times_1, cp_offset)); __ 1383 src/ia32/regexp-macro-assembler-ia32.cc __ movzx_w(current_character(), Operand(esi, edi, times_1, cp_offset)); __ 1386 src/ia32/regexp-macro-assembler-ia32.cc __ movzx_b(current_character(), Operand(esi, edi, times_1, cp_offset)); __ 1391 src/ia32/regexp-macro-assembler-ia32.cc __ mov(current_character(), __ 1395 src/ia32/regexp-macro-assembler-ia32.cc __ movzx_w(current_character(), __ 58 src/ia32/stub-cache-ia32.cc __ lea(offset, Operand(offset, offset, times_2, 0)); __ 62 src/ia32/stub-cache-ia32.cc __ mov(extra, Operand::StaticArray(offset, times_1, value_offset)); __ 65 src/ia32/stub-cache-ia32.cc __ cmp(name, Operand::StaticArray(offset, times_1, key_offset)); __ 66 src/ia32/stub-cache-ia32.cc __ j(not_equal, &miss); __ 69 src/ia32/stub-cache-ia32.cc __ mov(offset, Operand::StaticArray(offset, times_1, map_offset)); __ 70 src/ia32/stub-cache-ia32.cc __ cmp(offset, FieldOperand(receiver, HeapObject::kMapOffset)); __ 71 src/ia32/stub-cache-ia32.cc __ j(not_equal, &miss); __ 74 src/ia32/stub-cache-ia32.cc __ mov(offset, FieldOperand(extra, Code::kFlagsOffset)); __ 75 src/ia32/stub-cache-ia32.cc __ and_(offset, ~Code::kFlagsNotUsedInLookup); __ 76 src/ia32/stub-cache-ia32.cc __ cmp(offset, flags); __ 77 src/ia32/stub-cache-ia32.cc __ j(not_equal, &miss); __ 81 src/ia32/stub-cache-ia32.cc __ jmp(&miss); __ 83 src/ia32/stub-cache-ia32.cc __ jmp(&miss); __ 88 src/ia32/stub-cache-ia32.cc __ add(extra, Immediate(Code::kHeaderSize - kHeapObjectTag)); __ 89 src/ia32/stub-cache-ia32.cc __ jmp(extra); __ 91 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 94 src/ia32/stub-cache-ia32.cc __ push(offset); __ 97 src/ia32/stub-cache-ia32.cc __ cmp(name, Operand::StaticArray(offset, times_1, key_offset)); __ 98 src/ia32/stub-cache-ia32.cc __ j(not_equal, &miss); __ 101 src/ia32/stub-cache-ia32.cc __ mov(offset, Operand::StaticArray(offset, times_1, map_offset)); __ 102 src/ia32/stub-cache-ia32.cc __ cmp(offset, FieldOperand(receiver, HeapObject::kMapOffset)); __ 103 src/ia32/stub-cache-ia32.cc __ j(not_equal, &miss); __ 106 src/ia32/stub-cache-ia32.cc __ mov(offset, Operand(esp, 0)); __ 109 src/ia32/stub-cache-ia32.cc __ mov(offset, Operand::StaticArray(offset, times_1, value_offset)); __ 112 src/ia32/stub-cache-ia32.cc __ mov(offset, FieldOperand(offset, Code::kFlagsOffset)); __ 113 src/ia32/stub-cache-ia32.cc __ and_(offset, ~Code::kFlagsNotUsedInLookup); __ 114 src/ia32/stub-cache-ia32.cc __ cmp(offset, flags); __ 115 src/ia32/stub-cache-ia32.cc __ j(not_equal, &miss); __ 119 src/ia32/stub-cache-ia32.cc __ jmp(&miss); __ 121 src/ia32/stub-cache-ia32.cc __ jmp(&miss); __ 126 src/ia32/stub-cache-ia32.cc __ pop(offset); __ 127 src/ia32/stub-cache-ia32.cc __ mov(offset, Operand::StaticArray(offset, times_1, value_offset)); __ 130 src/ia32/stub-cache-ia32.cc __ add(offset, Immediate(Code::kHeaderSize - kHeapObjectTag)); __ 131 src/ia32/stub-cache-ia32.cc __ jmp(offset); __ 134 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 135 src/ia32/stub-cache-ia32.cc __ pop(offset); __ 153 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->negative_lookups(), 1); __ 154 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->negative_lookups_miss(), 1); __ 156 src/ia32/stub-cache-ia32.cc __ mov(r0, FieldOperand(receiver, HeapObject::kMapOffset)); __ 162 src/ia32/stub-cache-ia32.cc __ test_b(FieldOperand(r0, Map::kBitFieldOffset), __ 164 src/ia32/stub-cache-ia32.cc __ j(not_zero, miss_label); __ 167 src/ia32/stub-cache-ia32.cc __ CmpInstanceType(r0, FIRST_SPEC_OBJECT_TYPE); __ 168 src/ia32/stub-cache-ia32.cc __ j(below, miss_label); __ 172 src/ia32/stub-cache-ia32.cc __ mov(properties, FieldOperand(receiver, JSObject::kPropertiesOffset)); __ 175 src/ia32/stub-cache-ia32.cc __ cmp(FieldOperand(properties, HeapObject::kMapOffset), __ 177 src/ia32/stub-cache-ia32.cc __ j(not_equal, miss_label); __ 186 src/ia32/stub-cache-ia32.cc __ bind(&done); __ 187 src/ia32/stub-cache-ia32.cc __ DecrementCounter(counters->negative_lookups_miss(), 1); __ 224 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->megamorphic_stub_cache_probes(), 1); __ 227 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(receiver, &miss); __ 230 src/ia32/stub-cache-ia32.cc __ mov(offset, FieldOperand(name, String::kHashFieldOffset)); __ 231 src/ia32/stub-cache-ia32.cc __ add(offset, FieldOperand(receiver, HeapObject::kMapOffset)); __ 232 src/ia32/stub-cache-ia32.cc __ xor_(offset, flags); __ 235 src/ia32/stub-cache-ia32.cc __ and_(offset, (kPrimaryTableSize - 1) << kHeapObjectTagSize); __ 244 src/ia32/stub-cache-ia32.cc __ mov(offset, FieldOperand(name, String::kHashFieldOffset)); __ 245 src/ia32/stub-cache-ia32.cc __ add(offset, FieldOperand(receiver, HeapObject::kMapOffset)); __ 246 src/ia32/stub-cache-ia32.cc __ xor_(offset, flags); __ 247 src/ia32/stub-cache-ia32.cc __ and_(offset, (kPrimaryTableSize - 1) << kHeapObjectTagSize); __ 248 src/ia32/stub-cache-ia32.cc __ sub(offset, name); __ 249 src/ia32/stub-cache-ia32.cc __ add(offset, Immediate(flags)); __ 250 src/ia32/stub-cache-ia32.cc __ and_(offset, (kSecondaryTableSize - 1) << kHeapObjectTagSize); __ 258 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 259 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->megamorphic_stub_cache_misses(), 1); __ 266 src/ia32/stub-cache-ia32.cc __ LoadGlobalFunction(index, prototype); __ 267 src/ia32/stub-cache-ia32.cc __ LoadGlobalFunctionInitialMap(prototype, prototype); __ 269 src/ia32/stub-cache-ia32.cc __ mov(prototype, FieldOperand(prototype, Map::kPrototypeOffset)); __ 279 src/ia32/stub-cache-ia32.cc __ cmp(Operand(esi, Context::SlotOffset(Context::GLOBAL_INDEX)), __ 281 src/ia32/stub-cache-ia32.cc __ j(not_equal, miss); __ 286 src/ia32/stub-cache-ia32.cc __ Set(prototype, Immediate(Handle<Map>(function->initial_map()))); __ 288 src/ia32/stub-cache-ia32.cc __ mov(prototype, FieldOperand(prototype, Map::kPrototypeOffset)); __ 297 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(receiver, miss_label); __ 300 src/ia32/stub-cache-ia32.cc __ CmpObjectType(receiver, JS_ARRAY_TYPE, scratch); __ 301 src/ia32/stub-cache-ia32.cc __ j(not_equal, miss_label); __ 304 src/ia32/stub-cache-ia32.cc __ mov(eax, FieldOperand(receiver, JSArray::kLengthOffset)); __ 305 src/ia32/stub-cache-ia32.cc __ ret(0); __ 317 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(receiver, smi); __ 320 src/ia32/stub-cache-ia32.cc __ mov(scratch, FieldOperand(receiver, HeapObject::kMapOffset)); __ 321 src/ia32/stub-cache-ia32.cc __ movzx_b(scratch, FieldOperand(scratch, Map::kInstanceTypeOffset)); __ 323 src/ia32/stub-cache-ia32.cc __ test(scratch, Immediate(kNotStringTag)); __ 324 src/ia32/stub-cache-ia32.cc __ j(not_zero, non_string_object); __ 342 src/ia32/stub-cache-ia32.cc __ mov(eax, FieldOperand(receiver, String::kLengthOffset)); __ 343 src/ia32/stub-cache-ia32.cc __ ret(0); __ 347 src/ia32/stub-cache-ia32.cc __ bind(&check_wrapper); __ 348 src/ia32/stub-cache-ia32.cc __ cmp(scratch1, JS_VALUE_TYPE); __ 349 src/ia32/stub-cache-ia32.cc __ j(not_equal, miss); __ 353 src/ia32/stub-cache-ia32.cc __ mov(scratch2, FieldOperand(receiver, JSValue::kValueOffset)); __ 355 src/ia32/stub-cache-ia32.cc __ mov(eax, FieldOperand(scratch2, String::kLengthOffset)); __ 356 src/ia32/stub-cache-ia32.cc __ ret(0); __ 366 src/ia32/stub-cache-ia32.cc __ TryGetFunctionPrototype(receiver, scratch1, scratch2, miss_label); __ 367 src/ia32/stub-cache-ia32.cc __ mov(eax, scratch1); __ 368 src/ia32/stub-cache-ia32.cc __ ret(0); __ 385 src/ia32/stub-cache-ia32.cc __ mov(dst, FieldOperand(src, offset)); __ 389 src/ia32/stub-cache-ia32.cc __ mov(dst, FieldOperand(src, JSObject::kPropertiesOffset)); __ 390 src/ia32/stub-cache-ia32.cc __ mov(dst, FieldOperand(dst, offset)); __ 400 src/ia32/stub-cache-ia32.cc __ push(name); __ 404 src/ia32/stub-cache-ia32.cc __ mov(scratch, Immediate(interceptor)); __ 405 src/ia32/stub-cache-ia32.cc __ push(scratch); __ 406 src/ia32/stub-cache-ia32.cc __ push(receiver); __ 407 src/ia32/stub-cache-ia32.cc __ push(holder); __ 408 src/ia32/stub-cache-ia32.cc __ push(FieldOperand(scratch, InterceptorInfo::kDataOffset)); __ 409 src/ia32/stub-cache-ia32.cc __ push(Immediate(reinterpret_cast<int>(masm->isolate()))); __ 420 src/ia32/stub-cache-ia32.cc __ CallExternalReference( __ 440 src/ia32/stub-cache-ia32.cc __ pop(scratch); __ 442 src/ia32/stub-cache-ia32.cc __ push(Immediate(Smi::FromInt(0))); __ 444 src/ia32/stub-cache-ia32.cc __ push(scratch); __ 458 src/ia32/stub-cache-ia32.cc __ pop(scratch); __ 459 src/ia32/stub-cache-ia32.cc __ add(esp, Immediate(kPointerSize * kFastApiCallArguments)); __ 460 src/ia32/stub-cache-ia32.cc __ push(scratch); __ 484 src/ia32/stub-cache-ia32.cc __ LoadHeapObject(edi, function); __ 485 src/ia32/stub-cache-ia32.cc __ mov(esi, FieldOperand(edi, JSFunction::kContextOffset)); __ 488 src/ia32/stub-cache-ia32.cc __ mov(Operand(esp, 2 * kPointerSize), edi); __ 492 src/ia32/stub-cache-ia32.cc __ mov(ecx, api_call_info); __ 493 src/ia32/stub-cache-ia32.cc __ mov(ebx, FieldOperand(ecx, CallHandlerInfo::kDataOffset)); __ 494 src/ia32/stub-cache-ia32.cc __ mov(Operand(esp, 3 * kPointerSize), ebx); __ 496 src/ia32/stub-cache-ia32.cc __ mov(Operand(esp, 3 * kPointerSize), Immediate(call_data)); __ 498 src/ia32/stub-cache-ia32.cc __ mov(Operand(esp, 4 * kPointerSize), __ 502 src/ia32/stub-cache-ia32.cc __ lea(eax, Operand(esp, 4 * kPointerSize)); __ 510 src/ia32/stub-cache-ia32.cc __ PrepareCallApiFunction(kApiArgc + kApiStackSpace); __ 512 src/ia32/stub-cache-ia32.cc __ mov(ApiParameterOperand(1), eax); // v8::Arguments::implicit_args_. __ 513 src/ia32/stub-cache-ia32.cc __ add(eax, Immediate(argc * kPointerSize)); __ 514 src/ia32/stub-cache-ia32.cc __ mov(ApiParameterOperand(2), eax); // v8::Arguments::values_. __ 515 src/ia32/stub-cache-ia32.cc __ Set(ApiParameterOperand(3), Immediate(argc)); // v8::Arguments::length_. __ 517 src/ia32/stub-cache-ia32.cc __ Set(ApiParameterOperand(4), Immediate(0)); __ 520 src/ia32/stub-cache-ia32.cc __ lea(eax, ApiParameterOperand(1)); __ 521 src/ia32/stub-cache-ia32.cc __ mov(ApiParameterOperand(0), eax); __ 525 src/ia32/stub-cache-ia32.cc __ CallApiFunctionAndReturn(function_address, __ 555 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(receiver, miss); __ 598 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->call_const_interceptor(), 1); __ 601 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->call_const_interceptor_fast_api(), 1); __ 645 src/ia32/stub-cache-ia32.cc __ InvokeFunction(optimization.constant_function(), arguments_, __ 651 src/ia32/stub-cache-ia32.cc __ bind(&miss_cleanup); __ 653 src/ia32/stub-cache-ia32.cc __ jmp(miss_label); __ 657 src/ia32/stub-cache-ia32.cc __ bind(®ular_invoke); __ 679 src/ia32/stub-cache-ia32.cc __ push(name_); __ 683 src/ia32/stub-cache-ia32.cc __ CallExternalReference( __ 689 src/ia32/stub-cache-ia32.cc __ pop(name_); __ 701 src/ia32/stub-cache-ia32.cc __ push(holder); // Save the holder. __ 702 src/ia32/stub-cache-ia32.cc __ push(name_); // Save the name. __ 710 src/ia32/stub-cache-ia32.cc __ pop(name_); // Restore the name. __ 711 src/ia32/stub-cache-ia32.cc __ pop(receiver); // Restore the holder. __ 715 src/ia32/stub-cache-ia32.cc __ cmp(eax, masm->isolate()->factory()->no_interceptor_result_sentinel()); __ 716 src/ia32/stub-cache-ia32.cc __ j(not_equal, interceptor_succeeded); __ 731 src/ia32/stub-cache-ia32.cc __ jmp(code, RelocInfo::CODE_TARGET); __ 738 src/ia32/stub-cache-ia32.cc __ jmp(code, RelocInfo::CODE_TARGET); __ 760 src/ia32/stub-cache-ia32.cc __ jmp(miss_label); __ 767 src/ia32/stub-cache-ia32.cc __ CheckMap(receiver_reg, Handle<Map>(object->map()), __ 772 src/ia32/stub-cache-ia32.cc __ CheckAccessGlobalProxy(receiver_reg, scratch1, miss_label); __ 788 src/ia32/stub-cache-ia32.cc __ push(name_reg); __ 792 src/ia32/stub-cache-ia32.cc __ jmp(&done_check); __ 793 src/ia32/stub-cache-ia32.cc __ bind(&miss_pop); __ 794 src/ia32/stub-cache-ia32.cc __ pop(name_reg); __ 795 src/ia32/stub-cache-ia32.cc __ jmp(miss_label); __ 796 src/ia32/stub-cache-ia32.cc __ bind(&done_check); __ 797 src/ia32/stub-cache-ia32.cc __ pop(name_reg); __ 808 src/ia32/stub-cache-ia32.cc __ pop(scratch1); // Return address. __ 809 src/ia32/stub-cache-ia32.cc __ push(receiver_reg); __ 810 src/ia32/stub-cache-ia32.cc __ push(Immediate(transition)); __ 811 src/ia32/stub-cache-ia32.cc __ push(eax); __ 812 src/ia32/stub-cache-ia32.cc __ push(scratch1); __ 813 src/ia32/stub-cache-ia32.cc __ TailCallExternalReference( __ 823 src/ia32/stub-cache-ia32.cc __ mov(scratch1, Immediate(transition)); __ 824 src/ia32/stub-cache-ia32.cc __ mov(FieldOperand(receiver_reg, HeapObject::kMapOffset), scratch1); __ 828 src/ia32/stub-cache-ia32.cc __ RecordWriteField(receiver_reg, __ 845 src/ia32/stub-cache-ia32.cc __ mov(FieldOperand(receiver_reg, offset), eax); __ 849 src/ia32/stub-cache-ia32.cc __ mov(name_reg, eax); __ 850 src/ia32/stub-cache-ia32.cc __ RecordWriteField(receiver_reg, __ 859 src/ia32/stub-cache-ia32.cc __ mov(scratch1, FieldOperand(receiver_reg, JSObject::kPropertiesOffset)); __ 860 src/ia32/stub-cache-ia32.cc __ mov(FieldOperand(scratch1, offset), eax); __ 864 src/ia32/stub-cache-ia32.cc __ mov(name_reg, eax); __ 865 src/ia32/stub-cache-ia32.cc __ RecordWriteField(scratch1, __ 873 src/ia32/stub-cache-ia32.cc __ ret(0); __ 890 src/ia32/stub-cache-ia32.cc __ mov(scratch, Immediate(cell)); __ 891 src/ia32/stub-cache-ia32.cc __ cmp(FieldOperand(scratch, JSGlobalPropertyCell::kValueOffset), __ 894 src/ia32/stub-cache-ia32.cc __ cmp(Operand::Cell(cell), Immediate(the_hole)); __ 896 src/ia32/stub-cache-ia32.cc __ j(not_equal, miss); __ 945 src/ia32/stub-cache-ia32.cc __ mov(Operand(esp, kPointerSize), reg); __ 970 src/ia32/stub-cache-ia32.cc __ mov(scratch1, FieldOperand(reg, HeapObject::kMapOffset)); __ 972 src/ia32/stub-cache-ia32.cc __ mov(reg, FieldOperand(scratch1, Map::kPrototypeOffset)); __ 978 src/ia32/stub-cache-ia32.cc __ mov(scratch1, FieldOperand(reg, HeapObject::kMapOffset)); __ 980 src/ia32/stub-cache-ia32.cc __ CheckMap(reg, current_map, miss, DONT_DO_SMI_CHECK, __ 987 src/ia32/stub-cache-ia32.cc __ CheckAccessGlobalProxy(reg, scratch2, miss); __ 994 src/ia32/stub-cache-ia32.cc __ mov(reg, FieldOperand(scratch1, Map::kPrototypeOffset)); __ 997 src/ia32/stub-cache-ia32.cc __ mov(reg, prototype); __ 1002 src/ia32/stub-cache-ia32.cc __ mov(Operand(esp, kPointerSize), reg); __ 1014 src/ia32/stub-cache-ia32.cc __ CheckMap(reg, Handle<Map>(holder->map()), __ 1020 src/ia32/stub-cache-ia32.cc __ CheckAccessGlobalProxy(reg, scratch1, miss); __ 1043 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(receiver, miss); __ 1051 src/ia32/stub-cache-ia32.cc __ ret(0); __ 1066 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(receiver, miss); __ 1074 src/ia32/stub-cache-ia32.cc __ pop(scratch3); // Get return address to place it below. __ 1076 src/ia32/stub-cache-ia32.cc __ push(receiver); // receiver __ 1077 src/ia32/stub-cache-ia32.cc __ mov(scratch2, esp); __ 1079 src/ia32/stub-cache-ia32.cc __ push(reg); // holder __ 1082 src/ia32/stub-cache-ia32.cc __ mov(scratch1, Immediate(callback)); __ 1083 src/ia32/stub-cache-ia32.cc __ push(FieldOperand(scratch1, AccessorInfo::kDataOffset)); __ 1085 src/ia32/stub-cache-ia32.cc __ push(Immediate(Handle<Object>(callback->data()))); __ 1087 src/ia32/stub-cache-ia32.cc __ push(Immediate(reinterpret_cast<int>(isolate()))); __ 1091 src/ia32/stub-cache-ia32.cc __ push(scratch2); __ 1093 src/ia32/stub-cache-ia32.cc __ push(name_reg); // name __ 1094 src/ia32/stub-cache-ia32.cc __ mov(ebx, esp); // esp points to reference to name (handler). __ 1096 src/ia32/stub-cache-ia32.cc __ push(scratch3); // Restore return address. __ 1103 src/ia32/stub-cache-ia32.cc __ PrepareCallApiFunction(kApiArgc); __ 1104 src/ia32/stub-cache-ia32.cc __ mov(ApiParameterOperand(0), ebx); // name. __ 1105 src/ia32/stub-cache-ia32.cc __ add(ebx, Immediate(kPointerSize)); __ 1106 src/ia32/stub-cache-ia32.cc __ mov(ApiParameterOperand(1), ebx); // arguments pointer. __ 1113 src/ia32/stub-cache-ia32.cc __ CallApiFunctionAndReturn(getter_address, kStackSpace); __ 1127 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(receiver, miss); __ 1134 src/ia32/stub-cache-ia32.cc __ LoadHeapObject(eax, value); __ 1135 src/ia32/stub-cache-ia32.cc __ ret(0); __ 1153 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(receiver, miss); __ 1193 src/ia32/stub-cache-ia32.cc __ push(receiver); __ 1195 src/ia32/stub-cache-ia32.cc __ push(holder_reg); __ 1196 src/ia32/stub-cache-ia32.cc __ push(name_reg); __ 1210 src/ia32/stub-cache-ia32.cc __ cmp(eax, factory()->no_interceptor_result_sentinel()); __ 1211 src/ia32/stub-cache-ia32.cc __ j(equal, &interceptor_failed); __ 1213 src/ia32/stub-cache-ia32.cc __ ret(0); __ 1216 src/ia32/stub-cache-ia32.cc __ bind(&interceptor_failed); __ 1218 src/ia32/stub-cache-ia32.cc __ mov(receiver, Immediate(BitCast<int32_t>(kZapValue))); __ 1219 src/ia32/stub-cache-ia32.cc __ mov(holder_reg, Immediate(BitCast<int32_t>(kZapValue))); __ 1220 src/ia32/stub-cache-ia32.cc __ mov(name_reg, Immediate(BitCast<int32_t>(kZapValue))); __ 1223 src/ia32/stub-cache-ia32.cc __ pop(name_reg); __ 1224 src/ia32/stub-cache-ia32.cc __ pop(holder_reg); __ 1226 src/ia32/stub-cache-ia32.cc __ pop(receiver); __ 1251 src/ia32/stub-cache-ia32.cc __ ret(0); __ 1263 src/ia32/stub-cache-ia32.cc __ pop(scratch2); // return address __ 1264 src/ia32/stub-cache-ia32.cc __ push(receiver); __ 1265 src/ia32/stub-cache-ia32.cc __ push(holder_reg); __ 1266 src/ia32/stub-cache-ia32.cc __ mov(holder_reg, Immediate(callback)); __ 1267 src/ia32/stub-cache-ia32.cc __ push(FieldOperand(holder_reg, AccessorInfo::kDataOffset)); __ 1268 src/ia32/stub-cache-ia32.cc __ push(Immediate(reinterpret_cast<int>(isolate()))); __ 1269 src/ia32/stub-cache-ia32.cc __ push(holder_reg); __ 1270 src/ia32/stub-cache-ia32.cc __ push(name_reg); __ 1271 src/ia32/stub-cache-ia32.cc __ push(scratch2); // restore return address __ 1276 src/ia32/stub-cache-ia32.cc __ TailCallExternalReference(ref, 6, 1); __ 1284 src/ia32/stub-cache-ia32.cc __ pop(scratch2); // save old return address __ 1287 src/ia32/stub-cache-ia32.cc __ push(scratch2); // restore old return address __ 1292 src/ia32/stub-cache-ia32.cc __ TailCallExternalReference(ref, 6, 1); __ 1299 src/ia32/stub-cache-ia32.cc __ cmp(ecx, Immediate(name)); __ 1300 src/ia32/stub-cache-ia32.cc __ j(not_equal, miss); __ 1315 src/ia32/stub-cache-ia32.cc __ mov(edx, Operand(esp, (argc + 1) * kPointerSize)); __ 1319 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(edx, miss); __ 1330 src/ia32/stub-cache-ia32.cc __ mov(edi, Immediate(cell)); __ 1331 src/ia32/stub-cache-ia32.cc __ mov(edi, FieldOperand(edi, JSGlobalPropertyCell::kValueOffset)); __ 1333 src/ia32/stub-cache-ia32.cc __ mov(edi, Operand::Cell(cell)); __ 1343 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(edi, miss); __ 1344 src/ia32/stub-cache-ia32.cc __ CmpObjectType(edi, JS_FUNCTION_TYPE, ebx); __ 1345 src/ia32/stub-cache-ia32.cc __ j(not_equal, miss); __ 1348 src/ia32/stub-cache-ia32.cc __ cmp(FieldOperand(edi, JSFunction::kSharedFunctionInfoOffset), __ 1351 src/ia32/stub-cache-ia32.cc __ cmp(edi, Immediate(function)); __ 1353 src/ia32/stub-cache-ia32.cc __ j(not_equal, miss); __ 1362 src/ia32/stub-cache-ia32.cc __ jmp(code, RelocInfo::CODE_TARGET); __ 1383 src/ia32/stub-cache-ia32.cc __ mov(edx, Operand(esp, (argc + 1) * kPointerSize)); __ 1386 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(edx, &miss); __ 1395 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(edi, &miss); __ 1396 src/ia32/stub-cache-ia32.cc __ CmpObjectType(edi, JS_FUNCTION_TYPE, ebx); __ 1397 src/ia32/stub-cache-ia32.cc __ j(not_equal, &miss); __ 1402 src/ia32/stub-cache-ia32.cc __ mov(edx, FieldOperand(edx, GlobalObject::kGlobalReceiverOffset)); __ 1403 src/ia32/stub-cache-ia32.cc __ mov(Operand(esp, (argc + 1) * kPointerSize), edx); __ 1410 src/ia32/stub-cache-ia32.cc __ InvokeFunction(edi, arguments(), JUMP_FUNCTION, __ 1414 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 1447 src/ia32/stub-cache-ia32.cc __ mov(edx, Operand(esp, (argc + 1) * kPointerSize)); __ 1450 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(edx, &miss); __ 1457 src/ia32/stub-cache-ia32.cc __ mov(eax, FieldOperand(edx, JSArray::kLengthOffset)); __ 1458 src/ia32/stub-cache-ia32.cc __ ret((argc + 1) * kPointerSize); __ 1466 src/ia32/stub-cache-ia32.cc __ mov(edi, FieldOperand(edx, JSArray::kElementsOffset)); __ 1469 src/ia32/stub-cache-ia32.cc __ cmp(FieldOperand(edi, HeapObject::kMapOffset), __ 1471 src/ia32/stub-cache-ia32.cc __ j(not_equal, &call_builtin); __ 1474 src/ia32/stub-cache-ia32.cc __ mov(eax, FieldOperand(edx, JSArray::kLengthOffset)); __ 1477 src/ia32/stub-cache-ia32.cc __ add(eax, Immediate(Smi::FromInt(argc))); __ 1480 src/ia32/stub-cache-ia32.cc __ mov(ecx, FieldOperand(edi, FixedArray::kLengthOffset)); __ 1483 src/ia32/stub-cache-ia32.cc __ cmp(eax, ecx); __ 1484 src/ia32/stub-cache-ia32.cc __ j(greater, &attempt_to_grow_elements); __ 1487 src/ia32/stub-cache-ia32.cc __ mov(ecx, Operand(esp, argc * kPointerSize)); __ 1488 src/ia32/stub-cache-ia32.cc __ JumpIfNotSmi(ecx, &with_write_barrier); __ 1491 src/ia32/stub-cache-ia32.cc __ mov(FieldOperand(edx, JSArray::kLengthOffset), eax); __ 1494 src/ia32/stub-cache-ia32.cc __ mov(FieldOperand(edi, __ 1500 src/ia32/stub-cache-ia32.cc __ ret((argc + 1) * kPointerSize); __ 1502 src/ia32/stub-cache-ia32.cc __ bind(&with_write_barrier); __ 1504 src/ia32/stub-cache-ia32.cc __ mov(ebx, FieldOperand(edx, HeapObject::kMapOffset)); __ 1508 src/ia32/stub-cache-ia32.cc __ CheckFastObjectElements(ebx, ¬_fast_object, Label::kNear); __ 1509 src/ia32/stub-cache-ia32.cc __ jmp(&fast_object); __ 1511 src/ia32/stub-cache-ia32.cc __ bind(¬_fast_object); __ 1512 src/ia32/stub-cache-ia32.cc __ CheckFastSmiElements(ebx, &call_builtin); __ 1517 src/ia32/stub-cache-ia32.cc __ LoadTransitionedArrayMapConditional(FAST_SMI_ELEMENTS, __ 1526 src/ia32/stub-cache-ia32.cc __ mov(edi, FieldOperand(edx, JSArray::kElementsOffset)); __ 1527 src/ia32/stub-cache-ia32.cc __ jmp(&fast_object); __ 1529 src/ia32/stub-cache-ia32.cc __ bind(&try_holey_map); __ 1530 src/ia32/stub-cache-ia32.cc __ LoadTransitionedArrayMapConditional(FAST_HOLEY_SMI_ELEMENTS, __ 1538 src/ia32/stub-cache-ia32.cc __ mov(edi, FieldOperand(edx, JSArray::kElementsOffset)); __ 1539 src/ia32/stub-cache-ia32.cc __ bind(&fast_object); __ 1541 src/ia32/stub-cache-ia32.cc __ CheckFastObjectElements(ebx, &call_builtin); __ 1545 src/ia32/stub-cache-ia32.cc __ mov(FieldOperand(edx, JSArray::kLengthOffset), eax); __ 1548 src/ia32/stub-cache-ia32.cc __ lea(edx, FieldOperand(edi, __ 1551 src/ia32/stub-cache-ia32.cc __ mov(Operand(edx, 0), ecx); __ 1553 src/ia32/stub-cache-ia32.cc __ RecordWrite(edi, edx, ecx, kDontSaveFPRegs, EMIT_REMEMBERED_SET, __ 1556 src/ia32/stub-cache-ia32.cc __ ret((argc + 1) * kPointerSize); __ 1558 src/ia32/stub-cache-ia32.cc __ bind(&attempt_to_grow_elements); __ 1560 src/ia32/stub-cache-ia32.cc __ jmp(&call_builtin); __ 1563 src/ia32/stub-cache-ia32.cc __ mov(ebx, Operand(esp, argc * kPointerSize)); __ 1567 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(ebx, &no_fast_elements_check); __ 1568 src/ia32/stub-cache-ia32.cc __ mov(ecx, FieldOperand(edx, HeapObject::kMapOffset)); __ 1569 src/ia32/stub-cache-ia32.cc __ CheckFastObjectElements(ecx, &call_builtin, Label::kFar); __ 1570 src/ia32/stub-cache-ia32.cc __ bind(&no_fast_elements_check); __ 1583 src/ia32/stub-cache-ia32.cc __ mov(ecx, Operand::StaticVariable(new_space_allocation_top)); __ 1586 src/ia32/stub-cache-ia32.cc __ lea(edx, FieldOperand(edi, __ 1589 src/ia32/stub-cache-ia32.cc __ cmp(edx, ecx); __ 1590 src/ia32/stub-cache-ia32.cc __ j(not_equal, &call_builtin); __ 1591 src/ia32/stub-cache-ia32.cc __ add(ecx, Immediate(kAllocationDelta * kPointerSize)); __ 1592 src/ia32/stub-cache-ia32.cc __ cmp(ecx, Operand::StaticVariable(new_space_allocation_limit)); __ 1593 src/ia32/stub-cache-ia32.cc __ j(above, &call_builtin); __ 1596 src/ia32/stub-cache-ia32.cc __ mov(Operand::StaticVariable(new_space_allocation_top), ecx); __ 1599 src/ia32/stub-cache-ia32.cc __ mov(Operand(edx, 0), ebx); __ 1602 src/ia32/stub-cache-ia32.cc __ mov(Operand(edx, i * kPointerSize), __ 1611 src/ia32/stub-cache-ia32.cc __ RecordWrite(edi, edx, ebx, kDontSaveFPRegs, OMIT_REMEMBERED_SET); __ 1614 src/ia32/stub-cache-ia32.cc __ mov(edx, Operand(esp, (argc + 1) * kPointerSize)); __ 1617 src/ia32/stub-cache-ia32.cc __ add(FieldOperand(edi, FixedArray::kLengthOffset), __ 1624 src/ia32/stub-cache-ia32.cc __ mov(FieldOperand(edx, JSArray::kLengthOffset), eax); __ 1626 src/ia32/stub-cache-ia32.cc __ ret((argc + 1) * kPointerSize); __ 1629 src/ia32/stub-cache-ia32.cc __ bind(&call_builtin); __ 1630 src/ia32/stub-cache-ia32.cc __ TailCallExternalReference( __ 1636 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 1669 src/ia32/stub-cache-ia32.cc __ mov(edx, Operand(esp, (argc + 1) * kPointerSize)); __ 1672 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(edx, &miss); __ 1677 src/ia32/stub-cache-ia32.cc __ mov(ebx, FieldOperand(edx, JSArray::kElementsOffset)); __ 1680 src/ia32/stub-cache-ia32.cc __ cmp(FieldOperand(ebx, HeapObject::kMapOffset), __ 1682 src/ia32/stub-cache-ia32.cc __ j(not_equal, &call_builtin); __ 1685 src/ia32/stub-cache-ia32.cc __ mov(ecx, FieldOperand(edx, JSArray::kLengthOffset)); __ 1686 src/ia32/stub-cache-ia32.cc __ sub(ecx, Immediate(Smi::FromInt(1))); __ 1687 src/ia32/stub-cache-ia32.cc __ j(negative, &return_undefined); __ 1692 src/ia32/stub-cache-ia32.cc __ mov(eax, FieldOperand(ebx, __ 1695 src/ia32/stub-cache-ia32.cc __ cmp(eax, Immediate(factory()->the_hole_value())); __ 1696 src/ia32/stub-cache-ia32.cc __ j(equal, &call_builtin); __ 1699 src/ia32/stub-cache-ia32.cc __ mov(FieldOperand(edx, JSArray::kLengthOffset), ecx); __ 1702 src/ia32/stub-cache-ia32.cc __ mov(FieldOperand(ebx, __ 1706 src/ia32/stub-cache-ia32.cc __ ret((argc + 1) * kPointerSize); __ 1708 src/ia32/stub-cache-ia32.cc __ bind(&return_undefined); __ 1709 src/ia32/stub-cache-ia32.cc __ mov(eax, Immediate(factory()->undefined_value())); __ 1710 src/ia32/stub-cache-ia32.cc __ ret((argc + 1) * kPointerSize); __ 1712 src/ia32/stub-cache-ia32.cc __ bind(&call_builtin); __ 1713 src/ia32/stub-cache-ia32.cc __ TailCallExternalReference( __ 1718 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 1772 src/ia32/stub-cache-ia32.cc __ mov(receiver, Operand(esp, (argc + 1) * kPointerSize)); __ 1774 src/ia32/stub-cache-ia32.cc __ mov(index, Operand(esp, (argc - 0) * kPointerSize)); __ 1776 src/ia32/stub-cache-ia32.cc __ Set(index, Immediate(factory()->undefined_value())); __ 1787 src/ia32/stub-cache-ia32.cc __ ret((argc + 1) * kPointerSize); __ 1793 src/ia32/stub-cache-ia32.cc __ bind(&index_out_of_range); __ 1794 src/ia32/stub-cache-ia32.cc __ Set(eax, Immediate(factory()->nan_value())); __ 1795 src/ia32/stub-cache-ia32.cc __ ret((argc + 1) * kPointerSize); __ 1798 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 1800 src/ia32/stub-cache-ia32.cc __ Set(ecx, Immediate(name)); __ 1801 src/ia32/stub-cache-ia32.cc __ bind(&name_miss); __ 1856 src/ia32/stub-cache-ia32.cc __ mov(receiver, Operand(esp, (argc + 1) * kPointerSize)); __ 1858 src/ia32/stub-cache-ia32.cc __ mov(index, Operand(esp, (argc - 0) * kPointerSize)); __ 1860 src/ia32/stub-cache-ia32.cc __ Set(index, Immediate(factory()->undefined_value())); __ 1872 src/ia32/stub-cache-ia32.cc __ ret((argc + 1) * kPointerSize); __ 1878 src/ia32/stub-cache-ia32.cc __ bind(&index_out_of_range); __ 1879 src/ia32/stub-cache-ia32.cc __ Set(eax, Immediate(factory()->empty_string())); __ 1880 src/ia32/stub-cache-ia32.cc __ ret((argc + 1) * kPointerSize); __ 1883 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 1885 src/ia32/stub-cache-ia32.cc __ Set(ecx, Immediate(name)); __ 1886 src/ia32/stub-cache-ia32.cc __ bind(&name_miss); __ 1920 src/ia32/stub-cache-ia32.cc __ mov(edx, Operand(esp, 2 * kPointerSize)); __ 1922 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(edx, &miss); __ 1934 src/ia32/stub-cache-ia32.cc __ mov(code, Operand(esp, 1 * kPointerSize)); __ 1939 src/ia32/stub-cache-ia32.cc __ JumpIfNotSmi(code, &slow); __ 1942 src/ia32/stub-cache-ia32.cc __ and_(code, Immediate(Smi::FromInt(0xffff))); __ 1946 src/ia32/stub-cache-ia32.cc __ ret(2 * kPointerSize); __ 1953 src/ia32/stub-cache-ia32.cc __ bind(&slow); __ 1957 src/ia32/stub-cache-ia32.cc __ InvokeFunction(function, arguments(), JUMP_FUNCTION, __ 1960 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 2001 src/ia32/stub-cache-ia32.cc __ mov(edx, Operand(esp, 2 * kPointerSize)); __ 2004 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(edx, &miss); __ 2016 src/ia32/stub-cache-ia32.cc __ mov(eax, Operand(esp, 1 * kPointerSize)); __ 2021 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(eax, &smi); __ 2025 src/ia32/stub-cache-ia32.cc __ CheckMap(eax, factory()->heap_number_map(), &slow, DONT_DO_SMI_CHECK); __ 2026 src/ia32/stub-cache-ia32.cc __ movdbl(xmm0, FieldOperand(eax, HeapNumber::kValueOffset)); __ 2030 src/ia32/stub-cache-ia32.cc __ xorpd(xmm1, xmm1); __ 2031 src/ia32/stub-cache-ia32.cc __ ucomisd(xmm0, xmm1); __ 2032 src/ia32/stub-cache-ia32.cc __ j(below_equal, &slow); __ 2035 src/ia32/stub-cache-ia32.cc __ cvttsd2si(eax, Operand(xmm0)); __ 2040 src/ia32/stub-cache-ia32.cc __ test(eax, Immediate(0xc0000000)); __ 2041 src/ia32/stub-cache-ia32.cc __ j(not_zero, &wont_fit_into_smi); __ 2044 src/ia32/stub-cache-ia32.cc __ SmiTag(eax); __ 2045 src/ia32/stub-cache-ia32.cc __ bind(&smi); __ 2046 src/ia32/stub-cache-ia32.cc __ ret(2 * kPointerSize); __ 2050 src/ia32/stub-cache-ia32.cc __ bind(&wont_fit_into_smi); __ 2051 src/ia32/stub-cache-ia32.cc __ LoadPowerOf2(xmm1, ebx, HeapNumber::kMantissaBits); __ 2052 src/ia32/stub-cache-ia32.cc __ ucomisd(xmm0, xmm1); __ 2053 src/ia32/stub-cache-ia32.cc __ j(above_equal, &already_round); __ 2056 src/ia32/stub-cache-ia32.cc __ movaps(xmm2, xmm0); __ 2059 src/ia32/stub-cache-ia32.cc __ addsd(xmm0, xmm1); __ 2060 src/ia32/stub-cache-ia32.cc __ subsd(xmm0, xmm1); __ 2067 src/ia32/stub-cache-ia32.cc __ cmpltsd(xmm2, xmm0); __ 2070 src/ia32/stub-cache-ia32.cc __ LoadPowerOf2(xmm1, ebx, 0); __ 2071 src/ia32/stub-cache-ia32.cc __ andpd(xmm1, xmm2); __ 2072 src/ia32/stub-cache-ia32.cc __ subsd(xmm0, xmm1); __ 2075 src/ia32/stub-cache-ia32.cc __ AllocateHeapNumber(eax, ebx, edx, &slow); __ 2076 src/ia32/stub-cache-ia32.cc __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0); __ 2077 src/ia32/stub-cache-ia32.cc __ ret(2 * kPointerSize); __ 2080 src/ia32/stub-cache-ia32.cc __ bind(&already_round); __ 2081 src/ia32/stub-cache-ia32.cc __ mov(eax, Operand(esp, 1 * kPointerSize)); __ 2082 src/ia32/stub-cache-ia32.cc __ ret(2 * kPointerSize); __ 2086 src/ia32/stub-cache-ia32.cc __ bind(&slow); __ 2087 src/ia32/stub-cache-ia32.cc __ InvokeFunction(function, arguments(), JUMP_FUNCTION, __ 2090 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 2125 src/ia32/stub-cache-ia32.cc __ mov(edx, Operand(esp, 2 * kPointerSize)); __ 2128 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(edx, &miss); __ 2140 src/ia32/stub-cache-ia32.cc __ mov(eax, Operand(esp, 1 * kPointerSize)); __ 2145 src/ia32/stub-cache-ia32.cc __ JumpIfNotSmi(eax, ¬_smi); __ 2149 src/ia32/stub-cache-ia32.cc __ mov(ebx, eax); __ 2150 src/ia32/stub-cache-ia32.cc __ sar(ebx, kBitsPerInt - 1); __ 2153 src/ia32/stub-cache-ia32.cc __ xor_(eax, ebx); __ 2156 src/ia32/stub-cache-ia32.cc __ sub(eax, ebx); __ 2161 src/ia32/stub-cache-ia32.cc __ j(negative, &slow); __ 2164 src/ia32/stub-cache-ia32.cc __ ret(2 * kPointerSize); __ 2168 src/ia32/stub-cache-ia32.cc __ bind(¬_smi); __ 2169 src/ia32/stub-cache-ia32.cc __ CheckMap(eax, factory()->heap_number_map(), &slow, DONT_DO_SMI_CHECK); __ 2170 src/ia32/stub-cache-ia32.cc __ mov(ebx, FieldOperand(eax, HeapNumber::kExponentOffset)); __ 2175 src/ia32/stub-cache-ia32.cc __ test(ebx, Immediate(HeapNumber::kSignMask)); __ 2176 src/ia32/stub-cache-ia32.cc __ j(not_zero, &negative_sign); __ 2177 src/ia32/stub-cache-ia32.cc __ ret(2 * kPointerSize); __ 2181 src/ia32/stub-cache-ia32.cc __ bind(&negative_sign); __ 2182 src/ia32/stub-cache-ia32.cc __ and_(ebx, ~HeapNumber::kSignMask); __ 2183 src/ia32/stub-cache-ia32.cc __ mov(ecx, FieldOperand(eax, HeapNumber::kMantissaOffset)); __ 2184 src/ia32/stub-cache-ia32.cc __ AllocateHeapNumber(eax, edi, edx, &slow); __ 2185 src/ia32/stub-cache-ia32.cc __ mov(FieldOperand(eax, HeapNumber::kExponentOffset), ebx); __ 2186 src/ia32/stub-cache-ia32.cc __ mov(FieldOperand(eax, HeapNumber::kMantissaOffset), ecx); __ 2187 src/ia32/stub-cache-ia32.cc __ ret(2 * kPointerSize); __ 2191 src/ia32/stub-cache-ia32.cc __ bind(&slow); __ 2192 src/ia32/stub-cache-ia32.cc __ InvokeFunction(function, arguments(), JUMP_FUNCTION, __ 2195 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 2227 src/ia32/stub-cache-ia32.cc __ mov(edx, Operand(esp, (argc + 1) * kPointerSize)); __ 2230 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(edx, &miss_before_stack_reserved); __ 2233 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->call_const(), 1); __ 2234 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->call_const_fast_api(), 1); __ 2238 src/ia32/stub-cache-ia32.cc __ sub(esp, Immediate(kFastApiCallArguments * kPointerSize)); __ 2245 src/ia32/stub-cache-ia32.cc __ mov(eax, Operand(esp, 4 * kPointerSize)); __ 2246 src/ia32/stub-cache-ia32.cc __ mov(Operand(esp, 0 * kPointerSize), eax); __ 2252 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 2253 src/ia32/stub-cache-ia32.cc __ add(esp, Immediate(kFastApiCallArguments * kPointerSize)); __ 2255 src/ia32/stub-cache-ia32.cc __ bind(&miss_before_stack_reserved); __ 2289 src/ia32/stub-cache-ia32.cc __ mov(edx, Operand(esp, (argc + 1) * kPointerSize)); __ 2293 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(edx, &miss); __ 2301 src/ia32/stub-cache-ia32.cc __ IncrementCounter(isolate()->counters()->call_const(), 1); __ 2310 src/ia32/stub-cache-ia32.cc __ mov(edx, FieldOperand(edx, GlobalObject::kGlobalReceiverOffset)); __ 2311 src/ia32/stub-cache-ia32.cc __ mov(Operand(esp, (argc + 1) * kPointerSize), edx); __ 2318 src/ia32/stub-cache-ia32.cc __ CmpObjectType(edx, FIRST_NONSTRING_TYPE, eax); __ 2319 src/ia32/stub-cache-ia32.cc __ j(above_equal, &miss); __ 2329 src/ia32/stub-cache-ia32.cc __ jmp(&miss); __ 2337 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(edx, &fast); __ 2338 src/ia32/stub-cache-ia32.cc __ CmpObjectType(edx, HEAP_NUMBER_TYPE, eax); __ 2339 src/ia32/stub-cache-ia32.cc __ j(not_equal, &miss); __ 2340 src/ia32/stub-cache-ia32.cc __ bind(&fast); __ 2350 src/ia32/stub-cache-ia32.cc __ jmp(&miss); __ 2358 src/ia32/stub-cache-ia32.cc __ cmp(edx, factory()->true_value()); __ 2359 src/ia32/stub-cache-ia32.cc __ j(equal, &fast); __ 2360 src/ia32/stub-cache-ia32.cc __ cmp(edx, factory()->false_value()); __ 2361 src/ia32/stub-cache-ia32.cc __ j(not_equal, &miss); __ 2362 src/ia32/stub-cache-ia32.cc __ bind(&fast); __ 2372 src/ia32/stub-cache-ia32.cc __ jmp(&miss); __ 2380 src/ia32/stub-cache-ia32.cc __ InvokeFunction(function, arguments(), JUMP_FUNCTION, __ 2384 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 2413 src/ia32/stub-cache-ia32.cc __ mov(edx, Operand(esp, (argc + 1) * kPointerSize)); __ 2420 src/ia32/stub-cache-ia32.cc __ mov(edx, Operand(esp, (argc + 1) * kPointerSize)); __ 2423 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(eax, &miss); __ 2424 src/ia32/stub-cache-ia32.cc __ CmpObjectType(eax, JS_FUNCTION_TYPE, ebx); __ 2425 src/ia32/stub-cache-ia32.cc __ j(not_equal, &miss); __ 2430 src/ia32/stub-cache-ia32.cc __ mov(edx, FieldOperand(edx, GlobalObject::kGlobalReceiverOffset)); __ 2431 src/ia32/stub-cache-ia32.cc __ mov(Operand(esp, (argc + 1) * kPointerSize), edx); __ 2435 src/ia32/stub-cache-ia32.cc __ mov(edi, eax); __ 2439 src/ia32/stub-cache-ia32.cc __ InvokeFunction(edi, arguments(), JUMP_FUNCTION, __ 2443 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 2481 src/ia32/stub-cache-ia32.cc __ mov(edx, FieldOperand(edx, GlobalObject::kGlobalReceiverOffset)); __ 2482 src/ia32/stub-cache-ia32.cc __ mov(Operand(esp, (argc + 1) * kPointerSize), edx); __ 2486 src/ia32/stub-cache-ia32.cc __ mov(esi, FieldOperand(edi, JSFunction::kContextOffset)); __ 2490 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->call_global_inline(), 1); __ 2498 src/ia32/stub-cache-ia32.cc __ InvokeCode(FieldOperand(edi, JSFunction::kCodeEntryOffset), __ 2503 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 2504 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->call_global_inline_miss(), 1); __ 2533 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 2534 src/ia32/stub-cache-ia32.cc __ mov(ecx, Immediate(name)); // restore name __ 2536 src/ia32/stub-cache-ia32.cc __ jmp(ic, RelocInfo::CODE_TARGET); __ 2558 src/ia32/stub-cache-ia32.cc __ CheckMap(edx, Handle<Map>(object->map()), __ 2563 src/ia32/stub-cache-ia32.cc __ CheckAccessGlobalProxy(edx, ebx, &miss); __ 2570 src/ia32/stub-cache-ia32.cc __ pop(ebx); // remove the return address __ 2571 src/ia32/stub-cache-ia32.cc __ push(edx); // receiver __ 2572 src/ia32/stub-cache-ia32.cc __ push(Immediate(callback)); // callback info __ 2573 src/ia32/stub-cache-ia32.cc __ push(ecx); // name __ 2574 src/ia32/stub-cache-ia32.cc __ push(eax); // value __ 2575 src/ia32/stub-cache-ia32.cc __ push(ebx); // restore return address __ 2580 src/ia32/stub-cache-ia32.cc __ TailCallExternalReference(store_callback_property, 4, 1); __ 2583 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 2585 src/ia32/stub-cache-ia32.cc __ jmp(ic, RelocInfo::CODE_TARGET); __ 2606 src/ia32/stub-cache-ia32.cc __ push(ecx); __ 2607 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(edx, &miss); __ 2609 src/ia32/stub-cache-ia32.cc __ pop(ecx); __ 2615 src/ia32/stub-cache-ia32.cc __ push(eax); __ 2618 src/ia32/stub-cache-ia32.cc __ push(edx); __ 2619 src/ia32/stub-cache-ia32.cc __ push(eax); __ 2621 src/ia32/stub-cache-ia32.cc __ InvokeFunction(setter, actual, CALL_FUNCTION, NullCallWrapper(), __ 2625 src/ia32/stub-cache-ia32.cc __ pop(eax); __ 2628 src/ia32/stub-cache-ia32.cc __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); __ 2630 src/ia32/stub-cache-ia32.cc __ ret(0); __ 2632 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 2633 src/ia32/stub-cache-ia32.cc __ pop(ecx); __ 2635 src/ia32/stub-cache-ia32.cc __ jmp(ic, RelocInfo::CODE_TARGET); __ 2654 src/ia32/stub-cache-ia32.cc __ CheckMap(edx, Handle<Map>(receiver->map()), __ 2659 src/ia32/stub-cache-ia32.cc __ CheckAccessGlobalProxy(edx, ebx, &miss); __ 2666 src/ia32/stub-cache-ia32.cc __ pop(ebx); // remove the return address __ 2667 src/ia32/stub-cache-ia32.cc __ push(edx); // receiver __ 2668 src/ia32/stub-cache-ia32.cc __ push(ecx); // name __ 2669 src/ia32/stub-cache-ia32.cc __ push(eax); // value __ 2670 src/ia32/stub-cache-ia32.cc __ push(Immediate(Smi::FromInt(strict_mode_))); __ 2671 src/ia32/stub-cache-ia32.cc __ push(ebx); // restore return address __ 2676 src/ia32/stub-cache-ia32.cc __ TailCallExternalReference(store_ic_property, 4, 1); __ 2679 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 2681 src/ia32/stub-cache-ia32.cc __ jmp(ic, RelocInfo::CODE_TARGET); __ 2701 src/ia32/stub-cache-ia32.cc __ cmp(FieldOperand(edx, HeapObject::kMapOffset), __ 2703 src/ia32/stub-cache-ia32.cc __ j(not_equal, &miss); __ 2706 src/ia32/stub-cache-ia32.cc __ mov(ebx, Immediate(cell)); __ 2713 src/ia32/stub-cache-ia32.cc __ cmp(cell_operand, factory()->the_hole_value()); __ 2714 src/ia32/stub-cache-ia32.cc __ j(equal, &miss); __ 2717 src/ia32/stub-cache-ia32.cc __ mov(cell_operand, eax); __ 2722 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->named_store_global_inline(), 1); __ 2723 src/ia32/stub-cache-ia32.cc __ ret(0); __ 2726 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 2727 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->named_store_global_inline_miss(), 1); __ 2729 src/ia32/stub-cache-ia32.cc __ jmp(ic, RelocInfo::CODE_TARGET); __ 2749 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->keyed_store_field(), 1); __ 2752 src/ia32/stub-cache-ia32.cc __ cmp(ecx, Immediate(name)); __ 2753 src/ia32/stub-cache-ia32.cc __ j(not_equal, &miss); __ 2765 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 2766 src/ia32/stub-cache-ia32.cc __ DecrementCounter(counters->keyed_store_field(), 1); __ 2768 src/ia32/stub-cache-ia32.cc __ jmp(ic, RelocInfo::CODE_TARGET); __ 2790 src/ia32/stub-cache-ia32.cc __ DispatchMap(edx, receiver_map, stub, DO_SMI_CHECK); __ 2793 src/ia32/stub-cache-ia32.cc __ jmp(ic, RelocInfo::CODE_TARGET); __ 2811 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(edx, &miss, Label::kNear); __ 2812 src/ia32/stub-cache-ia32.cc __ mov(edi, FieldOperand(edx, HeapObject::kMapOffset)); __ 2815 src/ia32/stub-cache-ia32.cc __ cmp(edi, receiver_maps->at(i)); __ 2817 src/ia32/stub-cache-ia32.cc __ j(equal, handler_stubs->at(i)); __ 2820 src/ia32/stub-cache-ia32.cc __ j(not_equal, &next_map, Label::kNear); __ 2821 src/ia32/stub-cache-ia32.cc __ mov(ebx, Immediate(transitioned_maps->at(i))); __ 2822 src/ia32/stub-cache-ia32.cc __ jmp(handler_stubs->at(i), RelocInfo::CODE_TARGET); __ 2823 src/ia32/stub-cache-ia32.cc __ bind(&next_map); __ 2826 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 2828 src/ia32/stub-cache-ia32.cc __ jmp(miss_ic, RelocInfo::CODE_TARGET); __ 2846 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(edx, &miss); __ 2864 src/ia32/stub-cache-ia32.cc __ mov(eax, isolate()->factory()->undefined_value()); __ 2865 src/ia32/stub-cache-ia32.cc __ ret(0); __ 2867 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 2887 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 2909 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 2930 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(edx, &miss); __ 2937 src/ia32/stub-cache-ia32.cc __ push(edx); __ 2939 src/ia32/stub-cache-ia32.cc __ InvokeFunction(getter, actual, CALL_FUNCTION, NullCallWrapper(), __ 2943 src/ia32/stub-cache-ia32.cc __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); __ 2945 src/ia32/stub-cache-ia32.cc __ ret(0); __ 2947 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 2967 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 2993 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 3015 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(edx, &miss); __ 3020 src/ia32/stub-cache-ia32.cc __ mov(ebx, Immediate(cell)); __ 3021 src/ia32/stub-cache-ia32.cc __ mov(ebx, FieldOperand(ebx, JSGlobalPropertyCell::kValueOffset)); __ 3023 src/ia32/stub-cache-ia32.cc __ mov(ebx, Operand::Cell(cell)); __ 3028 src/ia32/stub-cache-ia32.cc __ cmp(ebx, factory()->the_hole_value()); __ 3029 src/ia32/stub-cache-ia32.cc __ j(equal, &miss); __ 3031 src/ia32/stub-cache-ia32.cc __ cmp(ebx, factory()->the_hole_value()); __ 3032 src/ia32/stub-cache-ia32.cc __ Check(not_equal, "DontDelete cells can't contain the hole"); __ 3036 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->named_load_global_stub(), 1); __ 3037 src/ia32/stub-cache-ia32.cc __ mov(eax, ebx); __ 3038 src/ia32/stub-cache-ia32.cc __ ret(0); __ 3040 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 3041 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->named_load_global_stub_miss(), 1); __ 3061 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->keyed_load_field(), 1); __ 3064 src/ia32/stub-cache-ia32.cc __ cmp(ecx, Immediate(name)); __ 3065 src/ia32/stub-cache-ia32.cc __ j(not_equal, &miss); __ 3069 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 3070 src/ia32/stub-cache-ia32.cc __ DecrementCounter(counters->keyed_load_field(), 1); __ 3091 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->keyed_load_callback(), 1); __ 3094 src/ia32/stub-cache-ia32.cc __ cmp(ecx, Immediate(name)); __ 3095 src/ia32/stub-cache-ia32.cc __ j(not_equal, &miss); __ 3100 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 3101 src/ia32/stub-cache-ia32.cc __ DecrementCounter(counters->keyed_load_callback(), 1); __ 3122 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->keyed_load_constant_function(), 1); __ 3125 src/ia32/stub-cache-ia32.cc __ cmp(ecx, Immediate(name)); __ 3126 src/ia32/stub-cache-ia32.cc __ j(not_equal, &miss); __ 3130 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 3131 src/ia32/stub-cache-ia32.cc __ DecrementCounter(counters->keyed_load_constant_function(), 1); __ 3151 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->keyed_load_interceptor(), 1); __ 3154 src/ia32/stub-cache-ia32.cc __ cmp(ecx, Immediate(name)); __ 3155 src/ia32/stub-cache-ia32.cc __ j(not_equal, &miss); __ 3161 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 3162 src/ia32/stub-cache-ia32.cc __ DecrementCounter(counters->keyed_load_interceptor(), 1); __ 3180 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->keyed_load_array_length(), 1); __ 3183 src/ia32/stub-cache-ia32.cc __ cmp(ecx, Immediate(name)); __ 3184 src/ia32/stub-cache-ia32.cc __ j(not_equal, &miss); __ 3187 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 3188 src/ia32/stub-cache-ia32.cc __ DecrementCounter(counters->keyed_load_array_length(), 1); __ 3206 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->keyed_load_string_length(), 1); __ 3209 src/ia32/stub-cache-ia32.cc __ cmp(ecx, Immediate(name)); __ 3210 src/ia32/stub-cache-ia32.cc __ j(not_equal, &miss); __ 3213 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 3214 src/ia32/stub-cache-ia32.cc __ DecrementCounter(counters->keyed_load_string_length(), 1); __ 3232 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->keyed_load_function_prototype(), 1); __ 3235 src/ia32/stub-cache-ia32.cc __ cmp(ecx, Immediate(name)); __ 3236 src/ia32/stub-cache-ia32.cc __ j(not_equal, &miss); __ 3239 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 3240 src/ia32/stub-cache-ia32.cc __ DecrementCounter(counters->keyed_load_function_prototype(), 1); __ 3259 src/ia32/stub-cache-ia32.cc __ DispatchMap(edx, receiver_map, stub, DO_SMI_CHECK); __ 3277 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(edx, &miss); __ 3280 src/ia32/stub-cache-ia32.cc __ mov(map_reg, FieldOperand(edx, HeapObject::kMapOffset)); __ 3283 src/ia32/stub-cache-ia32.cc __ cmp(map_reg, receiver_maps->at(current)); __ 3284 src/ia32/stub-cache-ia32.cc __ j(equal, handler_ics->at(current)); __ 3287 src/ia32/stub-cache-ia32.cc __ bind(&miss); __ 3310 src/ia32/stub-cache-ia32.cc __ mov(ebx, FieldOperand(edi, JSFunction::kSharedFunctionInfoOffset)); __ 3311 src/ia32/stub-cache-ia32.cc __ mov(ebx, FieldOperand(ebx, SharedFunctionInfo::kDebugInfoOffset)); __ 3312 src/ia32/stub-cache-ia32.cc __ cmp(ebx, factory()->undefined_value()); __ 3313 src/ia32/stub-cache-ia32.cc __ j(not_equal, &generic_stub_call); __ 3317 src/ia32/stub-cache-ia32.cc __ mov(ebx, FieldOperand(edi, JSFunction::kPrototypeOrInitialMapOffset)); __ 3319 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(ebx, &generic_stub_call); __ 3320 src/ia32/stub-cache-ia32.cc __ CmpObjectType(ebx, MAP_TYPE, ecx); __ 3321 src/ia32/stub-cache-ia32.cc __ j(not_equal, &generic_stub_call); __ 3327 src/ia32/stub-cache-ia32.cc __ CmpInstanceType(ebx, JS_FUNCTION_TYPE); __ 3328 src/ia32/stub-cache-ia32.cc __ Assert(not_equal, "Function constructed by construct stub."); __ 3335 src/ia32/stub-cache-ia32.cc __ movzx_b(ecx, FieldOperand(ebx, Map::kInstanceSizeOffset)); __ 3336 src/ia32/stub-cache-ia32.cc __ shl(ecx, kPointerSizeLog2); __ 3337 src/ia32/stub-cache-ia32.cc __ AllocateInNewSpace(ecx, edx, ecx, no_reg, __ 3343 src/ia32/stub-cache-ia32.cc __ mov(Operand(edx, JSObject::kMapOffset), ebx); __ 3344 src/ia32/stub-cache-ia32.cc __ mov(ebx, factory()->empty_fixed_array()); __ 3345 src/ia32/stub-cache-ia32.cc __ mov(Operand(edx, JSObject::kPropertiesOffset), ebx); __ 3346 src/ia32/stub-cache-ia32.cc __ mov(Operand(edx, JSObject::kElementsOffset), ebx); __ 3350 src/ia32/stub-cache-ia32.cc __ push(edx); __ 3355 src/ia32/stub-cache-ia32.cc __ lea(edx, Operand(edx, JSObject::kHeaderSize)); __ 3358 src/ia32/stub-cache-ia32.cc __ lea(ecx, Operand(esp, eax, times_4, 1 * kPointerSize)); __ 3361 src/ia32/stub-cache-ia32.cc __ mov(edi, factory()->undefined_value()); __ 3376 src/ia32/stub-cache-ia32.cc __ mov(ebx, edi); __ 3377 src/ia32/stub-cache-ia32.cc __ cmp(eax, arg_number); __ 3380 src/ia32/stub-cache-ia32.cc __ cmov(above, ebx, Operand(ecx, arg_number * -kPointerSize)); __ 3383 src/ia32/stub-cache-ia32.cc __ j(below_equal, ¬_passed); __ 3384 src/ia32/stub-cache-ia32.cc __ mov(ebx, Operand(ecx, arg_number * -kPointerSize)); __ 3385 src/ia32/stub-cache-ia32.cc __ bind(¬_passed); __ 3388 src/ia32/stub-cache-ia32.cc __ mov(Operand(edx, i * kPointerSize), ebx); __ 3392 src/ia32/stub-cache-ia32.cc __ mov(Operand(edx, i * kPointerSize), Immediate(constant)); __ 3401 src/ia32/stub-cache-ia32.cc __ mov(Operand(edx, i * kPointerSize), edi); __ 3405 src/ia32/stub-cache-ia32.cc __ mov(ebx, eax); __ 3406 src/ia32/stub-cache-ia32.cc __ pop(eax); __ 3407 src/ia32/stub-cache-ia32.cc __ or_(eax, Immediate(kHeapObjectTag)); __ 3410 src/ia32/stub-cache-ia32.cc __ pop(ecx); __ 3411 src/ia32/stub-cache-ia32.cc __ lea(esp, Operand(esp, ebx, times_pointer_size, 1 * kPointerSize)); __ 3412 src/ia32/stub-cache-ia32.cc __ push(ecx); __ 3414 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->constructed_objects(), 1); __ 3415 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->constructed_objects_stub(), 1); __ 3416 src/ia32/stub-cache-ia32.cc __ ret(0); __ 3420 src/ia32/stub-cache-ia32.cc __ bind(&generic_stub_call); __ 3422 src/ia32/stub-cache-ia32.cc __ jmp(code, RelocInfo::CODE_TARGET); __ 3444 src/ia32/stub-cache-ia32.cc __ JumpIfNotSmi(ecx, &miss_force_generic); __ 3445 src/ia32/stub-cache-ia32.cc __ mov(ebx, ecx); __ 3446 src/ia32/stub-cache-ia32.cc __ SmiUntag(ebx); __ 3447 src/ia32/stub-cache-ia32.cc __ mov(eax, FieldOperand(edx, JSObject::kElementsOffset)); __ 3451 src/ia32/stub-cache-ia32.cc __ push(edx); __ 3452 src/ia32/stub-cache-ia32.cc __ LoadFromNumberDictionary(&slow, eax, ecx, ebx, edx, edi, eax); __ 3454 src/ia32/stub-cache-ia32.cc __ pop(edx); __ 3455 src/ia32/stub-cache-ia32.cc __ ret(0); __ 3457 src/ia32/stub-cache-ia32.cc __ bind(&slow); __ 3458 src/ia32/stub-cache-ia32.cc __ pop(edx); __ 3468 src/ia32/stub-cache-ia32.cc __ jmp(slow_ic, RelocInfo::CODE_TARGET); __ 3470 src/ia32/stub-cache-ia32.cc __ bind(&miss_force_generic); __ 3479 src/ia32/stub-cache-ia32.cc __ jmp(miss_force_generic_ic, RelocInfo::CODE_TARGET); __ 3494 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(key, &key_ok); __ 3495 src/ia32/stub-cache-ia32.cc __ cmp(FieldOperand(key, HeapObject::kMapOffset), __ 3497 src/ia32/stub-cache-ia32.cc __ j(not_equal, fail); __ 3498 src/ia32/stub-cache-ia32.cc __ movdbl(xmm_scratch0, FieldOperand(key, HeapNumber::kValueOffset)); __ 3499 src/ia32/stub-cache-ia32.cc __ cvttsd2si(scratch, Operand(xmm_scratch0)); __ 3500 src/ia32/stub-cache-ia32.cc __ cvtsi2sd(xmm_scratch1, scratch); __ 3501 src/ia32/stub-cache-ia32.cc __ ucomisd(xmm_scratch1, xmm_scratch0); __ 3502 src/ia32/stub-cache-ia32.cc __ j(not_equal, fail); __ 3503 src/ia32/stub-cache-ia32.cc __ j(parity_even, fail); // NaN. __ 3505 src/ia32/stub-cache-ia32.cc __ cmp(scratch, 0xc0000000); __ 3506 src/ia32/stub-cache-ia32.cc __ j(sign, fail); __ 3507 src/ia32/stub-cache-ia32.cc __ SmiTag(scratch); __ 3508 src/ia32/stub-cache-ia32.cc __ mov(key, scratch); __ 3509 src/ia32/stub-cache-ia32.cc __ bind(&key_ok); __ 3511 src/ia32/stub-cache-ia32.cc __ JumpIfNotSmi(key, fail); __ 3533 src/ia32/stub-cache-ia32.cc __ mov(ebx, FieldOperand(edx, JSObject::kElementsOffset)); __ 3534 src/ia32/stub-cache-ia32.cc __ cmp(ecx, FieldOperand(ebx, ExternalArray::kLengthOffset)); __ 3536 src/ia32/stub-cache-ia32.cc __ j(above_equal, &miss_force_generic); __ 3537 src/ia32/stub-cache-ia32.cc __ mov(ebx, FieldOperand(ebx, ExternalArray::kExternalPointerOffset)); __ 3541 src/ia32/stub-cache-ia32.cc __ SmiUntag(ecx); // Untag the index. __ 3542 src/ia32/stub-cache-ia32.cc __ movsx_b(eax, Operand(ebx, ecx, times_1, 0)); __ 3546 src/ia32/stub-cache-ia32.cc __ SmiUntag(ecx); // Untag the index. __ 3547 src/ia32/stub-cache-ia32.cc __ movzx_b(eax, Operand(ebx, ecx, times_1, 0)); __ 3550 src/ia32/stub-cache-ia32.cc __ movsx_w(eax, Operand(ebx, ecx, times_1, 0)); __ 3553 src/ia32/stub-cache-ia32.cc __ movzx_w(eax, Operand(ebx, ecx, times_1, 0)); __ 3557 src/ia32/stub-cache-ia32.cc __ mov(eax, Operand(ebx, ecx, times_2, 0)); __ 3560 src/ia32/stub-cache-ia32.cc __ fld_s(Operand(ebx, ecx, times_2, 0)); __ 3563 src/ia32/stub-cache-ia32.cc __ fld_d(Operand(ebx, ecx, times_4, 0)); __ 3582 src/ia32/stub-cache-ia32.cc __ cmp(eax, 0xc0000000); __ 3583 src/ia32/stub-cache-ia32.cc __ j(sign, &box_int); __ 3589 src/ia32/stub-cache-ia32.cc __ test(eax, Immediate(0xc0000000)); __ 3590 src/ia32/stub-cache-ia32.cc __ j(not_zero, &box_int); __ 3593 src/ia32/stub-cache-ia32.cc __ SmiTag(eax); __ 3594 src/ia32/stub-cache-ia32.cc __ ret(0); __ 3596 src/ia32/stub-cache-ia32.cc __ bind(&box_int); __ 3601 src/ia32/stub-cache-ia32.cc __ push(eax); __ 3602 src/ia32/stub-cache-ia32.cc __ fild_s(Operand(esp, 0)); __ 3603 src/ia32/stub-cache-ia32.cc __ pop(eax); __ 3609 src/ia32/stub-cache-ia32.cc __ push(Immediate(0)); __ 3610 src/ia32/stub-cache-ia32.cc __ push(eax); __ 3611 src/ia32/stub-cache-ia32.cc __ fild_d(Operand(esp, 0)); __ 3612 src/ia32/stub-cache-ia32.cc __ pop(eax); __ 3613 src/ia32/stub-cache-ia32.cc __ pop(eax); __ 3616 src/ia32/stub-cache-ia32.cc __ AllocateHeapNumber(eax, ebx, edi, &failed_allocation); __ 3618 src/ia32/stub-cache-ia32.cc __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset)); __ 3619 src/ia32/stub-cache-ia32.cc __ ret(0); __ 3624 src/ia32/stub-cache-ia32.cc __ AllocateHeapNumber(eax, ebx, edi, &failed_allocation); __ 3626 src/ia32/stub-cache-ia32.cc __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset)); __ 3627 src/ia32/stub-cache-ia32.cc __ ret(0); __ 3629 src/ia32/stub-cache-ia32.cc __ SmiTag(eax); __ 3630 src/ia32/stub-cache-ia32.cc __ ret(0); __ 3635 src/ia32/stub-cache-ia32.cc __ bind(&failed_allocation); __ 3636 src/ia32/stub-cache-ia32.cc __ fstp(0); __ 3640 src/ia32/stub-cache-ia32.cc __ bind(&slow); __ 3642 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->keyed_load_external_array_slow(), 1); __ 3651 src/ia32/stub-cache-ia32.cc __ jmp(ic, RelocInfo::CODE_TARGET); __ 3660 src/ia32/stub-cache-ia32.cc __ bind(&miss_force_generic); __ 3663 src/ia32/stub-cache-ia32.cc __ jmp(miss_ic, RelocInfo::CODE_TARGET); __ 3685 src/ia32/stub-cache-ia32.cc __ mov(edi, FieldOperand(edx, JSObject::kElementsOffset)); __ 3686 src/ia32/stub-cache-ia32.cc __ cmp(ecx, FieldOperand(edi, ExternalArray::kLengthOffset)); __ 3688 src/ia32/stub-cache-ia32.cc __ j(above_equal, &slow); __ 3697 src/ia32/stub-cache-ia32.cc __ JumpIfNotSmi(eax, &slow); __ 3699 src/ia32/stub-cache-ia32.cc __ JumpIfNotSmi(eax, &check_heap_number); __ 3703 src/ia32/stub-cache-ia32.cc __ mov(ebx, eax); // Preserve the value in eax as the return value. __ 3704 src/ia32/stub-cache-ia32.cc __ SmiUntag(ebx); __ 3705 src/ia32/stub-cache-ia32.cc __ mov(edi, FieldOperand(edi, ExternalArray::kExternalPointerOffset)); __ 3709 src/ia32/stub-cache-ia32.cc __ ClampUint8(ebx); __ 3710 src/ia32/stub-cache-ia32.cc __ SmiUntag(ecx); __ 3711 src/ia32/stub-cache-ia32.cc __ mov_b(Operand(edi, ecx, times_1, 0), ebx); __ 3715 src/ia32/stub-cache-ia32.cc __ SmiUntag(ecx); __ 3716 src/ia32/stub-cache-ia32.cc __ mov_b(Operand(edi, ecx, times_1, 0), ebx); __ 3720 src/ia32/stub-cache-ia32.cc __ mov_w(Operand(edi, ecx, times_1, 0), ebx); __ 3724 src/ia32/stub-cache-ia32.cc __ mov(Operand(edi, ecx, times_2, 0), ebx); __ 3729 src/ia32/stub-cache-ia32.cc __ push(ebx); __ 3730 src/ia32/stub-cache-ia32.cc __ fild_s(Operand(esp, 0)); __ 3731 src/ia32/stub-cache-ia32.cc __ pop(ebx); __ 3733 src/ia32/stub-cache-ia32.cc __ fstp_s(Operand(edi, ecx, times_2, 0)); __ 3735 src/ia32/stub-cache-ia32.cc __ fstp_d(Operand(edi, ecx, times_4, 0)); __ 3742 src/ia32/stub-cache-ia32.cc __ ret(0); // Return the original value. __ 3746 src/ia32/stub-cache-ia32.cc __ bind(&check_heap_number); __ 3751 src/ia32/stub-cache-ia32.cc __ cmp(FieldOperand(eax, HeapObject::kMapOffset), __ 3753 src/ia32/stub-cache-ia32.cc __ j(not_equal, &slow); __ 3758 src/ia32/stub-cache-ia32.cc __ mov(edi, FieldOperand(edi, ExternalArray::kExternalPointerOffset)); __ 3761 src/ia32/stub-cache-ia32.cc __ fld_d(FieldOperand(eax, HeapNumber::kValueOffset)); __ 3762 src/ia32/stub-cache-ia32.cc __ fstp_s(Operand(edi, ecx, times_2, 0)); __ 3763 src/ia32/stub-cache-ia32.cc __ ret(0); __ 3765 src/ia32/stub-cache-ia32.cc __ fld_d(FieldOperand(eax, HeapNumber::kValueOffset)); __ 3766 src/ia32/stub-cache-ia32.cc __ fstp_d(Operand(edi, ecx, times_4, 0)); __ 3767 src/ia32/stub-cache-ia32.cc __ ret(0); __ 3784 src/ia32/stub-cache-ia32.cc __ fld_d(FieldOperand(eax, HeapNumber::kValueOffset)); __ 3785 src/ia32/stub-cache-ia32.cc __ sub(esp, Immediate(2 * kPointerSize)); __ 3786 src/ia32/stub-cache-ia32.cc __ fisttp_d(Operand(esp, 0)); __ 3792 src/ia32/stub-cache-ia32.cc __ cmp(Operand(esp, kPointerSize), Immediate(0x80000000u)); __ 3793 src/ia32/stub-cache-ia32.cc __ j(not_equal, &ok); __ 3794 src/ia32/stub-cache-ia32.cc __ cmp(Operand(esp, 0), Immediate(0)); __ 3795 src/ia32/stub-cache-ia32.cc __ j(not_equal, &ok); __ 3796 src/ia32/stub-cache-ia32.cc __ add(esp, Immediate(2 * kPointerSize)); // Restore the stack. __ 3797 src/ia32/stub-cache-ia32.cc __ jmp(&slow); __ 3799 src/ia32/stub-cache-ia32.cc __ bind(&ok); __ 3800 src/ia32/stub-cache-ia32.cc __ pop(ebx); __ 3801 src/ia32/stub-cache-ia32.cc __ add(esp, Immediate(kPointerSize)); __ 3802 src/ia32/stub-cache-ia32.cc __ mov(Operand(edi, ecx, times_2, 0), ebx); __ 3806 src/ia32/stub-cache-ia32.cc __ cvttsd2si(ebx, FieldOperand(eax, HeapNumber::kValueOffset)); __ 3807 src/ia32/stub-cache-ia32.cc __ cmp(ebx, 0x80000000u); __ 3808 src/ia32/stub-cache-ia32.cc __ j(equal, &slow); __ 3812 src/ia32/stub-cache-ia32.cc __ ClampUint8(ebx); __ 3816 src/ia32/stub-cache-ia32.cc __ SmiUntag(ecx); __ 3817 src/ia32/stub-cache-ia32.cc __ mov_b(Operand(edi, ecx, times_1, 0), ebx); __ 3821 src/ia32/stub-cache-ia32.cc __ mov_w(Operand(edi, ecx, times_1, 0), ebx); __ 3825 src/ia32/stub-cache-ia32.cc __ mov(Operand(edi, ecx, times_2, 0), ebx); __ 3832 src/ia32/stub-cache-ia32.cc __ ret(0); // Return original value. __ 3838 src/ia32/stub-cache-ia32.cc __ bind(&slow); __ 3840 src/ia32/stub-cache-ia32.cc __ IncrementCounter(counters->keyed_store_external_array_slow(), 1); __ 3850 src/ia32/stub-cache-ia32.cc __ jmp(ic, RelocInfo::CODE_TARGET); __ 3859 src/ia32/stub-cache-ia32.cc __ bind(&miss_force_generic); __ 3862 src/ia32/stub-cache-ia32.cc __ jmp(miss_ic, RelocInfo::CODE_TARGET); __ 3881 src/ia32/stub-cache-ia32.cc __ mov(eax, FieldOperand(edx, JSObject::kElementsOffset)); __ 3882 src/ia32/stub-cache-ia32.cc __ AssertFastElements(eax); __ 3885 src/ia32/stub-cache-ia32.cc __ cmp(ecx, FieldOperand(eax, FixedArray::kLengthOffset)); __ 3886 src/ia32/stub-cache-ia32.cc __ j(above_equal, &miss_force_generic); __ 3889 src/ia32/stub-cache-ia32.cc __ mov(ebx, Operand(eax, ecx, times_2, __ 3891 src/ia32/stub-cache-ia32.cc __ cmp(ebx, masm->isolate()->factory()->the_hole_value()); __ 3892 src/ia32/stub-cache-ia32.cc __ j(equal, &miss_force_generic); __ 3893 src/ia32/stub-cache-ia32.cc __ mov(eax, ebx); __ 3894 src/ia32/stub-cache-ia32.cc __ ret(0); __ 3896 src/ia32/stub-cache-ia32.cc __ bind(&miss_force_generic); __ 3899 src/ia32/stub-cache-ia32.cc __ jmp(miss_ic, RelocInfo::CODE_TARGET); __ 3919 src/ia32/stub-cache-ia32.cc __ mov(eax, FieldOperand(edx, JSObject::kElementsOffset)); __ 3920 src/ia32/stub-cache-ia32.cc __ AssertFastElements(eax); __ 3923 src/ia32/stub-cache-ia32.cc __ cmp(ecx, FieldOperand(eax, FixedDoubleArray::kLengthOffset)); __ 3924 src/ia32/stub-cache-ia32.cc __ j(above_equal, &miss_force_generic); __ 3928 src/ia32/stub-cache-ia32.cc __ cmp(FieldOperand(eax, ecx, times_4, offset), Immediate(kHoleNanUpper32)); __ 3929 src/ia32/stub-cache-ia32.cc __ j(equal, &miss_force_generic); __ 3934 src/ia32/stub-cache-ia32.cc __ movdbl(xmm0, FieldOperand(eax, ecx, times_4, __ 3937 src/ia32/stub-cache-ia32.cc __ fld_d(FieldOperand(eax, ecx, times_4, FixedDoubleArray::kHeaderSize)); __ 3939 src/ia32/stub-cache-ia32.cc __ AllocateHeapNumber(eax, ebx, edi, &slow_allocate_heapnumber); __ 3943 src/ia32/stub-cache-ia32.cc __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0); __ 3945 src/ia32/stub-cache-ia32.cc __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset)); __ 3947 src/ia32/stub-cache-ia32.cc __ ret(0); __ 3949 src/ia32/stub-cache-ia32.cc __ bind(&slow_allocate_heapnumber); __ 3953 src/ia32/stub-cache-ia32.cc __ fstp(0); __ 3957 src/ia32/stub-cache-ia32.cc __ jmp(slow_ic, RelocInfo::CODE_TARGET); __ 3959 src/ia32/stub-cache-ia32.cc __ bind(&miss_force_generic); __ 3962 src/ia32/stub-cache-ia32.cc __ jmp(miss_ic, RelocInfo::CODE_TARGET); __ 3987 src/ia32/stub-cache-ia32.cc __ JumpIfNotSmi(eax, &transition_elements_kind); __ 3991 src/ia32/stub-cache-ia32.cc __ mov(edi, FieldOperand(edx, JSObject::kElementsOffset)); __ 3994 src/ia32/stub-cache-ia32.cc __ cmp(ecx, FieldOperand(edx, JSArray::kLengthOffset)); // smis. __ 3996 src/ia32/stub-cache-ia32.cc __ j(above_equal, &grow); __ 3998 src/ia32/stub-cache-ia32.cc __ j(above_equal, &miss_force_generic); __ 4002 src/ia32/stub-cache-ia32.cc __ cmp(ecx, FieldOperand(edi, FixedArray::kLengthOffset)); // smis. __ 4003 src/ia32/stub-cache-ia32.cc __ j(above_equal, &miss_force_generic); __ 4006 src/ia32/stub-cache-ia32.cc __ cmp(FieldOperand(edi, HeapObject::kMapOffset), __ 4008 src/ia32/stub-cache-ia32.cc __ j(not_equal, &miss_force_generic); __ 4010 src/ia32/stub-cache-ia32.cc __ bind(&finish_store); __ 4014 src/ia32/stub-cache-ia32.cc __ mov(FieldOperand(edi, __ 4023 src/ia32/stub-cache-ia32.cc __ lea(ecx, FieldOperand(edi, __ 4027 src/ia32/stub-cache-ia32.cc __ mov(Operand(ecx, 0), eax); __ 4029 src/ia32/stub-cache-ia32.cc __ mov(ebx, eax); __ 4030 src/ia32/stub-cache-ia32.cc __ RecordWrite(edi, ecx, ebx, kDontSaveFPRegs); __ 4034 src/ia32/stub-cache-ia32.cc __ ret(0); __ 4037 src/ia32/stub-cache-ia32.cc __ bind(&miss_force_generic); __ 4040 src/ia32/stub-cache-ia32.cc __ jmp(ic_force_generic, RelocInfo::CODE_TARGET); __ 4043 src/ia32/stub-cache-ia32.cc __ bind(&transition_elements_kind); __ 4045 src/ia32/stub-cache-ia32.cc __ jmp(ic_miss, RelocInfo::CODE_TARGET); __ 4049 src/ia32/stub-cache-ia32.cc __ bind(&grow); __ 4054 src/ia32/stub-cache-ia32.cc __ j(not_equal, &miss_force_generic); __ 4058 src/ia32/stub-cache-ia32.cc __ mov(edi, FieldOperand(edx, JSObject::kElementsOffset)); __ 4059 src/ia32/stub-cache-ia32.cc __ cmp(edi, Immediate(masm->isolate()->factory()->empty_fixed_array())); __ 4060 src/ia32/stub-cache-ia32.cc __ j(not_equal, &check_capacity); __ 4063 src/ia32/stub-cache-ia32.cc __ AllocateInNewSpace(size, edi, ebx, ecx, &prepare_slow, TAG_OBJECT); __ 4071 src/ia32/stub-cache-ia32.cc __ mov(FieldOperand(edi, JSObject::kMapOffset), __ 4073 src/ia32/stub-cache-ia32.cc __ mov(FieldOperand(edi, FixedArray::kLengthOffset), __ 4075 src/ia32/stub-cache-ia32.cc __ mov(ebx, Immediate(masm->isolate()->factory()->the_hole_value())); __ 4077 src/ia32/stub-cache-ia32.cc __ mov(FieldOperand(edi, FixedArray::SizeFor(i)), ebx); __ 4081 src/ia32/stub-cache-ia32.cc __ mov(FieldOperand(edi, FixedArray::SizeFor(0)), eax); __ 4084 src/ia32/stub-cache-ia32.cc __ mov(FieldOperand(edx, JSObject::kElementsOffset), edi); __ 4085 src/ia32/stub-cache-ia32.cc __ RecordWriteField(edx, JSObject::kElementsOffset, edi, ebx, __ 4089 src/ia32/stub-cache-ia32.cc __ mov(FieldOperand(edx, JSArray::kLengthOffset), __ 4091 src/ia32/stub-cache-ia32.cc __ ret(0); __ 4093 src/ia32/stub-cache-ia32.cc __ bind(&check_capacity); __ 4094 src/ia32/stub-cache-ia32.cc __ cmp(FieldOperand(edi, HeapObject::kMapOffset), __ 4096 src/ia32/stub-cache-ia32.cc __ j(equal, &miss_force_generic); __ 4103 src/ia32/stub-cache-ia32.cc __ cmp(ecx, FieldOperand(edi, FixedArray::kLengthOffset)); __ 4104 src/ia32/stub-cache-ia32.cc __ j(above_equal, &slow); __ 4107 src/ia32/stub-cache-ia32.cc __ add(FieldOperand(edx, JSArray::kLengthOffset), __ 4109 src/ia32/stub-cache-ia32.cc __ jmp(&finish_store); __ 4111 src/ia32/stub-cache-ia32.cc __ bind(&prepare_slow); __ 4113 src/ia32/stub-cache-ia32.cc __ mov(ecx, Immediate(0)); __ 4115 src/ia32/stub-cache-ia32.cc __ bind(&slow); __ 4117 src/ia32/stub-cache-ia32.cc __ jmp(ic_slow, RelocInfo::CODE_TARGET); __ 4142 src/ia32/stub-cache-ia32.cc __ mov(edi, FieldOperand(edx, JSObject::kElementsOffset)); __ 4143 src/ia32/stub-cache-ia32.cc __ AssertFastElements(edi); __ 4147 src/ia32/stub-cache-ia32.cc __ cmp(ecx, FieldOperand(edx, JSArray::kLengthOffset)); // smis. __ 4149 src/ia32/stub-cache-ia32.cc __ j(above_equal, &grow); __ 4151 src/ia32/stub-cache-ia32.cc __ j(above_equal, &miss_force_generic); __ 4155 src/ia32/stub-cache-ia32.cc __ cmp(ecx, FieldOperand(edi, FixedArray::kLengthOffset)); // smis. __ 4156 src/ia32/stub-cache-ia32.cc __ j(above_equal, &miss_force_generic); __ 4159 src/ia32/stub-cache-ia32.cc __ bind(&finish_store); __ 4160 src/ia32/stub-cache-ia32.cc __ StoreNumberToDoubleElements(eax, edi, ecx, edx, xmm0, __ 4162 src/ia32/stub-cache-ia32.cc __ ret(0); __ 4165 src/ia32/stub-cache-ia32.cc __ bind(&miss_force_generic); __ 4168 src/ia32/stub-cache-ia32.cc __ jmp(ic_force_generic, RelocInfo::CODE_TARGET); __ 4171 src/ia32/stub-cache-ia32.cc __ bind(&transition_elements_kind); __ 4173 src/ia32/stub-cache-ia32.cc __ jmp(ic_miss, RelocInfo::CODE_TARGET); __ 4177 src/ia32/stub-cache-ia32.cc __ bind(&grow); __ 4182 src/ia32/stub-cache-ia32.cc __ j(not_equal, &miss_force_generic); __ 4186 src/ia32/stub-cache-ia32.cc __ JumpIfSmi(eax, &value_is_smi); __ 4187 src/ia32/stub-cache-ia32.cc __ cmp(FieldOperand(eax, HeapObject::kMapOffset), __ 4189 src/ia32/stub-cache-ia32.cc __ j(not_equal, &transition_elements_kind); __ 4190 src/ia32/stub-cache-ia32.cc __ bind(&value_is_smi); __ 4194 src/ia32/stub-cache-ia32.cc __ mov(edi, FieldOperand(edx, JSObject::kElementsOffset)); __ 4195 src/ia32/stub-cache-ia32.cc __ cmp(edi, Immediate(masm->isolate()->factory()->empty_fixed_array())); __ 4196 src/ia32/stub-cache-ia32.cc __ j(not_equal, &check_capacity); __ 4199 src/ia32/stub-cache-ia32.cc __ AllocateInNewSpace(size, edi, ebx, ecx, &prepare_slow, TAG_OBJECT); __ 4202 src/ia32/stub-cache-ia32.cc __ mov(ecx, Immediate(0)); __ 4210 src/ia32/stub-cache-ia32.cc __ mov(FieldOperand(edi, JSObject::kMapOffset), __ 4212 src/ia32/stub-cache-ia32.cc __ mov(FieldOperand(edi, FixedDoubleArray::kLengthOffset), __ 4216 src/ia32/stub-cache-ia32.cc __ mov(FieldOperand(edx, JSObject::kElementsOffset), edi); __ 4217 src/ia32/stub-cache-ia32.cc __ RecordWriteField(edx, JSObject::kElementsOffset, edi, ebx, __ 4221 src/ia32/stub-cache-ia32.cc __ add(FieldOperand(edx, JSArray::kLengthOffset), __ 4223 src/ia32/stub-cache-ia32.cc __ mov(edi, FieldOperand(edx, JSObject::kElementsOffset)); __ 4224 src/ia32/stub-cache-ia32.cc __ jmp(&finish_store); __ 4226 src/ia32/stub-cache-ia32.cc __ bind(&check_capacity); __ 4232 src/ia32/stub-cache-ia32.cc __ cmp(ecx, FieldOperand(edi, FixedDoubleArray::kLengthOffset)); __ 4233 src/ia32/stub-cache-ia32.cc __ j(above_equal, &slow); __ 4236 src/ia32/stub-cache-ia32.cc __ add(FieldOperand(edx, JSArray::kLengthOffset), __ 4238 src/ia32/stub-cache-ia32.cc __ jmp(&finish_store); __ 4240 src/ia32/stub-cache-ia32.cc __ bind(&prepare_slow); __ 4242 src/ia32/stub-cache-ia32.cc __ mov(ecx, Immediate(0)); __ 4244 src/ia32/stub-cache-ia32.cc __ bind(&slow); __ 4246 src/ia32/stub-cache-ia32.cc __ jmp(ic_slow, RelocInfo::CODE_TARGET); __ 65 src/mips/builtins-mips.cc __ push(a1); __ 72 src/mips/builtins-mips.cc __ Addu(s0, a0, num_extra_args + 1); __ 73 src/mips/builtins-mips.cc __ sll(s1, s0, kPointerSizeLog2); __ 74 src/mips/builtins-mips.cc __ Subu(s1, s1, kPointerSize); __ 75 src/mips/builtins-mips.cc __ JumpToExternalReference(ExternalReference(id, masm->isolate())); __ 84 src/mips/builtins-mips.cc __ lw(result, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 85 src/mips/builtins-mips.cc __ lw(result, __ 88 src/mips/builtins-mips.cc __ lw(result, __ 99 src/mips/builtins-mips.cc __ lw(result, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 100 src/mips/builtins-mips.cc __ lw(result, __ 103 src/mips/builtins-mips.cc __ lw(result, __ 121 src/mips/builtins-mips.cc __ LoadInitialArrayMap(array_function, scratch2, scratch1, false); __ 129 src/mips/builtins-mips.cc __ AllocateInNewSpace(size, __ 140 src/mips/builtins-mips.cc __ sw(scratch1, FieldMemOperand(result, JSObject::kMapOffset)); __ 141 src/mips/builtins-mips.cc __ LoadRoot(scratch1, Heap::kEmptyFixedArrayRootIndex); __ 142 src/mips/builtins-mips.cc __ sw(scratch1, FieldMemOperand(result, JSArray::kPropertiesOffset)); __ 144 src/mips/builtins-mips.cc __ mov(scratch3, zero_reg); __ 145 src/mips/builtins-mips.cc __ sw(scratch3, FieldMemOperand(result, JSArray::kLengthOffset)); __ 148 src/mips/builtins-mips.cc __ sw(scratch1, FieldMemOperand(result, JSArray::kElementsOffset)); __ 156 src/mips/builtins-mips.cc __ Addu(scratch1, result, Operand(JSArray::kSize)); __ 157 src/mips/builtins-mips.cc __ sw(scratch1, FieldMemOperand(result, JSArray::kElementsOffset)); __ 160 src/mips/builtins-mips.cc __ And(scratch1, scratch1, Operand(~kHeapObjectTagMask)); __ 167 src/mips/builtins-mips.cc __ LoadRoot(scratch3, Heap::kFixedArrayMapRootIndex); __ 169 src/mips/builtins-mips.cc __ sw(scratch3, MemOperand(scratch1)); __ 170 src/mips/builtins-mips.cc __ Addu(scratch1, scratch1, kPointerSize); __ 171 src/mips/builtins-mips.cc __ li(scratch3, Operand(Smi::FromInt(initial_capacity))); __ 173 src/mips/builtins-mips.cc __ sw(scratch3, MemOperand(scratch1)); __ 174 src/mips/builtins-mips.cc __ Addu(scratch1, scratch1, kPointerSize); __ 178 src/mips/builtins-mips.cc __ LoadRoot(scratch3, Heap::kTheHoleValueRootIndex); __ 182 src/mips/builtins-mips.cc __ sw(scratch3, MemOperand(scratch1, i * kPointerSize)); __ 186 src/mips/builtins-mips.cc __ Addu(scratch2, scratch1, Operand(initial_capacity * kPointerSize)); __ 187 src/mips/builtins-mips.cc __ Branch(&entry); __ 188 src/mips/builtins-mips.cc __ bind(&loop); __ 189 src/mips/builtins-mips.cc __ sw(scratch3, MemOperand(scratch1)); __ 190 src/mips/builtins-mips.cc __ Addu(scratch1, scratch1, kPointerSize); __ 191 src/mips/builtins-mips.cc __ bind(&entry); __ 192 src/mips/builtins-mips.cc __ Branch(&loop, lt, scratch1, Operand(scratch2)); __ 217 src/mips/builtins-mips.cc __ LoadInitialArrayMap(array_function, scratch2, __ 221 src/mips/builtins-mips.cc __ Assert( __ 228 src/mips/builtins-mips.cc __ li(elements_array_end, __ 230 src/mips/builtins-mips.cc __ sra(scratch1, array_size, kSmiTagSize); __ 231 src/mips/builtins-mips.cc __ Addu(elements_array_end, elements_array_end, scratch1); __ 232 src/mips/builtins-mips.cc __ AllocateInNewSpace( __ 245 src/mips/builtins-mips.cc __ sw(elements_array_storage, FieldMemOperand(result, JSObject::kMapOffset)); __ 246 src/mips/builtins-mips.cc __ LoadRoot(elements_array_storage, Heap::kEmptyFixedArrayRootIndex); __ 247 src/mips/builtins-mips.cc __ sw(elements_array_storage, __ 250 src/mips/builtins-mips.cc __ sw(array_size, FieldMemOperand(result, JSArray::kLengthOffset)); __ 256 src/mips/builtins-mips.cc __ Addu(elements_array_storage, result, Operand(JSArray::kSize)); __ 257 src/mips/builtins-mips.cc __ sw(elements_array_storage, __ 261 src/mips/builtins-mips.cc __ And(elements_array_storage, __ 269 src/mips/builtins-mips.cc __ LoadRoot(scratch1, Heap::kFixedArrayMapRootIndex); __ 271 src/mips/builtins-mips.cc __ sw(scratch1, MemOperand(elements_array_storage)); __ 272 src/mips/builtins-mips.cc __ Addu(elements_array_storage, elements_array_storage, kPointerSize); __ 280 src/mips/builtins-mips.cc __ sw(array_size, MemOperand(elements_array_storage)); __ 281 src/mips/builtins-mips.cc __ Addu(elements_array_storage, elements_array_storage, kPointerSize); __ 288 src/mips/builtins-mips.cc __ sll(elements_array_end, array_size, kPointerSizeLog2 - kSmiTagSize); __ 289 src/mips/builtins-mips.cc __ Addu(elements_array_end, elements_array_storage, elements_array_end); __ 297 src/mips/builtins-mips.cc __ LoadRoot(scratch1, Heap::kTheHoleValueRootIndex); __ 298 src/mips/builtins-mips.cc __ Branch(&entry); __ 299 src/mips/builtins-mips.cc __ bind(&loop); __ 300 src/mips/builtins-mips.cc __ sw(scratch1, MemOperand(elements_array_storage)); __ 301 src/mips/builtins-mips.cc __ Addu(elements_array_storage, elements_array_storage, kPointerSize); __ 303 src/mips/builtins-mips.cc __ bind(&entry); __ 304 src/mips/builtins-mips.cc __ Branch(&loop, lt, elements_array_storage, Operand(elements_array_end)); __ 330 src/mips/builtins-mips.cc __ Branch(&argc_one_or_more, ne, a0, Operand(zero_reg)); __ 332 src/mips/builtins-mips.cc __ bind(&empty_array); __ 340 src/mips/builtins-mips.cc __ IncrementCounter(counters->array_function_native(), 1, a3, t0); __ 342 src/mips/builtins-mips.cc __ mov(v0, a2); __ 343 src/mips/builtins-mips.cc __ Addu(sp, sp, Operand(kPointerSize)); __ 344 src/mips/builtins-mips.cc __ Ret(); __ 348 src/mips/builtins-mips.cc __ bind(&argc_one_or_more); __ 349 src/mips/builtins-mips.cc __ Branch(&argc_two_or_more, ne, a0, Operand(1)); __ 352 src/mips/builtins-mips.cc __ lw(a2, MemOperand(sp)); // Get the argument from the stack. __ 353 src/mips/builtins-mips.cc __ Branch(¬_empty_array, ne, a2, Operand(zero_reg)); __ 354 src/mips/builtins-mips.cc __ Drop(1); // Adjust stack. __ 355 src/mips/builtins-mips.cc __ mov(a0, zero_reg); // Treat this as a call with argc of zero. __ 356 src/mips/builtins-mips.cc __ Branch(&empty_array); __ 358 src/mips/builtins-mips.cc __ bind(¬_empty_array); __ 359 src/mips/builtins-mips.cc __ And(a3, a2, Operand(kIntptrSignBit | kSmiTagMask)); __ 360 src/mips/builtins-mips.cc __ Branch(call_generic_code, eq, a3, Operand(zero_reg)); __ 365 src/mips/builtins-mips.cc __ Branch(call_generic_code, Ugreater_equal, a2, __ 382 src/mips/builtins-mips.cc __ IncrementCounter(counters->array_function_native(), 1, a2, t0); __ 385 src/mips/builtins-mips.cc __ mov(v0, a3); __ 386 src/mips/builtins-mips.cc __ Addu(sp, sp, Operand(2 * kPointerSize)); __ 387 src/mips/builtins-mips.cc __ Ret(); __ 390 src/mips/builtins-mips.cc __ bind(&argc_two_or_more); __ 391 src/mips/builtins-mips.cc __ sll(a2, a0, kSmiTagSize); // Convert argc to a smi. __ 407 src/mips/builtins-mips.cc __ IncrementCounter(counters->array_function_native(), 1, a2, t2); __ 419 src/mips/builtins-mips.cc __ Branch(USE_DELAY_SLOT, &entry); __ 420 src/mips/builtins-mips.cc __ mov(t3, sp); __ 421 src/mips/builtins-mips.cc __ bind(&loop); __ 422 src/mips/builtins-mips.cc __ lw(a2, MemOperand(t3)); __ 424 src/mips/builtins-mips.cc __ JumpIfNotSmi(a2, &has_non_smi_element); __ 426 src/mips/builtins-mips.cc __ Addu(t3, t3, kPointerSize); __ 427 src/mips/builtins-mips.cc __ Addu(t1, t1, -kPointerSize); __ 428 src/mips/builtins-mips.cc __ sw(a2, MemOperand(t1)); __ 429 src/mips/builtins-mips.cc __ bind(&entry); __ 430 src/mips/builtins-mips.cc __ Branch(&loop, lt, t0, Operand(t1)); __ 432 src/mips/builtins-mips.cc __ bind(&finish); __ 433 src/mips/builtins-mips.cc __ mov(sp, t3); __ 440 src/mips/builtins-mips.cc __ Addu(sp, sp, Operand(kPointerSize)); __ 441 src/mips/builtins-mips.cc __ mov(v0, a3); __ 442 src/mips/builtins-mips.cc __ Ret(); __ 444 src/mips/builtins-mips.cc __ bind(&has_non_smi_element); __ 446 src/mips/builtins-mips.cc __ CheckMap( __ 448 src/mips/builtins-mips.cc __ bind(&cant_transition_map); __ 449 src/mips/builtins-mips.cc __ UndoAllocationInNewSpace(a3, t0); __ 450 src/mips/builtins-mips.cc __ Branch(call_generic_code); __ 452 src/mips/builtins-mips.cc __ bind(¬_double); __ 455 src/mips/builtins-mips.cc __ lw(a2, FieldMemOperand(a3, HeapObject::kMapOffset)); __ 456 src/mips/builtins-mips.cc __ LoadTransitionedArrayMapConditional(FAST_SMI_ELEMENTS, __ 461 src/mips/builtins-mips.cc __ sw(a2, FieldMemOperand(a3, HeapObject::kMapOffset)); __ 462 src/mips/builtins-mips.cc __ RecordWriteField(a3, __ 471 src/mips/builtins-mips.cc __ bind(&loop2); __ 472 src/mips/builtins-mips.cc __ lw(a2, MemOperand(t3)); __ 473 src/mips/builtins-mips.cc __ Addu(t3, t3, kPointerSize); __ 474 src/mips/builtins-mips.cc __ Subu(t1, t1, kPointerSize); __ 475 src/mips/builtins-mips.cc __ sw(a2, MemOperand(t1)); __ 476 src/mips/builtins-mips.cc __ Branch(&loop2, lt, t0, Operand(t1)); __ 477 src/mips/builtins-mips.cc __ Branch(&finish); __ 494 src/mips/builtins-mips.cc __ lw(a2, FieldMemOperand(a1, JSFunction::kPrototypeOrInitialMapOffset)); __ 495 src/mips/builtins-mips.cc __ And(t0, a2, Operand(kSmiTagMask)); __ 496 src/mips/builtins-mips.cc __ Assert(ne, "Unexpected initial map for InternalArray function", __ 498 src/mips/builtins-mips.cc __ GetObjectType(a2, a3, t0); __ 499 src/mips/builtins-mips.cc __ Assert(eq, "Unexpected initial map for InternalArray function", __ 509 src/mips/builtins-mips.cc __ bind(&generic_array_code); __ 513 src/mips/builtins-mips.cc __ Jump(array_code, RelocInfo::CODE_TARGET); __ 530 src/mips/builtins-mips.cc __ lw(a2, FieldMemOperand(a1, JSFunction::kPrototypeOrInitialMapOffset)); __ 531 src/mips/builtins-mips.cc __ And(t0, a2, Operand(kSmiTagMask)); __ 532 src/mips/builtins-mips.cc __ Assert(ne, "Unexpected initial map for Array function (1)", __ 534 src/mips/builtins-mips.cc __ GetObjectType(a2, a3, t0); __ 535 src/mips/builtins-mips.cc __ Assert(eq, "Unexpected initial map for Array function (2)", __ 544 src/mips/builtins-mips.cc __ bind(&generic_array_code); __ 548 src/mips/builtins-mips.cc __ Jump(array_code, RelocInfo::CODE_TARGET); __ 565 src/mips/builtins-mips.cc __ lw(a2, FieldMemOperand(a1, JSFunction::kPrototypeOrInitialMapOffset)); __ 566 src/mips/builtins-mips.cc __ And(t0, a2, Operand(kSmiTagMask)); __ 567 src/mips/builtins-mips.cc __ Assert(ne, "Unexpected initial map for Array function (3)", __ 569 src/mips/builtins-mips.cc __ GetObjectType(a2, a3, t0); __ 570 src/mips/builtins-mips.cc __ Assert(eq, "Unexpected initial map for Array function (4)", __ 579 src/mips/builtins-mips.cc __ bind(&generic_constructor); __ 583 src/mips/builtins-mips.cc __ Jump(generic_construct_stub, RelocInfo::CODE_TARGET); __ 596 src/mips/builtins-mips.cc __ IncrementCounter(counters->string_ctor_calls(), 1, a2, a3); __ 600 src/mips/builtins-mips.cc __ LoadGlobalFunction(Context::STRING_FUNCTION_INDEX, a2); __ 601 src/mips/builtins-mips.cc __ Assert(eq, "Unexpected String function", function, Operand(a2)); __ 606 src/mips/builtins-mips.cc __ Branch(&no_arguments, eq, a0, Operand(zero_reg)); __ 608 src/mips/builtins-mips.cc __ Subu(a0, a0, Operand(1)); __ 609 src/mips/builtins-mips.cc __ sll(a0, a0, kPointerSizeLog2); __ 610 src/mips/builtins-mips.cc __ Addu(sp, a0, sp); __ 611 src/mips/builtins-mips.cc __ lw(a0, MemOperand(sp)); __ 613 src/mips/builtins-mips.cc __ Drop(2); __ 626 src/mips/builtins-mips.cc __ IncrementCounter(counters->string_ctor_cached_number(), 1, a3, t0); __ 627 src/mips/builtins-mips.cc __ bind(&argument_is_string); __ 636 src/mips/builtins-mips.cc __ AllocateInNewSpace(JSValue::kSize, __ 645 src/mips/builtins-mips.cc __ LoadGlobalFunctionInitialMap(function, map, t0); __ 647 src/mips/builtins-mips.cc __ lbu(t0, FieldMemOperand(map, Map::kInstanceSizeOffset)); __ 648 src/mips/builtins-mips.cc __ Assert(eq, "Unexpected string wrapper instance size", __ 650 src/mips/builtins-mips.cc __ lbu(t0, FieldMemOperand(map, Map::kUnusedPropertyFieldsOffset)); __ 651 src/mips/builtins-mips.cc __ Assert(eq, "Unexpected unused properties of string wrapper", __ 654 src/mips/builtins-mips.cc __ sw(map, FieldMemOperand(v0, HeapObject::kMapOffset)); __ 656 src/mips/builtins-mips.cc __ LoadRoot(a3, Heap::kEmptyFixedArrayRootIndex); __ 657 src/mips/builtins-mips.cc __ sw(a3, FieldMemOperand(v0, JSObject::kPropertiesOffset)); __ 658 src/mips/builtins-mips.cc __ sw(a3, FieldMemOperand(v0, JSObject::kElementsOffset)); __ 660 src/mips/builtins-mips.cc __ sw(argument, FieldMemOperand(v0, JSValue::kValueOffset)); __ 665 src/mips/builtins-mips.cc __ Ret(); __ 670 src/mips/builtins-mips.cc __ bind(¬_cached); __ 671 src/mips/builtins-mips.cc __ JumpIfSmi(a0, &convert_argument); __ 674 src/mips/builtins-mips.cc __ lw(a2, FieldMemOperand(a0, HeapObject::kMapOffset)); __ 675 src/mips/builtins-mips.cc __ lbu(a3, FieldMemOperand(a2, Map::kInstanceTypeOffset)); __ 677 src/mips/builtins-mips.cc __ And(t0, a3, Operand(kIsNotStringMask)); __ 678 src/mips/builtins-mips.cc __ Branch(&convert_argument, ne, t0, Operand(zero_reg)); __ 679 src/mips/builtins-mips.cc __ mov(argument, a0); __ 680 src/mips/builtins-mips.cc __ IncrementCounter(counters->string_ctor_conversions(), 1, a3, t0); __ 681 src/mips/builtins-mips.cc __ Branch(&argument_is_string); __ 684 src/mips/builtins-mips.cc __ bind(&convert_argument); __ 685 src/mips/builtins-mips.cc __ push(function); // Preserve the function. __ 686 src/mips/builtins-mips.cc __ IncrementCounter(counters->string_ctor_conversions(), 1, a3, t0); __ 689 src/mips/builtins-mips.cc __ push(v0); __ 690 src/mips/builtins-mips.cc __ InvokeBuiltin(Builtins::TO_STRING, CALL_FUNCTION); __ 692 src/mips/builtins-mips.cc __ pop(function); __ 693 src/mips/builtins-mips.cc __ mov(argument, v0); __ 694 src/mips/builtins-mips.cc __ Branch(&argument_is_string); __ 698 src/mips/builtins-mips.cc __ bind(&no_arguments); __ 699 src/mips/builtins-mips.cc __ LoadRoot(argument, Heap::kEmptyStringRootIndex); __ 700 src/mips/builtins-mips.cc __ Drop(1); __ 701 src/mips/builtins-mips.cc __ Branch(&argument_is_string); __ 705 src/mips/builtins-mips.cc __ bind(&gc_required); __ 706 src/mips/builtins-mips.cc __ IncrementCounter(counters->string_ctor_gc_required(), 1, a3, t0); __ 709 src/mips/builtins-mips.cc __ push(argument); __ 710 src/mips/builtins-mips.cc __ CallRuntime(Runtime::kNewStringWrapper, 1); __ 712 src/mips/builtins-mips.cc __ Ret(); __ 743 src/mips/builtins-mips.cc __ sll(a0, a0, kSmiTagSize); // Tag arguments count. __ 744 src/mips/builtins-mips.cc __ MultiPushReversed(a0.bit() | a1.bit()); __ 747 src/mips/builtins-mips.cc __ LoadRoot(t7, Heap::kUndefinedValueRootIndex); __ 757 src/mips/builtins-mips.cc __ li(a2, Operand(debug_step_in_fp)); __ 758 src/mips/builtins-mips.cc __ lw(a2, MemOperand(a2)); __ 759 src/mips/builtins-mips.cc __ Branch(&rt_call, ne, a2, Operand(zero_reg)); __ 764 src/mips/builtins-mips.cc __ lw(a2, FieldMemOperand(a1, JSFunction::kPrototypeOrInitialMapOffset)); __ 765 src/mips/builtins-mips.cc __ JumpIfSmi(a2, &rt_call); __ 766 src/mips/builtins-mips.cc __ GetObjectType(a2, a3, t4); __ 767 src/mips/builtins-mips.cc __ Branch(&rt_call, ne, t4, Operand(MAP_TYPE)); __ 774 src/mips/builtins-mips.cc __ lbu(a3, FieldMemOperand(a2, Map::kInstanceTypeOffset)); __ 775 src/mips/builtins-mips.cc __ Branch(&rt_call, eq, a3, Operand(JS_FUNCTION_TYPE)); __ 780 src/mips/builtins-mips.cc __ lw(a3, FieldMemOperand(a1, JSFunction::kSharedFunctionInfoOffset)); __ 783 src/mips/builtins-mips.cc __ lbu(t0, constructor_count); __ 784 src/mips/builtins-mips.cc __ Subu(t0, t0, Operand(1)); __ 785 src/mips/builtins-mips.cc __ sb(t0, constructor_count); __ 786 src/mips/builtins-mips.cc __ Branch(&allocate, ne, t0, Operand(zero_reg)); __ 788 src/mips/builtins-mips.cc __ Push(a1, a2); __ 790 src/mips/builtins-mips.cc __ push(a1); // Constructor. __ 792 src/mips/builtins-mips.cc __ CallRuntime(Runtime::kFinalizeInstanceSize, 1); __ 794 src/mips/builtins-mips.cc __ pop(a2); __ 795 src/mips/builtins-mips.cc __ pop(a1); __ 797 src/mips/builtins-mips.cc __ bind(&allocate); __ 803 src/mips/builtins-mips.cc __ lbu(a3, FieldMemOperand(a2, Map::kInstanceSizeOffset)); __ 804 src/mips/builtins-mips.cc __ AllocateInNewSpace(a3, t4, t5, t6, &rt_call, SIZE_IN_WORDS); __ 812 src/mips/builtins-mips.cc __ LoadRoot(t6, Heap::kEmptyFixedArrayRootIndex); __ 813 src/mips/builtins-mips.cc __ mov(t5, t4); __ 814 src/mips/builtins-mips.cc __ sw(a2, MemOperand(t5, JSObject::kMapOffset)); __ 815 src/mips/builtins-mips.cc __ sw(t6, MemOperand(t5, JSObject::kPropertiesOffset)); __ 816 src/mips/builtins-mips.cc __ sw(t6, MemOperand(t5, JSObject::kElementsOffset)); __ 817 src/mips/builtins-mips.cc __ Addu(t5, t5, Operand(3*kPointerSize)); __ 828 src/mips/builtins-mips.cc __ sll(t0, a3, kPointerSizeLog2); __ 829 src/mips/builtins-mips.cc __ addu(t6, t4, t0); // End of object. __ 831 src/mips/builtins-mips.cc __ LoadRoot(t7, Heap::kUndefinedValueRootIndex); __ 833 src/mips/builtins-mips.cc __ lw(a0, FieldMemOperand(a2, Map::kInstanceSizesOffset)); __ 834 src/mips/builtins-mips.cc __ Ext(a0, a0, Map::kPreAllocatedPropertyFieldsByte * kBitsPerByte, __ 836 src/mips/builtins-mips.cc __ sll(t0, a0, kPointerSizeLog2); __ 837 src/mips/builtins-mips.cc __ addu(a0, t5, t0); __ 840 src/mips/builtins-mips.cc __ Assert(le, "Unexpected number of pre-allocated property fields.", __ 843 src/mips/builtins-mips.cc __ InitializeFieldsWithFiller(t5, a0, t7); __ 845 src/mips/builtins-mips.cc __ LoadRoot(t7, Heap::kOnePointerFillerMapRootIndex); __ 847 src/mips/builtins-mips.cc __ InitializeFieldsWithFiller(t5, t6, t7); __ 853 src/mips/builtins-mips.cc __ Addu(t4, t4, Operand(kHeapObjectTag)); __ 860 src/mips/builtins-mips.cc __ lbu(a3, FieldMemOperand(a2, Map::kUnusedPropertyFieldsOffset)); __ 863 src/mips/builtins-mips.cc __ lw(a0, FieldMemOperand(a2, Map::kInstanceSizesOffset)); __ 864 src/mips/builtins-mips.cc __ Ext(t6, a0, Map::kPreAllocatedPropertyFieldsByte * kBitsPerByte, __ 866 src/mips/builtins-mips.cc __ Addu(a3, a3, Operand(t6)); __ 867 src/mips/builtins-mips.cc __ Ext(t6, a0, Map::kInObjectPropertiesByte * kBitsPerByte, __ 869 src/mips/builtins-mips.cc __ subu(a3, a3, t6); __ 872 src/mips/builtins-mips.cc __ Branch(&allocated, eq, a3, Operand(zero_reg)); __ 873 src/mips/builtins-mips.cc __ Assert(greater_equal, "Property allocation count failed.", __ 882 src/mips/builtins-mips.cc __ Addu(a0, a3, Operand(FixedArray::kHeaderSize / kPointerSize)); __ 883 src/mips/builtins-mips.cc __ AllocateInNewSpace( __ 896 src/mips/builtins-mips.cc __ LoadRoot(t6, Heap::kFixedArrayMapRootIndex); __ 897 src/mips/builtins-mips.cc __ mov(a2, t5); __ 898 src/mips/builtins-mips.cc __ sw(t6, MemOperand(a2, JSObject::kMapOffset)); __ 899 src/mips/builtins-mips.cc __ sll(a0, a3, kSmiTagSize); __ 900 src/mips/builtins-mips.cc __ sw(a0, MemOperand(a2, FixedArray::kLengthOffset)); __ 901 src/mips/builtins-mips.cc __ Addu(a2, a2, Operand(2 * kPointerSize)); __ 912 src/mips/builtins-mips.cc __ sll(t3, a3, kPointerSizeLog2); __ 913 src/mips/builtins-mips.cc __ addu(t6, a2, t3); // End of object. __ 917 src/mips/builtins-mips.cc __ LoadRoot(t7, Heap::kUndefinedValueRootIndex); __ 919 src/mips/builtins-mips.cc __ LoadRoot(t8, Heap::kUndefinedValueRootIndex); __ 920 src/mips/builtins-mips.cc __ Assert(eq, "Undefined value not loaded.", t7, Operand(t8)); __ 922 src/mips/builtins-mips.cc __ jmp(&entry); __ 923 src/mips/builtins-mips.cc __ bind(&loop); __ 924 src/mips/builtins-mips.cc __ sw(t7, MemOperand(a2)); __ 925 src/mips/builtins-mips.cc __ addiu(a2, a2, kPointerSize); __ 926 src/mips/builtins-mips.cc __ bind(&entry); __ 927 src/mips/builtins-mips.cc __ Branch(&loop, less, a2, Operand(t6)); __ 935 src/mips/builtins-mips.cc __ Addu(t5, t5, Operand(kHeapObjectTag)); // Add the heap tag. __ 936 src/mips/builtins-mips.cc __ sw(t5, FieldMemOperand(t4, JSObject::kPropertiesOffset)); __ 941 src/mips/builtins-mips.cc __ jmp(&allocated); __ 947 src/mips/builtins-mips.cc __ bind(&undo_allocation); __ 948 src/mips/builtins-mips.cc __ UndoAllocationInNewSpace(t4, t5); __ 951 src/mips/builtins-mips.cc __ bind(&rt_call); __ 954 src/mips/builtins-mips.cc __ push(a1); // Argument for Runtime_NewObject. __ 955 src/mips/builtins-mips.cc __ CallRuntime(Runtime::kNewObject, 1); __ 956 src/mips/builtins-mips.cc __ mov(t4, v0); __ 960 src/mips/builtins-mips.cc __ bind(&allocated); __ 961 src/mips/builtins-mips.cc __ push(t4); __ 962 src/mips/builtins-mips.cc __ push(t4); __ 969 src/mips/builtins-mips.cc __ lw(a1, MemOperand(sp, 2 * kPointerSize)); __ 970 src/mips/builtins-mips.cc __ lw(a3, MemOperand(sp, 3 * kPointerSize)); __ 973 src/mips/builtins-mips.cc __ Addu(a2, fp, Operand(StandardFrameConstants::kCallerSPOffset)); __ 976 src/mips/builtins-mips.cc __ srl(a0, a3, kSmiTagSize); __ 988 src/mips/builtins-mips.cc __ jmp(&entry); __ 989 src/mips/builtins-mips.cc __ bind(&loop); __ 990 src/mips/builtins-mips.cc __ sll(t0, a3, kPointerSizeLog2 - kSmiTagSize); __ 991 src/mips/builtins-mips.cc __ Addu(t0, a2, Operand(t0)); __ 992 src/mips/builtins-mips.cc __ lw(t1, MemOperand(t0)); __ 993 src/mips/builtins-mips.cc __ push(t1); __ 994 src/mips/builtins-mips.cc __ bind(&entry); __ 995 src/mips/builtins-mips.cc __ Addu(a3, a3, Operand(-2)); __ 996 src/mips/builtins-mips.cc __ Branch(&loop, greater_equal, a3, Operand(zero_reg)); __ 1002 src/mips/builtins-mips.cc __ lw(cp, FieldMemOperand(a1, JSFunction::kContextOffset)); __ 1006 src/mips/builtins-mips.cc __ InvokeCode(code, expected, expected, __ 1010 src/mips/builtins-mips.cc __ InvokeFunction(a1, actual, CALL_FUNCTION, __ 1020 src/mips/builtins-mips.cc __ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 1032 src/mips/builtins-mips.cc __ JumpIfSmi(v0, &use_receiver); __ 1036 src/mips/builtins-mips.cc __ GetObjectType(v0, a3, a3); __ 1037 src/mips/builtins-mips.cc __ Branch(&exit, greater_equal, a3, Operand(FIRST_SPEC_OBJECT_TYPE)); __ 1041 src/mips/builtins-mips.cc __ bind(&use_receiver); __ 1042 src/mips/builtins-mips.cc __ lw(v0, MemOperand(sp)); __ 1046 src/mips/builtins-mips.cc __ bind(&exit); __ 1051 src/mips/builtins-mips.cc __ lw(a1, MemOperand(sp, 2 * kPointerSize)); __ 1056 src/mips/builtins-mips.cc __ sll(t0, a1, kPointerSizeLog2 - 1); __ 1057 src/mips/builtins-mips.cc __ Addu(sp, sp, t0); __ 1058 src/mips/builtins-mips.cc __ Addu(sp, sp, kPointerSize); __ 1059 src/mips/builtins-mips.cc __ IncrementCounter(isolate->counters()->constructed_objects(), 1, a1, a2); __ 1060 src/mips/builtins-mips.cc __ Ret(); __ 1092 src/mips/builtins-mips.cc __ mov(cp, zero_reg); __ 1099 src/mips/builtins-mips.cc __ lw(cp, FieldMemOperand(a1, JSFunction::kContextOffset)); __ 1102 src/mips/builtins-mips.cc __ Push(a1, a2); __ 1108 src/mips/builtins-mips.cc __ sll(t0, a3, kPointerSizeLog2); __ 1109 src/mips/builtins-mips.cc __ addu(t2, s0, t0); __ 1110 src/mips/builtins-mips.cc __ b(&entry); __ 1111 src/mips/builtins-mips.cc __ nop(); // Branch delay slot nop. __ 1113 src/mips/builtins-mips.cc __ bind(&loop); __ 1114 src/mips/builtins-mips.cc __ lw(t0, MemOperand(s0)); // Read next parameter. __ 1115 src/mips/builtins-mips.cc __ addiu(s0, s0, kPointerSize); __ 1116 src/mips/builtins-mips.cc __ lw(t0, MemOperand(t0)); // Dereference handle. __ 1117 src/mips/builtins-mips.cc __ push(t0); // Push parameter. __ 1118 src/mips/builtins-mips.cc __ bind(&entry); __ 1119 src/mips/builtins-mips.cc __ Branch(&loop, ne, s0, Operand(t2)); __ 1123 src/mips/builtins-mips.cc __ LoadRoot(t0, Heap::kUndefinedValueRootIndex); __ 1124 src/mips/builtins-mips.cc __ mov(s1, t0); __ 1125 src/mips/builtins-mips.cc __ mov(s2, t0); __ 1126 src/mips/builtins-mips.cc __ mov(s3, t0); __ 1127 src/mips/builtins-mips.cc __ mov(s4, t0); __ 1128 src/mips/builtins-mips.cc __ mov(s5, t0); __ 1133 src/mips/builtins-mips.cc __ mov(a0, a3); __ 1136 src/mips/builtins-mips.cc __ CallStub(&stub); __ 1139 src/mips/builtins-mips.cc __ InvokeFunction(a1, actual, CALL_FUNCTION, __ 1146 src/mips/builtins-mips.cc __ Jump(ra); __ 1166 src/mips/builtins-mips.cc __ push(a1); __ 1168 src/mips/builtins-mips.cc __ push(t1); __ 1171 src/mips/builtins-mips.cc __ push(a1); __ 1173 src/mips/builtins-mips.cc __ CallRuntime(Runtime::kLazyCompile, 1); __ 1175 src/mips/builtins-mips.cc __ addiu(t9, v0, Code::kHeaderSize - kHeapObjectTag); __ 1178 src/mips/builtins-mips.cc __ pop(t1); __ 1180 src/mips/builtins-mips.cc __ pop(a1); __ 1186 src/mips/builtins-mips.cc __ Jump(t9); __ 1196 src/mips/builtins-mips.cc __ push(a1); __ 1198 src/mips/builtins-mips.cc __ push(t1); __ 1201 src/mips/builtins-mips.cc __ push(a1); __ 1202 src/mips/builtins-mips.cc __ CallRuntime(Runtime::kLazyRecompile, 1); __ 1204 src/mips/builtins-mips.cc __ Addu(t9, v0, Operand(Code::kHeaderSize - kHeapObjectTag)); __ 1207 src/mips/builtins-mips.cc __ pop(t1); __ 1209 src/mips/builtins-mips.cc __ pop(a1); __ 1215 src/mips/builtins-mips.cc __ Jump(t9); __ 1224 src/mips/builtins-mips.cc __ li(a0, Operand(Smi::FromInt(static_cast<int>(type)))); __ 1225 src/mips/builtins-mips.cc __ push(a0); __ 1226 src/mips/builtins-mips.cc __ CallRuntime(Runtime::kNotifyDeoptimized, 1); __ 1230 src/mips/builtins-mips.cc __ lw(t2, MemOperand(sp, 0 * kPointerSize)); __ 1231 src/mips/builtins-mips.cc __ SmiUntag(t2); __ 1234 src/mips/builtins-mips.cc __ Branch(&with_tos_register, __ 1236 src/mips/builtins-mips.cc __ Addu(sp, sp, Operand(1 * kPointerSize)); // Remove state. __ 1237 src/mips/builtins-mips.cc __ Ret(); __ 1239 src/mips/builtins-mips.cc __ bind(&with_tos_register); __ 1240 src/mips/builtins-mips.cc __ lw(v0, MemOperand(sp, 1 * kPointerSize)); __ 1241 src/mips/builtins-mips.cc __ Branch(&unknown_state, ne, t2, Operand(FullCodeGenerator::TOS_REG)); __ 1243 src/mips/builtins-mips.cc __ Addu(sp, sp, Operand(2 * kPointerSize)); // Remove state. __ 1244 src/mips/builtins-mips.cc __ Ret(); __ 1246 src/mips/builtins-mips.cc __ bind(&unknown_state); __ 1247 src/mips/builtins-mips.cc __ stop("no cases left"); __ 1268 src/mips/builtins-mips.cc __ MultiPush(saved_regs); __ 1271 src/mips/builtins-mips.cc __ CallRuntime(Runtime::kNotifyOSR, 0); __ 1273 src/mips/builtins-mips.cc __ MultiPop(saved_regs); __ 1274 src/mips/builtins-mips.cc __ Ret(); __ 1281 src/mips/builtins-mips.cc __ Abort("Unreachable code: Cannot optimize without FPU support."); __ 1287 src/mips/builtins-mips.cc __ lw(a0, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); __ 1290 src/mips/builtins-mips.cc __ push(a0); __ 1291 src/mips/builtins-mips.cc __ CallRuntime(Runtime::kCompileForOnStackReplacement, 1); __ 1296 src/mips/builtins-mips.cc __ Ret(eq, v0, Operand(Smi::FromInt(-1))); __ 1299 src/mips/builtins-mips.cc __ SmiUntag(v0); __ 1300 src/mips/builtins-mips.cc __ push(v0); __ 1313 src/mips/builtins-mips.cc __ Branch(&done, ne, a0, Operand(zero_reg)); __ 1314 src/mips/builtins-mips.cc __ LoadRoot(t2, Heap::kUndefinedValueRootIndex); __ 1315 src/mips/builtins-mips.cc __ push(t2); __ 1316 src/mips/builtins-mips.cc __ Addu(a0, a0, Operand(1)); __ 1317 src/mips/builtins-mips.cc __ bind(&done); __ 1324 src/mips/builtins-mips.cc __ sll(at, a0, kPointerSizeLog2); __ 1325 src/mips/builtins-mips.cc __ addu(at, sp, at); __ 1326 src/mips/builtins-mips.cc __ lw(a1, MemOperand(at)); __ 1327 src/mips/builtins-mips.cc __ JumpIfSmi(a1, &non_function); __ 1328 src/mips/builtins-mips.cc __ GetObjectType(a1, a2, a2); __ 1329 src/mips/builtins-mips.cc __ Branch(&slow, ne, a2, Operand(JS_FUNCTION_TYPE)); __ 1335 src/mips/builtins-mips.cc __ li(t0, Operand(0, RelocInfo::NONE)); // Indicate regular JS_FUNCTION. __ 1338 src/mips/builtins-mips.cc __ lw(cp, FieldMemOperand(a1, JSFunction::kContextOffset)); __ 1341 src/mips/builtins-mips.cc __ lw(a2, FieldMemOperand(a1, JSFunction::kSharedFunctionInfoOffset)); __ 1342 src/mips/builtins-mips.cc __ lw(a3, FieldMemOperand(a2, SharedFunctionInfo::kCompilerHintsOffset)); __ 1343 src/mips/builtins-mips.cc __ And(t3, a3, Operand(1 << (SharedFunctionInfo::kStrictModeFunction + __ 1345 src/mips/builtins-mips.cc __ Branch(&shift_arguments, ne, t3, Operand(zero_reg)); __ 1348 src/mips/builtins-mips.cc __ And(t3, a3, Operand(1 << (SharedFunctionInfo::kNative + kSmiTagSize))); __ 1349 src/mips/builtins-mips.cc __ Branch(&shift_arguments, ne, t3, Operand(zero_reg)); __ 1353 src/mips/builtins-mips.cc __ sll(at, a0, kPointerSizeLog2); __ 1354 src/mips/builtins-mips.cc __ addu(a2, sp, at); __ 1355 src/mips/builtins-mips.cc __ lw(a2, MemOperand(a2, -kPointerSize)); __ 1359 src/mips/builtins-mips.cc __ JumpIfSmi(a2, &convert_to_object, t2); __ 1361 src/mips/builtins-mips.cc __ LoadRoot(a3, Heap::kUndefinedValueRootIndex); __ 1362 src/mips/builtins-mips.cc __ Branch(&use_global_receiver, eq, a2, Operand(a3)); __ 1363 src/mips/builtins-mips.cc __ LoadRoot(a3, Heap::kNullValueRootIndex); __ 1364 src/mips/builtins-mips.cc __ Branch(&use_global_receiver, eq, a2, Operand(a3)); __ 1367 src/mips/builtins-mips.cc __ GetObjectType(a2, a3, a3); __ 1368 src/mips/builtins-mips.cc __ Branch(&shift_arguments, ge, a3, Operand(FIRST_SPEC_OBJECT_TYPE)); __ 1370 src/mips/builtins-mips.cc __ bind(&convert_to_object); __ 1374 src/mips/builtins-mips.cc __ sll(a0, a0, kSmiTagSize); // Smi tagged. __ 1375 src/mips/builtins-mips.cc __ push(a0); __ 1377 src/mips/builtins-mips.cc __ push(a2); __ 1378 src/mips/builtins-mips.cc __ InvokeBuiltin(Builtins::TO_OBJECT, CALL_FUNCTION); __ 1379 src/mips/builtins-mips.cc __ mov(a2, v0); __ 1381 src/mips/builtins-mips.cc __ pop(a0); __ 1382 src/mips/builtins-mips.cc __ sra(a0, a0, kSmiTagSize); // Un-tag. __ 1386 src/mips/builtins-mips.cc __ sll(at, a0, kPointerSizeLog2); __ 1387 src/mips/builtins-mips.cc __ addu(at, sp, at); __ 1388 src/mips/builtins-mips.cc __ lw(a1, MemOperand(at)); __ 1389 src/mips/builtins-mips.cc __ li(t0, Operand(0, RelocInfo::NONE)); __ 1390 src/mips/builtins-mips.cc __ Branch(&patch_receiver); __ 1394 src/mips/builtins-mips.cc __ bind(&use_global_receiver); __ 1397 src/mips/builtins-mips.cc __ lw(a2, FieldMemOperand(cp, kGlobalIndex)); __ 1398 src/mips/builtins-mips.cc __ lw(a2, FieldMemOperand(a2, GlobalObject::kGlobalContextOffset)); __ 1399 src/mips/builtins-mips.cc __ lw(a2, FieldMemOperand(a2, kGlobalIndex)); __ 1400 src/mips/builtins-mips.cc __ lw(a2, FieldMemOperand(a2, GlobalObject::kGlobalReceiverOffset)); __ 1402 src/mips/builtins-mips.cc __ bind(&patch_receiver); __ 1403 src/mips/builtins-mips.cc __ sll(at, a0, kPointerSizeLog2); __ 1404 src/mips/builtins-mips.cc __ addu(a3, sp, at); __ 1405 src/mips/builtins-mips.cc __ sw(a2, MemOperand(a3, -kPointerSize)); __ 1407 src/mips/builtins-mips.cc __ Branch(&shift_arguments); __ 1411 src/mips/builtins-mips.cc __ bind(&slow); __ 1412 src/mips/builtins-mips.cc __ li(t0, Operand(1, RelocInfo::NONE)); // Indicate function proxy. __ 1413 src/mips/builtins-mips.cc __ Branch(&shift_arguments, eq, a2, Operand(JS_FUNCTION_PROXY_TYPE)); __ 1415 src/mips/builtins-mips.cc __ bind(&non_function); __ 1416 src/mips/builtins-mips.cc __ li(t0, Operand(2, RelocInfo::NONE)); // Indicate non-function. __ 1425 src/mips/builtins-mips.cc __ sll(at, a0, kPointerSizeLog2); __ 1426 src/mips/builtins-mips.cc __ addu(a2, sp, at); __ 1427 src/mips/builtins-mips.cc __ sw(a1, MemOperand(a2, -kPointerSize)); __ 1435 src/mips/builtins-mips.cc __ bind(&shift_arguments); __ 1438 src/mips/builtins-mips.cc __ sll(at, a0, kPointerSizeLog2); __ 1439 src/mips/builtins-mips.cc __ addu(a2, sp, at); __ 1441 src/mips/builtins-mips.cc __ bind(&loop); __ 1442 src/mips/builtins-mips.cc __ lw(at, MemOperand(a2, -kPointerSize)); __ 1443 src/mips/builtins-mips.cc __ sw(at, MemOperand(a2)); __ 1444 src/mips/builtins-mips.cc __ Subu(a2, a2, Operand(kPointerSize)); __ 1445 src/mips/builtins-mips.cc __ Branch(&loop, ne, a2, Operand(sp)); __ 1448 src/mips/builtins-mips.cc __ Subu(a0, a0, Operand(1)); __ 1449 src/mips/builtins-mips.cc __ Pop(); __ 1458 src/mips/builtins-mips.cc __ Branch(&function, eq, t0, Operand(zero_reg)); __ 1460 src/mips/builtins-mips.cc __ mov(a2, zero_reg); __ 1461 src/mips/builtins-mips.cc __ SetCallKind(t1, CALL_AS_METHOD); __ 1462 src/mips/builtins-mips.cc __ Branch(&non_proxy, ne, t0, Operand(1)); __ 1464 src/mips/builtins-mips.cc __ push(a1); // Re-add proxy object as additional argument. __ 1465 src/mips/builtins-mips.cc __ Addu(a0, a0, Operand(1)); __ 1466 src/mips/builtins-mips.cc __ GetBuiltinEntry(a3, Builtins::CALL_FUNCTION_PROXY); __ 1467 src/mips/builtins-mips.cc __ Jump(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(), __ 1470 src/mips/builtins-mips.cc __ bind(&non_proxy); __ 1471 src/mips/builtins-mips.cc __ GetBuiltinEntry(a3, Builtins::CALL_NON_FUNCTION); __ 1472 src/mips/builtins-mips.cc __ Jump(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(), __ 1474 src/mips/builtins-mips.cc __ bind(&function); __ 1482 src/mips/builtins-mips.cc __ lw(a3, FieldMemOperand(a1, JSFunction::kSharedFunctionInfoOffset)); __ 1483 src/mips/builtins-mips.cc __ lw(a2, __ 1485 src/mips/builtins-mips.cc __ sra(a2, a2, kSmiTagSize); __ 1486 src/mips/builtins-mips.cc __ lw(a3, FieldMemOperand(a1, JSFunction::kCodeEntryOffset)); __ 1487 src/mips/builtins-mips.cc __ SetCallKind(t1, CALL_AS_METHOD); __ 1489 src/mips/builtins-mips.cc __ Jump(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(), __ 1493 src/mips/builtins-mips.cc __ InvokeCode(a3, expected, expected, JUMP_FUNCTION, __ 1507 src/mips/builtins-mips.cc __ lw(a0, MemOperand(fp, kFunctionOffset)); // Get the function. __ 1508 src/mips/builtins-mips.cc __ push(a0); __ 1509 src/mips/builtins-mips.cc __ lw(a0, MemOperand(fp, kArgsOffset)); // Get the args array. __ 1510 src/mips/builtins-mips.cc __ push(a0); __ 1512 src/mips/builtins-mips.cc __ InvokeBuiltin(Builtins::APPLY_PREPARE, CALL_FUNCTION); __ 1518 src/mips/builtins-mips.cc __ LoadRoot(a2, Heap::kRealStackLimitRootIndex); __ 1521 src/mips/builtins-mips.cc __ subu(a2, sp, a2); __ 1523 src/mips/builtins-mips.cc __ sll(t3, v0, kPointerSizeLog2 - kSmiTagSize); __ 1524 src/mips/builtins-mips.cc __ Branch(&okay, gt, a2, Operand(t3)); // Signed comparison. __ 1527 src/mips/builtins-mips.cc __ lw(a1, MemOperand(fp, kFunctionOffset)); __ 1528 src/mips/builtins-mips.cc __ push(a1); __ 1529 src/mips/builtins-mips.cc __ push(v0); __ 1530 src/mips/builtins-mips.cc __ InvokeBuiltin(Builtins::APPLY_OVERFLOW, CALL_FUNCTION); __ 1534 src/mips/builtins-mips.cc __ bind(&okay); __ 1535 src/mips/builtins-mips.cc __ push(v0); // Limit. __ 1536 src/mips/builtins-mips.cc __ mov(a1, zero_reg); // Initial index. __ 1537 src/mips/builtins-mips.cc __ push(a1); __ 1540 src/mips/builtins-mips.cc __ lw(a0, MemOperand(fp, kRecvOffset)); __ 1544 src/mips/builtins-mips.cc __ lw(a1, MemOperand(fp, kFunctionOffset)); __ 1545 src/mips/builtins-mips.cc __ GetObjectType(a1, a2, a2); __ 1546 src/mips/builtins-mips.cc __ Branch(&push_receiver, ne, a2, Operand(JS_FUNCTION_TYPE)); __ 1549 src/mips/builtins-mips.cc __ lw(cp, FieldMemOperand(a1, JSFunction::kContextOffset)); __ 1551 src/mips/builtins-mips.cc __ lw(a2, FieldMemOperand(a1, JSFunction::kSharedFunctionInfoOffset)); __ 1556 src/mips/builtins-mips.cc __ lw(a2, FieldMemOperand(a2, SharedFunctionInfo::kCompilerHintsOffset)); __ 1557 src/mips/builtins-mips.cc __ And(t3, a2, Operand(1 << (SharedFunctionInfo::kStrictModeFunction + __ 1559 src/mips/builtins-mips.cc __ Branch(&push_receiver, ne, t3, Operand(zero_reg)); __ 1562 src/mips/builtins-mips.cc __ And(t3, a2, Operand(1 << (SharedFunctionInfo::kNative + kSmiTagSize))); __ 1563 src/mips/builtins-mips.cc __ Branch(&push_receiver, ne, t3, Operand(zero_reg)); __ 1566 src/mips/builtins-mips.cc __ JumpIfSmi(a0, &call_to_object); __ 1567 src/mips/builtins-mips.cc __ LoadRoot(a1, Heap::kNullValueRootIndex); __ 1568 src/mips/builtins-mips.cc __ Branch(&use_global_receiver, eq, a0, Operand(a1)); __ 1569 src/mips/builtins-mips.cc __ LoadRoot(a2, Heap::kUndefinedValueRootIndex); __ 1570 src/mips/builtins-mips.cc __ Branch(&use_global_receiver, eq, a0, Operand(a2)); __ 1575 src/mips/builtins-mips.cc __ GetObjectType(a0, a1, a1); __ 1576 src/mips/builtins-mips.cc __ Branch(&push_receiver, ge, a1, Operand(FIRST_SPEC_OBJECT_TYPE)); __ 1580 src/mips/builtins-mips.cc __ bind(&call_to_object); __ 1581 src/mips/builtins-mips.cc __ push(a0); __ 1582 src/mips/builtins-mips.cc __ InvokeBuiltin(Builtins::TO_OBJECT, CALL_FUNCTION); __ 1583 src/mips/builtins-mips.cc __ mov(a0, v0); // Put object in a0 to match other paths to push_receiver. __ 1584 src/mips/builtins-mips.cc __ Branch(&push_receiver); __ 1587 src/mips/builtins-mips.cc __ bind(&use_global_receiver); __ 1590 src/mips/builtins-mips.cc __ lw(a0, FieldMemOperand(cp, kGlobalOffset)); __ 1591 src/mips/builtins-mips.cc __ lw(a0, FieldMemOperand(a0, GlobalObject::kGlobalContextOffset)); __ 1592 src/mips/builtins-mips.cc __ lw(a0, FieldMemOperand(a0, kGlobalOffset)); __ 1593 src/mips/builtins-mips.cc __ lw(a0, FieldMemOperand(a0, GlobalObject::kGlobalReceiverOffset)); __ 1597 src/mips/builtins-mips.cc __ bind(&push_receiver); __ 1598 src/mips/builtins-mips.cc __ push(a0); __ 1602 src/mips/builtins-mips.cc __ lw(a0, MemOperand(fp, kIndexOffset)); __ 1603 src/mips/builtins-mips.cc __ Branch(&entry); __ 1608 src/mips/builtins-mips.cc __ bind(&loop); __ 1609 src/mips/builtins-mips.cc __ lw(a1, MemOperand(fp, kArgsOffset)); __ 1610 src/mips/builtins-mips.cc __ push(a1); __ 1611 src/mips/builtins-mips.cc __ push(a0); __ 1614 src/mips/builtins-mips.cc __ CallRuntime(Runtime::kGetProperty, 2); __ 1615 src/mips/builtins-mips.cc __ push(v0); __ 1618 src/mips/builtins-mips.cc __ lw(a0, MemOperand(fp, kIndexOffset)); __ 1619 src/mips/builtins-mips.cc __ Addu(a0, a0, Operand(1 << kSmiTagSize)); __ 1620 src/mips/builtins-mips.cc __ sw(a0, MemOperand(fp, kIndexOffset)); __ 1624 src/mips/builtins-mips.cc __ bind(&entry); __ 1625 src/mips/builtins-mips.cc __ lw(a1, MemOperand(fp, kLimitOffset)); __ 1626 src/mips/builtins-mips.cc __ Branch(&loop, ne, a0, Operand(a1)); __ 1631 src/mips/builtins-mips.cc __ sra(a0, a0, kSmiTagSize); __ 1632 src/mips/builtins-mips.cc __ lw(a1, MemOperand(fp, kFunctionOffset)); __ 1633 src/mips/builtins-mips.cc __ GetObjectType(a1, a2, a2); __ 1634 src/mips/builtins-mips.cc __ Branch(&call_proxy, ne, a2, Operand(JS_FUNCTION_TYPE)); __ 1636 src/mips/builtins-mips.cc __ InvokeFunction(a1, actual, CALL_FUNCTION, __ 1640 src/mips/builtins-mips.cc __ Ret(USE_DELAY_SLOT); __ 1641 src/mips/builtins-mips.cc __ Addu(sp, sp, Operand(3 * kPointerSize)); // In delay slot. __ 1644 src/mips/builtins-mips.cc __ bind(&call_proxy); __ 1645 src/mips/builtins-mips.cc __ push(a1); // Add function proxy as last argument. __ 1646 src/mips/builtins-mips.cc __ Addu(a0, a0, Operand(1)); __ 1647 src/mips/builtins-mips.cc __ li(a2, Operand(0, RelocInfo::NONE)); __ 1648 src/mips/builtins-mips.cc __ SetCallKind(t1, CALL_AS_METHOD); __ 1649 src/mips/builtins-mips.cc __ GetBuiltinEntry(a3, Builtins::CALL_FUNCTION_PROXY); __ 1650 src/mips/builtins-mips.cc __ Call(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(), __ 1655 src/mips/builtins-mips.cc __ Ret(USE_DELAY_SLOT); __ 1656 src/mips/builtins-mips.cc __ Addu(sp, sp, Operand(3 * kPointerSize)); // In delay slot. __ 1661 src/mips/builtins-mips.cc __ sll(a0, a0, kSmiTagSize); __ 1662 src/mips/builtins-mips.cc __ li(t0, Operand(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR))); __ 1663 src/mips/builtins-mips.cc __ MultiPush(a0.bit() | a1.bit() | t0.bit() | fp.bit() | ra.bit()); __ 1664 src/mips/builtins-mips.cc __ Addu(fp, sp, Operand(3 * kPointerSize)); __ 1674 src/mips/builtins-mips.cc __ lw(a1, MemOperand(fp, -3 * kPointerSize)); __ 1675 src/mips/builtins-mips.cc __ mov(sp, fp); __ 1676 src/mips/builtins-mips.cc __ MultiPop(fp.bit() | ra.bit()); __ 1677 src/mips/builtins-mips.cc __ sll(t0, a1, kPointerSizeLog2 - kSmiTagSize); __ 1678 src/mips/builtins-mips.cc __ Addu(sp, sp, t0); __ 1680 src/mips/builtins-mips.cc __ Addu(sp, sp, Operand(kPointerSize)); __ 1697 src/mips/builtins-mips.cc __ Branch(&dont_adapt_arguments, eq, __ 1700 src/mips/builtins-mips.cc __ Branch(&too_few, Uless, a0, Operand(a2)); __ 1707 src/mips/builtins-mips.cc __ bind(&enough); __ 1711 src/mips/builtins-mips.cc __ sll(a0, a0, kPointerSizeLog2 - kSmiTagSize); __ 1712 src/mips/builtins-mips.cc __ Addu(a0, fp, a0); __ 1714 src/mips/builtins-mips.cc __ Addu(a0, a0, Operand(2 * kPointerSize)); __ 1716 src/mips/builtins-mips.cc __ sll(a2, a2, kPointerSizeLog2); __ 1717 src/mips/builtins-mips.cc __ subu(a2, a0, a2); __ 1726 src/mips/builtins-mips.cc __ bind(©); __ 1727 src/mips/builtins-mips.cc __ lw(t0, MemOperand(a0)); __ 1728 src/mips/builtins-mips.cc __ push(t0); __ 1729 src/mips/builtins-mips.cc __ Branch(USE_DELAY_SLOT, ©, ne, a0, Operand(a2)); __ 1730 src/mips/builtins-mips.cc __ addiu(a0, a0, -kPointerSize); // In delay slot. __ 1732 src/mips/builtins-mips.cc __ jmp(&invoke); __ 1736 src/mips/builtins-mips.cc __ bind(&too_few); __ 1744 src/mips/builtins-mips.cc __ sll(a0, a0, kPointerSizeLog2 - kSmiTagSize); __ 1745 src/mips/builtins-mips.cc __ Addu(a0, fp, a0); __ 1747 src/mips/builtins-mips.cc __ Addu(a0, a0, Operand(2 * kPointerSize)); __ 1749 src/mips/builtins-mips.cc __ Addu(t3, fp, kPointerSize); __ 1758 src/mips/builtins-mips.cc __ bind(©); __ 1759 src/mips/builtins-mips.cc __ lw(t0, MemOperand(a0)); // Adjusted above for return addr and receiver. __ 1760 src/mips/builtins-mips.cc __ Subu(sp, sp, kPointerSize); __ 1761 src/mips/builtins-mips.cc __ Subu(a0, a0, kPointerSize); __ 1762 src/mips/builtins-mips.cc __ Branch(USE_DELAY_SLOT, ©, ne, a0, Operand(t3)); __ 1763 src/mips/builtins-mips.cc __ sw(t0, MemOperand(sp)); // In the delay slot. __ 1769 src/mips/builtins-mips.cc __ LoadRoot(t0, Heap::kUndefinedValueRootIndex); __ 1770 src/mips/builtins-mips.cc __ sll(t2, a2, kPointerSizeLog2); __ 1771 src/mips/builtins-mips.cc __ Subu(a2, fp, Operand(t2)); __ 1772 src/mips/builtins-mips.cc __ Addu(a2, a2, Operand(-4 * kPointerSize)); // Adjust for frame. __ 1775 src/mips/builtins-mips.cc __ bind(&fill); __ 1776 src/mips/builtins-mips.cc __ Subu(sp, sp, kPointerSize); __ 1777 src/mips/builtins-mips.cc __ Branch(USE_DELAY_SLOT, &fill, ne, sp, Operand(a2)); __ 1778 src/mips/builtins-mips.cc __ sw(t0, MemOperand(sp)); __ 1782 src/mips/builtins-mips.cc __ bind(&invoke); __ 1784 src/mips/builtins-mips.cc __ Call(a3); __ 1791 src/mips/builtins-mips.cc __ Ret(); __ 1797 src/mips/builtins-mips.cc __ bind(&dont_adapt_arguments); __ 1798 src/mips/builtins-mips.cc __ Jump(a3); __ 63 src/mips/code-stubs-mips.cc __ lw(scratch1, FieldMemOperand(operand, HeapObject::kMapOffset)); __ 64 src/mips/code-stubs-mips.cc __ LoadRoot(scratch2, Heap::kHeapNumberMapRootIndex); __ 65 src/mips/code-stubs-mips.cc __ Branch(not_a_heap_number, ne, scratch1, Operand(scratch2)); __ 72 src/mips/code-stubs-mips.cc __ JumpIfNotSmi(a0, &check_heap_number); __ 73 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 74 src/mips/code-stubs-mips.cc __ mov(v0, a0); __ 76 src/mips/code-stubs-mips.cc __ bind(&check_heap_number); __ 78 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 79 src/mips/code-stubs-mips.cc __ mov(v0, a0); __ 81 src/mips/code-stubs-mips.cc __ bind(&call_builtin); __ 82 src/mips/code-stubs-mips.cc __ push(a0); __ 83 src/mips/code-stubs-mips.cc __ InvokeBuiltin(Builtins::TO_NUMBER, JUMP_FUNCTION); __ 95 src/mips/code-stubs-mips.cc __ pop(a3); __ 98 src/mips/code-stubs-mips.cc __ AllocateInNewSpace(JSFunction::kSize, __ 105 src/mips/code-stubs-mips.cc __ IncrementCounter(counters->fast_new_closure_total(), 1, t2, t3); __ 113 src/mips/code-stubs-mips.cc __ lw(a2, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 114 src/mips/code-stubs-mips.cc __ lw(a2, FieldMemOperand(a2, GlobalObject::kGlobalContextOffset)); __ 115 src/mips/code-stubs-mips.cc __ lw(t1, MemOperand(a2, Context::SlotOffset(map_index))); __ 116 src/mips/code-stubs-mips.cc __ sw(t1, FieldMemOperand(v0, HeapObject::kMapOffset)); __ 120 src/mips/code-stubs-mips.cc __ LoadRoot(a1, Heap::kEmptyFixedArrayRootIndex); __ 121 src/mips/code-stubs-mips.cc __ LoadRoot(t1, Heap::kTheHoleValueRootIndex); __ 122 src/mips/code-stubs-mips.cc __ sw(a1, FieldMemOperand(v0, JSObject::kPropertiesOffset)); __ 123 src/mips/code-stubs-mips.cc __ sw(a1, FieldMemOperand(v0, JSObject::kElementsOffset)); __ 124 src/mips/code-stubs-mips.cc __ sw(t1, FieldMemOperand(v0, JSFunction::kPrototypeOrInitialMapOffset)); __ 125 src/mips/code-stubs-mips.cc __ sw(a3, FieldMemOperand(v0, JSFunction::kSharedFunctionInfoOffset)); __ 126 src/mips/code-stubs-mips.cc __ sw(cp, FieldMemOperand(v0, JSFunction::kContextOffset)); __ 127 src/mips/code-stubs-mips.cc __ sw(a1, FieldMemOperand(v0, JSFunction::kLiteralsOffset)); __ 135 src/mips/code-stubs-mips.cc __ lw(a1, __ 137 src/mips/code-stubs-mips.cc __ And(at, a1, a1); __ 138 src/mips/code-stubs-mips.cc __ Branch(&check_optimized, ne, at, Operand(zero_reg)); __ 140 src/mips/code-stubs-mips.cc __ bind(&install_unoptimized); __ 141 src/mips/code-stubs-mips.cc __ LoadRoot(t0, Heap::kUndefinedValueRootIndex); __ 142 src/mips/code-stubs-mips.cc __ sw(t0, FieldMemOperand(v0, JSFunction::kNextFunctionLinkOffset)); __ 143 src/mips/code-stubs-mips.cc __ lw(a3, FieldMemOperand(a3, SharedFunctionInfo::kCodeOffset)); __ 144 src/mips/code-stubs-mips.cc __ Addu(a3, a3, Operand(Code::kHeaderSize - kHeapObjectTag)); __ 147 src/mips/code-stubs-mips.cc __ sw(a3, FieldMemOperand(v0, JSFunction::kCodeEntryOffset)); __ 148 src/mips/code-stubs-mips.cc __ Ret(); __ 150 src/mips/code-stubs-mips.cc __ bind(&check_optimized); __ 152 src/mips/code-stubs-mips.cc __ IncrementCounter(counters->fast_new_closure_try_optimized(), 1, t2, t3); __ 159 src/mips/code-stubs-mips.cc __ lw(t0, FieldMemOperand(a1, FixedArray::kHeaderSize + kPointerSize)); __ 160 src/mips/code-stubs-mips.cc __ lw(t1, FieldMemOperand(a1, FixedArray::kHeaderSize)); __ 161 src/mips/code-stubs-mips.cc __ Branch(&install_optimized, eq, a2, Operand(t1)); __ 165 src/mips/code-stubs-mips.cc __ lw(t0, FieldMemOperand(a1, FixedArray::kLengthOffset)); __ 166 src/mips/code-stubs-mips.cc __ bind(&loop); __ 169 src/mips/code-stubs-mips.cc __ Branch(&install_unoptimized, eq, t0, __ 171 src/mips/code-stubs-mips.cc __ Subu(t0, t0, Operand( __ 173 src/mips/code-stubs-mips.cc __ Addu(t1, a1, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 174 src/mips/code-stubs-mips.cc __ sll(at, t0, kPointerSizeLog2 - kSmiTagSize); __ 175 src/mips/code-stubs-mips.cc __ Addu(t1, t1, Operand(at)); __ 176 src/mips/code-stubs-mips.cc __ lw(t1, MemOperand(t1)); __ 177 src/mips/code-stubs-mips.cc __ Branch(&loop, ne, a2, Operand(t1)); __ 179 src/mips/code-stubs-mips.cc __ Addu(t1, a1, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 180 src/mips/code-stubs-mips.cc __ sll(at, t0, kPointerSizeLog2 - kSmiTagSize); __ 181 src/mips/code-stubs-mips.cc __ Addu(t1, t1, Operand(at)); __ 182 src/mips/code-stubs-mips.cc __ Addu(t1, t1, Operand(kPointerSize)); __ 183 src/mips/code-stubs-mips.cc __ lw(t0, MemOperand(t1)); __ 185 src/mips/code-stubs-mips.cc __ bind(&install_optimized); __ 186 src/mips/code-stubs-mips.cc __ IncrementCounter(counters->fast_new_closure_install_optimized(), __ 192 src/mips/code-stubs-mips.cc __ Addu(t0, t0, Operand(Code::kHeaderSize - kHeapObjectTag)); __ 193 src/mips/code-stubs-mips.cc __ sw(t0, FieldMemOperand(v0, JSFunction::kCodeEntryOffset)); __ 196 src/mips/code-stubs-mips.cc __ lw(t0, ContextOperand(a2, Context::OPTIMIZED_FUNCTIONS_LIST)); __ 198 src/mips/code-stubs-mips.cc __ sw(t0, FieldMemOperand(v0, JSFunction::kNextFunctionLinkOffset)); __ 201 src/mips/code-stubs-mips.cc __ sw(v0, ContextOperand(a2, Context::OPTIMIZED_FUNCTIONS_LIST)); __ 204 src/mips/code-stubs-mips.cc __ mov(t0, v0); __ 205 src/mips/code-stubs-mips.cc __ RecordWriteContextSlot( __ 214 src/mips/code-stubs-mips.cc __ Ret(); __ 217 src/mips/code-stubs-mips.cc __ bind(&gc); __ 218 src/mips/code-stubs-mips.cc __ LoadRoot(t0, Heap::kFalseValueRootIndex); __ 219 src/mips/code-stubs-mips.cc __ Push(cp, a3, t0); __ 220 src/mips/code-stubs-mips.cc __ TailCallRuntime(Runtime::kNewClosure, 3, 1); __ 230 src/mips/code-stubs-mips.cc __ AllocateInNewSpace(FixedArray::SizeFor(length), __ 238 src/mips/code-stubs-mips.cc __ lw(a3, MemOperand(sp, 0)); __ 241 src/mips/code-stubs-mips.cc __ LoadRoot(a1, Heap::kFunctionContextMapRootIndex); __ 242 src/mips/code-stubs-mips.cc __ li(a2, Operand(Smi::FromInt(length))); __ 243 src/mips/code-stubs-mips.cc __ sw(a2, FieldMemOperand(v0, FixedArray::kLengthOffset)); __ 244 src/mips/code-stubs-mips.cc __ sw(a1, FieldMemOperand(v0, HeapObject::kMapOffset)); __ 247 src/mips/code-stubs-mips.cc __ lw(a2, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 248 src/mips/code-stubs-mips.cc __ li(a1, Operand(Smi::FromInt(0))); __ 249 src/mips/code-stubs-mips.cc __ sw(a3, MemOperand(v0, Context::SlotOffset(Context::CLOSURE_INDEX))); __ 250 src/mips/code-stubs-mips.cc __ sw(cp, MemOperand(v0, Context::SlotOffset(Context::PREVIOUS_INDEX))); __ 251 src/mips/code-stubs-mips.cc __ sw(a1, MemOperand(v0, Context::SlotOffset(Context::EXTENSION_INDEX))); __ 252 src/mips/code-stubs-mips.cc __ sw(a2, MemOperand(v0, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 255 src/mips/code-stubs-mips.cc __ LoadRoot(a1, Heap::kUndefinedValueRootIndex); __ 257 src/mips/code-stubs-mips.cc __ sw(a1, MemOperand(v0, Context::SlotOffset(i))); __ 261 src/mips/code-stubs-mips.cc __ mov(cp, v0); __ 262 src/mips/code-stubs-mips.cc __ DropAndRet(1); __ 265 src/mips/code-stubs-mips.cc __ bind(&gc); __ 266 src/mips/code-stubs-mips.cc __ TailCallRuntime(Runtime::kNewFunctionContext, 1, 1); __ 279 src/mips/code-stubs-mips.cc __ AllocateInNewSpace(FixedArray::SizeFor(length), __ 283 src/mips/code-stubs-mips.cc __ lw(a3, MemOperand(sp, 0)); __ 286 src/mips/code-stubs-mips.cc __ lw(a1, MemOperand(sp, 1 * kPointerSize)); __ 289 src/mips/code-stubs-mips.cc __ LoadRoot(a2, Heap::kBlockContextMapRootIndex); __ 290 src/mips/code-stubs-mips.cc __ sw(a2, FieldMemOperand(v0, HeapObject::kMapOffset)); __ 291 src/mips/code-stubs-mips.cc __ li(a2, Operand(Smi::FromInt(length))); __ 292 src/mips/code-stubs-mips.cc __ sw(a2, FieldMemOperand(v0, FixedArray::kLengthOffset)); __ 299 src/mips/code-stubs-mips.cc __ JumpIfNotSmi(a3, &after_sentinel); __ 302 src/mips/code-stubs-mips.cc __ Assert(eq, message, a3, Operand(zero_reg)); __ 304 src/mips/code-stubs-mips.cc __ lw(a3, GlobalObjectOperand()); __ 305 src/mips/code-stubs-mips.cc __ lw(a3, FieldMemOperand(a3, GlobalObject::kGlobalContextOffset)); __ 306 src/mips/code-stubs-mips.cc __ lw(a3, ContextOperand(a3, Context::CLOSURE_INDEX)); __ 307 src/mips/code-stubs-mips.cc __ bind(&after_sentinel); __ 310 src/mips/code-stubs-mips.cc __ lw(a2, ContextOperand(cp, Context::GLOBAL_INDEX)); __ 311 src/mips/code-stubs-mips.cc __ sw(a3, ContextOperand(v0, Context::CLOSURE_INDEX)); __ 312 src/mips/code-stubs-mips.cc __ sw(cp, ContextOperand(v0, Context::PREVIOUS_INDEX)); __ 313 src/mips/code-stubs-mips.cc __ sw(a1, ContextOperand(v0, Context::EXTENSION_INDEX)); __ 314 src/mips/code-stubs-mips.cc __ sw(a2, ContextOperand(v0, Context::GLOBAL_INDEX)); __ 317 src/mips/code-stubs-mips.cc __ LoadRoot(a1, Heap::kTheHoleValueRootIndex); __ 319 src/mips/code-stubs-mips.cc __ sw(a1, ContextOperand(v0, i + Context::MIN_CONTEXT_SLOTS)); __ 323 src/mips/code-stubs-mips.cc __ mov(cp, v0); __ 324 src/mips/code-stubs-mips.cc __ DropAndRet(2); __ 327 src/mips/code-stubs-mips.cc __ bind(&gc); __ 328 src/mips/code-stubs-mips.cc __ TailCallRuntime(Runtime::kPushBlockContext, 2, 1); __ 352 src/mips/code-stubs-mips.cc __ AllocateInNewSpace(size, __ 362 src/mips/code-stubs-mips.cc __ lw(a1, FieldMemOperand(a3, i)); __ 363 src/mips/code-stubs-mips.cc __ sw(a1, FieldMemOperand(v0, i)); __ 370 src/mips/code-stubs-mips.cc __ lw(a3, FieldMemOperand(a3, JSArray::kElementsOffset)); __ 371 src/mips/code-stubs-mips.cc __ Addu(a2, v0, Operand(JSArray::kSize)); __ 372 src/mips/code-stubs-mips.cc __ sw(a2, FieldMemOperand(v0, JSArray::kElementsOffset)); __ 376 src/mips/code-stubs-mips.cc __ CopyFields(a2, a3, a1.bit(), elements_size / kPointerSize); __ 390 src/mips/code-stubs-mips.cc __ lw(a3, MemOperand(sp, 2 * kPointerSize)); __ 391 src/mips/code-stubs-mips.cc __ lw(a0, MemOperand(sp, 1 * kPointerSize)); __ 392 src/mips/code-stubs-mips.cc __ Addu(a3, a3, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 393 src/mips/code-stubs-mips.cc __ sll(t0, a0, kPointerSizeLog2 - kSmiTagSize); __ 394 src/mips/code-stubs-mips.cc __ Addu(t0, a3, t0); __ 395 src/mips/code-stubs-mips.cc __ lw(a3, MemOperand(t0)); __ 396 src/mips/code-stubs-mips.cc __ LoadRoot(t1, Heap::kUndefinedValueRootIndex); __ 397 src/mips/code-stubs-mips.cc __ Branch(&slow_case, eq, a3, Operand(t1)); __ 402 src/mips/code-stubs-mips.cc __ lw(v0, FieldMemOperand(a3, JSArray::kElementsOffset)); __ 403 src/mips/code-stubs-mips.cc __ lw(v0, FieldMemOperand(v0, HeapObject::kMapOffset)); __ 404 src/mips/code-stubs-mips.cc __ LoadRoot(t1, Heap::kFixedCOWArrayMapRootIndex); __ 405 src/mips/code-stubs-mips.cc __ Branch(&check_fast_elements, ne, v0, Operand(t1)); __ 409 src/mips/code-stubs-mips.cc __ DropAndRet(3); __ 411 src/mips/code-stubs-mips.cc __ bind(&check_fast_elements); __ 412 src/mips/code-stubs-mips.cc __ LoadRoot(t1, Heap::kFixedArrayMapRootIndex); __ 413 src/mips/code-stubs-mips.cc __ Branch(&double_elements, ne, v0, Operand(t1)); __ 417 src/mips/code-stubs-mips.cc __ DropAndRet(3); __ 419 src/mips/code-stubs-mips.cc __ bind(&double_elements); __ 438 src/mips/code-stubs-mips.cc __ push(a3); __ 439 src/mips/code-stubs-mips.cc __ lw(a3, FieldMemOperand(a3, JSArray::kElementsOffset)); __ 440 src/mips/code-stubs-mips.cc __ lw(a3, FieldMemOperand(a3, HeapObject::kMapOffset)); __ 441 src/mips/code-stubs-mips.cc __ LoadRoot(at, expected_map_index); __ 442 src/mips/code-stubs-mips.cc __ Assert(eq, message, a3, Operand(at)); __ 443 src/mips/code-stubs-mips.cc __ pop(a3); __ 449 src/mips/code-stubs-mips.cc __ DropAndRet(3); __ 451 src/mips/code-stubs-mips.cc __ bind(&slow_case); __ 452 src/mips/code-stubs-mips.cc __ TailCallRuntime(Runtime::kCreateArrayLiteralShallow, 3, 1); __ 467 src/mips/code-stubs-mips.cc __ lw(a3, MemOperand(sp, 3 * kPointerSize)); __ 468 src/mips/code-stubs-mips.cc __ lw(a0, MemOperand(sp, 2 * kPointerSize)); __ 469 src/mips/code-stubs-mips.cc __ Addu(a3, a3, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 470 src/mips/code-stubs-mips.cc __ sll(t0, a0, kPointerSizeLog2 - kSmiTagSize); __ 471 src/mips/code-stubs-mips.cc __ Addu(a3, t0, a3); __ 472 src/mips/code-stubs-mips.cc __ lw(a3, MemOperand(a3)); __ 473 src/mips/code-stubs-mips.cc __ LoadRoot(t0, Heap::kUndefinedValueRootIndex); __ 474 src/mips/code-stubs-mips.cc __ Branch(&slow_case, eq, a3, Operand(t0)); __ 479 src/mips/code-stubs-mips.cc __ lw(a0, FieldMemOperand(a3, HeapObject::kMapOffset)); __ 480 src/mips/code-stubs-mips.cc __ lbu(a0, FieldMemOperand(a0, Map::kInstanceSizeOffset)); __ 481 src/mips/code-stubs-mips.cc __ Branch(&slow_case, ne, a0, Operand(size >> kPointerSizeLog2)); __ 485 src/mips/code-stubs-mips.cc __ AllocateInNewSpace(size, v0, a1, a2, &slow_case, TAG_OBJECT); __ 487 src/mips/code-stubs-mips.cc __ lw(a1, FieldMemOperand(a3, i)); __ 488 src/mips/code-stubs-mips.cc __ sw(a1, FieldMemOperand(v0, i)); __ 492 src/mips/code-stubs-mips.cc __ DropAndRet(4); __ 494 src/mips/code-stubs-mips.cc __ bind(&slow_case); __ 495 src/mips/code-stubs-mips.cc __ TailCallRuntime(Runtime::kCreateObjectLiteralShallow, 4, 1); __ 548 src/mips/code-stubs-mips.cc __ sra(source_, source_, kSmiTagSize); __ 553 src/mips/code-stubs-mips.cc __ And(exponent, source_, Operand(HeapNumber::kSignMask)); __ 555 src/mips/code-stubs-mips.cc __ subu(at, zero_reg, source_); __ 556 src/mips/code-stubs-mips.cc __ Movn(source_, at, exponent); __ 561 src/mips/code-stubs-mips.cc __ Branch(¬_special, gt, source_, Operand(1)); __ 567 src/mips/code-stubs-mips.cc __ Or(at, exponent, Operand(exponent_word_for_1)); __ 568 src/mips/code-stubs-mips.cc __ Movn(exponent, at, source_); // Write exp when source not 0. __ 570 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 571 src/mips/code-stubs-mips.cc __ mov(mantissa, zero_reg); __ 573 src/mips/code-stubs-mips.cc __ bind(¬_special); __ 576 src/mips/code-stubs-mips.cc __ Clz(zeros_, source_); __ 579 src/mips/code-stubs-mips.cc __ li(mantissa, Operand(31 + HeapNumber::kExponentBias)); __ 580 src/mips/code-stubs-mips.cc __ subu(mantissa, mantissa, zeros_); __ 581 src/mips/code-stubs-mips.cc __ sll(mantissa, mantissa, HeapNumber::kExponentShift); __ 582 src/mips/code-stubs-mips.cc __ Or(exponent, exponent, mantissa); __ 585 src/mips/code-stubs-mips.cc __ Addu(zeros_, zeros_, Operand(1)); __ 587 src/mips/code-stubs-mips.cc __ sllv(source_, source_, zeros_); __ 589 src/mips/code-stubs-mips.cc __ sll(mantissa, source_, HeapNumber::kMantissaBitsInTopWord); __ 591 src/mips/code-stubs-mips.cc __ srl(source_, source_, 32 - HeapNumber::kMantissaBitsInTopWord); __ 593 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 594 src/mips/code-stubs-mips.cc __ or_(exponent, exponent, source_); __ 604 src/mips/code-stubs-mips.cc __ sra(scratch1, a0, kSmiTagSize); __ 605 src/mips/code-stubs-mips.cc __ mtc1(scratch1, f14); __ 606 src/mips/code-stubs-mips.cc __ cvt_d_w(f14, f14); __ 607 src/mips/code-stubs-mips.cc __ sra(scratch1, a1, kSmiTagSize); __ 608 src/mips/code-stubs-mips.cc __ mtc1(scratch1, f12); __ 609 src/mips/code-stubs-mips.cc __ cvt_d_w(f12, f12); __ 611 src/mips/code-stubs-mips.cc __ Move(a2, a3, f14); __ 612 src/mips/code-stubs-mips.cc __ Move(a0, a1, f12); __ 617 src/mips/code-stubs-mips.cc __ mov(scratch1, a0); __ 619 src/mips/code-stubs-mips.cc __ push(ra); __ 620 src/mips/code-stubs-mips.cc __ Call(stub1.GetCode()); __ 622 src/mips/code-stubs-mips.cc __ mov(scratch1, a1); __ 624 src/mips/code-stubs-mips.cc __ Call(stub2.GetCode()); __ 625 src/mips/code-stubs-mips.cc __ pop(ra); __ 659 src/mips/code-stubs-mips.cc __ AbortIfNotRootValue(heap_number_map, __ 667 src/mips/code-stubs-mips.cc __ UntagAndJumpIfSmi(scratch1, object, &is_smi); __ 669 src/mips/code-stubs-mips.cc __ JumpIfNotHeapNumber(object, heap_number_map, scratch1, not_number); __ 680 src/mips/code-stubs-mips.cc __ ldc1(dst, FieldMemOperand(object, HeapNumber::kValueOffset)); __ 684 src/mips/code-stubs-mips.cc __ lw(dst1, FieldMemOperand(object, HeapNumber::kValueOffset)); __ 685 src/mips/code-stubs-mips.cc __ lw(dst2, FieldMemOperand(object, __ 688 src/mips/code-stubs-mips.cc __ Branch(&done); __ 691 src/mips/code-stubs-mips.cc __ bind(&is_smi); __ 695 src/mips/code-stubs-mips.cc __ mtc1(scratch1, dst); __ 696 src/mips/code-stubs-mips.cc __ cvt_d_w(dst, dst); __ 699 src/mips/code-stubs-mips.cc __ Move(dst1, dst2, dst); __ 704 src/mips/code-stubs-mips.cc __ mov(scratch1, object); __ 706 src/mips/code-stubs-mips.cc __ push(ra); __ 707 src/mips/code-stubs-mips.cc __ Call(stub.GetCode()); __ 708 src/mips/code-stubs-mips.cc __ pop(ra); __ 711 src/mips/code-stubs-mips.cc __ bind(&done); __ 725 src/mips/code-stubs-mips.cc __ AbortIfNotRootValue(heap_number_map, __ 732 src/mips/code-stubs-mips.cc __ UntagAndJumpIfSmi(dst, object, &done); __ 733 src/mips/code-stubs-mips.cc __ lw(scratch1, FieldMemOperand(object, HeapNumber::kMapOffset)); __ 734 src/mips/code-stubs-mips.cc __ Branch(not_number, ne, scratch1, Operand(heap_number_map)); __ 735 src/mips/code-stubs-mips.cc __ ConvertToInt32(object, __ 741 src/mips/code-stubs-mips.cc __ jmp(&done); __ 743 src/mips/code-stubs-mips.cc __ bind(¬_in_int32_range); __ 744 src/mips/code-stubs-mips.cc __ lw(scratch1, FieldMemOperand(object, HeapNumber::kExponentOffset)); __ 745 src/mips/code-stubs-mips.cc __ lw(scratch2, FieldMemOperand(object, HeapNumber::kMantissaOffset)); __ 747 src/mips/code-stubs-mips.cc __ EmitOutOfInt32RangeTruncate(dst, __ 752 src/mips/code-stubs-mips.cc __ bind(&done); __ 772 src/mips/code-stubs-mips.cc __ mtc1(int_scratch, single_scratch); __ 773 src/mips/code-stubs-mips.cc __ cvt_d_w(double_dst, single_scratch); __ 775 src/mips/code-stubs-mips.cc __ Move(dst1, dst2, double_dst); __ 784 src/mips/code-stubs-mips.cc __ mov(dst2, int_scratch); __ 785 src/mips/code-stubs-mips.cc __ mov(dst1, int_scratch); __ 786 src/mips/code-stubs-mips.cc __ Branch(&done, eq, int_scratch, Operand(zero_reg)); __ 789 src/mips/code-stubs-mips.cc __ And(dst2, int_scratch, Operand(HeapNumber::kSignMask)); __ 792 src/mips/code-stubs-mips.cc __ Branch(&skip_sub, ge, dst2, Operand(zero_reg)); __ 793 src/mips/code-stubs-mips.cc __ Subu(int_scratch, zero_reg, int_scratch); __ 794 src/mips/code-stubs-mips.cc __ bind(&skip_sub); __ 799 src/mips/code-stubs-mips.cc __ Clz(dst1, int_scratch); __ 800 src/mips/code-stubs-mips.cc __ li(scratch2, 31); __ 801 src/mips/code-stubs-mips.cc __ Subu(dst1, scratch2, dst1); __ 804 src/mips/code-stubs-mips.cc __ Addu(scratch2, dst1, Operand(HeapNumber::kExponentBias)); __ 805 src/mips/code-stubs-mips.cc __ Ins(dst2, scratch2, __ 809 src/mips/code-stubs-mips.cc __ li(scratch2, Operand(1)); __ 810 src/mips/code-stubs-mips.cc __ sllv(scratch2, scratch2, dst1); __ 811 src/mips/code-stubs-mips.cc __ li(at, -1); __ 812 src/mips/code-stubs-mips.cc __ Xor(scratch2, scratch2, at); __ 813 src/mips/code-stubs-mips.cc __ And(int_scratch, int_scratch, scratch2); __ 816 src/mips/code-stubs-mips.cc __ Subu(scratch2, dst1, Operand(HeapNumber::kMantissaBitsInTopWord)); __ 817 src/mips/code-stubs-mips.cc __ Branch(&fewer_than_20_useful_bits, lt, scratch2, Operand(zero_reg)); __ 819 src/mips/code-stubs-mips.cc __ srlv(at, int_scratch, scratch2); __ 820 src/mips/code-stubs-mips.cc __ or_(dst2, dst2, at); __ 821 src/mips/code-stubs-mips.cc __ li(at, 32); __ 822 src/mips/code-stubs-mips.cc __ subu(scratch2, at, scratch2); __ 823 src/mips/code-stubs-mips.cc __ sllv(dst1, int_scratch, scratch2); __ 824 src/mips/code-stubs-mips.cc __ Branch(&done); __ 826 src/mips/code-stubs-mips.cc __ bind(&fewer_than_20_useful_bits); __ 827 src/mips/code-stubs-mips.cc __ li(at, HeapNumber::kMantissaBitsInTopWord); __ 828 src/mips/code-stubs-mips.cc __ subu(scratch2, at, dst1); __ 829 src/mips/code-stubs-mips.cc __ sllv(scratch2, int_scratch, scratch2); __ 830 src/mips/code-stubs-mips.cc __ Or(dst2, dst2, scratch2); __ 832 src/mips/code-stubs-mips.cc __ mov(dst1, zero_reg); __ 834 src/mips/code-stubs-mips.cc __ bind(&done); __ 857 src/mips/code-stubs-mips.cc __ JumpIfNotSmi(object, &obj_is_not_smi); __ 858 src/mips/code-stubs-mips.cc __ SmiUntag(scratch1, object); __ 861 src/mips/code-stubs-mips.cc __ Branch(&done); __ 863 src/mips/code-stubs-mips.cc __ bind(&obj_is_not_smi); __ 865 src/mips/code-stubs-mips.cc __ AbortIfNotRootValue(heap_number_map, __ 869 src/mips/code-stubs-mips.cc __ JumpIfNotHeapNumber(object, heap_number_map, scratch1, not_int32); __ 875 src/mips/code-stubs-mips.cc __ ldc1(double_dst, FieldMemOperand(object, HeapNumber::kValueOffset)); __ 878 src/mips/code-stubs-mips.cc __ EmitFPUTruncate(kRoundToZero, __ 886 src/mips/code-stubs-mips.cc __ Branch(not_int32, ne, except_flag, Operand(zero_reg)); __ 889 src/mips/code-stubs-mips.cc __ Move(dst1, dst2, double_dst); __ 895 src/mips/code-stubs-mips.cc __ lw(dst2, FieldMemOperand(object, HeapNumber::kExponentOffset)); __ 896 src/mips/code-stubs-mips.cc __ lw(dst1, FieldMemOperand(object, HeapNumber::kMantissaOffset)); __ 899 src/mips/code-stubs-mips.cc __ And(scratch1, dst1, Operand(~HeapNumber::kSignMask)); __ 900 src/mips/code-stubs-mips.cc __ Or(scratch1, scratch1, Operand(dst2)); __ 901 src/mips/code-stubs-mips.cc __ Branch(&done, eq, scratch1, Operand(zero_reg)); __ 908 src/mips/code-stubs-mips.cc __ lw(dst2, FieldMemOperand(object, HeapNumber::kExponentOffset)); __ 909 src/mips/code-stubs-mips.cc __ lw(dst1, FieldMemOperand(object, HeapNumber::kMantissaOffset)); __ 912 src/mips/code-stubs-mips.cc __ bind(&done); __ 933 src/mips/code-stubs-mips.cc __ UntagAndJumpIfSmi(dst, object, &done); __ 936 src/mips/code-stubs-mips.cc __ AbortIfNotRootValue(heap_number_map, __ 940 src/mips/code-stubs-mips.cc __ JumpIfNotHeapNumber(object, heap_number_map, scratch1, not_int32); __ 947 src/mips/code-stubs-mips.cc __ ldc1(double_scratch, FieldMemOperand(object, HeapNumber::kValueOffset)); __ 951 src/mips/code-stubs-mips.cc __ EmitFPUTruncate(kRoundToZero, __ 959 src/mips/code-stubs-mips.cc __ Branch(not_int32, ne, except_flag, Operand(zero_reg)); __ 961 src/mips/code-stubs-mips.cc __ mfc1(dst, single_scratch); __ 965 src/mips/code-stubs-mips.cc __ lw(scratch2, FieldMemOperand(object, HeapNumber::kExponentOffset)); __ 966 src/mips/code-stubs-mips.cc __ lw(scratch1, FieldMemOperand(object, HeapNumber::kMantissaOffset)); __ 969 src/mips/code-stubs-mips.cc __ And(dst, scratch1, Operand(~HeapNumber::kSignMask)); __ 970 src/mips/code-stubs-mips.cc __ Or(dst, scratch2, Operand(dst)); __ 971 src/mips/code-stubs-mips.cc __ Branch(&done, eq, dst, Operand(zero_reg)); __ 980 src/mips/code-stubs-mips.cc __ srlv(dst, dst, scratch3); __ 982 src/mips/code-stubs-mips.cc __ li(at, 32); __ 983 src/mips/code-stubs-mips.cc __ subu(scratch3, at, scratch3); __ 984 src/mips/code-stubs-mips.cc __ sllv(scratch2, scratch2, scratch3); __ 985 src/mips/code-stubs-mips.cc __ Or(dst, dst, scratch2); __ 987 src/mips/code-stubs-mips.cc __ lw(scratch1, FieldMemOperand(object, HeapNumber::kExponentOffset)); __ 988 src/mips/code-stubs-mips.cc __ And(scratch1, scratch1, Operand(HeapNumber::kSignMask)); __ 990 src/mips/code-stubs-mips.cc __ Branch(&skip_sub, ge, scratch1, Operand(zero_reg)); __ 991 src/mips/code-stubs-mips.cc __ Subu(dst, zero_reg, dst); __ 992 src/mips/code-stubs-mips.cc __ bind(&skip_sub); __ 995 src/mips/code-stubs-mips.cc __ bind(&done); __ 1006 src/mips/code-stubs-mips.cc __ Ext(scratch, __ 1012 src/mips/code-stubs-mips.cc __ Subu(scratch, scratch, Operand(HeapNumber::kExponentBias)); __ 1020 src/mips/code-stubs-mips.cc __ Branch(not_int32, lt, scratch, Operand(zero_reg)); __ 1027 src/mips/code-stubs-mips.cc __ srl(at, src1, 31); __ 1028 src/mips/code-stubs-mips.cc __ subu(tmp, scratch, at); __ 1029 src/mips/code-stubs-mips.cc __ Branch(not_int32, gt, tmp, Operand(30)); __ 1031 src/mips/code-stubs-mips.cc __ And(tmp, src2, 0x3fffff); __ 1032 src/mips/code-stubs-mips.cc __ Branch(not_int32, ne, tmp, Operand(zero_reg)); __ 1041 src/mips/code-stubs-mips.cc __ Ext(dst, __ 1045 src/mips/code-stubs-mips.cc __ sll(at, src1, HeapNumber::kNonMantissaBitsInTopWord); __ 1046 src/mips/code-stubs-mips.cc __ or_(dst, dst, at); __ 1049 src/mips/code-stubs-mips.cc __ li(at, 32); __ 1050 src/mips/code-stubs-mips.cc __ subu(scratch, at, scratch); __ 1051 src/mips/code-stubs-mips.cc __ li(src2, 1); __ 1052 src/mips/code-stubs-mips.cc __ sllv(src1, src2, scratch); __ 1053 src/mips/code-stubs-mips.cc __ Subu(src1, src1, Operand(1)); __ 1054 src/mips/code-stubs-mips.cc __ And(src1, dst, src1); __ 1055 src/mips/code-stubs-mips.cc __ Branch(not_int32, ne, src1, Operand(zero_reg)); __ 1075 src/mips/code-stubs-mips.cc __ push(ra); __ 1076 src/mips/code-stubs-mips.cc __ PrepareCallCFunction(4, scratch); // Two doubles are 4 arguments. __ 1084 src/mips/code-stubs-mips.cc __ Move(f12, a0, a1); __ 1085 src/mips/code-stubs-mips.cc __ Move(f14, a2, a3); __ 1089 src/mips/code-stubs-mips.cc __ CallCFunction( __ 1096 src/mips/code-stubs-mips.cc __ sdc1(f0, FieldMemOperand(heap_number_result, HeapNumber::kValueOffset)); __ 1099 src/mips/code-stubs-mips.cc __ sw(v1, FieldMemOperand(heap_number_result, HeapNumber::kExponentOffset)); __ 1100 src/mips/code-stubs-mips.cc __ sw(v0, FieldMemOperand(heap_number_result, HeapNumber::kMantissaOffset)); __ 1103 src/mips/code-stubs-mips.cc __ pop(ra); __ 1104 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 1105 src/mips/code-stubs-mips.cc __ mov(v0, heap_number_result); __ 1145 src/mips/code-stubs-mips.cc __ And(sign_, the_int_, Operand(0x80000000u)); __ 1146 src/mips/code-stubs-mips.cc __ Branch(&max_negative_int, eq, the_int_, Operand(0x80000000u)); __ 1152 src/mips/code-stubs-mips.cc __ li(scratch_, Operand(non_smi_exponent)); __ 1154 src/mips/code-stubs-mips.cc __ or_(scratch_, scratch_, sign_); __ 1156 src/mips/code-stubs-mips.cc __ subu(at, zero_reg, the_int_); __ 1157 src/mips/code-stubs-mips.cc __ Movn(the_int_, at, sign_); __ 1164 src/mips/code-stubs-mips.cc __ srl(at, the_int_, shift_distance); __ 1165 src/mips/code-stubs-mips.cc __ or_(scratch_, scratch_, at); __ 1166 src/mips/code-stubs-mips.cc __ sw(scratch_, FieldMemOperand(the_heap_number_, __ 1168 src/mips/code-stubs-mips.cc __ sll(scratch_, the_int_, 32 - shift_distance); __ 1169 src/mips/code-stubs-mips.cc __ sw(scratch_, FieldMemOperand(the_heap_number_, __ 1171 src/mips/code-stubs-mips.cc __ Ret(); __ 1173 src/mips/code-stubs-mips.cc __ bind(&max_negative_int); __ 1179 src/mips/code-stubs-mips.cc __ li(scratch_, Operand(HeapNumber::kSignMask | non_smi_exponent)); __ 1180 src/mips/code-stubs-mips.cc __ sw(scratch_, __ 1182 src/mips/code-stubs-mips.cc __ mov(scratch_, zero_reg); __ 1183 src/mips/code-stubs-mips.cc __ sw(scratch_, __ 1185 src/mips/code-stubs-mips.cc __ Ret(); __ 1200 src/mips/code-stubs-mips.cc __ Branch(¬_identical, ne, a0, Operand(a1)); __ 1205 src/mips/code-stubs-mips.cc __ li(exp_mask_reg, Operand(HeapNumber::kExponentMask)); __ 1212 src/mips/code-stubs-mips.cc __ GetObjectType(a0, t4, t4); __ 1213 src/mips/code-stubs-mips.cc __ Branch(slow, greater, t4, Operand(FIRST_SPEC_OBJECT_TYPE)); __ 1215 src/mips/code-stubs-mips.cc __ GetObjectType(a0, t4, t4); __ 1216 src/mips/code-stubs-mips.cc __ Branch(&heap_number, eq, t4, Operand(HEAP_NUMBER_TYPE)); __ 1219 src/mips/code-stubs-mips.cc __ Branch(slow, greater, t4, Operand(FIRST_SPEC_OBJECT_TYPE)); __ 1224 src/mips/code-stubs-mips.cc __ Branch(&return_equal, ne, t4, Operand(ODDBALL_TYPE)); __ 1225 src/mips/code-stubs-mips.cc __ LoadRoot(t2, Heap::kUndefinedValueRootIndex); __ 1226 src/mips/code-stubs-mips.cc __ Branch(&return_equal, ne, a0, Operand(t2)); __ 1229 src/mips/code-stubs-mips.cc __ li(v0, Operand(GREATER)); __ 1232 src/mips/code-stubs-mips.cc __ li(v0, Operand(LESS)); __ 1234 src/mips/code-stubs-mips.cc __ Ret(); __ 1240 src/mips/code-stubs-mips.cc __ bind(&return_equal); __ 1243 src/mips/code-stubs-mips.cc __ li(v0, Operand(GREATER)); // Things aren't less than themselves. __ 1245 src/mips/code-stubs-mips.cc __ li(v0, Operand(LESS)); // Things aren't greater than themselves. __ 1247 src/mips/code-stubs-mips.cc __ mov(v0, zero_reg); // Things are <=, >=, ==, === themselves. __ 1249 src/mips/code-stubs-mips.cc __ Ret(); __ 1256 src/mips/code-stubs-mips.cc __ bind(&heap_number); __ 1263 src/mips/code-stubs-mips.cc __ lw(t2, FieldMemOperand(a0, HeapNumber::kExponentOffset)); __ 1265 src/mips/code-stubs-mips.cc __ And(t3, t2, Operand(exp_mask_reg)); __ 1267 src/mips/code-stubs-mips.cc __ Branch(&return_equal, ne, t3, Operand(exp_mask_reg)); __ 1270 src/mips/code-stubs-mips.cc __ sll(t2, t2, HeapNumber::kNonMantissaBitsInTopWord); __ 1272 src/mips/code-stubs-mips.cc __ lw(t3, FieldMemOperand(a0, HeapNumber::kMantissaOffset)); __ 1273 src/mips/code-stubs-mips.cc __ Or(v0, t3, Operand(t2)); __ 1280 src/mips/code-stubs-mips.cc __ Ret(eq, v0, Operand(zero_reg)); __ 1282 src/mips/code-stubs-mips.cc __ li(v0, Operand(GREATER)); // NaN <= NaN should fail. __ 1284 src/mips/code-stubs-mips.cc __ li(v0, Operand(LESS)); // NaN >= NaN should fail. __ 1287 src/mips/code-stubs-mips.cc __ Ret(); __ 1292 src/mips/code-stubs-mips.cc __ bind(¬_identical); __ 1306 src/mips/code-stubs-mips.cc __ JumpIfSmi(lhs, &lhs_is_smi); __ 1309 src/mips/code-stubs-mips.cc __ GetObjectType(lhs, t4, t4); __ 1313 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT, ne, t4, Operand(HEAP_NUMBER_TYPE)); __ 1314 src/mips/code-stubs-mips.cc __ mov(v0, lhs); __ 1318 src/mips/code-stubs-mips.cc __ Branch(slow, ne, t4, Operand(HEAP_NUMBER_TYPE)); __ 1325 src/mips/code-stubs-mips.cc __ sra(at, rhs, kSmiTagSize); __ 1326 src/mips/code-stubs-mips.cc __ mtc1(at, f14); __ 1327 src/mips/code-stubs-mips.cc __ cvt_d_w(f14, f14); __ 1328 src/mips/code-stubs-mips.cc __ ldc1(f12, FieldMemOperand(lhs, HeapNumber::kValueOffset)); __ 1331 src/mips/code-stubs-mips.cc __ lw(a3, FieldMemOperand(lhs, HeapNumber::kValueOffset + 4)); __ 1332 src/mips/code-stubs-mips.cc __ lw(a2, FieldMemOperand(lhs, HeapNumber::kValueOffset)); __ 1335 src/mips/code-stubs-mips.cc __ mov(t6, rhs); __ 1337 src/mips/code-stubs-mips.cc __ push(ra); __ 1338 src/mips/code-stubs-mips.cc __ Call(stub1.GetCode()); __ 1340 src/mips/code-stubs-mips.cc __ pop(ra); __ 1344 src/mips/code-stubs-mips.cc __ jmp(both_loaded_as_doubles); __ 1346 src/mips/code-stubs-mips.cc __ bind(&lhs_is_smi); __ 1348 src/mips/code-stubs-mips.cc __ GetObjectType(rhs, t4, t4); __ 1352 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT, ne, t4, Operand(HEAP_NUMBER_TYPE)); __ 1353 src/mips/code-stubs-mips.cc __ li(v0, Operand(1)); __ 1357 src/mips/code-stubs-mips.cc __ Branch(slow, ne, t4, Operand(HEAP_NUMBER_TYPE)); __ 1364 src/mips/code-stubs-mips.cc __ sra(at, lhs, kSmiTagSize); __ 1365 src/mips/code-stubs-mips.cc __ mtc1(at, f12); __ 1366 src/mips/code-stubs-mips.cc __ cvt_d_w(f12, f12); __ 1367 src/mips/code-stubs-mips.cc __ ldc1(f14, FieldMemOperand(rhs, HeapNumber::kValueOffset)); __ 1370 src/mips/code-stubs-mips.cc __ mov(t6, lhs); __ 1372 src/mips/code-stubs-mips.cc __ push(ra); __ 1373 src/mips/code-stubs-mips.cc __ Call(stub2.GetCode()); __ 1374 src/mips/code-stubs-mips.cc __ pop(ra); __ 1377 src/mips/code-stubs-mips.cc __ lw(a1, FieldMemOperand(rhs, HeapNumber::kValueOffset + 4)); __ 1378 src/mips/code-stubs-mips.cc __ lw(a0, FieldMemOperand(rhs, HeapNumber::kValueOffset)); __ 1380 src/mips/code-stubs-mips.cc __ lw(a0, FieldMemOperand(rhs, HeapNumber::kValueOffset)); __ 1381 src/mips/code-stubs-mips.cc __ lw(a1, FieldMemOperand(rhs, HeapNumber::kValueOffset + 4)); __ 1393 src/mips/code-stubs-mips.cc __ Move(t0, t1, f14); __ 1394 src/mips/code-stubs-mips.cc __ Move(t2, t3, f12); __ 1397 src/mips/code-stubs-mips.cc __ mov(t0, a0); // a0 has LS 32 bits of rhs. __ 1398 src/mips/code-stubs-mips.cc __ mov(t1, a1); // a1 has MS 32 bits of rhs. __ 1399 src/mips/code-stubs-mips.cc __ mov(t2, a2); // a2 has LS 32 bits of lhs. __ 1400 src/mips/code-stubs-mips.cc __ mov(t3, a3); // a3 has MS 32 bits of lhs. __ 1410 src/mips/code-stubs-mips.cc __ li(exp_mask_reg, HeapNumber::kExponentMask); __ 1411 src/mips/code-stubs-mips.cc __ and_(t5, lhs_exponent, exp_mask_reg); __ 1412 src/mips/code-stubs-mips.cc __ Branch(&lhs_not_nan_exp_mask_is_loaded, ne, t5, Operand(exp_mask_reg)); __ 1414 src/mips/code-stubs-mips.cc __ sll(t5, lhs_exponent, HeapNumber::kNonMantissaBitsInTopWord); __ 1415 src/mips/code-stubs-mips.cc __ Branch(&one_is_nan, ne, t5, Operand(zero_reg)); __ 1417 src/mips/code-stubs-mips.cc __ Branch(&one_is_nan, ne, lhs_mantissa, Operand(zero_reg)); __ 1419 src/mips/code-stubs-mips.cc __ li(exp_mask_reg, HeapNumber::kExponentMask); __ 1420 src/mips/code-stubs-mips.cc __ bind(&lhs_not_nan_exp_mask_is_loaded); __ 1421 src/mips/code-stubs-mips.cc __ and_(t5, rhs_exponent, exp_mask_reg); __ 1423 src/mips/code-stubs-mips.cc __ Branch(&neither_is_nan, ne, t5, Operand(exp_mask_reg)); __ 1425 src/mips/code-stubs-mips.cc __ sll(t5, rhs_exponent, HeapNumber::kNonMantissaBitsInTopWord); __ 1426 src/mips/code-stubs-mips.cc __ Branch(&one_is_nan, ne, t5, Operand(zero_reg)); __ 1428 src/mips/code-stubs-mips.cc __ Branch(&neither_is_nan, eq, rhs_mantissa, Operand(zero_reg)); __ 1430 src/mips/code-stubs-mips.cc __ bind(&one_is_nan); __ 1435 src/mips/code-stubs-mips.cc __ li(v0, Operand(GREATER)); __ 1437 src/mips/code-stubs-mips.cc __ li(v0, Operand(LESS)); __ 1439 src/mips/code-stubs-mips.cc __ Ret(); __ 1441 src/mips/code-stubs-mips.cc __ bind(&neither_is_nan); __ 1460 src/mips/code-stubs-mips.cc __ Move(t0, t1, f14); __ 1461 src/mips/code-stubs-mips.cc __ Move(t2, t3, f12); __ 1464 src/mips/code-stubs-mips.cc __ mov(t0, a0); // a0 has LS 32 bits of rhs. __ 1465 src/mips/code-stubs-mips.cc __ mov(t1, a1); // a1 has MS 32 bits of rhs. __ 1466 src/mips/code-stubs-mips.cc __ mov(t2, a2); // a2 has LS 32 bits of lhs. __ 1467 src/mips/code-stubs-mips.cc __ mov(t3, a3); // a3 has MS 32 bits of lhs. __ 1474 src/mips/code-stubs-mips.cc __ xor_(v0, rhs_mantissa, lhs_mantissa); __ 1475 src/mips/code-stubs-mips.cc __ Branch(&return_result_not_equal, ne, v0, Operand(zero_reg)); __ 1477 src/mips/code-stubs-mips.cc __ subu(v0, rhs_exponent, lhs_exponent); __ 1478 src/mips/code-stubs-mips.cc __ Branch(&return_result_equal, eq, v0, Operand(zero_reg)); __ 1480 src/mips/code-stubs-mips.cc __ sll(rhs_exponent, rhs_exponent, kSmiTagSize); __ 1481 src/mips/code-stubs-mips.cc __ sll(lhs_exponent, lhs_exponent, kSmiTagSize); __ 1482 src/mips/code-stubs-mips.cc __ or_(t4, rhs_exponent, lhs_exponent); __ 1483 src/mips/code-stubs-mips.cc __ or_(t4, t4, rhs_mantissa); __ 1485 src/mips/code-stubs-mips.cc __ Branch(&return_result_not_equal, ne, t4, Operand(zero_reg)); __ 1487 src/mips/code-stubs-mips.cc __ bind(&return_result_equal); __ 1489 src/mips/code-stubs-mips.cc __ li(v0, Operand(EQUAL)); __ 1490 src/mips/code-stubs-mips.cc __ Ret(); __ 1493 src/mips/code-stubs-mips.cc __ bind(&return_result_not_equal); __ 1496 src/mips/code-stubs-mips.cc __ push(ra); __ 1497 src/mips/code-stubs-mips.cc __ PrepareCallCFunction(0, 2, t4); __ 1504 src/mips/code-stubs-mips.cc __ Move(f12, a0, a1); __ 1505 src/mips/code-stubs-mips.cc __ Move(f14, a2, a3); __ 1509 src/mips/code-stubs-mips.cc __ CallCFunction(ExternalReference::compare_doubles(masm->isolate()), __ 1511 src/mips/code-stubs-mips.cc __ pop(ra); // Because this function returns int, result is in v0. __ 1512 src/mips/code-stubs-mips.cc __ Ret(); __ 1516 src/mips/code-stubs-mips.cc __ BranchF(&equal, NULL, eq, f12, f14); __ 1517 src/mips/code-stubs-mips.cc __ BranchF(&less_than, NULL, lt, f12, f14); __ 1521 src/mips/code-stubs-mips.cc __ li(v0, Operand(GREATER)); __ 1522 src/mips/code-stubs-mips.cc __ Ret(); __ 1524 src/mips/code-stubs-mips.cc __ bind(&equal); __ 1525 src/mips/code-stubs-mips.cc __ li(v0, Operand(EQUAL)); __ 1526 src/mips/code-stubs-mips.cc __ Ret(); __ 1528 src/mips/code-stubs-mips.cc __ bind(&less_than); __ 1529 src/mips/code-stubs-mips.cc __ li(v0, Operand(LESS)); __ 1530 src/mips/code-stubs-mips.cc __ Ret(); __ 1545 src/mips/code-stubs-mips.cc __ GetObjectType(lhs, a2, a2); __ 1546 src/mips/code-stubs-mips.cc __ Branch(&first_non_object, less, a2, Operand(FIRST_SPEC_OBJECT_TYPE)); __ 1550 src/mips/code-stubs-mips.cc __ bind(&return_not_equal); __ 1551 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 1552 src/mips/code-stubs-mips.cc __ li(v0, Operand(1)); __ 1554 src/mips/code-stubs-mips.cc __ bind(&first_non_object); __ 1556 src/mips/code-stubs-mips.cc __ Branch(&return_not_equal, eq, a2, Operand(ODDBALL_TYPE)); __ 1558 src/mips/code-stubs-mips.cc __ GetObjectType(rhs, a3, a3); __ 1559 src/mips/code-stubs-mips.cc __ Branch(&return_not_equal, greater, a3, Operand(FIRST_SPEC_OBJECT_TYPE)); __ 1562 src/mips/code-stubs-mips.cc __ Branch(&return_not_equal, eq, a3, Operand(ODDBALL_TYPE)); __ 1568 src/mips/code-stubs-mips.cc __ And(t2, a2, Operand(a3)); __ 1569 src/mips/code-stubs-mips.cc __ And(t0, t2, Operand(kIsSymbolMask)); __ 1570 src/mips/code-stubs-mips.cc __ Branch(&return_not_equal, ne, t0, Operand(zero_reg)); __ 1580 src/mips/code-stubs-mips.cc __ GetObjectType(lhs, a3, a2); __ 1581 src/mips/code-stubs-mips.cc __ Branch(not_heap_numbers, ne, a2, Operand(HEAP_NUMBER_TYPE)); __ 1582 src/mips/code-stubs-mips.cc __ lw(a2, FieldMemOperand(rhs, HeapObject::kMapOffset)); __ 1584 src/mips/code-stubs-mips.cc __ Branch(slow, ne, a3, Operand(a2)); __ 1590 src/mips/code-stubs-mips.cc __ ldc1(f12, FieldMemOperand(lhs, HeapNumber::kValueOffset)); __ 1591 src/mips/code-stubs-mips.cc __ ldc1(f14, FieldMemOperand(rhs, HeapNumber::kValueOffset)); __ 1593 src/mips/code-stubs-mips.cc __ lw(a2, FieldMemOperand(lhs, HeapNumber::kValueOffset)); __ 1594 src/mips/code-stubs-mips.cc __ lw(a3, FieldMemOperand(lhs, HeapNumber::kValueOffset + 4)); __ 1596 src/mips/code-stubs-mips.cc __ lw(a1, FieldMemOperand(rhs, HeapNumber::kValueOffset + 4)); __ 1597 src/mips/code-stubs-mips.cc __ lw(a0, FieldMemOperand(rhs, HeapNumber::kValueOffset)); __ 1599 src/mips/code-stubs-mips.cc __ lw(a0, FieldMemOperand(rhs, HeapNumber::kValueOffset)); __ 1600 src/mips/code-stubs-mips.cc __ lw(a1, FieldMemOperand(rhs, HeapNumber::kValueOffset + 4)); __ 1603 src/mips/code-stubs-mips.cc __ jmp(both_loaded_as_doubles); __ 1620 src/mips/code-stubs-mips.cc __ And(at, a2, Operand(kIsNotStringMask)); __ 1621 src/mips/code-stubs-mips.cc __ Branch(&object_test, ne, at, Operand(zero_reg)); __ 1622 src/mips/code-stubs-mips.cc __ And(at, a2, Operand(kIsSymbolMask)); __ 1623 src/mips/code-stubs-mips.cc __ Branch(possible_strings, eq, at, Operand(zero_reg)); __ 1624 src/mips/code-stubs-mips.cc __ GetObjectType(rhs, a3, a3); __ 1625 src/mips/code-stubs-mips.cc __ Branch(not_both_strings, ge, a3, Operand(FIRST_NONSTRING_TYPE)); __ 1626 src/mips/code-stubs-mips.cc __ And(at, a3, Operand(kIsSymbolMask)); __ 1627 src/mips/code-stubs-mips.cc __ Branch(possible_strings, eq, at, Operand(zero_reg)); __ 1631 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 1632 src/mips/code-stubs-mips.cc __ li(v0, Operand(1)); // Non-zero indicates not equal. __ 1634 src/mips/code-stubs-mips.cc __ bind(&object_test); __ 1635 src/mips/code-stubs-mips.cc __ Branch(not_both_strings, lt, a2, Operand(FIRST_SPEC_OBJECT_TYPE)); __ 1636 src/mips/code-stubs-mips.cc __ GetObjectType(rhs, a2, a3); __ 1637 src/mips/code-stubs-mips.cc __ Branch(not_both_strings, lt, a3, Operand(FIRST_SPEC_OBJECT_TYPE)); __ 1642 src/mips/code-stubs-mips.cc __ lw(a3, FieldMemOperand(lhs, HeapObject::kMapOffset)); __ 1643 src/mips/code-stubs-mips.cc __ lbu(a2, FieldMemOperand(a2, Map::kBitFieldOffset)); __ 1644 src/mips/code-stubs-mips.cc __ lbu(a3, FieldMemOperand(a3, Map::kBitFieldOffset)); __ 1645 src/mips/code-stubs-mips.cc __ and_(a0, a2, a3); __ 1646 src/mips/code-stubs-mips.cc __ And(a0, a0, Operand(1 << Map::kIsUndetectable)); __ 1647 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 1648 src/mips/code-stubs-mips.cc __ xori(v0, a0, 1 << Map::kIsUndetectable); __ 1665 src/mips/code-stubs-mips.cc __ LoadRoot(number_string_cache, Heap::kNumberStringCacheRootIndex); __ 1669 src/mips/code-stubs-mips.cc __ lw(mask, FieldMemOperand(number_string_cache, FixedArray::kLengthOffset)); __ 1671 src/mips/code-stubs-mips.cc __ sra(mask, mask, kSmiTagSize + 1); __ 1672 src/mips/code-stubs-mips.cc __ Addu(mask, mask, -1); // Make mask. __ 1682 src/mips/code-stubs-mips.cc __ JumpIfSmi(object, &is_smi); __ 1685 src/mips/code-stubs-mips.cc __ CheckMap(object, __ 1692 src/mips/code-stubs-mips.cc __ Addu(scratch1, __ 1695 src/mips/code-stubs-mips.cc __ lw(scratch2, MemOperand(scratch1, kPointerSize)); __ 1696 src/mips/code-stubs-mips.cc __ lw(scratch1, MemOperand(scratch1, 0)); __ 1697 src/mips/code-stubs-mips.cc __ Xor(scratch1, scratch1, Operand(scratch2)); __ 1698 src/mips/code-stubs-mips.cc __ And(scratch1, scratch1, Operand(mask)); __ 1702 src/mips/code-stubs-mips.cc __ sll(scratch1, scratch1, kPointerSizeLog2 + 1); __ 1703 src/mips/code-stubs-mips.cc __ Addu(scratch1, number_string_cache, scratch1); __ 1706 src/mips/code-stubs-mips.cc __ lw(probe, __ 1708 src/mips/code-stubs-mips.cc __ JumpIfSmi(probe, not_found); __ 1709 src/mips/code-stubs-mips.cc __ ldc1(f12, FieldMemOperand(object, HeapNumber::kValueOffset)); __ 1710 src/mips/code-stubs-mips.cc __ ldc1(f14, FieldMemOperand(probe, HeapNumber::kValueOffset)); __ 1711 src/mips/code-stubs-mips.cc __ BranchF(&load_result_from_cache, NULL, eq, f12, f14); __ 1712 src/mips/code-stubs-mips.cc __ Branch(not_found); __ 1717 src/mips/code-stubs-mips.cc __ Branch(not_found); __ 1721 src/mips/code-stubs-mips.cc __ bind(&is_smi); __ 1723 src/mips/code-stubs-mips.cc __ sra(scratch, object, 1); // Shift away the tag. __ 1724 src/mips/code-stubs-mips.cc __ And(scratch, mask, Operand(scratch)); __ 1728 src/mips/code-stubs-mips.cc __ sll(scratch, scratch, kPointerSizeLog2 + 1); __ 1729 src/mips/code-stubs-mips.cc __ Addu(scratch, number_string_cache, scratch); __ 1733 src/mips/code-stubs-mips.cc __ lw(probe, FieldMemOperand(scratch, FixedArray::kHeaderSize)); __ 1734 src/mips/code-stubs-mips.cc __ Branch(not_found, ne, object, Operand(probe)); __ 1737 src/mips/code-stubs-mips.cc __ bind(&load_result_from_cache); __ 1738 src/mips/code-stubs-mips.cc __ lw(result, __ 1741 src/mips/code-stubs-mips.cc __ IncrementCounter(isolate->counters()->number_to_string_native(), __ 1751 src/mips/code-stubs-mips.cc __ lw(a1, MemOperand(sp, 0)); __ 1755 src/mips/code-stubs-mips.cc __ DropAndRet(1); __ 1757 src/mips/code-stubs-mips.cc __ bind(&runtime); __ 1759 src/mips/code-stubs-mips.cc __ TailCallRuntime(Runtime::kNumberToString, 1, 1); __ 1773 src/mips/code-stubs-mips.cc __ Or(a2, a1, a0); __ 1774 src/mips/code-stubs-mips.cc __ JumpIfNotSmi(a2, ¬_two_smis); __ 1775 src/mips/code-stubs-mips.cc __ sra(a1, a1, 1); __ 1776 src/mips/code-stubs-mips.cc __ sra(a0, a0, 1); __ 1777 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 1778 src/mips/code-stubs-mips.cc __ subu(v0, a1, a0); __ 1779 src/mips/code-stubs-mips.cc __ bind(¬_two_smis); __ 1781 src/mips/code-stubs-mips.cc __ Or(a2, a1, a0); __ 1782 src/mips/code-stubs-mips.cc __ And(a2, a2, kSmiTagMask); __ 1783 src/mips/code-stubs-mips.cc __ Assert(ne, "CompareStub: unexpected smi operands.", __ 1799 src/mips/code-stubs-mips.cc __ And(t2, lhs_, Operand(rhs_)); __ 1800 src/mips/code-stubs-mips.cc __ JumpIfNotSmi(t2, ¬_smis, t0); __ 1812 src/mips/code-stubs-mips.cc __ bind(&both_loaded_as_doubles); __ 1821 src/mips/code-stubs-mips.cc __ li(t0, Operand(LESS)); __ 1822 src/mips/code-stubs-mips.cc __ li(t1, Operand(GREATER)); __ 1823 src/mips/code-stubs-mips.cc __ li(t2, Operand(EQUAL)); __ 1826 src/mips/code-stubs-mips.cc __ BranchF(NULL, &nan, eq, f12, f14); __ 1830 src/mips/code-stubs-mips.cc __ c(OLT, D, f12, f14); __ 1831 src/mips/code-stubs-mips.cc __ Movt(v0, t0); __ 1835 src/mips/code-stubs-mips.cc __ Movf(v0, t1); __ 1838 src/mips/code-stubs-mips.cc __ c(EQ, D, f12, f14); __ 1839 src/mips/code-stubs-mips.cc __ Movt(v0, t2); __ 1841 src/mips/code-stubs-mips.cc __ Ret(); __ 1843 src/mips/code-stubs-mips.cc __ bind(&nan); __ 1847 src/mips/code-stubs-mips.cc __ li(v0, Operand(GREATER)); __ 1849 src/mips/code-stubs-mips.cc __ li(v0, Operand(LESS)); __ 1851 src/mips/code-stubs-mips.cc __ Ret(); __ 1862 src/mips/code-stubs-mips.cc __ bind(¬_smis); __ 1884 src/mips/code-stubs-mips.cc __ bind(&check_for_symbols); __ 1894 src/mips/code-stubs-mips.cc __ bind(&flat_string_check); __ 1896 src/mips/code-stubs-mips.cc __ JumpIfNonSmisNotBothSequentialAsciiStrings(lhs_, rhs_, a2, a3, &slow); __ 1898 src/mips/code-stubs-mips.cc __ IncrementCounter(isolate->counters()->string_compare_native(), 1, a2, a3); __ 1917 src/mips/code-stubs-mips.cc __ bind(&slow); __ 1920 src/mips/code-stubs-mips.cc __ Push(lhs_, rhs_); __ 1934 src/mips/code-stubs-mips.cc __ li(a0, Operand(Smi::FromInt(ncr))); __ 1935 src/mips/code-stubs-mips.cc __ push(a0); __ 1940 src/mips/code-stubs-mips.cc __ InvokeBuiltin(native, JUMP_FUNCTION); __ 1965 src/mips/code-stubs-mips.cc __ And(at, tos_, kSmiTagMask); __ 1967 src/mips/code-stubs-mips.cc __ Ret(eq, at, Operand(zero_reg)); __ 1970 src/mips/code-stubs-mips.cc __ JumpIfSmi(tos_, &patch); __ 1974 src/mips/code-stubs-mips.cc __ lw(map, FieldMemOperand(tos_, HeapObject::kMapOffset)); __ 1977 src/mips/code-stubs-mips.cc __ lbu(at, FieldMemOperand(map, Map::kBitFieldOffset)); __ 1978 src/mips/code-stubs-mips.cc __ And(at, at, Operand(1 << Map::kIsUndetectable)); __ 1980 src/mips/code-stubs-mips.cc __ Movn(tos_, zero_reg, at); __ 1981 src/mips/code-stubs-mips.cc __ Ret(ne, at, Operand(zero_reg)); __ 1987 src/mips/code-stubs-mips.cc __ lbu(at, FieldMemOperand(map, Map::kInstanceTypeOffset)); __ 1989 src/mips/code-stubs-mips.cc __ Ret(ge, at, Operand(FIRST_SPEC_OBJECT_TYPE)); __ 1994 src/mips/code-stubs-mips.cc __ lbu(at, FieldMemOperand(map, Map::kInstanceTypeOffset)); __ 1996 src/mips/code-stubs-mips.cc __ Branch(&skip, ge, at, Operand(FIRST_NONSTRING_TYPE)); __ 1997 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); // the string length is OK as the return value __ 1998 src/mips/code-stubs-mips.cc __ lw(tos_, FieldMemOperand(tos_, String::kLengthOffset)); __ 1999 src/mips/code-stubs-mips.cc __ bind(&skip); __ 2005 src/mips/code-stubs-mips.cc __ LoadRoot(at, Heap::kHeapNumberMapRootIndex); __ 2006 src/mips/code-stubs-mips.cc __ Branch(¬_heap_number, ne, map, Operand(at)); __ 2008 src/mips/code-stubs-mips.cc __ ldc1(f2, FieldMemOperand(tos_, HeapNumber::kValueOffset)); __ 2009 src/mips/code-stubs-mips.cc __ BranchF(&number, &zero_or_nan, ne, f2, kDoubleRegZero); __ 2013 src/mips/code-stubs-mips.cc __ bind(&zero_or_nan); __ 2014 src/mips/code-stubs-mips.cc __ mov(tos_, zero_reg); __ 2015 src/mips/code-stubs-mips.cc __ bind(&number); __ 2016 src/mips/code-stubs-mips.cc __ Ret(); __ 2017 src/mips/code-stubs-mips.cc __ bind(¬_heap_number); __ 2020 src/mips/code-stubs-mips.cc __ bind(&patch); __ 2031 src/mips/code-stubs-mips.cc __ LoadRoot(at, value); __ 2032 src/mips/code-stubs-mips.cc __ Subu(at, at, tos_); // This is a check for equality for the movz below. __ 2036 src/mips/code-stubs-mips.cc __ Movz(tos_, zero_reg, at); __ 2038 src/mips/code-stubs-mips.cc __ Ret(eq, at, Operand(zero_reg)); __ 2044 src/mips/code-stubs-mips.cc __ Move(a3, tos_); __ 2045 src/mips/code-stubs-mips.cc __ li(a2, Operand(Smi::FromInt(tos_.code()))); __ 2046 src/mips/code-stubs-mips.cc __ li(a1, Operand(Smi::FromInt(types_.ToByte()))); __ 2047 src/mips/code-stubs-mips.cc __ Push(a3, a2, a1); __ 2050 src/mips/code-stubs-mips.cc __ TailCallExternalReference( __ 2061 src/mips/code-stubs-mips.cc __ MultiPush(kJSCallerSaved | ra.bit()); __ 2064 src/mips/code-stubs-mips.cc __ MultiPushFPU(kCallerSavedFPU); __ 2071 src/mips/code-stubs-mips.cc __ PrepareCallCFunction(argument_count, fp_argument_count, scratch); __ 2072 src/mips/code-stubs-mips.cc __ li(a0, Operand(ExternalReference::isolate_address())); __ 2073 src/mips/code-stubs-mips.cc __ CallCFunction( __ 2078 src/mips/code-stubs-mips.cc __ MultiPopFPU(kCallerSavedFPU); __ 2081 src/mips/code-stubs-mips.cc __ MultiPop(kJSCallerSaved | ra.bit()); __ 2082 src/mips/code-stubs-mips.cc __ Ret(); __ 2121 src/mips/code-stubs-mips.cc __ li(a2, Operand(Smi::FromInt(op_))); __ 2122 src/mips/code-stubs-mips.cc __ li(a1, Operand(Smi::FromInt(mode_))); __ 2123 src/mips/code-stubs-mips.cc __ li(a0, Operand(Smi::FromInt(operand_type_))); __ 2124 src/mips/code-stubs-mips.cc __ Push(v0, a2, a1, a0); __ 2126 src/mips/code-stubs-mips.cc __ TailCallExternalReference( __ 2149 src/mips/code-stubs-mips.cc __ bind(&non_smi); __ 2150 src/mips/code-stubs-mips.cc __ bind(&slow); __ 2158 src/mips/code-stubs-mips.cc __ bind(&non_smi); __ 2166 src/mips/code-stubs-mips.cc __ JumpIfNotSmi(a0, non_smi); __ 2169 src/mips/code-stubs-mips.cc __ And(t0, a0, ~0x80000000); __ 2170 src/mips/code-stubs-mips.cc __ Branch(slow, eq, t0, Operand(zero_reg)); __ 2173 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 2174 src/mips/code-stubs-mips.cc __ subu(v0, zero_reg, a0); __ 2180 src/mips/code-stubs-mips.cc __ JumpIfNotSmi(a0, non_smi); __ 2183 src/mips/code-stubs-mips.cc __ Neg(v0, a0); __ 2184 src/mips/code-stubs-mips.cc __ And(v0, v0, ~kSmiTagMask); __ 2185 src/mips/code-stubs-mips.cc __ Ret(); __ 2207 src/mips/code-stubs-mips.cc __ bind(&non_smi); __ 2209 src/mips/code-stubs-mips.cc __ bind(&slow); __ 2211 src/mips/code-stubs-mips.cc __ bind(&call_builtin); __ 2219 src/mips/code-stubs-mips.cc __ bind(&non_smi); __ 2221 src/mips/code-stubs-mips.cc __ bind(&slow); __ 2231 src/mips/code-stubs-mips.cc __ lw(a2, FieldMemOperand(a0, HeapNumber::kExponentOffset)); __ 2232 src/mips/code-stubs-mips.cc __ Xor(a2, a2, Operand(HeapNumber::kSignMask)); // Flip sign. __ 2233 src/mips/code-stubs-mips.cc __ sw(a2, FieldMemOperand(a0, HeapNumber::kExponentOffset)); __ 2236 src/mips/code-stubs-mips.cc __ AllocateHeapNumber(a1, a2, a3, t2, &slow_allocate_heapnumber); __ 2237 src/mips/code-stubs-mips.cc __ jmp(&heapnumber_allocated); __ 2239 src/mips/code-stubs-mips.cc __ bind(&slow_allocate_heapnumber); __ 2242 src/mips/code-stubs-mips.cc __ push(a0); __ 2243 src/mips/code-stubs-mips.cc __ CallRuntime(Runtime::kNumberAlloc, 0); __ 2244 src/mips/code-stubs-mips.cc __ mov(a1, v0); __ 2245 src/mips/code-stubs-mips.cc __ pop(a0); __ 2248 src/mips/code-stubs-mips.cc __ bind(&heapnumber_allocated); __ 2249 src/mips/code-stubs-mips.cc __ lw(a3, FieldMemOperand(a0, HeapNumber::kMantissaOffset)); __ 2250 src/mips/code-stubs-mips.cc __ lw(a2, FieldMemOperand(a0, HeapNumber::kExponentOffset)); __ 2251 src/mips/code-stubs-mips.cc __ sw(a3, FieldMemOperand(a1, HeapNumber::kMantissaOffset)); __ 2252 src/mips/code-stubs-mips.cc __ Xor(a2, a2, Operand(HeapNumber::kSignMask)); // Flip sign. __ 2253 src/mips/code-stubs-mips.cc __ sw(a2, FieldMemOperand(a1, HeapNumber::kExponentOffset)); __ 2254 src/mips/code-stubs-mips.cc __ mov(v0, a1); __ 2256 src/mips/code-stubs-mips.cc __ Ret(); __ 2267 src/mips/code-stubs-mips.cc __ ConvertToInt32(a0, a1, a2, a3, f0, slow); __ 2271 src/mips/code-stubs-mips.cc __ Neg(a1, a1); __ 2272 src/mips/code-stubs-mips.cc __ Addu(a2, a1, Operand(0x40000000)); __ 2273 src/mips/code-stubs-mips.cc __ Branch(&try_float, lt, a2, Operand(zero_reg)); __ 2276 src/mips/code-stubs-mips.cc __ SmiTag(v0, a1); __ 2277 src/mips/code-stubs-mips.cc __ Ret(); __ 2280 src/mips/code-stubs-mips.cc __ bind(&try_float); __ 2284 src/mips/code-stubs-mips.cc __ AllocateHeapNumber(a2, a3, t0, t2, &slow_allocate_heapnumber); __ 2285 src/mips/code-stubs-mips.cc __ jmp(&heapnumber_allocated); __ 2287 src/mips/code-stubs-mips.cc __ bind(&slow_allocate_heapnumber); __ 2290 src/mips/code-stubs-mips.cc __ push(v0); // Push the heap number, not the untagged int32. __ 2291 src/mips/code-stubs-mips.cc __ CallRuntime(Runtime::kNumberAlloc, 0); __ 2292 src/mips/code-stubs-mips.cc __ mov(a2, v0); // Move the new heap number into a2. __ 2294 src/mips/code-stubs-mips.cc __ pop(v0); __ 2300 src/mips/code-stubs-mips.cc __ ConvertToInt32(v0, a1, a3, t0, f0, &impossible); __ 2302 src/mips/code-stubs-mips.cc __ Xor(a1, a1, -1); __ 2304 src/mips/code-stubs-mips.cc __ bind(&heapnumber_allocated); __ 2305 src/mips/code-stubs-mips.cc __ mov(v0, a2); // Move newly allocated heap number to v0. __ 2311 src/mips/code-stubs-mips.cc __ mtc1(a1, f0); __ 2312 src/mips/code-stubs-mips.cc __ cvt_d_w(f0, f0); __ 2313 src/mips/code-stubs-mips.cc __ sdc1(f0, FieldMemOperand(v0, HeapNumber::kValueOffset)); __ 2314 src/mips/code-stubs-mips.cc __ Ret(); __ 2319 src/mips/code-stubs-mips.cc __ Jump(stub.GetCode(), RelocInfo::CODE_TARGET); __ 2322 src/mips/code-stubs-mips.cc __ bind(&impossible); __ 2324 src/mips/code-stubs-mips.cc __ stop("Incorrect assumption in bit-not stub"); __ 2347 src/mips/code-stubs-mips.cc __ bind(&non_smi); __ 2349 src/mips/code-stubs-mips.cc __ bind(&slow); __ 2357 src/mips/code-stubs-mips.cc __ bind(&non_smi); __ 2359 src/mips/code-stubs-mips.cc __ bind(&slow); __ 2367 src/mips/code-stubs-mips.cc __ push(a0); __ 2370 src/mips/code-stubs-mips.cc __ InvokeBuiltin(Builtins::UNARY_MINUS, JUMP_FUNCTION); __ 2373 src/mips/code-stubs-mips.cc __ InvokeBuiltin(Builtins::BIT_NOT, JUMP_FUNCTION); __ 2384 src/mips/code-stubs-mips.cc __ Push(a1, a0); __ 2386 src/mips/code-stubs-mips.cc __ li(a2, Operand(Smi::FromInt(MinorKey()))); __ 2387 src/mips/code-stubs-mips.cc __ li(a1, Operand(Smi::FromInt(op_))); __ 2388 src/mips/code-stubs-mips.cc __ li(a0, Operand(Smi::FromInt(operands_type_))); __ 2389 src/mips/code-stubs-mips.cc __ Push(a2, a1, a0); __ 2391 src/mips/code-stubs-mips.cc __ TailCallExternalReference( __ 2470 src/mips/code-stubs-mips.cc __ AdduAndCheckForOverflow(v0, left, right, scratch1); __ 2471 src/mips/code-stubs-mips.cc __ RetOnNoOverflow(scratch1); __ 2475 src/mips/code-stubs-mips.cc __ SubuAndCheckForOverflow(v0, left, right, scratch1); __ 2476 src/mips/code-stubs-mips.cc __ RetOnNoOverflow(scratch1); __ 2482 src/mips/code-stubs-mips.cc __ SmiUntag(scratch1, right); __ 2486 src/mips/code-stubs-mips.cc __ Mult(left, scratch1); __ 2489 src/mips/code-stubs-mips.cc __ mflo(scratch1); __ 2490 src/mips/code-stubs-mips.cc __ mfhi(scratch2); __ 2491 src/mips/code-stubs-mips.cc __ sra(scratch1, scratch1, 31); __ 2492 src/mips/code-stubs-mips.cc __ Branch(¬_smi_result, ne, scratch1, Operand(scratch2)); __ 2494 src/mips/code-stubs-mips.cc __ mflo(v0); __ 2495 src/mips/code-stubs-mips.cc __ Ret(ne, v0, Operand(zero_reg)); __ 2498 src/mips/code-stubs-mips.cc __ Addu(scratch2, right, left); __ 2502 src/mips/code-stubs-mips.cc __ Branch(&skip, lt, scratch2, Operand(zero_reg)); __ 2504 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 2505 src/mips/code-stubs-mips.cc __ mov(v0, zero_reg); // Return smi 0 if the non-zero one was positive. __ 2506 src/mips/code-stubs-mips.cc __ bind(&skip); __ 2513 src/mips/code-stubs-mips.cc __ SmiUntag(scratch2, right); __ 2514 src/mips/code-stubs-mips.cc __ SmiUntag(scratch1, left); __ 2515 src/mips/code-stubs-mips.cc __ Div(scratch1, scratch2); __ 2518 src/mips/code-stubs-mips.cc __ Branch(¬_smi_result, eq, scratch2, Operand(zero_reg)); __ 2523 src/mips/code-stubs-mips.cc __ mfhi(scratch1); __ 2524 src/mips/code-stubs-mips.cc __ Branch(¬_smi_result, ne, scratch1, Operand(zero_reg)); __ 2525 src/mips/code-stubs-mips.cc __ mflo(scratch1); __ 2526 src/mips/code-stubs-mips.cc __ Branch(&done, ne, scratch1, Operand(zero_reg)); __ 2527 src/mips/code-stubs-mips.cc __ Branch(¬_smi_result, lt, scratch2, Operand(zero_reg)); __ 2528 src/mips/code-stubs-mips.cc __ bind(&done); __ 2530 src/mips/code-stubs-mips.cc __ Addu(scratch2, scratch1, Operand(0x40000000)); __ 2531 src/mips/code-stubs-mips.cc __ Branch(¬_smi_result, lt, scratch2, Operand(zero_reg)); __ 2532 src/mips/code-stubs-mips.cc __ SmiTag(v0, scratch1); __ 2533 src/mips/code-stubs-mips.cc __ Ret(); __ 2538 src/mips/code-stubs-mips.cc __ SmiUntag(scratch2, right); __ 2539 src/mips/code-stubs-mips.cc __ SmiUntag(scratch1, left); __ 2540 src/mips/code-stubs-mips.cc __ Div(scratch1, scratch2); __ 2544 src/mips/code-stubs-mips.cc __ Branch(¬_smi_result, eq, scratch2, Operand(zero_reg)); __ 2548 src/mips/code-stubs-mips.cc __ mfhi(scratch2); __ 2549 src/mips/code-stubs-mips.cc __ Branch(&done, ne, scratch2, Operand(zero_reg)); __ 2550 src/mips/code-stubs-mips.cc __ Branch(¬_smi_result, lt, scratch1, Operand(zero_reg)); __ 2551 src/mips/code-stubs-mips.cc __ bind(&done); __ 2553 src/mips/code-stubs-mips.cc __ Addu(scratch1, scratch2, Operand(0x40000000)); __ 2554 src/mips/code-stubs-mips.cc __ Branch(¬_smi_result, lt, scratch1, Operand(zero_reg)); __ 2555 src/mips/code-stubs-mips.cc __ SmiTag(v0, scratch2); __ 2556 src/mips/code-stubs-mips.cc __ Ret(); __ 2560 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 2561 src/mips/code-stubs-mips.cc __ or_(v0, left, right); __ 2564 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 2565 src/mips/code-stubs-mips.cc __ and_(v0, left, right); __ 2568 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 2569 src/mips/code-stubs-mips.cc __ xor_(v0, left, right); __ 2573 src/mips/code-stubs-mips.cc __ GetLeastBitsFromSmi(scratch1, right, 5); __ 2574 src/mips/code-stubs-mips.cc __ srav(scratch1, left, scratch1); __ 2576 src/mips/code-stubs-mips.cc __ And(v0, scratch1, ~kSmiTagMask); __ 2577 src/mips/code-stubs-mips.cc __ Ret(); __ 2582 src/mips/code-stubs-mips.cc __ SmiUntag(scratch1, left); __ 2583 src/mips/code-stubs-mips.cc __ GetLeastBitsFromSmi(scratch2, right, 5); __ 2584 src/mips/code-stubs-mips.cc __ srlv(v0, scratch1, scratch2); __ 2587 src/mips/code-stubs-mips.cc __ And(scratch1, v0, Operand(0xc0000000)); __ 2588 src/mips/code-stubs-mips.cc __ Branch(¬_smi_result, ne, scratch1, Operand(zero_reg)); __ 2590 src/mips/code-stubs-mips.cc __ SmiTag(v0); __ 2591 src/mips/code-stubs-mips.cc __ Ret(); __ 2595 src/mips/code-stubs-mips.cc __ SmiUntag(scratch1, left); __ 2596 src/mips/code-stubs-mips.cc __ GetLeastBitsFromSmi(scratch2, right, 5); __ 2597 src/mips/code-stubs-mips.cc __ sllv(scratch1, scratch1, scratch2); __ 2599 src/mips/code-stubs-mips.cc __ Addu(scratch2, scratch1, Operand(0x40000000)); __ 2600 src/mips/code-stubs-mips.cc __ Branch(¬_smi_result, lt, scratch2, Operand(zero_reg)); __ 2601 src/mips/code-stubs-mips.cc __ SmiTag(v0, scratch1); __ 2602 src/mips/code-stubs-mips.cc __ Ret(); __ 2607 src/mips/code-stubs-mips.cc __ bind(¬_smi_result); __ 2623 src/mips/code-stubs-mips.cc __ AbortIfNotSmi(left); __ 2624 src/mips/code-stubs-mips.cc __ AbortIfNotSmi(right); __ 2628 src/mips/code-stubs-mips.cc __ LoadRoot(heap_number_map, Heap::kHeapNumberMapRootIndex); __ 2669 src/mips/code-stubs-mips.cc __ add_d(f10, f12, f14); __ 2672 src/mips/code-stubs-mips.cc __ sub_d(f10, f12, f14); __ 2675 src/mips/code-stubs-mips.cc __ mul_d(f10, f12, f14); __ 2678 src/mips/code-stubs-mips.cc __ div_d(f10, f12, f14); __ 2687 src/mips/code-stubs-mips.cc __ sdc1(f10, FieldMemOperand(result, HeapNumber::kValueOffset)); __ 2688 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 2689 src/mips/code-stubs-mips.cc __ mov(v0, result); __ 2697 src/mips/code-stubs-mips.cc __ stop("Unreachable code."); __ 2709 src/mips/code-stubs-mips.cc __ SmiUntag(a3, left); __ 2710 src/mips/code-stubs-mips.cc __ SmiUntag(a2, right); __ 2735 src/mips/code-stubs-mips.cc __ Or(a2, a3, Operand(a2)); __ 2738 src/mips/code-stubs-mips.cc __ Xor(a2, a3, Operand(a2)); __ 2741 src/mips/code-stubs-mips.cc __ And(a2, a3, Operand(a2)); __ 2745 src/mips/code-stubs-mips.cc __ GetLeastBitsFromInt32(a2, a2, 5); __ 2746 src/mips/code-stubs-mips.cc __ srav(a2, a3, a2); __ 2750 src/mips/code-stubs-mips.cc __ GetLeastBitsFromInt32(a2, a2, 5); __ 2751 src/mips/code-stubs-mips.cc __ srlv(a2, a3, a2); __ 2757 src/mips/code-stubs-mips.cc __ Branch(&result_not_a_smi, lt, a2, Operand(zero_reg)); __ 2759 src/mips/code-stubs-mips.cc __ Branch(not_numbers, lt, a2, Operand(zero_reg)); __ 2764 src/mips/code-stubs-mips.cc __ GetLeastBitsFromInt32(a2, a2, 5); __ 2765 src/mips/code-stubs-mips.cc __ sllv(a2, a3, a2); __ 2771 src/mips/code-stubs-mips.cc __ Addu(a3, a2, Operand(0x40000000)); __ 2772 src/mips/code-stubs-mips.cc __ Branch(&result_not_a_smi, lt, a3, Operand(zero_reg)); __ 2773 src/mips/code-stubs-mips.cc __ SmiTag(v0, a2); __ 2774 src/mips/code-stubs-mips.cc __ Ret(); __ 2777 src/mips/code-stubs-mips.cc __ bind(&result_not_a_smi); __ 2780 src/mips/code-stubs-mips.cc __ AllocateHeapNumber( __ 2792 src/mips/code-stubs-mips.cc __ mov(v0, t1); __ 2798 src/mips/code-stubs-mips.cc __ mtc1(a2, f0); __ 2800 src/mips/code-stubs-mips.cc __ Cvt_d_uw(f0, f0, f22); __ 2802 src/mips/code-stubs-mips.cc __ cvt_d_w(f0, f0); __ 2807 src/mips/code-stubs-mips.cc __ sdc1(f0, FieldMemOperand(v0, HeapNumber::kValueOffset)); __ 2808 src/mips/code-stubs-mips.cc __ Ret(); __ 2813 src/mips/code-stubs-mips.cc __ TailCallStub(&stub); __ 2839 src/mips/code-stubs-mips.cc __ Or(scratch1, left, Operand(right)); __ 2841 src/mips/code-stubs-mips.cc __ JumpIfNotSmi(scratch1, ¬_smis); __ 2851 src/mips/code-stubs-mips.cc __ bind(¬_smis); __ 2875 src/mips/code-stubs-mips.cc __ bind(&call_runtime); __ 2901 src/mips/code-stubs-mips.cc __ JumpIfSmi(left, &call_runtime); __ 2902 src/mips/code-stubs-mips.cc __ GetObjectType(left, a2, a2); __ 2903 src/mips/code-stubs-mips.cc __ Branch(&call_runtime, ge, a2, Operand(FIRST_NONSTRING_TYPE)); __ 2906 src/mips/code-stubs-mips.cc __ JumpIfSmi(right, &call_runtime); __ 2907 src/mips/code-stubs-mips.cc __ GetObjectType(right, a2, a2); __ 2908 src/mips/code-stubs-mips.cc __ Branch(&call_runtime, ge, a2, Operand(FIRST_NONSTRING_TYPE)); __ 2912 src/mips/code-stubs-mips.cc __ TailCallStub(&string_add_stub); __ 2914 src/mips/code-stubs-mips.cc __ bind(&call_runtime); __ 2931 src/mips/code-stubs-mips.cc __ LoadRoot(heap_number_map, Heap::kHeapNumberMapRootIndex); __ 2941 src/mips/code-stubs-mips.cc __ Or(scratch1, left, right); __ 2942 src/mips/code-stubs-mips.cc __ JumpIfNotSmi(scratch1, &skip); __ 2945 src/mips/code-stubs-mips.cc __ bind(&skip); __ 2989 src/mips/code-stubs-mips.cc __ add_d(f10, f12, f14); __ 2992 src/mips/code-stubs-mips.cc __ sub_d(f10, f12, f14); __ 2995 src/mips/code-stubs-mips.cc __ mul_d(f10, f12, f14); __ 2998 src/mips/code-stubs-mips.cc __ div_d(f10, f12, f14); __ 3011 src/mips/code-stubs-mips.cc __ EmitFPUTruncate(kRoundToZero, __ 3019 src/mips/code-stubs-mips.cc __ Branch(&transition, ne, except_flag, Operand(zero_reg)); __ 3023 src/mips/code-stubs-mips.cc __ mfc1(scratch1, single_scratch); __ 3024 src/mips/code-stubs-mips.cc __ Addu(scratch2, scratch1, Operand(0x40000000)); __ 3026 src/mips/code-stubs-mips.cc __ Branch(&return_heap_number, lt, scratch2, Operand(zero_reg)); __ 3029 src/mips/code-stubs-mips.cc __ Branch(¬_zero, ne, scratch1, Operand(zero_reg)); __ 3030 src/mips/code-stubs-mips.cc __ mfc1(scratch2, f11); __ 3031 src/mips/code-stubs-mips.cc __ And(scratch2, scratch2, HeapNumber::kSignMask); __ 3032 src/mips/code-stubs-mips.cc __ Branch(&return_heap_number, ne, scratch2, Operand(zero_reg)); __ 3033 src/mips/code-stubs-mips.cc __ bind(¬_zero); __ 3036 src/mips/code-stubs-mips.cc __ SmiTag(v0, scratch1); __ 3037 src/mips/code-stubs-mips.cc __ Ret(); __ 3042 src/mips/code-stubs-mips.cc __ bind(&return_heap_number); __ 3055 src/mips/code-stubs-mips.cc __ mov(v0, heap_number_result); __ 3056 src/mips/code-stubs-mips.cc __ sdc1(f10, FieldMemOperand(v0, HeapNumber::kValueOffset)); __ 3057 src/mips/code-stubs-mips.cc __ Ret(); __ 3066 src/mips/code-stubs-mips.cc __ Push(t1, t0); __ 3080 src/mips/code-stubs-mips.cc __ Pop(a1, a0); __ 3086 src/mips/code-stubs-mips.cc __ stop("Unreachable code."); __ 3089 src/mips/code-stubs-mips.cc __ bind(&pop_and_call_runtime); __ 3090 src/mips/code-stubs-mips.cc __ Drop(2); __ 3091 src/mips/code-stubs-mips.cc __ Branch(&call_runtime); __ 3131 src/mips/code-stubs-mips.cc __ Or(a2, a3, Operand(a2)); __ 3134 src/mips/code-stubs-mips.cc __ Xor(a2, a3, Operand(a2)); __ 3137 src/mips/code-stubs-mips.cc __ And(a2, a3, Operand(a2)); __ 3140 src/mips/code-stubs-mips.cc __ And(a2, a2, Operand(0x1f)); __ 3141 src/mips/code-stubs-mips.cc __ srav(a2, a3, a2); __ 3144 src/mips/code-stubs-mips.cc __ And(a2, a2, Operand(0x1f)); __ 3145 src/mips/code-stubs-mips.cc __ srlv(a2, a3, a2); __ 3153 src/mips/code-stubs-mips.cc __ Branch((result_type_ <= BinaryOpIC::INT32) __ 3160 src/mips/code-stubs-mips.cc __ Branch((result_type_ <= BinaryOpIC::INT32) __ 3169 src/mips/code-stubs-mips.cc __ And(a2, a2, Operand(0x1f)); __ 3170 src/mips/code-stubs-mips.cc __ sllv(a2, a3, a2); __ 3177 src/mips/code-stubs-mips.cc __ Addu(scratch1, a2, Operand(0x40000000)); __ 3179 src/mips/code-stubs-mips.cc __ Branch(&return_heap_number, lt, scratch1, Operand(zero_reg)); __ 3181 src/mips/code-stubs-mips.cc __ SmiTag(v0, a2); __ 3182 src/mips/code-stubs-mips.cc __ Ret(); __ 3184 src/mips/code-stubs-mips.cc __ bind(&return_heap_number); __ 3198 src/mips/code-stubs-mips.cc __ mtc1(a2, double_scratch); __ 3199 src/mips/code-stubs-mips.cc __ cvt_d_w(double_scratch, double_scratch); __ 3202 src/mips/code-stubs-mips.cc __ mtc1(a2, double_scratch); __ 3203 src/mips/code-stubs-mips.cc __ Cvt_d_uw(double_scratch, double_scratch, single_scratch); __ 3207 src/mips/code-stubs-mips.cc __ mov(v0, heap_number_result); __ 3208 src/mips/code-stubs-mips.cc __ sdc1(double_scratch, FieldMemOperand(v0, HeapNumber::kValueOffset)); __ 3209 src/mips/code-stubs-mips.cc __ Ret(); __ 3213 src/mips/code-stubs-mips.cc __ mov(v0, t1); __ 3215 src/mips/code-stubs-mips.cc __ TailCallStub(&stub); __ 3230 src/mips/code-stubs-mips.cc __ bind(&transition); __ 3234 src/mips/code-stubs-mips.cc __ bind(&call_runtime); __ 3250 src/mips/code-stubs-mips.cc __ LoadRoot(t0, Heap::kUndefinedValueRootIndex); __ 3251 src/mips/code-stubs-mips.cc __ Branch(&check, ne, a1, Operand(t0)); __ 3253 src/mips/code-stubs-mips.cc __ li(a1, Operand(Smi::FromInt(0))); __ 3255 src/mips/code-stubs-mips.cc __ LoadRoot(a1, Heap::kNanValueRootIndex); __ 3257 src/mips/code-stubs-mips.cc __ jmp(&done); __ 3258 src/mips/code-stubs-mips.cc __ bind(&check); __ 3259 src/mips/code-stubs-mips.cc __ LoadRoot(t0, Heap::kUndefinedValueRootIndex); __ 3260 src/mips/code-stubs-mips.cc __ Branch(&done, ne, a0, Operand(t0)); __ 3262 src/mips/code-stubs-mips.cc __ li(a0, Operand(Smi::FromInt(0))); __ 3264 src/mips/code-stubs-mips.cc __ LoadRoot(a0, Heap::kNanValueRootIndex); __ 3266 src/mips/code-stubs-mips.cc __ bind(&done); __ 3276 src/mips/code-stubs-mips.cc __ bind(&call_runtime); __ 3288 src/mips/code-stubs-mips.cc __ bind(&call_string_add_or_runtime); __ 3293 src/mips/code-stubs-mips.cc __ bind(&call_runtime); __ 3306 src/mips/code-stubs-mips.cc __ JumpIfSmi(left, &left_not_string); __ 3307 src/mips/code-stubs-mips.cc __ GetObjectType(left, a2, a2); __ 3308 src/mips/code-stubs-mips.cc __ Branch(&left_not_string, ge, a2, Operand(FIRST_NONSTRING_TYPE)); __ 3312 src/mips/code-stubs-mips.cc __ TailCallStub(&string_add_left_stub); __ 3315 src/mips/code-stubs-mips.cc __ bind(&left_not_string); __ 3316 src/mips/code-stubs-mips.cc __ JumpIfSmi(right, &call_runtime); __ 3317 src/mips/code-stubs-mips.cc __ GetObjectType(right, a2, a2); __ 3318 src/mips/code-stubs-mips.cc __ Branch(&call_runtime, ge, a2, Operand(FIRST_NONSTRING_TYPE)); __ 3322 src/mips/code-stubs-mips.cc __ TailCallStub(&string_add_right_stub); __ 3325 src/mips/code-stubs-mips.cc __ bind(&call_runtime); __ 3333 src/mips/code-stubs-mips.cc __ InvokeBuiltin(Builtins::ADD, JUMP_FUNCTION); __ 3336 src/mips/code-stubs-mips.cc __ InvokeBuiltin(Builtins::SUB, JUMP_FUNCTION); __ 3339 src/mips/code-stubs-mips.cc __ InvokeBuiltin(Builtins::MUL, JUMP_FUNCTION); __ 3342 src/mips/code-stubs-mips.cc __ InvokeBuiltin(Builtins::DIV, JUMP_FUNCTION); __ 3345 src/mips/code-stubs-mips.cc __ InvokeBuiltin(Builtins::MOD, JUMP_FUNCTION); __ 3348 src/mips/code-stubs-mips.cc __ InvokeBuiltin(Builtins::BIT_OR, JUMP_FUNCTION); __ 3351 src/mips/code-stubs-mips.cc __ InvokeBuiltin(Builtins::BIT_AND, JUMP_FUNCTION); __ 3354 src/mips/code-stubs-mips.cc __ InvokeBuiltin(Builtins::BIT_XOR, JUMP_FUNCTION); __ 3357 src/mips/code-stubs-mips.cc __ InvokeBuiltin(Builtins::SAR, JUMP_FUNCTION); __ 3360 src/mips/code-stubs-mips.cc __ InvokeBuiltin(Builtins::SHR, JUMP_FUNCTION); __ 3363 src/mips/code-stubs-mips.cc __ InvokeBuiltin(Builtins::SHL, JUMP_FUNCTION); __ 3388 src/mips/code-stubs-mips.cc __ JumpIfNotSmi(overwritable_operand, &skip_allocation); __ 3390 src/mips/code-stubs-mips.cc __ AllocateHeapNumber( __ 3392 src/mips/code-stubs-mips.cc __ Branch(&allocated); __ 3393 src/mips/code-stubs-mips.cc __ bind(&skip_allocation); __ 3395 src/mips/code-stubs-mips.cc __ mov(result, overwritable_operand); __ 3396 src/mips/code-stubs-mips.cc __ bind(&allocated); __ 3399 src/mips/code-stubs-mips.cc __ AllocateHeapNumber( __ 3406 src/mips/code-stubs-mips.cc __ Push(a1, a0); __ 3432 src/mips/code-stubs-mips.cc __ JumpIfNotSmi(a0, &input_not_smi); __ 3436 src/mips/code-stubs-mips.cc __ sra(t0, a0, kSmiTagSize); __ 3437 src/mips/code-stubs-mips.cc __ mtc1(t0, f4); __ 3438 src/mips/code-stubs-mips.cc __ cvt_d_w(f4, f4); __ 3439 src/mips/code-stubs-mips.cc __ Move(a2, a3, f4); __ 3440 src/mips/code-stubs-mips.cc __ Branch(&loaded); __ 3442 src/mips/code-stubs-mips.cc __ bind(&input_not_smi); __ 3444 src/mips/code-stubs-mips.cc __ CheckMap(a0, __ 3451 src/mips/code-stubs-mips.cc __ lw(a2, FieldMemOperand(a0, HeapNumber::kValueOffset)); __ 3452 src/mips/code-stubs-mips.cc __ lw(a3, FieldMemOperand(a0, HeapNumber::kValueOffset + 4)); __ 3455 src/mips/code-stubs-mips.cc __ Move(a2, a3, f4); __ 3457 src/mips/code-stubs-mips.cc __ bind(&loaded); __ 3462 src/mips/code-stubs-mips.cc __ Xor(a1, a2, a3); __ 3463 src/mips/code-stubs-mips.cc __ sra(t0, a1, 16); __ 3464 src/mips/code-stubs-mips.cc __ Xor(a1, a1, t0); __ 3465 src/mips/code-stubs-mips.cc __ sra(t0, a1, 8); __ 3466 src/mips/code-stubs-mips.cc __ Xor(a1, a1, t0); __ 3468 src/mips/code-stubs-mips.cc __ And(a1, a1, Operand(TranscendentalCache::SubCache::kCacheSize - 1)); __ 3473 src/mips/code-stubs-mips.cc __ li(cache_entry, Operand( __ 3477 src/mips/code-stubs-mips.cc __ lw(cache_entry, MemOperand(cache_entry, type_ * sizeof( __ 3481 src/mips/code-stubs-mips.cc __ Branch(&invalid_cache, eq, cache_entry, Operand(zero_reg)); __ 3499 src/mips/code-stubs-mips.cc __ sll(t0, a1, 1); __ 3500 src/mips/code-stubs-mips.cc __ Addu(a1, a1, t0); __ 3501 src/mips/code-stubs-mips.cc __ sll(t0, a1, 2); __ 3502 src/mips/code-stubs-mips.cc __ Addu(cache_entry, cache_entry, t0); __ 3505 src/mips/code-stubs-mips.cc __ lw(t0, MemOperand(cache_entry, 0)); __ 3506 src/mips/code-stubs-mips.cc __ lw(t1, MemOperand(cache_entry, 4)); __ 3507 src/mips/code-stubs-mips.cc __ lw(t2, MemOperand(cache_entry, 8)); __ 3508 src/mips/code-stubs-mips.cc __ Branch(&calculate, ne, a2, Operand(t0)); __ 3509 src/mips/code-stubs-mips.cc __ Branch(&calculate, ne, a3, Operand(t1)); __ 3512 src/mips/code-stubs-mips.cc __ IncrementCounter( __ 3516 src/mips/code-stubs-mips.cc __ Drop(1); __ 3517 src/mips/code-stubs-mips.cc __ mov(v0, t2); __ 3520 src/mips/code-stubs-mips.cc __ ldc1(f4, FieldMemOperand(t2, HeapNumber::kValueOffset)); __ 3522 src/mips/code-stubs-mips.cc __ Ret(); __ 3525 src/mips/code-stubs-mips.cc __ bind(&calculate); __ 3527 src/mips/code-stubs-mips.cc __ IncrementCounter( __ 3530 src/mips/code-stubs-mips.cc __ bind(&invalid_cache); __ 3531 src/mips/code-stubs-mips.cc __ TailCallExternalReference(ExternalReference(RuntimeFunction(), __ 3546 src/mips/code-stubs-mips.cc __ Push(cache_entry, a2, a3); __ 3548 src/mips/code-stubs-mips.cc __ GetCFunctionDoubleResult(f4); __ 3552 src/mips/code-stubs-mips.cc __ Pop(cache_entry, a2, a3); __ 3553 src/mips/code-stubs-mips.cc __ LoadRoot(t1, Heap::kHeapNumberMapRootIndex); __ 3554 src/mips/code-stubs-mips.cc __ AllocateHeapNumber(t2, scratch0, scratch1, t1, &no_update); __ 3555 src/mips/code-stubs-mips.cc __ sdc1(f4, FieldMemOperand(t2, HeapNumber::kValueOffset)); __ 3557 src/mips/code-stubs-mips.cc __ sw(a2, MemOperand(cache_entry, 0 * kPointerSize)); __ 3558 src/mips/code-stubs-mips.cc __ sw(a3, MemOperand(cache_entry, 1 * kPointerSize)); __ 3559 src/mips/code-stubs-mips.cc __ sw(t2, MemOperand(cache_entry, 2 * kPointerSize)); __ 3561 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 3562 src/mips/code-stubs-mips.cc __ mov(v0, cache_entry); __ 3564 src/mips/code-stubs-mips.cc __ bind(&invalid_cache); __ 3567 src/mips/code-stubs-mips.cc __ LoadRoot(t1, Heap::kHeapNumberMapRootIndex); __ 3568 src/mips/code-stubs-mips.cc __ AllocateHeapNumber(a0, scratch0, scratch1, t1, &skip_cache); __ 3569 src/mips/code-stubs-mips.cc __ sdc1(f4, FieldMemOperand(a0, HeapNumber::kValueOffset)); __ 3572 src/mips/code-stubs-mips.cc __ push(a0); __ 3573 src/mips/code-stubs-mips.cc __ CallRuntime(RuntimeFunction(), 1); __ 3575 src/mips/code-stubs-mips.cc __ ldc1(f4, FieldMemOperand(v0, HeapNumber::kValueOffset)); __ 3576 src/mips/code-stubs-mips.cc __ Ret(); __ 3578 src/mips/code-stubs-mips.cc __ bind(&skip_cache); __ 3582 src/mips/code-stubs-mips.cc __ GetCFunctionDoubleResult(f4); __ 3583 src/mips/code-stubs-mips.cc __ bind(&no_update); __ 3592 src/mips/code-stubs-mips.cc __ li(scratch0, Operand(4 * kPointerSize)); __ 3593 src/mips/code-stubs-mips.cc __ push(scratch0); __ 3594 src/mips/code-stubs-mips.cc __ CallRuntimeSaveDoubles(Runtime::kAllocateInNewSpace); __ 3596 src/mips/code-stubs-mips.cc __ Ret(); __ 3603 src/mips/code-stubs-mips.cc __ push(ra); __ 3604 src/mips/code-stubs-mips.cc __ PrepareCallCFunction(2, scratch); __ 3606 src/mips/code-stubs-mips.cc __ Move(a0, a1, f4); __ 3608 src/mips/code-stubs-mips.cc __ mov_d(f12, f4); __ 3614 src/mips/code-stubs-mips.cc __ CallCFunction( __ 3619 src/mips/code-stubs-mips.cc __ CallCFunction( __ 3624 src/mips/code-stubs-mips.cc __ CallCFunction(ExternalReference::math_tan_double_function(isolate), __ 3628 src/mips/code-stubs-mips.cc __ CallCFunction( __ 3636 src/mips/code-stubs-mips.cc __ pop(ra); __ 3655 src/mips/code-stubs-mips.cc __ TailCallRuntime(Runtime::kStackGuard, 0, 1); __ 3660 src/mips/code-stubs-mips.cc __ TailCallRuntime(Runtime::kInterrupt, 0, 1); __ 3684 src/mips/code-stubs-mips.cc __ lw(base, MemOperand(sp, 1 * kPointerSize)); __ 3685 src/mips/code-stubs-mips.cc __ lw(exponent, MemOperand(sp, 0 * kPointerSize)); __ 3687 src/mips/code-stubs-mips.cc __ LoadRoot(heapnumbermap, Heap::kHeapNumberMapRootIndex); __ 3689 src/mips/code-stubs-mips.cc __ UntagAndJumpIfSmi(scratch, base, &base_is_smi); __ 3690 src/mips/code-stubs-mips.cc __ lw(scratch, FieldMemOperand(base, JSObject::kMapOffset)); __ 3691 src/mips/code-stubs-mips.cc __ Branch(&call_runtime, ne, scratch, Operand(heapnumbermap)); __ 3693 src/mips/code-stubs-mips.cc __ ldc1(double_base, FieldMemOperand(base, HeapNumber::kValueOffset)); __ 3694 src/mips/code-stubs-mips.cc __ jmp(&unpack_exponent); __ 3696 src/mips/code-stubs-mips.cc __ bind(&base_is_smi); __ 3697 src/mips/code-stubs-mips.cc __ mtc1(scratch, single_scratch); __ 3698 src/mips/code-stubs-mips.cc __ cvt_d_w(double_base, single_scratch); __ 3699 src/mips/code-stubs-mips.cc __ bind(&unpack_exponent); __ 3701 src/mips/code-stubs-mips.cc __ UntagAndJumpIfSmi(scratch, exponent, &int_exponent); __ 3703 src/mips/code-stubs-mips.cc __ lw(scratch, FieldMemOperand(exponent, JSObject::kMapOffset)); __ 3704 src/mips/code-stubs-mips.cc __ Branch(&call_runtime, ne, scratch, Operand(heapnumbermap)); __ 3705 src/mips/code-stubs-mips.cc __ ldc1(double_exponent, __ 3709 src/mips/code-stubs-mips.cc __ UntagAndJumpIfSmi(scratch, exponent, &int_exponent); __ 3711 src/mips/code-stubs-mips.cc __ ldc1(double_exponent, __ 3718 src/mips/code-stubs-mips.cc __ EmitFPUTruncate(kRoundToMinusInf, __ 3725 src/mips/code-stubs-mips.cc __ Branch(&int_exponent_convert, eq, scratch2, Operand(zero_reg)); __ 3734 src/mips/code-stubs-mips.cc __ Move(double_scratch, 0.5); __ 3735 src/mips/code-stubs-mips.cc __ BranchF(USE_DELAY_SLOT, __ 3744 src/mips/code-stubs-mips.cc __ Move(double_scratch, -V8_INFINITY); __ 3745 src/mips/code-stubs-mips.cc __ BranchF(USE_DELAY_SLOT, &done, NULL, eq, double_base, double_scratch); __ 3746 src/mips/code-stubs-mips.cc __ neg_d(double_result, double_scratch); __ 3749 src/mips/code-stubs-mips.cc __ add_d(double_scratch, double_base, kDoubleRegZero); __ 3750 src/mips/code-stubs-mips.cc __ sqrt_d(double_result, double_scratch); __ 3751 src/mips/code-stubs-mips.cc __ jmp(&done); __ 3753 src/mips/code-stubs-mips.cc __ bind(¬_plus_half); __ 3754 src/mips/code-stubs-mips.cc __ Move(double_scratch, -0.5); __ 3755 src/mips/code-stubs-mips.cc __ BranchF(USE_DELAY_SLOT, __ 3764 src/mips/code-stubs-mips.cc __ Move(double_scratch, -V8_INFINITY); __ 3765 src/mips/code-stubs-mips.cc __ BranchF(USE_DELAY_SLOT, &done, NULL, eq, double_base, double_scratch); __ 3766 src/mips/code-stubs-mips.cc __ Move(double_result, kDoubleRegZero); __ 3769 src/mips/code-stubs-mips.cc __ add_d(double_scratch, double_base, kDoubleRegZero); __ 3770 src/mips/code-stubs-mips.cc __ Move(double_result, 1); __ 3771 src/mips/code-stubs-mips.cc __ sqrt_d(double_scratch, double_scratch); __ 3772 src/mips/code-stubs-mips.cc __ div_d(double_result, double_result, double_scratch); __ 3773 src/mips/code-stubs-mips.cc __ jmp(&done); __ 3776 src/mips/code-stubs-mips.cc __ push(ra); __ 3779 src/mips/code-stubs-mips.cc __ PrepareCallCFunction(0, 2, scratch); __ 3780 src/mips/code-stubs-mips.cc __ SetCallCDoubleArguments(double_base, double_exponent); __ 3781 src/mips/code-stubs-mips.cc __ CallCFunction( __ 3785 src/mips/code-stubs-mips.cc __ pop(ra); __ 3786 src/mips/code-stubs-mips.cc __ GetCFunctionDoubleResult(double_result); __ 3787 src/mips/code-stubs-mips.cc __ jmp(&done); __ 3789 src/mips/code-stubs-mips.cc __ bind(&int_exponent_convert); __ 3790 src/mips/code-stubs-mips.cc __ mfc1(scratch, single_scratch); __ 3794 src/mips/code-stubs-mips.cc __ bind(&int_exponent); __ 3798 src/mips/code-stubs-mips.cc __ mov(scratch, exponent); __ 3801 src/mips/code-stubs-mips.cc __ mov(exponent, scratch); __ 3804 src/mips/code-stubs-mips.cc __ mov_d(double_scratch, double_base); // Back up base. __ 3805 src/mips/code-stubs-mips.cc __ Move(double_result, 1.0); __ 3809 src/mips/code-stubs-mips.cc __ Branch(&positive_exponent, ge, scratch, Operand(zero_reg)); __ 3810 src/mips/code-stubs-mips.cc __ Subu(scratch, zero_reg, scratch); __ 3811 src/mips/code-stubs-mips.cc __ bind(&positive_exponent); __ 3814 src/mips/code-stubs-mips.cc __ bind(&while_true); __ 3816 src/mips/code-stubs-mips.cc __ And(scratch2, scratch, 1); __ 3818 src/mips/code-stubs-mips.cc __ Branch(&no_carry, eq, scratch2, Operand(zero_reg)); __ 3819 src/mips/code-stubs-mips.cc __ mul_d(double_result, double_result, double_scratch); __ 3820 src/mips/code-stubs-mips.cc __ bind(&no_carry); __ 3822 src/mips/code-stubs-mips.cc __ sra(scratch, scratch, 1); __ 3824 src/mips/code-stubs-mips.cc __ Branch(&loop_end, eq, scratch, Operand(zero_reg)); __ 3825 src/mips/code-stubs-mips.cc __ mul_d(double_scratch, double_scratch, double_scratch); __ 3827 src/mips/code-stubs-mips.cc __ Branch(&while_true); __ 3829 src/mips/code-stubs-mips.cc __ bind(&loop_end); __ 3831 src/mips/code-stubs-mips.cc __ Branch(&done, ge, exponent, Operand(zero_reg)); __ 3832 src/mips/code-stubs-mips.cc __ Move(double_scratch, 1.0); __ 3833 src/mips/code-stubs-mips.cc __ div_d(double_result, double_scratch, double_result); __ 3836 src/mips/code-stubs-mips.cc __ BranchF(&done, NULL, ne, double_result, kDoubleRegZero); __ 3840 src/mips/code-stubs-mips.cc __ mtc1(exponent, single_scratch); __ 3841 src/mips/code-stubs-mips.cc __ cvt_d_w(double_exponent, single_scratch); __ 3847 src/mips/code-stubs-mips.cc __ bind(&call_runtime); __ 3848 src/mips/code-stubs-mips.cc __ TailCallRuntime(Runtime::kMath_pow_cfunction, 2, 1); __ 3852 src/mips/code-stubs-mips.cc __ bind(&done); __ 3853 src/mips/code-stubs-mips.cc __ AllocateHeapNumber( __ 3855 src/mips/code-stubs-mips.cc __ sdc1(double_result, __ 3858 src/mips/code-stubs-mips.cc __ IncrementCounter(counters->math_pow(), 1, scratch, scratch2); __ 3859 src/mips/code-stubs-mips.cc __ DropAndRet(2); __ 3861 src/mips/code-stubs-mips.cc __ push(ra); __ 3864 src/mips/code-stubs-mips.cc __ PrepareCallCFunction(0, 2, scratch); __ 3865 src/mips/code-stubs-mips.cc __ SetCallCDoubleArguments(double_base, double_exponent); __ 3866 src/mips/code-stubs-mips.cc __ CallCFunction( __ 3870 src/mips/code-stubs-mips.cc __ pop(ra); __ 3871 src/mips/code-stubs-mips.cc __ GetCFunctionDoubleResult(double_result); __ 3873 src/mips/code-stubs-mips.cc __ bind(&done); __ 3874 src/mips/code-stubs-mips.cc __ IncrementCounter(counters->math_pow(), 1, scratch, scratch2); __ 3875 src/mips/code-stubs-mips.cc __ Ret(); __ 3931 src/mips/code-stubs-mips.cc __ mov(a0, v0); __ 3932 src/mips/code-stubs-mips.cc __ PrepareCallCFunction(1, 0, a1); __ 3933 src/mips/code-stubs-mips.cc __ CallCFunction(ExternalReference::perform_gc_function(isolate), 1, 0); __ 3939 src/mips/code-stubs-mips.cc __ li(a0, Operand(scope_depth)); __ 3940 src/mips/code-stubs-mips.cc __ lw(a1, MemOperand(a0)); __ 3941 src/mips/code-stubs-mips.cc __ Addu(a1, a1, Operand(1)); __ 3942 src/mips/code-stubs-mips.cc __ sw(a1, MemOperand(a0)); __ 3947 src/mips/code-stubs-mips.cc __ mov(a0, s0); __ 3953 src/mips/code-stubs-mips.cc __ AssertStackIsAligned(); __ 3955 src/mips/code-stubs-mips.cc __ li(a2, Operand(ExternalReference::isolate_address())); __ 3992 src/mips/code-stubs-mips.cc __ li(a2, Operand(scope_depth)); __ 3993 src/mips/code-stubs-mips.cc __ lw(a3, MemOperand(a2)); __ 3994 src/mips/code-stubs-mips.cc __ Subu(a3, a3, Operand(1)); __ 3995 src/mips/code-stubs-mips.cc __ sw(a3, MemOperand(a2)); __ 4001 src/mips/code-stubs-mips.cc __ addiu(a2, v0, 1); __ 4002 src/mips/code-stubs-mips.cc __ andi(t0, a2, kFailureTagMask); __ 4003 src/mips/code-stubs-mips.cc __ Branch(USE_DELAY_SLOT, &failure_returned, eq, t0, Operand(zero_reg)); __ 4005 src/mips/code-stubs-mips.cc __ addiu(sp, sp, kCArgsSlotsSize); __ 4012 src/mips/code-stubs-mips.cc __ LeaveExitFrame(save_doubles_, s0, true); __ 4016 src/mips/code-stubs-mips.cc __ bind(&failure_returned); __ 4018 src/mips/code-stubs-mips.cc __ andi(t0, v0, ((1 << kFailureTypeTagSize) - 1) << kFailureTagSize); __ 4019 src/mips/code-stubs-mips.cc __ Branch(&retry, eq, t0, Operand(zero_reg)); __ 4023 src/mips/code-stubs-mips.cc __ Branch(USE_DELAY_SLOT, __ 4032 src/mips/code-stubs-mips.cc __ LoadRoot(a3, Heap::kTheHoleValueRootIndex); __ 4033 src/mips/code-stubs-mips.cc __ li(t0, Operand(ExternalReference(Isolate::kPendingExceptionAddress, __ 4035 src/mips/code-stubs-mips.cc __ lw(v0, MemOperand(t0)); __ 4036 src/mips/code-stubs-mips.cc __ sw(a3, MemOperand(t0)); __ 4040 src/mips/code-stubs-mips.cc __ LoadRoot(t0, Heap::kTerminationExceptionRootIndex); __ 4041 src/mips/code-stubs-mips.cc __ Branch(throw_termination_exception, eq, v0, Operand(t0)); __ 4044 src/mips/code-stubs-mips.cc __ jmp(throw_normal_exception); __ 4046 src/mips/code-stubs-mips.cc __ bind(&retry); __ 4071 src/mips/code-stubs-mips.cc __ Addu(s1, sp, s1); __ 4075 src/mips/code-stubs-mips.cc __ EnterExitFrame(save_doubles_); __ 4103 src/mips/code-stubs-mips.cc __ li(v0, Operand(reinterpret_cast<int32_t>(failure))); __ 4111 src/mips/code-stubs-mips.cc __ bind(&throw_out_of_memory_exception); __ 4116 src/mips/code-stubs-mips.cc __ li(a0, Operand(false, RelocInfo::NONE)); __ 4117 src/mips/code-stubs-mips.cc __ li(a2, Operand(external_caught)); __ 4118 src/mips/code-stubs-mips.cc __ sw(a0, MemOperand(a2)); __ 4122 src/mips/code-stubs-mips.cc __ li(v0, Operand(reinterpret_cast<int32_t>(out_of_memory))); __ 4123 src/mips/code-stubs-mips.cc __ li(a2, Operand(ExternalReference(Isolate::kPendingExceptionAddress, __ 4125 src/mips/code-stubs-mips.cc __ sw(v0, MemOperand(a2)); __ 4128 src/mips/code-stubs-mips.cc __ bind(&throw_termination_exception); __ 4129 src/mips/code-stubs-mips.cc __ ThrowUncatchable(v0); __ 4131 src/mips/code-stubs-mips.cc __ bind(&throw_normal_exception); __ 4132 src/mips/code-stubs-mips.cc __ Throw(v0); __ 4151 src/mips/code-stubs-mips.cc __ MultiPush(kCalleeSaved | ra.bit()); __ 4156 src/mips/code-stubs-mips.cc __ MultiPushFPU(kCalleeSavedFPU); __ 4158 src/mips/code-stubs-mips.cc __ Move(kDoubleRegZero, 0.0); __ 4168 src/mips/code-stubs-mips.cc __ InitializeRootRegister(); __ 4169 src/mips/code-stubs-mips.cc __ lw(s0, MemOperand(sp, offset_to_argv + kCArgsSlotsSize)); __ 4172 src/mips/code-stubs-mips.cc __ li(t3, Operand(-1)); // Push a bad frame pointer to fail if it is used. __ 4174 src/mips/code-stubs-mips.cc __ li(t2, Operand(Smi::FromInt(marker))); __ 4175 src/mips/code-stubs-mips.cc __ li(t1, Operand(Smi::FromInt(marker))); __ 4176 src/mips/code-stubs-mips.cc __ li(t0, Operand(ExternalReference(Isolate::kCEntryFPAddress, __ 4178 src/mips/code-stubs-mips.cc __ lw(t0, MemOperand(t0)); __ 4179 src/mips/code-stubs-mips.cc __ Push(t3, t2, t1, t0); __ 4181 src/mips/code-stubs-mips.cc __ addiu(fp, sp, -EntryFrameConstants::kCallerFPOffset); __ 4202 src/mips/code-stubs-mips.cc __ li(t1, Operand(ExternalReference(js_entry_sp))); __ 4203 src/mips/code-stubs-mips.cc __ lw(t2, MemOperand(t1)); __ 4204 src/mips/code-stubs-mips.cc __ Branch(&non_outermost_js, ne, t2, Operand(zero_reg)); __ 4205 src/mips/code-stubs-mips.cc __ sw(fp, MemOperand(t1)); __ 4206 src/mips/code-stubs-mips.cc __ li(t0, Operand(Smi::FromInt(StackFrame::OUTERMOST_JSENTRY_FRAME))); __ 4208 src/mips/code-stubs-mips.cc __ b(&cont); __ 4209 src/mips/code-stubs-mips.cc __ nop(); // Branch delay slot nop. __ 4210 src/mips/code-stubs-mips.cc __ bind(&non_outermost_js); __ 4211 src/mips/code-stubs-mips.cc __ li(t0, Operand(Smi::FromInt(StackFrame::INNER_JSENTRY_FRAME))); __ 4212 src/mips/code-stubs-mips.cc __ bind(&cont); __ 4213 src/mips/code-stubs-mips.cc __ push(t0); __ 4217 src/mips/code-stubs-mips.cc __ jmp(&invoke); __ 4218 src/mips/code-stubs-mips.cc __ bind(&handler_entry); __ 4224 src/mips/code-stubs-mips.cc __ li(t0, Operand(ExternalReference(Isolate::kPendingExceptionAddress, __ 4226 src/mips/code-stubs-mips.cc __ sw(v0, MemOperand(t0)); // We come back from 'invoke'. result is in v0. __ 4227 src/mips/code-stubs-mips.cc __ li(v0, Operand(reinterpret_cast<int32_t>(Failure::Exception()))); __ 4228 src/mips/code-stubs-mips.cc __ b(&exit); // b exposes branch delay slot. __ 4229 src/mips/code-stubs-mips.cc __ nop(); // Branch delay slot nop. __ 4233 src/mips/code-stubs-mips.cc __ bind(&invoke); __ 4234 src/mips/code-stubs-mips.cc __ PushTryHandler(StackHandler::JS_ENTRY, 0); __ 4241 src/mips/code-stubs-mips.cc __ LoadRoot(t1, Heap::kTheHoleValueRootIndex); __ 4242 src/mips/code-stubs-mips.cc __ li(t0, Operand(ExternalReference(Isolate::kPendingExceptionAddress, __ 4244 src/mips/code-stubs-mips.cc __ sw(t1, MemOperand(t0)); __ 4267 src/mips/code-stubs-mips.cc __ li(t0, Operand(construct_entry)); __ 4270 src/mips/code-stubs-mips.cc __ li(t0, Operand(entry)); __ 4272 src/mips/code-stubs-mips.cc __ lw(t9, MemOperand(t0)); // Deref address. __ 4275 src/mips/code-stubs-mips.cc __ addiu(t9, t9, Code::kHeaderSize - kHeapObjectTag); __ 4276 src/mips/code-stubs-mips.cc __ Call(t9); __ 4279 src/mips/code-stubs-mips.cc __ PopTryHandler(); __ 4281 src/mips/code-stubs-mips.cc __ bind(&exit); // v0 holds result __ 4284 src/mips/code-stubs-mips.cc __ pop(t1); __ 4285 src/mips/code-stubs-mips.cc __ Branch(&non_outermost_js_2, __ 4289 src/mips/code-stubs-mips.cc __ li(t1, Operand(ExternalReference(js_entry_sp))); __ 4290 src/mips/code-stubs-mips.cc __ sw(zero_reg, MemOperand(t1)); __ 4291 src/mips/code-stubs-mips.cc __ bind(&non_outermost_js_2); __ 4294 src/mips/code-stubs-mips.cc __ pop(t1); __ 4295 src/mips/code-stubs-mips.cc __ li(t0, Operand(ExternalReference(Isolate::kCEntryFPAddress, __ 4297 src/mips/code-stubs-mips.cc __ sw(t1, MemOperand(t0)); __ 4300 src/mips/code-stubs-mips.cc __ addiu(sp, sp, -EntryFrameConstants::kCallerFPOffset); __ 4305 src/mips/code-stubs-mips.cc __ MultiPopFPU(kCalleeSavedFPU); __ 4309 src/mips/code-stubs-mips.cc __ MultiPop(kCalleeSaved | ra.bit()); __ 4311 src/mips/code-stubs-mips.cc __ Jump(ra); __ 4342 src/mips/code-stubs-mips.cc __ lw(object, MemOperand(sp, 1 * kPointerSize)); __ 4343 src/mips/code-stubs-mips.cc __ lw(function, MemOperand(sp, 0)); __ 4347 src/mips/code-stubs-mips.cc __ JumpIfSmi(object, ¬_js_object); __ 4348 src/mips/code-stubs-mips.cc __ IsObjectJSObjectType(object, map, scratch, ¬_js_object); __ 4354 src/mips/code-stubs-mips.cc __ LoadRoot(at, Heap::kInstanceofCacheFunctionRootIndex); __ 4355 src/mips/code-stubs-mips.cc __ Branch(&miss, ne, function, Operand(at)); __ 4356 src/mips/code-stubs-mips.cc __ LoadRoot(at, Heap::kInstanceofCacheMapRootIndex); __ 4357 src/mips/code-stubs-mips.cc __ Branch(&miss, ne, map, Operand(at)); __ 4358 src/mips/code-stubs-mips.cc __ LoadRoot(v0, Heap::kInstanceofCacheAnswerRootIndex); __ 4359 src/mips/code-stubs-mips.cc __ DropAndRet(HasArgsInRegisters() ? 0 : 2); __ 4361 src/mips/code-stubs-mips.cc __ bind(&miss); __ 4365 src/mips/code-stubs-mips.cc __ TryGetFunctionPrototype(function, prototype, scratch, &slow, true); __ 4368 src/mips/code-stubs-mips.cc __ JumpIfSmi(prototype, &slow); __ 4369 src/mips/code-stubs-mips.cc __ IsObjectJSObjectType(prototype, scratch, scratch, &slow); __ 4374 src/mips/code-stubs-mips.cc __ StoreRoot(function, Heap::kInstanceofCacheFunctionRootIndex); __ 4375 src/mips/code-stubs-mips.cc __ StoreRoot(map, Heap::kInstanceofCacheMapRootIndex); __ 4382 src/mips/code-stubs-mips.cc __ LoadFromSafepointRegisterSlot(scratch, t0); __ 4383 src/mips/code-stubs-mips.cc __ Subu(inline_site, ra, scratch); __ 4385 src/mips/code-stubs-mips.cc __ GetRelocatedValue(inline_site, scratch, v1); // v1 used as scratch. __ 4386 src/mips/code-stubs-mips.cc __ sw(map, FieldMemOperand(scratch, JSGlobalPropertyCell::kValueOffset)); __ 4391 src/mips/code-stubs-mips.cc __ lw(scratch, FieldMemOperand(map, Map::kPrototypeOffset)); __ 4398 src/mips/code-stubs-mips.cc __ LoadRoot(scratch2, Heap::kNullValueRootIndex); __ 4399 src/mips/code-stubs-mips.cc __ bind(&loop); __ 4400 src/mips/code-stubs-mips.cc __ Branch(&is_instance, eq, scratch, Operand(prototype)); __ 4401 src/mips/code-stubs-mips.cc __ Branch(&is_not_instance, eq, scratch, Operand(scratch2)); __ 4402 src/mips/code-stubs-mips.cc __ lw(scratch, FieldMemOperand(scratch, HeapObject::kMapOffset)); __ 4403 src/mips/code-stubs-mips.cc __ lw(scratch, FieldMemOperand(scratch, Map::kPrototypeOffset)); __ 4404 src/mips/code-stubs-mips.cc __ Branch(&loop); __ 4406 src/mips/code-stubs-mips.cc __ bind(&is_instance); __ 4409 src/mips/code-stubs-mips.cc __ mov(v0, zero_reg); __ 4410 src/mips/code-stubs-mips.cc __ StoreRoot(v0, Heap::kInstanceofCacheAnswerRootIndex); __ 4413 src/mips/code-stubs-mips.cc __ LoadRoot(v0, Heap::kTrueValueRootIndex); __ 4414 src/mips/code-stubs-mips.cc __ Addu(inline_site, inline_site, Operand(kDeltaToLoadBoolResult)); __ 4416 src/mips/code-stubs-mips.cc __ PatchRelocatedValue(inline_site, scratch, v0); __ 4420 src/mips/code-stubs-mips.cc __ mov(v0, zero_reg); __ 4423 src/mips/code-stubs-mips.cc __ DropAndRet(HasArgsInRegisters() ? 0 : 2); __ 4425 src/mips/code-stubs-mips.cc __ bind(&is_not_instance); __ 4427 src/mips/code-stubs-mips.cc __ li(v0, Operand(Smi::FromInt(1))); __ 4428 src/mips/code-stubs-mips.cc __ StoreRoot(v0, Heap::kInstanceofCacheAnswerRootIndex); __ 4431 src/mips/code-stubs-mips.cc __ LoadRoot(v0, Heap::kFalseValueRootIndex); __ 4432 src/mips/code-stubs-mips.cc __ Addu(inline_site, inline_site, Operand(kDeltaToLoadBoolResult)); __ 4434 src/mips/code-stubs-mips.cc __ PatchRelocatedValue(inline_site, scratch, v0); __ 4437 src/mips/code-stubs-mips.cc __ li(v0, Operand(Smi::FromInt(1))); __ 4441 src/mips/code-stubs-mips.cc __ DropAndRet(HasArgsInRegisters() ? 0 : 2); __ 4444 src/mips/code-stubs-mips.cc __ bind(¬_js_object); __ 4447 src/mips/code-stubs-mips.cc __ JumpIfSmi(function, &slow); __ 4448 src/mips/code-stubs-mips.cc __ GetObjectType(function, scratch2, scratch); __ 4449 src/mips/code-stubs-mips.cc __ Branch(&slow, ne, scratch, Operand(JS_FUNCTION_TYPE)); __ 4452 src/mips/code-stubs-mips.cc __ Branch(&object_not_null, __ 4456 src/mips/code-stubs-mips.cc __ li(v0, Operand(Smi::FromInt(1))); __ 4457 src/mips/code-stubs-mips.cc __ DropAndRet(HasArgsInRegisters() ? 0 : 2); __ 4459 src/mips/code-stubs-mips.cc __ bind(&object_not_null); __ 4461 src/mips/code-stubs-mips.cc __ JumpIfNotSmi(object, &object_not_null_or_smi); __ 4462 src/mips/code-stubs-mips.cc __ li(v0, Operand(Smi::FromInt(1))); __ 4463 src/mips/code-stubs-mips.cc __ DropAndRet(HasArgsInRegisters() ? 0 : 2); __ 4465 src/mips/code-stubs-mips.cc __ bind(&object_not_null_or_smi); __ 4467 src/mips/code-stubs-mips.cc __ IsObjectJSStringType(object, scratch, &slow); __ 4468 src/mips/code-stubs-mips.cc __ li(v0, Operand(Smi::FromInt(1))); __ 4469 src/mips/code-stubs-mips.cc __ DropAndRet(HasArgsInRegisters() ? 0 : 2); __ 4472 src/mips/code-stubs-mips.cc __ bind(&slow); __ 4475 src/mips/code-stubs-mips.cc __ Push(a0, a1); __ 4477 src/mips/code-stubs-mips.cc __ InvokeBuiltin(Builtins::INSTANCE_OF, JUMP_FUNCTION); __ 4481 src/mips/code-stubs-mips.cc __ Push(a0, a1); __ 4482 src/mips/code-stubs-mips.cc __ InvokeBuiltin(Builtins::INSTANCE_OF, CALL_FUNCTION); __ 4484 src/mips/code-stubs-mips.cc __ mov(a0, v0); __ 4485 src/mips/code-stubs-mips.cc __ LoadRoot(v0, Heap::kTrueValueRootIndex); __ 4486 src/mips/code-stubs-mips.cc __ DropAndRet(HasArgsInRegisters() ? 0 : 2, eq, a0, Operand(zero_reg)); __ 4487 src/mips/code-stubs-mips.cc __ LoadRoot(v0, Heap::kFalseValueRootIndex); __ 4488 src/mips/code-stubs-mips.cc __ DropAndRet(HasArgsInRegisters() ? 0 : 2); __ 4507 src/mips/code-stubs-mips.cc __ JumpIfNotSmi(a1, &slow); __ 4511 src/mips/code-stubs-mips.cc __ lw(a2, MemOperand(fp, StandardFrameConstants::kCallerFPOffset)); __ 4512 src/mips/code-stubs-mips.cc __ lw(a3, MemOperand(a2, StandardFrameConstants::kContextOffset)); __ 4513 src/mips/code-stubs-mips.cc __ Branch(&adaptor, __ 4521 src/mips/code-stubs-mips.cc __ Branch(&slow, hs, a1, Operand(a0)); __ 4524 src/mips/code-stubs-mips.cc __ subu(a3, a0, a1); __ 4525 src/mips/code-stubs-mips.cc __ sll(t3, a3, kPointerSizeLog2 - kSmiTagSize); __ 4526 src/mips/code-stubs-mips.cc __ Addu(a3, fp, Operand(t3)); __ 4527 src/mips/code-stubs-mips.cc __ lw(v0, MemOperand(a3, kDisplacement)); __ 4528 src/mips/code-stubs-mips.cc __ Ret(); __ 4533 src/mips/code-stubs-mips.cc __ bind(&adaptor); __ 4534 src/mips/code-stubs-mips.cc __ lw(a0, MemOperand(a2, ArgumentsAdaptorFrameConstants::kLengthOffset)); __ 4535 src/mips/code-stubs-mips.cc __ Branch(&slow, Ugreater_equal, a1, Operand(a0)); __ 4538 src/mips/code-stubs-mips.cc __ subu(a3, a0, a1); __ 4539 src/mips/code-stubs-mips.cc __ sll(t3, a3, kPointerSizeLog2 - kSmiTagSize); __ 4540 src/mips/code-stubs-mips.cc __ Addu(a3, a2, Operand(t3)); __ 4541 src/mips/code-stubs-mips.cc __ lw(v0, MemOperand(a3, kDisplacement)); __ 4542 src/mips/code-stubs-mips.cc __ Ret(); __ 4546 src/mips/code-stubs-mips.cc __ bind(&slow); __ 4547 src/mips/code-stubs-mips.cc __ push(a1); __ 4548 src/mips/code-stubs-mips.cc __ TailCallRuntime(Runtime::kGetArgumentsProperty, 1, 1); __ 4558 src/mips/code-stubs-mips.cc __ lw(a3, MemOperand(fp, StandardFrameConstants::kCallerFPOffset)); __ 4559 src/mips/code-stubs-mips.cc __ lw(a2, MemOperand(a3, StandardFrameConstants::kContextOffset)); __ 4560 src/mips/code-stubs-mips.cc __ Branch(&runtime, __ 4566 src/mips/code-stubs-mips.cc __ lw(a2, MemOperand(a3, ArgumentsAdaptorFrameConstants::kLengthOffset)); __ 4567 src/mips/code-stubs-mips.cc __ sw(a2, MemOperand(sp, 0 * kPointerSize)); __ 4568 src/mips/code-stubs-mips.cc __ sll(t3, a2, 1); __ 4569 src/mips/code-stubs-mips.cc __ Addu(a3, a3, Operand(t3)); __ 4570 src/mips/code-stubs-mips.cc __ addiu(a3, a3, StandardFrameConstants::kCallerSPOffset); __ 4571 src/mips/code-stubs-mips.cc __ sw(a3, MemOperand(sp, 1 * kPointerSize)); __ 4573 src/mips/code-stubs-mips.cc __ bind(&runtime); __ 4574 src/mips/code-stubs-mips.cc __ TailCallRuntime(Runtime::kNewArgumentsFast, 3, 1); __ 4587 src/mips/code-stubs-mips.cc __ lw(a1, MemOperand(sp, 0 * kPointerSize)); __ 4593 src/mips/code-stubs-mips.cc __ lw(a3, MemOperand(fp, StandardFrameConstants::kCallerFPOffset)); __ 4594 src/mips/code-stubs-mips.cc __ lw(a2, MemOperand(a3, StandardFrameConstants::kContextOffset)); __ 4595 src/mips/code-stubs-mips.cc __ Branch(&adaptor_frame, __ 4601 src/mips/code-stubs-mips.cc __ mov(a2, a1); __ 4602 src/mips/code-stubs-mips.cc __ b(&try_allocate); __ 4603 src/mips/code-stubs-mips.cc __ nop(); // Branch delay slot nop. __ 4606 src/mips/code-stubs-mips.cc __ bind(&adaptor_frame); __ 4607 src/mips/code-stubs-mips.cc __ lw(a2, MemOperand(a3, ArgumentsAdaptorFrameConstants::kLengthOffset)); __ 4608 src/mips/code-stubs-mips.cc __ sll(t6, a2, 1); __ 4609 src/mips/code-stubs-mips.cc __ Addu(a3, a3, Operand(t6)); __ 4610 src/mips/code-stubs-mips.cc __ Addu(a3, a3, Operand(StandardFrameConstants::kCallerSPOffset)); __ 4611 src/mips/code-stubs-mips.cc __ sw(a3, MemOperand(sp, 1 * kPointerSize)); __ 4617 src/mips/code-stubs-mips.cc __ Branch(&skip_min, lt, a1, Operand(a2)); __ 4618 src/mips/code-stubs-mips.cc __ mov(a1, a2); __ 4619 src/mips/code-stubs-mips.cc __ bind(&skip_min); __ 4621 src/mips/code-stubs-mips.cc __ bind(&try_allocate); __ 4630 src/mips/code-stubs-mips.cc __ Branch(USE_DELAY_SLOT, ¶m_map_size, eq, a1, Operand(zero_reg)); __ 4631 src/mips/code-stubs-mips.cc __ mov(t5, zero_reg); // In delay slot: param map size = 0 when a1 == 0. __ 4632 src/mips/code-stubs-mips.cc __ sll(t5, a1, 1); __ 4633 src/mips/code-stubs-mips.cc __ addiu(t5, t5, kParameterMapHeaderSize); __ 4634 src/mips/code-stubs-mips.cc __ bind(¶m_map_size); __ 4637 src/mips/code-stubs-mips.cc __ sll(t6, a2, 1); __ 4638 src/mips/code-stubs-mips.cc __ Addu(t5, t5, Operand(t6)); __ 4639 src/mips/code-stubs-mips.cc __ Addu(t5, t5, Operand(FixedArray::kHeaderSize)); __ 4642 src/mips/code-stubs-mips.cc __ Addu(t5, t5, Operand(Heap::kArgumentsObjectSize)); __ 4645 src/mips/code-stubs-mips.cc __ AllocateInNewSpace(t5, v0, a3, t0, &runtime, TAG_OBJECT); __ 4655 src/mips/code-stubs-mips.cc __ lw(t0, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 4656 src/mips/code-stubs-mips.cc __ lw(t0, FieldMemOperand(t0, GlobalObject::kGlobalContextOffset)); __ 4658 src/mips/code-stubs-mips.cc __ Branch(&skip2_ne, ne, a1, Operand(zero_reg)); __ 4659 src/mips/code-stubs-mips.cc __ lw(t0, MemOperand(t0, kNormalOffset)); __ 4660 src/mips/code-stubs-mips.cc __ bind(&skip2_ne); __ 4662 src/mips/code-stubs-mips.cc __ Branch(&skip2_eq, eq, a1, Operand(zero_reg)); __ 4663 src/mips/code-stubs-mips.cc __ lw(t0, MemOperand(t0, kAliasedOffset)); __ 4664 src/mips/code-stubs-mips.cc __ bind(&skip2_eq); __ 4672 src/mips/code-stubs-mips.cc __ lw(a3, FieldMemOperand(t0, i)); __ 4673 src/mips/code-stubs-mips.cc __ sw(a3, FieldMemOperand(v0, i)); __ 4678 src/mips/code-stubs-mips.cc __ lw(a3, MemOperand(sp, 2 * kPointerSize)); __ 4681 src/mips/code-stubs-mips.cc __ sw(a3, FieldMemOperand(v0, kCalleeOffset)); __ 4687 src/mips/code-stubs-mips.cc __ sw(a2, FieldMemOperand(v0, kLengthOffset)); __ 4692 src/mips/code-stubs-mips.cc __ Addu(t0, v0, Operand(Heap::kArgumentsObjectSize)); __ 4693 src/mips/code-stubs-mips.cc __ sw(t0, FieldMemOperand(v0, JSObject::kElementsOffset)); __ 4702 src/mips/code-stubs-mips.cc __ Branch(&skip3, ne, a1, Operand(Smi::FromInt(0))); __ 4705 src/mips/code-stubs-mips.cc __ mov(a3, t0); __ 4706 src/mips/code-stubs-mips.cc __ bind(&skip3); __ 4708 src/mips/code-stubs-mips.cc __ Branch(&skip_parameter_map, eq, a1, Operand(Smi::FromInt(0))); __ 4710 src/mips/code-stubs-mips.cc __ LoadRoot(t2, Heap::kNonStrictArgumentsElementsMapRootIndex); __ 4711 src/mips/code-stubs-mips.cc __ sw(t2, FieldMemOperand(t0, FixedArray::kMapOffset)); __ 4712 src/mips/code-stubs-mips.cc __ Addu(t2, a1, Operand(Smi::FromInt(2))); __ 4713 src/mips/code-stubs-mips.cc __ sw(t2, FieldMemOperand(t0, FixedArray::kLengthOffset)); __ 4714 src/mips/code-stubs-mips.cc __ sw(cp, FieldMemOperand(t0, FixedArray::kHeaderSize + 0 * kPointerSize)); __ 4715 src/mips/code-stubs-mips.cc __ sll(t6, a1, 1); __ 4716 src/mips/code-stubs-mips.cc __ Addu(t2, t0, Operand(t6)); __ 4717 src/mips/code-stubs-mips.cc __ Addu(t2, t2, Operand(kParameterMapHeaderSize)); __ 4718 src/mips/code-stubs-mips.cc __ sw(t2, FieldMemOperand(t0, FixedArray::kHeaderSize + 1 * kPointerSize)); __ 4729 src/mips/code-stubs-mips.cc __ mov(t2, a1); __ 4730 src/mips/code-stubs-mips.cc __ lw(t5, MemOperand(sp, 0 * kPointerSize)); __ 4731 src/mips/code-stubs-mips.cc __ Addu(t5, t5, Operand(Smi::FromInt(Context::MIN_CONTEXT_SLOTS))); __ 4732 src/mips/code-stubs-mips.cc __ Subu(t5, t5, Operand(a1)); __ 4733 src/mips/code-stubs-mips.cc __ LoadRoot(t3, Heap::kTheHoleValueRootIndex); __ 4734 src/mips/code-stubs-mips.cc __ sll(t6, t2, 1); __ 4735 src/mips/code-stubs-mips.cc __ Addu(a3, t0, Operand(t6)); __ 4736 src/mips/code-stubs-mips.cc __ Addu(a3, a3, Operand(kParameterMapHeaderSize)); __ 4744 src/mips/code-stubs-mips.cc __ jmp(¶meters_test); __ 4746 src/mips/code-stubs-mips.cc __ bind(¶meters_loop); __ 4747 src/mips/code-stubs-mips.cc __ Subu(t2, t2, Operand(Smi::FromInt(1))); __ 4748 src/mips/code-stubs-mips.cc __ sll(t1, t2, 1); __ 4749 src/mips/code-stubs-mips.cc __ Addu(t1, t1, Operand(kParameterMapHeaderSize - kHeapObjectTag)); __ 4750 src/mips/code-stubs-mips.cc __ Addu(t6, t0, t1); __ 4751 src/mips/code-stubs-mips.cc __ sw(t5, MemOperand(t6)); __ 4752 src/mips/code-stubs-mips.cc __ Subu(t1, t1, Operand(kParameterMapHeaderSize - FixedArray::kHeaderSize)); __ 4753 src/mips/code-stubs-mips.cc __ Addu(t6, a3, t1); __ 4754 src/mips/code-stubs-mips.cc __ sw(t3, MemOperand(t6)); __ 4755 src/mips/code-stubs-mips.cc __ Addu(t5, t5, Operand(Smi::FromInt(1))); __ 4756 src/mips/code-stubs-mips.cc __ bind(¶meters_test); __ 4757 src/mips/code-stubs-mips.cc __ Branch(¶meters_loop, ne, t2, Operand(Smi::FromInt(0))); __ 4759 src/mips/code-stubs-mips.cc __ bind(&skip_parameter_map); __ 4764 src/mips/code-stubs-mips.cc __ LoadRoot(t1, Heap::kFixedArrayMapRootIndex); __ 4765 src/mips/code-stubs-mips.cc __ sw(t1, FieldMemOperand(a3, FixedArray::kMapOffset)); __ 4766 src/mips/code-stubs-mips.cc __ sw(a2, FieldMemOperand(a3, FixedArray::kLengthOffset)); __ 4769 src/mips/code-stubs-mips.cc __ mov(t5, a1); __ 4770 src/mips/code-stubs-mips.cc __ lw(t0, MemOperand(sp, 1 * kPointerSize)); __ 4771 src/mips/code-stubs-mips.cc __ sll(t6, t5, 1); __ 4772 src/mips/code-stubs-mips.cc __ Subu(t0, t0, Operand(t6)); __ 4773 src/mips/code-stubs-mips.cc __ jmp(&arguments_test); __ 4775 src/mips/code-stubs-mips.cc __ bind(&arguments_loop); __ 4776 src/mips/code-stubs-mips.cc __ Subu(t0, t0, Operand(kPointerSize)); __ 4777 src/mips/code-stubs-mips.cc __ lw(t2, MemOperand(t0, 0)); __ 4778 src/mips/code-stubs-mips.cc __ sll(t6, t5, 1); __ 4779 src/mips/code-stubs-mips.cc __ Addu(t1, a3, Operand(t6)); __ 4780 src/mips/code-stubs-mips.cc __ sw(t2, FieldMemOperand(t1, FixedArray::kHeaderSize)); __ 4781 src/mips/code-stubs-mips.cc __ Addu(t5, t5, Operand(Smi::FromInt(1))); __ 4783 src/mips/code-stubs-mips.cc __ bind(&arguments_test); __ 4784 src/mips/code-stubs-mips.cc __ Branch(&arguments_loop, lt, t5, Operand(a2)); __ 4787 src/mips/code-stubs-mips.cc __ DropAndRet(3); __ 4791 src/mips/code-stubs-mips.cc __ bind(&runtime); __ 4792 src/mips/code-stubs-mips.cc __ sw(a2, MemOperand(sp, 0 * kPointerSize)); // Patch argument count. __ 4793 src/mips/code-stubs-mips.cc __ TailCallRuntime(Runtime::kNewArgumentsFast, 3, 1); __ 4803 src/mips/code-stubs-mips.cc __ lw(a2, MemOperand(fp, StandardFrameConstants::kCallerFPOffset)); __ 4804 src/mips/code-stubs-mips.cc __ lw(a3, MemOperand(a2, StandardFrameConstants::kContextOffset)); __ 4805 src/mips/code-stubs-mips.cc __ Branch(&adaptor_frame, __ 4811 src/mips/code-stubs-mips.cc __ lw(a1, MemOperand(sp, 0)); __ 4812 src/mips/code-stubs-mips.cc __ Branch(&try_allocate); __ 4815 src/mips/code-stubs-mips.cc __ bind(&adaptor_frame); __ 4816 src/mips/code-stubs-mips.cc __ lw(a1, MemOperand(a2, ArgumentsAdaptorFrameConstants::kLengthOffset)); __ 4817 src/mips/code-stubs-mips.cc __ sw(a1, MemOperand(sp, 0)); __ 4818 src/mips/code-stubs-mips.cc __ sll(at, a1, kPointerSizeLog2 - kSmiTagSize); __ 4819 src/mips/code-stubs-mips.cc __ Addu(a3, a2, Operand(at)); __ 4821 src/mips/code-stubs-mips.cc __ Addu(a3, a3, Operand(StandardFrameConstants::kCallerSPOffset)); __ 4822 src/mips/code-stubs-mips.cc __ sw(a3, MemOperand(sp, 1 * kPointerSize)); __ 4827 src/mips/code-stubs-mips.cc __ bind(&try_allocate); __ 4828 src/mips/code-stubs-mips.cc __ Branch(&add_arguments_object, eq, a1, Operand(zero_reg)); __ 4829 src/mips/code-stubs-mips.cc __ srl(a1, a1, kSmiTagSize); __ 4831 src/mips/code-stubs-mips.cc __ Addu(a1, a1, Operand(FixedArray::kHeaderSize / kPointerSize)); __ 4832 src/mips/code-stubs-mips.cc __ bind(&add_arguments_object); __ 4833 src/mips/code-stubs-mips.cc __ Addu(a1, a1, Operand(Heap::kArgumentsObjectSizeStrict / kPointerSize)); __ 4836 src/mips/code-stubs-mips.cc __ AllocateInNewSpace(a1, __ 4845 src/mips/code-stubs-mips.cc __ lw(t0, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 4846 src/mips/code-stubs-mips.cc __ lw(t0, FieldMemOperand(t0, GlobalObject::kGlobalContextOffset)); __ 4847 src/mips/code-stubs-mips.cc __ lw(t0, MemOperand(t0, Context::SlotOffset( __ 4851 src/mips/code-stubs-mips.cc __ CopyFields(v0, t0, a3.bit(), JSObject::kHeaderSize / kPointerSize); __ 4855 src/mips/code-stubs-mips.cc __ lw(a1, MemOperand(sp, 0 * kPointerSize)); __ 4856 src/mips/code-stubs-mips.cc __ sw(a1, FieldMemOperand(v0, JSObject::kHeaderSize + __ 4860 src/mips/code-stubs-mips.cc __ Branch(&done, eq, a1, Operand(zero_reg)); __ 4863 src/mips/code-stubs-mips.cc __ lw(a2, MemOperand(sp, 1 * kPointerSize)); __ 4867 src/mips/code-stubs-mips.cc __ Addu(t0, v0, Operand(Heap::kArgumentsObjectSizeStrict)); __ 4868 src/mips/code-stubs-mips.cc __ sw(t0, FieldMemOperand(v0, JSObject::kElementsOffset)); __ 4869 src/mips/code-stubs-mips.cc __ LoadRoot(a3, Heap::kFixedArrayMapRootIndex); __ 4870 src/mips/code-stubs-mips.cc __ sw(a3, FieldMemOperand(t0, FixedArray::kMapOffset)); __ 4871 src/mips/code-stubs-mips.cc __ sw(a1, FieldMemOperand(t0, FixedArray::kLengthOffset)); __ 4873 src/mips/code-stubs-mips.cc __ srl(a1, a1, kSmiTagSize); __ 4878 src/mips/code-stubs-mips.cc __ Addu(t0, t0, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 4879 src/mips/code-stubs-mips.cc __ bind(&loop); __ 4882 src/mips/code-stubs-mips.cc __ Addu(a2, a2, Operand(-kPointerSize)); __ 4883 src/mips/code-stubs-mips.cc __ lw(a3, MemOperand(a2)); __ 4885 src/mips/code-stubs-mips.cc __ sw(a3, MemOperand(t0)); __ 4886 src/mips/code-stubs-mips.cc __ Addu(t0, t0, Operand(kPointerSize)); __ 4887 src/mips/code-stubs-mips.cc __ Subu(a1, a1, Operand(1)); __ 4888 src/mips/code-stubs-mips.cc __ Branch(&loop, ne, a1, Operand(zero_reg)); __ 4891 src/mips/code-stubs-mips.cc __ bind(&done); __ 4892 src/mips/code-stubs-mips.cc __ DropAndRet(3); __ 4895 src/mips/code-stubs-mips.cc __ bind(&runtime); __ 4896 src/mips/code-stubs-mips.cc __ TailCallRuntime(Runtime::kNewStrictArgumentsFast, 3, 1); __ 4905 src/mips/code-stubs-mips.cc __ TailCallRuntime(Runtime::kRegExpExec, 4, 1); __ 4939 src/mips/code-stubs-mips.cc __ li(a0, Operand(address_of_regexp_stack_memory_size)); __ 4940 src/mips/code-stubs-mips.cc __ lw(a0, MemOperand(a0, 0)); __ 4941 src/mips/code-stubs-mips.cc __ Branch(&runtime, eq, a0, Operand(zero_reg)); __ 4944 src/mips/code-stubs-mips.cc __ lw(a0, MemOperand(sp, kJSRegExpOffset)); __ 4946 src/mips/code-stubs-mips.cc __ JumpIfSmi(a0, &runtime); __ 4947 src/mips/code-stubs-mips.cc __ GetObjectType(a0, a1, a1); __ 4948 src/mips/code-stubs-mips.cc __ Branch(&runtime, ne, a1, Operand(JS_REGEXP_TYPE)); __ 4951 src/mips/code-stubs-mips.cc __ lw(regexp_data, FieldMemOperand(a0, JSRegExp::kDataOffset)); __ 4953 src/mips/code-stubs-mips.cc __ And(t0, regexp_data, Operand(kSmiTagMask)); __ 4954 src/mips/code-stubs-mips.cc __ Check(nz, __ 4958 src/mips/code-stubs-mips.cc __ GetObjectType(regexp_data, a0, a0); __ 4959 src/mips/code-stubs-mips.cc __ Check(eq, __ 4967 src/mips/code-stubs-mips.cc __ lw(a0, FieldMemOperand(regexp_data, JSRegExp::kDataTagOffset)); __ 4968 src/mips/code-stubs-mips.cc __ Branch(&runtime, ne, a0, Operand(Smi::FromInt(JSRegExp::IRREGEXP))); __ 4972 src/mips/code-stubs-mips.cc __ lw(a2, __ 4978 src/mips/code-stubs-mips.cc __ Addu(a2, a2, Operand(2)); // a2 was a smi. __ 4980 src/mips/code-stubs-mips.cc __ Branch(&runtime, hi, a2, Operand(OffsetsVector::kStaticOffsetsVectorSize)); __ 4985 src/mips/code-stubs-mips.cc __ lw(subject, MemOperand(sp, kSubjectOffset)); __ 4986 src/mips/code-stubs-mips.cc __ JumpIfSmi(subject, &runtime); __ 4987 src/mips/code-stubs-mips.cc __ GetObjectType(subject, a0, a0); __ 4988 src/mips/code-stubs-mips.cc __ And(a0, a0, Operand(kIsNotStringMask)); __ 4990 src/mips/code-stubs-mips.cc __ Branch(&runtime, ne, a0, Operand(zero_reg)); __ 4993 src/mips/code-stubs-mips.cc __ lw(a3, FieldMemOperand(subject, String::kLengthOffset)); __ 5001 src/mips/code-stubs-mips.cc __ lw(a0, MemOperand(sp, kPreviousIndexOffset)); __ 5002 src/mips/code-stubs-mips.cc __ JumpIfNotSmi(a0, &runtime); __ 5003 src/mips/code-stubs-mips.cc __ Branch(&runtime, ls, a3, Operand(a0)); __ 5009 src/mips/code-stubs-mips.cc __ lw(a0, MemOperand(sp, kLastMatchInfoOffset)); __ 5010 src/mips/code-stubs-mips.cc __ JumpIfSmi(a0, &runtime); __ 5011 src/mips/code-stubs-mips.cc __ GetObjectType(a0, a1, a1); __ 5012 src/mips/code-stubs-mips.cc __ Branch(&runtime, ne, a1, Operand(JS_ARRAY_TYPE)); __ 5014 src/mips/code-stubs-mips.cc __ lw(last_match_info_elements, __ 5016 src/mips/code-stubs-mips.cc __ lw(a0, FieldMemOperand(last_match_info_elements, HeapObject::kMapOffset)); __ 5017 src/mips/code-stubs-mips.cc __ Branch(&runtime, ne, a0, Operand( __ 5021 src/mips/code-stubs-mips.cc __ lw(a0, __ 5023 src/mips/code-stubs-mips.cc __ Addu(a2, a2, Operand(RegExpImpl::kLastMatchOverhead)); __ 5024 src/mips/code-stubs-mips.cc __ sra(at, a0, kSmiTagSize); // Untag length for comparison. __ 5025 src/mips/code-stubs-mips.cc __ Branch(&runtime, gt, a2, Operand(at)); __ 5028 src/mips/code-stubs-mips.cc __ mov(t0, zero_reg); __ 5033 src/mips/code-stubs-mips.cc __ lw(a0, FieldMemOperand(subject, HeapObject::kMapOffset)); __ 5034 src/mips/code-stubs-mips.cc __ lbu(a0, FieldMemOperand(a0, Map::kInstanceTypeOffset)); __ 5037 src/mips/code-stubs-mips.cc __ And(a1, __ 5043 src/mips/code-stubs-mips.cc __ Branch(&seq_string, eq, a1, Operand(zero_reg)); __ 5060 src/mips/code-stubs-mips.cc __ Branch(&cons_string, lt, a1, Operand(kExternalStringTag)); __ 5061 src/mips/code-stubs-mips.cc __ Branch(&external_string, eq, a1, Operand(kExternalStringTag)); __ 5065 src/mips/code-stubs-mips.cc __ And(at, a1, Operand(kIsNotStringMask | kShortExternalStringMask)); __ 5066 src/mips/code-stubs-mips.cc __ Branch(&runtime, ne, at, Operand(zero_reg)); __ 5069 src/mips/code-stubs-mips.cc __ lw(t0, FieldMemOperand(subject, SlicedString::kOffsetOffset)); __ 5070 src/mips/code-stubs-mips.cc __ sra(t0, t0, kSmiTagSize); __ 5071 src/mips/code-stubs-mips.cc __ lw(subject, FieldMemOperand(subject, SlicedString::kParentOffset)); __ 5073 src/mips/code-stubs-mips.cc __ jmp(&check_encoding); __ 5075 src/mips/code-stubs-mips.cc __ bind(&cons_string); __ 5076 src/mips/code-stubs-mips.cc __ lw(a0, FieldMemOperand(subject, ConsString::kSecondOffset)); __ 5077 src/mips/code-stubs-mips.cc __ LoadRoot(a1, Heap::kEmptyStringRootIndex); __ 5078 src/mips/code-stubs-mips.cc __ Branch(&runtime, ne, a0, Operand(a1)); __ 5079 src/mips/code-stubs-mips.cc __ lw(subject, FieldMemOperand(subject, ConsString::kFirstOffset)); __ 5081 src/mips/code-stubs-mips.cc __ bind(&check_encoding); __ 5082 src/mips/code-stubs-mips.cc __ lw(a0, FieldMemOperand(subject, HeapObject::kMapOffset)); __ 5083 src/mips/code-stubs-mips.cc __ lbu(a0, FieldMemOperand(a0, Map::kInstanceTypeOffset)); __ 5085 src/mips/code-stubs-mips.cc __ And(at, a0, Operand(kStringRepresentationMask)); __ 5086 src/mips/code-stubs-mips.cc __ Branch(&external_string, ne, at, Operand(zero_reg)); __ 5088 src/mips/code-stubs-mips.cc __ bind(&seq_string); __ 5096 src/mips/code-stubs-mips.cc __ And(a0, a0, Operand(kStringEncodingMask)); // Non-zero for ASCII. __ 5097 src/mips/code-stubs-mips.cc __ lw(t9, FieldMemOperand(regexp_data, JSRegExp::kDataAsciiCodeOffset)); __ 5098 src/mips/code-stubs-mips.cc __ sra(a3, a0, 2); // a3 is 1 for ASCII, 0 for UC16 (used below). __ 5099 src/mips/code-stubs-mips.cc __ lw(t1, FieldMemOperand(regexp_data, JSRegExp::kDataUC16CodeOffset)); __ 5100 src/mips/code-stubs-mips.cc __ Movz(t9, t1, a0); // If UC16 (a0 is 0), replace t9 w/kDataUC16CodeOffset. __ 5105 src/mips/code-stubs-mips.cc __ JumpIfSmi(t9, &runtime); __ 5113 src/mips/code-stubs-mips.cc __ lw(a1, MemOperand(sp, kPreviousIndexOffset)); __ 5114 src/mips/code-stubs-mips.cc __ sra(a1, a1, kSmiTagSize); // Untag the Smi. __ 5122 src/mips/code-stubs-mips.cc __ IncrementCounter(isolate->counters()->regexp_entry_native(), __ 5128 src/mips/code-stubs-mips.cc __ EnterExitFrame(false, kRegExpExecuteArguments - kParameterRegisters); __ 5146 src/mips/code-stubs-mips.cc __ li(a0, Operand(ExternalReference::isolate_address())); __ 5147 src/mips/code-stubs-mips.cc __ sw(a0, MemOperand(sp, 5 * kPointerSize)); __ 5150 src/mips/code-stubs-mips.cc __ li(a0, Operand(1)); __ 5151 src/mips/code-stubs-mips.cc __ sw(a0, MemOperand(sp, 4 * kPointerSize)); __ 5154 src/mips/code-stubs-mips.cc __ li(a0, Operand(address_of_regexp_stack_memory_address)); __ 5155 src/mips/code-stubs-mips.cc __ lw(a0, MemOperand(a0, 0)); __ 5156 src/mips/code-stubs-mips.cc __ li(a2, Operand(address_of_regexp_stack_memory_size)); __ 5157 src/mips/code-stubs-mips.cc __ lw(a2, MemOperand(a2, 0)); __ 5158 src/mips/code-stubs-mips.cc __ addu(a0, a0, a2); __ 5159 src/mips/code-stubs-mips.cc __ sw(a0, MemOperand(sp, 3 * kPointerSize)); __ 5163 src/mips/code-stubs-mips.cc __ mov(a0, zero_reg); __ 5164 src/mips/code-stubs-mips.cc __ sw(a0, MemOperand(sp, 2 * kPointerSize)); __ 5167 src/mips/code-stubs-mips.cc __ li(a0, Operand( __ 5169 src/mips/code-stubs-mips.cc __ sw(a0, MemOperand(sp, 1 * kPointerSize)); __ 5173 src/mips/code-stubs-mips.cc __ Addu(t2, subject, Operand(SeqString::kHeaderSize - kHeapObjectTag)); __ 5174 src/mips/code-stubs-mips.cc __ Xor(a3, a3, Operand(1)); // 1 for 2-byte str, 0 for 1-byte. __ 5179 src/mips/code-stubs-mips.cc __ lw(subject, MemOperand(fp, kSubjectOffset + 2 * kPointerSize)); __ 5184 src/mips/code-stubs-mips.cc __ sllv(t1, t0, a3); __ 5185 src/mips/code-stubs-mips.cc __ addu(t0, t2, t1); __ 5186 src/mips/code-stubs-mips.cc __ sllv(t1, a1, a3); __ 5187 src/mips/code-stubs-mips.cc __ addu(a2, t0, t1); __ 5189 src/mips/code-stubs-mips.cc __ lw(t2, FieldMemOperand(subject, String::kLengthOffset)); __ 5190 src/mips/code-stubs-mips.cc __ sra(t2, t2, kSmiTagSize); __ 5191 src/mips/code-stubs-mips.cc __ sllv(t1, t2, a3); __ 5192 src/mips/code-stubs-mips.cc __ addu(a3, t0, t1); __ 5197 src/mips/code-stubs-mips.cc __ mov(a0, subject); __ 5200 src/mips/code-stubs-mips.cc __ Addu(t9, t9, Operand(Code::kHeaderSize - kHeapObjectTag)); __ 5204 src/mips/code-stubs-mips.cc __ LeaveExitFrame(false, no_reg); __ 5214 src/mips/code-stubs-mips.cc __ Branch(&success, eq, v0, Operand(1)); __ 5218 src/mips/code-stubs-mips.cc __ Branch(&failure, eq, v0, Operand(NativeRegExpMacroAssembler::FAILURE)); __ 5220 src/mips/code-stubs-mips.cc __ Branch(&runtime, ne, v0, Operand(NativeRegExpMacroAssembler::EXCEPTION)); __ 5225 src/mips/code-stubs-mips.cc __ li(a1, Operand(isolate->factory()->the_hole_value())); __ 5226 src/mips/code-stubs-mips.cc __ li(a2, Operand(ExternalReference(Isolate::kPendingExceptionAddress, __ 5228 src/mips/code-stubs-mips.cc __ lw(v0, MemOperand(a2, 0)); __ 5229 src/mips/code-stubs-mips.cc __ Branch(&runtime, eq, v0, Operand(a1)); __ 5231 src/mips/code-stubs-mips.cc __ sw(a1, MemOperand(a2, 0)); // Clear pending exception. __ 5234 src/mips/code-stubs-mips.cc __ LoadRoot(a0, Heap::kTerminationExceptionRootIndex); __ 5236 src/mips/code-stubs-mips.cc __ Branch(&termination_exception, eq, v0, Operand(a0)); __ 5238 src/mips/code-stubs-mips.cc __ Throw(v0); __ 5240 src/mips/code-stubs-mips.cc __ bind(&termination_exception); __ 5241 src/mips/code-stubs-mips.cc __ ThrowUncatchable(v0); __ 5243 src/mips/code-stubs-mips.cc __ bind(&failure); __ 5245 src/mips/code-stubs-mips.cc __ li(v0, Operand(isolate->factory()->null_value())); __ 5246 src/mips/code-stubs-mips.cc __ DropAndRet(4); __ 5249 src/mips/code-stubs-mips.cc __ bind(&success); __ 5250 src/mips/code-stubs-mips.cc __ lw(a1, __ 5255 src/mips/code-stubs-mips.cc __ Addu(a1, a1, Operand(2)); // a1 was a smi. __ 5260 src/mips/code-stubs-mips.cc __ sll(a2, a1, kSmiTagSize + kSmiShiftSize); // To smi. __ 5261 src/mips/code-stubs-mips.cc __ sw(a2, FieldMemOperand(last_match_info_elements, __ 5264 src/mips/code-stubs-mips.cc __ sw(subject, __ 5267 src/mips/code-stubs-mips.cc __ mov(a2, subject); __ 5268 src/mips/code-stubs-mips.cc __ RecordWriteField(last_match_info_elements, __ 5274 src/mips/code-stubs-mips.cc __ sw(subject, __ 5277 src/mips/code-stubs-mips.cc __ RecordWriteField(last_match_info_elements, __ 5287 src/mips/code-stubs-mips.cc __ li(a2, Operand(address_of_static_offsets_vector)); __ 5294 src/mips/code-stubs-mips.cc __ Addu(a0, __ 5297 src/mips/code-stubs-mips.cc __ bind(&next_capture); __ 5298 src/mips/code-stubs-mips.cc __ Subu(a1, a1, Operand(1)); __ 5299 src/mips/code-stubs-mips.cc __ Branch(&done, lt, a1, Operand(zero_reg)); __ 5301 src/mips/code-stubs-mips.cc __ lw(a3, MemOperand(a2, 0)); __ 5302 src/mips/code-stubs-mips.cc __ addiu(a2, a2, kPointerSize); __ 5304 src/mips/code-stubs-mips.cc __ sll(a3, a3, kSmiTagSize); // Convert to Smi. __ 5305 src/mips/code-stubs-mips.cc __ sw(a3, MemOperand(a0, 0)); __ 5306 src/mips/code-stubs-mips.cc __ Branch(&next_capture, USE_DELAY_SLOT); __ 5307 src/mips/code-stubs-mips.cc __ addiu(a0, a0, kPointerSize); // In branch delay slot. __ 5309 src/mips/code-stubs-mips.cc __ bind(&done); __ 5312 src/mips/code-stubs-mips.cc __ lw(v0, MemOperand(sp, kLastMatchInfoOffset)); __ 5313 src/mips/code-stubs-mips.cc __ DropAndRet(4); __ 5317 src/mips/code-stubs-mips.cc __ bind(&external_string); __ 5318 src/mips/code-stubs-mips.cc __ lw(a0, FieldMemOperand(subject, HeapObject::kMapOffset)); __ 5319 src/mips/code-stubs-mips.cc __ lbu(a0, FieldMemOperand(a0, Map::kInstanceTypeOffset)); __ 5323 src/mips/code-stubs-mips.cc __ And(at, a0, Operand(kIsIndirectStringMask)); __ 5324 src/mips/code-stubs-mips.cc __ Assert(eq, __ 5329 src/mips/code-stubs-mips.cc __ lw(subject, __ 5333 src/mips/code-stubs-mips.cc __ Subu(subject, __ 5336 src/mips/code-stubs-mips.cc __ jmp(&seq_string); __ 5339 src/mips/code-stubs-mips.cc __ bind(&runtime); __ 5340 src/mips/code-stubs-mips.cc __ TailCallRuntime(Runtime::kRegExpExec, 4, 1); __ 5349 src/mips/code-stubs-mips.cc __ lw(a1, MemOperand(sp, kPointerSize * 2)); __ 5352 src/mips/code-stubs-mips.cc __ JumpIfNotSmi(a1, &slowcase); __ 5353 src/mips/code-stubs-mips.cc __ Branch(&slowcase, hi, a1, Operand(Smi::FromInt(kMaxInlineLength))); __ 5362 src/mips/code-stubs-mips.cc __ srl(t1, a1, kSmiTagSize + kSmiShiftSize); __ 5363 src/mips/code-stubs-mips.cc __ Addu(a2, t1, Operand(objects_size)); __ 5364 src/mips/code-stubs-mips.cc __ AllocateInNewSpace( __ 5379 src/mips/code-stubs-mips.cc __ lw(a2, ContextOperand(cp, Context::GLOBAL_INDEX)); __ 5380 src/mips/code-stubs-mips.cc __ Addu(a3, v0, Operand(JSRegExpResult::kSize)); __ 5381 src/mips/code-stubs-mips.cc __ li(t0, Operand(masm->isolate()->factory()->empty_fixed_array())); __ 5382 src/mips/code-stubs-mips.cc __ lw(a2, FieldMemOperand(a2, GlobalObject::kGlobalContextOffset)); __ 5383 src/mips/code-stubs-mips.cc __ sw(a3, FieldMemOperand(v0, JSObject::kElementsOffset)); __ 5384 src/mips/code-stubs-mips.cc __ lw(a2, ContextOperand(a2, Context::REGEXP_RESULT_MAP_INDEX)); __ 5385 src/mips/code-stubs-mips.cc __ sw(t0, FieldMemOperand(v0, JSObject::kPropertiesOffset)); __ 5386 src/mips/code-stubs-mips.cc __ sw(a2, FieldMemOperand(v0, HeapObject::kMapOffset)); __ 5389 src/mips/code-stubs-mips.cc __ lw(a1, MemOperand(sp, kPointerSize * 0)); __ 5390 src/mips/code-stubs-mips.cc __ lw(a2, MemOperand(sp, kPointerSize * 1)); __ 5391 src/mips/code-stubs-mips.cc __ lw(t2, MemOperand(sp, kPointerSize * 2)); __ 5392 src/mips/code-stubs-mips.cc __ sw(a1, FieldMemOperand(v0, JSRegExpResult::kInputOffset)); __ 5393 src/mips/code-stubs-mips.cc __ sw(a2, FieldMemOperand(v0, JSRegExpResult::kIndexOffset)); __ 5394 src/mips/code-stubs-mips.cc __ sw(t2, FieldMemOperand(v0, JSArray::kLengthOffset)); __ 5402 src/mips/code-stubs-mips.cc __ li(a2, Operand(masm->isolate()->factory()->fixed_array_map())); __ 5403 src/mips/code-stubs-mips.cc __ sw(a2, FieldMemOperand(a3, HeapObject::kMapOffset)); __ 5405 src/mips/code-stubs-mips.cc __ sll(t2, t1, kSmiTagSize); __ 5406 src/mips/code-stubs-mips.cc __ sw(t2, FieldMemOperand(a3, FixedArray::kLengthOffset)); __ 5408 src/mips/code-stubs-mips.cc __ li(a2, Operand(masm->isolate()->factory()->the_hole_value())); __ 5409 src/mips/code-stubs-mips.cc __ Addu(a3, a3, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 5416 src/mips/code-stubs-mips.cc __ sll(t1, t1, kPointerSizeLog2); // Convert num elements to num bytes. __ 5417 src/mips/code-stubs-mips.cc __ addu(t1, t1, a3); // Point past last element to store. __ 5418 src/mips/code-stubs-mips.cc __ bind(&loop); __ 5419 src/mips/code-stubs-mips.cc __ Branch(&done, ge, a3, Operand(t1)); // Break when a3 past end of elem. __ 5420 src/mips/code-stubs-mips.cc __ sw(a2, MemOperand(a3)); __ 5421 src/mips/code-stubs-mips.cc __ Branch(&loop, USE_DELAY_SLOT); __ 5422 src/mips/code-stubs-mips.cc __ addiu(a3, a3, kPointerSize); // In branch delay slot. __ 5424 src/mips/code-stubs-mips.cc __ bind(&done); __ 5425 src/mips/code-stubs-mips.cc __ DropAndRet(3); __ 5427 src/mips/code-stubs-mips.cc __ bind(&slowcase); __ 5428 src/mips/code-stubs-mips.cc __ TailCallRuntime(Runtime::kRegExpConstructResult, 3, 1); __ 5446 src/mips/code-stubs-mips.cc __ lw(a3, FieldMemOperand(a2, JSGlobalPropertyCell::kValueOffset)); __ 5450 src/mips/code-stubs-mips.cc __ Branch(&done, eq, a3, Operand(a1)); __ 5451 src/mips/code-stubs-mips.cc __ LoadRoot(at, Heap::kUndefinedValueRootIndex); __ 5452 src/mips/code-stubs-mips.cc __ Branch(&done, eq, a3, Operand(at)); __ 5456 src/mips/code-stubs-mips.cc __ LoadRoot(at, Heap::kTheHoleValueRootIndex); __ 5458 src/mips/code-stubs-mips.cc __ Branch(USE_DELAY_SLOT, &done, eq, a3, Operand(at)); __ 5462 src/mips/code-stubs-mips.cc __ sw(a1, FieldMemOperand(a2, JSGlobalPropertyCell::kValueOffset)); __ 5467 src/mips/code-stubs-mips.cc __ LoadRoot(at, Heap::kUndefinedValueRootIndex); __ 5468 src/mips/code-stubs-mips.cc __ sw(at, FieldMemOperand(a2, JSGlobalPropertyCell::kValueOffset)); __ 5470 src/mips/code-stubs-mips.cc __ bind(&done); __ 5486 src/mips/code-stubs-mips.cc __ lw(t0, MemOperand(sp, argc_ * kPointerSize)); __ 5488 src/mips/code-stubs-mips.cc __ LoadRoot(at, Heap::kTheHoleValueRootIndex); __ 5489 src/mips/code-stubs-mips.cc __ Branch(&call, ne, t0, Operand(at)); __ 5491 src/mips/code-stubs-mips.cc __ lw(a3, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 5492 src/mips/code-stubs-mips.cc __ lw(a3, FieldMemOperand(a3, GlobalObject::kGlobalReceiverOffset)); __ 5493 src/mips/code-stubs-mips.cc __ sw(a3, MemOperand(sp, argc_ * kPointerSize)); __ 5494 src/mips/code-stubs-mips.cc __ bind(&call); __ 5499 src/mips/code-stubs-mips.cc __ JumpIfSmi(a1, &non_function); __ 5501 src/mips/code-stubs-mips.cc __ GetObjectType(a1, a3, a3); __ 5502 src/mips/code-stubs-mips.cc __ Branch(&slow, ne, a3, Operand(JS_FUNCTION_TYPE)); __ 5514 src/mips/code-stubs-mips.cc __ LoadRoot(at, Heap::kTheHoleValueRootIndex); __ 5515 src/mips/code-stubs-mips.cc __ Branch(&call_as_function, eq, t0, Operand(at)); __ 5516 src/mips/code-stubs-mips.cc __ InvokeFunction(a1, __ 5521 src/mips/code-stubs-mips.cc __ bind(&call_as_function); __ 5523 src/mips/code-stubs-mips.cc __ InvokeFunction(a1, __ 5530 src/mips/code-stubs-mips.cc __ bind(&slow); __ 5537 src/mips/code-stubs-mips.cc __ LoadRoot(at, Heap::kUndefinedValueRootIndex); __ 5538 src/mips/code-stubs-mips.cc __ sw(at, FieldMemOperand(a2, JSGlobalPropertyCell::kValueOffset)); __ 5541 src/mips/code-stubs-mips.cc __ Branch(&non_function, ne, a3, Operand(JS_FUNCTION_PROXY_TYPE)); __ 5542 src/mips/code-stubs-mips.cc __ push(a1); // Put proxy as additional argument. __ 5543 src/mips/code-stubs-mips.cc __ li(a0, Operand(argc_ + 1, RelocInfo::NONE)); __ 5544 src/mips/code-stubs-mips.cc __ li(a2, Operand(0, RelocInfo::NONE)); __ 5545 src/mips/code-stubs-mips.cc __ GetBuiltinEntry(a3, Builtins::CALL_FUNCTION_PROXY); __ 5546 src/mips/code-stubs-mips.cc __ SetCallKind(t1, CALL_AS_METHOD); __ 5550 src/mips/code-stubs-mips.cc __ Jump(adaptor, RelocInfo::CODE_TARGET); __ 5555 src/mips/code-stubs-mips.cc __ bind(&non_function); __ 5556 src/mips/code-stubs-mips.cc __ sw(a1, MemOperand(sp, argc_ * kPointerSize)); __ 5557 src/mips/code-stubs-mips.cc __ li(a0, Operand(argc_)); // Set up the number of arguments. __ 5558 src/mips/code-stubs-mips.cc __ mov(a2, zero_reg); __ 5559 src/mips/code-stubs-mips.cc __ GetBuiltinEntry(a3, Builtins::CALL_NON_FUNCTION); __ 5560 src/mips/code-stubs-mips.cc __ SetCallKind(t1, CALL_AS_METHOD); __ 5561 src/mips/code-stubs-mips.cc __ Jump(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(), __ 5573 src/mips/code-stubs-mips.cc __ JumpIfSmi(a1, &non_function_call); __ 5575 src/mips/code-stubs-mips.cc __ GetObjectType(a1, a3, a3); __ 5576 src/mips/code-stubs-mips.cc __ Branch(&slow, ne, a3, Operand(JS_FUNCTION_TYPE)); __ 5583 src/mips/code-stubs-mips.cc __ lw(a2, FieldMemOperand(a1, JSFunction::kSharedFunctionInfoOffset)); __ 5584 src/mips/code-stubs-mips.cc __ lw(a2, FieldMemOperand(a2, SharedFunctionInfo::kConstructStubOffset)); __ 5585 src/mips/code-stubs-mips.cc __ Addu(at, a2, Operand(Code::kHeaderSize - kHeapObjectTag)); __ 5586 src/mips/code-stubs-mips.cc __ Jump(at); __ 5592 src/mips/code-stubs-mips.cc __ bind(&slow); __ 5593 src/mips/code-stubs-mips.cc __ Branch(&non_function_call, ne, a3, Operand(JS_FUNCTION_PROXY_TYPE)); __ 5594 src/mips/code-stubs-mips.cc __ GetBuiltinEntry(a3, Builtins::CALL_FUNCTION_PROXY_AS_CONSTRUCTOR); __ 5595 src/mips/code-stubs-mips.cc __ jmp(&do_call); __ 5597 src/mips/code-stubs-mips.cc __ bind(&non_function_call); __ 5598 src/mips/code-stubs-mips.cc __ GetBuiltinEntry(a3, Builtins::CALL_NON_FUNCTION_AS_CONSTRUCTOR); __ 5599 src/mips/code-stubs-mips.cc __ bind(&do_call); __ 5601 src/mips/code-stubs-mips.cc __ li(a2, Operand(0, RelocInfo::NONE)); __ 5602 src/mips/code-stubs-mips.cc __ SetCallKind(t1, CALL_AS_METHOD); __ 5603 src/mips/code-stubs-mips.cc __ Jump(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(), __ 5659 src/mips/code-stubs-mips.cc __ JumpIfSmi(object_, receiver_not_string_); __ 5662 src/mips/code-stubs-mips.cc __ lw(result_, FieldMemOperand(object_, HeapObject::kMapOffset)); __ 5663 src/mips/code-stubs-mips.cc __ lbu(result_, FieldMemOperand(result_, Map::kInstanceTypeOffset)); __ 5665 src/mips/code-stubs-mips.cc __ And(t0, result_, Operand(kIsNotStringMask)); __ 5666 src/mips/code-stubs-mips.cc __ Branch(receiver_not_string_, ne, t0, Operand(zero_reg)); __ 5669 src/mips/code-stubs-mips.cc __ JumpIfNotSmi(index_, &index_not_smi_); __ 5671 src/mips/code-stubs-mips.cc __ bind(&got_smi_index_); __ 5674 src/mips/code-stubs-mips.cc __ lw(t0, FieldMemOperand(object_, String::kLengthOffset)); __ 5675 src/mips/code-stubs-mips.cc __ Branch(index_out_of_range_, ls, t0, Operand(index_)); __ 5677 src/mips/code-stubs-mips.cc __ sra(index_, index_, kSmiTagSize); __ 5685 src/mips/code-stubs-mips.cc __ sll(result_, result_, kSmiTagSize); __ 5686 src/mips/code-stubs-mips.cc __ bind(&exit_); __ 5693 src/mips/code-stubs-mips.cc __ Abort("Unexpected fallthrough to CharCodeAt slow case"); __ 5696 src/mips/code-stubs-mips.cc __ bind(&index_not_smi_); __ 5698 src/mips/code-stubs-mips.cc __ CheckMap(index_, __ 5705 src/mips/code-stubs-mips.cc __ Push(object_, index_); __ 5707 src/mips/code-stubs-mips.cc __ CallRuntime(Runtime::kNumberToIntegerMapMinusZero, 1); __ 5711 src/mips/code-stubs-mips.cc __ CallRuntime(Runtime::kNumberToSmi, 1); __ 5717 src/mips/code-stubs-mips.cc __ Move(index_, v0); __ 5718 src/mips/code-stubs-mips.cc __ pop(object_); __ 5720 src/mips/code-stubs-mips.cc __ lw(result_, FieldMemOperand(object_, HeapObject::kMapOffset)); __ 5721 src/mips/code-stubs-mips.cc __ lbu(result_, FieldMemOperand(result_, Map::kInstanceTypeOffset)); __ 5724 src/mips/code-stubs-mips.cc __ JumpIfNotSmi(index_, index_out_of_range_); __ 5726 src/mips/code-stubs-mips.cc __ Branch(&got_smi_index_); __ 5731 src/mips/code-stubs-mips.cc __ bind(&call_runtime_); __ 5733 src/mips/code-stubs-mips.cc __ sll(index_, index_, kSmiTagSize); __ 5734 src/mips/code-stubs-mips.cc __ Push(object_, index_); __ 5735 src/mips/code-stubs-mips.cc __ CallRuntime(Runtime::kStringCharCodeAt, 2); __ 5737 src/mips/code-stubs-mips.cc __ Move(result_, v0); __ 5740 src/mips/code-stubs-mips.cc __ jmp(&exit_); __ 5742 src/mips/code-stubs-mips.cc __ Abort("Unexpected fallthrough from CharCodeAt slow case"); __ 5758 src/mips/code-stubs-mips.cc __ And(t0, __ 5762 src/mips/code-stubs-mips.cc __ Branch(&slow_case_, ne, t0, Operand(zero_reg)); __ 5764 src/mips/code-stubs-mips.cc __ LoadRoot(result_, Heap::kSingleCharacterStringCacheRootIndex); __ 5767 src/mips/code-stubs-mips.cc __ sll(t0, code_, kPointerSizeLog2 - kSmiTagSize); __ 5768 src/mips/code-stubs-mips.cc __ Addu(result_, result_, t0); __ 5769 src/mips/code-stubs-mips.cc __ lw(result_, FieldMemOperand(result_, FixedArray::kHeaderSize)); __ 5770 src/mips/code-stubs-mips.cc __ LoadRoot(t0, Heap::kUndefinedValueRootIndex); __ 5771 src/mips/code-stubs-mips.cc __ Branch(&slow_case_, eq, result_, Operand(t0)); __ 5772 src/mips/code-stubs-mips.cc __ bind(&exit_); __ 5779 src/mips/code-stubs-mips.cc __ Abort("Unexpected fallthrough to CharFromCode slow case"); __ 5781 src/mips/code-stubs-mips.cc __ bind(&slow_case_); __ 5783 src/mips/code-stubs-mips.cc __ push(code_); __ 5784 src/mips/code-stubs-mips.cc __ CallRuntime(Runtime::kCharFromCode, 1); __ 5785 src/mips/code-stubs-mips.cc __ Move(result_, v0); __ 5788 src/mips/code-stubs-mips.cc __ Branch(&exit_); __ 5790 src/mips/code-stubs-mips.cc __ Abort("Unexpected fallthrough from CharFromCode slow case"); __ 5822 src/mips/code-stubs-mips.cc __ addu(count, count, count); __ 5824 src/mips/code-stubs-mips.cc __ Branch(&done, eq, count, Operand(zero_reg)); __ 5825 src/mips/code-stubs-mips.cc __ addu(count, dest, count); // Count now points to the last dest byte. __ 5827 src/mips/code-stubs-mips.cc __ bind(&loop); __ 5828 src/mips/code-stubs-mips.cc __ lbu(scratch, MemOperand(src)); __ 5829 src/mips/code-stubs-mips.cc __ addiu(src, src, 1); __ 5830 src/mips/code-stubs-mips.cc __ sb(scratch, MemOperand(dest)); __ 5831 src/mips/code-stubs-mips.cc __ addiu(dest, dest, 1); __ 5832 src/mips/code-stubs-mips.cc __ Branch(&loop, lt, dest, Operand(count)); __ 5834 src/mips/code-stubs-mips.cc __ bind(&done); __ 5860 src/mips/code-stubs-mips.cc __ And(scratch4, dest, Operand(kPointerAlignmentMask)); __ 5861 src/mips/code-stubs-mips.cc __ Check(eq, __ 5878 src/mips/code-stubs-mips.cc __ addu(count, count, count); __ 5880 src/mips/code-stubs-mips.cc __ Branch(&done, eq, count, Operand(zero_reg)); __ 5884 src/mips/code-stubs-mips.cc __ Subu(scratch1, count, Operand(8)); __ 5885 src/mips/code-stubs-mips.cc __ Addu(count, dest, Operand(count)); __ 5887 src/mips/code-stubs-mips.cc __ Branch(&byte_loop, lt, scratch1, Operand(zero_reg)); __ 5891 src/mips/code-stubs-mips.cc __ And(scratch4, dest, Operand(kReadAlignmentMask)); __ 5893 src/mips/code-stubs-mips.cc __ Branch(&dest_aligned, eq, scratch4, Operand(zero_reg)); __ 5895 src/mips/code-stubs-mips.cc __ bind(&aligned_loop); __ 5896 src/mips/code-stubs-mips.cc __ lbu(scratch1, MemOperand(src)); __ 5897 src/mips/code-stubs-mips.cc __ addiu(src, src, 1); __ 5898 src/mips/code-stubs-mips.cc __ sb(scratch1, MemOperand(dest)); __ 5899 src/mips/code-stubs-mips.cc __ addiu(dest, dest, 1); __ 5900 src/mips/code-stubs-mips.cc __ addiu(scratch4, scratch4, 1); __ 5901 src/mips/code-stubs-mips.cc __ Branch(&aligned_loop, le, scratch4, Operand(kReadAlignmentMask)); __ 5902 src/mips/code-stubs-mips.cc __ bind(&dest_aligned); __ 5907 src/mips/code-stubs-mips.cc __ And(scratch4, src, Operand(kReadAlignmentMask)); __ 5908 src/mips/code-stubs-mips.cc __ Branch(&simple_loop, eq, scratch4, Operand(zero_reg)); __ 5915 src/mips/code-stubs-mips.cc __ bind(&loop); __ 5916 src/mips/code-stubs-mips.cc __ lwr(scratch1, MemOperand(src)); __ 5917 src/mips/code-stubs-mips.cc __ Addu(src, src, Operand(kReadAlignment)); __ 5918 src/mips/code-stubs-mips.cc __ lwl(scratch1, MemOperand(src, -1)); __ 5919 src/mips/code-stubs-mips.cc __ sw(scratch1, MemOperand(dest)); __ 5920 src/mips/code-stubs-mips.cc __ Addu(dest, dest, Operand(kReadAlignment)); __ 5921 src/mips/code-stubs-mips.cc __ Subu(scratch2, limit, dest); __ 5922 src/mips/code-stubs-mips.cc __ Branch(&loop, ge, scratch2, Operand(kReadAlignment)); __ 5925 src/mips/code-stubs-mips.cc __ Branch(&byte_loop); __ 5930 src/mips/code-stubs-mips.cc __ bind(&simple_loop); __ 5933 src/mips/code-stubs-mips.cc __ bind(&loop); __ 5934 src/mips/code-stubs-mips.cc __ lw(scratch1, MemOperand(src)); __ 5935 src/mips/code-stubs-mips.cc __ Addu(src, src, Operand(kReadAlignment)); __ 5936 src/mips/code-stubs-mips.cc __ sw(scratch1, MemOperand(dest)); __ 5937 src/mips/code-stubs-mips.cc __ Addu(dest, dest, Operand(kReadAlignment)); __ 5938 src/mips/code-stubs-mips.cc __ Subu(scratch2, limit, dest); __ 5939 src/mips/code-stubs-mips.cc __ Branch(&loop, ge, scratch2, Operand(kReadAlignment)); __ 5943 src/mips/code-stubs-mips.cc __ bind(&byte_loop); __ 5945 src/mips/code-stubs-mips.cc __ Branch(&done, ge, dest, Operand(limit)); __ 5946 src/mips/code-stubs-mips.cc __ lbu(scratch1, MemOperand(src)); __ 5947 src/mips/code-stubs-mips.cc __ addiu(src, src, 1); __ 5948 src/mips/code-stubs-mips.cc __ sb(scratch1, MemOperand(dest)); __ 5949 src/mips/code-stubs-mips.cc __ addiu(dest, dest, 1); __ 5950 src/mips/code-stubs-mips.cc __ Branch(&byte_loop); __ 5952 src/mips/code-stubs-mips.cc __ bind(&done); __ 5971 src/mips/code-stubs-mips.cc __ Subu(scratch, c1, Operand(static_cast<int>('0'))); __ 5972 src/mips/code-stubs-mips.cc __ Branch(¬_array_index, __ 5976 src/mips/code-stubs-mips.cc __ Subu(scratch, c2, Operand(static_cast<int>('0'))); __ 5982 src/mips/code-stubs-mips.cc __ sll(scratch1, c2, kBitsPerByte); __ 5983 src/mips/code-stubs-mips.cc __ Branch(&tmp, Ugreater, scratch, Operand(static_cast<int>('9' - '0'))); __ 5984 src/mips/code-stubs-mips.cc __ Or(c1, c1, scratch1); __ 5985 src/mips/code-stubs-mips.cc __ bind(&tmp); __ 5986 src/mips/code-stubs-mips.cc __ Branch( __ 5989 src/mips/code-stubs-mips.cc __ bind(¬_array_index); __ 5998 src/mips/code-stubs-mips.cc __ sll(scratch, c2, kBitsPerByte); __ 5999 src/mips/code-stubs-mips.cc __ Or(chars, chars, scratch); __ 6007 src/mips/code-stubs-mips.cc __ LoadRoot(symbol_table, Heap::kSymbolTableRootIndex); __ 6010 src/mips/code-stubs-mips.cc __ LoadRoot(undefined, Heap::kUndefinedValueRootIndex); __ 6014 src/mips/code-stubs-mips.cc __ lw(mask, FieldMemOperand(symbol_table, SymbolTable::kCapacityOffset)); __ 6015 src/mips/code-stubs-mips.cc __ sra(mask, mask, 1); __ 6016 src/mips/code-stubs-mips.cc __ Addu(mask, mask, -1); __ 6020 src/mips/code-stubs-mips.cc __ Addu(first_symbol_table_element, symbol_table, __ 6040 src/mips/code-stubs-mips.cc __ Addu(candidate, hash, Operand(SymbolTable::GetProbeOffset(i))); __ 6042 src/mips/code-stubs-mips.cc __ mov(candidate, hash); __ 6045 src/mips/code-stubs-mips.cc __ And(candidate, candidate, Operand(mask)); __ 6049 src/mips/code-stubs-mips.cc __ sll(scratch, candidate, kPointerSizeLog2); __ 6050 src/mips/code-stubs-mips.cc __ Addu(scratch, scratch, first_symbol_table_element); __ 6051 src/mips/code-stubs-mips.cc __ lw(candidate, MemOperand(scratch)); __ 6055 src/mips/code-stubs-mips.cc __ GetObjectType(candidate, scratch, scratch); __ 6056 src/mips/code-stubs-mips.cc __ Branch(&is_string, ne, scratch, Operand(ODDBALL_TYPE)); __ 6058 src/mips/code-stubs-mips.cc __ Branch(not_found, eq, undefined, Operand(candidate)); __ 6061 src/mips/code-stubs-mips.cc __ LoadRoot(scratch, Heap::kTheHoleValueRootIndex); __ 6062 src/mips/code-stubs-mips.cc __ Assert(eq, "oddball in symbol table is not undefined or the hole", __ 6065 src/mips/code-stubs-mips.cc __ jmp(&next_probe[i]); __ 6067 src/mips/code-stubs-mips.cc __ bind(&is_string); __ 6072 src/mips/code-stubs-mips.cc __ JumpIfInstanceTypeIsNotSequentialAscii(scratch, scratch, &next_probe[i]); __ 6075 src/mips/code-stubs-mips.cc __ lw(scratch, FieldMemOperand(candidate, String::kLengthOffset)); __ 6076 src/mips/code-stubs-mips.cc __ Branch(&next_probe[i], ne, scratch, Operand(Smi::FromInt(2))); __ 6080 src/mips/code-stubs-mips.cc __ lhu(scratch, FieldMemOperand(candidate, SeqAsciiString::kHeaderSize)); __ 6081 src/mips/code-stubs-mips.cc __ Branch(&found_in_symbol_table, eq, chars, Operand(scratch)); __ 6082 src/mips/code-stubs-mips.cc __ bind(&next_probe[i]); __ 6086 src/mips/code-stubs-mips.cc __ jmp(not_found); __ 6090 src/mips/code-stubs-mips.cc __ bind(&found_in_symbol_table); __ 6091 src/mips/code-stubs-mips.cc __ mov(v0, result); __ 6099 src/mips/code-stubs-mips.cc __ LoadRoot(hash, Heap::kHashSeedRootIndex); __ 6101 src/mips/code-stubs-mips.cc __ SmiUntag(hash); __ 6102 src/mips/code-stubs-mips.cc __ addu(hash, hash, character); __ 6103 src/mips/code-stubs-mips.cc __ sll(at, hash, 10); __ 6104 src/mips/code-stubs-mips.cc __ addu(hash, hash, at); __ 6106 src/mips/code-stubs-mips.cc __ srl(at, hash, 6); __ 6107 src/mips/code-stubs-mips.cc __ xor_(hash, hash, at); __ 6115 src/mips/code-stubs-mips.cc __ addu(hash, hash, character); __ 6117 src/mips/code-stubs-mips.cc __ sll(at, hash, 10); __ 6118 src/mips/code-stubs-mips.cc __ addu(hash, hash, at); __ 6120 src/mips/code-stubs-mips.cc __ srl(at, hash, 6); __ 6121 src/mips/code-stubs-mips.cc __ xor_(hash, hash, at); __ 6128 src/mips/code-stubs-mips.cc __ sll(at, hash, 3); __ 6129 src/mips/code-stubs-mips.cc __ addu(hash, hash, at); __ 6131 src/mips/code-stubs-mips.cc __ srl(at, hash, 11); __ 6132 src/mips/code-stubs-mips.cc __ xor_(hash, hash, at); __ 6134 src/mips/code-stubs-mips.cc __ sll(at, hash, 15); __ 6135 src/mips/code-stubs-mips.cc __ addu(hash, hash, at); __ 6137 src/mips/code-stubs-mips.cc __ li(at, Operand(String::kHashBitMask)); __ 6138 src/mips/code-stubs-mips.cc __ and_(hash, hash, at); __ 6141 src/mips/code-stubs-mips.cc __ ori(at, zero_reg, StringHasher::kZeroHash); __ 6142 src/mips/code-stubs-mips.cc __ Movz(hash, at, hash); __ 6165 src/mips/code-stubs-mips.cc __ lw(a2, MemOperand(sp, kToOffset)); __ 6166 src/mips/code-stubs-mips.cc __ lw(a3, MemOperand(sp, kFromOffset)); __ 6173 src/mips/code-stubs-mips.cc __ UntagAndJumpIfNotSmi(a2, a2, &runtime); __ 6174 src/mips/code-stubs-mips.cc __ UntagAndJumpIfNotSmi(a3, a3, &runtime); __ 6177 src/mips/code-stubs-mips.cc __ Branch(&runtime, lt, a3, Operand(zero_reg)); // From < 0. __ 6179 src/mips/code-stubs-mips.cc __ Branch(&runtime, gt, a3, Operand(a2)); // Fail if from > to. __ 6180 src/mips/code-stubs-mips.cc __ Subu(a2, a2, a3); __ 6183 src/mips/code-stubs-mips.cc __ lw(v0, MemOperand(sp, kStringOffset)); __ 6184 src/mips/code-stubs-mips.cc __ JumpIfSmi(v0, &runtime); __ 6185 src/mips/code-stubs-mips.cc __ lw(a1, FieldMemOperand(v0, HeapObject::kMapOffset)); __ 6186 src/mips/code-stubs-mips.cc __ lbu(a1, FieldMemOperand(a1, Map::kInstanceTypeOffset)); __ 6187 src/mips/code-stubs-mips.cc __ And(t0, a1, Operand(kIsNotStringMask)); __ 6189 src/mips/code-stubs-mips.cc __ Branch(&runtime, ne, t0, Operand(zero_reg)); __ 6195 src/mips/code-stubs-mips.cc __ lw(t0, FieldMemOperand(v0, String::kLengthOffset)); __ 6196 src/mips/code-stubs-mips.cc __ sra(t0, t0, 1); __ 6198 src/mips/code-stubs-mips.cc __ Branch(&return_v0, eq, a2, Operand(t0)); __ 6200 src/mips/code-stubs-mips.cc __ Branch(&runtime, hi, a2, Operand(t0)); __ 6213 src/mips/code-stubs-mips.cc __ And(t0, a1, Operand(kIsIndirectStringMask)); __ 6214 src/mips/code-stubs-mips.cc __ Branch(USE_DELAY_SLOT, &seq_or_external_string, eq, t0, Operand(zero_reg)); __ 6216 src/mips/code-stubs-mips.cc __ And(t0, a1, Operand(kSlicedNotConsMask)); __ 6217 src/mips/code-stubs-mips.cc __ Branch(&sliced_string, ne, t0, Operand(zero_reg)); __ 6219 src/mips/code-stubs-mips.cc __ lw(t1, FieldMemOperand(v0, ConsString::kSecondOffset)); __ 6220 src/mips/code-stubs-mips.cc __ LoadRoot(t0, Heap::kEmptyStringRootIndex); __ 6221 src/mips/code-stubs-mips.cc __ Branch(&runtime, ne, t1, Operand(t0)); __ 6222 src/mips/code-stubs-mips.cc __ lw(t1, FieldMemOperand(v0, ConsString::kFirstOffset)); __ 6224 src/mips/code-stubs-mips.cc __ lw(a1, FieldMemOperand(t1, HeapObject::kMapOffset)); __ 6225 src/mips/code-stubs-mips.cc __ lbu(a1, FieldMemOperand(a1, Map::kInstanceTypeOffset)); __ 6226 src/mips/code-stubs-mips.cc __ jmp(&underlying_unpacked); __ 6228 src/mips/code-stubs-mips.cc __ bind(&sliced_string); __ 6230 src/mips/code-stubs-mips.cc __ lw(t1, FieldMemOperand(v0, SlicedString::kParentOffset)); __ 6231 src/mips/code-stubs-mips.cc __ lw(t0, FieldMemOperand(v0, SlicedString::kOffsetOffset)); __ 6232 src/mips/code-stubs-mips.cc __ sra(t0, t0, 1); // Add offset to index. __ 6233 src/mips/code-stubs-mips.cc __ Addu(a3, a3, t0); __ 6235 src/mips/code-stubs-mips.cc __ lw(a1, FieldMemOperand(t1, HeapObject::kMapOffset)); __ 6236 src/mips/code-stubs-mips.cc __ lbu(a1, FieldMemOperand(a1, Map::kInstanceTypeOffset)); __ 6237 src/mips/code-stubs-mips.cc __ jmp(&underlying_unpacked); __ 6239 src/mips/code-stubs-mips.cc __ bind(&seq_or_external_string); __ 6241 src/mips/code-stubs-mips.cc __ mov(t1, v0); __ 6243 src/mips/code-stubs-mips.cc __ bind(&underlying_unpacked); __ 6252 src/mips/code-stubs-mips.cc __ Branch(©_routine, lt, a2, Operand(SlicedString::kMinLength)); __ 6261 src/mips/code-stubs-mips.cc __ And(t0, a1, Operand(kStringEncodingMask)); __ 6262 src/mips/code-stubs-mips.cc __ Branch(&two_byte_slice, eq, t0, Operand(zero_reg)); __ 6263 src/mips/code-stubs-mips.cc __ AllocateAsciiSlicedString(v0, a2, t2, t3, &runtime); __ 6264 src/mips/code-stubs-mips.cc __ jmp(&set_slice_header); __ 6265 src/mips/code-stubs-mips.cc __ bind(&two_byte_slice); __ 6266 src/mips/code-stubs-mips.cc __ AllocateTwoByteSlicedString(v0, a2, t2, t3, &runtime); __ 6267 src/mips/code-stubs-mips.cc __ bind(&set_slice_header); __ 6268 src/mips/code-stubs-mips.cc __ sll(a3, a3, 1); __ 6269 src/mips/code-stubs-mips.cc __ sw(t1, FieldMemOperand(v0, SlicedString::kParentOffset)); __ 6270 src/mips/code-stubs-mips.cc __ sw(a3, FieldMemOperand(v0, SlicedString::kOffsetOffset)); __ 6271 src/mips/code-stubs-mips.cc __ jmp(&return_v0); __ 6273 src/mips/code-stubs-mips.cc __ bind(©_routine); __ 6283 src/mips/code-stubs-mips.cc __ And(t0, a1, Operand(kExternalStringTag)); __ 6284 src/mips/code-stubs-mips.cc __ Branch(&sequential_string, eq, t0, Operand(zero_reg)); __ 6289 src/mips/code-stubs-mips.cc __ And(t0, a1, Operand(kShortExternalStringTag)); __ 6290 src/mips/code-stubs-mips.cc __ Branch(&runtime, ne, t0, Operand(zero_reg)); __ 6291 src/mips/code-stubs-mips.cc __ lw(t1, FieldMemOperand(t1, ExternalString::kResourceDataOffset)); __ 6293 src/mips/code-stubs-mips.cc __ jmp(&allocate_result); __ 6295 src/mips/code-stubs-mips.cc __ bind(&sequential_string); __ 6298 src/mips/code-stubs-mips.cc __ Addu(t1, t1, Operand(SeqAsciiString::kHeaderSize - kHeapObjectTag)); __ 6300 src/mips/code-stubs-mips.cc __ bind(&allocate_result); __ 6303 src/mips/code-stubs-mips.cc __ And(t0, a1, Operand(kStringEncodingMask)); __ 6304 src/mips/code-stubs-mips.cc __ Branch(&two_byte_sequential, eq, t0, Operand(zero_reg)); __ 6307 src/mips/code-stubs-mips.cc __ AllocateAsciiString(v0, a2, t0, t2, t3, &runtime); __ 6310 src/mips/code-stubs-mips.cc __ Addu(t1, t1, a3); __ 6313 src/mips/code-stubs-mips.cc __ Addu(a1, v0, Operand(SeqAsciiString::kHeaderSize - kHeapObjectTag)); __ 6322 src/mips/code-stubs-mips.cc __ jmp(&return_v0); __ 6325 src/mips/code-stubs-mips.cc __ bind(&two_byte_sequential); __ 6326 src/mips/code-stubs-mips.cc __ AllocateTwoByteString(v0, a2, t0, t2, t3, &runtime); __ 6330 src/mips/code-stubs-mips.cc __ sll(t0, a3, 1); __ 6331 src/mips/code-stubs-mips.cc __ Addu(t1, t1, t0); __ 6333 src/mips/code-stubs-mips.cc __ Addu(a1, v0, Operand(SeqTwoByteString::kHeaderSize - kHeapObjectTag)); __ 6343 src/mips/code-stubs-mips.cc __ bind(&return_v0); __ 6345 src/mips/code-stubs-mips.cc __ IncrementCounter(counters->sub_string_native(), 1, a3, t0); __ 6346 src/mips/code-stubs-mips.cc __ DropAndRet(3); __ 6349 src/mips/code-stubs-mips.cc __ bind(&runtime); __ 6350 src/mips/code-stubs-mips.cc __ TailCallRuntime(Runtime::kSubString, 3, 1); __ 6364 src/mips/code-stubs-mips.cc __ lw(length, FieldMemOperand(left, String::kLengthOffset)); __ 6365 src/mips/code-stubs-mips.cc __ lw(scratch2, FieldMemOperand(right, String::kLengthOffset)); __ 6366 src/mips/code-stubs-mips.cc __ Branch(&check_zero_length, eq, length, Operand(scratch2)); __ 6367 src/mips/code-stubs-mips.cc __ bind(&strings_not_equal); __ 6368 src/mips/code-stubs-mips.cc __ li(v0, Operand(Smi::FromInt(NOT_EQUAL))); __ 6369 src/mips/code-stubs-mips.cc __ Ret(); __ 6373 src/mips/code-stubs-mips.cc __ bind(&check_zero_length); __ 6375 src/mips/code-stubs-mips.cc __ Branch(&compare_chars, ne, length, Operand(zero_reg)); __ 6376 src/mips/code-stubs-mips.cc __ li(v0, Operand(Smi::FromInt(EQUAL))); __ 6377 src/mips/code-stubs-mips.cc __ Ret(); __ 6380 src/mips/code-stubs-mips.cc __ bind(&compare_chars); __ 6387 src/mips/code-stubs-mips.cc __ li(v0, Operand(Smi::FromInt(EQUAL))); __ 6388 src/mips/code-stubs-mips.cc __ Ret(); __ 6401 src/mips/code-stubs-mips.cc __ lw(scratch1, FieldMemOperand(left, String::kLengthOffset)); __ 6402 src/mips/code-stubs-mips.cc __ lw(scratch2, FieldMemOperand(right, String::kLengthOffset)); __ 6403 src/mips/code-stubs-mips.cc __ Subu(scratch3, scratch1, Operand(scratch2)); __ 6405 src/mips/code-stubs-mips.cc __ slt(scratch4, scratch2, scratch1); __ 6406 src/mips/code-stubs-mips.cc __ Movn(scratch1, scratch2, scratch4); __ 6409 src/mips/code-stubs-mips.cc __ Branch(&compare_lengths, eq, min_length, Operand(zero_reg)); __ 6417 src/mips/code-stubs-mips.cc __ bind(&compare_lengths); __ 6420 src/mips/code-stubs-mips.cc __ mov(scratch2, length_delta); __ 6421 src/mips/code-stubs-mips.cc __ mov(scratch4, zero_reg); __ 6422 src/mips/code-stubs-mips.cc __ mov(v0, zero_reg); __ 6424 src/mips/code-stubs-mips.cc __ bind(&result_not_equal); __ 6428 src/mips/code-stubs-mips.cc __ Branch(&ret, eq, scratch2, Operand(scratch4)); __ 6429 src/mips/code-stubs-mips.cc __ li(v0, Operand(Smi::FromInt(GREATER))); __ 6430 src/mips/code-stubs-mips.cc __ Branch(&ret, gt, scratch2, Operand(scratch4)); __ 6431 src/mips/code-stubs-mips.cc __ li(v0, Operand(Smi::FromInt(LESS))); __ 6432 src/mips/code-stubs-mips.cc __ bind(&ret); __ 6433 src/mips/code-stubs-mips.cc __ Ret(); __ 6449 src/mips/code-stubs-mips.cc __ SmiUntag(length); __ 6450 src/mips/code-stubs-mips.cc __ Addu(scratch1, length, __ 6452 src/mips/code-stubs-mips.cc __ Addu(left, left, Operand(scratch1)); __ 6453 src/mips/code-stubs-mips.cc __ Addu(right, right, Operand(scratch1)); __ 6454 src/mips/code-stubs-mips.cc __ Subu(length, zero_reg, length); __ 6460 src/mips/code-stubs-mips.cc __ bind(&loop); __ 6461 src/mips/code-stubs-mips.cc __ Addu(scratch3, left, index); __ 6462 src/mips/code-stubs-mips.cc __ lbu(scratch1, MemOperand(scratch3)); __ 6463 src/mips/code-stubs-mips.cc __ Addu(scratch3, right, index); __ 6464 src/mips/code-stubs-mips.cc __ lbu(scratch2, MemOperand(scratch3)); __ 6465 src/mips/code-stubs-mips.cc __ Branch(chars_not_equal, ne, scratch1, Operand(scratch2)); __ 6466 src/mips/code-stubs-mips.cc __ Addu(index, index, 1); __ 6467 src/mips/code-stubs-mips.cc __ Branch(&loop, ne, index, Operand(zero_reg)); __ 6479 src/mips/code-stubs-mips.cc __ lw(a1, MemOperand(sp, 1 * kPointerSize)); // Left. __ 6480 src/mips/code-stubs-mips.cc __ lw(a0, MemOperand(sp, 0 * kPointerSize)); // Right. __ 6483 src/mips/code-stubs-mips.cc __ Branch(¬_same, ne, a0, Operand(a1)); __ 6486 src/mips/code-stubs-mips.cc __ li(v0, Operand(Smi::FromInt(EQUAL))); __ 6487 src/mips/code-stubs-mips.cc __ IncrementCounter(counters->string_compare_native(), 1, a1, a2); __ 6488 src/mips/code-stubs-mips.cc __ DropAndRet(2); __ 6490 src/mips/code-stubs-mips.cc __ bind(¬_same); __ 6493 src/mips/code-stubs-mips.cc __ JumpIfNotBothSequentialAsciiStrings(a1, a0, a2, a3, &runtime); __ 6496 src/mips/code-stubs-mips.cc __ IncrementCounter(counters->string_compare_native(), 1, a2, a3); __ 6497 src/mips/code-stubs-mips.cc __ Addu(sp, sp, Operand(2 * kPointerSize)); __ 6500 src/mips/code-stubs-mips.cc __ bind(&runtime); __ 6501 src/mips/code-stubs-mips.cc __ TailCallRuntime(Runtime::kStringCompare, 2, 1); __ 6516 src/mips/code-stubs-mips.cc __ lw(a0, MemOperand(sp, 1 * kPointerSize)); // First argument. __ 6517 src/mips/code-stubs-mips.cc __ lw(a1, MemOperand(sp, 0 * kPointerSize)); // Second argument. __ 6521 src/mips/code-stubs-mips.cc __ JumpIfEitherSmi(a0, a1, &call_runtime); __ 6523 src/mips/code-stubs-mips.cc __ lw(t0, FieldMemOperand(a0, HeapObject::kMapOffset)); __ 6524 src/mips/code-stubs-mips.cc __ lw(t1, FieldMemOperand(a1, HeapObject::kMapOffset)); __ 6525 src/mips/code-stubs-mips.cc __ lbu(t0, FieldMemOperand(t0, Map::kInstanceTypeOffset)); __ 6526 src/mips/code-stubs-mips.cc __ lbu(t1, FieldMemOperand(t1, Map::kInstanceTypeOffset)); __ 6529 src/mips/code-stubs-mips.cc __ Or(t4, t0, Operand(t1)); __ 6530 src/mips/code-stubs-mips.cc __ And(t4, t4, Operand(kIsNotStringMask)); __ 6531 src/mips/code-stubs-mips.cc __ Branch(&call_runtime, ne, t4, Operand(zero_reg)); __ 6560 src/mips/code-stubs-mips.cc __ lw(a2, FieldMemOperand(a0, String::kLengthOffset)); __ 6561 src/mips/code-stubs-mips.cc __ lw(a3, FieldMemOperand(a1, String::kLengthOffset)); __ 6562 src/mips/code-stubs-mips.cc __ mov(v0, a0); // Assume we'll return first string (from a0). __ 6563 src/mips/code-stubs-mips.cc __ Movz(v0, a1, a2); // If first is empty, return second (from a1). __ 6564 src/mips/code-stubs-mips.cc __ slt(t4, zero_reg, a2); // if (a2 > 0) t4 = 1. __ 6565 src/mips/code-stubs-mips.cc __ slt(t5, zero_reg, a3); // if (a3 > 0) t5 = 1. __ 6566 src/mips/code-stubs-mips.cc __ and_(t4, t4, t5); // Branch if both strings were non-empty. __ 6567 src/mips/code-stubs-mips.cc __ Branch(&strings_not_empty, ne, t4, Operand(zero_reg)); __ 6569 src/mips/code-stubs-mips.cc __ IncrementCounter(counters->string_add_native(), 1, a2, a3); __ 6570 src/mips/code-stubs-mips.cc __ DropAndRet(2); __ 6572 src/mips/code-stubs-mips.cc __ bind(&strings_not_empty); __ 6576 src/mips/code-stubs-mips.cc __ sra(a2, a2, kSmiTagSize); __ 6577 src/mips/code-stubs-mips.cc __ sra(a3, a3, kSmiTagSize); __ 6590 src/mips/code-stubs-mips.cc __ Addu(t2, a2, Operand(a3)); __ 6593 src/mips/code-stubs-mips.cc __ Branch(&longer_than_two, ne, t2, Operand(2)); __ 6597 src/mips/code-stubs-mips.cc __ lw(t0, FieldMemOperand(a0, HeapObject::kMapOffset)); __ 6598 src/mips/code-stubs-mips.cc __ lw(t1, FieldMemOperand(a1, HeapObject::kMapOffset)); __ 6599 src/mips/code-stubs-mips.cc __ lbu(t0, FieldMemOperand(t0, Map::kInstanceTypeOffset)); __ 6600 src/mips/code-stubs-mips.cc __ lbu(t1, FieldMemOperand(t1, Map::kInstanceTypeOffset)); __ 6602 src/mips/code-stubs-mips.cc __ JumpIfBothInstanceTypesAreNotSequentialAscii(t0, t1, t2, t3, __ 6606 src/mips/code-stubs-mips.cc __ lbu(a2, FieldMemOperand(a0, SeqAsciiString::kHeaderSize)); __ 6607 src/mips/code-stubs-mips.cc __ lbu(a3, FieldMemOperand(a1, SeqAsciiString::kHeaderSize)); __ 6614 src/mips/code-stubs-mips.cc __ IncrementCounter(counters->string_add_native(), 1, a2, a3); __ 6615 src/mips/code-stubs-mips.cc __ DropAndRet(2); __ 6617 src/mips/code-stubs-mips.cc __ bind(&make_two_character_string); __ 6623 src/mips/code-stubs-mips.cc __ li(t2, Operand(2)); __ 6624 src/mips/code-stubs-mips.cc __ AllocateAsciiString(v0, t2, t0, t1, t5, &call_runtime); __ 6625 src/mips/code-stubs-mips.cc __ sh(a2, FieldMemOperand(v0, SeqAsciiString::kHeaderSize)); __ 6626 src/mips/code-stubs-mips.cc __ IncrementCounter(counters->string_add_native(), 1, a2, a3); __ 6627 src/mips/code-stubs-mips.cc __ DropAndRet(2); __ 6629 src/mips/code-stubs-mips.cc __ bind(&longer_than_two); __ 6631 src/mips/code-stubs-mips.cc __ Branch(&string_add_flat_result, lt, t2, Operand(ConsString::kMinLength)); __ 6636 src/mips/code-stubs-mips.cc __ Branch(&call_runtime, hs, t2, Operand(String::kMaxLength + 1)); __ 6641 src/mips/code-stubs-mips.cc __ lw(t0, FieldMemOperand(a0, HeapObject::kMapOffset)); __ 6642 src/mips/code-stubs-mips.cc __ lw(t1, FieldMemOperand(a1, HeapObject::kMapOffset)); __ 6643 src/mips/code-stubs-mips.cc __ lbu(t0, FieldMemOperand(t0, Map::kInstanceTypeOffset)); __ 6644 src/mips/code-stubs-mips.cc __ lbu(t1, FieldMemOperand(t1, Map::kInstanceTypeOffset)); __ 6649 src/mips/code-stubs-mips.cc __ And(t4, t0, Operand(t1)); __ 6650 src/mips/code-stubs-mips.cc __ And(t4, t4, Operand(kStringEncodingMask)); __ 6651 src/mips/code-stubs-mips.cc __ Branch(&non_ascii, eq, t4, Operand(zero_reg)); __ 6654 src/mips/code-stubs-mips.cc __ bind(&ascii_data); __ 6655 src/mips/code-stubs-mips.cc __ AllocateAsciiConsString(v0, t2, t0, t1, &call_runtime); __ 6656 src/mips/code-stubs-mips.cc __ bind(&allocated); __ 6658 src/mips/code-stubs-mips.cc __ sw(a0, FieldMemOperand(v0, ConsString::kFirstOffset)); __ 6659 src/mips/code-stubs-mips.cc __ sw(a1, FieldMemOperand(v0, ConsString::kSecondOffset)); __ 6660 src/mips/code-stubs-mips.cc __ IncrementCounter(counters->string_add_native(), 1, a2, a3); __ 6661 src/mips/code-stubs-mips.cc __ DropAndRet(2); __ 6663 src/mips/code-stubs-mips.cc __ bind(&non_ascii); __ 6669 src/mips/code-stubs-mips.cc __ And(at, t0, Operand(kAsciiDataHintMask)); __ 6670 src/mips/code-stubs-mips.cc __ and_(at, at, t1); __ 6671 src/mips/code-stubs-mips.cc __ Branch(&ascii_data, ne, at, Operand(zero_reg)); __ 6673 src/mips/code-stubs-mips.cc __ xor_(t0, t0, t1); __ 6675 src/mips/code-stubs-mips.cc __ And(t0, t0, Operand(kAsciiStringTag | kAsciiDataHintTag)); __ 6676 src/mips/code-stubs-mips.cc __ Branch(&ascii_data, eq, t0, Operand(kAsciiStringTag | kAsciiDataHintTag)); __ 6679 src/mips/code-stubs-mips.cc __ AllocateTwoByteConsString(v0, t2, t0, t1, &call_runtime); __ 6680 src/mips/code-stubs-mips.cc __ Branch(&allocated); __ 6694 src/mips/code-stubs-mips.cc __ bind(&string_add_flat_result); __ 6696 src/mips/code-stubs-mips.cc __ lw(t0, FieldMemOperand(a0, HeapObject::kMapOffset)); __ 6697 src/mips/code-stubs-mips.cc __ lw(t1, FieldMemOperand(a1, HeapObject::kMapOffset)); __ 6698 src/mips/code-stubs-mips.cc __ lbu(t0, FieldMemOperand(t0, Map::kInstanceTypeOffset)); __ 6699 src/mips/code-stubs-mips.cc __ lbu(t1, FieldMemOperand(t1, Map::kInstanceTypeOffset)); __ 6702 src/mips/code-stubs-mips.cc __ Xor(t3, t0, Operand(t1)); __ 6703 src/mips/code-stubs-mips.cc __ And(t3, t3, Operand(kStringEncodingMask)); __ 6704 src/mips/code-stubs-mips.cc __ Branch(&call_runtime, ne, t3, Operand(zero_reg)); __ 6707 src/mips/code-stubs-mips.cc __ And(t4, t0, Operand(kStringRepresentationMask)); __ 6711 src/mips/code-stubs-mips.cc __ Branch(&skip_first_add, ne, t4, Operand(zero_reg)); __ 6712 src/mips/code-stubs-mips.cc __ Branch(USE_DELAY_SLOT, &first_prepared); __ 6713 src/mips/code-stubs-mips.cc __ addiu(t3, a0, SeqAsciiString::kHeaderSize - kHeapObjectTag); __ 6714 src/mips/code-stubs-mips.cc __ bind(&skip_first_add); __ 6717 src/mips/code-stubs-mips.cc __ And(t4, t0, Operand(kShortExternalStringMask)); __ 6718 src/mips/code-stubs-mips.cc __ Branch(&call_runtime, ne, t4, Operand(zero_reg)); __ 6719 src/mips/code-stubs-mips.cc __ lw(t3, FieldMemOperand(a0, ExternalString::kResourceDataOffset)); __ 6720 src/mips/code-stubs-mips.cc __ bind(&first_prepared); __ 6723 src/mips/code-stubs-mips.cc __ And(t4, t1, Operand(kStringRepresentationMask)); __ 6726 src/mips/code-stubs-mips.cc __ Branch(&skip_second_add, ne, t4, Operand(zero_reg)); __ 6727 src/mips/code-stubs-mips.cc __ Branch(USE_DELAY_SLOT, &second_prepared); __ 6728 src/mips/code-stubs-mips.cc __ addiu(a1, a1, SeqAsciiString::kHeaderSize - kHeapObjectTag); __ 6729 src/mips/code-stubs-mips.cc __ bind(&skip_second_add); __ 6732 src/mips/code-stubs-mips.cc __ And(t4, t1, Operand(kShortExternalStringMask)); __ 6733 src/mips/code-stubs-mips.cc __ Branch(&call_runtime, ne, t4, Operand(zero_reg)); __ 6734 src/mips/code-stubs-mips.cc __ lw(a1, FieldMemOperand(a1, ExternalString::kResourceDataOffset)); __ 6735 src/mips/code-stubs-mips.cc __ bind(&second_prepared); __ 6745 src/mips/code-stubs-mips.cc __ And(t4, t1, Operand(kStringEncodingMask)); __ 6746 src/mips/code-stubs-mips.cc __ Branch(&non_ascii_string_add_flat_result, eq, t4, Operand(zero_reg)); __ 6748 src/mips/code-stubs-mips.cc __ AllocateAsciiString(v0, t2, t0, t1, t5, &call_runtime); __ 6749 src/mips/code-stubs-mips.cc __ Addu(t2, v0, Operand(SeqAsciiString::kHeaderSize - kHeapObjectTag)); __ 6760 src/mips/code-stubs-mips.cc __ IncrementCounter(counters->string_add_native(), 1, a2, a3); __ 6761 src/mips/code-stubs-mips.cc __ DropAndRet(2); __ 6763 src/mips/code-stubs-mips.cc __ bind(&non_ascii_string_add_flat_result); __ 6764 src/mips/code-stubs-mips.cc __ AllocateTwoByteString(v0, t2, t0, t1, t5, &call_runtime); __ 6765 src/mips/code-stubs-mips.cc __ Addu(t2, v0, Operand(SeqTwoByteString::kHeaderSize - kHeapObjectTag)); __ 6776 src/mips/code-stubs-mips.cc __ IncrementCounter(counters->string_add_native(), 1, a2, a3); __ 6777 src/mips/code-stubs-mips.cc __ DropAndRet(2); __ 6780 src/mips/code-stubs-mips.cc __ bind(&call_runtime); __ 6781 src/mips/code-stubs-mips.cc __ TailCallRuntime(Runtime::kStringAdd, 2, 1); __ 6784 src/mips/code-stubs-mips.cc __ bind(&call_builtin); __ 6785 src/mips/code-stubs-mips.cc __ InvokeBuiltin(builtin_id, JUMP_FUNCTION); __ 6800 src/mips/code-stubs-mips.cc __ JumpIfSmi(arg, ¬_string); __ 6801 src/mips/code-stubs-mips.cc __ GetObjectType(arg, scratch1, scratch1); __ 6802 src/mips/code-stubs-mips.cc __ Branch(&done, lt, scratch1, Operand(FIRST_NONSTRING_TYPE)); __ 6806 src/mips/code-stubs-mips.cc __ bind(¬_string); __ 6816 src/mips/code-stubs-mips.cc __ mov(arg, scratch1); __ 6817 src/mips/code-stubs-mips.cc __ sw(arg, MemOperand(sp, stack_offset)); __ 6818 src/mips/code-stubs-mips.cc __ jmp(&done); __ 6821 src/mips/code-stubs-mips.cc __ bind(¬_cached); __ 6822 src/mips/code-stubs-mips.cc __ JumpIfSmi(arg, slow); __ 6823 src/mips/code-stubs-mips.cc __ GetObjectType(arg, scratch1, scratch2); // map -> scratch1. __ 6824 src/mips/code-stubs-mips.cc __ Branch(slow, ne, scratch2, Operand(JS_VALUE_TYPE)); __ 6825 src/mips/code-stubs-mips.cc __ lbu(scratch2, FieldMemOperand(scratch1, Map::kBitField2Offset)); __ 6826 src/mips/code-stubs-mips.cc __ li(scratch4, 1 << Map::kStringWrapperSafeForDefaultValueOf); __ 6827 src/mips/code-stubs-mips.cc __ And(scratch2, scratch2, scratch4); __ 6828 src/mips/code-stubs-mips.cc __ Branch(slow, ne, scratch2, Operand(scratch4)); __ 6829 src/mips/code-stubs-mips.cc __ lw(arg, FieldMemOperand(arg, JSValue::kValueOffset)); __ 6830 src/mips/code-stubs-mips.cc __ sw(arg, MemOperand(sp, stack_offset)); __ 6832 src/mips/code-stubs-mips.cc __ bind(&done); __ 6839 src/mips/code-stubs-mips.cc __ Or(a2, a1, a0); __ 6840 src/mips/code-stubs-mips.cc __ JumpIfNotSmi(a2, &miss); __ 6844 src/mips/code-stubs-mips.cc __ Subu(v0, a0, a1); __ 6847 src/mips/code-stubs-mips.cc __ SmiUntag(a1); __ 6848 src/mips/code-stubs-mips.cc __ SmiUntag(a0); __ 6849 src/mips/code-stubs-mips.cc __ Subu(v0, a1, a0); __ 6851 src/mips/code-stubs-mips.cc __ Ret(); __ 6853 src/mips/code-stubs-mips.cc __ bind(&miss); __ 6864 src/mips/code-stubs-mips.cc __ And(a2, a1, Operand(a0)); __ 6865 src/mips/code-stubs-mips.cc __ JumpIfSmi(a2, &generic_stub); __ 6867 src/mips/code-stubs-mips.cc __ GetObjectType(a0, a2, a2); __ 6868 src/mips/code-stubs-mips.cc __ Branch(&maybe_undefined1, ne, a2, Operand(HEAP_NUMBER_TYPE)); __ 6869 src/mips/code-stubs-mips.cc __ GetObjectType(a1, a2, a2); __ 6870 src/mips/code-stubs-mips.cc __ Branch(&maybe_undefined2, ne, a2, Operand(HEAP_NUMBER_TYPE)); __ 6878 src/mips/code-stubs-mips.cc __ Subu(a2, a1, Operand(kHeapObjectTag)); __ 6879 src/mips/code-stubs-mips.cc __ ldc1(f0, MemOperand(a2, HeapNumber::kValueOffset)); __ 6880 src/mips/code-stubs-mips.cc __ Subu(a2, a0, Operand(kHeapObjectTag)); __ 6881 src/mips/code-stubs-mips.cc __ ldc1(f2, MemOperand(a2, HeapNumber::kValueOffset)); __ 6886 src/mips/code-stubs-mips.cc __ BranchF(&fpu_eq, &unordered, eq, f0, f2); __ 6889 src/mips/code-stubs-mips.cc __ BranchF(&fpu_lt, NULL, lt, f0, f2); __ 6892 src/mips/code-stubs-mips.cc __ li(v0, Operand(GREATER)); __ 6893 src/mips/code-stubs-mips.cc __ Ret(); __ 6895 src/mips/code-stubs-mips.cc __ bind(&fpu_eq); __ 6896 src/mips/code-stubs-mips.cc __ li(v0, Operand(EQUAL)); __ 6897 src/mips/code-stubs-mips.cc __ Ret(); __ 6899 src/mips/code-stubs-mips.cc __ bind(&fpu_lt); __ 6900 src/mips/code-stubs-mips.cc __ li(v0, Operand(LESS)); __ 6901 src/mips/code-stubs-mips.cc __ Ret(); __ 6904 src/mips/code-stubs-mips.cc __ bind(&unordered); __ 6907 src/mips/code-stubs-mips.cc __ bind(&generic_stub); __ 6908 src/mips/code-stubs-mips.cc __ Jump(stub.GetCode(), RelocInfo::CODE_TARGET); __ 6910 src/mips/code-stubs-mips.cc __ bind(&maybe_undefined1); __ 6912 src/mips/code-stubs-mips.cc __ LoadRoot(at, Heap::kUndefinedValueRootIndex); __ 6913 src/mips/code-stubs-mips.cc __ Branch(&miss, ne, a0, Operand(at)); __ 6914 src/mips/code-stubs-mips.cc __ GetObjectType(a1, a2, a2); __ 6915 src/mips/code-stubs-mips.cc __ Branch(&maybe_undefined2, ne, a2, Operand(HEAP_NUMBER_TYPE)); __ 6916 src/mips/code-stubs-mips.cc __ jmp(&unordered); __ 6919 src/mips/code-stubs-mips.cc __ bind(&maybe_undefined2); __ 6921 src/mips/code-stubs-mips.cc __ LoadRoot(at, Heap::kUndefinedValueRootIndex); __ 6922 src/mips/code-stubs-mips.cc __ Branch(&unordered, eq, a1, Operand(at)); __ 6925 src/mips/code-stubs-mips.cc __ bind(&miss); __ 6941 src/mips/code-stubs-mips.cc __ JumpIfEitherSmi(left, right, &miss); __ 6944 src/mips/code-stubs-mips.cc __ lw(tmp1, FieldMemOperand(left, HeapObject::kMapOffset)); __ 6945 src/mips/code-stubs-mips.cc __ lw(tmp2, FieldMemOperand(right, HeapObject::kMapOffset)); __ 6946 src/mips/code-stubs-mips.cc __ lbu(tmp1, FieldMemOperand(tmp1, Map::kInstanceTypeOffset)); __ 6947 src/mips/code-stubs-mips.cc __ lbu(tmp2, FieldMemOperand(tmp2, Map::kInstanceTypeOffset)); __ 6949 src/mips/code-stubs-mips.cc __ And(tmp1, tmp1, Operand(tmp2)); __ 6950 src/mips/code-stubs-mips.cc __ And(tmp1, tmp1, kIsSymbolMask); __ 6951 src/mips/code-stubs-mips.cc __ Branch(&miss, eq, tmp1, Operand(zero_reg)); __ 6957 src/mips/code-stubs-mips.cc __ mov(v0, right); __ 6959 src/mips/code-stubs-mips.cc __ Ret(ne, left, Operand(right)); __ 6960 src/mips/code-stubs-mips.cc __ li(v0, Operand(Smi::FromInt(EQUAL))); __ 6961 src/mips/code-stubs-mips.cc __ Ret(); __ 6963 src/mips/code-stubs-mips.cc __ bind(&miss); __ 6984 src/mips/code-stubs-mips.cc __ JumpIfEitherSmi(left, right, &miss); __ 6988 src/mips/code-stubs-mips.cc __ lw(tmp1, FieldMemOperand(left, HeapObject::kMapOffset)); __ 6989 src/mips/code-stubs-mips.cc __ lw(tmp2, FieldMemOperand(right, HeapObject::kMapOffset)); __ 6990 src/mips/code-stubs-mips.cc __ lbu(tmp1, FieldMemOperand(tmp1, Map::kInstanceTypeOffset)); __ 6991 src/mips/code-stubs-mips.cc __ lbu(tmp2, FieldMemOperand(tmp2, Map::kInstanceTypeOffset)); __ 6993 src/mips/code-stubs-mips.cc __ Or(tmp3, tmp1, tmp2); __ 6994 src/mips/code-stubs-mips.cc __ And(tmp5, tmp3, Operand(kIsNotStringMask)); __ 6995 src/mips/code-stubs-mips.cc __ Branch(&miss, ne, tmp5, Operand(zero_reg)); __ 7001 src/mips/code-stubs-mips.cc __ Branch(&left_ne_right, ne, left, Operand(right)); __ 7002 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 7003 src/mips/code-stubs-mips.cc __ mov(v0, zero_reg); // In the delay slot. __ 7004 src/mips/code-stubs-mips.cc __ bind(&left_ne_right); __ 7013 src/mips/code-stubs-mips.cc __ And(tmp3, tmp1, Operand(tmp2)); __ 7014 src/mips/code-stubs-mips.cc __ And(tmp5, tmp3, Operand(kIsSymbolMask)); __ 7016 src/mips/code-stubs-mips.cc __ Branch(&is_symbol, eq, tmp5, Operand(zero_reg)); __ 7020 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 7021 src/mips/code-stubs-mips.cc __ mov(v0, a0); // In the delay slot. __ 7022 src/mips/code-stubs-mips.cc __ bind(&is_symbol); __ 7027 src/mips/code-stubs-mips.cc __ JumpIfBothInstanceTypesAreNotSequentialAscii( __ 7040 src/mips/code-stubs-mips.cc __ bind(&runtime); __ 7041 src/mips/code-stubs-mips.cc __ Push(left, right); __ 7043 src/mips/code-stubs-mips.cc __ TailCallRuntime(Runtime::kStringEquals, 2, 1); __ 7045 src/mips/code-stubs-mips.cc __ TailCallRuntime(Runtime::kStringCompare, 2, 1); __ 7048 src/mips/code-stubs-mips.cc __ bind(&miss); __ 7056 src/mips/code-stubs-mips.cc __ And(a2, a1, Operand(a0)); __ 7057 src/mips/code-stubs-mips.cc __ JumpIfSmi(a2, &miss); __ 7059 src/mips/code-stubs-mips.cc __ GetObjectType(a0, a2, a2); __ 7060 src/mips/code-stubs-mips.cc __ Branch(&miss, ne, a2, Operand(JS_OBJECT_TYPE)); __ 7061 src/mips/code-stubs-mips.cc __ GetObjectType(a1, a2, a2); __ 7062 src/mips/code-stubs-mips.cc __ Branch(&miss, ne, a2, Operand(JS_OBJECT_TYPE)); __ 7065 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 7066 src/mips/code-stubs-mips.cc __ subu(v0, a0, a1); __ 7068 src/mips/code-stubs-mips.cc __ bind(&miss); __ 7075 src/mips/code-stubs-mips.cc __ And(a2, a1, a0); __ 7076 src/mips/code-stubs-mips.cc __ JumpIfSmi(a2, &miss); __ 7077 src/mips/code-stubs-mips.cc __ lw(a2, FieldMemOperand(a0, HeapObject::kMapOffset)); __ 7078 src/mips/code-stubs-mips.cc __ lw(a3, FieldMemOperand(a1, HeapObject::kMapOffset)); __ 7079 src/mips/code-stubs-mips.cc __ Branch(&miss, ne, a2, Operand(known_map_)); __ 7080 src/mips/code-stubs-mips.cc __ Branch(&miss, ne, a3, Operand(known_map_)); __ 7082 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 7083 src/mips/code-stubs-mips.cc __ subu(v0, a0, a1); __ 7085 src/mips/code-stubs-mips.cc __ bind(&miss); __ 7095 src/mips/code-stubs-mips.cc __ Push(a1, a0); __ 7096 src/mips/code-stubs-mips.cc __ push(ra); __ 7097 src/mips/code-stubs-mips.cc __ Push(a1, a0); __ 7098 src/mips/code-stubs-mips.cc __ li(t0, Operand(Smi::FromInt(op_))); __ 7099 src/mips/code-stubs-mips.cc __ addiu(sp, sp, -kPointerSize); __ 7100 src/mips/code-stubs-mips.cc __ CallExternalReference(miss, 3, USE_DELAY_SLOT); __ 7101 src/mips/code-stubs-mips.cc __ sw(t0, MemOperand(sp)); // In the delay slot. __ 7103 src/mips/code-stubs-mips.cc __ Addu(a2, v0, Operand(Code::kHeaderSize - kHeapObjectTag)); __ 7105 src/mips/code-stubs-mips.cc __ Pop(a1, a0, ra); __ 7107 src/mips/code-stubs-mips.cc __ Jump(a2); __ 7115 src/mips/code-stubs-mips.cc __ lw(t9, MemOperand(sp, kCArgsSlotsSize)); __ 7121 src/mips/code-stubs-mips.cc __ lw(t0, MemOperand(t9)); __ 7122 src/mips/code-stubs-mips.cc __ Assert(ne, "Received invalid return address.", t0, __ 7125 src/mips/code-stubs-mips.cc __ Jump(t9); __ 7131 src/mips/code-stubs-mips.cc __ li(t9, Operand(function)); __ 7138 src/mips/code-stubs-mips.cc __ Move(t9, target); __ 7139 src/mips/code-stubs-mips.cc __ AssertStackIsAligned(); __ 7141 src/mips/code-stubs-mips.cc __ Subu(sp, sp, kCArgsSlotsSize); __ 7186 src/mips/code-stubs-mips.cc __ lw(index, FieldMemOperand(properties, kCapacityOffset)); __ 7187 src/mips/code-stubs-mips.cc __ Subu(index, index, Operand(1)); __ 7188 src/mips/code-stubs-mips.cc __ And(index, index, Operand( __ 7193 src/mips/code-stubs-mips.cc __ sll(at, index, 1); __ 7194 src/mips/code-stubs-mips.cc __ Addu(index, index, at); __ 7200 src/mips/code-stubs-mips.cc __ sll(scratch0, index, 1); __ 7201 src/mips/code-stubs-mips.cc __ Addu(tmp, properties, scratch0); __ 7202 src/mips/code-stubs-mips.cc __ lw(entity_name, FieldMemOperand(tmp, kElementsStartOffset)); __ 7205 src/mips/code-stubs-mips.cc __ LoadRoot(tmp, Heap::kUndefinedValueRootIndex); __ 7206 src/mips/code-stubs-mips.cc __ Branch(done, eq, entity_name, Operand(tmp)); __ 7210 src/mips/code-stubs-mips.cc __ LoadRoot(tmp, Heap::kTheHoleValueRootIndex); __ 7213 src/mips/code-stubs-mips.cc __ Branch(miss, eq, entity_name, Operand(Handle<String>(name))); __ 7216 src/mips/code-stubs-mips.cc __ Branch(&the_hole, eq, entity_name, Operand(tmp)); __ 7219 src/mips/code-stubs-mips.cc __ lw(entity_name, FieldMemOperand(entity_name, HeapObject::kMapOffset)); __ 7220 src/mips/code-stubs-mips.cc __ lbu(entity_name, __ 7222 src/mips/code-stubs-mips.cc __ And(scratch0, entity_name, Operand(kIsSymbolMask)); __ 7223 src/mips/code-stubs-mips.cc __ Branch(miss, eq, scratch0, Operand(zero_reg)); __ 7225 src/mips/code-stubs-mips.cc __ bind(&the_hole); __ 7228 src/mips/code-stubs-mips.cc __ lw(properties, __ 7237 src/mips/code-stubs-mips.cc __ MultiPush(spill_mask); __ 7238 src/mips/code-stubs-mips.cc __ lw(a0, FieldMemOperand(receiver, JSObject::kPropertiesOffset)); __ 7239 src/mips/code-stubs-mips.cc __ li(a1, Operand(Handle<String>(name))); __ 7241 src/mips/code-stubs-mips.cc __ CallStub(&stub); __ 7242 src/mips/code-stubs-mips.cc __ mov(at, v0); __ 7243 src/mips/code-stubs-mips.cc __ MultiPop(spill_mask); __ 7245 src/mips/code-stubs-mips.cc __ Branch(done, eq, at, Operand(zero_reg)); __ 7246 src/mips/code-stubs-mips.cc __ Branch(miss, ne, at, Operand(zero_reg)); __ 7267 src/mips/code-stubs-mips.cc if (FLAG_debug_code) __ AbortIfNotString(name); __ 7270 src/mips/code-stubs-mips.cc __ lw(scratch1, FieldMemOperand(elements, kCapacityOffset)); __ 7271 src/mips/code-stubs-mips.cc __ sra(scratch1, scratch1, kSmiTagSize); // convert smi to int __ 7272 src/mips/code-stubs-mips.cc __ Subu(scratch1, scratch1, Operand(1)); __ 7279 src/mips/code-stubs-mips.cc __ lw(scratch2, FieldMemOperand(name, String::kHashFieldOffset)); __ 7286 src/mips/code-stubs-mips.cc __ Addu(scratch2, scratch2, Operand( __ 7289 src/mips/code-stubs-mips.cc __ srl(scratch2, scratch2, String::kHashShift); __ 7290 src/mips/code-stubs-mips.cc __ And(scratch2, scratch1, scratch2); __ 7296 src/mips/code-stubs-mips.cc __ sll(at, scratch2, 1); __ 7297 src/mips/code-stubs-mips.cc __ Addu(scratch2, scratch2, at); __ 7300 src/mips/code-stubs-mips.cc __ sll(at, scratch2, 2); __ 7301 src/mips/code-stubs-mips.cc __ Addu(scratch2, elements, at); __ 7302 src/mips/code-stubs-mips.cc __ lw(at, FieldMemOperand(scratch2, kElementsStartOffset)); __ 7303 src/mips/code-stubs-mips.cc __ Branch(done, eq, name, Operand(at)); __ 7311 src/mips/code-stubs-mips.cc __ MultiPush(spill_mask); __ 7314 src/mips/code-stubs-mips.cc __ Move(a1, name); __ 7315 src/mips/code-stubs-mips.cc __ Move(a0, elements); __ 7317 src/mips/code-stubs-mips.cc __ Move(a0, elements); __ 7318 src/mips/code-stubs-mips.cc __ Move(a1, name); __ 7321 src/mips/code-stubs-mips.cc __ CallStub(&stub); __ 7322 src/mips/code-stubs-mips.cc __ mov(scratch2, a2); __ 7323 src/mips/code-stubs-mips.cc __ mov(at, v0); __ 7324 src/mips/code-stubs-mips.cc __ MultiPop(spill_mask); __ 7326 src/mips/code-stubs-mips.cc __ Branch(done, ne, at, Operand(zero_reg)); __ 7327 src/mips/code-stubs-mips.cc __ Branch(miss, eq, at, Operand(zero_reg)); __ 7354 src/mips/code-stubs-mips.cc __ lw(mask, FieldMemOperand(dictionary, kCapacityOffset)); __ 7355 src/mips/code-stubs-mips.cc __ sra(mask, mask, kSmiTagSize); __ 7356 src/mips/code-stubs-mips.cc __ Subu(mask, mask, Operand(1)); __ 7358 src/mips/code-stubs-mips.cc __ lw(hash, FieldMemOperand(key, String::kHashFieldOffset)); __ 7360 src/mips/code-stubs-mips.cc __ LoadRoot(undefined, Heap::kUndefinedValueRootIndex); __ 7371 src/mips/code-stubs-mips.cc __ Addu(index, hash, Operand( __ 7374 src/mips/code-stubs-mips.cc __ mov(index, hash); __ 7376 src/mips/code-stubs-mips.cc __ srl(index, index, String::kHashShift); __ 7377 src/mips/code-stubs-mips.cc __ And(index, mask, index); __ 7382 src/mips/code-stubs-mips.cc __ mov(at, index); __ 7383 src/mips/code-stubs-mips.cc __ sll(index, index, 1); __ 7384 src/mips/code-stubs-mips.cc __ Addu(index, index, at); __ 7388 src/mips/code-stubs-mips.cc __ sll(index, index, 2); __ 7389 src/mips/code-stubs-mips.cc __ Addu(index, index, dictionary); __ 7390 src/mips/code-stubs-mips.cc __ lw(entry_key, FieldMemOperand(index, kElementsStartOffset)); __ 7393 src/mips/code-stubs-mips.cc __ Branch(¬_in_dictionary, eq, entry_key, Operand(undefined)); __ 7396 src/mips/code-stubs-mips.cc __ Branch(&in_dictionary, eq, entry_key, Operand(key)); __ 7400 src/mips/code-stubs-mips.cc __ lw(entry_key, FieldMemOperand(entry_key, HeapObject::kMapOffset)); __ 7401 src/mips/code-stubs-mips.cc __ lbu(entry_key, __ 7403 src/mips/code-stubs-mips.cc __ And(result, entry_key, Operand(kIsSymbolMask)); __ 7404 src/mips/code-stubs-mips.cc __ Branch(&maybe_in_dictionary, eq, result, Operand(zero_reg)); __ 7408 src/mips/code-stubs-mips.cc __ bind(&maybe_in_dictionary); __ 7413 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 7414 src/mips/code-stubs-mips.cc __ mov(result, zero_reg); __ 7417 src/mips/code-stubs-mips.cc __ bind(&in_dictionary); __ 7418 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 7419 src/mips/code-stubs-mips.cc __ li(result, 1); __ 7421 src/mips/code-stubs-mips.cc __ bind(¬_in_dictionary); __ 7422 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 7423 src/mips/code-stubs-mips.cc __ mov(result, zero_reg); __ 7527 src/mips/code-stubs-mips.cc __ beq(zero_reg, zero_reg, &skip_to_incremental_noncompacting); __ 7528 src/mips/code-stubs-mips.cc __ nop(); __ 7529 src/mips/code-stubs-mips.cc __ beq(zero_reg, zero_reg, &skip_to_incremental_compacting); __ 7530 src/mips/code-stubs-mips.cc __ nop(); __ 7533 src/mips/code-stubs-mips.cc __ RememberedSetHelper(object_, __ 7539 src/mips/code-stubs-mips.cc __ Ret(); __ 7541 src/mips/code-stubs-mips.cc __ bind(&skip_to_incremental_noncompacting); __ 7544 src/mips/code-stubs-mips.cc __ bind(&skip_to_incremental_compacting); __ 7561 src/mips/code-stubs-mips.cc __ lw(regs_.scratch0(), MemOperand(regs_.address(), 0)); __ 7562 src/mips/code-stubs-mips.cc __ JumpIfNotInNewSpace(regs_.scratch0(), // Value. __ 7566 src/mips/code-stubs-mips.cc __ CheckPageFlag(regs_.object(), __ 7578 src/mips/code-stubs-mips.cc __ RememberedSetHelper(object_, __ 7584 src/mips/code-stubs-mips.cc __ bind(&dont_need_remembered_set); __ 7591 src/mips/code-stubs-mips.cc __ Ret(); __ 7598 src/mips/code-stubs-mips.cc __ PrepareCallCFunction(argument_count, regs_.scratch0()); __ 7603 src/mips/code-stubs-mips.cc __ Move(address, regs_.address()); __ 7604 src/mips/code-stubs-mips.cc __ Move(a0, regs_.object()); __ 7606 src/mips/code-stubs-mips.cc __ Move(a1, address); __ 7609 src/mips/code-stubs-mips.cc __ lw(a1, MemOperand(address, 0)); __ 7611 src/mips/code-stubs-mips.cc __ li(a2, Operand(ExternalReference::isolate_address())); __ 7615 src/mips/code-stubs-mips.cc __ CallCFunction( __ 7621 src/mips/code-stubs-mips.cc __ CallCFunction( __ 7640 src/mips/code-stubs-mips.cc __ JumpIfBlack(regs_.object(), regs_.scratch0(), regs_.scratch1(), &on_black); __ 7644 src/mips/code-stubs-mips.cc __ RememberedSetHelper(object_, __ 7650 src/mips/code-stubs-mips.cc __ Ret(); __ 7653 src/mips/code-stubs-mips.cc __ bind(&on_black); __ 7656 src/mips/code-stubs-mips.cc __ lw(regs_.scratch0(), MemOperand(regs_.address(), 0)); __ 7661 src/mips/code-stubs-mips.cc __ CheckPageFlag(regs_.scratch0(), // Contains value. __ 7667 src/mips/code-stubs-mips.cc __ CheckPageFlag(regs_.object(), __ 7673 src/mips/code-stubs-mips.cc __ bind(&ensure_not_white); __ 7678 src/mips/code-stubs-mips.cc __ Push(regs_.object(), regs_.address()); __ 7679 src/mips/code-stubs-mips.cc __ EnsureNotWhite(regs_.scratch0(), // The value. __ 7684 src/mips/code-stubs-mips.cc __ Pop(regs_.object(), regs_.address()); __ 7688 src/mips/code-stubs-mips.cc __ RememberedSetHelper(object_, __ 7694 src/mips/code-stubs-mips.cc __ Ret(); __ 7697 src/mips/code-stubs-mips.cc __ bind(&need_incremental_pop_scratch); __ 7698 src/mips/code-stubs-mips.cc __ Pop(regs_.object(), regs_.address()); __ 7700 src/mips/code-stubs-mips.cc __ bind(&need_incremental); __ 7721 src/mips/code-stubs-mips.cc __ CheckFastElements(a2, t1, &double_elements); __ 7723 src/mips/code-stubs-mips.cc __ JumpIfSmi(a0, &smi_element); __ 7724 src/mips/code-stubs-mips.cc __ CheckFastSmiElements(a2, t1, &fast_elements); __ 7728 src/mips/code-stubs-mips.cc __ bind(&slow_elements); __ 7730 src/mips/code-stubs-mips.cc __ Push(a1, a3, a0); __ 7731 src/mips/code-stubs-mips.cc __ lw(t1, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); __ 7732 src/mips/code-stubs-mips.cc __ lw(t1, FieldMemOperand(t1, JSFunction::kLiteralsOffset)); __ 7733 src/mips/code-stubs-mips.cc __ Push(t1, t0); __ 7734 src/mips/code-stubs-mips.cc __ TailCallRuntime(Runtime::kStoreArrayLiteralElement, 5, 1); __ 7737 src/mips/code-stubs-mips.cc __ bind(&fast_elements); __ 7738 src/mips/code-stubs-mips.cc __ lw(t1, FieldMemOperand(a1, JSObject::kElementsOffset)); __ 7739 src/mips/code-stubs-mips.cc __ sll(t2, a3, kPointerSizeLog2 - kSmiTagSize); __ 7740 src/mips/code-stubs-mips.cc __ Addu(t2, t1, t2); __ 7741 src/mips/code-stubs-mips.cc __ Addu(t2, t2, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 7742 src/mips/code-stubs-mips.cc __ sw(a0, MemOperand(t2, 0)); __ 7744 src/mips/code-stubs-mips.cc __ RecordWrite(t1, t2, a0, kRAHasNotBeenSaved, kDontSaveFPRegs, __ 7746 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 7747 src/mips/code-stubs-mips.cc __ mov(v0, a0); __ 7751 src/mips/code-stubs-mips.cc __ bind(&smi_element); __ 7752 src/mips/code-stubs-mips.cc __ lw(t1, FieldMemOperand(a1, JSObject::kElementsOffset)); __ 7753 src/mips/code-stubs-mips.cc __ sll(t2, a3, kPointerSizeLog2 - kSmiTagSize); __ 7754 src/mips/code-stubs-mips.cc __ Addu(t2, t1, t2); __ 7755 src/mips/code-stubs-mips.cc __ sw(a0, FieldMemOperand(t2, FixedArray::kHeaderSize)); __ 7756 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 7757 src/mips/code-stubs-mips.cc __ mov(v0, a0); __ 7760 src/mips/code-stubs-mips.cc __ bind(&double_elements); __ 7761 src/mips/code-stubs-mips.cc __ lw(t1, FieldMemOperand(a1, JSObject::kElementsOffset)); __ 7762 src/mips/code-stubs-mips.cc __ StoreNumberToDoubleElements(a0, a3, a1, t1, t2, t3, t5, a2, __ 7764 src/mips/code-stubs-mips.cc __ Ret(USE_DELAY_SLOT); __ 7765 src/mips/code-stubs-mips.cc __ mov(v0, a0); __ 86 src/mips/codegen-mips.cc __ sw(a3, FieldMemOperand(a2, HeapObject::kMapOffset)); __ 87 src/mips/codegen-mips.cc __ RecordWriteField(a2, __ 115 src/mips/codegen-mips.cc __ lw(t0, FieldMemOperand(a2, JSObject::kElementsOffset)); __ 116 src/mips/codegen-mips.cc __ LoadRoot(at, Heap::kEmptyFixedArrayRootIndex); __ 117 src/mips/codegen-mips.cc __ Branch(&only_change_map, eq, at, Operand(t0)); __ 119 src/mips/codegen-mips.cc __ push(ra); __ 120 src/mips/codegen-mips.cc __ lw(t1, FieldMemOperand(t0, FixedArray::kLengthOffset)); __ 125 src/mips/codegen-mips.cc __ sll(scratch, t1, 2); __ 126 src/mips/codegen-mips.cc __ Addu(scratch, scratch, FixedDoubleArray::kHeaderSize); __ 127 src/mips/codegen-mips.cc __ AllocateInNewSpace(scratch, t2, t3, t5, &gc_required, NO_ALLOCATION_FLAGS); __ 130 src/mips/codegen-mips.cc __ LoadRoot(t5, Heap::kFixedDoubleArrayMapRootIndex); __ 131 src/mips/codegen-mips.cc __ sw(t1, MemOperand(t2, FixedDoubleArray::kLengthOffset)); __ 132 src/mips/codegen-mips.cc __ sw(t5, MemOperand(t2, HeapObject::kMapOffset)); __ 135 src/mips/codegen-mips.cc __ sw(a3, FieldMemOperand(a2, HeapObject::kMapOffset)); __ 136 src/mips/codegen-mips.cc __ RecordWriteField(a2, __ 145 src/mips/codegen-mips.cc __ Addu(a3, t2, Operand(kHeapObjectTag)); __ 146 src/mips/codegen-mips.cc __ sw(a3, FieldMemOperand(a2, JSObject::kElementsOffset)); __ 147 src/mips/codegen-mips.cc __ RecordWriteField(a2, __ 158 src/mips/codegen-mips.cc __ Addu(a3, t0, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 159 src/mips/codegen-mips.cc __ Addu(t3, t2, Operand(FixedDoubleArray::kHeaderSize)); __ 160 src/mips/codegen-mips.cc __ sll(t2, t1, 2); __ 161 src/mips/codegen-mips.cc __ Addu(t2, t2, t3); __ 162 src/mips/codegen-mips.cc __ li(t0, Operand(kHoleNanLower32)); __ 163 src/mips/codegen-mips.cc __ li(t1, Operand(kHoleNanUpper32)); __ 169 src/mips/codegen-mips.cc if (!fpu_supported) __ Push(a1, a0); __ 171 src/mips/codegen-mips.cc __ Branch(&entry); __ 173 src/mips/codegen-mips.cc __ bind(&only_change_map); __ 174 src/mips/codegen-mips.cc __ sw(a3, FieldMemOperand(a2, HeapObject::kMapOffset)); __ 175 src/mips/codegen-mips.cc __ RecordWriteField(a2, __ 183 src/mips/codegen-mips.cc __ Branch(&done); __ 186 src/mips/codegen-mips.cc __ bind(&gc_required); __ 187 src/mips/codegen-mips.cc __ pop(ra); __ 188 src/mips/codegen-mips.cc __ Branch(fail); __ 191 src/mips/codegen-mips.cc __ bind(&loop); __ 192 src/mips/codegen-mips.cc __ lw(t5, MemOperand(a3)); __ 193 src/mips/codegen-mips.cc __ Addu(a3, a3, kIntSize); __ 195 src/mips/codegen-mips.cc __ UntagAndJumpIfNotSmi(t5, t5, &convert_hole); __ 200 src/mips/codegen-mips.cc __ mtc1(t5, f0); __ 201 src/mips/codegen-mips.cc __ cvt_d_w(f0, f0); __ 202 src/mips/codegen-mips.cc __ sdc1(f0, MemOperand(t3)); __ 203 src/mips/codegen-mips.cc __ Addu(t3, t3, kDoubleSize); __ 213 src/mips/codegen-mips.cc __ sw(a0, MemOperand(t3)); // mantissa __ 214 src/mips/codegen-mips.cc __ sw(a1, MemOperand(t3, kIntSize)); // exponent __ 215 src/mips/codegen-mips.cc __ Addu(t3, t3, kDoubleSize); __ 217 src/mips/codegen-mips.cc __ Branch(&entry); __ 220 src/mips/codegen-mips.cc __ bind(&convert_hole); __ 223 src/mips/codegen-mips.cc __ SmiTag(t5); __ 224 src/mips/codegen-mips.cc __ Or(t5, t5, Operand(1)); __ 225 src/mips/codegen-mips.cc __ LoadRoot(at, Heap::kTheHoleValueRootIndex); __ 226 src/mips/codegen-mips.cc __ Assert(eq, "object found in smi-only array", at, Operand(t5)); __ 228 src/mips/codegen-mips.cc __ sw(t0, MemOperand(t3)); // mantissa __ 229 src/mips/codegen-mips.cc __ sw(t1, MemOperand(t3, kIntSize)); // exponent __ 230 src/mips/codegen-mips.cc __ Addu(t3, t3, kDoubleSize); __ 232 src/mips/codegen-mips.cc __ bind(&entry); __ 233 src/mips/codegen-mips.cc __ Branch(&loop, lt, t3, Operand(t2)); __ 235 src/mips/codegen-mips.cc if (!fpu_supported) __ Pop(a1, a0); __ 236 src/mips/codegen-mips.cc __ pop(ra); __ 237 src/mips/codegen-mips.cc __ bind(&done); __ 255 src/mips/codegen-mips.cc __ lw(t0, FieldMemOperand(a2, JSObject::kElementsOffset)); __ 256 src/mips/codegen-mips.cc __ LoadRoot(at, Heap::kEmptyFixedArrayRootIndex); __ 257 src/mips/codegen-mips.cc __ Branch(&only_change_map, eq, at, Operand(t0)); __ 259 src/mips/codegen-mips.cc __ MultiPush(a0.bit() | a1.bit() | a2.bit() | a3.bit() | ra.bit()); __ 261 src/mips/codegen-mips.cc __ lw(t1, FieldMemOperand(t0, FixedArray::kLengthOffset)); __ 266 src/mips/codegen-mips.cc __ sll(a0, t1, 1); __ 267 src/mips/codegen-mips.cc __ Addu(a0, a0, FixedDoubleArray::kHeaderSize); __ 268 src/mips/codegen-mips.cc __ AllocateInNewSpace(a0, t2, t3, t5, &gc_required, NO_ALLOCATION_FLAGS); __ 271 src/mips/codegen-mips.cc __ LoadRoot(t5, Heap::kFixedArrayMapRootIndex); __ 272 src/mips/codegen-mips.cc __ sw(t1, MemOperand(t2, FixedDoubleArray::kLengthOffset)); __ 273 src/mips/codegen-mips.cc __ sw(t5, MemOperand(t2, HeapObject::kMapOffset)); __ 276 src/mips/codegen-mips.cc __ Addu(t0, t0, Operand(FixedDoubleArray::kHeaderSize - kHeapObjectTag + 4)); __ 277 src/mips/codegen-mips.cc __ Addu(a3, t2, Operand(FixedArray::kHeaderSize)); __ 278 src/mips/codegen-mips.cc __ Addu(t2, t2, Operand(kHeapObjectTag)); __ 279 src/mips/codegen-mips.cc __ sll(t1, t1, 1); __ 280 src/mips/codegen-mips.cc __ Addu(t1, a3, t1); __ 281 src/mips/codegen-mips.cc __ LoadRoot(t3, Heap::kTheHoleValueRootIndex); __ 282 src/mips/codegen-mips.cc __ LoadRoot(t5, Heap::kHeapNumberMapRootIndex); __ 290 src/mips/codegen-mips.cc __ Branch(&entry); __ 293 src/mips/codegen-mips.cc __ bind(&gc_required); __ 294 src/mips/codegen-mips.cc __ MultiPop(a0.bit() | a1.bit() | a2.bit() | a3.bit() | ra.bit()); __ 296 src/mips/codegen-mips.cc __ Branch(fail); __ 298 src/mips/codegen-mips.cc __ bind(&loop); __ 299 src/mips/codegen-mips.cc __ lw(a1, MemOperand(t0)); __ 300 src/mips/codegen-mips.cc __ Addu(t0, t0, kDoubleSize); __ 303 src/mips/codegen-mips.cc __ Branch(&convert_hole, eq, a1, Operand(kHoleNanUpper32)); __ 306 src/mips/codegen-mips.cc __ AllocateHeapNumber(a2, a0, t6, t5, &gc_required); __ 308 src/mips/codegen-mips.cc __ lw(a0, MemOperand(t0, -12)); __ 309 src/mips/codegen-mips.cc __ sw(a0, FieldMemOperand(a2, HeapNumber::kMantissaOffset)); __ 310 src/mips/codegen-mips.cc __ sw(a1, FieldMemOperand(a2, HeapNumber::kExponentOffset)); __ 311 src/mips/codegen-mips.cc __ mov(a0, a3); __ 312 src/mips/codegen-mips.cc __ sw(a2, MemOperand(a3)); __ 313 src/mips/codegen-mips.cc __ Addu(a3, a3, kIntSize); __ 314 src/mips/codegen-mips.cc __ RecordWrite(t2, __ 321 src/mips/codegen-mips.cc __ Branch(&entry); __ 324 src/mips/codegen-mips.cc __ bind(&convert_hole); __ 325 src/mips/codegen-mips.cc __ sw(t3, MemOperand(a3)); __ 326 src/mips/codegen-mips.cc __ Addu(a3, a3, kIntSize); __ 328 src/mips/codegen-mips.cc __ bind(&entry); __ 329 src/mips/codegen-mips.cc __ Branch(&loop, lt, a3, Operand(t1)); __ 331 src/mips/codegen-mips.cc __ MultiPop(a2.bit() | a3.bit() | a0.bit() | a1.bit()); __ 333 src/mips/codegen-mips.cc __ sw(t2, FieldMemOperand(a2, JSObject::kElementsOffset)); __ 334 src/mips/codegen-mips.cc __ RecordWriteField(a2, __ 342 src/mips/codegen-mips.cc __ pop(ra); __ 344 src/mips/codegen-mips.cc __ bind(&only_change_map); __ 346 src/mips/codegen-mips.cc __ sw(a3, FieldMemOperand(a2, HeapObject::kMapOffset)); __ 347 src/mips/codegen-mips.cc __ RecordWriteField(a2, __ 364 src/mips/codegen-mips.cc __ lw(result, FieldMemOperand(string, HeapObject::kMapOffset)); __ 365 src/mips/codegen-mips.cc __ lbu(result, FieldMemOperand(result, Map::kInstanceTypeOffset)); __ 369 src/mips/codegen-mips.cc __ And(at, result, Operand(kIsIndirectStringMask)); __ 370 src/mips/codegen-mips.cc __ Branch(&check_sequential, eq, at, Operand(zero_reg)); __ 374 src/mips/codegen-mips.cc __ And(at, result, Operand(kSlicedNotConsMask)); __ 375 src/mips/codegen-mips.cc __ Branch(&cons_string, eq, at, Operand(zero_reg)); __ 379 src/mips/codegen-mips.cc __ lw(result, FieldMemOperand(string, SlicedString::kOffsetOffset)); __ 380 src/mips/codegen-mips.cc __ lw(string, FieldMemOperand(string, SlicedString::kParentOffset)); __ 381 src/mips/codegen-mips.cc __ sra(at, result, kSmiTagSize); __ 382 src/mips/codegen-mips.cc __ Addu(index, index, at); __ 383 src/mips/codegen-mips.cc __ jmp(&indirect_string_loaded); __ 390 src/mips/codegen-mips.cc __ bind(&cons_string); __ 391 src/mips/codegen-mips.cc __ lw(result, FieldMemOperand(string, ConsString::kSecondOffset)); __ 392 src/mips/codegen-mips.cc __ LoadRoot(at, Heap::kEmptyStringRootIndex); __ 393 src/mips/codegen-mips.cc __ Branch(call_runtime, ne, result, Operand(at)); __ 395 src/mips/codegen-mips.cc __ lw(string, FieldMemOperand(string, ConsString::kFirstOffset)); __ 397 src/mips/codegen-mips.cc __ bind(&indirect_string_loaded); __ 398 src/mips/codegen-mips.cc __ lw(result, FieldMemOperand(string, HeapObject::kMapOffset)); __ 399 src/mips/codegen-mips.cc __ lbu(result, FieldMemOperand(result, Map::kInstanceTypeOffset)); __ 405 src/mips/codegen-mips.cc __ bind(&check_sequential); __ 407 src/mips/codegen-mips.cc __ And(at, result, Operand(kStringRepresentationMask)); __ 408 src/mips/codegen-mips.cc __ Branch(&external_string, ne, at, Operand(zero_reg)); __ 412 src/mips/codegen-mips.cc __ Addu(string, __ 415 src/mips/codegen-mips.cc __ jmp(&check_encoding); __ 418 src/mips/codegen-mips.cc __ bind(&external_string); __ 422 src/mips/codegen-mips.cc __ And(at, result, Operand(kIsIndirectStringMask)); __ 423 src/mips/codegen-mips.cc __ Assert(eq, "external string expected, but not found", __ 428 src/mips/codegen-mips.cc __ And(at, result, Operand(kShortExternalStringMask)); __ 429 src/mips/codegen-mips.cc __ Branch(call_runtime, ne, at, Operand(zero_reg)); __ 430 src/mips/codegen-mips.cc __ lw(string, FieldMemOperand(string, ExternalString::kResourceDataOffset)); __ 433 src/mips/codegen-mips.cc __ bind(&check_encoding); __ 435 src/mips/codegen-mips.cc __ And(at, result, Operand(kStringEncodingMask)); __ 436 src/mips/codegen-mips.cc __ Branch(&ascii, ne, at, Operand(zero_reg)); __ 438 src/mips/codegen-mips.cc __ sll(at, index, 1); __ 439 src/mips/codegen-mips.cc __ Addu(at, string, at); __ 440 src/mips/codegen-mips.cc __ lhu(result, MemOperand(at)); __ 441 src/mips/codegen-mips.cc __ jmp(&done); __ 442 src/mips/codegen-mips.cc __ bind(&ascii); __ 444 src/mips/codegen-mips.cc __ Addu(at, string, index); __ 445 src/mips/codegen-mips.cc __ lbu(result, MemOperand(at)); __ 446 src/mips/codegen-mips.cc __ bind(&done); __ 144 src/mips/debug-mips.cc __ And(at, reg, 0xc0000000); __ 145 src/mips/debug-mips.cc __ Assert( __ 148 src/mips/debug-mips.cc __ sll(reg, reg, kSmiTagSize); __ 151 src/mips/debug-mips.cc __ MultiPush(object_regs | non_object_regs); __ 155 src/mips/debug-mips.cc __ RecordComment("// Calling from debug break to runtime - come in - over"); __ 157 src/mips/debug-mips.cc __ PrepareCEntryArgs(0); // No arguments. __ 158 src/mips/debug-mips.cc __ PrepareCEntryFunction(ExternalReference::debug_break(masm->isolate())); __ 161 src/mips/debug-mips.cc __ CallStub(&ceb); __ 165 src/mips/debug-mips.cc __ MultiPop(object_regs | non_object_regs); __ 170 src/mips/debug-mips.cc __ srl(reg, reg, kSmiTagSize); __ 174 src/mips/debug-mips.cc __ li(reg, kDebugZapValue); __ 185 src/mips/debug-mips.cc __ li(t9, Operand( __ 187 src/mips/debug-mips.cc __ lw(t9, MemOperand(t9)); __ 188 src/mips/debug-mips.cc __ Jump(t9); __ 301 src/mips/debug-mips.cc __ bind(&check_codesize); __ 302 src/mips/debug-mips.cc __ RecordDebugBreakSlot(); __ 304 src/mips/debug-mips.cc __ nop(MacroAssembler::DEBUG_BREAK_NOP); __ 801 src/mips/deoptimizer-mips.cc __ Subu(sp, sp, Operand(kDoubleRegsSize)); __ 805 src/mips/deoptimizer-mips.cc __ sdc1(fpu_reg, MemOperand(sp, offset)); __ 810 src/mips/deoptimizer-mips.cc __ Subu(sp, sp, kNumberOfRegisters * kPointerSize); __ 813 src/mips/deoptimizer-mips.cc __ sw(ToRegister(i), MemOperand(sp, kPointerSize * i)); __ 821 src/mips/deoptimizer-mips.cc __ lw(a2, MemOperand(sp, kSavedRegistersAreaSize)); __ 827 src/mips/deoptimizer-mips.cc __ mov(a3, zero_reg); __ 829 src/mips/deoptimizer-mips.cc __ Addu(t0, sp, Operand(kSavedRegistersAreaSize + (1 * kPointerSize))); __ 831 src/mips/deoptimizer-mips.cc __ mov(a3, ra); __ 833 src/mips/deoptimizer-mips.cc __ Addu(t0, sp, Operand(kSavedRegistersAreaSize + (1 * kPointerSize))); __ 835 src/mips/deoptimizer-mips.cc __ mov(a3, ra); __ 837 src/mips/deoptimizer-mips.cc __ Addu(t0, sp, Operand(kSavedRegistersAreaSize + (2 * kPointerSize))); __ 840 src/mips/deoptimizer-mips.cc __ Subu(t0, fp, t0); __ 844 src/mips/deoptimizer-mips.cc __ PrepareCallCFunction(6, t1); __ 845 src/mips/deoptimizer-mips.cc __ lw(a0, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); __ 846 src/mips/deoptimizer-mips.cc __ li(a1, Operand(type())); // bailout type, __ 849 src/mips/deoptimizer-mips.cc __ sw(t0, CFunctionArgumentOperand(5)); // Fp-to-sp delta. __ 850 src/mips/deoptimizer-mips.cc __ li(t1, Operand(ExternalReference::isolate_address())); __ 851 src/mips/deoptimizer-mips.cc __ sw(t1, CFunctionArgumentOperand(6)); // Isolate. __ 855 src/mips/deoptimizer-mips.cc __ CallCFunction(ExternalReference::new_deoptimizer_function(isolate), 6); __ 861 src/mips/deoptimizer-mips.cc __ mov(a0, v0); __ 862 src/mips/deoptimizer-mips.cc __ lw(a1, MemOperand(v0, Deoptimizer::input_offset())); __ 869 src/mips/deoptimizer-mips.cc __ lw(a2, MemOperand(sp, i * kPointerSize)); __ 870 src/mips/deoptimizer-mips.cc __ sw(a2, MemOperand(a1, offset)); __ 872 src/mips/deoptimizer-mips.cc __ li(a2, kDebugZapValue); __ 873 src/mips/deoptimizer-mips.cc __ sw(a2, MemOperand(a1, offset)); __ 883 src/mips/deoptimizer-mips.cc __ ldc1(f0, MemOperand(sp, src_offset)); __ 884 src/mips/deoptimizer-mips.cc __ sdc1(f0, MemOperand(a1, dst_offset)); __ 890 src/mips/deoptimizer-mips.cc __ Addu(sp, sp, Operand(kSavedRegistersAreaSize + (1 * kPointerSize))); __ 892 src/mips/deoptimizer-mips.cc __ Addu(sp, sp, Operand(kSavedRegistersAreaSize + (2 * kPointerSize))); __ 897 src/mips/deoptimizer-mips.cc __ lw(a2, MemOperand(a1, FrameDescription::frame_size_offset())); __ 898 src/mips/deoptimizer-mips.cc __ Addu(a2, a2, sp); __ 903 src/mips/deoptimizer-mips.cc __ Addu(a3, a1, Operand(FrameDescription::frame_content_offset())); __ 905 src/mips/deoptimizer-mips.cc __ bind(&pop_loop); __ 906 src/mips/deoptimizer-mips.cc __ pop(t0); __ 907 src/mips/deoptimizer-mips.cc __ sw(t0, MemOperand(a3, 0)); __ 908 src/mips/deoptimizer-mips.cc __ Branch(USE_DELAY_SLOT, &pop_loop, ne, a2, Operand(sp)); __ 909 src/mips/deoptimizer-mips.cc __ addiu(a3, a3, sizeof(uint32_t)); // In delay slot. __ 912 src/mips/deoptimizer-mips.cc __ push(a0); // Preserve deoptimizer object across call. __ 914 src/mips/deoptimizer-mips.cc __ PrepareCallCFunction(1, a1); __ 918 src/mips/deoptimizer-mips.cc __ CallCFunction( __ 921 src/mips/deoptimizer-mips.cc __ pop(a0); // Restore deoptimizer object (class Deoptimizer). __ 927 src/mips/deoptimizer-mips.cc __ lw(a1, MemOperand(a0, Deoptimizer::output_count_offset())); __ 928 src/mips/deoptimizer-mips.cc __ lw(a0, MemOperand(a0, Deoptimizer::output_offset())); // a0 is output_. __ 929 src/mips/deoptimizer-mips.cc __ sll(a1, a1, kPointerSizeLog2); // Count to offset. __ 930 src/mips/deoptimizer-mips.cc __ addu(a1, a0, a1); // a1 = one past the last FrameDescription**. __ 931 src/mips/deoptimizer-mips.cc __ bind(&outer_push_loop); __ 933 src/mips/deoptimizer-mips.cc __ lw(a2, MemOperand(a0, 0)); // output_[ix] __ 934 src/mips/deoptimizer-mips.cc __ lw(a3, MemOperand(a2, FrameDescription::frame_size_offset())); __ 935 src/mips/deoptimizer-mips.cc __ bind(&inner_push_loop); __ 936 src/mips/deoptimizer-mips.cc __ Subu(a3, a3, Operand(sizeof(uint32_t))); __ 937 src/mips/deoptimizer-mips.cc __ Addu(t2, a2, Operand(a3)); __ 938 src/mips/deoptimizer-mips.cc __ lw(t3, MemOperand(t2, FrameDescription::frame_content_offset())); __ 939 src/mips/deoptimizer-mips.cc __ push(t3); __ 940 src/mips/deoptimizer-mips.cc __ Branch(&inner_push_loop, ne, a3, Operand(zero_reg)); __ 942 src/mips/deoptimizer-mips.cc __ Addu(a0, a0, Operand(kPointerSize)); __ 943 src/mips/deoptimizer-mips.cc __ Branch(&outer_push_loop, lt, a0, Operand(a1)); __ 948 src/mips/deoptimizer-mips.cc __ lw(t2, MemOperand(a2, FrameDescription::state_offset())); __ 949 src/mips/deoptimizer-mips.cc __ push(t2); __ 952 src/mips/deoptimizer-mips.cc __ lw(t2, MemOperand(a2, FrameDescription::pc_offset())); __ 953 src/mips/deoptimizer-mips.cc __ push(t2); __ 954 src/mips/deoptimizer-mips.cc __ lw(t2, MemOperand(a2, FrameDescription::continuation_offset())); __ 955 src/mips/deoptimizer-mips.cc __ push(t2); __ 962 src/mips/deoptimizer-mips.cc __ mov(at, a2); __ 966 src/mips/deoptimizer-mips.cc __ lw(ToRegister(i), MemOperand(at, offset)); __ 970 src/mips/deoptimizer-mips.cc __ InitializeRootRegister(); __ 972 src/mips/deoptimizer-mips.cc __ pop(at); // Get continuation, leave pc on stack. __ 973 src/mips/deoptimizer-mips.cc __ pop(ra); __ 974 src/mips/deoptimizer-mips.cc __ Jump(at); __ 975 src/mips/deoptimizer-mips.cc __ stop("Unreachable."); __ 988 src/mips/deoptimizer-mips.cc __ bind(&table_start); __ 991 src/mips/deoptimizer-mips.cc __ bind(&start); __ 994 src/mips/deoptimizer-mips.cc __ addiu(sp, sp, -2 * kPointerSize); __ 995 src/mips/deoptimizer-mips.cc __ sw(ra, MemOperand(sp, 1 * kPointerSize)); __ 997 src/mips/deoptimizer-mips.cc __ addiu(sp, sp, -1 * kPointerSize); __ 1003 src/mips/deoptimizer-mips.cc __ Addu(t9, t9, remaining_entries); __ 1005 src/mips/deoptimizer-mips.cc __ li(at, i); __ 1006 src/mips/deoptimizer-mips.cc __ jr(t9); // Expose delay slot. __ 1007 src/mips/deoptimizer-mips.cc __ sw(at, MemOperand(sp, 0 * kPointerSize)); // In the delay slot. __ 1011 src/mips/deoptimizer-mips.cc __ nop(); __ 84 src/mips/full-codegen-mips.cc __ bind(&patch_site_); __ 85 src/mips/full-codegen-mips.cc __ andi(at, reg, 0); __ 87 src/mips/full-codegen-mips.cc __ Branch(target, eq, at, Operand(zero_reg)); __ 95 src/mips/full-codegen-mips.cc __ bind(&patch_site_); __ 96 src/mips/full-codegen-mips.cc __ andi(at, reg, 0); __ 98 src/mips/full-codegen-mips.cc __ Branch(target, ne, at, Operand(zero_reg)); __ 105 src/mips/full-codegen-mips.cc __ andi(zero_reg, reg, delta_to_patch_site % kImm16Mask); __ 110 src/mips/full-codegen-mips.cc __ nop(); // Signals no inlined code. __ 149 src/mips/full-codegen-mips.cc __ stop("stop-at"); __ 159 src/mips/full-codegen-mips.cc __ Branch(&ok, eq, t1, Operand(zero_reg)); __ 161 src/mips/full-codegen-mips.cc __ LoadRoot(a2, Heap::kUndefinedValueRootIndex); __ 162 src/mips/full-codegen-mips.cc __ sw(a2, MemOperand(sp, receiver_offset)); __ 163 src/mips/full-codegen-mips.cc __ bind(&ok); __ 173 src/mips/full-codegen-mips.cc __ Push(ra, fp, cp, a1); __ 177 src/mips/full-codegen-mips.cc __ LoadRoot(at, Heap::kUndefinedValueRootIndex); __ 180 src/mips/full-codegen-mips.cc __ Addu(fp, sp, Operand(2 * kPointerSize)); __ 184 src/mips/full-codegen-mips.cc __ push(at); __ 195 src/mips/full-codegen-mips.cc __ push(a1); __ 198 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 200 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kNewFunctionContext, 1); __ 205 src/mips/full-codegen-mips.cc __ sw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 214 src/mips/full-codegen-mips.cc __ lw(a0, MemOperand(fp, parameter_offset)); __ 217 src/mips/full-codegen-mips.cc __ sw(a0, target); __ 220 src/mips/full-codegen-mips.cc __ RecordWriteContextSlot( __ 232 src/mips/full-codegen-mips.cc __ lw(a3, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); __ 234 src/mips/full-codegen-mips.cc __ mov(a3, a1); __ 239 src/mips/full-codegen-mips.cc __ Addu(a2, fp, __ 241 src/mips/full-codegen-mips.cc __ li(a1, Operand(Smi::FromInt(num_parameters))); __ 242 src/mips/full-codegen-mips.cc __ Push(a3, a2, a1); __ 257 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 263 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kTraceEnter, 0); __ 290 src/mips/full-codegen-mips.cc __ LoadRoot(t0, Heap::kStackLimitRootIndex); __ 291 src/mips/full-codegen-mips.cc __ Branch(&ok, hs, sp, Operand(t0)); __ 293 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 294 src/mips/full-codegen-mips.cc __ bind(&ok); __ 307 src/mips/full-codegen-mips.cc __ LoadRoot(v0, Heap::kUndefinedValueRootIndex); __ 315 src/mips/full-codegen-mips.cc __ mov(v0, zero_reg); __ 320 src/mips/full-codegen-mips.cc __ li(a2, Operand(profiling_counter_)); __ 321 src/mips/full-codegen-mips.cc __ lw(a3, FieldMemOperand(a2, JSGlobalPropertyCell::kValueOffset)); __ 322 src/mips/full-codegen-mips.cc __ Subu(a3, a3, Operand(Smi::FromInt(delta))); __ 323 src/mips/full-codegen-mips.cc __ sw(a3, FieldMemOperand(a2, JSGlobalPropertyCell::kValueOffset)); __ 337 src/mips/full-codegen-mips.cc __ li(a2, Operand(profiling_counter_)); __ 338 src/mips/full-codegen-mips.cc __ li(a3, Operand(Smi::FromInt(reset_value))); __ 339 src/mips/full-codegen-mips.cc __ sw(a3, FieldMemOperand(a2, JSGlobalPropertyCell::kValueOffset)); __ 366 src/mips/full-codegen-mips.cc __ slt(at, a3, zero_reg); __ 367 src/mips/full-codegen-mips.cc __ beq(at, zero_reg, &ok); __ 370 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 372 src/mips/full-codegen-mips.cc __ LoadRoot(t0, Heap::kStackLimitRootIndex); __ 373 src/mips/full-codegen-mips.cc __ sltu(at, sp, t0); __ 374 src/mips/full-codegen-mips.cc __ beq(at, zero_reg, &ok); __ 377 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 387 src/mips/full-codegen-mips.cc __ bind(&ok); __ 399 src/mips/full-codegen-mips.cc __ Branch(&return_label_); __ 401 src/mips/full-codegen-mips.cc __ bind(&return_label_); __ 405 src/mips/full-codegen-mips.cc __ push(v0); __ 406 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kTraceExit, 1); __ 420 src/mips/full-codegen-mips.cc __ Branch(&ok, ge, a3, Operand(zero_reg)); __ 421 src/mips/full-codegen-mips.cc __ push(v0); __ 423 src/mips/full-codegen-mips.cc __ lw(a2, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); __ 424 src/mips/full-codegen-mips.cc __ push(a2); __ 425 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kOptimizeFunctionOnNextCall, 1); __ 428 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 430 src/mips/full-codegen-mips.cc __ pop(v0); __ 432 src/mips/full-codegen-mips.cc __ bind(&ok); __ 447 src/mips/full-codegen-mips.cc __ RecordJSReturn(); __ 478 src/mips/full-codegen-mips.cc __ push(result_register()); __ 496 src/mips/full-codegen-mips.cc __ LoadRoot(result_register(), index); __ 502 src/mips/full-codegen-mips.cc __ LoadRoot(result_register(), index); __ 503 src/mips/full-codegen-mips.cc __ push(result_register()); __ 515 src/mips/full-codegen-mips.cc if (false_label_ != fall_through_) __ Branch(false_label_); __ 517 src/mips/full-codegen-mips.cc if (true_label_ != fall_through_) __ Branch(true_label_); __ 519 src/mips/full-codegen-mips.cc __ LoadRoot(result_register(), index); __ 531 src/mips/full-codegen-mips.cc __ li(result_register(), Operand(lit)); __ 537 src/mips/full-codegen-mips.cc __ li(result_register(), Operand(lit)); __ 538 src/mips/full-codegen-mips.cc __ push(result_register()); __ 549 src/mips/full-codegen-mips.cc if (false_label_ != fall_through_) __ Branch(false_label_); __ 551 src/mips/full-codegen-mips.cc if (true_label_ != fall_through_) __ Branch(true_label_); __ 554 src/mips/full-codegen-mips.cc if (false_label_ != fall_through_) __ Branch(false_label_); __ 556 src/mips/full-codegen-mips.cc if (true_label_ != fall_through_) __ Branch(true_label_); __ 560 src/mips/full-codegen-mips.cc if (false_label_ != fall_through_) __ Branch(false_label_); __ 562 src/mips/full-codegen-mips.cc if (true_label_ != fall_through_) __ Branch(true_label_); __ 566 src/mips/full-codegen-mips.cc __ li(result_register(), Operand(lit)); __ 575 src/mips/full-codegen-mips.cc __ Drop(count); __ 583 src/mips/full-codegen-mips.cc __ Drop(count); __ 584 src/mips/full-codegen-mips.cc __ Move(result_register(), reg); __ 591 src/mips/full-codegen-mips.cc if (count > 1) __ Drop(count - 1); __ 592 src/mips/full-codegen-mips.cc __ sw(reg, MemOperand(sp, 0)); __ 600 src/mips/full-codegen-mips.cc __ Drop(count); __ 601 src/mips/full-codegen-mips.cc __ Move(result_register(), reg); __ 610 src/mips/full-codegen-mips.cc __ bind(materialize_true); __ 618 src/mips/full-codegen-mips.cc __ bind(materialize_true); __ 619 src/mips/full-codegen-mips.cc __ LoadRoot(result_register(), Heap::kTrueValueRootIndex); __ 620 src/mips/full-codegen-mips.cc __ Branch(&done); __ 621 src/mips/full-codegen-mips.cc __ bind(materialize_false); __ 622 src/mips/full-codegen-mips.cc __ LoadRoot(result_register(), Heap::kFalseValueRootIndex); __ 623 src/mips/full-codegen-mips.cc __ bind(&done); __ 631 src/mips/full-codegen-mips.cc __ bind(materialize_true); __ 632 src/mips/full-codegen-mips.cc __ LoadRoot(at, Heap::kTrueValueRootIndex); __ 633 src/mips/full-codegen-mips.cc __ push(at); __ 634 src/mips/full-codegen-mips.cc __ Branch(&done); __ 635 src/mips/full-codegen-mips.cc __ bind(materialize_false); __ 636 src/mips/full-codegen-mips.cc __ LoadRoot(at, Heap::kFalseValueRootIndex); __ 637 src/mips/full-codegen-mips.cc __ push(at); __ 638 src/mips/full-codegen-mips.cc __ bind(&done); __ 656 src/mips/full-codegen-mips.cc __ LoadRoot(result_register(), value_root_index); __ 663 src/mips/full-codegen-mips.cc __ LoadRoot(at, value_root_index); __ 664 src/mips/full-codegen-mips.cc __ push(at); __ 674 src/mips/full-codegen-mips.cc if (true_label_ != fall_through_) __ Branch(true_label_); __ 676 src/mips/full-codegen-mips.cc if (false_label_ != fall_through_) __ Branch(false_label_); __ 687 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 688 src/mips/full-codegen-mips.cc __ mov(at, zero_reg); __ 692 src/mips/full-codegen-mips.cc __ push(result_register()); __ 693 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kToBool, 1); __ 694 src/mips/full-codegen-mips.cc __ LoadRoot(at, Heap::kFalseValueRootIndex); __ 707 src/mips/full-codegen-mips.cc __ Branch(if_true, cc, lhs, rhs); __ 709 src/mips/full-codegen-mips.cc __ Branch(if_false, NegateCondition(cc), lhs, rhs); __ 711 src/mips/full-codegen-mips.cc __ Branch(if_true, cc, lhs, rhs); __ 712 src/mips/full-codegen-mips.cc __ Branch(if_false); __ 735 src/mips/full-codegen-mips.cc __ LoadContext(scratch, context_chain_length); __ 746 src/mips/full-codegen-mips.cc __ lw(dest, location); __ 759 src/mips/full-codegen-mips.cc __ sw(src, location); __ 762 src/mips/full-codegen-mips.cc __ RecordWriteContextSlot(scratch0, __ 782 src/mips/full-codegen-mips.cc if (should_normalize) __ Branch(&skip); __ 785 src/mips/full-codegen-mips.cc __ LoadRoot(t0, Heap::kTrueValueRootIndex); __ 787 src/mips/full-codegen-mips.cc __ bind(&skip); __ 798 src/mips/full-codegen-mips.cc __ lw(a1, FieldMemOperand(cp, HeapObject::kMapOffset)); __ 799 src/mips/full-codegen-mips.cc __ LoadRoot(t0, Heap::kWithContextMapRootIndex); __ 800 src/mips/full-codegen-mips.cc __ Check(ne, "Declaration in with context.", __ 802 src/mips/full-codegen-mips.cc __ LoadRoot(t0, Heap::kCatchContextMapRootIndex); __ 803 src/mips/full-codegen-mips.cc __ Check(ne, "Declaration in catch context.", __ 831 src/mips/full-codegen-mips.cc __ LoadRoot(t0, Heap::kTheHoleValueRootIndex); __ 832 src/mips/full-codegen-mips.cc __ sw(t0, StackOperand(variable)); __ 840 src/mips/full-codegen-mips.cc __ LoadRoot(at, Heap::kTheHoleValueRootIndex); __ 841 src/mips/full-codegen-mips.cc __ sw(at, ContextOperand(cp, variable->index())); __ 849 src/mips/full-codegen-mips.cc __ li(a2, Operand(variable->name())); __ 855 src/mips/full-codegen-mips.cc __ li(a1, Operand(Smi::FromInt(attr))); __ 861 src/mips/full-codegen-mips.cc __ LoadRoot(a0, Heap::kTheHoleValueRootIndex); __ 862 src/mips/full-codegen-mips.cc __ Push(cp, a2, a1, a0); __ 865 src/mips/full-codegen-mips.cc __ mov(a0, zero_reg); // Smi::FromInt(0) indicates no initial value. __ 866 src/mips/full-codegen-mips.cc __ Push(cp, a2, a1, a0); __ 868 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kDeclareContextSlot, 4); __ 894 src/mips/full-codegen-mips.cc __ sw(result_register(), StackOperand(variable)); __ 902 src/mips/full-codegen-mips.cc __ sw(result_register(), ContextOperand(cp, variable->index())); __ 905 src/mips/full-codegen-mips.cc __ RecordWriteContextSlot(cp, __ 919 src/mips/full-codegen-mips.cc __ li(a2, Operand(variable->name())); __ 920 src/mips/full-codegen-mips.cc __ li(a1, Operand(Smi::FromInt(NONE))); __ 921 src/mips/full-codegen-mips.cc __ Push(cp, a2, a1); __ 924 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kDeclareContextSlot, 4); __ 949 src/mips/full-codegen-mips.cc __ li(a1, Operand(instance)); __ 950 src/mips/full-codegen-mips.cc __ sw(a1, ContextOperand(cp, variable->index())); __ 994 src/mips/full-codegen-mips.cc __ li(a1, Operand(pairs)); __ 995 src/mips/full-codegen-mips.cc __ li(a0, Operand(Smi::FromInt(DeclareGlobalsFlags()))); __ 996 src/mips/full-codegen-mips.cc __ Push(cp, a1, a0); __ 997 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kDeclareGlobals, 3); __ 1027 src/mips/full-codegen-mips.cc __ bind(&next_test); __ 1032 src/mips/full-codegen-mips.cc __ mov(a0, result_register()); // CompareStub requires args in a0, a1. __ 1035 src/mips/full-codegen-mips.cc __ lw(a1, MemOperand(sp, 0)); // Switch value. __ 1040 src/mips/full-codegen-mips.cc __ or_(a2, a1, a0); __ 1043 src/mips/full-codegen-mips.cc __ Branch(&next_test, ne, a1, Operand(a0)); __ 1044 src/mips/full-codegen-mips.cc __ Drop(1); // Switch value is no longer needed. __ 1045 src/mips/full-codegen-mips.cc __ Branch(clause->body_target()); __ 1047 src/mips/full-codegen-mips.cc __ bind(&slow_case); __ 1056 src/mips/full-codegen-mips.cc __ Branch(&next_test, ne, v0, Operand(zero_reg)); __ 1057 src/mips/full-codegen-mips.cc __ Drop(1); // Switch value is no longer needed. __ 1058 src/mips/full-codegen-mips.cc __ Branch(clause->body_target()); __ 1063 src/mips/full-codegen-mips.cc __ bind(&next_test); __ 1064 src/mips/full-codegen-mips.cc __ Drop(1); // Switch value is no longer needed. __ 1066 src/mips/full-codegen-mips.cc __ Branch(nested_statement.break_label()); __ 1068 src/mips/full-codegen-mips.cc __ Branch(default_clause->body_target()); __ 1075 src/mips/full-codegen-mips.cc __ bind(clause->body_target()); __ 1080 src/mips/full-codegen-mips.cc __ bind(nested_statement.break_label()); __ 1097 src/mips/full-codegen-mips.cc __ mov(a0, result_register()); // Result as param to InvokeBuiltin below. __ 1098 src/mips/full-codegen-mips.cc __ LoadRoot(at, Heap::kUndefinedValueRootIndex); __ 1099 src/mips/full-codegen-mips.cc __ Branch(&exit, eq, a0, Operand(at)); __ 1101 src/mips/full-codegen-mips.cc __ LoadRoot(null_value, Heap::kNullValueRootIndex); __ 1102 src/mips/full-codegen-mips.cc __ Branch(&exit, eq, a0, Operand(null_value)); __ 1104 src/mips/full-codegen-mips.cc __ mov(a0, v0); __ 1107 src/mips/full-codegen-mips.cc __ JumpIfSmi(a0, &convert); __ 1108 src/mips/full-codegen-mips.cc __ GetObjectType(a0, a1, a1); __ 1109 src/mips/full-codegen-mips.cc __ Branch(&done_convert, ge, a1, Operand(FIRST_SPEC_OBJECT_TYPE)); __ 1110 src/mips/full-codegen-mips.cc __ bind(&convert); __ 1111 src/mips/full-codegen-mips.cc __ push(a0); __ 1112 src/mips/full-codegen-mips.cc __ InvokeBuiltin(Builtins::TO_OBJECT, CALL_FUNCTION); __ 1113 src/mips/full-codegen-mips.cc __ mov(a0, v0); __ 1114 src/mips/full-codegen-mips.cc __ bind(&done_convert); __ 1115 src/mips/full-codegen-mips.cc __ push(a0); __ 1120 src/mips/full-codegen-mips.cc __ GetObjectType(a0, a1, a1); __ 1121 src/mips/full-codegen-mips.cc __ Branch(&call_runtime, le, a1, Operand(LAST_JS_PROXY_TYPE)); __ 1127 src/mips/full-codegen-mips.cc __ CheckEnumCache(null_value, &call_runtime); __ 1132 src/mips/full-codegen-mips.cc __ lw(v0, FieldMemOperand(a0, HeapObject::kMapOffset)); __ 1133 src/mips/full-codegen-mips.cc __ Branch(&use_cache); __ 1136 src/mips/full-codegen-mips.cc __ bind(&call_runtime); __ 1137 src/mips/full-codegen-mips.cc __ push(a0); // Duplicate the enumerable object on the stack. __ 1138 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kGetPropertyNamesFast, 1); __ 1144 src/mips/full-codegen-mips.cc __ mov(a2, v0); __ 1145 src/mips/full-codegen-mips.cc __ lw(a1, FieldMemOperand(a2, HeapObject::kMapOffset)); __ 1146 src/mips/full-codegen-mips.cc __ LoadRoot(at, Heap::kMetaMapRootIndex); __ 1147 src/mips/full-codegen-mips.cc __ Branch(&fixed_array, ne, a1, Operand(at)); __ 1150 src/mips/full-codegen-mips.cc __ bind(&use_cache); __ 1151 src/mips/full-codegen-mips.cc __ LoadInstanceDescriptors(v0, a1, a2); __ 1152 src/mips/full-codegen-mips.cc __ lw(a1, FieldMemOperand(a1, DescriptorArray::kLastAddedOffset)); __ 1153 src/mips/full-codegen-mips.cc __ lw(a2, FieldMemOperand(a1, DescriptorArray::kEnumCacheBridgeCacheOffset)); __ 1156 src/mips/full-codegen-mips.cc __ push(v0); // Map. __ 1157 src/mips/full-codegen-mips.cc __ lw(a1, FieldMemOperand(a2, FixedArray::kLengthOffset)); __ 1158 src/mips/full-codegen-mips.cc __ li(a0, Operand(Smi::FromInt(0))); __ 1160 src/mips/full-codegen-mips.cc __ Push(a2, a1, a0); __ 1161 src/mips/full-codegen-mips.cc __ jmp(&loop); __ 1165 src/mips/full-codegen-mips.cc __ bind(&fixed_array); __ 1172 src/mips/full-codegen-mips.cc __ LoadHeapObject(a1, cell); __ 1173 src/mips/full-codegen-mips.cc __ li(a2, Operand(Smi::FromInt(TypeFeedbackCells::kForInSlowCaseMarker))); __ 1174 src/mips/full-codegen-mips.cc __ sw(a2, FieldMemOperand(a1, JSGlobalPropertyCell::kValueOffset)); __ 1176 src/mips/full-codegen-mips.cc __ li(a1, Operand(Smi::FromInt(1))); // Smi indicates slow check __ 1177 src/mips/full-codegen-mips.cc __ lw(a2, MemOperand(sp, 0 * kPointerSize)); // Get enumerated object __ 1179 src/mips/full-codegen-mips.cc __ GetObjectType(a2, a3, a3); __ 1180 src/mips/full-codegen-mips.cc __ Branch(&non_proxy, gt, a3, Operand(LAST_JS_PROXY_TYPE)); __ 1181 src/mips/full-codegen-mips.cc __ li(a1, Operand(Smi::FromInt(0))); // Zero indicates proxy __ 1182 src/mips/full-codegen-mips.cc __ bind(&non_proxy); __ 1183 src/mips/full-codegen-mips.cc __ Push(a1, v0); // Smi and array __ 1184 src/mips/full-codegen-mips.cc __ lw(a1, FieldMemOperand(v0, FixedArray::kLengthOffset)); __ 1185 src/mips/full-codegen-mips.cc __ li(a0, Operand(Smi::FromInt(0))); __ 1186 src/mips/full-codegen-mips.cc __ Push(a1, a0); // Fixed array length (as smi) and initial index. __ 1190 src/mips/full-codegen-mips.cc __ bind(&loop); __ 1192 src/mips/full-codegen-mips.cc __ lw(a0, MemOperand(sp, 0 * kPointerSize)); __ 1193 src/mips/full-codegen-mips.cc __ lw(a1, MemOperand(sp, 1 * kPointerSize)); __ 1194 src/mips/full-codegen-mips.cc __ Branch(loop_statement.break_label(), hs, a0, Operand(a1)); __ 1197 src/mips/full-codegen-mips.cc __ lw(a2, MemOperand(sp, 2 * kPointerSize)); __ 1198 src/mips/full-codegen-mips.cc __ Addu(a2, a2, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 1199 src/mips/full-codegen-mips.cc __ sll(t0, a0, kPointerSizeLog2 - kSmiTagSize); __ 1200 src/mips/full-codegen-mips.cc __ addu(t0, a2, t0); // Array base + scaled (smi) index. __ 1201 src/mips/full-codegen-mips.cc __ lw(a3, MemOperand(t0)); // Current entry. __ 1205 src/mips/full-codegen-mips.cc __ lw(a2, MemOperand(sp, 3 * kPointerSize)); __ 1210 src/mips/full-codegen-mips.cc __ lw(a1, MemOperand(sp, 4 * kPointerSize)); __ 1211 src/mips/full-codegen-mips.cc __ lw(t0, FieldMemOperand(a1, HeapObject::kMapOffset)); __ 1212 src/mips/full-codegen-mips.cc __ Branch(&update_each, eq, t0, Operand(a2)); __ 1217 src/mips/full-codegen-mips.cc __ Branch(&update_each, eq, a2, Operand(zero_reg)); __ 1222 src/mips/full-codegen-mips.cc __ push(a1); // Enumerable. __ 1223 src/mips/full-codegen-mips.cc __ push(a3); // Current entry. __ 1224 src/mips/full-codegen-mips.cc __ InvokeBuiltin(Builtins::FILTER_KEY, CALL_FUNCTION); __ 1225 src/mips/full-codegen-mips.cc __ mov(a3, result_register()); __ 1226 src/mips/full-codegen-mips.cc __ Branch(loop_statement.continue_label(), eq, a3, Operand(zero_reg)); __ 1230 src/mips/full-codegen-mips.cc __ bind(&update_each); __ 1231 src/mips/full-codegen-mips.cc __ mov(result_register(), a3); __ 1242 src/mips/full-codegen-mips.cc __ bind(loop_statement.continue_label()); __ 1243 src/mips/full-codegen-mips.cc __ pop(a0); __ 1244 src/mips/full-codegen-mips.cc __ Addu(a0, a0, Operand(Smi::FromInt(1))); __ 1245 src/mips/full-codegen-mips.cc __ push(a0); __ 1248 src/mips/full-codegen-mips.cc __ Branch(&loop); __ 1251 src/mips/full-codegen-mips.cc __ bind(loop_statement.break_label()); __ 1252 src/mips/full-codegen-mips.cc __ Drop(5); __ 1256 src/mips/full-codegen-mips.cc __ bind(&exit); __ 1275 src/mips/full-codegen-mips.cc __ li(a0, Operand(info)); __ 1276 src/mips/full-codegen-mips.cc __ push(a0); __ 1277 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 1279 src/mips/full-codegen-mips.cc __ li(a0, Operand(info)); __ 1280 src/mips/full-codegen-mips.cc __ LoadRoot(a1, pretenure ? Heap::kTrueValueRootIndex __ 1282 src/mips/full-codegen-mips.cc __ Push(cp, a0, a1); __ 1283 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kNewClosure, 3); __ 1307 src/mips/full-codegen-mips.cc __ lw(temp, ContextOperand(current, Context::EXTENSION_INDEX)); __ 1308 src/mips/full-codegen-mips.cc __ Branch(slow, ne, temp, Operand(zero_reg)); __ 1311 src/mips/full-codegen-mips.cc __ lw(next, ContextOperand(current, Context::PREVIOUS_INDEX)); __ 1324 src/mips/full-codegen-mips.cc __ Move(next, current); __ 1326 src/mips/full-codegen-mips.cc __ bind(&loop); __ 1328 src/mips/full-codegen-mips.cc __ lw(temp, FieldMemOperand(next, HeapObject::kMapOffset)); __ 1329 src/mips/full-codegen-mips.cc __ LoadRoot(t0, Heap::kGlobalContextMapRootIndex); __ 1330 src/mips/full-codegen-mips.cc __ Branch(&fast, eq, temp, Operand(t0)); __ 1332 src/mips/full-codegen-mips.cc __ lw(temp, ContextOperand(next, Context::EXTENSION_INDEX)); __ 1333 src/mips/full-codegen-mips.cc __ Branch(slow, ne, temp, Operand(zero_reg)); __ 1335 src/mips/full-codegen-mips.cc __ lw(next, ContextOperand(next, Context::PREVIOUS_INDEX)); __ 1336 src/mips/full-codegen-mips.cc __ Branch(&loop); __ 1337 src/mips/full-codegen-mips.cc __ bind(&fast); __ 1340 src/mips/full-codegen-mips.cc __ lw(a0, GlobalObjectOperand()); __ 1341 src/mips/full-codegen-mips.cc __ li(a2, Operand(var->name())); __ 1361 src/mips/full-codegen-mips.cc __ lw(temp, ContextOperand(context, Context::EXTENSION_INDEX)); __ 1362 src/mips/full-codegen-mips.cc __ Branch(slow, ne, temp, Operand(zero_reg)); __ 1364 src/mips/full-codegen-mips.cc __ lw(next, ContextOperand(context, Context::PREVIOUS_INDEX)); __ 1370 src/mips/full-codegen-mips.cc __ lw(temp, ContextOperand(context, Context::EXTENSION_INDEX)); __ 1371 src/mips/full-codegen-mips.cc __ Branch(slow, ne, temp, Operand(zero_reg)); __ 1391 src/mips/full-codegen-mips.cc __ Branch(done); __ 1394 src/mips/full-codegen-mips.cc __ lw(v0, ContextSlotOperandCheckExtensions(local, slow)); __ 1398 src/mips/full-codegen-mips.cc __ LoadRoot(at, Heap::kTheHoleValueRootIndex); __ 1399 src/mips/full-codegen-mips.cc __ subu(at, v0, at); // Sub as compare: at == 0 on eq. __ 1401 src/mips/full-codegen-mips.cc __ LoadRoot(a0, Heap::kUndefinedValueRootIndex); __ 1402 src/mips/full-codegen-mips.cc __ Movz(v0, a0, at); // Conditional move: return Undefined if TheHole. __ 1404 src/mips/full-codegen-mips.cc __ Branch(done, ne, at, Operand(zero_reg)); __ 1405 src/mips/full-codegen-mips.cc __ li(a0, Operand(var->name())); __ 1406 src/mips/full-codegen-mips.cc __ push(a0); __ 1407 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kThrowReferenceError, 1); __ 1410 src/mips/full-codegen-mips.cc __ Branch(done); __ 1427 src/mips/full-codegen-mips.cc __ lw(a0, GlobalObjectOperand()); __ 1428 src/mips/full-codegen-mips.cc __ li(a2, Operand(var->name())); __ 1479 src/mips/full-codegen-mips.cc __ LoadRoot(at, Heap::kTheHoleValueRootIndex); __ 1480 src/mips/full-codegen-mips.cc __ subu(at, v0, at); // Sub as compare: at == 0 on eq. __ 1485 src/mips/full-codegen-mips.cc __ Branch(&done, ne, at, Operand(zero_reg)); __ 1486 src/mips/full-codegen-mips.cc __ li(a0, Operand(var->name())); __ 1487 src/mips/full-codegen-mips.cc __ push(a0); __ 1488 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kThrowReferenceError, 1); __ 1489 src/mips/full-codegen-mips.cc __ bind(&done); __ 1493 src/mips/full-codegen-mips.cc __ LoadRoot(a0, Heap::kUndefinedValueRootIndex); __ 1494 src/mips/full-codegen-mips.cc __ Movz(v0, a0, at); // Conditional move: Undefined if TheHole. __ 1509 src/mips/full-codegen-mips.cc __ bind(&slow); __ 1511 src/mips/full-codegen-mips.cc __ li(a1, Operand(var->name())); __ 1512 src/mips/full-codegen-mips.cc __ Push(cp, a1); // Context and name. __ 1513 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kLoadContextSlot, 2); __ 1514 src/mips/full-codegen-mips.cc __ bind(&done); __ 1531 src/mips/full-codegen-mips.cc __ lw(a0, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); __ 1532 src/mips/full-codegen-mips.cc __ lw(t0, FieldMemOperand(a0, JSFunction::kLiteralsOffset)); __ 1535 src/mips/full-codegen-mips.cc __ lw(t1, FieldMemOperand(t0, literal_offset)); __ 1536 src/mips/full-codegen-mips.cc __ LoadRoot(at, Heap::kUndefinedValueRootIndex); __ 1537 src/mips/full-codegen-mips.cc __ Branch(&materialized, ne, t1, Operand(at)); __ 1541 src/mips/full-codegen-mips.cc __ li(a3, Operand(Smi::FromInt(expr->literal_index()))); __ 1542 src/mips/full-codegen-mips.cc __ li(a2, Operand(expr->pattern())); __ 1543 src/mips/full-codegen-mips.cc __ li(a1, Operand(expr->flags())); __ 1544 src/mips/full-codegen-mips.cc __ Push(t0, a3, a2, a1); __ 1545 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kMaterializeRegExpLiteral, 4); __ 1546 src/mips/full-codegen-mips.cc __ mov(t1, v0); __ 1548 src/mips/full-codegen-mips.cc __ bind(&materialized); __ 1551 src/mips/full-codegen-mips.cc __ AllocateInNewSpace(size, v0, a2, a3, &runtime_allocate, TAG_OBJECT); __ 1552 src/mips/full-codegen-mips.cc __ jmp(&allocated); __ 1554 src/mips/full-codegen-mips.cc __ bind(&runtime_allocate); __ 1555 src/mips/full-codegen-mips.cc __ push(t1); __ 1556 src/mips/full-codegen-mips.cc __ li(a0, Operand(Smi::FromInt(size))); __ 1557 src/mips/full-codegen-mips.cc __ push(a0); __ 1558 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kAllocateInNewSpace, 1); __ 1559 src/mips/full-codegen-mips.cc __ pop(t1); __ 1561 src/mips/full-codegen-mips.cc __ bind(&allocated); __ 1567 src/mips/full-codegen-mips.cc __ CopyFields(v0, t1, a2.bit(), size / kPointerSize); __ 1574 src/mips/full-codegen-mips.cc __ LoadRoot(a1, Heap::kNullValueRootIndex); __ 1575 src/mips/full-codegen-mips.cc __ push(a1); __ 1585 src/mips/full-codegen-mips.cc __ lw(a3, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); __ 1586 src/mips/full-codegen-mips.cc __ lw(a3, FieldMemOperand(a3, JSFunction::kLiteralsOffset)); __ 1587 src/mips/full-codegen-mips.cc __ li(a2, Operand(Smi::FromInt(expr->literal_index()))); __ 1588 src/mips/full-codegen-mips.cc __ li(a1, Operand(constant_properties)); __ 1595 src/mips/full-codegen-mips.cc __ li(a0, Operand(Smi::FromInt(flags))); __ 1596 src/mips/full-codegen-mips.cc __ Push(a3, a2, a1, a0); __ 1599 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kCreateObjectLiteral, 4); __ 1602 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kCreateObjectLiteralShallow, 4); __ 1605 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 1625 src/mips/full-codegen-mips.cc __ push(v0); // Save result on stack. __ 1638 src/mips/full-codegen-mips.cc __ mov(a0, result_register()); __ 1639 src/mips/full-codegen-mips.cc __ li(a2, Operand(key->handle())); __ 1640 src/mips/full-codegen-mips.cc __ lw(a1, MemOperand(sp)); __ 1654 src/mips/full-codegen-mips.cc __ lw(a0, MemOperand(sp)); __ 1655 src/mips/full-codegen-mips.cc __ push(a0); __ 1659 src/mips/full-codegen-mips.cc __ li(a0, Operand(Smi::FromInt(NONE))); // PropertyAttributes. __ 1660 src/mips/full-codegen-mips.cc __ push(a0); __ 1661 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kSetProperty, 4); __ 1663 src/mips/full-codegen-mips.cc __ Drop(3); __ 1680 src/mips/full-codegen-mips.cc __ lw(a0, MemOperand(sp)); // Duplicate receiver. __ 1681 src/mips/full-codegen-mips.cc __ push(a0); __ 1685 src/mips/full-codegen-mips.cc __ li(a0, Operand(Smi::FromInt(NONE))); __ 1686 src/mips/full-codegen-mips.cc __ push(a0); __ 1687 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kDefineOrRedefineAccessorProperty, 5); __ 1692 src/mips/full-codegen-mips.cc __ lw(a0, MemOperand(sp)); __ 1693 src/mips/full-codegen-mips.cc __ push(a0); __ 1694 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kToFastProperties, 1); __ 1720 src/mips/full-codegen-mips.cc __ mov(a0, result_register()); __ 1721 src/mips/full-codegen-mips.cc __ lw(a3, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); __ 1722 src/mips/full-codegen-mips.cc __ lw(a3, FieldMemOperand(a3, JSFunction::kLiteralsOffset)); __ 1723 src/mips/full-codegen-mips.cc __ li(a2, Operand(Smi::FromInt(expr->literal_index()))); __ 1724 src/mips/full-codegen-mips.cc __ li(a1, Operand(constant_elements)); __ 1725 src/mips/full-codegen-mips.cc __ Push(a3, a2, a1); __ 1730 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 1731 src/mips/full-codegen-mips.cc __ IncrementCounter(isolate()->counters()->cow_arrays_created_stub(), __ 1734 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kCreateArrayLiteral, 3); __ 1736 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kCreateArrayLiteralShallow, 3); __ 1744 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 1761 src/mips/full-codegen-mips.cc __ push(v0); __ 1769 src/mips/full-codegen-mips.cc __ lw(t2, MemOperand(sp)); // Copy of array literal. __ 1770 src/mips/full-codegen-mips.cc __ lw(a1, FieldMemOperand(t2, JSObject::kElementsOffset)); __ 1771 src/mips/full-codegen-mips.cc __ sw(result_register(), FieldMemOperand(a1, offset)); __ 1773 src/mips/full-codegen-mips.cc __ RecordWriteField(a1, offset, result_register(), a2, __ 1777 src/mips/full-codegen-mips.cc __ lw(a1, MemOperand(sp)); // Copy of array literal. __ 1778 src/mips/full-codegen-mips.cc __ lw(a2, FieldMemOperand(a1, JSObject::kMapOffset)); __ 1779 src/mips/full-codegen-mips.cc __ li(a3, Operand(Smi::FromInt(i))); __ 1780 src/mips/full-codegen-mips.cc __ li(t0, Operand(Smi::FromInt(expr->literal_index()))); __ 1781 src/mips/full-codegen-mips.cc __ mov(a0, result_register()); __ 1783 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 1825 src/mips/full-codegen-mips.cc __ push(result_register()); __ 1835 src/mips/full-codegen-mips.cc __ lw(a1, MemOperand(sp, 0)); __ 1836 src/mips/full-codegen-mips.cc __ push(v0); __ 1865 src/mips/full-codegen-mips.cc __ push(v0); // Left operand goes on the stack. __ 1913 src/mips/full-codegen-mips.cc __ mov(a0, result_register()); __ 1914 src/mips/full-codegen-mips.cc __ li(a2, Operand(key->handle())); __ 1923 src/mips/full-codegen-mips.cc __ mov(a0, result_register()); __ 1943 src/mips/full-codegen-mips.cc __ pop(left); __ 1944 src/mips/full-codegen-mips.cc __ mov(a0, result_register()); __ 1947 src/mips/full-codegen-mips.cc __ Or(scratch1, left, Operand(right)); __ 1952 src/mips/full-codegen-mips.cc __ bind(&stub_call); __ 1956 src/mips/full-codegen-mips.cc __ jmp(&done); __ 1958 src/mips/full-codegen-mips.cc __ bind(&smi_case); __ 1964 src/mips/full-codegen-mips.cc __ Branch(&stub_call); __ 1965 src/mips/full-codegen-mips.cc __ GetLeastBitsFromSmi(scratch1, right, 5); __ 1966 src/mips/full-codegen-mips.cc __ srav(right, left, scratch1); __ 1967 src/mips/full-codegen-mips.cc __ And(v0, right, Operand(~kSmiTagMask)); __ 1970 src/mips/full-codegen-mips.cc __ Branch(&stub_call); __ 1971 src/mips/full-codegen-mips.cc __ SmiUntag(scratch1, left); __ 1972 src/mips/full-codegen-mips.cc __ GetLeastBitsFromSmi(scratch2, right, 5); __ 1973 src/mips/full-codegen-mips.cc __ sllv(scratch1, scratch1, scratch2); __ 1974 src/mips/full-codegen-mips.cc __ Addu(scratch2, scratch1, Operand(0x40000000)); __ 1975 src/mips/full-codegen-mips.cc __ Branch(&stub_call, lt, scratch2, Operand(zero_reg)); __ 1976 src/mips/full-codegen-mips.cc __ SmiTag(v0, scratch1); __ 1980 src/mips/full-codegen-mips.cc __ Branch(&stub_call); __ 1981 src/mips/full-codegen-mips.cc __ SmiUntag(scratch1, left); __ 1982 src/mips/full-codegen-mips.cc __ GetLeastBitsFromSmi(scratch2, right, 5); __ 1983 src/mips/full-codegen-mips.cc __ srlv(scratch1, scratch1, scratch2); __ 1984 src/mips/full-codegen-mips.cc __ And(scratch2, scratch1, 0xc0000000); __ 1985 src/mips/full-codegen-mips.cc __ Branch(&stub_call, ne, scratch2, Operand(zero_reg)); __ 1986 src/mips/full-codegen-mips.cc __ SmiTag(v0, scratch1); __ 1990 src/mips/full-codegen-mips.cc __ AdduAndCheckForOverflow(v0, left, right, scratch1); __ 1991 src/mips/full-codegen-mips.cc __ BranchOnOverflow(&stub_call, scratch1); __ 1994 src/mips/full-codegen-mips.cc __ SubuAndCheckForOverflow(v0, left, right, scratch1); __ 1995 src/mips/full-codegen-mips.cc __ BranchOnOverflow(&stub_call, scratch1); __ 1998 src/mips/full-codegen-mips.cc __ SmiUntag(scratch1, right); __ 1999 src/mips/full-codegen-mips.cc __ Mult(left, scratch1); __ 2000 src/mips/full-codegen-mips.cc __ mflo(scratch1); __ 2001 src/mips/full-codegen-mips.cc __ mfhi(scratch2); __ 2002 src/mips/full-codegen-mips.cc __ sra(scratch1, scratch1, 31); __ 2003 src/mips/full-codegen-mips.cc __ Branch(&stub_call, ne, scratch1, Operand(scratch2)); __ 2004 src/mips/full-codegen-mips.cc __ mflo(v0); __ 2005 src/mips/full-codegen-mips.cc __ Branch(&done, ne, v0, Operand(zero_reg)); __ 2006 src/mips/full-codegen-mips.cc __ Addu(scratch2, right, left); __ 2007 src/mips/full-codegen-mips.cc __ Branch(&stub_call, lt, scratch2, Operand(zero_reg)); __ 2009 src/mips/full-codegen-mips.cc __ mov(v0, zero_reg); __ 2013 src/mips/full-codegen-mips.cc __ Or(v0, left, Operand(right)); __ 2016 src/mips/full-codegen-mips.cc __ And(v0, left, Operand(right)); __ 2019 src/mips/full-codegen-mips.cc __ Xor(v0, left, Operand(right)); __ 2025 src/mips/full-codegen-mips.cc __ bind(&done); __ 2033 src/mips/full-codegen-mips.cc __ mov(a0, result_register()); __ 2034 src/mips/full-codegen-mips.cc __ pop(a1); __ 2070 src/mips/full-codegen-mips.cc __ push(result_register()); // Preserve value. __ 2072 src/mips/full-codegen-mips.cc __ mov(a1, result_register()); __ 2073 src/mips/full-codegen-mips.cc __ pop(a0); // Restore value. __ 2074 src/mips/full-codegen-mips.cc __ li(a2, Operand(prop->key()->AsLiteral()->handle())); __ 2082 src/mips/full-codegen-mips.cc __ push(result_register()); // Preserve value. __ 2085 src/mips/full-codegen-mips.cc __ mov(a1, result_register()); __ 2086 src/mips/full-codegen-mips.cc __ pop(a2); __ 2087 src/mips/full-codegen-mips.cc __ pop(a0); // Restore value. __ 2103 src/mips/full-codegen-mips.cc __ mov(a0, result_register()); __ 2104 src/mips/full-codegen-mips.cc __ li(a2, Operand(var->name())); __ 2105 src/mips/full-codegen-mips.cc __ lw(a1, GlobalObjectOperand()); __ 2116 src/mips/full-codegen-mips.cc __ lw(a1, StackOperand(var)); __ 2117 src/mips/full-codegen-mips.cc __ LoadRoot(t0, Heap::kTheHoleValueRootIndex); __ 2118 src/mips/full-codegen-mips.cc __ Branch(&skip, ne, a1, Operand(t0)); __ 2119 src/mips/full-codegen-mips.cc __ sw(result_register(), StackOperand(var)); __ 2120 src/mips/full-codegen-mips.cc __ bind(&skip); __ 2128 src/mips/full-codegen-mips.cc __ push(v0); __ 2129 src/mips/full-codegen-mips.cc __ li(a0, Operand(var->name())); __ 2130 src/mips/full-codegen-mips.cc __ Push(cp, a0); // Context and name. __ 2131 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kInitializeConstContextSlot, 3); __ 2137 src/mips/full-codegen-mips.cc __ push(v0); // Value. __ 2138 src/mips/full-codegen-mips.cc __ li(a1, Operand(var->name())); __ 2139 src/mips/full-codegen-mips.cc __ li(a0, Operand(Smi::FromInt(language_mode()))); __ 2140 src/mips/full-codegen-mips.cc __ Push(cp, a1, a0); // Context, name, strict mode. __ 2141 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kStoreContextSlot, 4); __ 2146 src/mips/full-codegen-mips.cc __ lw(a3, location); __ 2147 src/mips/full-codegen-mips.cc __ LoadRoot(t0, Heap::kTheHoleValueRootIndex); __ 2148 src/mips/full-codegen-mips.cc __ Branch(&assign, ne, a3, Operand(t0)); __ 2149 src/mips/full-codegen-mips.cc __ li(a3, Operand(var->name())); __ 2150 src/mips/full-codegen-mips.cc __ push(a3); __ 2151 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kThrowReferenceError, 1); __ 2153 src/mips/full-codegen-mips.cc __ bind(&assign); __ 2154 src/mips/full-codegen-mips.cc __ sw(result_register(), location); __ 2157 src/mips/full-codegen-mips.cc __ mov(a3, result_register()); __ 2159 src/mips/full-codegen-mips.cc __ RecordWriteContextSlot( __ 2171 src/mips/full-codegen-mips.cc __ lw(a2, location); __ 2172 src/mips/full-codegen-mips.cc __ LoadRoot(t0, Heap::kTheHoleValueRootIndex); __ 2173 src/mips/full-codegen-mips.cc __ Check(eq, "Let binding re-initialization.", a2, Operand(t0)); __ 2176 src/mips/full-codegen-mips.cc __ sw(v0, location); __ 2178 src/mips/full-codegen-mips.cc __ mov(a3, v0); __ 2180 src/mips/full-codegen-mips.cc __ RecordWriteContextSlot( __ 2185 src/mips/full-codegen-mips.cc __ push(v0); // Value. __ 2186 src/mips/full-codegen-mips.cc __ li(a1, Operand(var->name())); __ 2187 src/mips/full-codegen-mips.cc __ li(a0, Operand(Smi::FromInt(language_mode()))); __ 2188 src/mips/full-codegen-mips.cc __ Push(cp, a1, a0); // Context, name, strict mode. __ 2189 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kStoreContextSlot, 4); __ 2206 src/mips/full-codegen-mips.cc __ push(result_register()); __ 2207 src/mips/full-codegen-mips.cc __ lw(t0, MemOperand(sp, kPointerSize)); // Receiver is now under value. __ 2208 src/mips/full-codegen-mips.cc __ push(t0); __ 2209 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kToSlowProperties, 1); __ 2210 src/mips/full-codegen-mips.cc __ pop(result_register()); __ 2215 src/mips/full-codegen-mips.cc __ mov(a0, result_register()); // Load the value. __ 2216 src/mips/full-codegen-mips.cc __ li(a2, Operand(prop->key()->AsLiteral()->handle())); __ 2220 src/mips/full-codegen-mips.cc __ lw(a1, MemOperand(sp)); __ 2222 src/mips/full-codegen-mips.cc __ pop(a1); __ 2232 src/mips/full-codegen-mips.cc __ push(v0); // Result of assignment, saved even if not needed. __ 2234 src/mips/full-codegen-mips.cc __ lw(t0, MemOperand(sp, kPointerSize)); __ 2235 src/mips/full-codegen-mips.cc __ push(t0); __ 2236 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kToFastProperties, 1); __ 2237 src/mips/full-codegen-mips.cc __ pop(v0); __ 2238 src/mips/full-codegen-mips.cc __ Drop(1); __ 2252 src/mips/full-codegen-mips.cc __ push(result_register()); __ 2254 src/mips/full-codegen-mips.cc __ lw(t0, MemOperand(sp, 2 * kPointerSize)); __ 2255 src/mips/full-codegen-mips.cc __ push(t0); __ 2256 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kToSlowProperties, 1); __ 2257 src/mips/full-codegen-mips.cc __ pop(result_register()); __ 2267 src/mips/full-codegen-mips.cc __ mov(a0, result_register()); __ 2268 src/mips/full-codegen-mips.cc __ pop(a1); // Key. __ 2272 src/mips/full-codegen-mips.cc __ lw(a2, MemOperand(sp)); __ 2274 src/mips/full-codegen-mips.cc __ pop(a2); __ 2284 src/mips/full-codegen-mips.cc __ push(v0); // Result of assignment, saved even if not needed. __ 2286 src/mips/full-codegen-mips.cc __ lw(t0, MemOperand(sp, kPointerSize)); __ 2287 src/mips/full-codegen-mips.cc __ push(t0); __ 2288 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kToFastProperties, 1); __ 2289 src/mips/full-codegen-mips.cc __ pop(v0); __ 2290 src/mips/full-codegen-mips.cc __ Drop(1); __ 2308 src/mips/full-codegen-mips.cc __ pop(a1); __ 2319 src/mips/full-codegen-mips.cc __ Call(code, rmode, ast_id); __ 2333 src/mips/full-codegen-mips.cc __ li(a2, Operand(name)); __ 2343 src/mips/full-codegen-mips.cc __ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 2355 src/mips/full-codegen-mips.cc __ pop(a1); __ 2356 src/mips/full-codegen-mips.cc __ push(v0); __ 2357 src/mips/full-codegen-mips.cc __ push(a1); __ 2372 src/mips/full-codegen-mips.cc __ lw(a2, MemOperand(sp, (arg_count + 1) * kPointerSize)); // Key. __ 2376 src/mips/full-codegen-mips.cc __ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 2401 src/mips/full-codegen-mips.cc __ li(a2, Operand(cell)); __ 2405 src/mips/full-codegen-mips.cc __ lw(a1, MemOperand(sp, (arg_count + 1) * kPointerSize)); __ 2406 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 2409 src/mips/full-codegen-mips.cc __ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 2417 src/mips/full-codegen-mips.cc __ lw(a1, MemOperand(sp, arg_count * kPointerSize)); __ 2419 src/mips/full-codegen-mips.cc __ LoadRoot(a1, Heap::kUndefinedValueRootIndex); __ 2421 src/mips/full-codegen-mips.cc __ push(a1); __ 2425 src/mips/full-codegen-mips.cc __ lw(a1, MemOperand(fp, receiver_offset * kPointerSize)); __ 2426 src/mips/full-codegen-mips.cc __ push(a1); __ 2428 src/mips/full-codegen-mips.cc __ li(a1, Operand(Smi::FromInt(language_mode()))); __ 2429 src/mips/full-codegen-mips.cc __ push(a1); __ 2432 src/mips/full-codegen-mips.cc __ li(a1, Operand(Smi::FromInt(scope()->start_position()))); __ 2433 src/mips/full-codegen-mips.cc __ push(a1); __ 2436 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kResolvePossiblyDirectEval, 5); __ 2462 src/mips/full-codegen-mips.cc __ LoadRoot(a2, Heap::kUndefinedValueRootIndex); __ 2463 src/mips/full-codegen-mips.cc __ push(a2); // Reserved receiver slot. __ 2472 src/mips/full-codegen-mips.cc __ lw(a1, MemOperand(sp, (arg_count + 1) * kPointerSize)); __ 2473 src/mips/full-codegen-mips.cc __ push(a1); __ 2478 src/mips/full-codegen-mips.cc __ sw(v0, MemOperand(sp, (arg_count + 1) * kPointerSize)); __ 2479 src/mips/full-codegen-mips.cc __ sw(v1, MemOperand(sp, arg_count * kPointerSize)); __ 2484 src/mips/full-codegen-mips.cc __ lw(a1, MemOperand(sp, (arg_count + 1) * kPointerSize)); __ 2485 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 2488 src/mips/full-codegen-mips.cc __ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 2492 src/mips/full-codegen-mips.cc __ lw(a0, GlobalObjectOperand()); __ 2493 src/mips/full-codegen-mips.cc __ push(a0); __ 2505 src/mips/full-codegen-mips.cc __ bind(&slow); __ 2508 src/mips/full-codegen-mips.cc __ push(context_register()); __ 2509 src/mips/full-codegen-mips.cc __ li(a2, Operand(proxy->name())); __ 2510 src/mips/full-codegen-mips.cc __ push(a2); __ 2511 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kLoadContextSlot, 2); __ 2512 src/mips/full-codegen-mips.cc __ Push(v0, v1); // Function, receiver. __ 2519 src/mips/full-codegen-mips.cc __ Branch(&call); __ 2520 src/mips/full-codegen-mips.cc __ bind(&done); __ 2522 src/mips/full-codegen-mips.cc __ push(v0); __ 2525 src/mips/full-codegen-mips.cc __ LoadRoot(a1, Heap::kTheHoleValueRootIndex); __ 2526 src/mips/full-codegen-mips.cc __ push(a1); __ 2527 src/mips/full-codegen-mips.cc __ bind(&call); __ 2551 src/mips/full-codegen-mips.cc __ lw(a1, GlobalObjectOperand()); __ 2552 src/mips/full-codegen-mips.cc __ lw(a1, FieldMemOperand(a1, GlobalObject::kGlobalReceiverOffset)); __ 2553 src/mips/full-codegen-mips.cc __ push(a1); __ 2588 src/mips/full-codegen-mips.cc __ li(a0, Operand(arg_count)); __ 2589 src/mips/full-codegen-mips.cc __ lw(a1, MemOperand(sp, arg_count * kPointerSize)); __ 2600 src/mips/full-codegen-mips.cc __ li(a2, Operand(cell)); __ 2606 src/mips/full-codegen-mips.cc __ Call(stub.GetCode(), RelocInfo::CONSTRUCT_CALL); __ 2626 src/mips/full-codegen-mips.cc __ And(t0, v0, Operand(kSmiTagMask)); __ 2647 src/mips/full-codegen-mips.cc __ And(at, v0, Operand(kSmiTagMask | 0x80000000)); __ 2667 src/mips/full-codegen-mips.cc __ JumpIfSmi(v0, if_false); __ 2668 src/mips/full-codegen-mips.cc __ LoadRoot(at, Heap::kNullValueRootIndex); __ 2669 src/mips/full-codegen-mips.cc __ Branch(if_true, eq, v0, Operand(at)); __ 2670 src/mips/full-codegen-mips.cc __ lw(a2, FieldMemOperand(v0, HeapObject::kMapOffset)); __ 2672 src/mips/full-codegen-mips.cc __ lbu(a1, FieldMemOperand(a2, Map::kBitFieldOffset)); __ 2673 src/mips/full-codegen-mips.cc __ And(at, a1, Operand(1 << Map::kIsUndetectable)); __ 2674 src/mips/full-codegen-mips.cc __ Branch(if_false, ne, at, Operand(zero_reg)); __ 2675 src/mips/full-codegen-mips.cc __ lbu(a1, FieldMemOperand(a2, Map::kInstanceTypeOffset)); __ 2676 src/mips/full-codegen-mips.cc __ Branch(if_false, lt, a1, Operand(FIRST_NONCALLABLE_SPEC_OBJECT_TYPE)); __ 2698 src/mips/full-codegen-mips.cc __ JumpIfSmi(v0, if_false); __ 2699 src/mips/full-codegen-mips.cc __ GetObjectType(v0, a1, a1); __ 2721 src/mips/full-codegen-mips.cc __ JumpIfSmi(v0, if_false); __ 2722 src/mips/full-codegen-mips.cc __ lw(a1, FieldMemOperand(v0, HeapObject::kMapOffset)); __ 2723 src/mips/full-codegen-mips.cc __ lbu(a1, FieldMemOperand(a1, Map::kBitFieldOffset)); __ 2724 src/mips/full-codegen-mips.cc __ And(at, a1, Operand(1 << Map::kIsUndetectable)); __ 2746 src/mips/full-codegen-mips.cc if (FLAG_debug_code) __ AbortIfSmi(v0); __ 2748 src/mips/full-codegen-mips.cc __ lw(a1, FieldMemOperand(v0, HeapObject::kMapOffset)); __ 2749 src/mips/full-codegen-mips.cc __ lbu(t0, FieldMemOperand(a1, Map::kBitField2Offset)); __ 2750 src/mips/full-codegen-mips.cc __ And(t0, t0, 1 << Map::kStringWrapperSafeForDefaultValueOf); __ 2751 src/mips/full-codegen-mips.cc __ Branch(if_true, ne, t0, Operand(zero_reg)); __ 2754 src/mips/full-codegen-mips.cc __ lw(a2, FieldMemOperand(v0, JSObject::kPropertiesOffset)); __ 2755 src/mips/full-codegen-mips.cc __ lw(a2, FieldMemOperand(a2, HeapObject::kMapOffset)); __ 2756 src/mips/full-codegen-mips.cc __ LoadRoot(t0, Heap::kHashTableMapRootIndex); __ 2757 src/mips/full-codegen-mips.cc __ Branch(if_false, eq, a2, Operand(t0)); __ 2762 src/mips/full-codegen-mips.cc __ LoadInstanceDescriptors(a1, t0, a3); __ 2763 src/mips/full-codegen-mips.cc __ lw(a3, FieldMemOperand(t0, FixedArray::kLengthOffset)); __ 2770 src/mips/full-codegen-mips.cc __ Addu(a2, t0, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 2771 src/mips/full-codegen-mips.cc __ sll(t1, a3, kPointerSizeLog2 - kSmiTagSize); __ 2772 src/mips/full-codegen-mips.cc __ Addu(a2, a2, t1); __ 2775 src/mips/full-codegen-mips.cc __ Addu(t0, __ 2784 src/mips/full-codegen-mips.cc __ LoadRoot(t2, Heap::kvalue_of_symbolRootIndex); __ 2785 src/mips/full-codegen-mips.cc __ jmp(&entry); __ 2786 src/mips/full-codegen-mips.cc __ bind(&loop); __ 2787 src/mips/full-codegen-mips.cc __ lw(a3, MemOperand(t0, 0)); __ 2788 src/mips/full-codegen-mips.cc __ Branch(if_false, eq, a3, Operand(t2)); __ 2789 src/mips/full-codegen-mips.cc __ Addu(t0, t0, Operand(kPointerSize)); __ 2790 src/mips/full-codegen-mips.cc __ bind(&entry); __ 2791 src/mips/full-codegen-mips.cc __ Branch(&loop, ne, t0, Operand(a2)); __ 2795 src/mips/full-codegen-mips.cc __ lw(a2, FieldMemOperand(a1, Map::kPrototypeOffset)); __ 2796 src/mips/full-codegen-mips.cc __ JumpIfSmi(a2, if_false); __ 2797 src/mips/full-codegen-mips.cc __ lw(a2, FieldMemOperand(a2, HeapObject::kMapOffset)); __ 2798 src/mips/full-codegen-mips.cc __ lw(a3, ContextOperand(cp, Context::GLOBAL_INDEX)); __ 2799 src/mips/full-codegen-mips.cc __ lw(a3, FieldMemOperand(a3, GlobalObject::kGlobalContextOffset)); __ 2800 src/mips/full-codegen-mips.cc __ lw(a3, ContextOperand(a3, Context::STRING_FUNCTION_PROTOTYPE_MAP_INDEX)); __ 2801 src/mips/full-codegen-mips.cc __ Branch(if_false, ne, a2, Operand(a3)); __ 2805 src/mips/full-codegen-mips.cc __ lbu(a2, FieldMemOperand(a1, Map::kBitField2Offset)); __ 2806 src/mips/full-codegen-mips.cc __ Or(a2, a2, Operand(1 << Map::kStringWrapperSafeForDefaultValueOf)); __ 2807 src/mips/full-codegen-mips.cc __ sb(a2, FieldMemOperand(a1, Map::kBitField2Offset)); __ 2808 src/mips/full-codegen-mips.cc __ jmp(if_true); __ 2828 src/mips/full-codegen-mips.cc __ JumpIfSmi(v0, if_false); __ 2829 src/mips/full-codegen-mips.cc __ GetObjectType(v0, a1, a2); __ 2831 src/mips/full-codegen-mips.cc __ Branch(if_true, eq, a2, Operand(JS_FUNCTION_TYPE)); __ 2832 src/mips/full-codegen-mips.cc __ Branch(if_false); __ 2851 src/mips/full-codegen-mips.cc __ JumpIfSmi(v0, if_false); __ 2852 src/mips/full-codegen-mips.cc __ GetObjectType(v0, a1, a1); __ 2874 src/mips/full-codegen-mips.cc __ JumpIfSmi(v0, if_false); __ 2875 src/mips/full-codegen-mips.cc __ GetObjectType(v0, a1, a1); __ 2894 src/mips/full-codegen-mips.cc __ lw(a2, MemOperand(fp, StandardFrameConstants::kCallerFPOffset)); __ 2898 src/mips/full-codegen-mips.cc __ lw(a1, MemOperand(a2, StandardFrameConstants::kContextOffset)); __ 2899 src/mips/full-codegen-mips.cc __ Branch(&check_frame_marker, ne, __ 2901 src/mips/full-codegen-mips.cc __ lw(a2, MemOperand(a2, StandardFrameConstants::kCallerFPOffset)); __ 2904 src/mips/full-codegen-mips.cc __ bind(&check_frame_marker); __ 2905 src/mips/full-codegen-mips.cc __ lw(a1, MemOperand(a2, StandardFrameConstants::kMarkerOffset)); __ 2929 src/mips/full-codegen-mips.cc __ pop(a1); __ 2944 src/mips/full-codegen-mips.cc __ mov(a1, v0); __ 2945 src/mips/full-codegen-mips.cc __ li(a0, Operand(Smi::FromInt(info_->scope()->num_parameters()))); __ 2947 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 2956 src/mips/full-codegen-mips.cc __ li(v0, Operand(Smi::FromInt(info_->scope()->num_parameters()))); __ 2959 src/mips/full-codegen-mips.cc __ lw(a2, MemOperand(fp, StandardFrameConstants::kCallerFPOffset)); __ 2960 src/mips/full-codegen-mips.cc __ lw(a3, MemOperand(a2, StandardFrameConstants::kContextOffset)); __ 2961 src/mips/full-codegen-mips.cc __ Branch(&exit, ne, a3, __ 2966 src/mips/full-codegen-mips.cc __ lw(v0, MemOperand(a2, ArgumentsAdaptorFrameConstants::kLengthOffset)); __ 2968 src/mips/full-codegen-mips.cc __ bind(&exit); __ 2981 src/mips/full-codegen-mips.cc __ JumpIfSmi(v0, &null); __ 2988 src/mips/full-codegen-mips.cc __ GetObjectType(v0, v0, a1); // Map is now in v0. __ 2989 src/mips/full-codegen-mips.cc __ Branch(&null, lt, a1, Operand(FIRST_SPEC_OBJECT_TYPE)); __ 2993 src/mips/full-codegen-mips.cc __ Branch(&function, eq, a1, Operand(FIRST_SPEC_OBJECT_TYPE)); __ 2997 src/mips/full-codegen-mips.cc __ Branch(&function, eq, a1, Operand(LAST_SPEC_OBJECT_TYPE)); __ 3002 src/mips/full-codegen-mips.cc __ lw(v0, FieldMemOperand(v0, Map::kConstructorOffset)); __ 3003 src/mips/full-codegen-mips.cc __ GetObjectType(v0, a1, a1); __ 3004 src/mips/full-codegen-mips.cc __ Branch(&non_function_constructor, ne, a1, Operand(JS_FUNCTION_TYPE)); __ 3008 src/mips/full-codegen-mips.cc __ lw(v0, FieldMemOperand(v0, JSFunction::kSharedFunctionInfoOffset)); __ 3009 src/mips/full-codegen-mips.cc __ lw(v0, FieldMemOperand(v0, SharedFunctionInfo::kInstanceClassNameOffset)); __ 3010 src/mips/full-codegen-mips.cc __ Branch(&done); __ 3013 src/mips/full-codegen-mips.cc __ bind(&function); __ 3014 src/mips/full-codegen-mips.cc __ LoadRoot(v0, Heap::kfunction_class_symbolRootIndex); __ 3015 src/mips/full-codegen-mips.cc __ jmp(&done); __ 3018 src/mips/full-codegen-mips.cc __ bind(&non_function_constructor); __ 3019 src/mips/full-codegen-mips.cc __ LoadRoot(v0, Heap::kObject_symbolRootIndex); __ 3020 src/mips/full-codegen-mips.cc __ jmp(&done); __ 3023 src/mips/full-codegen-mips.cc __ bind(&null); __ 3024 src/mips/full-codegen-mips.cc __ LoadRoot(v0, Heap::kNullValueRootIndex); __ 3027 src/mips/full-codegen-mips.cc __ bind(&done); __ 3046 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kLog, 2); __ 3050 src/mips/full-codegen-mips.cc __ LoadRoot(v0, Heap::kUndefinedValueRootIndex); __ 3062 src/mips/full-codegen-mips.cc __ LoadRoot(t6, Heap::kHeapNumberMapRootIndex); __ 3063 src/mips/full-codegen-mips.cc __ AllocateHeapNumber(s0, a1, a2, t6, &slow_allocate_heapnumber); __ 3064 src/mips/full-codegen-mips.cc __ jmp(&heapnumber_allocated); __ 3066 src/mips/full-codegen-mips.cc __ bind(&slow_allocate_heapnumber); __ 3069 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kNumberAlloc, 0); __ 3070 src/mips/full-codegen-mips.cc __ mov(s0, v0); // Save result in s0, so it is saved thru CFunc call. __ 3072 src/mips/full-codegen-mips.cc __ bind(&heapnumber_allocated); __ 3078 src/mips/full-codegen-mips.cc __ PrepareCallCFunction(1, a0); __ 3079 src/mips/full-codegen-mips.cc __ lw(a0, ContextOperand(cp, Context::GLOBAL_INDEX)); __ 3080 src/mips/full-codegen-mips.cc __ lw(a0, FieldMemOperand(a0, GlobalObject::kGlobalContextOffset)); __ 3081 src/mips/full-codegen-mips.cc __ CallCFunction(ExternalReference::random_uint32_function(isolate()), 1); __ 3085 src/mips/full-codegen-mips.cc __ li(a1, Operand(0x41300000)); __ 3087 src/mips/full-codegen-mips.cc __ Move(f12, v0, a1); __ 3089 src/mips/full-codegen-mips.cc __ Move(f14, zero_reg, a1); __ 3091 src/mips/full-codegen-mips.cc __ sub_d(f0, f12, f14); __ 3092 src/mips/full-codegen-mips.cc __ sdc1(f0, FieldMemOperand(s0, HeapNumber::kValueOffset)); __ 3093 src/mips/full-codegen-mips.cc __ mov(v0, s0); __ 3095 src/mips/full-codegen-mips.cc __ PrepareCallCFunction(2, a0); __ 3096 src/mips/full-codegen-mips.cc __ mov(a0, s0); __ 3097 src/mips/full-codegen-mips.cc __ lw(a1, ContextOperand(cp, Context::GLOBAL_INDEX)); __ 3098 src/mips/full-codegen-mips.cc __ lw(a1, FieldMemOperand(a1, GlobalObject::kGlobalContextOffset)); __ 3099 src/mips/full-codegen-mips.cc __ CallCFunction( __ 3115 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 3129 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 3142 src/mips/full-codegen-mips.cc __ JumpIfSmi(v0, &done); __ 3144 src/mips/full-codegen-mips.cc __ GetObjectType(v0, a1, a1); __ 3145 src/mips/full-codegen-mips.cc __ Branch(&done, ne, a1, Operand(JS_VALUE_TYPE)); __ 3147 src/mips/full-codegen-mips.cc __ lw(v0, FieldMemOperand(v0, JSValue::kValueOffset)); __ 3149 src/mips/full-codegen-mips.cc __ bind(&done); __ 3169 src/mips/full-codegen-mips.cc __ AbortIfSmi(object); __ 3170 src/mips/full-codegen-mips.cc __ GetObjectType(object, scratch1, scratch1); __ 3171 src/mips/full-codegen-mips.cc __ Assert(eq, "Trying to get date field from non-date.", __ 3176 src/mips/full-codegen-mips.cc __ lw(result, FieldMemOperand(object, JSDate::kValueOffset)); __ 3180 src/mips/full-codegen-mips.cc __ li(scratch1, Operand(stamp)); __ 3181 src/mips/full-codegen-mips.cc __ lw(scratch1, MemOperand(scratch1)); __ 3182 src/mips/full-codegen-mips.cc __ lw(scratch0, FieldMemOperand(object, JSDate::kCacheStampOffset)); __ 3183 src/mips/full-codegen-mips.cc __ Branch(&runtime, ne, scratch1, Operand(scratch0)); __ 3184 src/mips/full-codegen-mips.cc __ lw(result, FieldMemOperand(object, JSDate::kValueOffset + __ 3186 src/mips/full-codegen-mips.cc __ jmp(&done); __ 3188 src/mips/full-codegen-mips.cc __ bind(&runtime); __ 3189 src/mips/full-codegen-mips.cc __ PrepareCallCFunction(2, scratch1); __ 3190 src/mips/full-codegen-mips.cc __ li(a1, Operand(index)); __ 3191 src/mips/full-codegen-mips.cc __ Move(a0, object); __ 3192 src/mips/full-codegen-mips.cc __ CallCFunction(ExternalReference::get_date_field_function(isolate()), 2); __ 3193 src/mips/full-codegen-mips.cc __ bind(&done); __ 3208 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 3210 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kMath_pow, 2); __ 3222 src/mips/full-codegen-mips.cc __ pop(a1); // v0 = value. a1 = object. __ 3226 src/mips/full-codegen-mips.cc __ JumpIfSmi(a1, &done); __ 3229 src/mips/full-codegen-mips.cc __ GetObjectType(a1, a2, a2); __ 3230 src/mips/full-codegen-mips.cc __ Branch(&done, ne, a2, Operand(JS_VALUE_TYPE)); __ 3233 src/mips/full-codegen-mips.cc __ sw(v0, FieldMemOperand(a1, JSValue::kValueOffset)); __ 3236 src/mips/full-codegen-mips.cc __ mov(a2, v0); __ 3237 src/mips/full-codegen-mips.cc __ RecordWriteField( __ 3240 src/mips/full-codegen-mips.cc __ bind(&done); __ 3253 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 3267 src/mips/full-codegen-mips.cc __ jmp(&done); __ 3272 src/mips/full-codegen-mips.cc __ bind(&done); __ 3283 src/mips/full-codegen-mips.cc __ mov(a0, result_register()); __ 3289 src/mips/full-codegen-mips.cc __ pop(object); __ 3302 src/mips/full-codegen-mips.cc __ jmp(&done); __ 3304 src/mips/full-codegen-mips.cc __ bind(&index_out_of_range); __ 3307 src/mips/full-codegen-mips.cc __ LoadRoot(result, Heap::kNanValueRootIndex); __ 3308 src/mips/full-codegen-mips.cc __ jmp(&done); __ 3310 src/mips/full-codegen-mips.cc __ bind(&need_conversion); __ 3313 src/mips/full-codegen-mips.cc __ LoadRoot(result, Heap::kUndefinedValueRootIndex); __ 3314 src/mips/full-codegen-mips.cc __ jmp(&done); __ 3319 src/mips/full-codegen-mips.cc __ bind(&done); __ 3330 src/mips/full-codegen-mips.cc __ mov(a0, result_register()); __ 3337 src/mips/full-codegen-mips.cc __ pop(object); __ 3351 src/mips/full-codegen-mips.cc __ jmp(&done); __ 3353 src/mips/full-codegen-mips.cc __ bind(&index_out_of_range); __ 3356 src/mips/full-codegen-mips.cc __ LoadRoot(result, Heap::kEmptyStringRootIndex); __ 3357 src/mips/full-codegen-mips.cc __ jmp(&done); __ 3359 src/mips/full-codegen-mips.cc __ bind(&need_conversion); __ 3362 src/mips/full-codegen-mips.cc __ li(result, Operand(Smi::FromInt(0))); __ 3363 src/mips/full-codegen-mips.cc __ jmp(&done); __ 3368 src/mips/full-codegen-mips.cc __ bind(&done); __ 3380 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 3393 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 3405 src/mips/full-codegen-mips.cc __ mov(a0, result_register()); // Stub requires parameter in a0 and on tos. __ 3406 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 3418 src/mips/full-codegen-mips.cc __ mov(a0, result_register()); // Stub requires parameter in a0 and on tos. __ 3419 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 3431 src/mips/full-codegen-mips.cc __ mov(a0, result_register()); // Stub requires parameter in a0 and on tos. __ 3432 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 3444 src/mips/full-codegen-mips.cc __ mov(a0, result_register()); // Stub requires parameter in a0 and on tos. __ 3445 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 3455 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kMath_sqrt, 1); __ 3472 src/mips/full-codegen-mips.cc __ GetObjectType(v0, a1, a1); __ 3473 src/mips/full-codegen-mips.cc __ Branch(&proxy, eq, a1, Operand(JS_FUNCTION_PROXY_TYPE)); __ 3476 src/mips/full-codegen-mips.cc __ mov(a1, result_register()); __ 3478 src/mips/full-codegen-mips.cc __ InvokeFunction(a1, count, CALL_FUNCTION, __ 3480 src/mips/full-codegen-mips.cc __ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 3481 src/mips/full-codegen-mips.cc __ jmp(&done); __ 3483 src/mips/full-codegen-mips.cc __ bind(&proxy); __ 3484 src/mips/full-codegen-mips.cc __ push(v0); __ 3485 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kCall, args->length()); __ 3486 src/mips/full-codegen-mips.cc __ bind(&done); __ 3499 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 3514 src/mips/full-codegen-mips.cc __ Abort("Attempt to use undefined cache."); __ 3515 src/mips/full-codegen-mips.cc __ LoadRoot(v0, Heap::kUndefinedValueRootIndex); __ 3524 src/mips/full-codegen-mips.cc __ lw(cache, ContextOperand(cp, Context::GLOBAL_INDEX)); __ 3525 src/mips/full-codegen-mips.cc __ lw(cache, FieldMemOperand(cache, GlobalObject::kGlobalContextOffset)); __ 3526 src/mips/full-codegen-mips.cc __ lw(cache, __ 3529 src/mips/full-codegen-mips.cc __ lw(cache, __ 3535 src/mips/full-codegen-mips.cc __ lw(a2, FieldMemOperand(cache, JSFunctionResultCache::kFingerOffset)); __ 3537 src/mips/full-codegen-mips.cc __ Addu(a3, cache, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 3539 src/mips/full-codegen-mips.cc __ sll(at, a2, kPointerSizeLog2 - kSmiTagSize); __ 3540 src/mips/full-codegen-mips.cc __ addu(a3, a3, at); __ 3542 src/mips/full-codegen-mips.cc __ lw(a2, MemOperand(a3)); __ 3543 src/mips/full-codegen-mips.cc __ Branch(¬_found, ne, key, Operand(a2)); __ 3545 src/mips/full-codegen-mips.cc __ lw(v0, MemOperand(a3, kPointerSize)); __ 3546 src/mips/full-codegen-mips.cc __ Branch(&done); __ 3548 src/mips/full-codegen-mips.cc __ bind(¬_found); __ 3550 src/mips/full-codegen-mips.cc __ Push(cache, key); __ 3551 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kGetFromCache, 2); __ 3553 src/mips/full-codegen-mips.cc __ bind(&done); __ 3569 src/mips/full-codegen-mips.cc __ pop(left); __ 3572 src/mips/full-codegen-mips.cc __ Branch(&ok, eq, left, Operand(right)); __ 3574 src/mips/full-codegen-mips.cc __ And(tmp, left, Operand(right)); __ 3575 src/mips/full-codegen-mips.cc __ JumpIfSmi(tmp, &fail); __ 3576 src/mips/full-codegen-mips.cc __ lw(tmp, FieldMemOperand(left, HeapObject::kMapOffset)); __ 3577 src/mips/full-codegen-mips.cc __ lbu(tmp2, FieldMemOperand(tmp, Map::kInstanceTypeOffset)); __ 3578 src/mips/full-codegen-mips.cc __ Branch(&fail, ne, tmp2, Operand(JS_REGEXP_TYPE)); __ 3579 src/mips/full-codegen-mips.cc __ lw(tmp2, FieldMemOperand(right, HeapObject::kMapOffset)); __ 3580 src/mips/full-codegen-mips.cc __ Branch(&fail, ne, tmp, Operand(tmp2)); __ 3581 src/mips/full-codegen-mips.cc __ lw(tmp, FieldMemOperand(left, JSRegExp::kDataOffset)); __ 3582 src/mips/full-codegen-mips.cc __ lw(tmp2, FieldMemOperand(right, JSRegExp::kDataOffset)); __ 3583 src/mips/full-codegen-mips.cc __ Branch(&ok, eq, tmp, Operand(tmp2)); __ 3584 src/mips/full-codegen-mips.cc __ bind(&fail); __ 3585 src/mips/full-codegen-mips.cc __ LoadRoot(v0, Heap::kFalseValueRootIndex); __ 3586 src/mips/full-codegen-mips.cc __ jmp(&done); __ 3587 src/mips/full-codegen-mips.cc __ bind(&ok); __ 3588 src/mips/full-codegen-mips.cc __ LoadRoot(v0, Heap::kTrueValueRootIndex); __ 3589 src/mips/full-codegen-mips.cc __ bind(&done); __ 3606 src/mips/full-codegen-mips.cc __ lw(a0, FieldMemOperand(v0, String::kHashFieldOffset)); __ 3607 src/mips/full-codegen-mips.cc __ And(a0, a0, Operand(String::kContainsCachedArrayIndexMask)); __ 3622 src/mips/full-codegen-mips.cc __ AbortIfNotString(v0); __ 3625 src/mips/full-codegen-mips.cc __ lw(v0, FieldMemOperand(v0, String::kHashFieldOffset)); __ 3626 src/mips/full-codegen-mips.cc __ IndexFromHash(v0, v0); __ 3658 src/mips/full-codegen-mips.cc __ pop(separator); __ 3661 src/mips/full-codegen-mips.cc __ JumpIfSmi(array, &bailout); __ 3662 src/mips/full-codegen-mips.cc __ GetObjectType(array, scratch1, scratch2); __ 3663 src/mips/full-codegen-mips.cc __ Branch(&bailout, ne, scratch2, Operand(JS_ARRAY_TYPE)); __ 3666 src/mips/full-codegen-mips.cc __ CheckFastElements(scratch1, scratch2, &bailout); __ 3669 src/mips/full-codegen-mips.cc __ lw(array_length, FieldMemOperand(array, JSArray::kLengthOffset)); __ 3670 src/mips/full-codegen-mips.cc __ SmiUntag(array_length); __ 3671 src/mips/full-codegen-mips.cc __ Branch(&non_trivial_array, ne, array_length, Operand(zero_reg)); __ 3672 src/mips/full-codegen-mips.cc __ LoadRoot(v0, Heap::kEmptyStringRootIndex); __ 3673 src/mips/full-codegen-mips.cc __ Branch(&done); __ 3675 src/mips/full-codegen-mips.cc __ bind(&non_trivial_array); __ 3679 src/mips/full-codegen-mips.cc __ lw(elements, FieldMemOperand(array, JSArray::kElementsOffset)); __ 3684 src/mips/full-codegen-mips.cc __ mov(string_length, zero_reg); __ 3685 src/mips/full-codegen-mips.cc __ Addu(element, __ 3687 src/mips/full-codegen-mips.cc __ sll(elements_end, array_length, kPointerSizeLog2); __ 3688 src/mips/full-codegen-mips.cc __ Addu(elements_end, element, elements_end); __ 3698 src/mips/full-codegen-mips.cc __ Assert(gt, "No empty arrays here in EmitFastAsciiArrayJoin", __ 3701 src/mips/full-codegen-mips.cc __ bind(&loop); __ 3702 src/mips/full-codegen-mips.cc __ lw(string, MemOperand(element)); __ 3703 src/mips/full-codegen-mips.cc __ Addu(element, element, kPointerSize); __ 3704 src/mips/full-codegen-mips.cc __ JumpIfSmi(string, &bailout); __ 3705 src/mips/full-codegen-mips.cc __ lw(scratch1, FieldMemOperand(string, HeapObject::kMapOffset)); __ 3706 src/mips/full-codegen-mips.cc __ lbu(scratch1, FieldMemOperand(scratch1, Map::kInstanceTypeOffset)); __ 3707 src/mips/full-codegen-mips.cc __ JumpIfInstanceTypeIsNotSequentialAscii(scratch1, scratch2, &bailout); __ 3708 src/mips/full-codegen-mips.cc __ lw(scratch1, FieldMemOperand(string, SeqAsciiString::kLengthOffset)); __ 3709 src/mips/full-codegen-mips.cc __ AdduAndCheckForOverflow(string_length, string_length, scratch1, scratch3); __ 3710 src/mips/full-codegen-mips.cc __ BranchOnOverflow(&bailout, scratch3); __ 3711 src/mips/full-codegen-mips.cc __ Branch(&loop, lt, element, Operand(elements_end)); __ 3714 src/mips/full-codegen-mips.cc __ Branch(¬_size_one_array, ne, array_length, Operand(1)); __ 3715 src/mips/full-codegen-mips.cc __ lw(v0, FieldMemOperand(elements, FixedArray::kHeaderSize)); __ 3716 src/mips/full-codegen-mips.cc __ Branch(&done); __ 3718 src/mips/full-codegen-mips.cc __ bind(¬_size_one_array); __ 3727 src/mips/full-codegen-mips.cc __ JumpIfSmi(separator, &bailout); __ 3728 src/mips/full-codegen-mips.cc __ lw(scratch1, FieldMemOperand(separator, HeapObject::kMapOffset)); __ 3729 src/mips/full-codegen-mips.cc __ lbu(scratch1, FieldMemOperand(scratch1, Map::kInstanceTypeOffset)); __ 3730 src/mips/full-codegen-mips.cc __ JumpIfInstanceTypeIsNotSequentialAscii(scratch1, scratch2, &bailout); __ 3735 src/mips/full-codegen-mips.cc __ lw(scratch1, FieldMemOperand(separator, SeqAsciiString::kLengthOffset)); __ 3736 src/mips/full-codegen-mips.cc __ Subu(string_length, string_length, Operand(scratch1)); __ 3737 src/mips/full-codegen-mips.cc __ Mult(array_length, scratch1); __ 3740 src/mips/full-codegen-mips.cc __ mfhi(scratch2); __ 3741 src/mips/full-codegen-mips.cc __ Branch(&bailout, ne, scratch2, Operand(zero_reg)); __ 3742 src/mips/full-codegen-mips.cc __ mflo(scratch2); __ 3743 src/mips/full-codegen-mips.cc __ And(scratch3, scratch2, Operand(0x80000000)); __ 3744 src/mips/full-codegen-mips.cc __ Branch(&bailout, ne, scratch3, Operand(zero_reg)); __ 3745 src/mips/full-codegen-mips.cc __ AdduAndCheckForOverflow(string_length, string_length, scratch2, scratch3); __ 3746 src/mips/full-codegen-mips.cc __ BranchOnOverflow(&bailout, scratch3); __ 3747 src/mips/full-codegen-mips.cc __ SmiUntag(string_length); __ 3751 src/mips/full-codegen-mips.cc __ Addu(element, __ 3760 src/mips/full-codegen-mips.cc __ AllocateAsciiString(result, __ 3769 src/mips/full-codegen-mips.cc __ sll(elements_end, array_length, kPointerSizeLog2); __ 3770 src/mips/full-codegen-mips.cc __ Addu(elements_end, element, elements_end); __ 3773 src/mips/full-codegen-mips.cc __ Addu(result_pos, __ 3778 src/mips/full-codegen-mips.cc __ lw(scratch1, FieldMemOperand(separator, SeqAsciiString::kLengthOffset)); __ 3779 src/mips/full-codegen-mips.cc __ li(at, Operand(Smi::FromInt(1))); __ 3780 src/mips/full-codegen-mips.cc __ Branch(&one_char_separator, eq, scratch1, Operand(at)); __ 3781 src/mips/full-codegen-mips.cc __ Branch(&long_separator, gt, scratch1, Operand(at)); __ 3784 src/mips/full-codegen-mips.cc __ bind(&empty_separator_loop); __ 3791 src/mips/full-codegen-mips.cc __ lw(string, MemOperand(element)); __ 3792 src/mips/full-codegen-mips.cc __ Addu(element, element, kPointerSize); __ 3793 src/mips/full-codegen-mips.cc __ lw(string_length, FieldMemOperand(string, String::kLengthOffset)); __ 3794 src/mips/full-codegen-mips.cc __ SmiUntag(string_length); __ 3795 src/mips/full-codegen-mips.cc __ Addu(string, string, SeqAsciiString::kHeaderSize - kHeapObjectTag); __ 3796 src/mips/full-codegen-mips.cc __ CopyBytes(string, result_pos, string_length, scratch1); __ 3798 src/mips/full-codegen-mips.cc __ Branch(&empty_separator_loop, lt, element, Operand(elements_end)); __ 3800 src/mips/full-codegen-mips.cc __ Branch(&done); __ 3803 src/mips/full-codegen-mips.cc __ bind(&one_char_separator); __ 3805 src/mips/full-codegen-mips.cc __ lbu(separator, FieldMemOperand(separator, SeqAsciiString::kHeaderSize)); __ 3808 src/mips/full-codegen-mips.cc __ jmp(&one_char_separator_loop_entry); __ 3810 src/mips/full-codegen-mips.cc __ bind(&one_char_separator_loop); __ 3818 src/mips/full-codegen-mips.cc __ sb(separator, MemOperand(result_pos)); __ 3819 src/mips/full-codegen-mips.cc __ Addu(result_pos, result_pos, 1); __ 3822 src/mips/full-codegen-mips.cc __ bind(&one_char_separator_loop_entry); __ 3823 src/mips/full-codegen-mips.cc __ lw(string, MemOperand(element)); __ 3824 src/mips/full-codegen-mips.cc __ Addu(element, element, kPointerSize); __ 3825 src/mips/full-codegen-mips.cc __ lw(string_length, FieldMemOperand(string, String::kLengthOffset)); __ 3826 src/mips/full-codegen-mips.cc __ SmiUntag(string_length); __ 3827 src/mips/full-codegen-mips.cc __ Addu(string, string, SeqAsciiString::kHeaderSize - kHeapObjectTag); __ 3828 src/mips/full-codegen-mips.cc __ CopyBytes(string, result_pos, string_length, scratch1); __ 3830 src/mips/full-codegen-mips.cc __ Branch(&one_char_separator_loop, lt, element, Operand(elements_end)); __ 3832 src/mips/full-codegen-mips.cc __ Branch(&done); __ 3836 src/mips/full-codegen-mips.cc __ bind(&long_separator_loop); __ 3844 src/mips/full-codegen-mips.cc __ lw(string_length, FieldMemOperand(separator, String::kLengthOffset)); __ 3845 src/mips/full-codegen-mips.cc __ SmiUntag(string_length); __ 3846 src/mips/full-codegen-mips.cc __ Addu(string, __ 3849 src/mips/full-codegen-mips.cc __ CopyBytes(string, result_pos, string_length, scratch1); __ 3851 src/mips/full-codegen-mips.cc __ bind(&long_separator); __ 3852 src/mips/full-codegen-mips.cc __ lw(string, MemOperand(element)); __ 3853 src/mips/full-codegen-mips.cc __ Addu(element, element, kPointerSize); __ 3854 src/mips/full-codegen-mips.cc __ lw(string_length, FieldMemOperand(string, String::kLengthOffset)); __ 3855 src/mips/full-codegen-mips.cc __ SmiUntag(string_length); __ 3856 src/mips/full-codegen-mips.cc __ Addu(string, string, SeqAsciiString::kHeaderSize - kHeapObjectTag); __ 3857 src/mips/full-codegen-mips.cc __ CopyBytes(string, result_pos, string_length, scratch1); __ 3859 src/mips/full-codegen-mips.cc __ Branch(&long_separator_loop, lt, element, Operand(elements_end)); __ 3861 src/mips/full-codegen-mips.cc __ Branch(&done); __ 3863 src/mips/full-codegen-mips.cc __ bind(&bailout); __ 3864 src/mips/full-codegen-mips.cc __ LoadRoot(v0, Heap::kUndefinedValueRootIndex); __ 3865 src/mips/full-codegen-mips.cc __ bind(&done); __ 3883 src/mips/full-codegen-mips.cc __ lw(a0, GlobalObjectOperand()); __ 3884 src/mips/full-codegen-mips.cc __ lw(a0, FieldMemOperand(a0, GlobalObject::kBuiltinsOffset)); __ 3885 src/mips/full-codegen-mips.cc __ push(a0); __ 3896 src/mips/full-codegen-mips.cc __ li(a2, Operand(expr->name())); __ 3902 src/mips/full-codegen-mips.cc __ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 3905 src/mips/full-codegen-mips.cc __ CallRuntime(expr->function(), arg_count); __ 3923 src/mips/full-codegen-mips.cc __ li(a1, Operand(Smi::FromInt(strict_mode_flag))); __ 3924 src/mips/full-codegen-mips.cc __ push(a1); __ 3925 src/mips/full-codegen-mips.cc __ InvokeBuiltin(Builtins::DELETE, CALL_FUNCTION); __ 3933 src/mips/full-codegen-mips.cc __ lw(a2, GlobalObjectOperand()); __ 3934 src/mips/full-codegen-mips.cc __ li(a1, Operand(var->name())); __ 3935 src/mips/full-codegen-mips.cc __ li(a0, Operand(Smi::FromInt(kNonStrictMode))); __ 3936 src/mips/full-codegen-mips.cc __ Push(a2, a1, a0); __ 3937 src/mips/full-codegen-mips.cc __ InvokeBuiltin(Builtins::DELETE, CALL_FUNCTION); __ 3946 src/mips/full-codegen-mips.cc __ push(context_register()); __ 3947 src/mips/full-codegen-mips.cc __ li(a2, Operand(var->name())); __ 3948 src/mips/full-codegen-mips.cc __ push(a2); __ 3949 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kDeleteContextSlot, 2); __ 3993 src/mips/full-codegen-mips.cc __ bind(&materialize_true); __ 3995 src/mips/full-codegen-mips.cc __ LoadRoot(v0, Heap::kTrueValueRootIndex); __ 3996 src/mips/full-codegen-mips.cc if (context()->IsStackValue()) __ push(v0); __ 3997 src/mips/full-codegen-mips.cc __ jmp(&done); __ 3998 src/mips/full-codegen-mips.cc __ bind(&materialize_false); __ 4000 src/mips/full-codegen-mips.cc __ LoadRoot(v0, Heap::kFalseValueRootIndex); __ 4001 src/mips/full-codegen-mips.cc if (context()->IsStackValue()) __ push(v0); __ 4002 src/mips/full-codegen-mips.cc __ bind(&done); __ 4012 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kTypeof, 1); __ 4021 src/mips/full-codegen-mips.cc __ JumpIfSmi(result_register(), &no_conversion); __ 4022 src/mips/full-codegen-mips.cc __ mov(a0, result_register()); __ 4024 src/mips/full-codegen-mips.cc __ CallStub(&convert_stub); __ 4025 src/mips/full-codegen-mips.cc __ bind(&no_conversion); __ 4055 src/mips/full-codegen-mips.cc __ mov(a0, result_register()); __ 4092 src/mips/full-codegen-mips.cc __ li(at, Operand(Smi::FromInt(0))); __ 4093 src/mips/full-codegen-mips.cc __ push(at); __ 4098 src/mips/full-codegen-mips.cc __ push(v0); __ 4103 src/mips/full-codegen-mips.cc __ lw(a1, MemOperand(sp, 0)); __ 4104 src/mips/full-codegen-mips.cc __ push(v0); __ 4119 src/mips/full-codegen-mips.cc __ JumpIfSmi(v0, &no_conversion); __ 4120 src/mips/full-codegen-mips.cc __ mov(a0, v0); __ 4122 src/mips/full-codegen-mips.cc __ CallStub(&convert_stub); __ 4123 src/mips/full-codegen-mips.cc __ bind(&no_conversion); __ 4133 src/mips/full-codegen-mips.cc __ push(v0); __ 4136 src/mips/full-codegen-mips.cc __ sw(v0, MemOperand(sp, kPointerSize)); __ 4139 src/mips/full-codegen-mips.cc __ sw(v0, MemOperand(sp, 2 * kPointerSize)); __ 4144 src/mips/full-codegen-mips.cc __ mov(a0, result_register()); __ 4151 src/mips/full-codegen-mips.cc __ li(a1, Operand(Smi::FromInt(count_value))); __ 4154 src/mips/full-codegen-mips.cc __ AdduAndCheckForOverflow(v0, a0, a1, t0); __ 4155 src/mips/full-codegen-mips.cc __ BranchOnOverflow(&stub_call, t0); // Do stub on overflow. __ 4160 src/mips/full-codegen-mips.cc __ bind(&stub_call); __ 4169 src/mips/full-codegen-mips.cc __ bind(&done); __ 4194 src/mips/full-codegen-mips.cc __ mov(a0, result_register()); // Value. __ 4195 src/mips/full-codegen-mips.cc __ li(a2, Operand(prop->key()->AsLiteral()->handle())); // Name. __ 4196 src/mips/full-codegen-mips.cc __ pop(a1); // Receiver. __ 4212 src/mips/full-codegen-mips.cc __ mov(a0, result_register()); // Value. __ 4213 src/mips/full-codegen-mips.cc __ pop(a1); // Key. __ 4214 src/mips/full-codegen-mips.cc __ pop(a2); // Receiver. __ 4239 src/mips/full-codegen-mips.cc __ lw(a0, GlobalObjectOperand()); __ 4240 src/mips/full-codegen-mips.cc __ li(a2, Operand(proxy->name())); __ 4254 src/mips/full-codegen-mips.cc __ bind(&slow); __ 4255 src/mips/full-codegen-mips.cc __ li(a0, Operand(proxy->name())); __ 4256 src/mips/full-codegen-mips.cc __ Push(cp, a0); __ 4257 src/mips/full-codegen-mips.cc __ CallRuntime(Runtime::kLoadContextSlotNoReferenceError, 2); __ 4259 src/mips/full-codegen-mips.cc __ bind(&done); __ 4284 src/mips/full-codegen-mips.cc __ JumpIfSmi(v0, if_true); __ 4285 src/mips/full-codegen-mips.cc __ lw(v0, FieldMemOperand(v0, HeapObject::kMapOffset)); __ 4286 src/mips/full-codegen-mips.cc __ LoadRoot(at, Heap::kHeapNumberMapRootIndex); __ 4289 src/mips/full-codegen-mips.cc __ JumpIfSmi(v0, if_false); __ 4291 src/mips/full-codegen-mips.cc __ GetObjectType(v0, v0, a1); __ 4292 src/mips/full-codegen-mips.cc __ Branch(if_false, ge, a1, Operand(FIRST_NONSTRING_TYPE)); __ 4293 src/mips/full-codegen-mips.cc __ lbu(a1, FieldMemOperand(v0, Map::kBitFieldOffset)); __ 4294 src/mips/full-codegen-mips.cc __ And(a1, a1, Operand(1 << Map::kIsUndetectable)); __ 4298 src/mips/full-codegen-mips.cc __ LoadRoot(at, Heap::kTrueValueRootIndex); __ 4299 src/mips/full-codegen-mips.cc __ Branch(if_true, eq, v0, Operand(at)); __ 4300 src/mips/full-codegen-mips.cc __ LoadRoot(at, Heap::kFalseValueRootIndex); __ 4304 src/mips/full-codegen-mips.cc __ LoadRoot(at, Heap::kNullValueRootIndex); __ 4307 src/mips/full-codegen-mips.cc __ LoadRoot(at, Heap::kUndefinedValueRootIndex); __ 4308 src/mips/full-codegen-mips.cc __ Branch(if_true, eq, v0, Operand(at)); __ 4309 src/mips/full-codegen-mips.cc __ JumpIfSmi(v0, if_false); __ 4311 src/mips/full-codegen-mips.cc __ lw(v0, FieldMemOperand(v0, HeapObject::kMapOffset)); __ 4312 src/mips/full-codegen-mips.cc __ lbu(a1, FieldMemOperand(v0, Map::kBitFieldOffset)); __ 4313 src/mips/full-codegen-mips.cc __ And(a1, a1, Operand(1 << Map::kIsUndetectable)); __ 4316 src/mips/full-codegen-mips.cc __ JumpIfSmi(v0, if_false); __ 4318 src/mips/full-codegen-mips.cc __ GetObjectType(v0, v0, a1); __ 4319 src/mips/full-codegen-mips.cc __ Branch(if_true, eq, a1, Operand(JS_FUNCTION_TYPE)); __ 4323 src/mips/full-codegen-mips.cc __ JumpIfSmi(v0, if_false); __ 4325 src/mips/full-codegen-mips.cc __ LoadRoot(at, Heap::kNullValueRootIndex); __ 4326 src/mips/full-codegen-mips.cc __ Branch(if_true, eq, v0, Operand(at)); __ 4329 src/mips/full-codegen-mips.cc __ GetObjectType(v0, v0, a1); __ 4330 src/mips/full-codegen-mips.cc __ Branch(if_false, lt, a1, Operand(FIRST_NONCALLABLE_SPEC_OBJECT_TYPE)); __ 4331 src/mips/full-codegen-mips.cc __ lbu(a1, FieldMemOperand(v0, Map::kInstanceTypeOffset)); __ 4332 src/mips/full-codegen-mips.cc __ Branch(if_false, gt, a1, Operand(LAST_NONCALLABLE_SPEC_OBJECT_TYPE)); __ 4334 src/mips/full-codegen-mips.cc __ lbu(a1, FieldMemOperand(v0, Map::kBitFieldOffset)); __ 4335 src/mips/full-codegen-mips.cc __ And(a1, a1, Operand(1 << Map::kIsUndetectable)); __ 4338 src/mips/full-codegen-mips.cc if (if_false != fall_through) __ jmp(if_false); __ 4366 src/mips/full-codegen-mips.cc __ InvokeBuiltin(Builtins::IN, CALL_FUNCTION); __ 4368 src/mips/full-codegen-mips.cc __ LoadRoot(t0, Heap::kTrueValueRootIndex); __ 4375 src/mips/full-codegen-mips.cc __ CallStub(&stub); __ 4407 src/mips/full-codegen-mips.cc __ mov(a0, result_register()); __ 4408 src/mips/full-codegen-mips.cc __ pop(a1); __ 4414 src/mips/full-codegen-mips.cc __ Or(a2, a0, Operand(a1)); __ 4417 src/mips/full-codegen-mips.cc __ bind(&slow_case); __ 4450 src/mips/full-codegen-mips.cc __ mov(a0, result_register()); __ 4451 src/mips/full-codegen-mips.cc __ LoadRoot(a1, nil_value); __ 4458 src/mips/full-codegen-mips.cc __ Branch(if_true, eq, a0, Operand(a1)); __ 4459 src/mips/full-codegen-mips.cc __ LoadRoot(a1, other_nil_value); __ 4460 src/mips/full-codegen-mips.cc __ Branch(if_true, eq, a0, Operand(a1)); __ 4461 src/mips/full-codegen-mips.cc __ JumpIfSmi(a0, if_false); __ 4463 src/mips/full-codegen-mips.cc __ lw(a1, FieldMemOperand(a0, HeapObject::kMapOffset)); __ 4464 src/mips/full-codegen-mips.cc __ lbu(a1, FieldMemOperand(a1, Map::kBitFieldOffset)); __ 4465 src/mips/full-codegen-mips.cc __ And(a1, a1, Operand(1 << Map::kIsUndetectable)); __ 4473 src/mips/full-codegen-mips.cc __ lw(v0, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); __ 4490 src/mips/full-codegen-mips.cc __ sw(value, MemOperand(fp, frame_offset)); __ 4495 src/mips/full-codegen-mips.cc __ lw(dst, ContextOperand(cp, context_index)); __ 4507 src/mips/full-codegen-mips.cc __ li(at, Operand(Smi::FromInt(0))); __ 4512 src/mips/full-codegen-mips.cc __ lw(at, ContextOperand(cp, Context::CLOSURE_INDEX)); __ 4515 src/mips/full-codegen-mips.cc __ lw(at, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); __ 4517 src/mips/full-codegen-mips.cc __ push(at); __ 4527 src/mips/full-codegen-mips.cc __ push(result_register()); __ 4529 src/mips/full-codegen-mips.cc __ Subu(a1, ra, Operand(masm_->CodeObject())); __ 4532 src/mips/full-codegen-mips.cc __ Addu(a1, a1, Operand(a1)); // Convert to smi. __ 4535 src/mips/full-codegen-mips.cc __ push(a1); __ 4540 src/mips/full-codegen-mips.cc __ li(at, Operand(pending_message_obj)); __ 4541 src/mips/full-codegen-mips.cc __ lw(a1, MemOperand(at)); __ 4542 src/mips/full-codegen-mips.cc __ push(a1); __ 4546 src/mips/full-codegen-mips.cc __ li(at, Operand(has_pending_message)); __ 4547 src/mips/full-codegen-mips.cc __ lw(a1, MemOperand(at)); __ 4548 src/mips/full-codegen-mips.cc __ SmiTag(a1); __ 4549 src/mips/full-codegen-mips.cc __ push(a1); __ 4553 src/mips/full-codegen-mips.cc __ li(at, Operand(pending_message_script)); __ 4554 src/mips/full-codegen-mips.cc __ lw(a1, MemOperand(at)); __ 4555 src/mips/full-codegen-mips.cc __ push(a1); __ 4562 src/mips/full-codegen-mips.cc __ pop(a1); __ 4565 src/mips/full-codegen-mips.cc __ li(at, Operand(pending_message_script)); __ 4566 src/mips/full-codegen-mips.cc __ sw(a1, MemOperand(at)); __ 4568 src/mips/full-codegen-mips.cc __ pop(a1); __ 4569 src/mips/full-codegen-mips.cc __ SmiUntag(a1); __ 4572 src/mips/full-codegen-mips.cc __ li(at, Operand(has_pending_message)); __ 4573 src/mips/full-codegen-mips.cc __ sw(a1, MemOperand(at)); __ 4575 src/mips/full-codegen-mips.cc __ pop(a1); __ 4578 src/mips/full-codegen-mips.cc __ li(at, Operand(pending_message_obj)); __ 4579 src/mips/full-codegen-mips.cc __ sw(a1, MemOperand(at)); __ 4582 src/mips/full-codegen-mips.cc __ pop(a1); __ 4585 src/mips/full-codegen-mips.cc __ pop(result_register()); __ 4587 src/mips/full-codegen-mips.cc __ sra(a1, a1, 1); // Un-smi-tag value. __ 4588 src/mips/full-codegen-mips.cc __ Addu(at, a1, Operand(masm_->CodeObject())); __ 4589 src/mips/full-codegen-mips.cc __ Jump(at); __ 4606 src/mips/full-codegen-mips.cc __ Drop(*stack_depth); // Down to the handler block. __ 4609 src/mips/full-codegen-mips.cc __ lw(cp, MemOperand(sp, StackHandlerConstants::kContextOffset)); __ 4610 src/mips/full-codegen-mips.cc __ sw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 4612 src/mips/full-codegen-mips.cc __ PopTryHandler(); __ 4613 src/mips/full-codegen-mips.cc __ Call(finally_entry_); __ 56 src/mips/ic-mips.cc __ Branch(global_object, eq, type, Operand(JS_GLOBAL_OBJECT_TYPE)); __ 57 src/mips/ic-mips.cc __ Branch(global_object, eq, type, Operand(JS_BUILTINS_OBJECT_TYPE)); __ 58 src/mips/ic-mips.cc __ Branch(global_object, eq, type, Operand(JS_GLOBAL_PROXY_TYPE)); __ 79 src/mips/ic-mips.cc __ JumpIfSmi(receiver, miss); __ 82 src/mips/ic-mips.cc __ GetObjectType(receiver, scratch0, scratch1); __ 83 src/mips/ic-mips.cc __ Branch(miss, lt, scratch1, Operand(FIRST_SPEC_OBJECT_TYPE)); __ 91 src/mips/ic-mips.cc __ lbu(scratch1, FieldMemOperand(scratch0, Map::kBitFieldOffset)); __ 92 src/mips/ic-mips.cc __ And(scratch1, scratch1, Operand((1 << Map::kIsAccessCheckNeeded) | __ 94 src/mips/ic-mips.cc __ Branch(miss, ne, scratch1, Operand(zero_reg)); __ 96 src/mips/ic-mips.cc __ lw(elements, FieldMemOperand(receiver, JSObject::kPropertiesOffset)); __ 97 src/mips/ic-mips.cc __ lw(scratch1, FieldMemOperand(elements, HeapObject::kMapOffset)); __ 98 src/mips/ic-mips.cc __ LoadRoot(scratch0, Heap::kHashTableMapRootIndex); __ 99 src/mips/ic-mips.cc __ Branch(miss, ne, scratch1, Operand(scratch0)); __ 142 src/mips/ic-mips.cc __ bind(&done); // scratch2 == elements + 4 * index. __ 146 src/mips/ic-mips.cc __ lw(scratch1, FieldMemOperand(scratch2, kDetailsOffset)); __ 147 src/mips/ic-mips.cc __ And(at, __ 150 src/mips/ic-mips.cc __ Branch(miss, ne, at, Operand(zero_reg)); __ 153 src/mips/ic-mips.cc __ lw(result, __ 195 src/mips/ic-mips.cc __ bind(&done); // scratch2 == elements + 4 * index. __ 202 src/mips/ic-mips.cc __ lw(scratch1, FieldMemOperand(scratch2, kDetailsOffset)); __ 203 src/mips/ic-mips.cc __ And(at, scratch1, Operand(kTypeAndReadOnlyMask)); __ 204 src/mips/ic-mips.cc __ Branch(miss, ne, at, Operand(zero_reg)); __ 208 src/mips/ic-mips.cc __ Addu(scratch2, scratch2, Operand(kValueOffset - kHeapObjectTag)); __ 209 src/mips/ic-mips.cc __ sw(value, MemOperand(scratch2)); __ 212 src/mips/ic-mips.cc __ mov(scratch1, value); __ 213 src/mips/ic-mips.cc __ RecordWrite( __ 228 src/mips/ic-mips.cc __ bind(&miss); __ 245 src/mips/ic-mips.cc __ bind(&miss); __ 260 src/mips/ic-mips.cc __ bind(&miss); __ 274 src/mips/ic-mips.cc __ JumpIfSmi(receiver, slow); __ 276 src/mips/ic-mips.cc __ lw(map, FieldMemOperand(receiver, HeapObject::kMapOffset)); __ 278 src/mips/ic-mips.cc __ lbu(scratch, FieldMemOperand(map, Map::kBitFieldOffset)); __ 279 src/mips/ic-mips.cc __ And(at, scratch, Operand(KeyedLoadIC::kSlowCaseBitFieldMask)); __ 280 src/mips/ic-mips.cc __ Branch(slow, ne, at, Operand(zero_reg)); __ 286 src/mips/ic-mips.cc __ lbu(scratch, FieldMemOperand(map, Map::kInstanceTypeOffset)); __ 287 src/mips/ic-mips.cc __ Branch(slow, lt, scratch, Operand(JS_OBJECT_TYPE)); __ 324 src/mips/ic-mips.cc __ lw(elements, FieldMemOperand(receiver, JSObject::kElementsOffset)); __ 327 src/mips/ic-mips.cc __ lw(scratch1, FieldMemOperand(elements, HeapObject::kMapOffset)); __ 328 src/mips/ic-mips.cc __ LoadRoot(at, Heap::kFixedArrayMapRootIndex); __ 329 src/mips/ic-mips.cc __ Branch(not_fast_array, ne, scratch1, Operand(at)); __ 331 src/mips/ic-mips.cc __ AssertFastElements(elements); __ 335 src/mips/ic-mips.cc __ lw(scratch1, FieldMemOperand(elements, FixedArray::kLengthOffset)); __ 336 src/mips/ic-mips.cc __ Branch(out_of_range, hs, key, Operand(scratch1)); __ 339 src/mips/ic-mips.cc __ Addu(scratch1, elements, __ 343 src/mips/ic-mips.cc __ sll(at, key, kPointerSizeLog2 - kSmiTagSize); __ 344 src/mips/ic-mips.cc __ addu(at, at, scratch1); __ 345 src/mips/ic-mips.cc __ lw(scratch2, MemOperand(at)); __ 347 src/mips/ic-mips.cc __ LoadRoot(at, Heap::kTheHoleValueRootIndex); __ 350 src/mips/ic-mips.cc __ Branch(out_of_range, eq, scratch2, Operand(at)); __ 351 src/mips/ic-mips.cc __ mov(result, scratch2); __ 365 src/mips/ic-mips.cc __ GetObjectType(key, map, hash); __ 366 src/mips/ic-mips.cc __ Branch(not_symbol, ge, hash, Operand(FIRST_NONSTRING_TYPE)); __ 369 src/mips/ic-mips.cc __ lw(hash, FieldMemOperand(key, String::kHashFieldOffset)); __ 370 src/mips/ic-mips.cc __ And(at, hash, Operand(String::kContainsCachedArrayIndexMask)); __ 371 src/mips/ic-mips.cc __ Branch(index_string, eq, at, Operand(zero_reg)); __ 375 src/mips/ic-mips.cc __ lbu(hash, FieldMemOperand(map, Map::kInstanceTypeOffset)); __ 377 src/mips/ic-mips.cc __ And(at, hash, Operand(kIsSymbolMask)); __ 378 src/mips/ic-mips.cc __ Branch(not_symbol, eq, at, Operand(zero_reg)); __ 412 src/mips/ic-mips.cc __ JumpIfSmi(a1, &number, t1); __ 413 src/mips/ic-mips.cc __ GetObjectType(a1, a3, a3); __ 414 src/mips/ic-mips.cc __ Branch(&non_number, ne, a3, Operand(HEAP_NUMBER_TYPE)); __ 415 src/mips/ic-mips.cc __ bind(&number); __ 418 src/mips/ic-mips.cc __ Branch(&probe); __ 421 src/mips/ic-mips.cc __ bind(&non_number); __ 422 src/mips/ic-mips.cc __ Branch(&non_string, Ugreater_equal, a3, Operand(FIRST_NONSTRING_TYPE)); __ 425 src/mips/ic-mips.cc __ Branch(&probe); __ 428 src/mips/ic-mips.cc __ bind(&non_string); __ 429 src/mips/ic-mips.cc __ LoadRoot(t0, Heap::kTrueValueRootIndex); __ 430 src/mips/ic-mips.cc __ Branch(&boolean, eq, a1, Operand(t0)); __ 431 src/mips/ic-mips.cc __ LoadRoot(t1, Heap::kFalseValueRootIndex); __ 432 src/mips/ic-mips.cc __ Branch(&miss, ne, a1, Operand(t1)); __ 433 src/mips/ic-mips.cc __ bind(&boolean); __ 438 src/mips/ic-mips.cc __ bind(&probe); __ 442 src/mips/ic-mips.cc __ bind(&miss); __ 453 src/mips/ic-mips.cc __ JumpIfSmi(a1, miss); __ 456 src/mips/ic-mips.cc __ GetObjectType(a1, scratch, scratch); __ 457 src/mips/ic-mips.cc __ Branch(miss, ne, scratch, Operand(JS_FUNCTION_TYPE)); __ 461 src/mips/ic-mips.cc __ InvokeFunction(a1, actual, JUMP_FUNCTION, __ 474 src/mips/ic-mips.cc __ lw(a1, MemOperand(sp, argc * kPointerSize)); __ 485 src/mips/ic-mips.cc __ bind(&miss); __ 500 src/mips/ic-mips.cc __ IncrementCounter(isolate->counters()->call_miss(), 1, a3, t0); __ 502 src/mips/ic-mips.cc __ IncrementCounter(isolate->counters()->keyed_call_miss(), 1, a3, t0); __ 506 src/mips/ic-mips.cc __ lw(a3, MemOperand(sp, argc*kPointerSize)); __ 512 src/mips/ic-mips.cc __ Push(a3, a2); __ 515 src/mips/ic-mips.cc __ PrepareCEntryArgs(2); __ 516 src/mips/ic-mips.cc __ PrepareCEntryFunction(ExternalReference(IC_Utility(id), isolate)); __ 519 src/mips/ic-mips.cc __ CallStub(&stub); __ 522 src/mips/ic-mips.cc __ mov(a1, v0); __ 529 src/mips/ic-mips.cc __ lw(a2, MemOperand(sp, argc * kPointerSize)); __ 530 src/mips/ic-mips.cc __ JumpIfSmi(a2, &invoke); __ 531 src/mips/ic-mips.cc __ GetObjectType(a2, a3, a3); __ 532 src/mips/ic-mips.cc __ Branch(&global, eq, a3, Operand(JS_GLOBAL_OBJECT_TYPE)); __ 533 src/mips/ic-mips.cc __ Branch(&invoke, ne, a3, Operand(JS_BUILTINS_OBJECT_TYPE)); __ 536 src/mips/ic-mips.cc __ bind(&global); __ 537 src/mips/ic-mips.cc __ lw(a2, FieldMemOperand(a2, GlobalObject::kGlobalReceiverOffset)); __ 538 src/mips/ic-mips.cc __ sw(a2, MemOperand(sp, argc * kPointerSize)); __ 539 src/mips/ic-mips.cc __ bind(&invoke); __ 546 src/mips/ic-mips.cc __ InvokeFunction(a1, __ 563 src/mips/ic-mips.cc __ lw(a1, MemOperand(sp, argc * kPointerSize)); __ 576 src/mips/ic-mips.cc __ lw(a1, MemOperand(sp, argc * kPointerSize)); __ 583 src/mips/ic-mips.cc __ JumpIfNotSmi(a2, &check_string); __ 584 src/mips/ic-mips.cc __ bind(&index_smi); __ 594 src/mips/ic-mips.cc __ IncrementCounter(counters->keyed_call_generic_smi_fast(), 1, a0, a3); __ 596 src/mips/ic-mips.cc __ bind(&do_call); __ 603 src/mips/ic-mips.cc __ bind(&check_number_dictionary); __ 608 src/mips/ic-mips.cc __ LoadRoot(at, Heap::kHashTableMapRootIndex); __ 609 src/mips/ic-mips.cc __ Branch(&slow_load, ne, a3, Operand(at)); __ 610 src/mips/ic-mips.cc __ sra(a0, a2, kSmiTagSize); __ 612 src/mips/ic-mips.cc __ LoadFromNumberDictionary(&slow_load, t0, a2, a1, a0, a3, t1); __ 613 src/mips/ic-mips.cc __ IncrementCounter(counters->keyed_call_generic_smi_dict(), 1, a0, a3); __ 614 src/mips/ic-mips.cc __ jmp(&do_call); __ 616 src/mips/ic-mips.cc __ bind(&slow_load); __ 619 src/mips/ic-mips.cc __ IncrementCounter(counters->keyed_call_generic_slow_load(), 1, a0, a3); __ 622 src/mips/ic-mips.cc __ push(a2); // Save the key. __ 623 src/mips/ic-mips.cc __ Push(a1, a2); // Pass the receiver and the key. __ 624 src/mips/ic-mips.cc __ CallRuntime(Runtime::kKeyedGetProperty, 2); __ 625 src/mips/ic-mips.cc __ pop(a2); // Restore the key. __ 627 src/mips/ic-mips.cc __ mov(a1, v0); __ 628 src/mips/ic-mips.cc __ jmp(&do_call); __ 630 src/mips/ic-mips.cc __ bind(&check_string); __ 640 src/mips/ic-mips.cc __ lw(a0, FieldMemOperand(a1, JSObject::kPropertiesOffset)); __ 641 src/mips/ic-mips.cc __ lw(a3, FieldMemOperand(a0, HeapObject::kMapOffset)); __ 642 src/mips/ic-mips.cc __ LoadRoot(at, Heap::kHashTableMapRootIndex); __ 643 src/mips/ic-mips.cc __ Branch(&lookup_monomorphic_cache, ne, a3, Operand(at)); __ 646 src/mips/ic-mips.cc __ IncrementCounter(counters->keyed_call_generic_lookup_dict(), 1, a0, a3); __ 647 src/mips/ic-mips.cc __ jmp(&do_call); __ 649 src/mips/ic-mips.cc __ bind(&lookup_monomorphic_cache); __ 650 src/mips/ic-mips.cc __ IncrementCounter(counters->keyed_call_generic_lookup_cache(), 1, a0, a3); __ 657 src/mips/ic-mips.cc __ bind(&slow_call); __ 664 src/mips/ic-mips.cc __ IncrementCounter(counters->keyed_call_generic_slow(), 1, a0, a3); __ 667 src/mips/ic-mips.cc __ bind(&index_string); __ 668 src/mips/ic-mips.cc __ IndexFromHash(a3, a2); __ 670 src/mips/ic-mips.cc __ jmp(&index_smi); __ 682 src/mips/ic-mips.cc __ JumpIfSmi(a2, &miss); __ 683 src/mips/ic-mips.cc __ IsObjectJSStringType(a2, a0, &miss); __ 686 src/mips/ic-mips.cc __ bind(&miss); __ 725 src/mips/ic-mips.cc __ Ret(); __ 728 src/mips/ic-mips.cc __ bind(&miss); __ 742 src/mips/ic-mips.cc __ IncrementCounter(isolate->counters()->keyed_load_miss(), 1, a3, t0); __ 744 src/mips/ic-mips.cc __ mov(a3, a0); __ 745 src/mips/ic-mips.cc __ Push(a3, a2); __ 749 src/mips/ic-mips.cc __ TailCallExternalReference(ref, 2, 1); __ 764 src/mips/ic-mips.cc __ JumpIfSmi(object, slow_case); __ 766 src/mips/ic-mips.cc __ GetObjectType(object, scratch1, scratch2); __ 767 src/mips/ic-mips.cc __ Branch(slow_case, lt, scratch2, Operand(FIRST_JS_RECEIVER_TYPE)); __ 770 src/mips/ic-mips.cc __ And(scratch1, key, Operand(0x80000001)); __ 771 src/mips/ic-mips.cc __ Branch(slow_case, ne, scratch1, Operand(zero_reg)); __ 774 src/mips/ic-mips.cc __ lw(scratch1, FieldMemOperand(object, JSObject::kElementsOffset)); __ 775 src/mips/ic-mips.cc __ CheckMap(scratch1, __ 782 src/mips/ic-mips.cc __ lw(scratch2, FieldMemOperand(scratch1, FixedArray::kLengthOffset)); __ 783 src/mips/ic-mips.cc __ Subu(scratch2, scratch2, Operand(Smi::FromInt(2))); __ 784 src/mips/ic-mips.cc __ Branch(unmapped_case, Ugreater_equal, key, Operand(scratch2)); __ 790 src/mips/ic-mips.cc __ li(scratch3, Operand(kPointerSize >> 1)); __ 791 src/mips/ic-mips.cc __ Mul(scratch3, key, scratch3); __ 792 src/mips/ic-mips.cc __ Addu(scratch3, scratch3, Operand(kOffset)); __ 794 src/mips/ic-mips.cc __ Addu(scratch2, scratch1, scratch3); __ 795 src/mips/ic-mips.cc __ lw(scratch2, MemOperand(scratch2)); __ 796 src/mips/ic-mips.cc __ LoadRoot(scratch3, Heap::kTheHoleValueRootIndex); __ 797 src/mips/ic-mips.cc __ Branch(unmapped_case, eq, scratch2, Operand(scratch3)); __ 802 src/mips/ic-mips.cc __ lw(scratch1, FieldMemOperand(scratch1, FixedArray::kHeaderSize)); __ 803 src/mips/ic-mips.cc __ li(scratch3, Operand(kPointerSize >> 1)); __ 804 src/mips/ic-mips.cc __ Mul(scratch3, scratch2, scratch3); __ 805 src/mips/ic-mips.cc __ Addu(scratch3, scratch3, Operand(Context::kHeaderSize - kHeapObjectTag)); __ 806 src/mips/ic-mips.cc __ Addu(scratch2, scratch1, scratch3); __ 822 src/mips/ic-mips.cc __ lw(backing_store, FieldMemOperand(parameter_map, kBackingStoreOffset)); __ 823 src/mips/ic-mips.cc __ CheckMap(backing_store, __ 828 src/mips/ic-mips.cc __ lw(scratch, FieldMemOperand(backing_store, FixedArray::kLengthOffset)); __ 829 src/mips/ic-mips.cc __ Branch(slow_case, Ugreater_equal, key, Operand(scratch)); __ 830 src/mips/ic-mips.cc __ li(scratch, Operand(kPointerSize >> 1)); __ 831 src/mips/ic-mips.cc __ Mul(scratch, key, scratch); __ 832 src/mips/ic-mips.cc __ Addu(scratch, __ 835 src/mips/ic-mips.cc __ Addu(scratch, backing_store, scratch); __ 849 src/mips/ic-mips.cc __ Ret(USE_DELAY_SLOT); __ 850 src/mips/ic-mips.cc __ lw(v0, mapped_location); __ 851 src/mips/ic-mips.cc __ bind(¬in); __ 855 src/mips/ic-mips.cc __ lw(a2, unmapped_location); __ 856 src/mips/ic-mips.cc __ LoadRoot(a3, Heap::kTheHoleValueRootIndex); __ 857 src/mips/ic-mips.cc __ Branch(&slow, eq, a2, Operand(a3)); __ 858 src/mips/ic-mips.cc __ Ret(USE_DELAY_SLOT); __ 859 src/mips/ic-mips.cc __ mov(v0, a2); __ 860 src/mips/ic-mips.cc __ bind(&slow); __ 876 src/mips/ic-mips.cc __ sw(a0, mapped_location); __ 877 src/mips/ic-mips.cc __ mov(t5, a0); __ 879 src/mips/ic-mips.cc __ RecordWrite(a3, mapped_location.rm(), t5, __ 881 src/mips/ic-mips.cc __ Ret(USE_DELAY_SLOT); __ 882 src/mips/ic-mips.cc __ mov(v0, a0); // (In delay slot) return the value stored in v0. __ 883 src/mips/ic-mips.cc __ bind(¬in); __ 888 src/mips/ic-mips.cc __ sw(a0, unmapped_location); __ 889 src/mips/ic-mips.cc __ mov(t5, a0); __ 891 src/mips/ic-mips.cc __ RecordWrite(a3, unmapped_location.rm(), t5, __ 893 src/mips/ic-mips.cc __ Ret(USE_DELAY_SLOT); __ 894 src/mips/ic-mips.cc __ mov(v0, a0); // (In delay slot) return the value stored in v0. __ 895 src/mips/ic-mips.cc __ bind(&slow); __ 908 src/mips/ic-mips.cc __ lw(a1, MemOperand(sp, argc * kPointerSize)); __ 911 src/mips/ic-mips.cc __ lw(a1, mapped_location); __ 913 src/mips/ic-mips.cc __ bind(¬in); __ 917 src/mips/ic-mips.cc __ lw(a1, unmapped_location); __ 918 src/mips/ic-mips.cc __ LoadRoot(a3, Heap::kTheHoleValueRootIndex); __ 919 src/mips/ic-mips.cc __ Branch(&slow, eq, a1, Operand(a3)); __ 921 src/mips/ic-mips.cc __ bind(&slow); __ 937 src/mips/ic-mips.cc __ IncrementCounter(isolate->counters()->keyed_load_miss(), 1, a3, t0); __ 939 src/mips/ic-mips.cc __ Push(a1, a0); __ 946 src/mips/ic-mips.cc __ TailCallExternalReference(ref, 2, 1); __ 957 src/mips/ic-mips.cc __ Push(a1, a0); __ 959 src/mips/ic-mips.cc __ TailCallRuntime(Runtime::kKeyedGetProperty, 2, 1); __ 978 src/mips/ic-mips.cc __ JumpIfNotSmi(key, &check_string); __ 979 src/mips/ic-mips.cc __ bind(&index_smi); __ 987 src/mips/ic-mips.cc __ CheckFastElements(a2, a3, &check_number_dictionary); __ 992 src/mips/ic-mips.cc __ IncrementCounter(isolate->counters()->keyed_load_generic_smi(), 1, a2, a3); __ 993 src/mips/ic-mips.cc __ Ret(); __ 995 src/mips/ic-mips.cc __ bind(&check_number_dictionary); __ 996 src/mips/ic-mips.cc __ lw(t0, FieldMemOperand(receiver, JSObject::kElementsOffset)); __ 997 src/mips/ic-mips.cc __ lw(a3, FieldMemOperand(t0, JSObject::kMapOffset)); __ 1003 src/mips/ic-mips.cc __ LoadRoot(at, Heap::kHashTableMapRootIndex); __ 1004 src/mips/ic-mips.cc __ Branch(&slow, ne, a3, Operand(at)); __ 1005 src/mips/ic-mips.cc __ sra(a2, a0, kSmiTagSize); __ 1006 src/mips/ic-mips.cc __ LoadFromNumberDictionary(&slow, t0, a0, v0, a2, a3, t1); __ 1007 src/mips/ic-mips.cc __ Ret(); __ 1010 src/mips/ic-mips.cc __ bind(&slow); __ 1011 src/mips/ic-mips.cc __ IncrementCounter(isolate->counters()->keyed_load_generic_slow(), __ 1017 src/mips/ic-mips.cc __ bind(&check_string); __ 1026 src/mips/ic-mips.cc __ lw(a3, FieldMemOperand(a1, JSObject::kPropertiesOffset)); __ 1027 src/mips/ic-mips.cc __ lw(t0, FieldMemOperand(a3, HeapObject::kMapOffset)); __ 1028 src/mips/ic-mips.cc __ LoadRoot(at, Heap::kHashTableMapRootIndex); __ 1029 src/mips/ic-mips.cc __ Branch(&probe_dictionary, eq, t0, Operand(at)); __ 1033 src/mips/ic-mips.cc __ lw(a2, FieldMemOperand(a1, HeapObject::kMapOffset)); __ 1034 src/mips/ic-mips.cc __ sra(a3, a2, KeyedLookupCache::kMapHashShift); __ 1035 src/mips/ic-mips.cc __ lw(t0, FieldMemOperand(a0, String::kHashFieldOffset)); __ 1036 src/mips/ic-mips.cc __ sra(at, t0, String::kHashShift); __ 1037 src/mips/ic-mips.cc __ xor_(a3, a3, at); __ 1039 src/mips/ic-mips.cc __ And(a3, a3, Operand(mask)); __ 1048 src/mips/ic-mips.cc __ li(t0, Operand(cache_keys)); __ 1049 src/mips/ic-mips.cc __ sll(at, a3, kPointerSizeLog2 + 1); __ 1050 src/mips/ic-mips.cc __ addu(t0, t0, at); __ 1054 src/mips/ic-mips.cc __ lw(t1, MemOperand(t0, kPointerSize * i * 2)); __ 1055 src/mips/ic-mips.cc __ Branch(&try_next_entry, ne, a2, Operand(t1)); __ 1056 src/mips/ic-mips.cc __ lw(t1, MemOperand(t0, kPointerSize * (i * 2 + 1))); __ 1057 src/mips/ic-mips.cc __ Branch(&hit_on_nth_entry[i], eq, a0, Operand(t1)); __ 1058 src/mips/ic-mips.cc __ bind(&try_next_entry); __ 1061 src/mips/ic-mips.cc __ lw(t1, MemOperand(t0, kPointerSize * (kEntriesPerBucket - 1) * 2)); __ 1062 src/mips/ic-mips.cc __ Branch(&slow, ne, a2, Operand(t1)); __ 1063 src/mips/ic-mips.cc __ lw(t1, MemOperand(t0, kPointerSize * ((kEntriesPerBucket - 1) * 2 + 1))); __ 1064 src/mips/ic-mips.cc __ Branch(&slow, ne, a0, Operand(t1)); __ 1076 src/mips/ic-mips.cc __ bind(&hit_on_nth_entry[i]); __ 1077 src/mips/ic-mips.cc __ li(t0, Operand(cache_field_offsets)); __ 1078 src/mips/ic-mips.cc __ sll(at, a3, kPointerSizeLog2); __ 1079 src/mips/ic-mips.cc __ addu(at, t0, at); __ 1080 src/mips/ic-mips.cc __ lw(t1, MemOperand(at, kPointerSize * i)); __ 1081 src/mips/ic-mips.cc __ lbu(t2, FieldMemOperand(a2, Map::kInObjectPropertiesOffset)); __ 1082 src/mips/ic-mips.cc __ Subu(t1, t1, t2); __ 1083 src/mips/ic-mips.cc __ Branch(&property_array_property, ge, t1, Operand(zero_reg)); __ 1085 src/mips/ic-mips.cc __ Branch(&load_in_object_property); __ 1090 src/mips/ic-mips.cc __ bind(&load_in_object_property); __ 1091 src/mips/ic-mips.cc __ lbu(t2, FieldMemOperand(a2, Map::kInstanceSizeOffset)); __ 1092 src/mips/ic-mips.cc __ addu(t2, t2, t1); // Index from start of object. __ 1093 src/mips/ic-mips.cc __ Subu(a1, a1, Operand(kHeapObjectTag)); // Remove the heap tag. __ 1094 src/mips/ic-mips.cc __ sll(at, t2, kPointerSizeLog2); __ 1095 src/mips/ic-mips.cc __ addu(at, a1, at); __ 1096 src/mips/ic-mips.cc __ lw(v0, MemOperand(at)); __ 1097 src/mips/ic-mips.cc __ IncrementCounter(isolate->counters()->keyed_load_generic_lookup_cache(), __ 1101 src/mips/ic-mips.cc __ Ret(); __ 1104 src/mips/ic-mips.cc __ bind(&property_array_property); __ 1105 src/mips/ic-mips.cc __ lw(a1, FieldMemOperand(a1, JSObject::kPropertiesOffset)); __ 1106 src/mips/ic-mips.cc __ Addu(a1, a1, FixedArray::kHeaderSize - kHeapObjectTag); __ 1107 src/mips/ic-mips.cc __ sll(t0, t1, kPointerSizeLog2); __ 1108 src/mips/ic-mips.cc __ Addu(t0, t0, a1); __ 1109 src/mips/ic-mips.cc __ lw(v0, MemOperand(t0)); __ 1110 src/mips/ic-mips.cc __ IncrementCounter(isolate->counters()->keyed_load_generic_lookup_cache(), __ 1114 src/mips/ic-mips.cc __ Ret(); __ 1119 src/mips/ic-mips.cc __ bind(&probe_dictionary); __ 1123 src/mips/ic-mips.cc __ lw(a2, FieldMemOperand(a1, HeapObject::kMapOffset)); __ 1124 src/mips/ic-mips.cc __ lbu(a2, FieldMemOperand(a2, Map::kInstanceTypeOffset)); __ 1128 src/mips/ic-mips.cc __ IncrementCounter(isolate->counters()->keyed_load_generic_symbol(), __ 1132 src/mips/ic-mips.cc __ Ret(); __ 1134 src/mips/ic-mips.cc __ bind(&index_string); __ 1135 src/mips/ic-mips.cc __ IndexFromHash(a3, key); __ 1137 src/mips/ic-mips.cc __ Branch(&index_smi); __ 1163 src/mips/ic-mips.cc __ Ret(); __ 1168 src/mips/ic-mips.cc __ bind(&miss); __ 1183 src/mips/ic-mips.cc __ Push(a2, a1, a0); __ 1184 src/mips/ic-mips.cc __ li(a1, Operand(Smi::FromInt(NONE))); // PropertyAttributes. __ 1185 src/mips/ic-mips.cc __ li(a0, Operand(Smi::FromInt(strict_mode))); // Strict mode. __ 1186 src/mips/ic-mips.cc __ Push(a1, a0); __ 1188 src/mips/ic-mips.cc __ TailCallRuntime(Runtime::kSetProperty, 5, 1); __ 1216 src/mips/ic-mips.cc __ JumpIfNotSmi(key, &slow); __ 1218 src/mips/ic-mips.cc __ JumpIfSmi(receiver, &slow); __ 1220 src/mips/ic-mips.cc __ lw(receiver_map, FieldMemOperand(receiver, HeapObject::kMapOffset)); __ 1223 src/mips/ic-mips.cc __ lbu(t0, FieldMemOperand(receiver_map, Map::kBitFieldOffset)); __ 1224 src/mips/ic-mips.cc __ And(t0, t0, Operand(1 << Map::kIsAccessCheckNeeded)); __ 1225 src/mips/ic-mips.cc __ Branch(&slow, ne, t0, Operand(zero_reg)); __ 1227 src/mips/ic-mips.cc __ lbu(t0, FieldMemOperand(receiver_map, Map::kInstanceTypeOffset)); __ 1228 src/mips/ic-mips.cc __ Branch(&array, eq, t0, Operand(JS_ARRAY_TYPE)); __ 1230 src/mips/ic-mips.cc __ Branch(&slow, lt, t0, Operand(FIRST_JS_OBJECT_TYPE)); __ 1233 src/mips/ic-mips.cc __ lw(elements, FieldMemOperand(receiver, JSObject::kElementsOffset)); __ 1235 src/mips/ic-mips.cc __ lw(t0, FieldMemOperand(elements, FixedArray::kLengthOffset)); __ 1236 src/mips/ic-mips.cc __ Branch(&fast_object_with_map_check, lo, key, Operand(t0)); __ 1239 src/mips/ic-mips.cc __ bind(&slow); __ 1249 src/mips/ic-mips.cc __ bind(&extra); __ 1252 src/mips/ic-mips.cc __ Branch(&slow, ne, key, Operand(t0)); __ 1255 src/mips/ic-mips.cc __ lw(t0, FieldMemOperand(elements, FixedArray::kLengthOffset)); __ 1256 src/mips/ic-mips.cc __ Branch(&slow, hs, key, Operand(t0)); __ 1257 src/mips/ic-mips.cc __ lw(elements_map, FieldMemOperand(elements, HeapObject::kMapOffset)); __ 1258 src/mips/ic-mips.cc __ Branch( __ 1263 src/mips/ic-mips.cc __ Addu(t0, key, Operand(Smi::FromInt(1))); __ 1264 src/mips/ic-mips.cc __ sw(t0, FieldMemOperand(receiver, JSArray::kLengthOffset)); __ 1265 src/mips/ic-mips.cc __ Branch(&fast_object_without_map_check); __ 1267 src/mips/ic-mips.cc __ bind(&check_if_double_array); __ 1268 src/mips/ic-mips.cc __ Branch(&slow, ne, elements_map, Heap::kFixedDoubleArrayMapRootIndex); __ 1271 src/mips/ic-mips.cc __ Addu(t0, key, Operand(Smi::FromInt(1))); __ 1272 src/mips/ic-mips.cc __ sw(t0, FieldMemOperand(receiver, JSArray::kLengthOffset)); __ 1273 src/mips/ic-mips.cc __ jmp(&fast_double_without_map_check); __ 1278 src/mips/ic-mips.cc __ bind(&array); __ 1279 src/mips/ic-mips.cc __ lw(elements, FieldMemOperand(receiver, JSObject::kElementsOffset)); __ 1282 src/mips/ic-mips.cc __ lw(t0, FieldMemOperand(receiver, JSArray::kLengthOffset)); __ 1283 src/mips/ic-mips.cc __ Branch(&extra, hs, key, Operand(t0)); __ 1286 src/mips/ic-mips.cc __ bind(&fast_object_with_map_check); __ 1289 src/mips/ic-mips.cc __ lw(elements_map, FieldMemOperand(elements, HeapObject::kMapOffset)); __ 1290 src/mips/ic-mips.cc __ Branch(&fast_double_with_map_check, __ 1294 src/mips/ic-mips.cc __ bind(&fast_object_without_map_check); __ 1297 src/mips/ic-mips.cc __ JumpIfNotSmi(value, &non_smi_value); __ 1299 src/mips/ic-mips.cc __ Addu(address, elements, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 1300 src/mips/ic-mips.cc __ sll(scratch_value, key, kPointerSizeLog2 - kSmiTagSize); __ 1301 src/mips/ic-mips.cc __ Addu(address, address, scratch_value); __ 1302 src/mips/ic-mips.cc __ sw(value, MemOperand(address)); __ 1303 src/mips/ic-mips.cc __ Ret(USE_DELAY_SLOT); __ 1304 src/mips/ic-mips.cc __ mov(v0, value); __ 1306 src/mips/ic-mips.cc __ bind(&non_smi_value); __ 1308 src/mips/ic-mips.cc __ CheckFastObjectElements(receiver_map, scratch_value, __ 1311 src/mips/ic-mips.cc __ bind(&finish_object_store); __ 1312 src/mips/ic-mips.cc __ Addu(address, elements, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 1313 src/mips/ic-mips.cc __ sll(scratch_value, key, kPointerSizeLog2 - kSmiTagSize); __ 1314 src/mips/ic-mips.cc __ Addu(address, address, scratch_value); __ 1315 src/mips/ic-mips.cc __ sw(value, MemOperand(address)); __ 1317 src/mips/ic-mips.cc __ mov(v0, value); // Preserve the value which is returned. __ 1318 src/mips/ic-mips.cc __ RecordWrite(elements, __ 1325 src/mips/ic-mips.cc __ Ret(); __ 1327 src/mips/ic-mips.cc __ bind(&fast_double_with_map_check); __ 1330 src/mips/ic-mips.cc __ Branch(&slow, ne, elements_map, Heap::kFixedDoubleArrayMapRootIndex); __ 1331 src/mips/ic-mips.cc __ bind(&fast_double_without_map_check); __ 1332 src/mips/ic-mips.cc __ StoreNumberToDoubleElements(value, __ 1341 src/mips/ic-mips.cc __ Ret(USE_DELAY_SLOT); __ 1342 src/mips/ic-mips.cc __ mov(v0, value); __ 1344 src/mips/ic-mips.cc __ bind(&transition_smi_elements); __ 1346 src/mips/ic-mips.cc __ lw(t0, FieldMemOperand(value, HeapObject::kMapOffset)); __ 1347 src/mips/ic-mips.cc __ LoadRoot(at, Heap::kHeapNumberMapRootIndex); __ 1348 src/mips/ic-mips.cc __ Branch(&non_double_value, ne, t0, Operand(at)); __ 1353 src/mips/ic-mips.cc __ LoadTransitionedArrayMapConditional(FAST_SMI_ELEMENTS, __ 1360 src/mips/ic-mips.cc __ lw(elements, FieldMemOperand(receiver, JSObject::kElementsOffset)); __ 1361 src/mips/ic-mips.cc __ jmp(&fast_double_without_map_check); __ 1363 src/mips/ic-mips.cc __ bind(&non_double_value); __ 1365 src/mips/ic-mips.cc __ LoadTransitionedArrayMapConditional(FAST_SMI_ELEMENTS, __ 1372 src/mips/ic-mips.cc __ lw(elements, FieldMemOperand(receiver, JSObject::kElementsOffset)); __ 1373 src/mips/ic-mips.cc __ jmp(&finish_object_store); __ 1375 src/mips/ic-mips.cc __ bind(&transition_double_elements); __ 1379 src/mips/ic-mips.cc __ LoadTransitionedArrayMapConditional(FAST_DOUBLE_ELEMENTS, __ 1386 src/mips/ic-mips.cc __ lw(elements, FieldMemOperand(receiver, JSObject::kElementsOffset)); __ 1387 src/mips/ic-mips.cc __ jmp(&finish_object_store); __ 1400 src/mips/ic-mips.cc __ JumpIfSmi(a1, &slow); __ 1403 src/mips/ic-mips.cc __ And(t0, a0, Operand(kSmiTagMask | kSmiSignMask)); __ 1404 src/mips/ic-mips.cc __ Branch(&slow, ne, t0, Operand(zero_reg)); __ 1407 src/mips/ic-mips.cc __ lw(a2, FieldMemOperand(a1, HeapObject::kMapOffset)); __ 1411 src/mips/ic-mips.cc __ lbu(a3, FieldMemOperand(a2, Map::kBitFieldOffset)); __ 1412 src/mips/ic-mips.cc __ And(a3, a3, Operand(kSlowCaseBitFieldMask)); __ 1413 src/mips/ic-mips.cc __ Branch(&slow, ne, a3, Operand(1 << Map::kHasIndexedInterceptor)); __ 1415 src/mips/ic-mips.cc __ Push(a1, a0); // Receiver, key. __ 1418 src/mips/ic-mips.cc __ TailCallExternalReference(ExternalReference( __ 1421 src/mips/ic-mips.cc __ bind(&slow); __ 1435 src/mips/ic-mips.cc __ Push(a2, a1, a0); __ 1441 src/mips/ic-mips.cc __ TailCallExternalReference(ref, 3, 1); __ 1455 src/mips/ic-mips.cc __ Push(a2, a1, a0); __ 1462 src/mips/ic-mips.cc __ TailCallExternalReference(ref, 3, 1); __ 1476 src/mips/ic-mips.cc __ Ret(USE_DELAY_SLOT); __ 1477 src/mips/ic-mips.cc __ mov(v0, a2); __ 1478 src/mips/ic-mips.cc __ bind(&fail); __ 1481 src/mips/ic-mips.cc __ push(a2); __ 1482 src/mips/ic-mips.cc __ TailCallRuntime(Runtime::kTransitionElementsSmiToDouble, 1, 1); __ 1497 src/mips/ic-mips.cc __ Ret(USE_DELAY_SLOT); __ 1498 src/mips/ic-mips.cc __ mov(v0, a2); __ 1499 src/mips/ic-mips.cc __ bind(&fail); __ 1502 src/mips/ic-mips.cc __ push(a2); __ 1503 src/mips/ic-mips.cc __ TailCallRuntime(Runtime::kTransitionElementsDoubleToObject, 1, 1); __ 1535 src/mips/ic-mips.cc __ Push(a1, a2, a0); __ 1539 src/mips/ic-mips.cc __ TailCallExternalReference(ref, 3, 1); __ 1563 src/mips/ic-mips.cc __ JumpIfSmi(receiver, &miss); __ 1566 src/mips/ic-mips.cc __ GetObjectType(receiver, scratch, scratch); __ 1567 src/mips/ic-mips.cc __ Branch(&miss, ne, scratch, Operand(JS_ARRAY_TYPE)); __ 1572 src/mips/ic-mips.cc __ lw(scratch, FieldMemOperand(receiver, JSArray::kElementsOffset)); __ 1573 src/mips/ic-mips.cc __ GetObjectType(scratch, scratch, scratch); __ 1574 src/mips/ic-mips.cc __ Branch(&miss, ne, scratch, Operand(FIXED_ARRAY_TYPE)); __ 1578 src/mips/ic-mips.cc __ lw(scratch, FieldMemOperand(receiver, JSArray::kPropertiesOffset)); __ 1579 src/mips/ic-mips.cc __ lw(scratch, FieldMemOperand(scratch, FixedArray::kMapOffset)); __ 1580 src/mips/ic-mips.cc __ LoadRoot(at, Heap::kHashTableMapRootIndex); __ 1581 src/mips/ic-mips.cc __ Branch(&miss, eq, scratch, Operand(at)); __ 1584 src/mips/ic-mips.cc __ JumpIfNotSmi(value, &miss); __ 1587 src/mips/ic-mips.cc __ Push(receiver, value); __ 1591 src/mips/ic-mips.cc __ TailCallExternalReference(ref, 2, 1); __ 1593 src/mips/ic-mips.cc __ bind(&miss); __ 1612 src/mips/ic-mips.cc __ IncrementCounter(counters->store_normal_hit(), 1, t0, t1); __ 1613 src/mips/ic-mips.cc __ Ret(); __ 1615 src/mips/ic-mips.cc __ bind(&miss); __ 1616 src/mips/ic-mips.cc __ IncrementCounter(counters->store_normal_miss(), 1, t0, t1); __ 1630 src/mips/ic-mips.cc __ Push(a1, a2, a0); __ 1632 src/mips/ic-mips.cc __ li(a1, Operand(Smi::FromInt(NONE))); // PropertyAttributes. __ 1633 src/mips/ic-mips.cc __ li(a0, Operand(Smi::FromInt(strict_mode))); __ 1634 src/mips/ic-mips.cc __ Push(a1, a0); __ 1637 src/mips/ic-mips.cc __ TailCallRuntime(Runtime::kSetProperty, 5, 1); __ 131 src/mips/lithium-codegen-mips.cc __ stop("stop_at"); __ 146 src/mips/lithium-codegen-mips.cc __ Branch(&ok, eq, t1, Operand(zero_reg)); __ 149 src/mips/lithium-codegen-mips.cc __ LoadRoot(a2, Heap::kUndefinedValueRootIndex); __ 150 src/mips/lithium-codegen-mips.cc __ sw(a2, MemOperand(sp, receiver_offset)); __ 151 src/mips/lithium-codegen-mips.cc __ bind(&ok); __ 154 src/mips/lithium-codegen-mips.cc __ Push(ra, fp, cp, a1); __ 155 src/mips/lithium-codegen-mips.cc __ Addu(fp, sp, Operand(2 * kPointerSize)); // Adj. FP to point to saved FP. __ 161 src/mips/lithium-codegen-mips.cc __ li(a0, Operand(slots)); __ 162 src/mips/lithium-codegen-mips.cc __ li(a2, Operand(kSlotsZapValue)); __ 164 src/mips/lithium-codegen-mips.cc __ bind(&loop); __ 165 src/mips/lithium-codegen-mips.cc __ push(a2); __ 166 src/mips/lithium-codegen-mips.cc __ Subu(a0, a0, 1); __ 167 src/mips/lithium-codegen-mips.cc __ Branch(&loop, ne, a0, Operand(zero_reg)); __ 169 src/mips/lithium-codegen-mips.cc __ Subu(sp, sp, Operand(slots * kPointerSize)); __ 178 src/mips/lithium-codegen-mips.cc __ push(a1); __ 181 src/mips/lithium-codegen-mips.cc __ CallStub(&stub); __ 183 src/mips/lithium-codegen-mips.cc __ CallRuntime(Runtime::kNewFunctionContext, 1); __ 188 src/mips/lithium-codegen-mips.cc __ sw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 197 src/mips/lithium-codegen-mips.cc __ lw(a0, MemOperand(fp, parameter_offset)); __ 200 src/mips/lithium-codegen-mips.cc __ sw(a0, target); __ 202 src/mips/lithium-codegen-mips.cc __ RecordWriteContextSlot( __ 211 src/mips/lithium-codegen-mips.cc __ CallRuntime(Runtime::kTraceEnter, 0); __ 244 src/mips/lithium-codegen-mips.cc __ bind(code->entry()); __ 249 src/mips/lithium-codegen-mips.cc __ jmp(code->exit()); __ 300 src/mips/lithium-codegen-mips.cc __ li(scratch, Operand(static_cast<int32_t>(literal->Number()))); __ 306 src/mips/lithium-codegen-mips.cc __ li(scratch, Operand(literal)); __ 308 src/mips/lithium-codegen-mips.cc __ LoadHeapObject(scratch, Handle<HeapObject>::cast(literal)); __ 313 src/mips/lithium-codegen-mips.cc __ lw(scratch, ToMemOperand(op)); __ 339 src/mips/lithium-codegen-mips.cc __ li(at, Operand(static_cast<int32_t>(literal->Number()))); __ 340 src/mips/lithium-codegen-mips.cc __ mtc1(at, flt_scratch); __ 341 src/mips/lithium-codegen-mips.cc __ cvt_d_w(dbl_scratch, flt_scratch); __ 350 src/mips/lithium-codegen-mips.cc __ ldc1(dbl_scratch, mem_op); __ 549 src/mips/lithium-codegen-mips.cc __ Call(code, mode); __ 562 src/mips/lithium-codegen-mips.cc __ CallRuntime(function, num_arguments); __ 570 src/mips/lithium-codegen-mips.cc __ CallRuntimeSaveDoubles(id); __ 629 src/mips/lithium-codegen-mips.cc __ Jump(entry, RelocInfo::RUNTIME_ENTRY); __ 636 src/mips/lithium-codegen-mips.cc __ Branch(&skip, NegateCondition(cc), src1, src2); __ 638 src/mips/lithium-codegen-mips.cc __ stop("trap_on_deopt"); __ 639 src/mips/lithium-codegen-mips.cc __ bind(&skip); __ 644 src/mips/lithium-codegen-mips.cc __ Jump(entry, RelocInfo::RUNTIME_ENTRY, cc, src1, src2); __ 785 src/mips/lithium-codegen-mips.cc __ bind(label->label()); __ 851 src/mips/lithium-codegen-mips.cc __ lw(a0, MemOperand(sp, 0)); __ 878 src/mips/lithium-codegen-mips.cc __ mov(scratch, left); __ 886 src/mips/lithium-codegen-mips.cc __ Branch(USE_DELAY_SLOT, &positive_dividend, ge, left, Operand(zero_reg)); __ 887 src/mips/lithium-codegen-mips.cc __ subu(result, zero_reg, left); __ 888 src/mips/lithium-codegen-mips.cc __ And(result, result, p2constant - 1); __ 892 src/mips/lithium-codegen-mips.cc __ Branch(USE_DELAY_SLOT, &done); __ 893 src/mips/lithium-codegen-mips.cc __ subu(result, zero_reg, result); __ 894 src/mips/lithium-codegen-mips.cc __ bind(&positive_dividend); __ 895 src/mips/lithium-codegen-mips.cc __ And(result, scratch, p2constant - 1); __ 899 src/mips/lithium-codegen-mips.cc __ div(left, right); __ 906 src/mips/lithium-codegen-mips.cc __ Branch(USE_DELAY_SLOT, &done, ge, left, Operand(zero_reg)); __ 907 src/mips/lithium-codegen-mips.cc __ mfhi(result); __ 913 src/mips/lithium-codegen-mips.cc __ bind(&done); __ 924 src/mips/lithium-codegen-mips.cc __ div(left, right); __ 934 src/mips/lithium-codegen-mips.cc __ Branch(&left_not_zero, ne, left, Operand(zero_reg)); __ 936 src/mips/lithium-codegen-mips.cc __ bind(&left_not_zero); __ 942 src/mips/lithium-codegen-mips.cc __ Branch(&left_not_min_int, ne, left, Operand(kMinInt)); __ 944 src/mips/lithium-codegen-mips.cc __ bind(&left_not_min_int); __ 947 src/mips/lithium-codegen-mips.cc __ mfhi(result); __ 949 src/mips/lithium-codegen-mips.cc __ mflo(result); __ 976 src/mips/lithium-codegen-mips.cc __ Subu(result, zero_reg, left); __ 984 src/mips/lithium-codegen-mips.cc __ mov(result, zero_reg); __ 988 src/mips/lithium-codegen-mips.cc __ Move(result, left); __ 1002 src/mips/lithium-codegen-mips.cc __ sll(result, left, shift); __ 1005 src/mips/lithium-codegen-mips.cc __ sll(result, left, shift); __ 1006 src/mips/lithium-codegen-mips.cc __ Addu(result, result, left); __ 1009 src/mips/lithium-codegen-mips.cc __ sll(result, left, shift); __ 1010 src/mips/lithium-codegen-mips.cc __ Subu(result, result, left); __ 1015 src/mips/lithium-codegen-mips.cc __ Subu(result, zero_reg, result); __ 1020 src/mips/lithium-codegen-mips.cc __ li(at, constant); __ 1021 src/mips/lithium-codegen-mips.cc __ Mul(result, left, at); __ 1028 src/mips/lithium-codegen-mips.cc __ Or(ToRegister(instr->TempAt(0)), left, right); __ 1033 src/mips/lithium-codegen-mips.cc __ mult(left, right); __ 1034 src/mips/lithium-codegen-mips.cc __ mfhi(scratch); __ 1035 src/mips/lithium-codegen-mips.cc __ mflo(result); __ 1036 src/mips/lithium-codegen-mips.cc __ sra(at, result, 31); __ 1039 src/mips/lithium-codegen-mips.cc __ Mul(result, left, right); __ 1045 src/mips/lithium-codegen-mips.cc __ Branch(&done, ne, result, Operand(zero_reg)); __ 1050 src/mips/lithium-codegen-mips.cc __ bind(&done); __ 1073 src/mips/lithium-codegen-mips.cc __ And(result, left, right); __ 1076 src/mips/lithium-codegen-mips.cc __ Or(result, left, right); __ 1079 src/mips/lithium-codegen-mips.cc __ Xor(result, left, right); __ 1100 src/mips/lithium-codegen-mips.cc __ srav(result, left, ToRegister(right_op)); __ 1103 src/mips/lithium-codegen-mips.cc __ srlv(result, left, ToRegister(right_op)); __ 1109 src/mips/lithium-codegen-mips.cc __ sllv(result, left, ToRegister(right_op)); __ 1122 src/mips/lithium-codegen-mips.cc __ sra(result, left, shift_count); __ 1124 src/mips/lithium-codegen-mips.cc __ Move(result, left); __ 1129 src/mips/lithium-codegen-mips.cc __ srl(result, left, shift_count); __ 1132 src/mips/lithium-codegen-mips.cc __ And(at, left, Operand(0x80000000)); __ 1135 src/mips/lithium-codegen-mips.cc __ Move(result, left); __ 1140 src/mips/lithium-codegen-mips.cc __ sll(result, left, shift_count); __ 1142 src/mips/lithium-codegen-mips.cc __ Move(result, left); __ 1162 src/mips/lithium-codegen-mips.cc __ Subu(ToRegister(result), ToRegister(left), Operand(right_reg)); __ 1165 src/mips/lithium-codegen-mips.cc __ Subu(ToRegister(result), ToRegister(left), ToOperand(right)); __ 1174 src/mips/lithium-codegen-mips.cc __ SubuAndCheckForOverflow(ToRegister(result), __ 1182 src/mips/lithium-codegen-mips.cc __ SubuAndCheckForOverflow(ToRegister(result), __ 1194 src/mips/lithium-codegen-mips.cc __ li(ToRegister(instr->result()), Operand(instr->value())); __ 1202 src/mips/lithium-codegen-mips.cc __ Move(result, v); __ 1209 src/mips/lithium-codegen-mips.cc __ li(ToRegister(instr->result()), Operand(value)); __ 1211 src/mips/lithium-codegen-mips.cc __ LoadHeapObject(ToRegister(instr->result()), __ 1220 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(array, JSArray::kLengthOffset)); __ 1227 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(array, FixedArrayBase::kLengthOffset)); __ 1236 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(input, HeapObject::kMapOffset)); __ 1239 src/mips/lithium-codegen-mips.cc __ lbu(result, FieldMemOperand(result, Map::kBitField2Offset)); __ 1241 src/mips/lithium-codegen-mips.cc __ Ext(result, result, Map::kElementsKindShift, Map::kElementsKindBitCount); __ 1252 src/mips/lithium-codegen-mips.cc __ Move(result, input); __ 1253 src/mips/lithium-codegen-mips.cc __ JumpIfSmi(input, &done); __ 1256 src/mips/lithium-codegen-mips.cc __ GetObjectType(input, map, map); __ 1257 src/mips/lithium-codegen-mips.cc __ Branch(&done, ne, map, Operand(JS_VALUE_TYPE)); __ 1258 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(input, JSValue::kValueOffset)); __ 1260 src/mips/lithium-codegen-mips.cc __ bind(&done); __ 1276 src/mips/lithium-codegen-mips.cc __ AbortIfSmi(object); __ 1277 src/mips/lithium-codegen-mips.cc __ GetObjectType(object, scratch, scratch); __ 1278 src/mips/lithium-codegen-mips.cc __ Assert(eq, "Trying to get date field from non-date.", __ 1283 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(object, JSDate::kValueOffset)); __ 1287 src/mips/lithium-codegen-mips.cc __ li(scratch, Operand(stamp)); __ 1288 src/mips/lithium-codegen-mips.cc __ lw(scratch, MemOperand(scratch)); __ 1289 src/mips/lithium-codegen-mips.cc __ lw(scratch0(), FieldMemOperand(object, JSDate::kCacheStampOffset)); __ 1290 src/mips/lithium-codegen-mips.cc __ Branch(&runtime, ne, scratch, Operand(scratch0())); __ 1291 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(object, JSDate::kValueOffset + __ 1293 src/mips/lithium-codegen-mips.cc __ jmp(&done); __ 1295 src/mips/lithium-codegen-mips.cc __ bind(&runtime); __ 1296 src/mips/lithium-codegen-mips.cc __ PrepareCallCFunction(2, scratch); __ 1297 src/mips/lithium-codegen-mips.cc __ li(a1, Operand(index)); __ 1298 src/mips/lithium-codegen-mips.cc __ CallCFunction(ExternalReference::get_date_field_function(isolate()), 2); __ 1299 src/mips/lithium-codegen-mips.cc __ bind(&done); __ 1307 src/mips/lithium-codegen-mips.cc __ Nor(result, zero_reg, Operand(input)); __ 1313 src/mips/lithium-codegen-mips.cc __ push(input_reg); __ 1317 src/mips/lithium-codegen-mips.cc __ stop("Unreachable code."); __ 1331 src/mips/lithium-codegen-mips.cc __ Addu(ToRegister(result), ToRegister(left), Operand(right_reg)); __ 1334 src/mips/lithium-codegen-mips.cc __ Addu(ToRegister(result), ToRegister(left), ToOperand(right)); __ 1343 src/mips/lithium-codegen-mips.cc __ AdduAndCheckForOverflow(ToRegister(result), __ 1351 src/mips/lithium-codegen-mips.cc __ AdduAndCheckForOverflow(ToRegister(result), __ 1367 src/mips/lithium-codegen-mips.cc __ add_d(result, left, right); __ 1370 src/mips/lithium-codegen-mips.cc __ sub_d(result, left, right); __ 1373 src/mips/lithium-codegen-mips.cc __ mul_d(result, left, right); __ 1376 src/mips/lithium-codegen-mips.cc __ div_d(result, left, right); __ 1381 src/mips/lithium-codegen-mips.cc __ MultiPush(saved_regs); __ 1383 src/mips/lithium-codegen-mips.cc __ PrepareCallCFunction(0, 2, scratch0()); __ 1384 src/mips/lithium-codegen-mips.cc __ SetCallCDoubleArguments(left, right); __ 1385 src/mips/lithium-codegen-mips.cc __ CallCFunction( __ 1389 src/mips/lithium-codegen-mips.cc __ GetCFunctionDoubleResult(result); __ 1392 src/mips/lithium-codegen-mips.cc __ MultiPop(saved_regs); __ 1432 src/mips/lithium-codegen-mips.cc __ Branch(chunk_->GetAssemblyLabel(right_block), __ 1435 src/mips/lithium-codegen-mips.cc __ Branch(chunk_->GetAssemblyLabel(left_block), cc, src1, src2); __ 1437 src/mips/lithium-codegen-mips.cc __ Branch(chunk_->GetAssemblyLabel(left_block), cc, src1, src2); __ 1438 src/mips/lithium-codegen-mips.cc __ Branch(chunk_->GetAssemblyLabel(right_block)); __ 1451 src/mips/lithium-codegen-mips.cc __ BranchF(chunk_->GetAssemblyLabel(right_block), NULL, __ 1454 src/mips/lithium-codegen-mips.cc __ BranchF(chunk_->GetAssemblyLabel(left_block), NULL, cc, src1, src2); __ 1456 src/mips/lithium-codegen-mips.cc __ BranchF(chunk_->GetAssemblyLabel(left_block), NULL, cc, src1, src2); __ 1457 src/mips/lithium-codegen-mips.cc __ Branch(chunk_->GetAssemblyLabel(right_block)); __ 1479 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kTrueValueRootIndex); __ 1493 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kUndefinedValueRootIndex); __ 1494 src/mips/lithium-codegen-mips.cc __ Branch(false_label, eq, reg, Operand(at)); __ 1498 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kTrueValueRootIndex); __ 1499 src/mips/lithium-codegen-mips.cc __ Branch(true_label, eq, reg, Operand(at)); __ 1500 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kFalseValueRootIndex); __ 1501 src/mips/lithium-codegen-mips.cc __ Branch(false_label, eq, reg, Operand(at)); __ 1505 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kNullValueRootIndex); __ 1506 src/mips/lithium-codegen-mips.cc __ Branch(false_label, eq, reg, Operand(at)); __ 1511 src/mips/lithium-codegen-mips.cc __ Branch(false_label, eq, reg, Operand(zero_reg)); __ 1512 src/mips/lithium-codegen-mips.cc __ JumpIfSmi(reg, true_label); __ 1515 src/mips/lithium-codegen-mips.cc __ And(at, reg, Operand(kSmiTagMask)); __ 1521 src/mips/lithium-codegen-mips.cc __ lw(map, FieldMemOperand(reg, HeapObject::kMapOffset)); __ 1524 src/mips/lithium-codegen-mips.cc __ lbu(at, FieldMemOperand(map, Map::kBitFieldOffset)); __ 1525 src/mips/lithium-codegen-mips.cc __ And(at, at, Operand(1 << Map::kIsUndetectable)); __ 1526 src/mips/lithium-codegen-mips.cc __ Branch(false_label, ne, at, Operand(zero_reg)); __ 1532 src/mips/lithium-codegen-mips.cc __ lbu(at, FieldMemOperand(map, Map::kInstanceTypeOffset)); __ 1533 src/mips/lithium-codegen-mips.cc __ Branch(true_label, ge, at, Operand(FIRST_SPEC_OBJECT_TYPE)); __ 1539 src/mips/lithium-codegen-mips.cc __ lbu(at, FieldMemOperand(map, Map::kInstanceTypeOffset)); __ 1540 src/mips/lithium-codegen-mips.cc __ Branch(¬_string, ge , at, Operand(FIRST_NONSTRING_TYPE)); __ 1541 src/mips/lithium-codegen-mips.cc __ lw(at, FieldMemOperand(reg, String::kLengthOffset)); __ 1542 src/mips/lithium-codegen-mips.cc __ Branch(true_label, ne, at, Operand(zero_reg)); __ 1543 src/mips/lithium-codegen-mips.cc __ Branch(false_label); __ 1544 src/mips/lithium-codegen-mips.cc __ bind(¬_string); __ 1551 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kHeapNumberMapRootIndex); __ 1552 src/mips/lithium-codegen-mips.cc __ Branch(¬_heap_number, ne, map, Operand(at)); __ 1553 src/mips/lithium-codegen-mips.cc __ ldc1(dbl_scratch, FieldMemOperand(reg, HeapNumber::kValueOffset)); __ 1554 src/mips/lithium-codegen-mips.cc __ BranchF(true_label, false_label, ne, dbl_scratch, kDoubleRegZero); __ 1556 src/mips/lithium-codegen-mips.cc __ Branch(false_label); __ 1557 src/mips/lithium-codegen-mips.cc __ bind(¬_heap_number); __ 1571 src/mips/lithium-codegen-mips.cc __ jmp(chunk_->GetAssemblyLabel(block)); __ 1634 src/mips/lithium-codegen-mips.cc __ BranchF(NULL, chunk_->GetAssemblyLabel(false_block), eq, __ 1700 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, nil_value); __ 1709 src/mips/lithium-codegen-mips.cc __ Branch(USE_DELAY_SLOT, true_label, eq, reg, Operand(at)); __ 1710 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, other_nil_value); // In the delay slot. __ 1711 src/mips/lithium-codegen-mips.cc __ Branch(USE_DELAY_SLOT, true_label, eq, reg, Operand(at)); __ 1712 src/mips/lithium-codegen-mips.cc __ JumpIfSmi(reg, false_label); // In the delay slot. __ 1715 src/mips/lithium-codegen-mips.cc __ lw(scratch, FieldMemOperand(reg, HeapObject::kMapOffset)); __ 1716 src/mips/lithium-codegen-mips.cc __ lbu(scratch, FieldMemOperand(scratch, Map::kBitFieldOffset)); __ 1717 src/mips/lithium-codegen-mips.cc __ And(scratch, scratch, 1 << Map::kIsUndetectable); __ 1728 src/mips/lithium-codegen-mips.cc __ JumpIfSmi(input, is_not_object); __ 1730 src/mips/lithium-codegen-mips.cc __ LoadRoot(temp2, Heap::kNullValueRootIndex); __ 1731 src/mips/lithium-codegen-mips.cc __ Branch(is_object, eq, input, Operand(temp2)); __ 1734 src/mips/lithium-codegen-mips.cc __ lw(temp1, FieldMemOperand(input, HeapObject::kMapOffset)); __ 1736 src/mips/lithium-codegen-mips.cc __ lbu(temp2, FieldMemOperand(temp1, Map::kBitFieldOffset)); __ 1737 src/mips/lithium-codegen-mips.cc __ And(temp2, temp2, Operand(1 << Map::kIsUndetectable)); __ 1738 src/mips/lithium-codegen-mips.cc __ Branch(is_not_object, ne, temp2, Operand(zero_reg)); __ 1741 src/mips/lithium-codegen-mips.cc __ lbu(temp2, FieldMemOperand(temp1, Map::kInstanceTypeOffset)); __ 1742 src/mips/lithium-codegen-mips.cc __ Branch(is_not_object, __ 1770 src/mips/lithium-codegen-mips.cc __ JumpIfSmi(input, is_not_string); __ 1771 src/mips/lithium-codegen-mips.cc __ GetObjectType(input, temp1, temp1); __ 1798 src/mips/lithium-codegen-mips.cc __ And(at, input_reg, kSmiTagMask); __ 1810 src/mips/lithium-codegen-mips.cc __ JumpIfSmi(input, chunk_->GetAssemblyLabel(false_block)); __ 1811 src/mips/lithium-codegen-mips.cc __ lw(temp, FieldMemOperand(input, HeapObject::kMapOffset)); __ 1812 src/mips/lithium-codegen-mips.cc __ lbu(temp, FieldMemOperand(temp, Map::kBitFieldOffset)); __ 1813 src/mips/lithium-codegen-mips.cc __ And(at, temp, Operand(1 << Map::kIsUndetectable)); __ 1881 src/mips/lithium-codegen-mips.cc __ JumpIfSmi(input, false_label); __ 1883 src/mips/lithium-codegen-mips.cc __ GetObjectType(input, scratch, scratch); __ 1897 src/mips/lithium-codegen-mips.cc __ AbortIfNotString(input); __ 1900 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(input, String::kHashFieldOffset)); __ 1901 src/mips/lithium-codegen-mips.cc __ IndexFromHash(result, result); __ 1913 src/mips/lithium-codegen-mips.cc __ lw(scratch, __ 1915 src/mips/lithium-codegen-mips.cc __ And(at, scratch, Operand(String::kContainsCachedArrayIndexMask)); __ 1932 src/mips/lithium-codegen-mips.cc __ JumpIfSmi(input, is_false); __ 1944 src/mips/lithium-codegen-mips.cc __ GetObjectType(input, temp, temp2); __ 1945 src/mips/lithium-codegen-mips.cc __ Branch(is_false, lt, temp2, Operand(FIRST_SPEC_OBJECT_TYPE)); __ 1946 src/mips/lithium-codegen-mips.cc __ Branch(is_true, eq, temp2, Operand(FIRST_SPEC_OBJECT_TYPE)); __ 1947 src/mips/lithium-codegen-mips.cc __ Branch(is_true, eq, temp2, Operand(LAST_SPEC_OBJECT_TYPE)); __ 1951 src/mips/lithium-codegen-mips.cc __ GetObjectType(input, temp, temp2); __ 1952 src/mips/lithium-codegen-mips.cc __ Subu(temp2, temp2, Operand(FIRST_NONCALLABLE_SPEC_OBJECT_TYPE)); __ 1953 src/mips/lithium-codegen-mips.cc __ Branch(is_false, gt, temp2, Operand(LAST_NONCALLABLE_SPEC_OBJECT_TYPE - __ 1959 src/mips/lithium-codegen-mips.cc __ lw(temp, FieldMemOperand(temp, Map::kConstructorOffset)); __ 1962 src/mips/lithium-codegen-mips.cc __ GetObjectType(temp, temp2, temp2); __ 1964 src/mips/lithium-codegen-mips.cc __ Branch(is_true, ne, temp2, Operand(JS_FUNCTION_TYPE)); __ 1966 src/mips/lithium-codegen-mips.cc __ Branch(is_false, ne, temp2, Operand(JS_FUNCTION_TYPE)); __ 1971 src/mips/lithium-codegen-mips.cc __ lw(temp, FieldMemOperand(temp, JSFunction::kSharedFunctionInfoOffset)); __ 1972 src/mips/lithium-codegen-mips.cc __ lw(temp, FieldMemOperand(temp, __ 2010 src/mips/lithium-codegen-mips.cc __ lw(temp, FieldMemOperand(reg, HeapObject::kMapOffset)); __ 2025 src/mips/lithium-codegen-mips.cc __ Branch(&true_label, eq, result, Operand(zero_reg)); __ 2026 src/mips/lithium-codegen-mips.cc __ li(result, Operand(factory()->false_value())); __ 2027 src/mips/lithium-codegen-mips.cc __ Branch(&done); __ 2028 src/mips/lithium-codegen-mips.cc __ bind(&true_label); __ 2029 src/mips/lithium-codegen-mips.cc __ li(result, Operand(factory()->true_value())); __ 2030 src/mips/lithium-codegen-mips.cc __ bind(&done); __ 2063 src/mips/lithium-codegen-mips.cc __ JumpIfSmi(object, &false_result); __ 2070 src/mips/lithium-codegen-mips.cc __ lw(map, FieldMemOperand(object, HeapObject::kMapOffset)); __ 2073 src/mips/lithium-codegen-mips.cc __ bind(deferred->map_check()); // Label for calculating code patching. __ 2079 src/mips/lithium-codegen-mips.cc __ li(at, Operand(Handle<Object>(cell))); __ 2080 src/mips/lithium-codegen-mips.cc __ lw(at, FieldMemOperand(at, JSGlobalPropertyCell::kValueOffset)); __ 2081 src/mips/lithium-codegen-mips.cc __ Branch(&cache_miss, ne, map, Operand(at)); __ 2085 src/mips/lithium-codegen-mips.cc __ li(result, Operand(factory()->the_hole_value()), CONSTANT_SIZE); __ 2086 src/mips/lithium-codegen-mips.cc __ Branch(&done); __ 2090 src/mips/lithium-codegen-mips.cc __ bind(&cache_miss); __ 2092 src/mips/lithium-codegen-mips.cc __ LoadRoot(temp, Heap::kNullValueRootIndex); __ 2093 src/mips/lithium-codegen-mips.cc __ Branch(&false_result, eq, object, Operand(temp)); __ 2096 src/mips/lithium-codegen-mips.cc Condition cc = __ IsObjectStringType(object, temp, temp); __ 2097 src/mips/lithium-codegen-mips.cc __ Branch(&false_result, cc, temp, Operand(zero_reg)); __ 2100 src/mips/lithium-codegen-mips.cc __ Branch(deferred->entry()); __ 2102 src/mips/lithium-codegen-mips.cc __ bind(&false_result); __ 2103 src/mips/lithium-codegen-mips.cc __ LoadRoot(result, Heap::kFalseValueRootIndex); __ 2107 src/mips/lithium-codegen-mips.cc __ bind(deferred->exit()); __ 2108 src/mips/lithium-codegen-mips.cc __ bind(&done); __ 2133 src/mips/lithium-codegen-mips.cc __ LoadHeapObject(InstanceofStub::right(), instr->function()); __ 2137 src/mips/lithium-codegen-mips.cc __ bind(&before_push_delta); __ 2140 src/mips/lithium-codegen-mips.cc __ li(temp, Operand(delta * kPointerSize), CONSTANT_SIZE); __ 2141 src/mips/lithium-codegen-mips.cc __ StoreToSafepointRegisterSlot(temp, temp); __ 2151 src/mips/lithium-codegen-mips.cc __ StoreToSafepointRegisterSlot(result, result); __ 2167 src/mips/lithium-codegen-mips.cc __ Branch(USE_DELAY_SLOT, &done, condition, v0, Operand(zero_reg)); __ 2168 src/mips/lithium-codegen-mips.cc __ LoadRoot(ToRegister(instr->result()), Heap::kTrueValueRootIndex); __ 2169 src/mips/lithium-codegen-mips.cc __ LoadRoot(ToRegister(instr->result()), Heap::kFalseValueRootIndex); __ 2171 src/mips/lithium-codegen-mips.cc __ bind(&done); __ 2179 src/mips/lithium-codegen-mips.cc __ push(v0); __ 2180 src/mips/lithium-codegen-mips.cc __ CallRuntime(Runtime::kTraceExit, 1); __ 2183 src/mips/lithium-codegen-mips.cc __ mov(sp, fp); __ 2184 src/mips/lithium-codegen-mips.cc __ Pop(ra, fp); __ 2185 src/mips/lithium-codegen-mips.cc __ Addu(sp, sp, Operand(sp_delta)); __ 2186 src/mips/lithium-codegen-mips.cc __ Jump(ra); __ 2192 src/mips/lithium-codegen-mips.cc __ li(at, Operand(Handle<Object>(instr->hydrogen()->cell()))); __ 2193 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(at, JSGlobalPropertyCell::kValueOffset)); __ 2195 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kTheHoleValueRootIndex); __ 2205 src/mips/lithium-codegen-mips.cc __ li(a2, Operand(instr->name())); __ 2218 src/mips/lithium-codegen-mips.cc __ li(cell, Operand(instr->hydrogen()->cell())); __ 2227 src/mips/lithium-codegen-mips.cc __ lw(payload, FieldMemOperand(cell, JSGlobalPropertyCell::kValueOffset)); __ 2228 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kTheHoleValueRootIndex); __ 2233 src/mips/lithium-codegen-mips.cc __ sw(value, FieldMemOperand(cell, JSGlobalPropertyCell::kValueOffset)); __ 2242 src/mips/lithium-codegen-mips.cc __ li(a2, Operand(instr->name())); __ 2254 src/mips/lithium-codegen-mips.cc __ lw(result, ContextOperand(context, instr->slot_index())); __ 2256 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kTheHoleValueRootIndex); __ 2262 src/mips/lithium-codegen-mips.cc __ Branch(&is_not_hole, ne, result, Operand(at)); __ 2263 src/mips/lithium-codegen-mips.cc __ LoadRoot(result, Heap::kUndefinedValueRootIndex); __ 2264 src/mips/lithium-codegen-mips.cc __ bind(&is_not_hole); __ 2279 src/mips/lithium-codegen-mips.cc __ lw(scratch, target); __ 2280 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kTheHoleValueRootIndex); __ 2285 src/mips/lithium-codegen-mips.cc __ Branch(&skip_assignment, ne, scratch, Operand(at)); __ 2289 src/mips/lithium-codegen-mips.cc __ sw(value, target); __ 2294 src/mips/lithium-codegen-mips.cc __ RecordWriteContextSlot(context, __ 2304 src/mips/lithium-codegen-mips.cc __ bind(&skip_assignment); __ 2312 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(object, instr->hydrogen()->offset())); __ 2314 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(object, JSObject::kPropertiesOffset)); __ 2315 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(result, instr->hydrogen()->offset())); __ 2334 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(object, offset + type->instance_size())); __ 2337 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(object, JSObject::kPropertiesOffset)); __ 2338 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(result, offset + FixedArray::kHeaderSize)); __ 2342 src/mips/lithium-codegen-mips.cc __ LoadHeapObject(result, function); __ 2349 src/mips/lithium-codegen-mips.cc __ LoadHeapObject(result, current); __ 2350 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(result, HeapObject::kMapOffset)); __ 2355 src/mips/lithium-codegen-mips.cc __ LoadRoot(result, Heap::kUndefinedValueRootIndex); __ 2374 src/mips/lithium-codegen-mips.cc __ lw(object_map, FieldMemOperand(object, HeapObject::kMapOffset)); __ 2379 src/mips/lithium-codegen-mips.cc __ CompareMapAndBranch( __ 2384 src/mips/lithium-codegen-mips.cc __ bind(&check_passed); __ 2389 src/mips/lithium-codegen-mips.cc __ Branch(&next); __ 2390 src/mips/lithium-codegen-mips.cc __ bind(&check_passed); __ 2393 src/mips/lithium-codegen-mips.cc __ Branch(&done); __ 2394 src/mips/lithium-codegen-mips.cc __ bind(&next); __ 2398 src/mips/lithium-codegen-mips.cc __ li(a2, Operand(name)); __ 2402 src/mips/lithium-codegen-mips.cc __ bind(&done); __ 2411 src/mips/lithium-codegen-mips.cc __ li(a2, Operand(instr->name())); __ 2424 src/mips/lithium-codegen-mips.cc __ GetObjectType(function, result, scratch); __ 2429 src/mips/lithium-codegen-mips.cc __ lbu(scratch, FieldMemOperand(result, Map::kBitFieldOffset)); __ 2430 src/mips/lithium-codegen-mips.cc __ And(scratch, scratch, Operand(1 << Map::kHasNonInstancePrototype)); __ 2431 src/mips/lithium-codegen-mips.cc __ Branch(&non_instance, ne, scratch, Operand(zero_reg)); __ 2434 src/mips/lithium-codegen-mips.cc __ lw(result, __ 2438 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kTheHoleValueRootIndex); __ 2443 src/mips/lithium-codegen-mips.cc __ GetObjectType(result, scratch, scratch); __ 2444 src/mips/lithium-codegen-mips.cc __ Branch(&done, ne, scratch, Operand(MAP_TYPE)); __ 2447 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(result, Map::kPrototypeOffset)); __ 2448 src/mips/lithium-codegen-mips.cc __ Branch(&done); __ 2452 src/mips/lithium-codegen-mips.cc __ bind(&non_instance); __ 2453 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(result, Map::kConstructorOffset)); __ 2456 src/mips/lithium-codegen-mips.cc __ bind(&done); __ 2465 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(input, JSObject::kElementsOffset)); __ 2468 src/mips/lithium-codegen-mips.cc __ lw(scratch, FieldMemOperand(result, HeapObject::kMapOffset)); __ 2469 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kFixedArrayMapRootIndex); __ 2470 src/mips/lithium-codegen-mips.cc __ Branch(USE_DELAY_SLOT, &done, eq, scratch, Operand(at)); __ 2471 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kFixedCOWArrayMapRootIndex); // In the delay slot. __ 2472 src/mips/lithium-codegen-mips.cc __ Branch(&done, eq, scratch, Operand(at)); __ 2474 src/mips/lithium-codegen-mips.cc __ lbu(scratch, FieldMemOperand(scratch, Map::kBitField2Offset)); __ 2475 src/mips/lithium-codegen-mips.cc __ Ext(scratch, scratch, Map::kElementsKindShift, __ 2477 src/mips/lithium-codegen-mips.cc __ Branch(&fail, lt, scratch, __ 2479 src/mips/lithium-codegen-mips.cc __ Branch(&done, le, scratch, __ 2481 src/mips/lithium-codegen-mips.cc __ Branch(&fail, lt, scratch, __ 2483 src/mips/lithium-codegen-mips.cc __ Branch(&done, le, scratch, __ 2485 src/mips/lithium-codegen-mips.cc __ bind(&fail); __ 2486 src/mips/lithium-codegen-mips.cc __ Abort("Check for fast or external elements failed."); __ 2487 src/mips/lithium-codegen-mips.cc __ bind(&done); __ 2496 src/mips/lithium-codegen-mips.cc __ lw(to_reg, FieldMemOperand(from_reg, __ 2516 src/mips/lithium-codegen-mips.cc __ subu(length, length, index); __ 2517 src/mips/lithium-codegen-mips.cc __ Addu(length, length, Operand(1)); __ 2518 src/mips/lithium-codegen-mips.cc __ sll(length, length, kPointerSizeLog2); __ 2519 src/mips/lithium-codegen-mips.cc __ Addu(at, arguments, Operand(length)); __ 2520 src/mips/lithium-codegen-mips.cc __ lw(result, MemOperand(at, 0)); __ 2531 src/mips/lithium-codegen-mips.cc __ sll(scratch, key, kPointerSizeLog2); // Key indexes words. __ 2532 src/mips/lithium-codegen-mips.cc __ addu(scratch, elements, scratch); __ 2535 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(scratch, offset)); __ 2540 src/mips/lithium-codegen-mips.cc __ And(scratch, result, Operand(kSmiTagMask)); __ 2543 src/mips/lithium-codegen-mips.cc __ LoadRoot(scratch, Heap::kTheHoleValueRootIndex); __ 2571 src/mips/lithium-codegen-mips.cc __ Addu(elements, elements, __ 2575 src/mips/lithium-codegen-mips.cc __ sll(scratch, key, shift_size); __ 2576 src/mips/lithium-codegen-mips.cc __ Addu(elements, elements, Operand(scratch)); __ 2577 src/mips/lithium-codegen-mips.cc __ Addu(elements, elements, __ 2583 src/mips/lithium-codegen-mips.cc __ lw(scratch, MemOperand(elements, sizeof(kHoleNanLower32))); __ 2587 src/mips/lithium-codegen-mips.cc __ ldc1(result, MemOperand(elements)); __ 2613 src/mips/lithium-codegen-mips.cc __ Addu(scratch0(), external_pointer, constant_key << shift_size); __ 2615 src/mips/lithium-codegen-mips.cc __ sll(scratch0(), key, shift_size); __ 2616 src/mips/lithium-codegen-mips.cc __ Addu(scratch0(), scratch0(), external_pointer); __ 2620 src/mips/lithium-codegen-mips.cc __ lwc1(result, MemOperand(scratch0(), additional_offset)); __ 2621 src/mips/lithium-codegen-mips.cc __ cvt_d_s(result, result); __ 2623 src/mips/lithium-codegen-mips.cc __ ldc1(result, MemOperand(scratch0(), additional_offset)); __ 2629 src/mips/lithium-codegen-mips.cc __ Addu(scratch, key, instr->additional_index()); __ 2638 src/mips/lithium-codegen-mips.cc __ sll(scratch, key, shift_size); __ 2640 src/mips/lithium-codegen-mips.cc __ sll(scratch, scratch, shift_size); __ 2642 src/mips/lithium-codegen-mips.cc __ Addu(scratch, scratch, external_pointer); __ 2647 src/mips/lithium-codegen-mips.cc __ lb(result, mem_operand); __ 2651 src/mips/lithium-codegen-mips.cc __ lbu(result, mem_operand); __ 2654 src/mips/lithium-codegen-mips.cc __ lh(result, mem_operand); __ 2657 src/mips/lithium-codegen-mips.cc __ lhu(result, mem_operand); __ 2660 src/mips/lithium-codegen-mips.cc __ lw(result, mem_operand); __ 2663 src/mips/lithium-codegen-mips.cc __ lw(result, mem_operand); __ 2702 src/mips/lithium-codegen-mips.cc __ Subu(result, sp, 2 * kPointerSize); __ 2706 src/mips/lithium-codegen-mips.cc __ lw(scratch, MemOperand(fp, StandardFrameConstants::kCallerFPOffset)); __ 2707 src/mips/lithium-codegen-mips.cc __ lw(result, MemOperand(scratch, StandardFrameConstants::kContextOffset)); __ 2708 src/mips/lithium-codegen-mips.cc __ Xor(temp, result, Operand(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR))); __ 2712 src/mips/lithium-codegen-mips.cc __ Movn(result, fp, temp); // Move only if temp is not equal to zero (ne). __ 2713 src/mips/lithium-codegen-mips.cc __ Movz(result, scratch, temp); // Move only if temp is equal to zero (eq). __ 2725 src/mips/lithium-codegen-mips.cc __ Addu(result, zero_reg, Operand(scope()->num_parameters())); __ 2726 src/mips/lithium-codegen-mips.cc __ Branch(&done, eq, fp, Operand(elem)); __ 2729 src/mips/lithium-codegen-mips.cc __ lw(result, MemOperand(fp, StandardFrameConstants::kCallerFPOffset)); __ 2730 src/mips/lithium-codegen-mips.cc __ lw(result, __ 2732 src/mips/lithium-codegen-mips.cc __ SmiUntag(result); __ 2735 src/mips/lithium-codegen-mips.cc __ bind(&done); __ 2751 src/mips/lithium-codegen-mips.cc __ lw(scratch, __ 2753 src/mips/lithium-codegen-mips.cc __ lw(scratch, __ 2760 src/mips/lithium-codegen-mips.cc __ And(scratch, scratch, Operand(strict_mode_function_mask | native_mask)); __ 2761 src/mips/lithium-codegen-mips.cc __ Branch(&receiver_ok, ne, scratch, Operand(zero_reg)); __ 2764 src/mips/lithium-codegen-mips.cc __ LoadRoot(scratch, Heap::kNullValueRootIndex); __ 2765 src/mips/lithium-codegen-mips.cc __ Branch(&global_object, eq, receiver, Operand(scratch)); __ 2766 src/mips/lithium-codegen-mips.cc __ LoadRoot(scratch, Heap::kUndefinedValueRootIndex); __ 2767 src/mips/lithium-codegen-mips.cc __ Branch(&global_object, eq, receiver, Operand(scratch)); __ 2770 src/mips/lithium-codegen-mips.cc __ And(scratch, receiver, Operand(kSmiTagMask)); __ 2773 src/mips/lithium-codegen-mips.cc __ GetObjectType(receiver, scratch, scratch); __ 2776 src/mips/lithium-codegen-mips.cc __ Branch(&receiver_ok); __ 2778 src/mips/lithium-codegen-mips.cc __ bind(&global_object); __ 2779 src/mips/lithium-codegen-mips.cc __ lw(receiver, GlobalObjectOperand()); __ 2780 src/mips/lithium-codegen-mips.cc __ lw(receiver, __ 2782 src/mips/lithium-codegen-mips.cc __ bind(&receiver_ok); __ 2802 src/mips/lithium-codegen-mips.cc __ push(receiver); __ 2803 src/mips/lithium-codegen-mips.cc __ Move(receiver, length); __ 2805 src/mips/lithium-codegen-mips.cc __ Addu(elements, elements, Operand(1 * kPointerSize)); __ 2811 src/mips/lithium-codegen-mips.cc __ Branch(USE_DELAY_SLOT, &invoke, eq, length, Operand(zero_reg)); __ 2812 src/mips/lithium-codegen-mips.cc __ sll(scratch, length, 2); __ 2813 src/mips/lithium-codegen-mips.cc __ bind(&loop); __ 2814 src/mips/lithium-codegen-mips.cc __ Addu(scratch, elements, scratch); __ 2815 src/mips/lithium-codegen-mips.cc __ lw(scratch, MemOperand(scratch)); __ 2816 src/mips/lithium-codegen-mips.cc __ push(scratch); __ 2817 src/mips/lithium-codegen-mips.cc __ Subu(length, length, Operand(1)); __ 2818 src/mips/lithium-codegen-mips.cc __ Branch(USE_DELAY_SLOT, &loop, ne, length, Operand(zero_reg)); __ 2819 src/mips/lithium-codegen-mips.cc __ sll(scratch, length, 2); __ 2821 src/mips/lithium-codegen-mips.cc __ bind(&invoke); __ 2830 src/mips/lithium-codegen-mips.cc __ InvokeFunction(function, actual, CALL_FUNCTION, __ 2832 src/mips/lithium-codegen-mips.cc __ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 2842 src/mips/lithium-codegen-mips.cc __ push(argument_reg); __ 2848 src/mips/lithium-codegen-mips.cc __ Drop(instr->count()); __ 2854 src/mips/lithium-codegen-mips.cc __ lw(result, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); __ 2860 src/mips/lithium-codegen-mips.cc __ mov(result, cp); __ 2867 src/mips/lithium-codegen-mips.cc __ lw(result, __ 2873 src/mips/lithium-codegen-mips.cc __ LoadHeapObject(scratch0(), instr->hydrogen()->pairs()); __ 2874 src/mips/lithium-codegen-mips.cc __ li(scratch1(), Operand(Smi::FromInt(instr->hydrogen()->flags()))); __ 2876 src/mips/lithium-codegen-mips.cc __ Push(cp, scratch0(), scratch1()); __ 2883 src/mips/lithium-codegen-mips.cc __ lw(result, ContextOperand(cp, Context::GLOBAL_INDEX)); __ 2890 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(global, GlobalObject::kGlobalReceiverOffset)); __ 2907 src/mips/lithium-codegen-mips.cc __ LoadHeapObject(a1, function); __ 2916 src/mips/lithium-codegen-mips.cc __ lw(cp, FieldMemOperand(a1, JSFunction::kContextOffset)); __ 2922 src/mips/lithium-codegen-mips.cc __ li(a0, Operand(arity)); __ 2926 src/mips/lithium-codegen-mips.cc __ SetCallKind(t1, call_kind); __ 2927 src/mips/lithium-codegen-mips.cc __ lw(at, FieldMemOperand(a1, JSFunction::kCodeEntryOffset)); __ 2928 src/mips/lithium-codegen-mips.cc __ Call(at); __ 2935 src/mips/lithium-codegen-mips.cc __ InvokeFunction(function, count, CALL_FUNCTION, generator, call_kind); __ 2939 src/mips/lithium-codegen-mips.cc __ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 2945 src/mips/lithium-codegen-mips.cc __ mov(a0, v0); __ 2960 src/mips/lithium-codegen-mips.cc __ lw(scratch, FieldMemOperand(input, HeapObject::kMapOffset)); __ 2961 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kHeapNumberMapRootIndex); __ 2967 src/mips/lithium-codegen-mips.cc __ lw(exponent, FieldMemOperand(input, HeapNumber::kExponentOffset)); __ 2970 src/mips/lithium-codegen-mips.cc __ Move(result, input); __ 2971 src/mips/lithium-codegen-mips.cc __ And(at, exponent, Operand(HeapNumber::kSignMask)); __ 2972 src/mips/lithium-codegen-mips.cc __ Branch(&done, eq, at, Operand(zero_reg)); __ 2989 src/mips/lithium-codegen-mips.cc __ LoadRoot(tmp4, Heap::kHeapNumberMapRootIndex); __ 2990 src/mips/lithium-codegen-mips.cc __ AllocateHeapNumber(tmp1, tmp2, tmp3, tmp4, &slow); __ 2991 src/mips/lithium-codegen-mips.cc __ Branch(&allocated); __ 2994 src/mips/lithium-codegen-mips.cc __ bind(&slow); __ 2999 src/mips/lithium-codegen-mips.cc __ mov(tmp1, v0); __ 3001 src/mips/lithium-codegen-mips.cc __ LoadFromSafepointRegisterSlot(input, input); __ 3002 src/mips/lithium-codegen-mips.cc __ lw(exponent, FieldMemOperand(input, HeapNumber::kExponentOffset)); __ 3004 src/mips/lithium-codegen-mips.cc __ bind(&allocated); __ 3007 src/mips/lithium-codegen-mips.cc __ And(exponent, exponent, Operand(~HeapNumber::kSignMask)); __ 3008 src/mips/lithium-codegen-mips.cc __ sw(exponent, FieldMemOperand(tmp1, HeapNumber::kExponentOffset)); __ 3009 src/mips/lithium-codegen-mips.cc __ lw(tmp2, FieldMemOperand(input, HeapNumber::kMantissaOffset)); __ 3010 src/mips/lithium-codegen-mips.cc __ sw(tmp2, FieldMemOperand(tmp1, HeapNumber::kMantissaOffset)); __ 3012 src/mips/lithium-codegen-mips.cc __ StoreToSafepointRegisterSlot(tmp1, result); __ 3015 src/mips/lithium-codegen-mips.cc __ bind(&done); __ 3024 src/mips/lithium-codegen-mips.cc __ Branch(USE_DELAY_SLOT, &done, ge, input, Operand(zero_reg)); __ 3025 src/mips/lithium-codegen-mips.cc __ mov(result, input); __ 3027 src/mips/lithium-codegen-mips.cc __ subu(result, zero_reg, input); __ 3030 src/mips/lithium-codegen-mips.cc __ bind(&done); __ 3053 src/mips/lithium-codegen-mips.cc __ abs_d(result, input); __ 3062 src/mips/lithium-codegen-mips.cc __ JumpIfNotSmi(input, deferred->entry()); __ 3065 src/mips/lithium-codegen-mips.cc __ bind(deferred->exit()); __ 3077 src/mips/lithium-codegen-mips.cc __ EmitFPUTruncate(kRoundToMinusInf, __ 3087 src/mips/lithium-codegen-mips.cc __ mfc1(result, single_scratch); __ 3092 src/mips/lithium-codegen-mips.cc __ Branch(&done, ne, result, Operand(zero_reg)); __ 3093 src/mips/lithium-codegen-mips.cc __ mfc1(scratch1, input.high()); __ 3094 src/mips/lithium-codegen-mips.cc __ And(scratch1, scratch1, Operand(HeapNumber::kSignMask)); __ 3096 src/mips/lithium-codegen-mips.cc __ bind(&done); __ 3108 src/mips/lithium-codegen-mips.cc __ mfc1(result, input.high()); __ 3109 src/mips/lithium-codegen-mips.cc __ Ext(scratch, __ 3116 src/mips/lithium-codegen-mips.cc __ Branch(&skip1, gt, scratch, Operand(HeapNumber::kExponentBias - 2)); __ 3117 src/mips/lithium-codegen-mips.cc __ mov(result, zero_reg); __ 3119 src/mips/lithium-codegen-mips.cc __ Branch(&check_sign_on_zero); __ 3121 src/mips/lithium-codegen-mips.cc __ Branch(&done); __ 3123 src/mips/lithium-codegen-mips.cc __ bind(&skip1); __ 3131 src/mips/lithium-codegen-mips.cc __ And(scratch, result, Operand(HeapNumber::kSignMask)); __ 3133 src/mips/lithium-codegen-mips.cc __ Move(double_scratch0(), 0.5); __ 3134 src/mips/lithium-codegen-mips.cc __ add_d(double_scratch0(), input, double_scratch0()); __ 3138 src/mips/lithium-codegen-mips.cc __ mfc1(result, double_scratch0().high()); __ 3139 src/mips/lithium-codegen-mips.cc __ Xor(result, result, Operand(scratch)); __ 3148 src/mips/lithium-codegen-mips.cc __ Branch(&skip2, ge, result, Operand(zero_reg)); __ 3149 src/mips/lithium-codegen-mips.cc __ mov(result, zero_reg); __ 3150 src/mips/lithium-codegen-mips.cc __ Branch(&done); __ 3151 src/mips/lithium-codegen-mips.cc __ bind(&skip2); __ 3156 src/mips/lithium-codegen-mips.cc __ EmitFPUTruncate(kRoundToMinusInf, __ 3164 src/mips/lithium-codegen-mips.cc __ mfc1(result, double_scratch0().low()); __ 3168 src/mips/lithium-codegen-mips.cc __ Branch(&done, ne, result, Operand(zero_reg)); __ 3169 src/mips/lithium-codegen-mips.cc __ bind(&check_sign_on_zero); __ 3170 src/mips/lithium-codegen-mips.cc __ mfc1(scratch, input.high()); __ 3171 src/mips/lithium-codegen-mips.cc __ And(scratch, scratch, Operand(HeapNumber::kSignMask)); __ 3174 src/mips/lithium-codegen-mips.cc __ bind(&done); __ 3181 src/mips/lithium-codegen-mips.cc __ sqrt_d(result, input); __ 3196 src/mips/lithium-codegen-mips.cc __ Move(temp, -V8_INFINITY); __ 3197 src/mips/lithium-codegen-mips.cc __ BranchF(USE_DELAY_SLOT, &done, NULL, eq, temp, input); __ 3200 src/mips/lithium-codegen-mips.cc __ neg_d(result, temp); __ 3203 src/mips/lithium-codegen-mips.cc __ add_d(result, input, kDoubleRegZero); __ 3204 src/mips/lithium-codegen-mips.cc __ sqrt_d(result, result); __ 3205 src/mips/lithium-codegen-mips.cc __ bind(&done); __ 3222 src/mips/lithium-codegen-mips.cc __ JumpIfSmi(a2, &no_deopt); __ 3223 src/mips/lithium-codegen-mips.cc __ lw(t3, FieldMemOperand(a2, HeapObject::kMapOffset)); __ 3225 src/mips/lithium-codegen-mips.cc __ bind(&no_deopt); __ 3227 src/mips/lithium-codegen-mips.cc __ CallStub(&stub); __ 3230 src/mips/lithium-codegen-mips.cc __ CallStub(&stub); __ 3234 src/mips/lithium-codegen-mips.cc __ CallStub(&stub); __ 3259 src/mips/lithium-codegen-mips.cc __ lw(a0, FieldMemOperand(a0, GlobalObject::kGlobalContextOffset)); __ 3262 src/mips/lithium-codegen-mips.cc __ lw(a2, FieldMemOperand(a0, kRandomSeedOffset)); __ 3266 src/mips/lithium-codegen-mips.cc __ lw(a1, FieldMemOperand(a2, ByteArray::kHeaderSize)); __ 3267 src/mips/lithium-codegen-mips.cc __ Branch(deferred->entry(), eq, a1, Operand(zero_reg)); __ 3269 src/mips/lithium-codegen-mips.cc __ lw(a0, FieldMemOperand(a2, ByteArray::kHeaderSize + kSeedSize)); __ 3274 src/mips/lithium-codegen-mips.cc __ And(a3, a1, Operand(0xFFFF)); __ 3275 src/mips/lithium-codegen-mips.cc __ li(t0, Operand(18273)); __ 3276 src/mips/lithium-codegen-mips.cc __ Mul(a3, a3, t0); __ 3277 src/mips/lithium-codegen-mips.cc __ srl(a1, a1, 16); __ 3278 src/mips/lithium-codegen-mips.cc __ Addu(a1, a3, a1); __ 3280 src/mips/lithium-codegen-mips.cc __ sw(a1, FieldMemOperand(a2, ByteArray::kHeaderSize)); __ 3283 src/mips/lithium-codegen-mips.cc __ And(a3, a0, Operand(0xFFFF)); __ 3284 src/mips/lithium-codegen-mips.cc __ li(t0, Operand(36969)); __ 3285 src/mips/lithium-codegen-mips.cc __ Mul(a3, a3, t0); __ 3286 src/mips/lithium-codegen-mips.cc __ srl(a0, a0, 16), __ 3287 src/mips/lithium-codegen-mips.cc __ Addu(a0, a3, a0); __ 3289 src/mips/lithium-codegen-mips.cc __ sw(a0, FieldMemOperand(a2, ByteArray::kHeaderSize + kSeedSize)); __ 3292 src/mips/lithium-codegen-mips.cc __ And(a0, a0, Operand(0x3FFFF)); __ 3293 src/mips/lithium-codegen-mips.cc __ sll(a1, a1, 14); __ 3294 src/mips/lithium-codegen-mips.cc __ Addu(v0, a0, a1); __ 3296 src/mips/lithium-codegen-mips.cc __ bind(deferred->exit()); __ 3299 src/mips/lithium-codegen-mips.cc __ li(a2, Operand(0x41300000)); __ 3301 src/mips/lithium-codegen-mips.cc __ Move(f12, v0, a2); __ 3303 src/mips/lithium-codegen-mips.cc __ Move(f14, zero_reg, a2); __ 3305 src/mips/lithium-codegen-mips.cc __ sub_d(f0, f12, f14); __ 3309 src/mips/lithium-codegen-mips.cc __ PrepareCallCFunction(1, scratch0()); __ 3310 src/mips/lithium-codegen-mips.cc __ CallCFunction(ExternalReference::random_uint32_function(isolate()), 1); __ 3392 src/mips/lithium-codegen-mips.cc __ InvokeFunction(a1, count, CALL_FUNCTION, generator, CALL_AS_METHOD); __ 3393 src/mips/lithium-codegen-mips.cc __ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 3411 src/mips/lithium-codegen-mips.cc __ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 3422 src/mips/lithium-codegen-mips.cc __ li(a2, Operand(instr->name())); __ 3425 src/mips/lithium-codegen-mips.cc __ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 3436 src/mips/lithium-codegen-mips.cc __ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 3447 src/mips/lithium-codegen-mips.cc __ li(a2, Operand(instr->name())); __ 3449 src/mips/lithium-codegen-mips.cc __ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 3468 src/mips/lithium-codegen-mips.cc __ li(a0, Operand(instr->arity())); __ 3487 src/mips/lithium-codegen-mips.cc __ li(scratch, Operand(instr->transition())); __ 3488 src/mips/lithium-codegen-mips.cc __ sw(scratch, FieldMemOperand(object, HeapObject::kMapOffset)); __ 3492 src/mips/lithium-codegen-mips.cc __ RecordWriteField(object, __ 3508 src/mips/lithium-codegen-mips.cc __ sw(value, FieldMemOperand(object, offset)); __ 3511 src/mips/lithium-codegen-mips.cc __ RecordWriteField(object, __ 3521 src/mips/lithium-codegen-mips.cc __ lw(scratch, FieldMemOperand(object, JSObject::kPropertiesOffset)); __ 3522 src/mips/lithium-codegen-mips.cc __ sw(value, FieldMemOperand(scratch, offset)); __ 3526 src/mips/lithium-codegen-mips.cc __ RecordWriteField(scratch, __ 3544 src/mips/lithium-codegen-mips.cc __ li(a2, Operand(instr->name())); __ 3573 src/mips/lithium-codegen-mips.cc __ sw(value, FieldMemOperand(elements, offset)); __ 3575 src/mips/lithium-codegen-mips.cc __ sll(scratch, key, kPointerSizeLog2); __ 3576 src/mips/lithium-codegen-mips.cc __ addu(scratch, elements, scratch); __ 3578 src/mips/lithium-codegen-mips.cc __ Addu(scratch, __ 3582 src/mips/lithium-codegen-mips.cc __ sw(value, FieldMemOperand(scratch, FixedArray::kHeaderSize)); __ 3590 src/mips/lithium-codegen-mips.cc __ Addu(key, scratch, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 3591 src/mips/lithium-codegen-mips.cc __ RecordWrite(elements, __ 3624 src/mips/lithium-codegen-mips.cc __ Addu(scratch, elements, Operand((constant_key << shift_size) + __ 3627 src/mips/lithium-codegen-mips.cc __ sll(scratch, key, shift_size); __ 3628 src/mips/lithium-codegen-mips.cc __ Addu(scratch, elements, Operand(scratch)); __ 3629 src/mips/lithium-codegen-mips.cc __ Addu(scratch, scratch, __ 3636 src/mips/lithium-codegen-mips.cc __ BranchF(NULL, &is_nan, eq, value, value); __ 3637 src/mips/lithium-codegen-mips.cc __ Branch(¬_nan); __ 3640 src/mips/lithium-codegen-mips.cc __ bind(&is_nan); __ 3641 src/mips/lithium-codegen-mips.cc __ Move(value, FixedDoubleArray::canonical_not_the_hole_nan_as_double()); __ 3644 src/mips/lithium-codegen-mips.cc __ bind(¬_nan); __ 3645 src/mips/lithium-codegen-mips.cc __ sdc1(value, MemOperand(scratch, instr->additional_index() << shift_size)); __ 3672 src/mips/lithium-codegen-mips.cc __ Addu(scratch0(), external_pointer, constant_key << shift_size); __ 3674 src/mips/lithium-codegen-mips.cc __ sll(scratch0(), key, shift_size); __ 3675 src/mips/lithium-codegen-mips.cc __ Addu(scratch0(), scratch0(), external_pointer); __ 3679 src/mips/lithium-codegen-mips.cc __ cvt_s_d(double_scratch0(), value); __ 3680 src/mips/lithium-codegen-mips.cc __ swc1(double_scratch0(), MemOperand(scratch0(), additional_offset)); __ 3682 src/mips/lithium-codegen-mips.cc __ sdc1(value, MemOperand(scratch0(), additional_offset)); __ 3688 src/mips/lithium-codegen-mips.cc __ Addu(scratch, key, instr->additional_index()); __ 3697 src/mips/lithium-codegen-mips.cc __ sll(scratch, key, shift_size); __ 3699 src/mips/lithium-codegen-mips.cc __ sll(scratch, scratch, shift_size); __ 3701 src/mips/lithium-codegen-mips.cc __ Addu(scratch, scratch, external_pointer); __ 3708 src/mips/lithium-codegen-mips.cc __ sb(value, mem_operand); __ 3712 src/mips/lithium-codegen-mips.cc __ sh(value, mem_operand); __ 3716 src/mips/lithium-codegen-mips.cc __ sw(value, mem_operand); __ 3756 src/mips/lithium-codegen-mips.cc __ mov(ToRegister(instr->result()), object_reg); __ 3759 src/mips/lithium-codegen-mips.cc __ lw(scratch, FieldMemOperand(object_reg, HeapObject::kMapOffset)); __ 3760 src/mips/lithium-codegen-mips.cc __ Branch(¬_applicable, ne, scratch, Operand(from_map)); __ 3762 src/mips/lithium-codegen-mips.cc __ li(new_map_reg, Operand(to_map)); __ 3764 src/mips/lithium-codegen-mips.cc __ sw(new_map_reg, FieldMemOperand(object_reg, HeapObject::kMapOffset)); __ 3766 src/mips/lithium-codegen-mips.cc __ RecordWriteField(object_reg, HeapObject::kMapOffset, new_map_reg, __ 3773 src/mips/lithium-codegen-mips.cc __ mov(fixed_object_reg, object_reg); __ 3781 src/mips/lithium-codegen-mips.cc __ mov(fixed_object_reg, object_reg); __ 3787 src/mips/lithium-codegen-mips.cc __ bind(¬_applicable); __ 3792 src/mips/lithium-codegen-mips.cc __ push(ToRegister(instr->left())); __ 3793 src/mips/lithium-codegen-mips.cc __ push(ToRegister(instr->right())); __ 3817 src/mips/lithium-codegen-mips.cc __ bind(deferred->exit()); __ 3829 src/mips/lithium-codegen-mips.cc __ mov(result, zero_reg); __ 3832 src/mips/lithium-codegen-mips.cc __ push(string); __ 3837 src/mips/lithium-codegen-mips.cc __ Addu(scratch, zero_reg, Operand(Smi::FromInt(const_index))); __ 3838 src/mips/lithium-codegen-mips.cc __ push(scratch); __ 3841 src/mips/lithium-codegen-mips.cc __ SmiTag(index); __ 3842 src/mips/lithium-codegen-mips.cc __ push(index); __ 3846 src/mips/lithium-codegen-mips.cc __ AbortIfNotSmi(v0); __ 3848 src/mips/lithium-codegen-mips.cc __ SmiUntag(v0); __ 3849 src/mips/lithium-codegen-mips.cc __ StoreToSafepointRegisterSlot(v0, result); __ 3873 src/mips/lithium-codegen-mips.cc __ Branch(deferred->entry(), hi, __ 3875 src/mips/lithium-codegen-mips.cc __ LoadRoot(result, Heap::kSingleCharacterStringCacheRootIndex); __ 3876 src/mips/lithium-codegen-mips.cc __ sll(scratch, char_code, kPointerSizeLog2); __ 3877 src/mips/lithium-codegen-mips.cc __ Addu(result, result, scratch); __ 3878 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(result, FixedArray::kHeaderSize)); __ 3879 src/mips/lithium-codegen-mips.cc __ LoadRoot(scratch, Heap::kUndefinedValueRootIndex); __ 3880 src/mips/lithium-codegen-mips.cc __ Branch(deferred->entry(), eq, result, Operand(scratch)); __ 3881 src/mips/lithium-codegen-mips.cc __ bind(deferred->exit()); __ 3892 src/mips/lithium-codegen-mips.cc __ mov(result, zero_reg); __ 3895 src/mips/lithium-codegen-mips.cc __ SmiTag(char_code); __ 3896 src/mips/lithium-codegen-mips.cc __ push(char_code); __ 3898 src/mips/lithium-codegen-mips.cc __ StoreToSafepointRegisterSlot(v0, result); __ 3905 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(string, String::kLengthOffset)); __ 3917 src/mips/lithium-codegen-mips.cc __ lw(scratch, ToMemOperand(input)); __ 3918 src/mips/lithium-codegen-mips.cc __ mtc1(scratch, single_scratch); __ 3920 src/mips/lithium-codegen-mips.cc __ mtc1(ToRegister(input), single_scratch); __ 3922 src/mips/lithium-codegen-mips.cc __ cvt_d_w(ToDoubleRegister(output), single_scratch); __ 3942 src/mips/lithium-codegen-mips.cc __ SmiTagCheckOverflow(dst, src, overflow); __ 3943 src/mips/lithium-codegen-mips.cc __ BranchOnOverflow(deferred->entry(), overflow); __ 3944 src/mips/lithium-codegen-mips.cc __ bind(deferred->exit()); __ 3962 src/mips/lithium-codegen-mips.cc __ SmiUntag(src, dst); __ 3963 src/mips/lithium-codegen-mips.cc __ Xor(src, src, Operand(0x80000000)); __ 3965 src/mips/lithium-codegen-mips.cc __ mtc1(src, dbl_scratch); __ 3966 src/mips/lithium-codegen-mips.cc __ cvt_d_w(dbl_scratch, dbl_scratch); __ 3968 src/mips/lithium-codegen-mips.cc __ LoadRoot(t2, Heap::kHeapNumberMapRootIndex); __ 3969 src/mips/lithium-codegen-mips.cc __ AllocateHeapNumber(t1, a3, t0, t2, &slow); __ 3970 src/mips/lithium-codegen-mips.cc __ Move(dst, t1); __ 3971 src/mips/lithium-codegen-mips.cc __ Branch(&done); __ 3975 src/mips/lithium-codegen-mips.cc __ bind(&slow); __ 3980 src/mips/lithium-codegen-mips.cc __ StoreToSafepointRegisterSlot(zero_reg, dst); __ 3982 src/mips/lithium-codegen-mips.cc __ Move(dst, v0); __ 3986 src/mips/lithium-codegen-mips.cc __ bind(&done); __ 3987 src/mips/lithium-codegen-mips.cc __ sdc1(dbl_scratch, FieldMemOperand(dst, HeapNumber::kValueOffset)); __ 3988 src/mips/lithium-codegen-mips.cc __ StoreToSafepointRegisterSlot(dst, dst); __ 4011 src/mips/lithium-codegen-mips.cc __ LoadRoot(scratch, Heap::kHeapNumberMapRootIndex); __ 4012 src/mips/lithium-codegen-mips.cc __ AllocateHeapNumber(reg, temp1, temp2, scratch, deferred->entry()); __ 4014 src/mips/lithium-codegen-mips.cc __ Branch(deferred->entry()); __ 4016 src/mips/lithium-codegen-mips.cc __ bind(deferred->exit()); __ 4017 src/mips/lithium-codegen-mips.cc __ sdc1(input_reg, FieldMemOperand(reg, HeapNumber::kValueOffset)); __ 4026 src/mips/lithium-codegen-mips.cc __ mov(reg, zero_reg); __ 4030 src/mips/lithium-codegen-mips.cc __ StoreToSafepointRegisterSlot(v0, reg); __ 4036 src/mips/lithium-codegen-mips.cc __ SmiTag(ToRegister(instr->result()), ToRegister(instr->InputAt(0))); __ 4047 src/mips/lithium-codegen-mips.cc __ And(scratch, input, Operand(kHeapObjectTag)); __ 4048 src/mips/lithium-codegen-mips.cc __ SmiUntag(result, input); __ 4051 src/mips/lithium-codegen-mips.cc __ SmiUntag(result, input); __ 4066 src/mips/lithium-codegen-mips.cc __ UntagAndJumpIfSmi(scratch, input_reg, &load_smi); __ 4069 src/mips/lithium-codegen-mips.cc __ lw(scratch, FieldMemOperand(input_reg, HeapObject::kMapOffset)); __ 4070 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kHeapNumberMapRootIndex); __ 4075 src/mips/lithium-codegen-mips.cc __ Branch(&heap_number, eq, scratch, Operand(at)); __ 4077 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kUndefinedValueRootIndex); __ 4081 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kNanValueRootIndex); __ 4082 src/mips/lithium-codegen-mips.cc __ ldc1(result_reg, FieldMemOperand(at, HeapNumber::kValueOffset)); __ 4083 src/mips/lithium-codegen-mips.cc __ Branch(&done); __ 4085 src/mips/lithium-codegen-mips.cc __ bind(&heap_number); __ 4088 src/mips/lithium-codegen-mips.cc __ ldc1(result_reg, FieldMemOperand(input_reg, HeapNumber::kValueOffset)); __ 4090 src/mips/lithium-codegen-mips.cc __ mfc1(at, result_reg.low()); __ 4091 src/mips/lithium-codegen-mips.cc __ Branch(&done, ne, at, Operand(zero_reg)); __ 4092 src/mips/lithium-codegen-mips.cc __ mfc1(scratch, result_reg.high()); __ 4095 src/mips/lithium-codegen-mips.cc __ Branch(&done); __ 4098 src/mips/lithium-codegen-mips.cc __ bind(&load_smi); __ 4100 src/mips/lithium-codegen-mips.cc __ mtc1(scratch, result_reg); __ 4101 src/mips/lithium-codegen-mips.cc __ cvt_d_w(result_reg, result_reg); __ 4102 src/mips/lithium-codegen-mips.cc __ bind(&done); __ 4120 src/mips/lithium-codegen-mips.cc __ lw(scratch1, FieldMemOperand(input_reg, HeapObject::kMapOffset)); __ 4121 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kHeapNumberMapRootIndex); __ 4134 src/mips/lithium-codegen-mips.cc __ Branch(&heap_number, eq, scratch1, Operand(at)); // HeapNumber map? __ 4137 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kUndefinedValueRootIndex); __ 4140 src/mips/lithium-codegen-mips.cc __ mov(input_reg, zero_reg); __ 4141 src/mips/lithium-codegen-mips.cc __ Branch(&done); __ 4143 src/mips/lithium-codegen-mips.cc __ bind(&heap_number); __ 4144 src/mips/lithium-codegen-mips.cc __ ldc1(double_scratch2, __ 4146 src/mips/lithium-codegen-mips.cc __ EmitECMATruncate(input_reg, __ 4157 src/mips/lithium-codegen-mips.cc __ ldc1(double_scratch, __ 4161 src/mips/lithium-codegen-mips.cc __ EmitFPUTruncate(kRoundToZero, __ 4172 src/mips/lithium-codegen-mips.cc __ mfc1(input_reg, single_scratch); __ 4175 src/mips/lithium-codegen-mips.cc __ Branch(&done, ne, input_reg, Operand(zero_reg)); __ 4177 src/mips/lithium-codegen-mips.cc __ mfc1(scratch1, double_scratch.high()); __ 4178 src/mips/lithium-codegen-mips.cc __ And(scratch1, scratch1, Operand(HeapNumber::kSignMask)); __ 4182 src/mips/lithium-codegen-mips.cc __ bind(&done); __ 4206 src/mips/lithium-codegen-mips.cc __ JumpIfNotSmi(input_reg, deferred->entry()); __ 4209 src/mips/lithium-codegen-mips.cc __ SmiUntag(input_reg); __ 4210 src/mips/lithium-codegen-mips.cc __ bind(deferred->exit()); __ 4239 src/mips/lithium-codegen-mips.cc __ EmitECMATruncate(result_reg, __ 4248 src/mips/lithium-codegen-mips.cc __ EmitFPUTruncate(kRoundToMinusInf, __ 4259 src/mips/lithium-codegen-mips.cc __ mfc1(result_reg, single_scratch); __ 4266 src/mips/lithium-codegen-mips.cc __ And(at, ToRegister(input), Operand(kSmiTagMask)); __ 4273 src/mips/lithium-codegen-mips.cc __ And(at, ToRegister(input), Operand(kSmiTagMask)); __ 4282 src/mips/lithium-codegen-mips.cc __ GetObjectType(input, scratch, scratch); __ 4306 src/mips/lithium-codegen-mips.cc __ And(at, scratch, mask); __ 4310 src/mips/lithium-codegen-mips.cc __ And(scratch, scratch, Operand(mask)); __ 4324 src/mips/lithium-codegen-mips.cc __ li(at, Operand(Handle<Object>(cell))); __ 4325 src/mips/lithium-codegen-mips.cc __ lw(at, FieldMemOperand(at, JSGlobalPropertyCell::kValueOffset)); __ 4341 src/mips/lithium-codegen-mips.cc __ CompareMapAndBranch(reg, scratch, map, &success, eq, &success, mode); __ 4343 src/mips/lithium-codegen-mips.cc __ bind(&success); __ 4356 src/mips/lithium-codegen-mips.cc __ CompareMapAndBranch( __ 4361 src/mips/lithium-codegen-mips.cc __ bind(&success); __ 4369 src/mips/lithium-codegen-mips.cc __ ClampDoubleToUint8(result_reg, value_reg, temp_reg); __ 4376 src/mips/lithium-codegen-mips.cc __ ClampUint8(result_reg, unclamped_reg); __ 4388 src/mips/lithium-codegen-mips.cc __ UntagAndJumpIfSmi(scratch, input_reg, &is_smi); __ 4391 src/mips/lithium-codegen-mips.cc __ lw(scratch, FieldMemOperand(input_reg, HeapObject::kMapOffset)); __ 4392 src/mips/lithium-codegen-mips.cc __ Branch(&heap_number, eq, scratch, Operand(factory()->heap_number_map())); __ 4398 src/mips/lithium-codegen-mips.cc __ mov(result_reg, zero_reg); __ 4399 src/mips/lithium-codegen-mips.cc __ jmp(&done); __ 4402 src/mips/lithium-codegen-mips.cc __ bind(&heap_number); __ 4403 src/mips/lithium-codegen-mips.cc __ ldc1(double_scratch0(), FieldMemOperand(input_reg, __ 4405 src/mips/lithium-codegen-mips.cc __ ClampDoubleToUint8(result_reg, double_scratch0(), temp_reg); __ 4406 src/mips/lithium-codegen-mips.cc __ jmp(&done); __ 4408 src/mips/lithium-codegen-mips.cc __ bind(&is_smi); __ 4409 src/mips/lithium-codegen-mips.cc __ ClampUint8(result_reg, scratch); __ 4411 src/mips/lithium-codegen-mips.cc __ bind(&done); __ 4423 src/mips/lithium-codegen-mips.cc __ LoadHeapObject(temp1, current_prototype); __ 4433 src/mips/lithium-codegen-mips.cc __ LoadHeapObject(temp1, current_prototype); __ 4471 src/mips/lithium-codegen-mips.cc __ AllocateInNewSpace(instance_size, __ 4478 src/mips/lithium-codegen-mips.cc __ bind(deferred->exit()); __ 4481 src/mips/lithium-codegen-mips.cc __ JumpIfInNewSpace(result, scratch, &is_in_new_space); __ 4482 src/mips/lithium-codegen-mips.cc __ Abort("Allocated object is not in new-space"); __ 4483 src/mips/lithium-codegen-mips.cc __ bind(&is_in_new_space); __ 4488 src/mips/lithium-codegen-mips.cc __ LoadHeapObject(map, constructor); __ 4489 src/mips/lithium-codegen-mips.cc __ lw(map, FieldMemOperand(map, JSFunction::kPrototypeOrInitialMapOffset)); __ 4493 src/mips/lithium-codegen-mips.cc __ sw(map, FieldMemOperand(result, JSObject::kMapOffset)); __ 4494 src/mips/lithium-codegen-mips.cc __ LoadRoot(scratch, Heap::kEmptyFixedArrayRootIndex); __ 4495 src/mips/lithium-codegen-mips.cc __ sw(scratch, FieldMemOperand(result, JSObject::kElementsOffset)); __ 4496 src/mips/lithium-codegen-mips.cc __ sw(scratch, FieldMemOperand(result, JSObject::kPropertiesOffset)); __ 4498 src/mips/lithium-codegen-mips.cc __ LoadRoot(scratch, Heap::kUndefinedValueRootIndex); __ 4501 src/mips/lithium-codegen-mips.cc __ sw(scratch, FieldMemOperand(result, property_offset)); __ 4516 src/mips/lithium-codegen-mips.cc __ mov(result, zero_reg); __ 4519 src/mips/lithium-codegen-mips.cc __ li(a0, Operand(Smi::FromInt(instance_size))); __ 4520 src/mips/lithium-codegen-mips.cc __ push(a0); __ 4522 src/mips/lithium-codegen-mips.cc __ StoreToSafepointRegisterSlot(v0, result); __ 4536 src/mips/lithium-codegen-mips.cc __ LoadHeapObject(a1, instr->hydrogen()->boilerplate_object()); __ 4538 src/mips/lithium-codegen-mips.cc __ lw(a2, FieldMemOperand(a1, HeapObject::kMapOffset)); __ 4540 src/mips/lithium-codegen-mips.cc __ lbu(a2, FieldMemOperand(a2, Map::kBitField2Offset)); __ 4542 src/mips/lithium-codegen-mips.cc __ Ext(a2, a2, Map::kElementsKindShift, Map::kElementsKindBitCount); __ 4550 src/mips/lithium-codegen-mips.cc __ LoadHeapObject(a3, literals); __ 4551 src/mips/lithium-codegen-mips.cc __ li(a2, Operand(Smi::FromInt(instr->hydrogen()->literal_index()))); __ 4554 src/mips/lithium-codegen-mips.cc __ li(a1, Operand(isolate()->factory()->empty_fixed_array())); __ 4555 src/mips/lithium-codegen-mips.cc __ Push(a3, a2, a1); __ 4606 src/mips/lithium-codegen-mips.cc __ Addu(a2, result, Operand(elements_offset)); __ 4608 src/mips/lithium-codegen-mips.cc __ lw(a2, FieldMemOperand(source, i)); __ 4610 src/mips/lithium-codegen-mips.cc __ sw(a2, FieldMemOperand(result, object_offset + i)); __ 4619 src/mips/lithium-codegen-mips.cc __ Addu(a2, result, Operand(*offset)); __ 4620 src/mips/lithium-codegen-mips.cc __ sw(a2, FieldMemOperand(result, total_offset)); __ 4621 src/mips/lithium-codegen-mips.cc __ LoadHeapObject(source, value_object); __ 4624 src/mips/lithium-codegen-mips.cc __ LoadHeapObject(a2, Handle<HeapObject>::cast(value)); __ 4625 src/mips/lithium-codegen-mips.cc __ sw(a2, FieldMemOperand(result, total_offset)); __ 4627 src/mips/lithium-codegen-mips.cc __ li(a2, Operand(value)); __ 4628 src/mips/lithium-codegen-mips.cc __ sw(a2, FieldMemOperand(result, total_offset)); __ 4635 src/mips/lithium-codegen-mips.cc __ LoadHeapObject(source, elements); __ 4637 src/mips/lithium-codegen-mips.cc __ lw(a2, FieldMemOperand(source, i)); __ 4638 src/mips/lithium-codegen-mips.cc __ sw(a2, FieldMemOperand(result, elements_offset + i)); __ 4653 src/mips/lithium-codegen-mips.cc __ li(a2, Operand(value_low)); __ 4654 src/mips/lithium-codegen-mips.cc __ sw(a2, FieldMemOperand(result, total_offset)); __ 4655 src/mips/lithium-codegen-mips.cc __ li(a2, Operand(value_high)); __ 4656 src/mips/lithium-codegen-mips.cc __ sw(a2, FieldMemOperand(result, total_offset + 4)); __ 4665 src/mips/lithium-codegen-mips.cc __ Addu(a2, result, Operand(*offset)); __ 4666 src/mips/lithium-codegen-mips.cc __ sw(a2, FieldMemOperand(result, total_offset)); __ 4667 src/mips/lithium-codegen-mips.cc __ LoadHeapObject(source, value_object); __ 4670 src/mips/lithium-codegen-mips.cc __ LoadHeapObject(a2, Handle<HeapObject>::cast(value)); __ 4671 src/mips/lithium-codegen-mips.cc __ sw(a2, FieldMemOperand(result, total_offset)); __ 4673 src/mips/lithium-codegen-mips.cc __ li(a2, Operand(value)); __ 4674 src/mips/lithium-codegen-mips.cc __ sw(a2, FieldMemOperand(result, total_offset)); __ 4694 src/mips/lithium-codegen-mips.cc __ LoadHeapObject(a1, instr->hydrogen()->boilerplate()); __ 4696 src/mips/lithium-codegen-mips.cc __ lw(a2, FieldMemOperand(a1, HeapObject::kMapOffset)); __ 4698 src/mips/lithium-codegen-mips.cc __ lbu(a2, FieldMemOperand(a2, Map::kBitField2Offset)); __ 4700 src/mips/lithium-codegen-mips.cc __ Ext(a2, a2, Map::kElementsKindShift, Map::kElementsKindBitCount); __ 4708 src/mips/lithium-codegen-mips.cc __ AllocateInNewSpace(size, v0, a2, a3, &runtime_allocate, TAG_OBJECT); __ 4709 src/mips/lithium-codegen-mips.cc __ jmp(&allocated); __ 4711 src/mips/lithium-codegen-mips.cc __ bind(&runtime_allocate); __ 4712 src/mips/lithium-codegen-mips.cc __ li(a0, Operand(Smi::FromInt(size))); __ 4713 src/mips/lithium-codegen-mips.cc __ push(a0); __ 4716 src/mips/lithium-codegen-mips.cc __ bind(&allocated); __ 4718 src/mips/lithium-codegen-mips.cc __ LoadHeapObject(a1, instr->hydrogen()->boilerplate()); __ 4731 src/mips/lithium-codegen-mips.cc __ LoadHeapObject(t0, literals); __ 4732 src/mips/lithium-codegen-mips.cc __ li(a3, Operand(Smi::FromInt(instr->hydrogen()->literal_index()))); __ 4733 src/mips/lithium-codegen-mips.cc __ li(a2, Operand(constant_properties)); __ 4737 src/mips/lithium-codegen-mips.cc __ li(a1, Operand(Smi::FromInt(flags))); __ 4738 src/mips/lithium-codegen-mips.cc __ Push(t0, a3, a2, a1); __ 4757 src/mips/lithium-codegen-mips.cc __ push(a0); __ 4771 src/mips/lithium-codegen-mips.cc __ LoadHeapObject(t3, instr->hydrogen()->literals()); __ 4772 src/mips/lithium-codegen-mips.cc __ lw(a1, FieldMemOperand(t3, literal_offset)); __ 4773 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kUndefinedValueRootIndex); __ 4774 src/mips/lithium-codegen-mips.cc __ Branch(&materialized, ne, a1, Operand(at)); __ 4778 src/mips/lithium-codegen-mips.cc __ li(t2, Operand(Smi::FromInt(instr->hydrogen()->literal_index()))); __ 4779 src/mips/lithium-codegen-mips.cc __ li(t1, Operand(instr->hydrogen()->pattern())); __ 4780 src/mips/lithium-codegen-mips.cc __ li(t0, Operand(instr->hydrogen()->flags())); __ 4781 src/mips/lithium-codegen-mips.cc __ Push(t3, t2, t1, t0); __ 4783 src/mips/lithium-codegen-mips.cc __ mov(a1, v0); __ 4785 src/mips/lithium-codegen-mips.cc __ bind(&materialized); __ 4789 src/mips/lithium-codegen-mips.cc __ AllocateInNewSpace(size, v0, a2, a3, &runtime_allocate, TAG_OBJECT); __ 4790 src/mips/lithium-codegen-mips.cc __ jmp(&allocated); __ 4792 src/mips/lithium-codegen-mips.cc __ bind(&runtime_allocate); __ 4793 src/mips/lithium-codegen-mips.cc __ li(a0, Operand(Smi::FromInt(size))); __ 4794 src/mips/lithium-codegen-mips.cc __ Push(a1, a0); __ 4796 src/mips/lithium-codegen-mips.cc __ pop(a1); __ 4798 src/mips/lithium-codegen-mips.cc __ bind(&allocated); __ 4802 src/mips/lithium-codegen-mips.cc __ lw(a3, FieldMemOperand(a1, i)); __ 4803 src/mips/lithium-codegen-mips.cc __ lw(a2, FieldMemOperand(a1, i + kPointerSize)); __ 4804 src/mips/lithium-codegen-mips.cc __ sw(a3, FieldMemOperand(v0, i)); __ 4805 src/mips/lithium-codegen-mips.cc __ sw(a2, FieldMemOperand(v0, i + kPointerSize)); __ 4808 src/mips/lithium-codegen-mips.cc __ lw(a3, FieldMemOperand(a1, size - kPointerSize)); __ 4809 src/mips/lithium-codegen-mips.cc __ sw(a3, FieldMemOperand(v0, size - kPointerSize)); __ 4821 src/mips/lithium-codegen-mips.cc __ li(a1, Operand(shared_info)); __ 4822 src/mips/lithium-codegen-mips.cc __ push(a1); __ 4825 src/mips/lithium-codegen-mips.cc __ li(a2, Operand(shared_info)); __ 4826 src/mips/lithium-codegen-mips.cc __ li(a1, Operand(pretenure __ 4829 src/mips/lithium-codegen-mips.cc __ Push(cp, a2, a1); __ 4838 src/mips/lithium-codegen-mips.cc __ push(input); __ 4881 src/mips/lithium-codegen-mips.cc __ JumpIfSmi(input, true_label); __ 4882 src/mips/lithium-codegen-mips.cc __ lw(input, FieldMemOperand(input, HeapObject::kMapOffset)); __ 4883 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kHeapNumberMapRootIndex); __ 4889 src/mips/lithium-codegen-mips.cc __ JumpIfSmi(input, false_label); __ 4890 src/mips/lithium-codegen-mips.cc __ GetObjectType(input, input, scratch); __ 4891 src/mips/lithium-codegen-mips.cc __ Branch(USE_DELAY_SLOT, false_label, __ 4895 src/mips/lithium-codegen-mips.cc __ lbu(at, FieldMemOperand(input, Map::kBitFieldOffset)); __ 4896 src/mips/lithium-codegen-mips.cc __ And(at, at, 1 << Map::kIsUndetectable); __ 4902 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kTrueValueRootIndex); __ 4903 src/mips/lithium-codegen-mips.cc __ Branch(USE_DELAY_SLOT, true_label, eq, at, Operand(input)); __ 4904 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kFalseValueRootIndex); __ 4910 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kNullValueRootIndex); __ 4916 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kUndefinedValueRootIndex); __ 4917 src/mips/lithium-codegen-mips.cc __ Branch(USE_DELAY_SLOT, true_label, eq, at, Operand(input)); __ 4920 src/mips/lithium-codegen-mips.cc __ JumpIfSmi(input, false_label); __ 4922 src/mips/lithium-codegen-mips.cc __ lw(input, FieldMemOperand(input, HeapObject::kMapOffset)); __ 4923 src/mips/lithium-codegen-mips.cc __ lbu(at, FieldMemOperand(input, Map::kBitFieldOffset)); __ 4924 src/mips/lithium-codegen-mips.cc __ And(at, at, 1 << Map::kIsUndetectable); __ 4931 src/mips/lithium-codegen-mips.cc __ JumpIfSmi(input, false_label); __ 4932 src/mips/lithium-codegen-mips.cc __ GetObjectType(input, scratch, input); __ 4933 src/mips/lithium-codegen-mips.cc __ Branch(true_label, eq, input, Operand(JS_FUNCTION_TYPE)); __ 4939 src/mips/lithium-codegen-mips.cc __ JumpIfSmi(input, false_label); __ 4941 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kNullValueRootIndex); __ 4942 src/mips/lithium-codegen-mips.cc __ Branch(USE_DELAY_SLOT, true_label, eq, at, Operand(input)); __ 4945 src/mips/lithium-codegen-mips.cc __ GetObjectType(input, input, scratch); __ 4946 src/mips/lithium-codegen-mips.cc __ Branch(USE_DELAY_SLOT, false_label, __ 4949 src/mips/lithium-codegen-mips.cc __ lbu(scratch, FieldMemOperand(input, Map::kInstanceTypeOffset)); __ 4950 src/mips/lithium-codegen-mips.cc __ Branch(USE_DELAY_SLOT, false_label, __ 4954 src/mips/lithium-codegen-mips.cc __ lbu(at, FieldMemOperand(input, Map::kBitFieldOffset)); __ 4955 src/mips/lithium-codegen-mips.cc __ And(at, at, 1 << Map::kIsUndetectable); __ 4963 src/mips/lithium-codegen-mips.cc __ Branch(false_label); __ 4985 src/mips/lithium-codegen-mips.cc __ lw(temp1, MemOperand(fp, StandardFrameConstants::kCallerFPOffset)); __ 4989 src/mips/lithium-codegen-mips.cc __ lw(temp2, MemOperand(temp1, StandardFrameConstants::kContextOffset)); __ 4990 src/mips/lithium-codegen-mips.cc __ Branch(&check_frame_marker, ne, temp2, __ 4992 src/mips/lithium-codegen-mips.cc __ lw(temp1, MemOperand(temp1, StandardFrameConstants::kCallerFPOffset)); __ 4995 src/mips/lithium-codegen-mips.cc __ bind(&check_frame_marker); __ 4996 src/mips/lithium-codegen-mips.cc __ lw(temp1, MemOperand(temp1, StandardFrameConstants::kMarkerOffset)); __ 5009 src/mips/lithium-codegen-mips.cc __ nop(); __ 5035 src/mips/lithium-codegen-mips.cc __ li(strict, Operand(Smi::FromInt(strict_mode_flag()))); __ 5036 src/mips/lithium-codegen-mips.cc __ Push(object, key, strict); __ 5042 src/mips/lithium-codegen-mips.cc __ InvokeBuiltin(Builtins::DELETE, CALL_FUNCTION, safepoint_generator); __ 5049 src/mips/lithium-codegen-mips.cc __ Push(key, obj); __ 5054 src/mips/lithium-codegen-mips.cc __ InvokeBuiltin(Builtins::IN, CALL_FUNCTION, safepoint_generator); __ 5060 src/mips/lithium-codegen-mips.cc __ CallRuntimeSaveDoubles(Runtime::kStackGuard); __ 5087 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kStackLimitRootIndex); __ 5088 src/mips/lithium-codegen-mips.cc __ Branch(&done, hs, sp, Operand(at)); __ 5092 src/mips/lithium-codegen-mips.cc __ bind(&done); __ 5100 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kStackLimitRootIndex); __ 5101 src/mips/lithium-codegen-mips.cc __ Branch(deferred_stack_check->entry(), lo, sp, Operand(at)); __ 5103 src/mips/lithium-codegen-mips.cc __ bind(instr->done_label()); __ 5133 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kUndefinedValueRootIndex); __ 5137 src/mips/lithium-codegen-mips.cc __ LoadRoot(null_value, Heap::kNullValueRootIndex); __ 5140 src/mips/lithium-codegen-mips.cc __ And(at, object, kSmiTagMask); __ 5144 src/mips/lithium-codegen-mips.cc __ GetObjectType(object, a1, a1); __ 5149 src/mips/lithium-codegen-mips.cc __ CheckEnumCache(null_value, &call_runtime); __ 5151 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(object, HeapObject::kMapOffset)); __ 5152 src/mips/lithium-codegen-mips.cc __ Branch(&use_cache); __ 5155 src/mips/lithium-codegen-mips.cc __ bind(&call_runtime); __ 5156 src/mips/lithium-codegen-mips.cc __ push(object); __ 5159 src/mips/lithium-codegen-mips.cc __ lw(a1, FieldMemOperand(v0, HeapObject::kMapOffset)); __ 5161 src/mips/lithium-codegen-mips.cc __ LoadRoot(at, Heap::kMetaMapRootIndex); __ 5163 src/mips/lithium-codegen-mips.cc __ bind(&use_cache); __ 5171 src/mips/lithium-codegen-mips.cc __ LoadInstanceDescriptors(map, result, scratch); __ 5172 src/mips/lithium-codegen-mips.cc __ lw(result, __ 5174 src/mips/lithium-codegen-mips.cc __ lw(result, __ 5183 src/mips/lithium-codegen-mips.cc __ lw(scratch0(), FieldMemOperand(object, HeapObject::kMapOffset)); __ 5195 src/mips/lithium-codegen-mips.cc __ Branch(USE_DELAY_SLOT, &out_of_object, lt, index, Operand(zero_reg)); __ 5196 src/mips/lithium-codegen-mips.cc __ sll(scratch, index, kPointerSizeLog2 - kSmiTagSize); // In delay slot. __ 5199 src/mips/lithium-codegen-mips.cc __ Addu(scratch, object, scratch); __ 5200 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(scratch, JSObject::kHeaderSize)); __ 5202 src/mips/lithium-codegen-mips.cc __ Branch(&done); __ 5204 src/mips/lithium-codegen-mips.cc __ bind(&out_of_object); __ 5205 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(object, JSObject::kPropertiesOffset)); __ 5207 src/mips/lithium-codegen-mips.cc __ Subu(scratch, result, scratch); __ 5208 src/mips/lithium-codegen-mips.cc __ lw(result, FieldMemOperand(scratch, __ 5210 src/mips/lithium-codegen-mips.cc __ bind(&done); __ 171 src/mips/lithium-gap-resolver-mips.cc __ mov(kLithiumScratchReg, cgen_->ToRegister(source)); __ 173 src/mips/lithium-gap-resolver-mips.cc __ lw(kLithiumScratchReg, cgen_->ToMemOperand(source)); __ 175 src/mips/lithium-gap-resolver-mips.cc __ mov_d(kLithiumScratchDouble, cgen_->ToDoubleRegister(source)); __ 177 src/mips/lithium-gap-resolver-mips.cc __ ldc1(kLithiumScratchDouble, cgen_->ToMemOperand(source)); __ 192 src/mips/lithium-gap-resolver-mips.cc __ mov(cgen_->ToRegister(saved_destination_), kLithiumScratchReg); __ 194 src/mips/lithium-gap-resolver-mips.cc __ sw(kLithiumScratchReg, cgen_->ToMemOperand(saved_destination_)); __ 196 src/mips/lithium-gap-resolver-mips.cc __ mov_d(cgen_->ToDoubleRegister(saved_destination_), __ 199 src/mips/lithium-gap-resolver-mips.cc __ sdc1(kLithiumScratchDouble, __ 220 src/mips/lithium-gap-resolver-mips.cc __ mov(cgen_->ToRegister(destination), source_register); __ 223 src/mips/lithium-gap-resolver-mips.cc __ sw(source_register, cgen_->ToMemOperand(destination)); __ 229 src/mips/lithium-gap-resolver-mips.cc __ lw(cgen_->ToRegister(destination), source_operand); __ 239 src/mips/lithium-gap-resolver-mips.cc __ lwc1(kLithiumScratchDouble, source_operand); __ 240 src/mips/lithium-gap-resolver-mips.cc __ swc1(kLithiumScratchDouble, destination_operand); __ 242 src/mips/lithium-gap-resolver-mips.cc __ lw(at, source_operand); __ 243 src/mips/lithium-gap-resolver-mips.cc __ sw(at, destination_operand); __ 246 src/mips/lithium-gap-resolver-mips.cc __ lw(kLithiumScratchReg, source_operand); __ 247 src/mips/lithium-gap-resolver-mips.cc __ sw(kLithiumScratchReg, destination_operand); __ 256 src/mips/lithium-gap-resolver-mips.cc __ li(dst, Operand(cgen_->ToInteger32(constant_source))); __ 258 src/mips/lithium-gap-resolver-mips.cc __ LoadObject(dst, cgen_->ToHandle(constant_source)); __ 264 src/mips/lithium-gap-resolver-mips.cc __ li(kLithiumScratchReg, __ 267 src/mips/lithium-gap-resolver-mips.cc __ LoadObject(kLithiumScratchReg, __ 270 src/mips/lithium-gap-resolver-mips.cc __ sw(kLithiumScratchReg, cgen_->ToMemOperand(destination)); __ 276 src/mips/lithium-gap-resolver-mips.cc __ mov_d(cgen_->ToDoubleRegister(destination), source_register); __ 280 src/mips/lithium-gap-resolver-mips.cc __ sdc1(source_register, destination_operand); __ 286 src/mips/lithium-gap-resolver-mips.cc __ ldc1(cgen_->ToDoubleRegister(destination), source_operand); __ 297 src/mips/lithium-gap-resolver-mips.cc __ lw(kLithiumScratchReg, source_operand); __ 298 src/mips/lithium-gap-resolver-mips.cc __ sw(kLithiumScratchReg, destination_operand); __ 299 src/mips/lithium-gap-resolver-mips.cc __ lw(kLithiumScratchReg, source_high_operand); __ 300 src/mips/lithium-gap-resolver-mips.cc __ sw(kLithiumScratchReg, destination_high_operand); __ 302 src/mips/lithium-gap-resolver-mips.cc __ ldc1(kLithiumScratchDouble, source_operand); __ 303 src/mips/lithium-gap-resolver-mips.cc __ sdc1(kLithiumScratchDouble, destination_operand); __ 136 src/mips/regexp-macro-assembler-mips.cc __ jmp(&entry_label_); // We'll write the entry code later. __ 139 src/mips/regexp-macro-assembler-mips.cc __ bind(&internal_failure_label_); __ 140 src/mips/regexp-macro-assembler-mips.cc __ li(v0, Operand(FAILURE)); __ 141 src/mips/regexp-macro-assembler-mips.cc __ Ret(); __ 142 src/mips/regexp-macro-assembler-mips.cc __ bind(&start_label_); // And then continue from here. __ 167 src/mips/regexp-macro-assembler-mips.cc __ Addu(current_input_offset(), __ 177 src/mips/regexp-macro-assembler-mips.cc __ lw(a0, register_location(reg)); __ 178 src/mips/regexp-macro-assembler-mips.cc __ Addu(a0, a0, Operand(by)); __ 179 src/mips/regexp-macro-assembler-mips.cc __ sw(a0, register_location(reg)); __ 188 src/mips/regexp-macro-assembler-mips.cc __ Addu(a0, a0, code_pointer()); __ 189 src/mips/regexp-macro-assembler-mips.cc __ Jump(a0); __ 194 src/mips/regexp-macro-assembler-mips.cc __ bind(label); __ 211 src/mips/regexp-macro-assembler-mips.cc __ lw(a0, MemOperand(frame_pointer(), kStartIndex)); __ 215 src/mips/regexp-macro-assembler-mips.cc __ lw(a1, MemOperand(frame_pointer(), kInputStart)); __ 216 src/mips/regexp-macro-assembler-mips.cc __ Addu(a0, end_of_input_address(), Operand(current_input_offset())); __ 218 src/mips/regexp-macro-assembler-mips.cc __ bind(¬_at_start); __ 224 src/mips/regexp-macro-assembler-mips.cc __ lw(a0, MemOperand(frame_pointer(), kStartIndex)); __ 227 src/mips/regexp-macro-assembler-mips.cc __ lw(a1, MemOperand(frame_pointer(), kInputStart)); __ 228 src/mips/regexp-macro-assembler-mips.cc __ Addu(a0, end_of_input_address(), Operand(current_input_offset())); __ 253 src/mips/regexp-macro-assembler-mips.cc __ Addu(a0, end_of_input_address(), Operand(current_input_offset())); __ 256 src/mips/regexp-macro-assembler-mips.cc __ Addu(a0, a0, Operand(byte_offset)); __ 263 src/mips/regexp-macro-assembler-mips.cc __ lbu(a1, MemOperand(a0, 0)); __ 264 src/mips/regexp-macro-assembler-mips.cc __ addiu(a0, a0, char_size()); __ 268 src/mips/regexp-macro-assembler-mips.cc __ lhu(a1, MemOperand(a0, 0)); __ 269 src/mips/regexp-macro-assembler-mips.cc __ addiu(a0, a0, char_size()); __ 276 src/mips/regexp-macro-assembler-mips.cc __ li(a2, Operand(match_high_byte)); __ 279 src/mips/regexp-macro-assembler-mips.cc __ Addu(a3, a2, Operand(match_char & 0xff)); __ 289 src/mips/regexp-macro-assembler-mips.cc __ lw(a0, MemOperand(backtrack_stackpointer(), 0)); __ 290 src/mips/regexp-macro-assembler-mips.cc __ Branch(&backtrack_non_equal, ne, current_input_offset(), Operand(a0)); __ 291 src/mips/regexp-macro-assembler-mips.cc __ Addu(backtrack_stackpointer(), __ 294 src/mips/regexp-macro-assembler-mips.cc __ bind(&backtrack_non_equal); __ 303 src/mips/regexp-macro-assembler-mips.cc __ lw(a0, register_location(start_reg)); // Index of start of capture. __ 304 src/mips/regexp-macro-assembler-mips.cc __ lw(a1, register_location(start_reg + 1)); // Index of end of capture. __ 305 src/mips/regexp-macro-assembler-mips.cc __ Subu(a1, a1, a0); // Length of capture. __ 309 src/mips/regexp-macro-assembler-mips.cc __ Branch(&fallthrough, eq, a1, Operand(zero_reg)); __ 311 src/mips/regexp-macro-assembler-mips.cc __ Addu(t5, a1, current_input_offset()); __ 322 src/mips/regexp-macro-assembler-mips.cc __ Addu(a0, a0, Operand(end_of_input_address())); __ 323 src/mips/regexp-macro-assembler-mips.cc __ Addu(a2, end_of_input_address(), Operand(current_input_offset())); __ 324 src/mips/regexp-macro-assembler-mips.cc __ Addu(a1, a0, Operand(a1)); __ 331 src/mips/regexp-macro-assembler-mips.cc __ bind(&loop); __ 332 src/mips/regexp-macro-assembler-mips.cc __ lbu(a3, MemOperand(a0, 0)); __ 333 src/mips/regexp-macro-assembler-mips.cc __ addiu(a0, a0, char_size()); __ 334 src/mips/regexp-macro-assembler-mips.cc __ lbu(t0, MemOperand(a2, 0)); __ 335 src/mips/regexp-macro-assembler-mips.cc __ addiu(a2, a2, char_size()); __ 337 src/mips/regexp-macro-assembler-mips.cc __ Branch(&loop_check, eq, t0, Operand(a3)); __ 340 src/mips/regexp-macro-assembler-mips.cc __ Or(a3, a3, Operand(0x20)); // Convert capture character to lower-case. __ 341 src/mips/regexp-macro-assembler-mips.cc __ Or(t0, t0, Operand(0x20)); // Also convert input character. __ 342 src/mips/regexp-macro-assembler-mips.cc __ Branch(&fail, ne, t0, Operand(a3)); __ 343 src/mips/regexp-macro-assembler-mips.cc __ Subu(a3, a3, Operand('a')); __ 344 src/mips/regexp-macro-assembler-mips.cc __ Branch(&fail, hi, a3, Operand('z' - 'a')); // Is a3 a lowercase letter? __ 346 src/mips/regexp-macro-assembler-mips.cc __ bind(&loop_check); __ 347 src/mips/regexp-macro-assembler-mips.cc __ Branch(&loop, lt, a0, Operand(a1)); __ 348 src/mips/regexp-macro-assembler-mips.cc __ jmp(&success); __ 350 src/mips/regexp-macro-assembler-mips.cc __ bind(&fail); __ 353 src/mips/regexp-macro-assembler-mips.cc __ bind(&success); __ 355 src/mips/regexp-macro-assembler-mips.cc __ Subu(current_input_offset(), a2, end_of_input_address()); __ 361 src/mips/regexp-macro-assembler-mips.cc __ MultiPush(regexp_registers_to_retain); __ 364 src/mips/regexp-macro-assembler-mips.cc __ PrepareCallCFunction(argument_count, a2); __ 377 src/mips/regexp-macro-assembler-mips.cc __ Addu(a0, a0, Operand(end_of_input_address())); __ 379 src/mips/regexp-macro-assembler-mips.cc __ mov(a2, a1); __ 381 src/mips/regexp-macro-assembler-mips.cc __ mov(s3, a1); __ 383 src/mips/regexp-macro-assembler-mips.cc __ Addu(a1, current_input_offset(), Operand(end_of_input_address())); __ 385 src/mips/regexp-macro-assembler-mips.cc __ li(a3, Operand(ExternalReference::isolate_address())); __ 391 src/mips/regexp-macro-assembler-mips.cc __ CallCFunction(function, argument_count); __ 395 src/mips/regexp-macro-assembler-mips.cc __ MultiPop(regexp_registers_to_retain); __ 396 src/mips/regexp-macro-assembler-mips.cc __ li(code_pointer(), Operand(masm_->CodeObject()), CONSTANT_SIZE); __ 397 src/mips/regexp-macro-assembler-mips.cc __ lw(end_of_input_address(), MemOperand(frame_pointer(), kInputEnd)); __ 402 src/mips/regexp-macro-assembler-mips.cc __ Addu(current_input_offset(), current_input_offset(), Operand(s3)); __ 405 src/mips/regexp-macro-assembler-mips.cc __ bind(&fallthrough); __ 416 src/mips/regexp-macro-assembler-mips.cc __ lw(a0, register_location(start_reg)); __ 417 src/mips/regexp-macro-assembler-mips.cc __ lw(a1, register_location(start_reg + 1)); __ 418 src/mips/regexp-macro-assembler-mips.cc __ Subu(a1, a1, a0); // Length to check. __ 420 src/mips/regexp-macro-assembler-mips.cc __ Branch(&fallthrough, eq, a1, Operand(zero_reg)); __ 422 src/mips/regexp-macro-assembler-mips.cc __ Addu(t5, a1, current_input_offset()); __ 427 src/mips/regexp-macro-assembler-mips.cc __ Addu(a0, a0, Operand(end_of_input_address())); __ 428 src/mips/regexp-macro-assembler-mips.cc __ Addu(a2, end_of_input_address(), Operand(current_input_offset())); __ 429 src/mips/regexp-macro-assembler-mips.cc __ Addu(a1, a1, Operand(a0)); __ 432 src/mips/regexp-macro-assembler-mips.cc __ bind(&loop); __ 434 src/mips/regexp-macro-assembler-mips.cc __ lbu(a3, MemOperand(a0, 0)); __ 435 src/mips/regexp-macro-assembler-mips.cc __ addiu(a0, a0, char_size()); __ 436 src/mips/regexp-macro-assembler-mips.cc __ lbu(t0, MemOperand(a2, 0)); __ 437 src/mips/regexp-macro-assembler-mips.cc __ addiu(a2, a2, char_size()); __ 440 src/mips/regexp-macro-assembler-mips.cc __ lhu(a3, MemOperand(a0, 0)); __ 441 src/mips/regexp-macro-assembler-mips.cc __ addiu(a0, a0, char_size()); __ 442 src/mips/regexp-macro-assembler-mips.cc __ lhu(t0, MemOperand(a2, 0)); __ 443 src/mips/regexp-macro-assembler-mips.cc __ addiu(a2, a2, char_size()); __ 446 src/mips/regexp-macro-assembler-mips.cc __ Branch(&loop, lt, a0, Operand(a1)); __ 449 src/mips/regexp-macro-assembler-mips.cc __ Subu(current_input_offset(), a2, end_of_input_address()); __ 450 src/mips/regexp-macro-assembler-mips.cc __ bind(&fallthrough); __ 463 src/mips/regexp-macro-assembler-mips.cc __ And(a0, current_character(), Operand(mask)); __ 472 src/mips/regexp-macro-assembler-mips.cc __ And(a0, current_character(), Operand(mask)); __ 484 src/mips/regexp-macro-assembler-mips.cc __ Subu(a0, current_character(), Operand(minus)); __ 485 src/mips/regexp-macro-assembler-mips.cc __ And(a0, a0, Operand(mask)); __ 494 src/mips/regexp-macro-assembler-mips.cc __ Subu(a0, current_character(), Operand(from)); __ 504 src/mips/regexp-macro-assembler-mips.cc __ Subu(a0, current_character(), Operand(from)); __ 513 src/mips/regexp-macro-assembler-mips.cc __ li(a0, Operand(table)); __ 515 src/mips/regexp-macro-assembler-mips.cc __ And(a1, current_character(), Operand(kTableSize - 1)); __ 516 src/mips/regexp-macro-assembler-mips.cc __ Addu(a0, a0, a1); __ 518 src/mips/regexp-macro-assembler-mips.cc __ Addu(a0, a0, current_character()); __ 521 src/mips/regexp-macro-assembler-mips.cc __ lbu(a0, FieldMemOperand(a0, ByteArray::kHeaderSize)); __ 536 src/mips/regexp-macro-assembler-mips.cc __ Branch(&success, eq, current_character(), Operand(' ')); __ 538 src/mips/regexp-macro-assembler-mips.cc __ Subu(a0, current_character(), Operand('\t')); __ 540 src/mips/regexp-macro-assembler-mips.cc __ bind(&success); __ 549 src/mips/regexp-macro-assembler-mips.cc __ Subu(a0, current_character(), Operand('\t')); __ 556 src/mips/regexp-macro-assembler-mips.cc __ Subu(a0, current_character(), Operand('0')); __ 561 src/mips/regexp-macro-assembler-mips.cc __ Subu(a0, current_character(), Operand('0')); __ 566 src/mips/regexp-macro-assembler-mips.cc __ Xor(a0, current_character(), Operand(0x01)); __ 568 src/mips/regexp-macro-assembler-mips.cc __ Subu(a0, a0, Operand(0x0b)); __ 574 src/mips/regexp-macro-assembler-mips.cc __ Subu(a0, a0, Operand(0x2028 - 0x0b)); __ 581 src/mips/regexp-macro-assembler-mips.cc __ Xor(a0, current_character(), Operand(0x01)); __ 583 src/mips/regexp-macro-assembler-mips.cc __ Subu(a0, a0, Operand(0x0b)); __ 592 src/mips/regexp-macro-assembler-mips.cc __ Subu(a0, a0, Operand(0x2028 - 0x0b)); __ 594 src/mips/regexp-macro-assembler-mips.cc __ bind(&done); __ 604 src/mips/regexp-macro-assembler-mips.cc __ li(a0, Operand(map)); __ 605 src/mips/regexp-macro-assembler-mips.cc __ Addu(a0, a0, current_character()); __ 606 src/mips/regexp-macro-assembler-mips.cc __ lbu(a0, MemOperand(a0, 0)); __ 614 src/mips/regexp-macro-assembler-mips.cc __ Branch(&done, hi, current_character(), Operand('z')); __ 617 src/mips/regexp-macro-assembler-mips.cc __ li(a0, Operand(map)); __ 618 src/mips/regexp-macro-assembler-mips.cc __ Addu(a0, a0, current_character()); __ 619 src/mips/regexp-macro-assembler-mips.cc __ lbu(a0, MemOperand(a0, 0)); __ 622 src/mips/regexp-macro-assembler-mips.cc __ bind(&done); __ 637 src/mips/regexp-macro-assembler-mips.cc __ li(v0, Operand(FAILURE)); __ 638 src/mips/regexp-macro-assembler-mips.cc __ jmp(&exit_label_); __ 648 src/mips/regexp-macro-assembler-mips.cc __ bind_to(&entry_label_, internal_failure_label_.pos()); __ 654 src/mips/regexp-macro-assembler-mips.cc __ bind(&entry_label_); __ 669 src/mips/regexp-macro-assembler-mips.cc __ MultiPush(argument_registers | registers_to_retain | ra.bit()); __ 672 src/mips/regexp-macro-assembler-mips.cc __ Addu(frame_pointer(), sp, Operand(4 * kPointerSize)); __ 673 src/mips/regexp-macro-assembler-mips.cc __ mov(a0, zero_reg); __ 674 src/mips/regexp-macro-assembler-mips.cc __ push(a0); // Make room for success counter and initialize it to 0. __ 675 src/mips/regexp-macro-assembler-mips.cc __ push(a0); // Make room for "position - 1" constant (value irrelevant). __ 683 src/mips/regexp-macro-assembler-mips.cc __ li(a0, Operand(stack_limit)); __ 684 src/mips/regexp-macro-assembler-mips.cc __ lw(a0, MemOperand(a0)); __ 685 src/mips/regexp-macro-assembler-mips.cc __ Subu(a0, sp, a0); __ 687 src/mips/regexp-macro-assembler-mips.cc __ Branch(&stack_limit_hit, le, a0, Operand(zero_reg)); __ 690 src/mips/regexp-macro-assembler-mips.cc __ Branch(&stack_ok, hs, a0, Operand(num_registers_ * kPointerSize)); __ 693 src/mips/regexp-macro-assembler-mips.cc __ li(v0, Operand(EXCEPTION)); __ 694 src/mips/regexp-macro-assembler-mips.cc __ jmp(&return_v0); __ 696 src/mips/regexp-macro-assembler-mips.cc __ bind(&stack_limit_hit); __ 699 src/mips/regexp-macro-assembler-mips.cc __ Branch(&return_v0, ne, v0, Operand(zero_reg)); __ 701 src/mips/regexp-macro-assembler-mips.cc __ bind(&stack_ok); __ 703 src/mips/regexp-macro-assembler-mips.cc __ Subu(sp, sp, Operand(num_registers_ * kPointerSize)); __ 705 src/mips/regexp-macro-assembler-mips.cc __ lw(end_of_input_address(), MemOperand(frame_pointer(), kInputEnd)); __ 707 src/mips/regexp-macro-assembler-mips.cc __ lw(a0, MemOperand(frame_pointer(), kInputStart)); __ 709 src/mips/regexp-macro-assembler-mips.cc __ Subu(current_input_offset(), a0, end_of_input_address()); __ 712 src/mips/regexp-macro-assembler-mips.cc __ lw(a1, MemOperand(frame_pointer(), kStartIndex)); __ 713 src/mips/regexp-macro-assembler-mips.cc __ Subu(a0, current_input_offset(), Operand(char_size())); __ 714 src/mips/regexp-macro-assembler-mips.cc __ sll(t5, a1, (mode_ == UC16) ? 1 : 0); __ 715 src/mips/regexp-macro-assembler-mips.cc __ Subu(a0, a0, t5); __ 718 src/mips/regexp-macro-assembler-mips.cc __ sw(a0, MemOperand(frame_pointer(), kInputStartMinusOne)); __ 721 src/mips/regexp-macro-assembler-mips.cc __ li(code_pointer(), Operand(masm_->CodeObject()), CONSTANT_SIZE); __ 725 src/mips/regexp-macro-assembler-mips.cc __ Branch(&load_char_start_regexp, ne, a1, Operand(zero_reg)); __ 726 src/mips/regexp-macro-assembler-mips.cc __ li(current_character(), Operand('\n')); __ 727 src/mips/regexp-macro-assembler-mips.cc __ jmp(&start_regexp); __ 730 src/mips/regexp-macro-assembler-mips.cc __ bind(&load_char_start_regexp); __ 733 src/mips/regexp-macro-assembler-mips.cc __ bind(&start_regexp); __ 740 src/mips/regexp-macro-assembler-mips.cc __ Addu(a1, frame_pointer(), Operand(kRegisterZero)); __ 741 src/mips/regexp-macro-assembler-mips.cc __ li(a2, Operand(num_saved_registers_)); __ 743 src/mips/regexp-macro-assembler-mips.cc __ bind(&init_loop); __ 744 src/mips/regexp-macro-assembler-mips.cc __ sw(a0, MemOperand(a1)); __ 745 src/mips/regexp-macro-assembler-mips.cc __ Addu(a1, a1, Operand(-kPointerSize)); __ 746 src/mips/regexp-macro-assembler-mips.cc __ Subu(a2, a2, Operand(1)); __ 747 src/mips/regexp-macro-assembler-mips.cc __ Branch(&init_loop, ne, a2, Operand(zero_reg)); __ 750 src/mips/regexp-macro-assembler-mips.cc __ sw(a0, register_location(i)); __ 756 src/mips/regexp-macro-assembler-mips.cc __ lw(backtrack_stackpointer(), MemOperand(frame_pointer(), kStackHighEnd)); __ 758 src/mips/regexp-macro-assembler-mips.cc __ jmp(&start_label_); __ 764 src/mips/regexp-macro-assembler-mips.cc __ bind(&success_label_); __ 767 src/mips/regexp-macro-assembler-mips.cc __ lw(a1, MemOperand(frame_pointer(), kInputStart)); __ 768 src/mips/regexp-macro-assembler-mips.cc __ lw(a0, MemOperand(frame_pointer(), kRegisterOutput)); __ 769 src/mips/regexp-macro-assembler-mips.cc __ lw(a2, MemOperand(frame_pointer(), kStartIndex)); __ 770 src/mips/regexp-macro-assembler-mips.cc __ Subu(a1, end_of_input_address(), a1); __ 773 src/mips/regexp-macro-assembler-mips.cc __ srl(a1, a1, 1); __ 776 src/mips/regexp-macro-assembler-mips.cc __ Addu(a1, a1, Operand(a2)); __ 784 src/mips/regexp-macro-assembler-mips.cc __ lw(a2, register_location(i)); __ 785 src/mips/regexp-macro-assembler-mips.cc __ lw(a3, register_location(i + 1)); __ 788 src/mips/regexp-macro-assembler-mips.cc __ mov(t7, a2); __ 791 src/mips/regexp-macro-assembler-mips.cc __ sra(a2, a2, 1); __ 792 src/mips/regexp-macro-assembler-mips.cc __ Addu(a2, a2, a1); __ 793 src/mips/regexp-macro-assembler-mips.cc __ sra(a3, a3, 1); __ 794 src/mips/regexp-macro-assembler-mips.cc __ Addu(a3, a3, a1); __ 796 src/mips/regexp-macro-assembler-mips.cc __ Addu(a2, a1, Operand(a2)); __ 797 src/mips/regexp-macro-assembler-mips.cc __ Addu(a3, a1, Operand(a3)); __ 799 src/mips/regexp-macro-assembler-mips.cc __ sw(a2, MemOperand(a0)); __ 800 src/mips/regexp-macro-assembler-mips.cc __ Addu(a0, a0, kPointerSize); __ 801 src/mips/regexp-macro-assembler-mips.cc __ sw(a3, MemOperand(a0)); __ 802 src/mips/regexp-macro-assembler-mips.cc __ Addu(a0, a0, kPointerSize); __ 808 src/mips/regexp-macro-assembler-mips.cc __ lw(a0, MemOperand(frame_pointer(), kSuccessfulCaptures)); __ 809 src/mips/regexp-macro-assembler-mips.cc __ lw(a1, MemOperand(frame_pointer(), kNumOutputRegisters)); __ 810 src/mips/regexp-macro-assembler-mips.cc __ lw(a2, MemOperand(frame_pointer(), kRegisterOutput)); __ 812 src/mips/regexp-macro-assembler-mips.cc __ Addu(a0, a0, 1); __ 813 src/mips/regexp-macro-assembler-mips.cc __ sw(a0, MemOperand(frame_pointer(), kSuccessfulCaptures)); __ 816 src/mips/regexp-macro-assembler-mips.cc __ Subu(a1, a1, num_saved_registers_); __ 818 src/mips/regexp-macro-assembler-mips.cc __ mov(v0, a0); __ 819 src/mips/regexp-macro-assembler-mips.cc __ Branch(&return_v0, lt, a1, Operand(num_saved_registers_)); __ 821 src/mips/regexp-macro-assembler-mips.cc __ sw(a1, MemOperand(frame_pointer(), kNumOutputRegisters)); __ 823 src/mips/regexp-macro-assembler-mips.cc __ Addu(a2, a2, num_saved_registers_ * kPointerSize); __ 824 src/mips/regexp-macro-assembler-mips.cc __ sw(a2, MemOperand(frame_pointer(), kRegisterOutput)); __ 827 src/mips/regexp-macro-assembler-mips.cc __ lw(a0, MemOperand(frame_pointer(), kInputStartMinusOne)); __ 833 src/mips/regexp-macro-assembler-mips.cc __ Branch( __ 836 src/mips/regexp-macro-assembler-mips.cc __ Branch(&exit_label_, eq, current_input_offset(), __ 839 src/mips/regexp-macro-assembler-mips.cc __ Addu(current_input_offset(), __ 844 src/mips/regexp-macro-assembler-mips.cc __ Branch(&load_char_start_regexp); __ 846 src/mips/regexp-macro-assembler-mips.cc __ li(v0, Operand(SUCCESS)); __ 850 src/mips/regexp-macro-assembler-mips.cc __ bind(&exit_label_); __ 852 src/mips/regexp-macro-assembler-mips.cc __ lw(v0, MemOperand(frame_pointer(), kSuccessfulCaptures)); __ 855 src/mips/regexp-macro-assembler-mips.cc __ bind(&return_v0); __ 857 src/mips/regexp-macro-assembler-mips.cc __ mov(sp, frame_pointer()); __ 859 src/mips/regexp-macro-assembler-mips.cc __ MultiPop(registers_to_retain | ra.bit()); __ 860 src/mips/regexp-macro-assembler-mips.cc __ Ret(); __ 864 src/mips/regexp-macro-assembler-mips.cc __ bind(&backtrack_label_); __ 876 src/mips/regexp-macro-assembler-mips.cc __ MultiPush(regexp_registers_to_retain); __ 878 src/mips/regexp-macro-assembler-mips.cc __ MultiPop(regexp_registers_to_retain); __ 881 src/mips/regexp-macro-assembler-mips.cc __ Branch(&return_v0, ne, v0, Operand(zero_reg)); __ 884 src/mips/regexp-macro-assembler-mips.cc __ lw(end_of_input_address(), MemOperand(frame_pointer(), kInputEnd)); __ 885 src/mips/regexp-macro-assembler-mips.cc __ li(code_pointer(), Operand(masm_->CodeObject()), CONSTANT_SIZE); __ 896 src/mips/regexp-macro-assembler-mips.cc __ MultiPush(regexp_registers); __ 900 src/mips/regexp-macro-assembler-mips.cc __ PrepareCallCFunction(num_arguments, a0); __ 901 src/mips/regexp-macro-assembler-mips.cc __ mov(a0, backtrack_stackpointer()); __ 902 src/mips/regexp-macro-assembler-mips.cc __ Addu(a1, frame_pointer(), Operand(kStackHighEnd)); __ 903 src/mips/regexp-macro-assembler-mips.cc __ li(a2, Operand(ExternalReference::isolate_address())); __ 906 src/mips/regexp-macro-assembler-mips.cc __ CallCFunction(grow_stack, num_arguments); __ 908 src/mips/regexp-macro-assembler-mips.cc __ MultiPop(regexp_registers); __ 911 src/mips/regexp-macro-assembler-mips.cc __ Branch(&exit_with_exception, eq, v0, Operand(zero_reg)); __ 913 src/mips/regexp-macro-assembler-mips.cc __ mov(backtrack_stackpointer(), v0); __ 915 src/mips/regexp-macro-assembler-mips.cc __ li(code_pointer(), Operand(masm_->CodeObject()), CONSTANT_SIZE); __ 916 src/mips/regexp-macro-assembler-mips.cc __ lw(end_of_input_address(), MemOperand(frame_pointer(), kInputEnd)); __ 922 src/mips/regexp-macro-assembler-mips.cc __ bind(&exit_with_exception); __ 924 src/mips/regexp-macro-assembler-mips.cc __ li(v0, Operand(EXCEPTION)); __ 925 src/mips/regexp-macro-assembler-mips.cc __ jmp(&return_v0); __ 944 src/mips/regexp-macro-assembler-mips.cc __ jmp(to); __ 952 src/mips/regexp-macro-assembler-mips.cc __ lw(a0, register_location(reg)); __ 960 src/mips/regexp-macro-assembler-mips.cc __ lw(a0, register_location(reg)); __ 967 src/mips/regexp-macro-assembler-mips.cc __ lw(a0, register_location(reg)); __ 998 src/mips/regexp-macro-assembler-mips.cc __ sw(a0, register_location(register_index)); __ 1005 src/mips/regexp-macro-assembler-mips.cc __ li(a0, Operand(target + Code::kHeaderSize - kHeapObjectTag)); __ 1008 src/mips/regexp-macro-assembler-mips.cc __ Branch(&after_constant); __ 1011 src/mips/regexp-macro-assembler-mips.cc __ emit(0); __ 1013 src/mips/regexp-macro-assembler-mips.cc __ bind(&after_constant); __ 1015 src/mips/regexp-macro-assembler-mips.cc __ lw(a0, MemOperand(code_pointer(), cp_offset)); __ 1017 src/mips/regexp-macro-assembler-mips.cc __ Addu(a0, code_pointer(), cp_offset); __ 1018 src/mips/regexp-macro-assembler-mips.cc __ lw(a0, MemOperand(a0, 0)); __ 1033 src/mips/regexp-macro-assembler-mips.cc __ lw(a0, register_location(register_index)); __ 1040 src/mips/regexp-macro-assembler-mips.cc __ lw(current_input_offset(), register_location(reg)); __ 1045 src/mips/regexp-macro-assembler-mips.cc __ lw(backtrack_stackpointer(), register_location(reg)); __ 1046 src/mips/regexp-macro-assembler-mips.cc __ lw(a0, MemOperand(frame_pointer(), kStackHighEnd)); __ 1047 src/mips/regexp-macro-assembler-mips.cc __ Addu(backtrack_stackpointer(), backtrack_stackpointer(), Operand(a0)); __ 1053 src/mips/regexp-macro-assembler-mips.cc __ Branch(&after_position, __ 1057 src/mips/regexp-macro-assembler-mips.cc __ li(current_input_offset(), -by * char_size()); __ 1062 src/mips/regexp-macro-assembler-mips.cc __ bind(&after_position); __ 1068 src/mips/regexp-macro-assembler-mips.cc __ li(a0, Operand(to)); __ 1069 src/mips/regexp-macro-assembler-mips.cc __ sw(a0, register_location(register_index)); __ 1074 src/mips/regexp-macro-assembler-mips.cc __ jmp(&success_label_); __ 1082 src/mips/regexp-macro-assembler-mips.cc __ sw(current_input_offset(), register_location(reg)); __ 1084 src/mips/regexp-macro-assembler-mips.cc __ Addu(a0, current_input_offset(), Operand(cp_offset * char_size())); __ 1085 src/mips/regexp-macro-assembler-mips.cc __ sw(a0, register_location(reg)); __ 1092 src/mips/regexp-macro-assembler-mips.cc __ lw(a0, MemOperand(frame_pointer(), kInputStartMinusOne)); __ 1094 src/mips/regexp-macro-assembler-mips.cc __ sw(a0, register_location(reg)); __ 1100 src/mips/regexp-macro-assembler-mips.cc __ lw(a1, MemOperand(frame_pointer(), kStackHighEnd)); __ 1101 src/mips/regexp-macro-assembler-mips.cc __ Subu(a0, backtrack_stackpointer(), a1); __ 1102 src/mips/regexp-macro-assembler-mips.cc __ sw(a0, register_location(reg)); __ 1110 src/mips/regexp-macro-assembler-mips.cc __ PrepareCallCFunction(num_arguments, scratch); __ 1111 src/mips/regexp-macro-assembler-mips.cc __ mov(a2, frame_pointer()); __ 1113 src/mips/regexp-macro-assembler-mips.cc __ li(a1, Operand(masm_->CodeObject()), CONSTANT_SIZE); __ 1254 src/mips/regexp-macro-assembler-mips.cc __ jmp(to); __ 1258 src/mips/regexp-macro-assembler-mips.cc __ Branch(&backtrack_label_, condition, rs, rt); __ 1261 src/mips/regexp-macro-assembler-mips.cc __ Branch(to, condition, rs, rt); __ 1269 src/mips/regexp-macro-assembler-mips.cc __ BranchAndLink(to, cond, rs, rt); __ 1274 src/mips/regexp-macro-assembler-mips.cc __ pop(ra); __ 1275 src/mips/regexp-macro-assembler-mips.cc __ Addu(t5, ra, Operand(masm_->CodeObject())); __ 1276 src/mips/regexp-macro-assembler-mips.cc __ Jump(t5); __ 1281 src/mips/regexp-macro-assembler-mips.cc __ bind(name); __ 1282 src/mips/regexp-macro-assembler-mips.cc __ Subu(ra, ra, Operand(masm_->CodeObject())); __ 1283 src/mips/regexp-macro-assembler-mips.cc __ push(ra); __ 1289 src/mips/regexp-macro-assembler-mips.cc __ Addu(backtrack_stackpointer(), __ 1292 src/mips/regexp-macro-assembler-mips.cc __ sw(source, MemOperand(backtrack_stackpointer())); __ 1298 src/mips/regexp-macro-assembler-mips.cc __ lw(target, MemOperand(backtrack_stackpointer())); __ 1299 src/mips/regexp-macro-assembler-mips.cc __ Addu(backtrack_stackpointer(), backtrack_stackpointer(), kPointerSize); __ 1307 src/mips/regexp-macro-assembler-mips.cc __ li(a0, Operand(stack_limit)); __ 1308 src/mips/regexp-macro-assembler-mips.cc __ lw(a0, MemOperand(a0)); __ 1317 src/mips/regexp-macro-assembler-mips.cc __ li(a0, Operand(stack_limit)); __ 1318 src/mips/regexp-macro-assembler-mips.cc __ lw(a0, MemOperand(a0)); __ 1328 src/mips/regexp-macro-assembler-mips.cc __ li(code_pointer(), Operand(function)); __ 1330 src/mips/regexp-macro-assembler-mips.cc __ CallStub(&stub); __ 1332 src/mips/regexp-macro-assembler-mips.cc __ lw(sp, MemOperand(sp, 16)); __ 1334 src/mips/regexp-macro-assembler-mips.cc __ li(code_pointer(), Operand(masm_->CodeObject()), CONSTANT_SIZE); __ 1343 src/mips/regexp-macro-assembler-mips.cc __ Addu(t7, current_input_offset(), Operand(cp_offset * char_size())); __ 1349 src/mips/regexp-macro-assembler-mips.cc __ Addu(t5, end_of_input_address(), Operand(offset)); __ 1351 src/mips/regexp-macro-assembler-mips.cc __ lbu(current_character(), MemOperand(t5, 0)); __ 1354 src/mips/regexp-macro-assembler-mips.cc __ lhu(current_character(), MemOperand(t5, 0)); __ 1364 src/mips/regexp-macro-assembler-mips.cc __ Subu(sp, sp, Operand(stack_alignment + kCArgsSlotsSize)); __ 1366 src/mips/regexp-macro-assembler-mips.cc __ Addu(a0, sp, return_address_offset); __ 1367 src/mips/regexp-macro-assembler-mips.cc __ sw(ra, MemOperand(a0, 0)); __ 1368 src/mips/regexp-macro-assembler-mips.cc __ mov(t9, t1); __ 1369 src/mips/regexp-macro-assembler-mips.cc __ Call(t9); __ 1370 src/mips/regexp-macro-assembler-mips.cc __ lw(ra, MemOperand(sp, return_address_offset)); __ 1371 src/mips/regexp-macro-assembler-mips.cc __ Addu(sp, sp, Operand(stack_alignment + kCArgsSlotsSize)); __ 1372 src/mips/regexp-macro-assembler-mips.cc __ Jump(ra); __ 74 src/mips/stub-cache-mips.cc __ sll(offset_scratch, offset, 1); __ 75 src/mips/stub-cache-mips.cc __ Addu(offset_scratch, offset_scratch, offset); __ 78 src/mips/stub-cache-mips.cc __ li(base_addr, Operand(key_offset)); __ 79 src/mips/stub-cache-mips.cc __ sll(at, offset_scratch, kPointerSizeLog2); __ 80 src/mips/stub-cache-mips.cc __ Addu(base_addr, base_addr, at); __ 83 src/mips/stub-cache-mips.cc __ lw(at, MemOperand(base_addr, 0)); __ 84 src/mips/stub-cache-mips.cc __ Branch(&miss, ne, name, Operand(at)); __ 87 src/mips/stub-cache-mips.cc __ lw(at, MemOperand(base_addr, map_off_addr - key_off_addr)); __ 88 src/mips/stub-cache-mips.cc __ lw(scratch2, FieldMemOperand(receiver, HeapObject::kMapOffset)); __ 89 src/mips/stub-cache-mips.cc __ Branch(&miss, ne, at, Operand(scratch2)); __ 94 src/mips/stub-cache-mips.cc __ lw(code, MemOperand(base_addr, value_off_addr - key_off_addr)); __ 99 src/mips/stub-cache-mips.cc __ lw(flags_reg, FieldMemOperand(code, Code::kFlagsOffset)); __ 100 src/mips/stub-cache-mips.cc __ And(flags_reg, flags_reg, Operand(~Code::kFlagsNotUsedInLookup)); __ 101 src/mips/stub-cache-mips.cc __ Branch(&miss, ne, flags_reg, Operand(flags)); __ 105 src/mips/stub-cache-mips.cc __ jmp(&miss); __ 107 src/mips/stub-cache-mips.cc __ jmp(&miss); __ 112 src/mips/stub-cache-mips.cc __ Addu(at, code, Operand(Code::kHeaderSize - kHeapObjectTag)); __ 113 src/mips/stub-cache-mips.cc __ Jump(at); __ 116 src/mips/stub-cache-mips.cc __ bind(&miss); __ 133 src/mips/stub-cache-mips.cc __ IncrementCounter(counters->negative_lookups(), 1, scratch0, scratch1); __ 134 src/mips/stub-cache-mips.cc __ IncrementCounter(counters->negative_lookups_miss(), 1, scratch0, scratch1); __ 143 src/mips/stub-cache-mips.cc __ lw(map, FieldMemOperand(receiver, HeapObject::kMapOffset)); __ 144 src/mips/stub-cache-mips.cc __ lbu(scratch0, FieldMemOperand(map, Map::kBitFieldOffset)); __ 145 src/mips/stub-cache-mips.cc __ And(scratch0, scratch0, Operand(kInterceptorOrAccessCheckNeededMask)); __ 146 src/mips/stub-cache-mips.cc __ Branch(miss_label, ne, scratch0, Operand(zero_reg)); __ 149 src/mips/stub-cache-mips.cc __ lbu(scratch0, FieldMemOperand(map, Map::kInstanceTypeOffset)); __ 150 src/mips/stub-cache-mips.cc __ Branch(miss_label, lt, scratch0, Operand(FIRST_SPEC_OBJECT_TYPE)); __ 154 src/mips/stub-cache-mips.cc __ lw(properties, FieldMemOperand(receiver, JSObject::kPropertiesOffset)); __ 156 src/mips/stub-cache-mips.cc __ lw(map, FieldMemOperand(properties, HeapObject::kMapOffset)); __ 158 src/mips/stub-cache-mips.cc __ LoadRoot(tmp, Heap::kHashTableMapRootIndex); __ 159 src/mips/stub-cache-mips.cc __ Branch(miss_label, ne, map, Operand(tmp)); __ 162 src/mips/stub-cache-mips.cc __ lw(properties, FieldMemOperand(receiver, JSObject::kPropertiesOffset)); __ 172 src/mips/stub-cache-mips.cc __ bind(&done); __ 173 src/mips/stub-cache-mips.cc __ DecrementCounter(counters->negative_lookups_miss(), 1, scratch0, scratch1); __ 213 src/mips/stub-cache-mips.cc __ IncrementCounter(counters->megamorphic_stub_cache_probes(), 1, __ 217 src/mips/stub-cache-mips.cc __ JumpIfSmi(receiver, &miss); __ 220 src/mips/stub-cache-mips.cc __ lw(scratch, FieldMemOperand(name, String::kHashFieldOffset)); __ 221 src/mips/stub-cache-mips.cc __ lw(at, FieldMemOperand(receiver, HeapObject::kMapOffset)); __ 222 src/mips/stub-cache-mips.cc __ Addu(scratch, scratch, at); __ 226 src/mips/stub-cache-mips.cc __ srl(scratch, scratch, kHeapObjectTagSize); __ 227 src/mips/stub-cache-mips.cc __ Xor(scratch, scratch, Operand((flags >> kHeapObjectTagSize) & mask)); __ 228 src/mips/stub-cache-mips.cc __ And(scratch, scratch, Operand(mask)); __ 243 src/mips/stub-cache-mips.cc __ srl(at, name, kHeapObjectTagSize); __ 244 src/mips/stub-cache-mips.cc __ Subu(scratch, scratch, at); __ 246 src/mips/stub-cache-mips.cc __ Addu(scratch, scratch, Operand((flags >> kHeapObjectTagSize) & mask2)); __ 247 src/mips/stub-cache-mips.cc __ And(scratch, scratch, Operand(mask2)); __ 263 src/mips/stub-cache-mips.cc __ bind(&miss); __ 264 src/mips/stub-cache-mips.cc __ IncrementCounter(counters->megamorphic_stub_cache_misses(), 1, __ 273 src/mips/stub-cache-mips.cc __ lw(prototype, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 275 src/mips/stub-cache-mips.cc __ lw(prototype, __ 278 src/mips/stub-cache-mips.cc __ lw(prototype, MemOperand(prototype, Context::SlotOffset(index))); __ 280 src/mips/stub-cache-mips.cc __ lw(prototype, __ 283 src/mips/stub-cache-mips.cc __ lw(prototype, FieldMemOperand(prototype, Map::kPrototypeOffset)); __ 294 src/mips/stub-cache-mips.cc __ lw(prototype, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 296 src/mips/stub-cache-mips.cc __ li(at, isolate->global()); __ 297 src/mips/stub-cache-mips.cc __ Branch(miss, ne, prototype, Operand(at)); __ 302 src/mips/stub-cache-mips.cc __ li(prototype, Handle<Map>(function->initial_map())); __ 304 src/mips/stub-cache-mips.cc __ lw(prototype, FieldMemOperand(prototype, Map::kPrototypeOffset)); __ 321 src/mips/stub-cache-mips.cc __ lw(dst, FieldMemOperand(src, offset)); __ 325 src/mips/stub-cache-mips.cc __ lw(dst, FieldMemOperand(src, JSObject::kPropertiesOffset)); __ 326 src/mips/stub-cache-mips.cc __ lw(dst, FieldMemOperand(dst, offset)); __ 336 src/mips/stub-cache-mips.cc __ JumpIfSmi(receiver, miss_label); __ 339 src/mips/stub-cache-mips.cc __ GetObjectType(receiver, scratch, scratch); __ 340 src/mips/stub-cache-mips.cc __ Branch(miss_label, ne, scratch, Operand(JS_ARRAY_TYPE)); __ 343 src/mips/stub-cache-mips.cc __ lw(v0, FieldMemOperand(receiver, JSArray::kLengthOffset)); __ 344 src/mips/stub-cache-mips.cc __ Ret(); __ 358 src/mips/stub-cache-mips.cc __ JumpIfSmi(receiver, smi, t0); __ 361 src/mips/stub-cache-mips.cc __ lw(scratch1, FieldMemOperand(receiver, HeapObject::kMapOffset)); __ 362 src/mips/stub-cache-mips.cc __ lbu(scratch1, FieldMemOperand(scratch1, Map::kInstanceTypeOffset)); __ 363 src/mips/stub-cache-mips.cc __ And(scratch2, scratch1, Operand(kIsNotStringMask)); __ 365 src/mips/stub-cache-mips.cc __ Branch(non_string_object, __ 390 src/mips/stub-cache-mips.cc __ lw(v0, FieldMemOperand(receiver, String::kLengthOffset)); __ 391 src/mips/stub-cache-mips.cc __ Ret(); __ 395 src/mips/stub-cache-mips.cc __ bind(&check_wrapper); __ 396 src/mips/stub-cache-mips.cc __ Branch(miss, ne, scratch1, Operand(JS_VALUE_TYPE)); __ 399 src/mips/stub-cache-mips.cc __ lw(scratch1, FieldMemOperand(receiver, JSValue::kValueOffset)); __ 401 src/mips/stub-cache-mips.cc __ lw(v0, FieldMemOperand(scratch1, String::kLengthOffset)); __ 402 src/mips/stub-cache-mips.cc __ Ret(); __ 412 src/mips/stub-cache-mips.cc __ TryGetFunctionPrototype(receiver, scratch1, scratch2, miss_label); __ 413 src/mips/stub-cache-mips.cc __ mov(v0, scratch1); __ 414 src/mips/stub-cache-mips.cc __ Ret(); __ 440 src/mips/stub-cache-mips.cc __ jmp(miss_label); __ 447 src/mips/stub-cache-mips.cc __ CheckMap(receiver_reg, scratch1, Handle<Map>(object->map()), miss_label, __ 452 src/mips/stub-cache-mips.cc __ CheckAccessGlobalProxy(receiver_reg, scratch1, miss_label); __ 468 src/mips/stub-cache-mips.cc __ push(name_reg); __ 472 src/mips/stub-cache-mips.cc __ jmp(&done_check); __ 473 src/mips/stub-cache-mips.cc __ bind(&miss_pop); __ 474 src/mips/stub-cache-mips.cc __ pop(name_reg); __ 475 src/mips/stub-cache-mips.cc __ jmp(miss_label); __ 476 src/mips/stub-cache-mips.cc __ bind(&done_check); __ 477 src/mips/stub-cache-mips.cc __ pop(name_reg); __ 488 src/mips/stub-cache-mips.cc __ push(receiver_reg); __ 489 src/mips/stub-cache-mips.cc __ li(a2, Operand(transition)); __ 490 src/mips/stub-cache-mips.cc __ Push(a2, a0); __ 491 src/mips/stub-cache-mips.cc __ TailCallExternalReference( __ 500 src/mips/stub-cache-mips.cc __ li(scratch1, Operand(transition)); __ 501 src/mips/stub-cache-mips.cc __ sw(scratch1, FieldMemOperand(receiver_reg, HeapObject::kMapOffset)); __ 505 src/mips/stub-cache-mips.cc __ RecordWriteField(receiver_reg, __ 523 src/mips/stub-cache-mips.cc __ sw(a0, FieldMemOperand(receiver_reg, offset)); __ 526 src/mips/stub-cache-mips.cc __ JumpIfSmi(a0, &exit, scratch1); __ 530 src/mips/stub-cache-mips.cc __ mov(name_reg, a0); __ 531 src/mips/stub-cache-mips.cc __ RecordWriteField(receiver_reg, __ 541 src/mips/stub-cache-mips.cc __ lw(scratch1, __ 543 src/mips/stub-cache-mips.cc __ sw(a0, FieldMemOperand(scratch1, offset)); __ 546 src/mips/stub-cache-mips.cc __ JumpIfSmi(a0, &exit); __ 550 src/mips/stub-cache-mips.cc __ mov(name_reg, a0); __ 551 src/mips/stub-cache-mips.cc __ RecordWriteField(scratch1, __ 560 src/mips/stub-cache-mips.cc __ bind(&exit); __ 561 src/mips/stub-cache-mips.cc __ mov(v0, a0); __ 562 src/mips/stub-cache-mips.cc __ Ret(); __ 571 src/mips/stub-cache-mips.cc __ Jump(code, RelocInfo::CODE_TARGET); __ 585 src/mips/stub-cache-mips.cc __ JumpIfSmi(a1, miss); __ 586 src/mips/stub-cache-mips.cc __ GetObjectType(a1, a3, a3); __ 587 src/mips/stub-cache-mips.cc __ Branch(miss, ne, a3, Operand(JS_FUNCTION_TYPE)); __ 592 src/mips/stub-cache-mips.cc __ lw(a3, FieldMemOperand(a0, GlobalObject::kGlobalReceiverOffset)); __ 593 src/mips/stub-cache-mips.cc __ sw(a3, MemOperand(sp, arguments.immediate() * kPointerSize)); __ 600 src/mips/stub-cache-mips.cc __ InvokeFunction(a1, arguments, JUMP_FUNCTION, NullCallWrapper(), call_kind); __ 609 src/mips/stub-cache-mips.cc __ push(name); __ 613 src/mips/stub-cache-mips.cc __ li(scratch, Operand(interceptor)); __ 614 src/mips/stub-cache-mips.cc __ Push(scratch, receiver, holder); __ 615 src/mips/stub-cache-mips.cc __ lw(scratch, FieldMemOperand(scratch, InterceptorInfo::kDataOffset)); __ 616 src/mips/stub-cache-mips.cc __ push(scratch); __ 617 src/mips/stub-cache-mips.cc __ li(scratch, Operand(ExternalReference::isolate_address())); __ 618 src/mips/stub-cache-mips.cc __ push(scratch); __ 633 src/mips/stub-cache-mips.cc __ PrepareCEntryArgs(6); __ 634 src/mips/stub-cache-mips.cc __ PrepareCEntryFunction(ref); __ 637 src/mips/stub-cache-mips.cc __ CallStub(&stub); __ 652 src/mips/stub-cache-mips.cc __ push(zero_reg); __ 659 src/mips/stub-cache-mips.cc __ Drop(kFastApiCallArguments); __ 678 src/mips/stub-cache-mips.cc __ LoadHeapObject(t1, function); __ 679 src/mips/stub-cache-mips.cc __ lw(cp, FieldMemOperand(t1, JSFunction::kContextOffset)); __ 685 src/mips/stub-cache-mips.cc __ li(a0, api_call_info); __ 686 src/mips/stub-cache-mips.cc __ lw(t2, FieldMemOperand(a0, CallHandlerInfo::kDataOffset)); __ 688 src/mips/stub-cache-mips.cc __ li(t2, call_data); __ 691 src/mips/stub-cache-mips.cc __ li(t3, Operand(ExternalReference::isolate_address())); __ 693 src/mips/stub-cache-mips.cc __ sw(t1, MemOperand(sp, 1 * kPointerSize)); __ 694 src/mips/stub-cache-mips.cc __ sw(t2, MemOperand(sp, 2 * kPointerSize)); __ 695 src/mips/stub-cache-mips.cc __ sw(t3, MemOperand(sp, 3 * kPointerSize)); __ 698 src/mips/stub-cache-mips.cc __ Addu(a2, sp, Operand(3 * kPointerSize)); __ 705 src/mips/stub-cache-mips.cc __ EnterExitFrame(false, kApiStackSpace); __ 714 src/mips/stub-cache-mips.cc __ Addu(a1, sp, kPointerSize); __ 717 src/mips/stub-cache-mips.cc __ sw(a2, MemOperand(a1, 0 * kPointerSize)); __ 719 src/mips/stub-cache-mips.cc __ Addu(t0, a2, Operand(argc * kPointerSize)); __ 720 src/mips/stub-cache-mips.cc __ sw(t0, MemOperand(a1, 1 * kPointerSize)); __ 722 src/mips/stub-cache-mips.cc __ li(t0, Operand(argc)); __ 723 src/mips/stub-cache-mips.cc __ sw(t0, MemOperand(a1, 2 * kPointerSize)); __ 725 src/mips/stub-cache-mips.cc __ sw(zero_reg, MemOperand(a1, 3 * kPointerSize)); __ 735 src/mips/stub-cache-mips.cc __ CallApiFunctionAndReturn(ref, kStackUnwindSpace); __ 763 src/mips/stub-cache-mips.cc __ JumpIfSmi(receiver, miss); __ 804 src/mips/stub-cache-mips.cc __ IncrementCounter(counters->call_const_interceptor(), 1, __ 808 src/mips/stub-cache-mips.cc __ IncrementCounter(counters->call_const_interceptor_fast_api(), 1, __ 853 src/mips/stub-cache-mips.cc __ InvokeFunction(optimization.constant_function(), arguments_, __ 859 src/mips/stub-cache-mips.cc __ bind(&miss_cleanup); __ 861 src/mips/stub-cache-mips.cc __ Branch(miss_label); __ 865 src/mips/stub-cache-mips.cc __ bind(®ular_invoke); __ 888 src/mips/stub-cache-mips.cc __ push(name_); __ 892 src/mips/stub-cache-mips.cc __ CallExternalReference( __ 898 src/mips/stub-cache-mips.cc __ pop(name_); __ 911 src/mips/stub-cache-mips.cc __ Push(holder, name_); __ 917 src/mips/stub-cache-mips.cc __ pop(name_); // Restore the name. __ 918 src/mips/stub-cache-mips.cc __ pop(receiver); // Restore the holder. __ 921 src/mips/stub-cache-mips.cc __ LoadRoot(scratch, Heap::kNoInterceptorResultSentinelRootIndex); __ 922 src/mips/stub-cache-mips.cc __ Branch(interceptor_succeeded, ne, v0, Operand(scratch)); __ 944 src/mips/stub-cache-mips.cc __ li(scratch, Operand(cell)); __ 945 src/mips/stub-cache-mips.cc __ lw(scratch, __ 947 src/mips/stub-cache-mips.cc __ LoadRoot(at, Heap::kTheHoleValueRootIndex); __ 948 src/mips/stub-cache-mips.cc __ Branch(miss, ne, scratch, Operand(at)); __ 986 src/mips/stub-cache-mips.cc __ mtc1(ival, f0); __ 987 src/mips/stub-cache-mips.cc __ cvt_s_w(f0, f0); __ 988 src/mips/stub-cache-mips.cc __ sll(scratch1, wordoffset, 2); __ 989 src/mips/stub-cache-mips.cc __ addu(scratch1, dst, scratch1); __ 990 src/mips/stub-cache-mips.cc __ swc1(f0, MemOperand(scratch1, 0)); __ 1000 src/mips/stub-cache-mips.cc __ And(fval, ival, Operand(kBinary32SignMask)); __ 1002 src/mips/stub-cache-mips.cc __ subu(scratch1, zero_reg, ival); __ 1003 src/mips/stub-cache-mips.cc __ Movn(ival, scratch1, fval); __ 1008 src/mips/stub-cache-mips.cc __ Branch(¬_special, gt, ival, Operand(1)); __ 1014 src/mips/stub-cache-mips.cc __ Xor(scratch1, ival, Operand(1)); __ 1015 src/mips/stub-cache-mips.cc __ li(scratch2, exponent_word_for_1); __ 1016 src/mips/stub-cache-mips.cc __ or_(scratch2, fval, scratch2); __ 1017 src/mips/stub-cache-mips.cc __ Movz(fval, scratch2, scratch1); // Only if ival is equal to 1. __ 1018 src/mips/stub-cache-mips.cc __ Branch(&done); __ 1020 src/mips/stub-cache-mips.cc __ bind(¬_special); __ 1024 src/mips/stub-cache-mips.cc __ Clz(zeros, ival); __ 1027 src/mips/stub-cache-mips.cc __ li(scratch1, (kBitsPerInt - 1) + kBinary32ExponentBias); __ 1028 src/mips/stub-cache-mips.cc __ subu(scratch1, scratch1, zeros); __ 1030 src/mips/stub-cache-mips.cc __ sll(scratch1, scratch1, kBinary32ExponentShift); __ 1031 src/mips/stub-cache-mips.cc __ or_(fval, fval, scratch1); __ 1034 src/mips/stub-cache-mips.cc __ Addu(zeros, zeros, Operand(1)); __ 1036 src/mips/stub-cache-mips.cc __ sllv(ival, ival, zeros); __ 1038 src/mips/stub-cache-mips.cc __ srl(scratch1, ival, kBitsPerInt - kBinary32MantissaBits); __ 1039 src/mips/stub-cache-mips.cc __ or_(fval, fval, scratch1); __ 1041 src/mips/stub-cache-mips.cc __ bind(&done); __ 1043 src/mips/stub-cache-mips.cc __ sll(scratch1, wordoffset, 2); __ 1044 src/mips/stub-cache-mips.cc __ addu(scratch1, dst, scratch1); __ 1045 src/mips/stub-cache-mips.cc __ sw(fval, MemOperand(scratch1, 0)); __ 1069 src/mips/stub-cache-mips.cc __ li(scratch, biased_exponent << HeapNumber::kExponentShift); __ 1071 src/mips/stub-cache-mips.cc __ sll(loword, hiword, mantissa_shift_for_lo_word); __ 1072 src/mips/stub-cache-mips.cc __ srl(hiword, hiword, mantissa_shift_for_hi_word); __ 1073 src/mips/stub-cache-mips.cc __ or_(hiword, scratch, hiword); __ 1075 src/mips/stub-cache-mips.cc __ mov(loword, zero_reg); __ 1076 src/mips/stub-cache-mips.cc __ sll(hiword, hiword, mantissa_shift_for_hi_word); __ 1077 src/mips/stub-cache-mips.cc __ or_(hiword, scratch, hiword); __ 1083 src/mips/stub-cache-mips.cc __ li(scratch, 1 << HeapNumber::kExponentShift); __ 1084 src/mips/stub-cache-mips.cc __ nor(scratch, scratch, scratch); __ 1085 src/mips/stub-cache-mips.cc __ and_(hiword, hiword, scratch); __ 1113 src/mips/stub-cache-mips.cc __ sw(reg, MemOperand(sp)); __ 1139 src/mips/stub-cache-mips.cc __ lw(scratch1, FieldMemOperand(reg, HeapObject::kMapOffset)); __ 1141 src/mips/stub-cache-mips.cc __ lw(reg, FieldMemOperand(scratch1, Map::kPrototypeOffset)); __ 1144 src/mips/stub-cache-mips.cc __ CheckMap(reg, scratch1, current_map, miss, DONT_DO_SMI_CHECK, __ 1150 src/mips/stub-cache-mips.cc __ CheckAccessGlobalProxy(reg, scratch2, miss); __ 1157 src/mips/stub-cache-mips.cc __ lw(reg, FieldMemOperand(scratch1, Map::kPrototypeOffset)); __ 1160 src/mips/stub-cache-mips.cc __ li(reg, Operand(prototype)); __ 1165 src/mips/stub-cache-mips.cc __ sw(reg, MemOperand(sp)); __ 1176 src/mips/stub-cache-mips.cc __ CheckMap(reg, scratch1, Handle<Map>(current->map()), miss, __ 1182 src/mips/stub-cache-mips.cc __ CheckAccessGlobalProxy(reg, scratch1, miss); __ 1205 src/mips/stub-cache-mips.cc __ JumpIfSmi(receiver, miss); __ 1211 src/mips/stub-cache-mips.cc __ Ret(); __ 1225 src/mips/stub-cache-mips.cc __ JumpIfSmi(receiver, miss, scratch1); __ 1232 src/mips/stub-cache-mips.cc __ LoadHeapObject(v0, value); __ 1233 src/mips/stub-cache-mips.cc __ Ret(); __ 1248 src/mips/stub-cache-mips.cc __ JumpIfSmi(receiver, miss, scratch1); __ 1256 src/mips/stub-cache-mips.cc __ push(receiver); __ 1257 src/mips/stub-cache-mips.cc __ mov(scratch2, sp); // scratch2 = AccessorInfo::args_ __ 1259 src/mips/stub-cache-mips.cc __ li(scratch3, callback); __ 1260 src/mips/stub-cache-mips.cc __ lw(scratch3, FieldMemOperand(scratch3, AccessorInfo::kDataOffset)); __ 1262 src/mips/stub-cache-mips.cc __ li(scratch3, Handle<Object>(callback->data())); __ 1264 src/mips/stub-cache-mips.cc __ Subu(sp, sp, 4 * kPointerSize); __ 1265 src/mips/stub-cache-mips.cc __ sw(reg, MemOperand(sp, 3 * kPointerSize)); __ 1266 src/mips/stub-cache-mips.cc __ sw(scratch3, MemOperand(sp, 2 * kPointerSize)); __ 1267 src/mips/stub-cache-mips.cc __ li(scratch3, Operand(ExternalReference::isolate_address())); __ 1268 src/mips/stub-cache-mips.cc __ sw(scratch3, MemOperand(sp, 1 * kPointerSize)); __ 1269 src/mips/stub-cache-mips.cc __ sw(name_reg, MemOperand(sp, 0 * kPointerSize)); __ 1271 src/mips/stub-cache-mips.cc __ mov(a2, scratch2); // Saved in case scratch2 == a1. __ 1272 src/mips/stub-cache-mips.cc __ mov(a1, sp); // a1 (first argument - see note below) = Handle<String> __ 1281 src/mips/stub-cache-mips.cc __ EnterExitFrame(false, kApiStackSpace); __ 1285 src/mips/stub-cache-mips.cc __ sw(a2, MemOperand(sp, kPointerSize)); __ 1287 src/mips/stub-cache-mips.cc __ Addu(a2, sp, kPointerSize); __ 1296 src/mips/stub-cache-mips.cc __ CallApiFunctionAndReturn(ref, kStackUnwindSpace); __ 1314 src/mips/stub-cache-mips.cc __ JumpIfSmi(receiver, miss); __ 1353 src/mips/stub-cache-mips.cc __ Push(receiver, holder_reg, name_reg); __ 1355 src/mips/stub-cache-mips.cc __ Push(holder_reg, name_reg); __ 1368 src/mips/stub-cache-mips.cc __ LoadRoot(scratch1, Heap::kNoInterceptorResultSentinelRootIndex); __ 1369 src/mips/stub-cache-mips.cc __ Branch(&interceptor_failed, eq, v0, Operand(scratch1)); __ 1371 src/mips/stub-cache-mips.cc __ Ret(); __ 1373 src/mips/stub-cache-mips.cc __ bind(&interceptor_failed); __ 1374 src/mips/stub-cache-mips.cc __ pop(name_reg); __ 1375 src/mips/stub-cache-mips.cc __ pop(holder_reg); __ 1377 src/mips/stub-cache-mips.cc __ pop(receiver); __ 1400 src/mips/stub-cache-mips.cc __ Ret(); __ 1412 src/mips/stub-cache-mips.cc __ li(scratch2, callback); __ 1414 src/mips/stub-cache-mips.cc __ Push(receiver, holder_reg); __ 1415 src/mips/stub-cache-mips.cc __ lw(scratch3, __ 1417 src/mips/stub-cache-mips.cc __ li(scratch1, Operand(ExternalReference::isolate_address())); __ 1418 src/mips/stub-cache-mips.cc __ Push(scratch3, scratch1, scratch2, name_reg); __ 1423 src/mips/stub-cache-mips.cc __ TailCallExternalReference(ref, 6, 1); __ 1436 src/mips/stub-cache-mips.cc __ TailCallExternalReference(ref, 6, 1); __ 1443 src/mips/stub-cache-mips.cc __ Branch(miss, ne, a2, Operand(name)); __ 1458 src/mips/stub-cache-mips.cc __ lw(a0, MemOperand(sp, argc * kPointerSize)); __ 1461 src/mips/stub-cache-mips.cc __ JumpIfSmi(a0, miss); __ 1471 src/mips/stub-cache-mips.cc __ li(a3, Operand(cell)); __ 1472 src/mips/stub-cache-mips.cc __ lw(a1, FieldMemOperand(a3, JSGlobalPropertyCell::kValueOffset)); __ 1481 src/mips/stub-cache-mips.cc __ JumpIfSmi(a1, miss); __ 1482 src/mips/stub-cache-mips.cc __ GetObjectType(a1, a3, a3); __ 1483 src/mips/stub-cache-mips.cc __ Branch(miss, ne, a3, Operand(JS_FUNCTION_TYPE)); __ 1486 src/mips/stub-cache-mips.cc __ li(a3, Handle<SharedFunctionInfo>(function->shared())); __ 1487 src/mips/stub-cache-mips.cc __ lw(t0, FieldMemOperand(a1, JSFunction::kSharedFunctionInfoOffset)); __ 1488 src/mips/stub-cache-mips.cc __ Branch(miss, ne, t0, Operand(a3)); __ 1490 src/mips/stub-cache-mips.cc __ Branch(miss, ne, a1, Operand(function)); __ 1500 src/mips/stub-cache-mips.cc __ Jump(code, RelocInfo::CODE_TARGET); __ 1519 src/mips/stub-cache-mips.cc __ lw(a0, MemOperand(sp, argc * kPointerSize)); __ 1521 src/mips/stub-cache-mips.cc __ JumpIfSmi(a0, &miss, t0); __ 1530 src/mips/stub-cache-mips.cc __ bind(&miss); __ 1563 src/mips/stub-cache-mips.cc __ lw(receiver, MemOperand(sp, argc * kPointerSize)); __ 1566 src/mips/stub-cache-mips.cc __ JumpIfSmi(receiver, &miss); __ 1574 src/mips/stub-cache-mips.cc __ lw(v0, FieldMemOperand(receiver, JSArray::kLengthOffset)); __ 1575 src/mips/stub-cache-mips.cc __ Drop(argc + 1); __ 1576 src/mips/stub-cache-mips.cc __ Ret(); __ 1585 src/mips/stub-cache-mips.cc __ lw(elements, FieldMemOperand(receiver, JSArray::kElementsOffset)); __ 1588 src/mips/stub-cache-mips.cc __ CheckMap(elements, __ 1595 src/mips/stub-cache-mips.cc __ lw(v0, FieldMemOperand(receiver, JSArray::kLengthOffset)); __ 1598 src/mips/stub-cache-mips.cc __ Addu(v0, v0, Operand(Smi::FromInt(argc))); __ 1601 src/mips/stub-cache-mips.cc __ lw(t0, FieldMemOperand(elements, FixedArray::kLengthOffset)); __ 1604 src/mips/stub-cache-mips.cc __ Branch(&attempt_to_grow_elements, gt, v0, Operand(t0)); __ 1608 src/mips/stub-cache-mips.cc __ lw(t0, MemOperand(sp, (argc - 1) * kPointerSize)); __ 1609 src/mips/stub-cache-mips.cc __ JumpIfNotSmi(t0, &with_write_barrier); __ 1612 src/mips/stub-cache-mips.cc __ sw(v0, FieldMemOperand(receiver, JSArray::kLengthOffset)); __ 1617 src/mips/stub-cache-mips.cc __ sll(end_elements, v0, kPointerSizeLog2 - kSmiTagSize); __ 1618 src/mips/stub-cache-mips.cc __ Addu(end_elements, elements, end_elements); __ 1621 src/mips/stub-cache-mips.cc __ Addu(end_elements, end_elements, kEndElementsOffset); __ 1622 src/mips/stub-cache-mips.cc __ sw(t0, MemOperand(end_elements)); __ 1625 src/mips/stub-cache-mips.cc __ Drop(argc + 1); __ 1626 src/mips/stub-cache-mips.cc __ Ret(); __ 1628 src/mips/stub-cache-mips.cc __ bind(&with_write_barrier); __ 1630 src/mips/stub-cache-mips.cc __ lw(a3, FieldMemOperand(receiver, HeapObject::kMapOffset)); __ 1634 src/mips/stub-cache-mips.cc __ CheckFastObjectElements(a3, t3, ¬_fast_object); __ 1635 src/mips/stub-cache-mips.cc __ jmp(&fast_object); __ 1637 src/mips/stub-cache-mips.cc __ bind(¬_fast_object); __ 1638 src/mips/stub-cache-mips.cc __ CheckFastSmiElements(a3, t3, &call_builtin); __ 1642 src/mips/stub-cache-mips.cc __ LoadTransitionedArrayMapConditional(FAST_SMI_ELEMENTS, __ 1647 src/mips/stub-cache-mips.cc __ mov(a2, receiver); __ 1650 src/mips/stub-cache-mips.cc __ jmp(&fast_object); __ 1652 src/mips/stub-cache-mips.cc __ bind(&try_holey_map); __ 1653 src/mips/stub-cache-mips.cc __ LoadTransitionedArrayMapConditional(FAST_HOLEY_SMI_ELEMENTS, __ 1658 src/mips/stub-cache-mips.cc __ mov(a2, receiver); __ 1661 src/mips/stub-cache-mips.cc __ bind(&fast_object); __ 1663 src/mips/stub-cache-mips.cc __ CheckFastObjectElements(a3, a3, &call_builtin); __ 1667 src/mips/stub-cache-mips.cc __ sw(v0, FieldMemOperand(receiver, JSArray::kLengthOffset)); __ 1672 src/mips/stub-cache-mips.cc __ sll(end_elements, v0, kPointerSizeLog2 - kSmiTagSize); __ 1673 src/mips/stub-cache-mips.cc __ Addu(end_elements, elements, end_elements); __ 1674 src/mips/stub-cache-mips.cc __ Addu(end_elements, end_elements, kEndElementsOffset); __ 1675 src/mips/stub-cache-mips.cc __ sw(t0, MemOperand(end_elements)); __ 1677 src/mips/stub-cache-mips.cc __ RecordWrite(elements, __ 1684 src/mips/stub-cache-mips.cc __ Drop(argc + 1); __ 1685 src/mips/stub-cache-mips.cc __ Ret(); __ 1687 src/mips/stub-cache-mips.cc __ bind(&attempt_to_grow_elements); __ 1692 src/mips/stub-cache-mips.cc __ Branch(&call_builtin); __ 1695 src/mips/stub-cache-mips.cc __ lw(a2, MemOperand(sp, (argc - 1) * kPointerSize)); __ 1699 src/mips/stub-cache-mips.cc __ JumpIfSmi(a2, &no_fast_elements_check); __ 1700 src/mips/stub-cache-mips.cc __ lw(t3, FieldMemOperand(receiver, HeapObject::kMapOffset)); __ 1701 src/mips/stub-cache-mips.cc __ CheckFastObjectElements(t3, t3, &call_builtin); __ 1702 src/mips/stub-cache-mips.cc __ bind(&no_fast_elements_check); __ 1713 src/mips/stub-cache-mips.cc __ sll(end_elements, v0, kPointerSizeLog2 - kSmiTagSize); __ 1714 src/mips/stub-cache-mips.cc __ Addu(end_elements, elements, end_elements); __ 1715 src/mips/stub-cache-mips.cc __ Addu(end_elements, end_elements, Operand(kEndElementsOffset)); __ 1716 src/mips/stub-cache-mips.cc __ li(t3, Operand(new_space_allocation_top)); __ 1717 src/mips/stub-cache-mips.cc __ lw(a3, MemOperand(t3)); __ 1718 src/mips/stub-cache-mips.cc __ Branch(&call_builtin, ne, end_elements, Operand(a3)); __ 1720 src/mips/stub-cache-mips.cc __ li(t5, Operand(new_space_allocation_limit)); __ 1721 src/mips/stub-cache-mips.cc __ lw(t5, MemOperand(t5)); __ 1722 src/mips/stub-cache-mips.cc __ Addu(a3, a3, Operand(kAllocationDelta * kPointerSize)); __ 1723 src/mips/stub-cache-mips.cc __ Branch(&call_builtin, hi, a3, Operand(t5)); __ 1727 src/mips/stub-cache-mips.cc __ sw(a3, MemOperand(t3)); __ 1729 src/mips/stub-cache-mips.cc __ sw(a2, MemOperand(end_elements)); __ 1731 src/mips/stub-cache-mips.cc __ LoadRoot(a3, Heap::kTheHoleValueRootIndex); __ 1733 src/mips/stub-cache-mips.cc __ sw(a3, MemOperand(end_elements, i * kPointerSize)); __ 1737 src/mips/stub-cache-mips.cc __ sw(v0, FieldMemOperand(receiver, JSArray::kLengthOffset)); __ 1738 src/mips/stub-cache-mips.cc __ Addu(t0, t0, Operand(Smi::FromInt(kAllocationDelta))); __ 1739 src/mips/stub-cache-mips.cc __ sw(t0, FieldMemOperand(elements, FixedArray::kLengthOffset)); __ 1742 src/mips/stub-cache-mips.cc __ Drop(argc + 1); __ 1743 src/mips/stub-cache-mips.cc __ Ret(); __ 1745 src/mips/stub-cache-mips.cc __ bind(&call_builtin); __ 1746 src/mips/stub-cache-mips.cc __ TailCallExternalReference(ExternalReference(Builtins::c_ArrayPush, __ 1753 src/mips/stub-cache-mips.cc __ bind(&miss); __ 1785 src/mips/stub-cache-mips.cc __ lw(receiver, MemOperand(sp, argc * kPointerSize)); __ 1787 src/mips/stub-cache-mips.cc __ JumpIfSmi(receiver, &miss); __ 1794 src/mips/stub-cache-mips.cc __ lw(elements, FieldMemOperand(receiver, JSArray::kElementsOffset)); __ 1797 src/mips/stub-cache-mips.cc __ CheckMap(elements, __ 1804 src/mips/stub-cache-mips.cc __ lw(t0, FieldMemOperand(receiver, JSArray::kLengthOffset)); __ 1805 src/mips/stub-cache-mips.cc __ Subu(t0, t0, Operand(Smi::FromInt(1))); __ 1806 src/mips/stub-cache-mips.cc __ Branch(&return_undefined, lt, t0, Operand(zero_reg)); __ 1809 src/mips/stub-cache-mips.cc __ LoadRoot(t2, Heap::kTheHoleValueRootIndex); __ 1814 src/mips/stub-cache-mips.cc __ sll(t1, t0, kPointerSizeLog2 - kSmiTagSize); __ 1815 src/mips/stub-cache-mips.cc __ Addu(elements, elements, t1); __ 1816 src/mips/stub-cache-mips.cc __ lw(v0, FieldMemOperand(elements, FixedArray::kHeaderSize)); __ 1817 src/mips/stub-cache-mips.cc __ Branch(&call_builtin, eq, v0, Operand(t2)); __ 1820 src/mips/stub-cache-mips.cc __ sw(t0, FieldMemOperand(receiver, JSArray::kLengthOffset)); __ 1823 src/mips/stub-cache-mips.cc __ sw(t2, FieldMemOperand(elements, FixedArray::kHeaderSize)); __ 1824 src/mips/stub-cache-mips.cc __ Drop(argc + 1); __ 1825 src/mips/stub-cache-mips.cc __ Ret(); __ 1827 src/mips/stub-cache-mips.cc __ bind(&return_undefined); __ 1828 src/mips/stub-cache-mips.cc __ LoadRoot(v0, Heap::kUndefinedValueRootIndex); __ 1829 src/mips/stub-cache-mips.cc __ Drop(argc + 1); __ 1830 src/mips/stub-cache-mips.cc __ Ret(); __ 1832 src/mips/stub-cache-mips.cc __ bind(&call_builtin); __ 1833 src/mips/stub-cache-mips.cc __ TailCallExternalReference(ExternalReference(Builtins::c_ArrayPop, __ 1839 src/mips/stub-cache-mips.cc __ bind(&miss); __ 1891 src/mips/stub-cache-mips.cc __ lw(receiver, MemOperand(sp, argc * kPointerSize)); __ 1893 src/mips/stub-cache-mips.cc __ lw(index, MemOperand(sp, (argc - 1) * kPointerSize)); __ 1895 src/mips/stub-cache-mips.cc __ LoadRoot(index, Heap::kUndefinedValueRootIndex); __ 1906 src/mips/stub-cache-mips.cc __ Drop(argc + 1); __ 1907 src/mips/stub-cache-mips.cc __ Ret(); __ 1913 src/mips/stub-cache-mips.cc __ bind(&index_out_of_range); __ 1914 src/mips/stub-cache-mips.cc __ LoadRoot(v0, Heap::kNanValueRootIndex); __ 1915 src/mips/stub-cache-mips.cc __ Drop(argc + 1); __ 1916 src/mips/stub-cache-mips.cc __ Ret(); __ 1919 src/mips/stub-cache-mips.cc __ bind(&miss); __ 1921 src/mips/stub-cache-mips.cc __ li(a2, name); __ 1922 src/mips/stub-cache-mips.cc __ bind(&name_miss); __ 1972 src/mips/stub-cache-mips.cc __ lw(receiver, MemOperand(sp, argc * kPointerSize)); __ 1974 src/mips/stub-cache-mips.cc __ lw(index, MemOperand(sp, (argc - 1) * kPointerSize)); __ 1976 src/mips/stub-cache-mips.cc __ LoadRoot(index, Heap::kUndefinedValueRootIndex); __ 1988 src/mips/stub-cache-mips.cc __ Drop(argc + 1); __ 1989 src/mips/stub-cache-mips.cc __ Ret(); __ 1995 src/mips/stub-cache-mips.cc __ bind(&index_out_of_range); __ 1996 src/mips/stub-cache-mips.cc __ LoadRoot(v0, Heap::kEmptyStringRootIndex); __ 1997 src/mips/stub-cache-mips.cc __ Drop(argc + 1); __ 1998 src/mips/stub-cache-mips.cc __ Ret(); __ 2001 src/mips/stub-cache-mips.cc __ bind(&miss); __ 2003 src/mips/stub-cache-mips.cc __ li(a2, name); __ 2004 src/mips/stub-cache-mips.cc __ bind(&name_miss); __ 2036 src/mips/stub-cache-mips.cc __ lw(a1, MemOperand(sp, 1 * kPointerSize)); __ 2039 src/mips/stub-cache-mips.cc __ JumpIfSmi(a1, &miss); __ 2052 src/mips/stub-cache-mips.cc __ lw(code, MemOperand(sp, 0 * kPointerSize)); __ 2057 src/mips/stub-cache-mips.cc __ JumpIfNotSmi(code, &slow); __ 2060 src/mips/stub-cache-mips.cc __ And(code, code, Operand(Smi::FromInt(0xffff))); __ 2064 src/mips/stub-cache-mips.cc __ Drop(argc + 1); __ 2065 src/mips/stub-cache-mips.cc __ Ret(); __ 2072 src/mips/stub-cache-mips.cc __ bind(&slow); __ 2073 src/mips/stub-cache-mips.cc __ InvokeFunction( __ 2076 src/mips/stub-cache-mips.cc __ bind(&miss); __ 2113 src/mips/stub-cache-mips.cc __ lw(a1, MemOperand(sp, 1 * kPointerSize)); __ 2115 src/mips/stub-cache-mips.cc __ JumpIfSmi(a1, &miss); __ 2126 src/mips/stub-cache-mips.cc __ lw(v0, MemOperand(sp, 0 * kPointerSize)); __ 2130 src/mips/stub-cache-mips.cc __ And(t0, v0, Operand(kSmiTagMask)); __ 2131 src/mips/stub-cache-mips.cc __ Drop(argc + 1, eq, t0, Operand(zero_reg)); __ 2132 src/mips/stub-cache-mips.cc __ Ret(eq, t0, Operand(zero_reg)); __ 2134 src/mips/stub-cache-mips.cc __ CheckMap(v0, a1, Heap::kHeapNumberMapRootIndex, &slow, DONT_DO_SMI_CHECK); __ 2141 src/mips/stub-cache-mips.cc __ ldc1(f0, FieldMemOperand(v0, HeapNumber::kValueOffset)); __ 2144 src/mips/stub-cache-mips.cc __ cfc1(a3, FCSR); __ 2146 src/mips/stub-cache-mips.cc __ ctc1(zero_reg, FCSR); __ 2148 src/mips/stub-cache-mips.cc __ floor_w_d(f0, f0); __ 2152 src/mips/stub-cache-mips.cc __ lw(t1, FieldMemOperand(v0, HeapNumber::kValueOffset + kPointerSize)); __ 2153 src/mips/stub-cache-mips.cc __ And(t2, t1, Operand(~HeapNumber::kSignMask)); __ 2154 src/mips/stub-cache-mips.cc __ srl(t2, t2, HeapNumber::kMantissaBitsInTopWord); __ 2157 src/mips/stub-cache-mips.cc __ cfc1(t5, FCSR); __ 2158 src/mips/stub-cache-mips.cc __ And(t5, t5, Operand(kFCSRExceptionFlagMask)); __ 2159 src/mips/stub-cache-mips.cc __ Branch(&no_fpu_error, eq, t5, Operand(zero_reg)); __ 2164 src/mips/stub-cache-mips.cc __ Subu(t3, t2, Operand(HeapNumber::kExponentMask __ 2166 src/mips/stub-cache-mips.cc __ Branch(&restore_fcsr_and_return, eq, t3, Operand(zero_reg)); __ 2170 src/mips/stub-cache-mips.cc __ Branch(&restore_fcsr_and_return, ge, t3, __ 2172 src/mips/stub-cache-mips.cc __ Branch(&wont_fit_smi); __ 2174 src/mips/stub-cache-mips.cc __ bind(&no_fpu_error); __ 2176 src/mips/stub-cache-mips.cc __ mfc1(v0, f0); __ 2178 src/mips/stub-cache-mips.cc __ Addu(a1, v0, Operand(0x40000000)); __ 2179 src/mips/stub-cache-mips.cc __ Branch(&wont_fit_smi, lt, a1, Operand(zero_reg)); __ 2182 src/mips/stub-cache-mips.cc __ sll(v0, v0, kSmiTagSize); __ 2185 src/mips/stub-cache-mips.cc __ Branch(&restore_fcsr_and_return, ne, v0, Operand(zero_reg)); __ 2187 src/mips/stub-cache-mips.cc __ And(t0, t1, Operand(HeapNumber::kSignMask)); __ 2190 src/mips/stub-cache-mips.cc __ Branch(&restore_fcsr_and_return, eq, t0, Operand(zero_reg)); __ 2191 src/mips/stub-cache-mips.cc __ lw(v0, MemOperand(sp, 0 * kPointerSize)); __ 2193 src/mips/stub-cache-mips.cc __ bind(&restore_fcsr_and_return); __ 2195 src/mips/stub-cache-mips.cc __ ctc1(a3, FCSR); __ 2197 src/mips/stub-cache-mips.cc __ Drop(argc + 1); __ 2198 src/mips/stub-cache-mips.cc __ Ret(); __ 2200 src/mips/stub-cache-mips.cc __ bind(&wont_fit_smi); __ 2202 src/mips/stub-cache-mips.cc __ ctc1(a3, FCSR); __ 2204 src/mips/stub-cache-mips.cc __ bind(&slow); __ 2207 src/mips/stub-cache-mips.cc __ InvokeFunction( __ 2210 src/mips/stub-cache-mips.cc __ bind(&miss); __ 2242 src/mips/stub-cache-mips.cc __ lw(a1, MemOperand(sp, 1 * kPointerSize)); __ 2244 src/mips/stub-cache-mips.cc __ JumpIfSmi(a1, &miss); __ 2255 src/mips/stub-cache-mips.cc __ lw(v0, MemOperand(sp, 0 * kPointerSize)); __ 2260 src/mips/stub-cache-mips.cc __ JumpIfNotSmi(v0, ¬_smi); __ 2264 src/mips/stub-cache-mips.cc __ sra(t0, v0, kBitsPerInt - 1); __ 2265 src/mips/stub-cache-mips.cc __ Xor(a1, v0, t0); __ 2268 src/mips/stub-cache-mips.cc __ Subu(v0, a1, t0); __ 2273 src/mips/stub-cache-mips.cc __ Branch(&slow, lt, v0, Operand(zero_reg)); __ 2276 src/mips/stub-cache-mips.cc __ Drop(argc + 1); __ 2277 src/mips/stub-cache-mips.cc __ Ret(); __ 2281 src/mips/stub-cache-mips.cc __ bind(¬_smi); __ 2282 src/mips/stub-cache-mips.cc __ CheckMap(v0, a1, Heap::kHeapNumberMapRootIndex, &slow, DONT_DO_SMI_CHECK); __ 2283 src/mips/stub-cache-mips.cc __ lw(a1, FieldMemOperand(v0, HeapNumber::kExponentOffset)); __ 2288 src/mips/stub-cache-mips.cc __ And(t0, a1, Operand(HeapNumber::kSignMask)); __ 2289 src/mips/stub-cache-mips.cc __ Branch(&negative_sign, ne, t0, Operand(zero_reg)); __ 2290 src/mips/stub-cache-mips.cc __ Drop(argc + 1); __ 2291 src/mips/stub-cache-mips.cc __ Ret(); __ 2295 src/mips/stub-cache-mips.cc __ bind(&negative_sign); __ 2296 src/mips/stub-cache-mips.cc __ Xor(a1, a1, Operand(HeapNumber::kSignMask)); __ 2297 src/mips/stub-cache-mips.cc __ lw(a3, FieldMemOperand(v0, HeapNumber::kMantissaOffset)); __ 2298 src/mips/stub-cache-mips.cc __ LoadRoot(t2, Heap::kHeapNumberMapRootIndex); __ 2299 src/mips/stub-cache-mips.cc __ AllocateHeapNumber(v0, t0, t1, t2, &slow); __ 2300 src/mips/stub-cache-mips.cc __ sw(a1, FieldMemOperand(v0, HeapNumber::kExponentOffset)); __ 2301 src/mips/stub-cache-mips.cc __ sw(a3, FieldMemOperand(v0, HeapNumber::kMantissaOffset)); __ 2302 src/mips/stub-cache-mips.cc __ Drop(argc + 1); __ 2303 src/mips/stub-cache-mips.cc __ Ret(); __ 2307 src/mips/stub-cache-mips.cc __ bind(&slow); __ 2308 src/mips/stub-cache-mips.cc __ InvokeFunction( __ 2311 src/mips/stub-cache-mips.cc __ bind(&miss); __ 2346 src/mips/stub-cache-mips.cc __ lw(a1, MemOperand(sp, argc * kPointerSize)); __ 2349 src/mips/stub-cache-mips.cc __ JumpIfSmi(a1, &miss_before_stack_reserved); __ 2351 src/mips/stub-cache-mips.cc __ IncrementCounter(counters->call_const(), 1, a0, a3); __ 2352 src/mips/stub-cache-mips.cc __ IncrementCounter(counters->call_const_fast_api(), 1, a0, a3); __ 2362 src/mips/stub-cache-mips.cc __ bind(&miss); __ 2365 src/mips/stub-cache-mips.cc __ bind(&miss_before_stack_reserved); __ 2396 src/mips/stub-cache-mips.cc __ lw(a1, MemOperand(sp, argc * kPointerSize)); __ 2400 src/mips/stub-cache-mips.cc __ JumpIfSmi(a1, &miss); __ 2408 src/mips/stub-cache-mips.cc __ IncrementCounter(masm()->isolate()->counters()->call_const(), __ 2418 src/mips/stub-cache-mips.cc __ lw(a3, FieldMemOperand(a1, GlobalObject::kGlobalReceiverOffset)); __ 2419 src/mips/stub-cache-mips.cc __ sw(a3, MemOperand(sp, argc * kPointerSize)); __ 2426 src/mips/stub-cache-mips.cc __ GetObjectType(a1, a3, a3); __ 2427 src/mips/stub-cache-mips.cc __ Branch(&miss, Ugreater_equal, a3, Operand(FIRST_NONSTRING_TYPE)); __ 2437 src/mips/stub-cache-mips.cc __ jmp(&miss); __ 2445 src/mips/stub-cache-mips.cc __ JumpIfSmi(a1, &fast); __ 2446 src/mips/stub-cache-mips.cc __ GetObjectType(a1, a0, a0); __ 2447 src/mips/stub-cache-mips.cc __ Branch(&miss, ne, a0, Operand(HEAP_NUMBER_TYPE)); __ 2448 src/mips/stub-cache-mips.cc __ bind(&fast); __ 2458 src/mips/stub-cache-mips.cc __ jmp(&miss); __ 2466 src/mips/stub-cache-mips.cc __ LoadRoot(t0, Heap::kTrueValueRootIndex); __ 2467 src/mips/stub-cache-mips.cc __ Branch(&fast, eq, a1, Operand(t0)); __ 2468 src/mips/stub-cache-mips.cc __ LoadRoot(t0, Heap::kFalseValueRootIndex); __ 2469 src/mips/stub-cache-mips.cc __ Branch(&miss, ne, a1, Operand(t0)); __ 2470 src/mips/stub-cache-mips.cc __ bind(&fast); __ 2480 src/mips/stub-cache-mips.cc __ jmp(&miss); __ 2488 src/mips/stub-cache-mips.cc __ InvokeFunction( __ 2492 src/mips/stub-cache-mips.cc __ bind(&miss); __ 2519 src/mips/stub-cache-mips.cc __ lw(a1, MemOperand(sp, argc * kPointerSize)); __ 2526 src/mips/stub-cache-mips.cc __ mov(a1, v0); __ 2528 src/mips/stub-cache-mips.cc __ lw(a0, MemOperand(sp, argc * kPointerSize)); __ 2533 src/mips/stub-cache-mips.cc __ bind(&miss); __ 2569 src/mips/stub-cache-mips.cc __ lw(a3, FieldMemOperand(a0, GlobalObject::kGlobalReceiverOffset)); __ 2570 src/mips/stub-cache-mips.cc __ sw(a3, MemOperand(sp, argc * kPointerSize)); __ 2574 src/mips/stub-cache-mips.cc __ lw(cp, FieldMemOperand(a1, JSFunction::kContextOffset)); __ 2578 src/mips/stub-cache-mips.cc __ IncrementCounter(counters->call_global_inline(), 1, a3, t0); __ 2586 src/mips/stub-cache-mips.cc __ lw(a3, FieldMemOperand(a1, JSFunction::kCodeEntryOffset)); __ 2587 src/mips/stub-cache-mips.cc __ InvokeCode(a3, expected, arguments(), JUMP_FUNCTION, __ 2591 src/mips/stub-cache-mips.cc __ bind(&miss); __ 2592 src/mips/stub-cache-mips.cc __ IncrementCounter(counters->call_global_inline_miss(), 1, a1, a3); __ 2620 src/mips/stub-cache-mips.cc __ bind(&miss); __ 2621 src/mips/stub-cache-mips.cc __ li(a2, Operand(Handle<String>(name))); // Restore name. __ 2623 src/mips/stub-cache-mips.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 2645 src/mips/stub-cache-mips.cc __ CheckMap(a1, a3, Handle<Map>(object->map()), &miss, __ 2650 src/mips/stub-cache-mips.cc __ CheckAccessGlobalProxy(a1, a3, &miss); __ 2657 src/mips/stub-cache-mips.cc __ push(a1); // Receiver. __ 2658 src/mips/stub-cache-mips.cc __ li(a3, Operand(callback)); // Callback info. __ 2659 src/mips/stub-cache-mips.cc __ Push(a3, a2, a0); __ 2665 src/mips/stub-cache-mips.cc __ TailCallExternalReference(store_callback_property, 4, 1); __ 2668 src/mips/stub-cache-mips.cc __ bind(&miss); __ 2670 src/mips/stub-cache-mips.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 2691 src/mips/stub-cache-mips.cc __ JumpIfSmi(a1, &miss); __ 2698 src/mips/stub-cache-mips.cc __ push(a0); __ 2701 src/mips/stub-cache-mips.cc __ push(a1); __ 2702 src/mips/stub-cache-mips.cc __ push(a0); __ 2704 src/mips/stub-cache-mips.cc __ InvokeFunction(setter, actual, CALL_FUNCTION, NullCallWrapper(), __ 2708 src/mips/stub-cache-mips.cc __ pop(v0); __ 2711 src/mips/stub-cache-mips.cc __ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 2713 src/mips/stub-cache-mips.cc __ Ret(); __ 2715 src/mips/stub-cache-mips.cc __ bind(&miss); __ 2717 src/mips/stub-cache-mips.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 2736 src/mips/stub-cache-mips.cc __ CheckMap(a1, a3, Handle<Map>(receiver->map()), &miss, __ 2741 src/mips/stub-cache-mips.cc __ CheckAccessGlobalProxy(a1, a3, &miss); __ 2748 src/mips/stub-cache-mips.cc __ Push(a1, a2, a0); // Receiver, name, value. __ 2750 src/mips/stub-cache-mips.cc __ li(a0, Operand(Smi::FromInt(strict_mode_))); __ 2751 src/mips/stub-cache-mips.cc __ push(a0); // Strict mode. __ 2757 src/mips/stub-cache-mips.cc __ TailCallExternalReference(store_ic_property, 4, 1); __ 2760 src/mips/stub-cache-mips.cc __ bind(&miss); __ 2762 src/mips/stub-cache-mips.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 2782 src/mips/stub-cache-mips.cc __ lw(a3, FieldMemOperand(a1, HeapObject::kMapOffset)); __ 2783 src/mips/stub-cache-mips.cc __ Branch(&miss, ne, a3, Operand(Handle<Map>(object->map()))); __ 2789 src/mips/stub-cache-mips.cc __ li(t0, Operand(cell)); __ 2790 src/mips/stub-cache-mips.cc __ LoadRoot(t1, Heap::kTheHoleValueRootIndex); __ 2791 src/mips/stub-cache-mips.cc __ lw(t2, FieldMemOperand(t0, JSGlobalPropertyCell::kValueOffset)); __ 2792 src/mips/stub-cache-mips.cc __ Branch(&miss, eq, t1, Operand(t2)); __ 2795 src/mips/stub-cache-mips.cc __ sw(a0, FieldMemOperand(t0, JSGlobalPropertyCell::kValueOffset)); __ 2796 src/mips/stub-cache-mips.cc __ mov(v0, a0); // Stored value must be returned in v0. __ 2800 src/mips/stub-cache-mips.cc __ IncrementCounter(counters->named_store_global_inline(), 1, a1, a3); __ 2801 src/mips/stub-cache-mips.cc __ Ret(); __ 2804 src/mips/stub-cache-mips.cc __ bind(&miss); __ 2805 src/mips/stub-cache-mips.cc __ IncrementCounter(counters->named_store_global_inline_miss(), 1, a1, a3); __ 2807 src/mips/stub-cache-mips.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 2824 src/mips/stub-cache-mips.cc __ JumpIfSmi(a0, &miss); __ 2837 src/mips/stub-cache-mips.cc __ LoadRoot(v0, Heap::kUndefinedValueRootIndex); __ 2838 src/mips/stub-cache-mips.cc __ Ret(); __ 2840 src/mips/stub-cache-mips.cc __ bind(&miss); __ 2859 src/mips/stub-cache-mips.cc __ mov(v0, a0); __ 2862 src/mips/stub-cache-mips.cc __ bind(&miss); __ 2883 src/mips/stub-cache-mips.cc __ bind(&miss); __ 2904 src/mips/stub-cache-mips.cc __ JumpIfSmi(a0, &miss); __ 2911 src/mips/stub-cache-mips.cc __ push(a0); __ 2913 src/mips/stub-cache-mips.cc __ InvokeFunction(getter, actual, CALL_FUNCTION, NullCallWrapper(), __ 2917 src/mips/stub-cache-mips.cc __ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ 2919 src/mips/stub-cache-mips.cc __ Ret(); __ 2921 src/mips/stub-cache-mips.cc __ bind(&miss); __ 2941 src/mips/stub-cache-mips.cc __ bind(&miss); __ 2964 src/mips/stub-cache-mips.cc __ bind(&miss); __ 2986 src/mips/stub-cache-mips.cc __ JumpIfSmi(a0, &miss); __ 2990 src/mips/stub-cache-mips.cc __ li(a3, Operand(cell)); __ 2991 src/mips/stub-cache-mips.cc __ lw(t0, FieldMemOperand(a3, JSGlobalPropertyCell::kValueOffset)); __ 2995 src/mips/stub-cache-mips.cc __ LoadRoot(at, Heap::kTheHoleValueRootIndex); __ 2996 src/mips/stub-cache-mips.cc __ Branch(&miss, eq, t0, Operand(at)); __ 2999 src/mips/stub-cache-mips.cc __ mov(v0, t0); __ 3001 src/mips/stub-cache-mips.cc __ IncrementCounter(counters->named_load_global_stub(), 1, a1, a3); __ 3002 src/mips/stub-cache-mips.cc __ Ret(); __ 3004 src/mips/stub-cache-mips.cc __ bind(&miss); __ 3005 src/mips/stub-cache-mips.cc __ IncrementCounter(counters->named_load_global_stub_miss(), 1, a1, a3); __ 3025 src/mips/stub-cache-mips.cc __ Branch(&miss, ne, a0, Operand(name)); __ 3028 src/mips/stub-cache-mips.cc __ bind(&miss); __ 3048 src/mips/stub-cache-mips.cc __ Branch(&miss, ne, a0, Operand(name)); __ 3052 src/mips/stub-cache-mips.cc __ bind(&miss); __ 3072 src/mips/stub-cache-mips.cc __ Branch(&miss, ne, a0, Operand(name)); __ 3075 src/mips/stub-cache-mips.cc __ bind(&miss); __ 3095 src/mips/stub-cache-mips.cc __ Branch(&miss, ne, a0, Operand(name)); __ 3101 src/mips/stub-cache-mips.cc __ bind(&miss); __ 3118 src/mips/stub-cache-mips.cc __ Branch(&miss, ne, a0, Operand(name)); __ 3121 src/mips/stub-cache-mips.cc __ bind(&miss); __ 3138 src/mips/stub-cache-mips.cc __ IncrementCounter(counters->keyed_load_string_length(), 1, a2, a3); __ 3141 src/mips/stub-cache-mips.cc __ Branch(&miss, ne, a0, Operand(name)); __ 3144 src/mips/stub-cache-mips.cc __ bind(&miss); __ 3145 src/mips/stub-cache-mips.cc __ DecrementCounter(counters->keyed_load_string_length(), 1, a2, a3); __ 3163 src/mips/stub-cache-mips.cc __ IncrementCounter(counters->keyed_load_function_prototype(), 1, a2, a3); __ 3166 src/mips/stub-cache-mips.cc __ Branch(&miss, ne, a0, Operand(name)); __ 3169 src/mips/stub-cache-mips.cc __ bind(&miss); __ 3170 src/mips/stub-cache-mips.cc __ DecrementCounter(counters->keyed_load_function_prototype(), 1, a2, a3); __ 3187 src/mips/stub-cache-mips.cc __ DispatchMap(a1, a2, receiver_map, stub, DO_SMI_CHECK); __ 3190 src/mips/stub-cache-mips.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 3206 src/mips/stub-cache-mips.cc __ JumpIfSmi(a1, &miss); __ 3209 src/mips/stub-cache-mips.cc __ lw(a2, FieldMemOperand(a1, HeapObject::kMapOffset)); __ 3211 src/mips/stub-cache-mips.cc __ Jump(handler_ics->at(current), RelocInfo::CODE_TARGET, __ 3215 src/mips/stub-cache-mips.cc __ bind(&miss); __ 3217 src/mips/stub-cache-mips.cc __ Jump(miss_ic, RelocInfo::CODE_TARGET); __ 3238 src/mips/stub-cache-mips.cc __ IncrementCounter(counters->keyed_store_field(), 1, a3, t0); __ 3241 src/mips/stub-cache-mips.cc __ Branch(&miss, ne, a1, Operand(name)); __ 3252 src/mips/stub-cache-mips.cc __ bind(&miss); __ 3254 src/mips/stub-cache-mips.cc __ DecrementCounter(counters->keyed_store_field(), 1, a3, t0); __ 3256 src/mips/stub-cache-mips.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 3279 src/mips/stub-cache-mips.cc __ DispatchMap(a2, a3, receiver_map, stub, DO_SMI_CHECK); __ 3282 src/mips/stub-cache-mips.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 3301 src/mips/stub-cache-mips.cc __ JumpIfSmi(a2, &miss); __ 3304 src/mips/stub-cache-mips.cc __ lw(a3, FieldMemOperand(a2, HeapObject::kMapOffset)); __ 3307 src/mips/stub-cache-mips.cc __ Jump(handler_stubs->at(i), RelocInfo::CODE_TARGET, eq, __ 3311 src/mips/stub-cache-mips.cc __ Branch(&next_map, ne, a3, Operand(receiver_maps->at(i))); __ 3312 src/mips/stub-cache-mips.cc __ li(a3, Operand(transitioned_maps->at(i))); __ 3313 src/mips/stub-cache-mips.cc __ Jump(handler_stubs->at(i), RelocInfo::CODE_TARGET); __ 3314 src/mips/stub-cache-mips.cc __ bind(&next_map); __ 3318 src/mips/stub-cache-mips.cc __ bind(&miss); __ 3320 src/mips/stub-cache-mips.cc __ Jump(miss_ic, RelocInfo::CODE_TARGET); __ 3336 src/mips/stub-cache-mips.cc __ LoadRoot(t7, Heap::kUndefinedValueRootIndex); __ 3342 src/mips/stub-cache-mips.cc __ lw(t5, FieldMemOperand(a1, JSFunction::kSharedFunctionInfoOffset)); __ 3343 src/mips/stub-cache-mips.cc __ lw(a2, FieldMemOperand(t5, SharedFunctionInfo::kDebugInfoOffset)); __ 3344 src/mips/stub-cache-mips.cc __ Branch(&generic_stub_call, ne, a2, Operand(t7)); __ 3350 src/mips/stub-cache-mips.cc __ lw(a2, FieldMemOperand(a1, JSFunction::kPrototypeOrInitialMapOffset)); __ 3351 src/mips/stub-cache-mips.cc __ JumpIfSmi(a2, &generic_stub_call); __ 3352 src/mips/stub-cache-mips.cc __ GetObjectType(a2, a3, t0); __ 3353 src/mips/stub-cache-mips.cc __ Branch(&generic_stub_call, ne, t0, Operand(MAP_TYPE)); __ 3361 src/mips/stub-cache-mips.cc __ lbu(a3, FieldMemOperand(a2, Map::kInstanceTypeOffset)); __ 3362 src/mips/stub-cache-mips.cc __ Check(ne, "Function constructed by construct stub.", __ 3371 src/mips/stub-cache-mips.cc __ lbu(a3, FieldMemOperand(a2, Map::kInstanceSizeOffset)); __ 3372 src/mips/stub-cache-mips.cc __ AllocateInNewSpace(a3, t4, t5, t6, &generic_stub_call, SIZE_IN_WORDS); __ 3382 src/mips/stub-cache-mips.cc __ LoadRoot(t6, Heap::kEmptyFixedArrayRootIndex); __ 3383 src/mips/stub-cache-mips.cc __ mov(t5, t4); __ 3384 src/mips/stub-cache-mips.cc __ sw(a2, MemOperand(t5, JSObject::kMapOffset)); __ 3385 src/mips/stub-cache-mips.cc __ sw(t6, MemOperand(t5, JSObject::kPropertiesOffset)); __ 3386 src/mips/stub-cache-mips.cc __ sw(t6, MemOperand(t5, JSObject::kElementsOffset)); __ 3387 src/mips/stub-cache-mips.cc __ Addu(t5, t5, Operand(3 * kPointerSize)); __ 3395 src/mips/stub-cache-mips.cc __ sll(a1, a0, kPointerSizeLog2); __ 3396 src/mips/stub-cache-mips.cc __ Addu(a1, a1, sp); __ 3413 src/mips/stub-cache-mips.cc __ Branch(¬_passed, less_equal, a0, Operand(arg_number)); __ 3415 src/mips/stub-cache-mips.cc __ lw(a2, MemOperand(a1, (arg_number + 1) * -kPointerSize)); __ 3416 src/mips/stub-cache-mips.cc __ sw(a2, MemOperand(t5)); __ 3417 src/mips/stub-cache-mips.cc __ Addu(t5, t5, kPointerSize); __ 3418 src/mips/stub-cache-mips.cc __ jmp(&next); __ 3419 src/mips/stub-cache-mips.cc __ bind(¬_passed); __ 3421 src/mips/stub-cache-mips.cc __ sw(t7, MemOperand(t5)); __ 3422 src/mips/stub-cache-mips.cc __ Addu(t5, t5, Operand(kPointerSize)); __ 3423 src/mips/stub-cache-mips.cc __ bind(&next); __ 3427 src/mips/stub-cache-mips.cc __ li(a2, Operand(constant)); __ 3428 src/mips/stub-cache-mips.cc __ sw(a2, MemOperand(t5)); __ 3429 src/mips/stub-cache-mips.cc __ Addu(t5, t5, kPointerSize); __ 3438 src/mips/stub-cache-mips.cc __ sw(t7, MemOperand(t5)); __ 3439 src/mips/stub-cache-mips.cc __ Addu(t5, t5, kPointerSize); __ 3445 src/mips/stub-cache-mips.cc __ mov(a1, a0); __ 3446 src/mips/stub-cache-mips.cc __ mov(v0, t4); __ 3447 src/mips/stub-cache-mips.cc __ Or(v0, v0, Operand(kHeapObjectTag)); __ 3452 src/mips/stub-cache-mips.cc __ sll(t0, a1, kPointerSizeLog2); __ 3453 src/mips/stub-cache-mips.cc __ Addu(sp, sp, t0); __ 3454 src/mips/stub-cache-mips.cc __ Addu(sp, sp, Operand(kPointerSize)); __ 3456 src/mips/stub-cache-mips.cc __ IncrementCounter(counters->constructed_objects(), 1, a1, a2); __ 3457 src/mips/stub-cache-mips.cc __ IncrementCounter(counters->constructed_objects_stub(), 1, a1, a2); __ 3458 src/mips/stub-cache-mips.cc __ Ret(); __ 3462 src/mips/stub-cache-mips.cc __ bind(&generic_stub_call); __ 3465 src/mips/stub-cache-mips.cc __ Jump(generic_construct_stub, RelocInfo::CODE_TARGET); __ 3488 src/mips/stub-cache-mips.cc __ JumpIfNotSmi(key, &miss_force_generic); __ 3489 src/mips/stub-cache-mips.cc __ lw(t0, FieldMemOperand(receiver, JSObject::kElementsOffset)); __ 3490 src/mips/stub-cache-mips.cc __ sra(a2, a0, kSmiTagSize); __ 3491 src/mips/stub-cache-mips.cc __ LoadFromNumberDictionary(&slow, t0, a0, v0, a2, a3, t1); __ 3492 src/mips/stub-cache-mips.cc __ Ret(); __ 3495 src/mips/stub-cache-mips.cc __ bind(&slow); __ 3496 src/mips/stub-cache-mips.cc __ IncrementCounter( __ 3507 src/mips/stub-cache-mips.cc __ Jump(slow_ic, RelocInfo::CODE_TARGET); __ 3510 src/mips/stub-cache-mips.cc __ bind(&miss_force_generic); __ 3520 src/mips/stub-cache-mips.cc __ Jump(miss_ic, RelocInfo::CODE_TARGET); __ 3566 src/mips/stub-cache-mips.cc __ JumpIfSmi(key, &key_ok); __ 3567 src/mips/stub-cache-mips.cc __ CheckMap(key, __ 3572 src/mips/stub-cache-mips.cc __ ldc1(double_scratch0, FieldMemOperand(key, HeapNumber::kValueOffset)); __ 3573 src/mips/stub-cache-mips.cc __ EmitFPUTruncate(kRoundToZero, __ 3580 src/mips/stub-cache-mips.cc __ Branch(fail, ne, scratch1, Operand(zero_reg)); __ 3582 src/mips/stub-cache-mips.cc __ mfc1(scratch0, double_scratch0); __ 3583 src/mips/stub-cache-mips.cc __ SmiTagCheckOverflow(key, scratch0, scratch1); __ 3584 src/mips/stub-cache-mips.cc __ BranchOnOverflow(fail, scratch1); __ 3585 src/mips/stub-cache-mips.cc __ bind(&key_ok); __ 3588 src/mips/stub-cache-mips.cc __ JumpIfNotSmi(key, fail); __ 3612 src/mips/stub-cache-mips.cc __ lw(a3, FieldMemOperand(receiver, JSObject::kElementsOffset)); __ 3616 src/mips/stub-cache-mips.cc __ lw(t1, FieldMemOperand(a3, ExternalArray::kLengthOffset)); __ 3617 src/mips/stub-cache-mips.cc __ sra(t2, key, kSmiTagSize); __ 3619 src/mips/stub-cache-mips.cc __ Branch(&miss_force_generic, Ugreater_equal, key, Operand(t1)); __ 3621 src/mips/stub-cache-mips.cc __ lw(a3, FieldMemOperand(a3, ExternalArray::kExternalPointerOffset)); __ 3631 src/mips/stub-cache-mips.cc __ srl(t2, key, 1); __ 3632 src/mips/stub-cache-mips.cc __ addu(t3, a3, t2); __ 3633 src/mips/stub-cache-mips.cc __ lb(value, MemOperand(t3, 0)); __ 3637 src/mips/stub-cache-mips.cc __ srl(t2, key, 1); __ 3638 src/mips/stub-cache-mips.cc __ addu(t3, a3, t2); __ 3639 src/mips/stub-cache-mips.cc __ lbu(value, MemOperand(t3, 0)); __ 3642 src/mips/stub-cache-mips.cc __ addu(t3, a3, key); __ 3643 src/mips/stub-cache-mips.cc __ lh(value, MemOperand(t3, 0)); __ 3646 src/mips/stub-cache-mips.cc __ addu(t3, a3, key); __ 3647 src/mips/stub-cache-mips.cc __ lhu(value, MemOperand(t3, 0)); __ 3651 src/mips/stub-cache-mips.cc __ sll(t2, key, 1); __ 3652 src/mips/stub-cache-mips.cc __ addu(t3, a3, t2); __ 3653 src/mips/stub-cache-mips.cc __ lw(value, MemOperand(t3, 0)); __ 3656 src/mips/stub-cache-mips.cc __ sll(t3, t2, 2); __ 3657 src/mips/stub-cache-mips.cc __ addu(t3, a3, t3); __ 3660 src/mips/stub-cache-mips.cc __ lwc1(f0, MemOperand(t3, 0)); __ 3662 src/mips/stub-cache-mips.cc __ lw(value, MemOperand(t3, 0)); __ 3666 src/mips/stub-cache-mips.cc __ sll(t2, key, 2); __ 3667 src/mips/stub-cache-mips.cc __ addu(t3, a3, t2); __ 3670 src/mips/stub-cache-mips.cc __ ldc1(f0, MemOperand(t3, 0)); __ 3673 src/mips/stub-cache-mips.cc __ lw(a2, MemOperand(t3, 0)); __ 3674 src/mips/stub-cache-mips.cc __ lw(a3, MemOperand(t3, Register::kSizeInBytes)); __ 3703 src/mips/stub-cache-mips.cc __ Subu(t3, value, Operand(0xC0000000)); // Non-smi value gives neg result. __ 3704 src/mips/stub-cache-mips.cc __ Branch(&box_int, lt, t3, Operand(zero_reg)); __ 3706 src/mips/stub-cache-mips.cc __ sll(v0, value, kSmiTagSize); __ 3707 src/mips/stub-cache-mips.cc __ Ret(); __ 3709 src/mips/stub-cache-mips.cc __ bind(&box_int); __ 3714 src/mips/stub-cache-mips.cc __ LoadRoot(t1, Heap::kHeapNumberMapRootIndex); __ 3715 src/mips/stub-cache-mips.cc __ AllocateHeapNumber(v0, a3, t0, t1, &slow); __ 3719 src/mips/stub-cache-mips.cc __ mtc1(value, f0); __ 3720 src/mips/stub-cache-mips.cc __ cvt_d_w(f0, f0); __ 3721 src/mips/stub-cache-mips.cc __ sdc1(f0, FieldMemOperand(v0, HeapNumber::kValueOffset)); __ 3722 src/mips/stub-cache-mips.cc __ Ret(); __ 3736 src/mips/stub-cache-mips.cc __ sw(dst1, FieldMemOperand(v0, HeapNumber::kMantissaOffset)); __ 3737 src/mips/stub-cache-mips.cc __ sw(dst2, FieldMemOperand(v0, HeapNumber::kExponentOffset)); __ 3738 src/mips/stub-cache-mips.cc __ Ret(); __ 3747 src/mips/stub-cache-mips.cc __ And(t2, value, Operand(0xC0000000)); __ 3748 src/mips/stub-cache-mips.cc __ Branch(&pl_box_int, ne, t2, Operand(zero_reg)); __ 3752 src/mips/stub-cache-mips.cc __ sll(v0, value, kSmiTagSize); __ 3753 src/mips/stub-cache-mips.cc __ Ret(); __ 3755 src/mips/stub-cache-mips.cc __ bind(&pl_box_int); __ 3759 src/mips/stub-cache-mips.cc __ LoadRoot(t6, Heap::kHeapNumberMapRootIndex); __ 3760 src/mips/stub-cache-mips.cc __ AllocateHeapNumber(v0, t2, t3, t6, &slow); __ 3767 src/mips/stub-cache-mips.cc __ Cvt_d_uw(f0, value, f22); __ 3769 src/mips/stub-cache-mips.cc __ sdc1(f0, FieldMemOperand(v0, HeapNumber::kValueOffset)); __ 3771 src/mips/stub-cache-mips.cc __ Ret(); __ 3775 src/mips/stub-cache-mips.cc __ And(t2, value, Operand(0x80000000)); __ 3776 src/mips/stub-cache-mips.cc __ Branch(&box_int_0, ne, t2, Operand(zero_reg)); __ 3777 src/mips/stub-cache-mips.cc __ And(t2, value, Operand(0x40000000)); __ 3778 src/mips/stub-cache-mips.cc __ Branch(&box_int_1, ne, t2, Operand(zero_reg)); __ 3781 src/mips/stub-cache-mips.cc __ sll(v0, value, kSmiTagSize); __ 3782 src/mips/stub-cache-mips.cc __ Ret(); __ 3787 src/mips/stub-cache-mips.cc __ bind(&box_int_0); __ 3790 src/mips/stub-cache-mips.cc __ Branch(&done); __ 3792 src/mips/stub-cache-mips.cc __ bind(&box_int_1); __ 3797 src/mips/stub-cache-mips.cc __ bind(&done); __ 3802 src/mips/stub-cache-mips.cc __ LoadRoot(t6, Heap::kHeapNumberMapRootIndex); __ 3803 src/mips/stub-cache-mips.cc __ AllocateHeapNumber(t2, t3, t5, t6, &slow); __ 3805 src/mips/stub-cache-mips.cc __ sw(hiword, FieldMemOperand(t2, HeapNumber::kExponentOffset)); __ 3806 src/mips/stub-cache-mips.cc __ sw(loword, FieldMemOperand(t2, HeapNumber::kMantissaOffset)); __ 3808 src/mips/stub-cache-mips.cc __ mov(v0, t2); __ 3809 src/mips/stub-cache-mips.cc __ Ret(); __ 3819 src/mips/stub-cache-mips.cc __ LoadRoot(t6, Heap::kHeapNumberMapRootIndex); __ 3820 src/mips/stub-cache-mips.cc __ AllocateHeapNumber(v0, t3, t5, t6, &slow); __ 3822 src/mips/stub-cache-mips.cc __ cvt_d_s(f0, f0); __ 3823 src/mips/stub-cache-mips.cc __ sdc1(f0, FieldMemOperand(v0, HeapNumber::kValueOffset)); __ 3824 src/mips/stub-cache-mips.cc __ Ret(); __ 3829 src/mips/stub-cache-mips.cc __ LoadRoot(t6, Heap::kHeapNumberMapRootIndex); __ 3830 src/mips/stub-cache-mips.cc __ AllocateHeapNumber(v0, t3, t5, t6, &slow); __ 3837 src/mips/stub-cache-mips.cc __ And(t4, value, Operand(kBinary32MantissaMask)); __ 3840 src/mips/stub-cache-mips.cc __ srl(t5, value, kBinary32MantissaBits); __ 3841 src/mips/stub-cache-mips.cc __ And(t5, t5, Operand(kBinary32ExponentMask >> kBinary32MantissaBits)); __ 3844 src/mips/stub-cache-mips.cc __ Branch(&exponent_rebiased, eq, t5, Operand(zero_reg)); __ 3846 src/mips/stub-cache-mips.cc __ li(t0, 0x7ff); __ 3847 src/mips/stub-cache-mips.cc __ Xor(t1, t5, Operand(0xFF)); __ 3848 src/mips/stub-cache-mips.cc __ Movz(t5, t0, t1); // Set t5 to 0x7ff only if t5 is equal to 0xff. __ 3849 src/mips/stub-cache-mips.cc __ Branch(&exponent_rebiased, eq, t1, Operand(zero_reg)); __ 3852 src/mips/stub-cache-mips.cc __ Addu(t5, __ 3856 src/mips/stub-cache-mips.cc __ bind(&exponent_rebiased); __ 3857 src/mips/stub-cache-mips.cc __ And(a2, value, Operand(kBinary32SignMask)); __ 3859 src/mips/stub-cache-mips.cc __ sll(t0, t5, HeapNumber::kMantissaBitsInTopWord); __ 3860 src/mips/stub-cache-mips.cc __ or_(a2, a2, t0); __ 3869 src/mips/stub-cache-mips.cc __ srl(t0, t4, kMantissaShiftForHiWord); __ 3870 src/mips/stub-cache-mips.cc __ or_(a2, a2, t0); __ 3871 src/mips/stub-cache-mips.cc __ sll(a0, t4, kMantissaShiftForLoWord); __ 3873 src/mips/stub-cache-mips.cc __ sw(a2, FieldMemOperand(v0, HeapNumber::kExponentOffset)); __ 3874 src/mips/stub-cache-mips.cc __ sw(a0, FieldMemOperand(v0, HeapNumber::kMantissaOffset)); __ 3875 src/mips/stub-cache-mips.cc __ Ret(); __ 3884 src/mips/stub-cache-mips.cc __ LoadRoot(t6, Heap::kHeapNumberMapRootIndex); __ 3885 src/mips/stub-cache-mips.cc __ AllocateHeapNumber(v0, t3, t5, t6, &slow); __ 3887 src/mips/stub-cache-mips.cc __ sdc1(f0, FieldMemOperand(v0, HeapNumber::kValueOffset)); __ 3888 src/mips/stub-cache-mips.cc __ Ret(); __ 3893 src/mips/stub-cache-mips.cc __ LoadRoot(t6, Heap::kHeapNumberMapRootIndex); __ 3894 src/mips/stub-cache-mips.cc __ AllocateHeapNumber(v0, t3, t5, t6, &slow); __ 3896 src/mips/stub-cache-mips.cc __ sw(a2, FieldMemOperand(v0, HeapNumber::kMantissaOffset)); __ 3897 src/mips/stub-cache-mips.cc __ sw(a3, FieldMemOperand(v0, HeapNumber::kExponentOffset)); __ 3898 src/mips/stub-cache-mips.cc __ Ret(); __ 3903 src/mips/stub-cache-mips.cc __ sll(v0, value, kSmiTagSize); __ 3904 src/mips/stub-cache-mips.cc __ Ret(); __ 3908 src/mips/stub-cache-mips.cc __ bind(&slow); __ 3909 src/mips/stub-cache-mips.cc __ IncrementCounter( __ 3919 src/mips/stub-cache-mips.cc __ Push(a1, a0); __ 3921 src/mips/stub-cache-mips.cc __ TailCallRuntime(Runtime::kKeyedGetProperty, 2, 1); __ 3923 src/mips/stub-cache-mips.cc __ bind(&miss_force_generic); __ 3926 src/mips/stub-cache-mips.cc __ Jump(stub, RelocInfo::CODE_TARGET); __ 3954 src/mips/stub-cache-mips.cc __ lw(a3, FieldMemOperand(receiver, JSObject::kElementsOffset)); __ 3957 src/mips/stub-cache-mips.cc __ lw(t1, FieldMemOperand(a3, ExternalArray::kLengthOffset)); __ 3959 src/mips/stub-cache-mips.cc __ Branch(&miss_force_generic, Ugreater_equal, key, Operand(t1)); __ 3967 src/mips/stub-cache-mips.cc __ JumpIfNotSmi(value, &slow); __ 3969 src/mips/stub-cache-mips.cc __ JumpIfNotSmi(value, &check_heap_number); __ 3971 src/mips/stub-cache-mips.cc __ SmiUntag(t1, value); __ 3972 src/mips/stub-cache-mips.cc __ lw(a3, FieldMemOperand(a3, ExternalArray::kExternalPointerOffset)); __ 3982 src/mips/stub-cache-mips.cc __ li(v0, Operand(255)); __ 3984 src/mips/stub-cache-mips.cc __ Branch(&done, gt, t1, Operand(v0)); __ 3986 src/mips/stub-cache-mips.cc __ Branch(USE_DELAY_SLOT, &done, lt, t1, Operand(zero_reg)); __ 3987 src/mips/stub-cache-mips.cc __ mov(v0, zero_reg); // In delay slot. __ 3988 src/mips/stub-cache-mips.cc __ mov(v0, t1); // Value is in range 0..255. __ 3989 src/mips/stub-cache-mips.cc __ bind(&done); __ 3990 src/mips/stub-cache-mips.cc __ mov(t1, v0); __ 3992 src/mips/stub-cache-mips.cc __ srl(t8, key, 1); __ 3993 src/mips/stub-cache-mips.cc __ addu(t8, a3, t8); __ 3994 src/mips/stub-cache-mips.cc __ sb(t1, MemOperand(t8, 0)); __ 3999 src/mips/stub-cache-mips.cc __ srl(t8, key, 1); __ 4000 src/mips/stub-cache-mips.cc __ addu(t8, a3, t8); __ 4001 src/mips/stub-cache-mips.cc __ sb(t1, MemOperand(t8, 0)); __ 4005 src/mips/stub-cache-mips.cc __ addu(t8, a3, key); __ 4006 src/mips/stub-cache-mips.cc __ sh(t1, MemOperand(t8, 0)); __ 4010 src/mips/stub-cache-mips.cc __ sll(t8, key, 1); __ 4011 src/mips/stub-cache-mips.cc __ addu(t8, a3, t8); __ 4012 src/mips/stub-cache-mips.cc __ sw(t1, MemOperand(t8, 0)); __ 4016 src/mips/stub-cache-mips.cc __ SmiUntag(t0, key); __ 4020 src/mips/stub-cache-mips.cc __ sll(t8, key, 2); __ 4021 src/mips/stub-cache-mips.cc __ addu(a3, a3, t8); __ 4035 src/mips/stub-cache-mips.cc __ sdc1(f0, MemOperand(a3, 0)); __ 4037 src/mips/stub-cache-mips.cc __ sw(t2, MemOperand(a3, 0)); __ 4038 src/mips/stub-cache-mips.cc __ sw(t3, MemOperand(a3, Register::kSizeInBytes)); __ 4054 src/mips/stub-cache-mips.cc __ mov(v0, a0); __ 4055 src/mips/stub-cache-mips.cc __ Ret(); __ 4059 src/mips/stub-cache-mips.cc __ bind(&check_heap_number); __ 4060 src/mips/stub-cache-mips.cc __ GetObjectType(value, t1, t2); __ 4061 src/mips/stub-cache-mips.cc __ Branch(&slow, ne, t2, Operand(HEAP_NUMBER_TYPE)); __ 4063 src/mips/stub-cache-mips.cc __ lw(a3, FieldMemOperand(a3, ExternalArray::kExternalPointerOffset)); __ 4074 src/mips/stub-cache-mips.cc __ ldc1(f0, FieldMemOperand(a0, HeapNumber::kValueOffset)); __ 4077 src/mips/stub-cache-mips.cc __ cvt_s_d(f0, f0); __ 4078 src/mips/stub-cache-mips.cc __ sll(t8, key, 1); __ 4079 src/mips/stub-cache-mips.cc __ addu(t8, a3, t8); __ 4080 src/mips/stub-cache-mips.cc __ swc1(f0, MemOperand(t8, 0)); __ 4082 src/mips/stub-cache-mips.cc __ sll(t8, key, 2); __ 4083 src/mips/stub-cache-mips.cc __ addu(t8, a3, t8); __ 4084 src/mips/stub-cache-mips.cc __ sdc1(f0, MemOperand(t8, 0)); __ 4086 src/mips/stub-cache-mips.cc __ EmitECMATruncate(t3, f0, f2, t2, t1, t5); __ 4091 src/mips/stub-cache-mips.cc __ srl(t8, key, 1); __ 4092 src/mips/stub-cache-mips.cc __ addu(t8, a3, t8); __ 4093 src/mips/stub-cache-mips.cc __ sb(t3, MemOperand(t8, 0)); __ 4097 src/mips/stub-cache-mips.cc __ addu(t8, a3, key); __ 4098 src/mips/stub-cache-mips.cc __ sh(t3, MemOperand(t8, 0)); __ 4102 src/mips/stub-cache-mips.cc __ sll(t8, key, 1); __ 4103 src/mips/stub-cache-mips.cc __ addu(t8, a3, t8); __ 4104 src/mips/stub-cache-mips.cc __ sw(t3, MemOperand(t8, 0)); __ 4124 src/mips/stub-cache-mips.cc __ mov(v0, a0); __ 4125 src/mips/stub-cache-mips.cc __ Ret(); __ 4129 src/mips/stub-cache-mips.cc __ lw(t3, FieldMemOperand(value, HeapNumber::kExponentOffset)); __ 4130 src/mips/stub-cache-mips.cc __ lw(t4, FieldMemOperand(value, HeapNumber::kMantissaOffset)); __ 4142 src/mips/stub-cache-mips.cc __ li(t5, HeapNumber::kExponentMask); __ 4143 src/mips/stub-cache-mips.cc __ and_(t6, t3, t5); __ 4144 src/mips/stub-cache-mips.cc __ Branch(&nan_or_infinity_or_zero, eq, t6, Operand(zero_reg)); __ 4146 src/mips/stub-cache-mips.cc __ xor_(t1, t6, t5); __ 4147 src/mips/stub-cache-mips.cc __ li(t2, kBinary32ExponentMask); __ 4148 src/mips/stub-cache-mips.cc __ Movz(t6, t2, t1); // Only if t6 is equal to t5. __ 4149 src/mips/stub-cache-mips.cc __ Branch(&nan_or_infinity_or_zero, eq, t1, Operand(zero_reg)); __ 4152 src/mips/stub-cache-mips.cc __ srl(t6, t6, HeapNumber::kExponentShift); __ 4153 src/mips/stub-cache-mips.cc __ Addu(t6, __ 4157 src/mips/stub-cache-mips.cc __ li(t1, Operand(kBinary32MaxExponent)); __ 4158 src/mips/stub-cache-mips.cc __ Slt(t1, t1, t6); __ 4159 src/mips/stub-cache-mips.cc __ And(t2, t3, Operand(HeapNumber::kSignMask)); __ 4160 src/mips/stub-cache-mips.cc __ Or(t2, t2, Operand(kBinary32ExponentMask)); __ 4161 src/mips/stub-cache-mips.cc __ Movn(t3, t2, t1); // Only if t6 is gt kBinary32MaxExponent. __ 4162 src/mips/stub-cache-mips.cc __ Branch(&done, gt, t6, Operand(kBinary32MaxExponent)); __ 4164 src/mips/stub-cache-mips.cc __ Slt(t1, t6, Operand(kBinary32MinExponent)); __ 4165 src/mips/stub-cache-mips.cc __ And(t2, t3, Operand(HeapNumber::kSignMask)); __ 4166 src/mips/stub-cache-mips.cc __ Movn(t3, t2, t1); // Only if t6 is lt kBinary32MinExponent. __ 4167 src/mips/stub-cache-mips.cc __ Branch(&done, lt, t6, Operand(kBinary32MinExponent)); __ 4169 src/mips/stub-cache-mips.cc __ And(t7, t3, Operand(HeapNumber::kSignMask)); __ 4170 src/mips/stub-cache-mips.cc __ And(t3, t3, Operand(HeapNumber::kMantissaMask)); __ 4171 src/mips/stub-cache-mips.cc __ sll(t3, t3, kMantissaInHiWordShift); __ 4172 src/mips/stub-cache-mips.cc __ or_(t7, t7, t3); __ 4173 src/mips/stub-cache-mips.cc __ srl(t4, t4, kMantissaInLoWordShift); __ 4174 src/mips/stub-cache-mips.cc __ or_(t7, t7, t4); __ 4175 src/mips/stub-cache-mips.cc __ sll(t6, t6, kBinary32ExponentShift); __ 4176 src/mips/stub-cache-mips.cc __ or_(t3, t7, t6); __ 4178 src/mips/stub-cache-mips.cc __ bind(&done); __ 4179 src/mips/stub-cache-mips.cc __ sll(t9, key, 1); __ 4180 src/mips/stub-cache-mips.cc __ addu(t9, a3, t9); __ 4181 src/mips/stub-cache-mips.cc __ sw(t3, MemOperand(t9, 0)); __ 4185 src/mips/stub-cache-mips.cc __ mov(v0, a0); __ 4186 src/mips/stub-cache-mips.cc __ Ret(); __ 4188 src/mips/stub-cache-mips.cc __ bind(&nan_or_infinity_or_zero); __ 4189 src/mips/stub-cache-mips.cc __ And(t7, t3, Operand(HeapNumber::kSignMask)); __ 4190 src/mips/stub-cache-mips.cc __ And(t3, t3, Operand(HeapNumber::kMantissaMask)); __ 4191 src/mips/stub-cache-mips.cc __ or_(t6, t6, t7); __ 4192 src/mips/stub-cache-mips.cc __ sll(t3, t3, kMantissaInHiWordShift); __ 4193 src/mips/stub-cache-mips.cc __ or_(t6, t6, t3); __ 4194 src/mips/stub-cache-mips.cc __ srl(t4, t4, kMantissaInLoWordShift); __ 4195 src/mips/stub-cache-mips.cc __ or_(t3, t6, t4); __ 4196 src/mips/stub-cache-mips.cc __ Branch(&done); __ 4198 src/mips/stub-cache-mips.cc __ sll(t8, key, 2); __ 4199 src/mips/stub-cache-mips.cc __ addu(t8, a3, t8); __ 4201 src/mips/stub-cache-mips.cc __ sw(t4, MemOperand(t8, 0)); __ 4202 src/mips/stub-cache-mips.cc __ sw(t3, MemOperand(t8, Register::kSizeInBytes)); __ 4203 src/mips/stub-cache-mips.cc __ mov(v0, a0); __ 4204 src/mips/stub-cache-mips.cc __ Ret(); __ 4214 src/mips/stub-cache-mips.cc __ li(t5, HeapNumber::kExponentMask); __ 4215 src/mips/stub-cache-mips.cc __ and_(t6, t3, t5); __ 4216 src/mips/stub-cache-mips.cc __ Movz(t3, zero_reg, t6); // Only if t6 is equal to zero. __ 4217 src/mips/stub-cache-mips.cc __ Branch(&done, eq, t6, Operand(zero_reg)); __ 4219 src/mips/stub-cache-mips.cc __ xor_(t2, t6, t5); __ 4220 src/mips/stub-cache-mips.cc __ Movz(t3, zero_reg, t2); // Only if t6 is equal to t5. __ 4221 src/mips/stub-cache-mips.cc __ Branch(&done, eq, t6, Operand(t5)); __ 4224 src/mips/stub-cache-mips.cc __ srl(t6, t6, HeapNumber::kExponentShift); __ 4225 src/mips/stub-cache-mips.cc __ Subu(t6, t6, Operand(HeapNumber::kExponentBias)); __ 4227 src/mips/stub-cache-mips.cc __ slt(t2, t6, zero_reg); __ 4228 src/mips/stub-cache-mips.cc __ Movn(t3, zero_reg, t2); // Only if exponent is negative. __ 4229 src/mips/stub-cache-mips.cc __ Branch(&done, lt, t6, Operand(zero_reg)); __ 4232 src/mips/stub-cache-mips.cc __ slti(t1, t6, meaningfull_bits - 1); __ 4233 src/mips/stub-cache-mips.cc __ li(t2, min_value); __ 4234 src/mips/stub-cache-mips.cc __ Movz(t3, t2, t1); // Only if t6 is ge meaningfull_bits - 1. __ 4235 src/mips/stub-cache-mips.cc __ Branch(&done, ge, t6, Operand(meaningfull_bits - 1)); __ 4237 src/mips/stub-cache-mips.cc __ And(t5, t3, Operand(HeapNumber::kSignMask)); __ 4238 src/mips/stub-cache-mips.cc __ And(t3, t3, Operand(HeapNumber::kMantissaMask)); __ 4239 src/mips/stub-cache-mips.cc __ Or(t3, t3, Operand(1u << HeapNumber::kMantissaBitsInTopWord)); __ 4241 src/mips/stub-cache-mips.cc __ li(t9, HeapNumber::kMantissaBitsInTopWord); __ 4242 src/mips/stub-cache-mips.cc __ subu(t6, t9, t6); __ 4243 src/mips/stub-cache-mips.cc __ slt(t1, t6, zero_reg); __ 4244 src/mips/stub-cache-mips.cc __ srlv(t2, t3, t6); __ 4245 src/mips/stub-cache-mips.cc __ Movz(t3, t2, t1); // Only if t6 is positive. __ 4246 src/mips/stub-cache-mips.cc __ Branch(&sign, ge, t6, Operand(zero_reg)); __ 4248 src/mips/stub-cache-mips.cc __ subu(t6, zero_reg, t6); __ 4249 src/mips/stub-cache-mips.cc __ sllv(t3, t3, t6); __ 4250 src/mips/stub-cache-mips.cc __ li(t9, meaningfull_bits); __ 4251 src/mips/stub-cache-mips.cc __ subu(t6, t9, t6); __ 4252 src/mips/stub-cache-mips.cc __ srlv(t4, t4, t6); __ 4253 src/mips/stub-cache-mips.cc __ or_(t3, t3, t4); __ 4255 src/mips/stub-cache-mips.cc __ bind(&sign); __ 4256 src/mips/stub-cache-mips.cc __ subu(t2, t3, zero_reg); __ 4257 src/mips/stub-cache-mips.cc __ Movz(t3, t2, t5); // Only if t5 is zero. __ 4259 src/mips/stub-cache-mips.cc __ bind(&done); __ 4266 src/mips/stub-cache-mips.cc __ srl(t8, key, 1); __ 4267 src/mips/stub-cache-mips.cc __ addu(t8, a3, t8); __ 4268 src/mips/stub-cache-mips.cc __ sb(t3, MemOperand(t8, 0)); __ 4272 src/mips/stub-cache-mips.cc __ addu(t8, a3, key); __ 4273 src/mips/stub-cache-mips.cc __ sh(t3, MemOperand(t8, 0)); __ 4277 src/mips/stub-cache-mips.cc __ sll(t8, key, 1); __ 4278 src/mips/stub-cache-mips.cc __ addu(t8, a3, t8); __ 4279 src/mips/stub-cache-mips.cc __ sw(t3, MemOperand(t8, 0)); __ 4300 src/mips/stub-cache-mips.cc __ bind(&slow); __ 4301 src/mips/stub-cache-mips.cc __ IncrementCounter( __ 4312 src/mips/stub-cache-mips.cc __ Jump(slow_ic, RelocInfo::CODE_TARGET); __ 4315 src/mips/stub-cache-mips.cc __ bind(&miss_force_generic); __ 4325 src/mips/stub-cache-mips.cc __ Jump(miss_ic, RelocInfo::CODE_TARGET); __ 4344 src/mips/stub-cache-mips.cc __ lw(a2, FieldMemOperand(a1, JSObject::kElementsOffset)); __ 4345 src/mips/stub-cache-mips.cc __ AssertFastElements(a2); __ 4348 src/mips/stub-cache-mips.cc __ lw(a3, FieldMemOperand(a2, FixedArray::kLengthOffset)); __ 4349 src/mips/stub-cache-mips.cc __ Branch(USE_DELAY_SLOT, &miss_force_generic, hs, a0, Operand(a3)); __ 4352 src/mips/stub-cache-mips.cc __ Addu(a3, a2, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); __ 4354 src/mips/stub-cache-mips.cc __ sll(t0, a0, kPointerSizeLog2 - kSmiTagSize); __ 4355 src/mips/stub-cache-mips.cc __ Addu(t0, t0, a3); __ 4356 src/mips/stub-cache-mips.cc __ lw(t0, MemOperand(t0)); __ 4357 src/mips/stub-cache-mips.cc __ LoadRoot(t1, Heap::kTheHoleValueRootIndex); __ 4358 src/mips/stub-cache-mips.cc __ Branch(&miss_force_generic, eq, t0, Operand(t1)); __ 4359 src/mips/stub-cache-mips.cc __ Ret(USE_DELAY_SLOT); __ 4360 src/mips/stub-cache-mips.cc __ mov(v0, t0); __ 4362 src/mips/stub-cache-mips.cc __ bind(&miss_force_generic); __ 4365 src/mips/stub-cache-mips.cc __ Jump(stub, RelocInfo::CODE_TARGET); __ 4395 src/mips/stub-cache-mips.cc __ lw(elements_reg, __ 4399 src/mips/stub-cache-mips.cc __ lw(scratch, FieldMemOperand(elements_reg, FixedArray::kLengthOffset)); __ 4400 src/mips/stub-cache-mips.cc __ Branch(&miss_force_generic, hs, key_reg, Operand(scratch)); __ 4403 src/mips/stub-cache-mips.cc __ sll(scratch2, key_reg, kDoubleSizeLog2 - kSmiTagSize); __ 4404 src/mips/stub-cache-mips.cc __ Addu(indexed_double_offset, elements_reg, Operand(scratch2)); __ 4406 src/mips/stub-cache-mips.cc __ lw(scratch, FieldMemOperand(indexed_double_offset, upper_32_offset)); __ 4407 src/mips/stub-cache-mips.cc __ Branch(&miss_force_generic, eq, scratch, Operand(kHoleNanUpper32)); __ 4410 src/mips/stub-cache-mips.cc __ LoadRoot(heap_number_map, Heap::kHeapNumberMapRootIndex); __ 4411 src/mips/stub-cache-mips.cc __ AllocateHeapNumber(heap_number_reg, scratch2, scratch3, __ 4416 src/mips/stub-cache-mips.cc __ sw(scratch, FieldMemOperand(heap_number_reg, __ 4418 src/mips/stub-cache-mips.cc __ lw(scratch, FieldMemOperand(indexed_double_offset, __ 4420 src/mips/stub-cache-mips.cc __ sw(scratch, FieldMemOperand(heap_number_reg, __ 4423 src/mips/stub-cache-mips.cc __ mov(v0, heap_number_reg); __ 4424 src/mips/stub-cache-mips.cc __ Ret(); __ 4426 src/mips/stub-cache-mips.cc __ bind(&slow_allocate_heapnumber); __ 4429 src/mips/stub-cache-mips.cc __ Jump(slow_ic, RelocInfo::CODE_TARGET); __ 4431 src/mips/stub-cache-mips.cc __ bind(&miss_force_generic); __ 4434 src/mips/stub-cache-mips.cc __ Jump(miss_ic, RelocInfo::CODE_TARGET); __ 4469 src/mips/stub-cache-mips.cc __ JumpIfNotSmi(value_reg, &transition_elements_kind); __ 4473 src/mips/stub-cache-mips.cc __ lw(elements_reg, __ 4476 src/mips/stub-cache-mips.cc __ lw(scratch, FieldMemOperand(receiver_reg, JSArray::kLengthOffset)); __ 4478 src/mips/stub-cache-mips.cc __ lw(scratch, FieldMemOperand(elements_reg, FixedArray::kLengthOffset)); __ 4482 src/mips/stub-cache-mips.cc __ Branch(&grow, hs, key_reg, Operand(scratch)); __ 4484 src/mips/stub-cache-mips.cc __ Branch(&miss_force_generic, hs, key_reg, Operand(scratch)); __ 4488 src/mips/stub-cache-mips.cc __ CheckMap(elements_reg, __ 4494 src/mips/stub-cache-mips.cc __ bind(&finish_store); __ 4497 src/mips/stub-cache-mips.cc __ Addu(scratch, __ 4501 src/mips/stub-cache-mips.cc __ sll(scratch2, key_reg, kPointerSizeLog2 - kSmiTagSize); __ 4502 src/mips/stub-cache-mips.cc __ Addu(scratch, scratch, scratch2); __ 4503 src/mips/stub-cache-mips.cc __ sw(value_reg, MemOperand(scratch)); __ 4506 src/mips/stub-cache-mips.cc __ Addu(scratch, __ 4510 src/mips/stub-cache-mips.cc __ sll(scratch2, key_reg, kPointerSizeLog2 - kSmiTagSize); __ 4511 src/mips/stub-cache-mips.cc __ Addu(scratch, scratch, scratch2); __ 4512 src/mips/stub-cache-mips.cc __ sw(value_reg, MemOperand(scratch)); __ 4513 src/mips/stub-cache-mips.cc __ mov(receiver_reg, value_reg); __ 4514 src/mips/stub-cache-mips.cc __ RecordWrite(elements_reg, // Object. __ 4522 src/mips/stub-cache-mips.cc __ Ret(); __ 4524 src/mips/stub-cache-mips.cc __ bind(&miss_force_generic); __ 4527 src/mips/stub-cache-mips.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 4529 src/mips/stub-cache-mips.cc __ bind(&transition_elements_kind); __ 4531 src/mips/stub-cache-mips.cc __ Jump(ic_miss, RelocInfo::CODE_TARGET); __ 4535 src/mips/stub-cache-mips.cc __ bind(&grow); __ 4539 src/mips/stub-cache-mips.cc __ Branch(&miss_force_generic, ne, key_reg, Operand(scratch)); __ 4543 src/mips/stub-cache-mips.cc __ lw(length_reg, __ 4545 src/mips/stub-cache-mips.cc __ lw(elements_reg, __ 4547 src/mips/stub-cache-mips.cc __ LoadRoot(at, Heap::kEmptyFixedArrayRootIndex); __ 4548 src/mips/stub-cache-mips.cc __ Branch(&check_capacity, ne, elements_reg, Operand(at)); __ 4551 src/mips/stub-cache-mips.cc __ AllocateInNewSpace(size, elements_reg, scratch, scratch2, &slow, __ 4554 src/mips/stub-cache-mips.cc __ LoadRoot(scratch, Heap::kFixedArrayMapRootIndex); __ 4555 src/mips/stub-cache-mips.cc __ sw(scratch, FieldMemOperand(elements_reg, JSObject::kMapOffset)); __ 4556 src/mips/stub-cache-mips.cc __ li(scratch, Operand(Smi::FromInt(JSArray::kPreallocatedArrayElements))); __ 4557 src/mips/stub-cache-mips.cc __ sw(scratch, FieldMemOperand(elements_reg, FixedArray::kLengthOffset)); __ 4558 src/mips/stub-cache-mips.cc __ LoadRoot(scratch, Heap::kTheHoleValueRootIndex); __ 4560 src/mips/stub-cache-mips.cc __ sw(scratch, FieldMemOperand(elements_reg, FixedArray::SizeFor(i))); __ 4564 src/mips/stub-cache-mips.cc __ sw(value_reg, FieldMemOperand(elements_reg, FixedArray::SizeFor(0))); __ 4567 src/mips/stub-cache-mips.cc __ sw(elements_reg, __ 4569 src/mips/stub-cache-mips.cc __ RecordWriteField(receiver_reg, JSObject::kElementsOffset, elements_reg, __ 4574 src/mips/stub-cache-mips.cc __ li(length_reg, Operand(Smi::FromInt(1))); __ 4575 src/mips/stub-cache-mips.cc __ sw(length_reg, FieldMemOperand(receiver_reg, JSArray::kLengthOffset)); __ 4576 src/mips/stub-cache-mips.cc __ Ret(); __ 4578 src/mips/stub-cache-mips.cc __ bind(&check_capacity); __ 4580 src/mips/stub-cache-mips.cc __ CheckMap(elements_reg, __ 4586 src/mips/stub-cache-mips.cc __ lw(scratch, FieldMemOperand(elements_reg, FixedArray::kLengthOffset)); __ 4587 src/mips/stub-cache-mips.cc __ Branch(&slow, hs, length_reg, Operand(scratch)); __ 4590 src/mips/stub-cache-mips.cc __ Addu(length_reg, length_reg, Operand(Smi::FromInt(1))); __ 4591 src/mips/stub-cache-mips.cc __ sw(length_reg, FieldMemOperand(receiver_reg, JSArray::kLengthOffset)); __ 4592 src/mips/stub-cache-mips.cc __ jmp(&finish_store); __ 4594 src/mips/stub-cache-mips.cc __ bind(&slow); __ 4596 src/mips/stub-cache-mips.cc __ Jump(ic_slow, RelocInfo::CODE_TARGET); __ 4635 src/mips/stub-cache-mips.cc __ lw(elements_reg, __ 4640 src/mips/stub-cache-mips.cc __ lw(scratch1, FieldMemOperand(receiver_reg, JSArray::kLengthOffset)); __ 4642 src/mips/stub-cache-mips.cc __ lw(scratch1, __ 4648 src/mips/stub-cache-mips.cc __ Branch(&grow, hs, key_reg, Operand(scratch1)); __ 4650 src/mips/stub-cache-mips.cc __ Branch(&miss_force_generic, hs, key_reg, Operand(scratch1)); __ 4653 src/mips/stub-cache-mips.cc __ bind(&finish_store); __ 4655 src/mips/stub-cache-mips.cc __ StoreNumberToDoubleElements(value_reg, __ 4665 src/mips/stub-cache-mips.cc __ Ret(USE_DELAY_SLOT); __ 4666 src/mips/stub-cache-mips.cc __ mov(v0, value_reg); // In delay slot. __ 4669 src/mips/stub-cache-mips.cc __ bind(&miss_force_generic); __ 4672 src/mips/stub-cache-mips.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 4674 src/mips/stub-cache-mips.cc __ bind(&transition_elements_kind); __ 4676 src/mips/stub-cache-mips.cc __ Jump(ic_miss, RelocInfo::CODE_TARGET); __ 4680 src/mips/stub-cache-mips.cc __ bind(&grow); __ 4684 src/mips/stub-cache-mips.cc __ Branch(&miss_force_generic, ne, key_reg, Operand(scratch1)); __ 4688 src/mips/stub-cache-mips.cc __ JumpIfSmi(value_reg, &value_is_smi); __ 4689 src/mips/stub-cache-mips.cc __ lw(scratch1, FieldMemOperand(value_reg, HeapObject::kMapOffset)); __ 4690 src/mips/stub-cache-mips.cc __ LoadRoot(at, Heap::kHeapNumberMapRootIndex); __ 4691 src/mips/stub-cache-mips.cc __ Branch(&transition_elements_kind, ne, scratch1, Operand(at)); __ 4692 src/mips/stub-cache-mips.cc __ bind(&value_is_smi); __ 4696 src/mips/stub-cache-mips.cc __ lw(length_reg, __ 4698 src/mips/stub-cache-mips.cc __ lw(elements_reg, __ 4700 src/mips/stub-cache-mips.cc __ LoadRoot(at, Heap::kEmptyFixedArrayRootIndex); __ 4701 src/mips/stub-cache-mips.cc __ Branch(&check_capacity, ne, elements_reg, Operand(at)); __ 4704 src/mips/stub-cache-mips.cc __ AllocateInNewSpace(size, elements_reg, scratch1, scratch2, &slow, __ 4709 src/mips/stub-cache-mips.cc __ LoadRoot(scratch1, Heap::kFixedDoubleArrayMapRootIndex); __ 4710 src/mips/stub-cache-mips.cc __ sw(scratch1, FieldMemOperand(elements_reg, JSObject::kMapOffset)); __ 4711 src/mips/stub-cache-mips.cc __ li(scratch1, Operand(Smi::FromInt(JSArray::kPreallocatedArrayElements))); __ 4712 src/mips/stub-cache-mips.cc __ sw(scratch1, __ 4716 src/mips/stub-cache-mips.cc __ sw(elements_reg, __ 4718 src/mips/stub-cache-mips.cc __ RecordWriteField(receiver_reg, JSObject::kElementsOffset, elements_reg, __ 4723 src/mips/stub-cache-mips.cc __ li(length_reg, Operand(Smi::FromInt(1))); __ 4724 src/mips/stub-cache-mips.cc __ sw(length_reg, FieldMemOperand(receiver_reg, JSArray::kLengthOffset)); __ 4725 src/mips/stub-cache-mips.cc __ lw(elements_reg, __ 4727 src/mips/stub-cache-mips.cc __ jmp(&finish_store); __ 4729 src/mips/stub-cache-mips.cc __ bind(&check_capacity); __ 4731 src/mips/stub-cache-mips.cc __ lw(scratch1, __ 4733 src/mips/stub-cache-mips.cc __ Branch(&slow, hs, length_reg, Operand(scratch1)); __ 4736 src/mips/stub-cache-mips.cc __ Addu(length_reg, length_reg, Operand(Smi::FromInt(1))); __ 4737 src/mips/stub-cache-mips.cc __ sw(length_reg, FieldMemOperand(receiver_reg, JSArray::kLengthOffset)); __ 4738 src/mips/stub-cache-mips.cc __ jmp(&finish_store); __ 4740 src/mips/stub-cache-mips.cc __ bind(&slow); __ 4742 src/mips/stub-cache-mips.cc __ Jump(ic_slow, RelocInfo::CODE_TARGET); __ 76 src/x64/assembler-x64.cc __ push(rbp); __ 77 src/x64/assembler-x64.cc __ pushfq(); __ 78 src/x64/assembler-x64.cc __ push(rcx); __ 79 src/x64/assembler-x64.cc __ push(rbx); __ 80 src/x64/assembler-x64.cc __ movq(rbp, rsp); __ 83 src/x64/assembler-x64.cc __ pushfq(); __ 84 src/x64/assembler-x64.cc __ pop(rax); __ 85 src/x64/assembler-x64.cc __ movq(rdx, rax); __ 86 src/x64/assembler-x64.cc __ xor_(rax, Immediate(0x200000)); // Flip bit 21. __ 87 src/x64/assembler-x64.cc __ push(rax); __ 88 src/x64/assembler-x64.cc __ popfq(); __ 89 src/x64/assembler-x64.cc __ pushfq(); __ 90 src/x64/assembler-x64.cc __ pop(rax); __ 91 src/x64/assembler-x64.cc __ xor_(rax, rdx); // Different if CPUID is supported. __ 92 src/x64/assembler-x64.cc __ j(not_zero, &cpuid); __ 95 src/x64/assembler-x64.cc __ xor_(rax, rax); __ 96 src/x64/assembler-x64.cc __ jmp(&done); __ 101 src/x64/assembler-x64.cc __ bind(&cpuid); __ 102 src/x64/assembler-x64.cc __ movl(rax, Immediate(1)); __ 105 src/x64/assembler-x64.cc __ cpuid(); __ 107 src/x64/assembler-x64.cc __ movl(rdi, rdx); // Zero-extended to 64 bits. __ 108 src/x64/assembler-x64.cc __ shl(rcx, Immediate(32)); __ 109 src/x64/assembler-x64.cc __ or_(rdi, rcx); __ 112 src/x64/assembler-x64.cc __ movq(rax, 0x80000001, RelocInfo::NONE); __ 113 src/x64/assembler-x64.cc __ cpuid(); __ 119 src/x64/assembler-x64.cc __ movl(rax, Immediate(1)); __ 120 src/x64/assembler-x64.cc __ and_(rcx, rax); // Bit 0 is set if SAHF instruction supported. __ 121 src/x64/assembler-x64.cc __ not_(rax); __ 122 src/x64/assembler-x64.cc __ and_(rax, rdi); __ 123 src/x64/assembler-x64.cc __ or_(rax, rcx); __ 124 src/x64/assembler-x64.cc __ or_(rax, Immediate(1 << CPUID)); __ 127 src/x64/assembler-x64.cc __ bind(&done); __ 128 src/x64/assembler-x64.cc __ movq(rsp, rbp); __ 129 src/x64/assembler-x64.cc __ pop(rbx); __ 130 src/x64/assembler-x64.cc __ pop(rcx); __ 131 src/x64/assembler-x64.cc __ popfq(); __ 132 src/x64/assembler-x64.cc __ pop(rbp); __ 133 src/x64/assembler-x64.cc __ ret(0); __ 62 src/x64/builtins-x64.cc __ pop(kScratchRegister); // Save return address. __ 63 src/x64/builtins-x64.cc __ push(rdi); __ 64 src/x64/builtins-x64.cc __ push(kScratchRegister); // Restore return address. __ 71 src/x64/builtins-x64.cc __ addq(rax, Immediate(num_extra_args + 1)); __ 72 src/x64/builtins-x64.cc __ JumpToExternalReference(ExternalReference(id, masm->isolate()), 1); __ 92 src/x64/builtins-x64.cc __ Integer32ToSmi(rax, rax); __ 93 src/x64/builtins-x64.cc __ push(rax); __ 96 src/x64/builtins-x64.cc __ push(rdi); __ 107 src/x64/builtins-x64.cc __ movq(kScratchRegister, debug_step_in_fp); __ 108 src/x64/builtins-x64.cc __ cmpq(Operand(kScratchRegister, 0), Immediate(0)); __ 109 src/x64/builtins-x64.cc __ j(not_equal, &rt_call); __ 115 src/x64/builtins-x64.cc __ movq(rax, FieldOperand(rdi, JSFunction::kPrototypeOrInitialMapOffset)); __ 118 src/x64/builtins-x64.cc __ JumpIfSmi(rax, &rt_call); __ 121 src/x64/builtins-x64.cc __ CmpObjectType(rax, MAP_TYPE, rbx); __ 122 src/x64/builtins-x64.cc __ j(not_equal, &rt_call); __ 129 src/x64/builtins-x64.cc __ CmpInstanceType(rax, JS_FUNCTION_TYPE); __ 130 src/x64/builtins-x64.cc __ j(equal, &rt_call); __ 135 src/x64/builtins-x64.cc __ movq(rcx, FieldOperand(rdi, JSFunction::kSharedFunctionInfoOffset)); __ 136 src/x64/builtins-x64.cc __ decb(FieldOperand(rcx, __ 138 src/x64/builtins-x64.cc __ j(not_zero, &allocate); __ 140 src/x64/builtins-x64.cc __ push(rax); __ 141 src/x64/builtins-x64.cc __ push(rdi); __ 143 src/x64/builtins-x64.cc __ push(rdi); // constructor __ 145 src/x64/builtins-x64.cc __ CallRuntime(Runtime::kFinalizeInstanceSize, 1); __ 147 src/x64/builtins-x64.cc __ pop(rdi); __ 148 src/x64/builtins-x64.cc __ pop(rax); __ 150 src/x64/builtins-x64.cc __ bind(&allocate); __ 154 src/x64/builtins-x64.cc __ movzxbq(rdi, FieldOperand(rax, Map::kInstanceSizeOffset)); __ 155 src/x64/builtins-x64.cc __ shl(rdi, Immediate(kPointerSizeLog2)); __ 157 src/x64/builtins-x64.cc __ AllocateInNewSpace(rdi, __ 167 src/x64/builtins-x64.cc __ movq(Operand(rbx, JSObject::kMapOffset), rax); __ 168 src/x64/builtins-x64.cc __ LoadRoot(rcx, Heap::kEmptyFixedArrayRootIndex); __ 169 src/x64/builtins-x64.cc __ movq(Operand(rbx, JSObject::kPropertiesOffset), rcx); __ 170 src/x64/builtins-x64.cc __ movq(Operand(rbx, JSObject::kElementsOffset), rcx); __ 175 src/x64/builtins-x64.cc __ lea(rcx, Operand(rbx, JSObject::kHeaderSize)); __ 176 src/x64/builtins-x64.cc __ LoadRoot(rdx, Heap::kUndefinedValueRootIndex); __ 178 src/x64/builtins-x64.cc __ movzxbq(rsi, __ 180 src/x64/builtins-x64.cc __ lea(rsi, __ 184 src/x64/builtins-x64.cc __ cmpq(rsi, rdi); __ 185 src/x64/builtins-x64.cc __ Assert(less_equal, __ 188 src/x64/builtins-x64.cc __ InitializeFieldsWithFiller(rcx, rsi, rdx); __ 189 src/x64/builtins-x64.cc __ LoadRoot(rdx, Heap::kOnePointerFillerMapRootIndex); __ 191 src/x64/builtins-x64.cc __ InitializeFieldsWithFiller(rcx, rdi, rdx); __ 200 src/x64/builtins-x64.cc __ or_(rbx, Immediate(kHeapObjectTag)); __ 208 src/x64/builtins-x64.cc __ movzxbq(rdx, FieldOperand(rax, Map::kUnusedPropertyFieldsOffset)); __ 209 src/x64/builtins-x64.cc __ movzxbq(rcx, __ 211 src/x64/builtins-x64.cc __ addq(rdx, rcx); __ 213 src/x64/builtins-x64.cc __ movzxbq(rcx, FieldOperand(rax, Map::kInObjectPropertiesOffset)); __ 214 src/x64/builtins-x64.cc __ subq(rdx, rcx); __ 216 src/x64/builtins-x64.cc __ j(zero, &allocated); __ 217 src/x64/builtins-x64.cc __ Assert(positive, "Property allocation count failed."); __ 224 src/x64/builtins-x64.cc __ AllocateInNewSpace(FixedArray::kHeaderSize, __ 238 src/x64/builtins-x64.cc __ LoadRoot(rcx, Heap::kFixedArrayMapRootIndex); __ 239 src/x64/builtins-x64.cc __ movq(Operand(rdi, HeapObject::kMapOffset), rcx); // setup the map __ 240 src/x64/builtins-x64.cc __ Integer32ToSmi(rdx, rdx); __ 241 src/x64/builtins-x64.cc __ movq(Operand(rdi, FixedArray::kLengthOffset), rdx); // and length __ 249 src/x64/builtins-x64.cc __ LoadRoot(rdx, Heap::kUndefinedValueRootIndex); __ 250 src/x64/builtins-x64.cc __ lea(rcx, Operand(rdi, FixedArray::kHeaderSize)); __ 251 src/x64/builtins-x64.cc __ jmp(&entry); __ 252 src/x64/builtins-x64.cc __ bind(&loop); __ 253 src/x64/builtins-x64.cc __ movq(Operand(rcx, 0), rdx); __ 254 src/x64/builtins-x64.cc __ addq(rcx, Immediate(kPointerSize)); __ 255 src/x64/builtins-x64.cc __ bind(&entry); __ 256 src/x64/builtins-x64.cc __ cmpq(rcx, rax); __ 257 src/x64/builtins-x64.cc __ j(below, &loop); __ 264 src/x64/builtins-x64.cc __ or_(rdi, Immediate(kHeapObjectTag)); // add the heap tag __ 265 src/x64/builtins-x64.cc __ movq(FieldOperand(rbx, JSObject::kPropertiesOffset), rdi); __ 270 src/x64/builtins-x64.cc __ jmp(&allocated); __ 276 src/x64/builtins-x64.cc __ bind(&undo_allocation); __ 277 src/x64/builtins-x64.cc __ UndoAllocationInNewSpace(rbx); __ 282 src/x64/builtins-x64.cc __ bind(&rt_call); __ 284 src/x64/builtins-x64.cc __ movq(rdi, Operand(rsp, 0)); __ 285 src/x64/builtins-x64.cc __ push(rdi); __ 286 src/x64/builtins-x64.cc __ CallRuntime(Runtime::kNewObject, 1); __ 287 src/x64/builtins-x64.cc __ movq(rbx, rax); // store result in rbx __ 291 src/x64/builtins-x64.cc __ bind(&allocated); __ 293 src/x64/builtins-x64.cc __ pop(rdi); __ 296 src/x64/builtins-x64.cc __ movq(rax, Operand(rsp, 0)); __ 297 src/x64/builtins-x64.cc __ SmiToInteger32(rax, rax); __ 302 src/x64/builtins-x64.cc __ push(rbx); __ 303 src/x64/builtins-x64.cc __ push(rbx); __ 306 src/x64/builtins-x64.cc __ lea(rbx, Operand(rbp, StandardFrameConstants::kCallerSPOffset)); __ 310 src/x64/builtins-x64.cc __ movq(rcx, rax); __ 311 src/x64/builtins-x64.cc __ jmp(&entry); __ 312 src/x64/builtins-x64.cc __ bind(&loop); __ 313 src/x64/builtins-x64.cc __ push(Operand(rbx, rcx, times_pointer_size, 0)); __ 314 src/x64/builtins-x64.cc __ bind(&entry); __ 315 src/x64/builtins-x64.cc __ decq(rcx); __ 316 src/x64/builtins-x64.cc __ j(greater_equal, &loop); __ 320 src/x64/builtins-x64.cc __ movq(rsi, FieldOperand(rdi, JSFunction::kContextOffset)); __ 324 src/x64/builtins-x64.cc __ InvokeCode(code, expected, expected, RelocInfo::CODE_TARGET, __ 328 src/x64/builtins-x64.cc __ InvokeFunction(rdi, actual, CALL_FUNCTION, __ 338 src/x64/builtins-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 345 src/x64/builtins-x64.cc __ JumpIfSmi(rax, &use_receiver); __ 350 src/x64/builtins-x64.cc __ CmpObjectType(rax, FIRST_SPEC_OBJECT_TYPE, rcx); __ 351 src/x64/builtins-x64.cc __ j(above_equal, &exit); __ 355 src/x64/builtins-x64.cc __ bind(&use_receiver); __ 356 src/x64/builtins-x64.cc __ movq(rax, Operand(rsp, 0)); __ 359 src/x64/builtins-x64.cc __ bind(&exit); __ 360 src/x64/builtins-x64.cc __ movq(rbx, Operand(rsp, kPointerSize)); // Get arguments count. __ 366 src/x64/builtins-x64.cc __ pop(rcx); __ 368 src/x64/builtins-x64.cc __ lea(rsp, Operand(rsp, index.reg, index.scale, 1 * kPointerSize)); __ 369 src/x64/builtins-x64.cc __ push(rcx); __ 371 src/x64/builtins-x64.cc __ IncrementCounter(counters->constructed_objects(), 1); __ 372 src/x64/builtins-x64.cc __ ret(0); __ 417 src/x64/builtins-x64.cc __ Set(rsi, 0); __ 422 src/x64/builtins-x64.cc __ movq(rsi, FieldOperand(rdx, JSFunction::kContextOffset)); __ 425 src/x64/builtins-x64.cc __ push(rdx); __ 426 src/x64/builtins-x64.cc __ push(r8); __ 429 src/x64/builtins-x64.cc __ movq(rax, r9); __ 431 src/x64/builtins-x64.cc __ movq(kScratchRegister, Operand(rbp, 0)); __ 432 src/x64/builtins-x64.cc __ movq(rbx, Operand(kScratchRegister, EntryFrameConstants::kArgvOffset)); __ 434 src/x64/builtins-x64.cc __ movq(rdi, rdx); __ 443 src/x64/builtins-x64.cc __ movq(rdi, rsi); __ 447 src/x64/builtins-x64.cc __ Set(rsi, 0); __ 452 src/x64/builtins-x64.cc __ push(rdi); __ 453 src/x64/builtins-x64.cc __ push(rdx); __ 454 src/x64/builtins-x64.cc __ movq(rsi, FieldOperand(rdi, JSFunction::kContextOffset)); __ 457 src/x64/builtins-x64.cc __ movq(rax, rcx); __ 458 src/x64/builtins-x64.cc __ movq(rbx, r8); __ 475 src/x64/builtins-x64.cc __ Set(rcx, 0); // Set loop variable to 0. __ 476 src/x64/builtins-x64.cc __ jmp(&entry); __ 477 src/x64/builtins-x64.cc __ bind(&loop); __ 478 src/x64/builtins-x64.cc __ movq(kScratchRegister, Operand(rbx, rcx, times_pointer_size, 0)); __ 479 src/x64/builtins-x64.cc __ push(Operand(kScratchRegister, 0)); // dereference handle __ 480 src/x64/builtins-x64.cc __ addq(rcx, Immediate(1)); __ 481 src/x64/builtins-x64.cc __ bind(&entry); __ 482 src/x64/builtins-x64.cc __ cmpq(rcx, rax); __ 483 src/x64/builtins-x64.cc __ j(not_equal, &loop); __ 489 src/x64/builtins-x64.cc __ CallStub(&stub); __ 493 src/x64/builtins-x64.cc __ InvokeFunction(rdi, actual, CALL_FUNCTION, __ 502 src/x64/builtins-x64.cc __ ret(1 * kPointerSize); // Remove receiver. __ 522 src/x64/builtins-x64.cc __ push(rdi); __ 524 src/x64/builtins-x64.cc __ push(rcx); __ 526 src/x64/builtins-x64.cc __ push(rdi); // Function is also the parameter to the runtime call. __ 527 src/x64/builtins-x64.cc __ CallRuntime(Runtime::kLazyCompile, 1); __ 530 src/x64/builtins-x64.cc __ pop(rcx); __ 532 src/x64/builtins-x64.cc __ pop(rdi); __ 538 src/x64/builtins-x64.cc __ lea(rax, FieldOperand(rax, Code::kHeaderSize)); __ 539 src/x64/builtins-x64.cc __ jmp(rax); __ 549 src/x64/builtins-x64.cc __ push(rdi); __ 551 src/x64/builtins-x64.cc __ push(rcx); __ 553 src/x64/builtins-x64.cc __ push(rdi); // Function is also the parameter to the runtime call. __ 554 src/x64/builtins-x64.cc __ CallRuntime(Runtime::kLazyRecompile, 1); __ 557 src/x64/builtins-x64.cc __ pop(rcx); __ 559 src/x64/builtins-x64.cc __ pop(rdi); __ 565 src/x64/builtins-x64.cc __ lea(rax, FieldOperand(rax, Code::kHeaderSize)); __ 566 src/x64/builtins-x64.cc __ jmp(rax); __ 577 src/x64/builtins-x64.cc __ Push(Smi::FromInt(static_cast<int>(type))); __ 579 src/x64/builtins-x64.cc __ CallRuntime(Runtime::kNotifyDeoptimized, 1); __ 584 src/x64/builtins-x64.cc __ SmiToInteger32(rcx, Operand(rsp, 1 * kPointerSize)); __ 588 src/x64/builtins-x64.cc __ cmpq(rcx, Immediate(FullCodeGenerator::NO_REGISTERS)); __ 589 src/x64/builtins-x64.cc __ j(not_equal, ¬_no_registers, Label::kNear); __ 590 src/x64/builtins-x64.cc __ ret(1 * kPointerSize); // Remove state. __ 592 src/x64/builtins-x64.cc __ bind(¬_no_registers); __ 593 src/x64/builtins-x64.cc __ movq(rax, Operand(rsp, 2 * kPointerSize)); __ 594 src/x64/builtins-x64.cc __ cmpq(rcx, Immediate(FullCodeGenerator::TOS_REG)); __ 595 src/x64/builtins-x64.cc __ j(not_equal, ¬_tos_rax, Label::kNear); __ 596 src/x64/builtins-x64.cc __ ret(2 * kPointerSize); // Remove state, rax. __ 598 src/x64/builtins-x64.cc __ bind(¬_tos_rax); __ 599 src/x64/builtins-x64.cc __ Abort("no cases left"); __ 617 src/x64/builtins-x64.cc __ Pushad(); __ 620 src/x64/builtins-x64.cc __ CallRuntime(Runtime::kNotifyOSR, 0); __ 622 src/x64/builtins-x64.cc __ Popad(); __ 623 src/x64/builtins-x64.cc __ ret(0); __ 640 src/x64/builtins-x64.cc __ testq(rax, rax); __ 641 src/x64/builtins-x64.cc __ j(not_zero, &done); __ 642 src/x64/builtins-x64.cc __ pop(rbx); __ 643 src/x64/builtins-x64.cc __ Push(masm->isolate()->factory()->undefined_value()); __ 644 src/x64/builtins-x64.cc __ push(rbx); __ 645 src/x64/builtins-x64.cc __ incq(rax); __ 646 src/x64/builtins-x64.cc __ bind(&done); __ 653 src/x64/builtins-x64.cc __ movq(rdi, Operand(rsp, rax, times_pointer_size, 1 * kPointerSize)); __ 654 src/x64/builtins-x64.cc __ JumpIfSmi(rdi, &non_function); __ 655 src/x64/builtins-x64.cc __ CmpObjectType(rdi, JS_FUNCTION_TYPE, rcx); __ 656 src/x64/builtins-x64.cc __ j(not_equal, &slow); __ 660 src/x64/builtins-x64.cc __ Set(rdx, 0); // indicate regular JS_FUNCTION __ 663 src/x64/builtins-x64.cc __ movq(rsi, FieldOperand(rdi, JSFunction::kContextOffset)); __ 666 src/x64/builtins-x64.cc __ movq(rbx, FieldOperand(rdi, JSFunction::kSharedFunctionInfoOffset)); __ 667 src/x64/builtins-x64.cc __ testb(FieldOperand(rbx, SharedFunctionInfo::kStrictModeByteOffset), __ 669 src/x64/builtins-x64.cc __ j(not_equal, &shift_arguments); __ 673 src/x64/builtins-x64.cc __ testb(FieldOperand(rbx, SharedFunctionInfo::kNativeByteOffset), __ 675 src/x64/builtins-x64.cc __ j(not_zero, &shift_arguments); __ 678 src/x64/builtins-x64.cc __ movq(rbx, Operand(rsp, rax, times_pointer_size, 0)); __ 679 src/x64/builtins-x64.cc __ JumpIfSmi(rbx, &convert_to_object, Label::kNear); __ 681 src/x64/builtins-x64.cc __ CompareRoot(rbx, Heap::kNullValueRootIndex); __ 682 src/x64/builtins-x64.cc __ j(equal, &use_global_receiver); __ 683 src/x64/builtins-x64.cc __ CompareRoot(rbx, Heap::kUndefinedValueRootIndex); __ 684 src/x64/builtins-x64.cc __ j(equal, &use_global_receiver); __ 687 src/x64/builtins-x64.cc __ CmpObjectType(rbx, FIRST_SPEC_OBJECT_TYPE, rcx); __ 688 src/x64/builtins-x64.cc __ j(above_equal, &shift_arguments); __ 690 src/x64/builtins-x64.cc __ bind(&convert_to_object); __ 694 src/x64/builtins-x64.cc __ Integer32ToSmi(rax, rax); __ 695 src/x64/builtins-x64.cc __ push(rax); __ 697 src/x64/builtins-x64.cc __ push(rbx); __ 698 src/x64/builtins-x64.cc __ InvokeBuiltin(Builtins::TO_OBJECT, CALL_FUNCTION); __ 699 src/x64/builtins-x64.cc __ movq(rbx, rax); __ 700 src/x64/builtins-x64.cc __ Set(rdx, 0); // indicate regular JS_FUNCTION __ 702 src/x64/builtins-x64.cc __ pop(rax); __ 703 src/x64/builtins-x64.cc __ SmiToInteger32(rax, rax); __ 707 src/x64/builtins-x64.cc __ movq(rdi, Operand(rsp, rax, times_pointer_size, 1 * kPointerSize)); __ 708 src/x64/builtins-x64.cc __ jmp(&patch_receiver, Label::kNear); __ 712 src/x64/builtins-x64.cc __ bind(&use_global_receiver); __ 715 src/x64/builtins-x64.cc __ movq(rbx, FieldOperand(rsi, kGlobalIndex)); __ 716 src/x64/builtins-x64.cc __ movq(rbx, FieldOperand(rbx, GlobalObject::kGlobalContextOffset)); __ 717 src/x64/builtins-x64.cc __ movq(rbx, FieldOperand(rbx, kGlobalIndex)); __ 718 src/x64/builtins-x64.cc __ movq(rbx, FieldOperand(rbx, GlobalObject::kGlobalReceiverOffset)); __ 720 src/x64/builtins-x64.cc __ bind(&patch_receiver); __ 721 src/x64/builtins-x64.cc __ movq(Operand(rsp, rax, times_pointer_size, 0), rbx); __ 723 src/x64/builtins-x64.cc __ jmp(&shift_arguments); __ 727 src/x64/builtins-x64.cc __ bind(&slow); __ 728 src/x64/builtins-x64.cc __ Set(rdx, 1); // indicate function proxy __ 729 src/x64/builtins-x64.cc __ CmpInstanceType(rcx, JS_FUNCTION_PROXY_TYPE); __ 730 src/x64/builtins-x64.cc __ j(equal, &shift_arguments); __ 731 src/x64/builtins-x64.cc __ bind(&non_function); __ 732 src/x64/builtins-x64.cc __ Set(rdx, 2); // indicate non-function __ 738 src/x64/builtins-x64.cc __ movq(Operand(rsp, rax, times_pointer_size, 0), rdi); __ 743 src/x64/builtins-x64.cc __ bind(&shift_arguments); __ 745 src/x64/builtins-x64.cc __ movq(rcx, rax); __ 746 src/x64/builtins-x64.cc __ bind(&loop); __ 747 src/x64/builtins-x64.cc __ movq(rbx, Operand(rsp, rcx, times_pointer_size, 0)); __ 748 src/x64/builtins-x64.cc __ movq(Operand(rsp, rcx, times_pointer_size, 1 * kPointerSize), rbx); __ 749 src/x64/builtins-x64.cc __ decq(rcx); __ 750 src/x64/builtins-x64.cc __ j(not_sign, &loop); // While non-negative (to copy return address). __ 751 src/x64/builtins-x64.cc __ pop(rbx); // Discard copy of return address. __ 752 src/x64/builtins-x64.cc __ decq(rax); // One fewer argument (first argument is new receiver). __ 758 src/x64/builtins-x64.cc __ testq(rdx, rdx); __ 759 src/x64/builtins-x64.cc __ j(zero, &function); __ 760 src/x64/builtins-x64.cc __ Set(rbx, 0); __ 761 src/x64/builtins-x64.cc __ SetCallKind(rcx, CALL_AS_METHOD); __ 762 src/x64/builtins-x64.cc __ cmpq(rdx, Immediate(1)); __ 763 src/x64/builtins-x64.cc __ j(not_equal, &non_proxy); __ 765 src/x64/builtins-x64.cc __ pop(rdx); // return address __ 766 src/x64/builtins-x64.cc __ push(rdi); // re-add proxy object as additional argument __ 767 src/x64/builtins-x64.cc __ push(rdx); __ 768 src/x64/builtins-x64.cc __ incq(rax); __ 769 src/x64/builtins-x64.cc __ GetBuiltinEntry(rdx, Builtins::CALL_FUNCTION_PROXY); __ 770 src/x64/builtins-x64.cc __ jmp(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(), __ 773 src/x64/builtins-x64.cc __ bind(&non_proxy); __ 774 src/x64/builtins-x64.cc __ GetBuiltinEntry(rdx, Builtins::CALL_NON_FUNCTION); __ 775 src/x64/builtins-x64.cc __ Jump(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(), __ 777 src/x64/builtins-x64.cc __ bind(&function); __ 783 src/x64/builtins-x64.cc __ movq(rdx, FieldOperand(rdi, JSFunction::kSharedFunctionInfoOffset)); __ 784 src/x64/builtins-x64.cc __ movsxlq(rbx, __ 787 src/x64/builtins-x64.cc __ movq(rdx, FieldOperand(rdi, JSFunction::kCodeEntryOffset)); __ 788 src/x64/builtins-x64.cc __ SetCallKind(rcx, CALL_AS_METHOD); __ 789 src/x64/builtins-x64.cc __ cmpq(rax, rbx); __ 790 src/x64/builtins-x64.cc __ j(not_equal, __ 795 src/x64/builtins-x64.cc __ InvokeCode(rdx, expected, expected, JUMP_FUNCTION, __ 818 src/x64/builtins-x64.cc __ push(Operand(rbp, kFunctionOffset)); __ 819 src/x64/builtins-x64.cc __ push(Operand(rbp, kArgumentsOffset)); __ 820 src/x64/builtins-x64.cc __ InvokeBuiltin(Builtins::APPLY_PREPARE, CALL_FUNCTION); __ 826 src/x64/builtins-x64.cc __ LoadRoot(kScratchRegister, Heap::kRealStackLimitRootIndex); __ 827 src/x64/builtins-x64.cc __ movq(rcx, rsp); __ 830 src/x64/builtins-x64.cc __ subq(rcx, kScratchRegister); __ 833 src/x64/builtins-x64.cc __ PositiveSmiTimesPowerOfTwoToInteger64(rdx, rax, kPointerSizeLog2); __ 835 src/x64/builtins-x64.cc __ cmpq(rcx, rdx); __ 836 src/x64/builtins-x64.cc __ j(greater, &okay); // Signed comparison. __ 839 src/x64/builtins-x64.cc __ push(Operand(rbp, kFunctionOffset)); __ 840 src/x64/builtins-x64.cc __ push(rax); __ 841 src/x64/builtins-x64.cc __ InvokeBuiltin(Builtins::APPLY_OVERFLOW, CALL_FUNCTION); __ 842 src/x64/builtins-x64.cc __ bind(&okay); __ 849 src/x64/builtins-x64.cc __ push(rax); // limit __ 850 src/x64/builtins-x64.cc __ push(Immediate(0)); // index __ 853 src/x64/builtins-x64.cc __ movq(rbx, Operand(rbp, kReceiverOffset)); __ 857 src/x64/builtins-x64.cc __ movq(rdi, Operand(rbp, kFunctionOffset)); __ 858 src/x64/builtins-x64.cc __ CmpObjectType(rdi, JS_FUNCTION_TYPE, rcx); __ 859 src/x64/builtins-x64.cc __ j(not_equal, &push_receiver); __ 862 src/x64/builtins-x64.cc __ movq(rsi, FieldOperand(rdi, JSFunction::kContextOffset)); __ 866 src/x64/builtins-x64.cc __ movq(rdx, FieldOperand(rdi, JSFunction::kSharedFunctionInfoOffset)); __ 867 src/x64/builtins-x64.cc __ testb(FieldOperand(rdx, SharedFunctionInfo::kStrictModeByteOffset), __ 869 src/x64/builtins-x64.cc __ j(not_equal, &push_receiver); __ 872 src/x64/builtins-x64.cc __ testb(FieldOperand(rdx, SharedFunctionInfo::kNativeByteOffset), __ 874 src/x64/builtins-x64.cc __ j(not_equal, &push_receiver); __ 877 src/x64/builtins-x64.cc __ JumpIfSmi(rbx, &call_to_object, Label::kNear); __ 878 src/x64/builtins-x64.cc __ CompareRoot(rbx, Heap::kNullValueRootIndex); __ 879 src/x64/builtins-x64.cc __ j(equal, &use_global_receiver); __ 880 src/x64/builtins-x64.cc __ CompareRoot(rbx, Heap::kUndefinedValueRootIndex); __ 881 src/x64/builtins-x64.cc __ j(equal, &use_global_receiver); __ 886 src/x64/builtins-x64.cc __ CmpObjectType(rbx, FIRST_SPEC_OBJECT_TYPE, rcx); __ 887 src/x64/builtins-x64.cc __ j(above_equal, &push_receiver); __ 890 src/x64/builtins-x64.cc __ bind(&call_to_object); __ 891 src/x64/builtins-x64.cc __ push(rbx); __ 892 src/x64/builtins-x64.cc __ InvokeBuiltin(Builtins::TO_OBJECT, CALL_FUNCTION); __ 893 src/x64/builtins-x64.cc __ movq(rbx, rax); __ 894 src/x64/builtins-x64.cc __ jmp(&push_receiver, Label::kNear); __ 897 src/x64/builtins-x64.cc __ bind(&use_global_receiver); __ 900 src/x64/builtins-x64.cc __ movq(rbx, FieldOperand(rsi, kGlobalOffset)); __ 901 src/x64/builtins-x64.cc __ movq(rbx, FieldOperand(rbx, GlobalObject::kGlobalContextOffset)); __ 902 src/x64/builtins-x64.cc __ movq(rbx, FieldOperand(rbx, kGlobalOffset)); __ 903 src/x64/builtins-x64.cc __ movq(rbx, FieldOperand(rbx, GlobalObject::kGlobalReceiverOffset)); __ 906 src/x64/builtins-x64.cc __ bind(&push_receiver); __ 907 src/x64/builtins-x64.cc __ push(rbx); __ 911 src/x64/builtins-x64.cc __ movq(rax, Operand(rbp, kIndexOffset)); __ 912 src/x64/builtins-x64.cc __ jmp(&entry); __ 913 src/x64/builtins-x64.cc __ bind(&loop); __ 914 src/x64/builtins-x64.cc __ movq(rdx, Operand(rbp, kArgumentsOffset)); // load arguments __ 919 src/x64/builtins-x64.cc __ Call(ic, RelocInfo::CODE_TARGET); __ 926 src/x64/builtins-x64.cc __ push(rax); __ 929 src/x64/builtins-x64.cc __ movq(rax, Operand(rbp, kIndexOffset)); __ 930 src/x64/builtins-x64.cc __ SmiAddConstant(rax, rax, Smi::FromInt(1)); __ 931 src/x64/builtins-x64.cc __ movq(Operand(rbp, kIndexOffset), rax); __ 933 src/x64/builtins-x64.cc __ bind(&entry); __ 934 src/x64/builtins-x64.cc __ cmpq(rax, Operand(rbp, kLimitOffset)); __ 935 src/x64/builtins-x64.cc __ j(not_equal, &loop); __ 940 src/x64/builtins-x64.cc __ SmiToInteger32(rax, rax); __ 941 src/x64/builtins-x64.cc __ movq(rdi, Operand(rbp, kFunctionOffset)); __ 942 src/x64/builtins-x64.cc __ CmpObjectType(rdi, JS_FUNCTION_TYPE, rcx); __ 943 src/x64/builtins-x64.cc __ j(not_equal, &call_proxy); __ 944 src/x64/builtins-x64.cc __ InvokeFunction(rdi, actual, CALL_FUNCTION, __ 948 src/x64/builtins-x64.cc __ ret(3 * kPointerSize); // remove this, receiver, and arguments __ 951 src/x64/builtins-x64.cc __ bind(&call_proxy); __ 952 src/x64/builtins-x64.cc __ push(rdi); // add function proxy as last argument __ 953 src/x64/builtins-x64.cc __ incq(rax); __ 954 src/x64/builtins-x64.cc __ Set(rbx, 0); __ 955 src/x64/builtins-x64.cc __ SetCallKind(rcx, CALL_AS_METHOD); __ 956 src/x64/builtins-x64.cc __ GetBuiltinEntry(rdx, Builtins::CALL_FUNCTION_PROXY); __ 957 src/x64/builtins-x64.cc __ call(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(), __ 962 src/x64/builtins-x64.cc __ ret(3 * kPointerSize); // remove this, receiver, and arguments __ 980 src/x64/builtins-x64.cc __ LoadInitialArrayMap(array_function, scratch2, scratch1, false); __ 988 src/x64/builtins-x64.cc __ AllocateInNewSpace(size, __ 1001 src/x64/builtins-x64.cc __ movq(FieldOperand(result, JSObject::kMapOffset), scratch1); __ 1002 src/x64/builtins-x64.cc __ Move(FieldOperand(result, JSArray::kPropertiesOffset), __ 1005 src/x64/builtins-x64.cc __ Move(FieldOperand(result, JSArray::kLengthOffset), Smi::FromInt(0)); __ 1010 src/x64/builtins-x64.cc __ Move(FieldOperand(result, JSArray::kElementsOffset), __ 1019 src/x64/builtins-x64.cc __ lea(scratch1, Operand(result, JSArray::kSize)); __ 1020 src/x64/builtins-x64.cc __ movq(FieldOperand(result, JSArray::kElementsOffset), scratch1); __ 1027 src/x64/builtins-x64.cc __ Move(FieldOperand(scratch1, HeapObject::kMapOffset), __ 1029 src/x64/builtins-x64.cc __ Move(FieldOperand(scratch1, FixedArray::kLengthOffset), __ 1035 src/x64/builtins-x64.cc __ LoadRoot(scratch3, Heap::kTheHoleValueRootIndex); __ 1040 src/x64/builtins-x64.cc __ movq(FieldOperand(scratch1, __ 1046 src/x64/builtins-x64.cc __ movq(scratch2, Immediate(initial_capacity)); __ 1047 src/x64/builtins-x64.cc __ jmp(&entry); __ 1048 src/x64/builtins-x64.cc __ bind(&loop); __ 1049 src/x64/builtins-x64.cc __ movq(FieldOperand(scratch1, __ 1054 src/x64/builtins-x64.cc __ bind(&entry); __ 1055 src/x64/builtins-x64.cc __ decq(scratch2); __ 1056 src/x64/builtins-x64.cc __ j(not_sign, &loop); __ 1079 src/x64/builtins-x64.cc __ LoadInitialArrayMap(array_function, scratch, __ 1083 src/x64/builtins-x64.cc __ testq(array_size, array_size); __ 1084 src/x64/builtins-x64.cc __ Assert(not_zero, "array size is unexpectedly 0"); __ 1091 src/x64/builtins-x64.cc __ AllocateInNewSpace(JSArray::kSize + FixedArray::kHeaderSize, __ 1107 src/x64/builtins-x64.cc __ movq(FieldOperand(result, JSObject::kMapOffset), elements_array); __ 1108 src/x64/builtins-x64.cc __ Move(elements_array, factory->empty_fixed_array()); __ 1109 src/x64/builtins-x64.cc __ movq(FieldOperand(result, JSArray::kPropertiesOffset), elements_array); __ 1111 src/x64/builtins-x64.cc __ movq(FieldOperand(result, JSArray::kLengthOffset), array_size); __ 1118 src/x64/builtins-x64.cc __ lea(elements_array, Operand(result, JSArray::kSize)); __ 1119 src/x64/builtins-x64.cc __ movq(FieldOperand(result, JSArray::kElementsOffset), elements_array); __ 1126 src/x64/builtins-x64.cc __ Move(FieldOperand(elements_array, JSObject::kMapOffset), __ 1130 src/x64/builtins-x64.cc __ movq(FieldOperand(elements_array, FixedArray::kLengthOffset), array_size); __ 1138 src/x64/builtins-x64.cc __ LoadRoot(scratch, Heap::kTheHoleValueRootIndex); __ 1139 src/x64/builtins-x64.cc __ lea(elements_array, Operand(elements_array, __ 1141 src/x64/builtins-x64.cc __ jmp(&entry); __ 1142 src/x64/builtins-x64.cc __ bind(&loop); __ 1143 src/x64/builtins-x64.cc __ movq(Operand(elements_array, 0), scratch); __ 1144 src/x64/builtins-x64.cc __ addq(elements_array, Immediate(kPointerSize)); __ 1145 src/x64/builtins-x64.cc __ bind(&entry); __ 1146 src/x64/builtins-x64.cc __ cmpq(elements_array, elements_array_end); __ 1147 src/x64/builtins-x64.cc __ j(below, &loop); __ 1172 src/x64/builtins-x64.cc __ testq(rax, rax); __ 1173 src/x64/builtins-x64.cc __ j(not_zero, &argc_one_or_more); __ 1175 src/x64/builtins-x64.cc __ bind(&empty_array); __ 1185 src/x64/builtins-x64.cc __ IncrementCounter(counters->array_function_native(), 1); __ 1186 src/x64/builtins-x64.cc __ movq(rax, rbx); __ 1187 src/x64/builtins-x64.cc __ ret(kPointerSize); __ 1191 src/x64/builtins-x64.cc __ bind(&argc_one_or_more); __ 1192 src/x64/builtins-x64.cc __ cmpq(rax, Immediate(1)); __ 1193 src/x64/builtins-x64.cc __ j(not_equal, &argc_two_or_more); __ 1194 src/x64/builtins-x64.cc __ movq(rdx, Operand(rsp, kPointerSize)); // Get the argument from the stack. __ 1196 src/x64/builtins-x64.cc __ SmiTest(rdx); __ 1197 src/x64/builtins-x64.cc __ j(not_zero, ¬_empty_array); __ 1198 src/x64/builtins-x64.cc __ pop(r8); // Adjust stack. __ 1199 src/x64/builtins-x64.cc __ Drop(1); __ 1200 src/x64/builtins-x64.cc __ push(r8); __ 1201 src/x64/builtins-x64.cc __ movq(rax, Immediate(0)); // Treat this as a call with argc of zero. __ 1202 src/x64/builtins-x64.cc __ jmp(&empty_array); __ 1204 src/x64/builtins-x64.cc __ bind(¬_empty_array); __ 1205 src/x64/builtins-x64.cc __ JumpUnlessNonNegativeSmi(rdx, call_generic_code); __ 1209 src/x64/builtins-x64.cc __ SmiCompare(rdx, Smi::FromInt(JSObject::kInitialMaxFastElementArray)); __ 1210 src/x64/builtins-x64.cc __ j(greater_equal, call_generic_code); __ 1226 src/x64/builtins-x64.cc __ IncrementCounter(counters->array_function_native(), 1); __ 1227 src/x64/builtins-x64.cc __ movq(rax, rbx); __ 1228 src/x64/builtins-x64.cc __ ret(2 * kPointerSize); __ 1231 src/x64/builtins-x64.cc __ bind(&argc_two_or_more); __ 1232 src/x64/builtins-x64.cc __ movq(rdx, rax); __ 1233 src/x64/builtins-x64.cc __ Integer32ToSmi(rdx, rdx); // Convet argc to a smi. __ 1248 src/x64/builtins-x64.cc __ IncrementCounter(counters->array_function_native(), 1); __ 1258 src/x64/builtins-x64.cc __ lea(r9, Operand(rsp, kPointerSize)); __ 1262 src/x64/builtins-x64.cc __ lea(rdx, Operand(rcx, FixedArray::kHeaderSize - kHeapObjectTag)); __ 1271 src/x64/builtins-x64.cc __ movq(rcx, rax); __ 1272 src/x64/builtins-x64.cc __ jmp(&entry); __ 1273 src/x64/builtins-x64.cc __ bind(&loop); __ 1274 src/x64/builtins-x64.cc __ movq(r8, Operand(r9, rcx, times_pointer_size, 0)); __ 1276 src/x64/builtins-x64.cc __ JumpIfNotSmi(r8, &has_non_smi_element); __ 1278 src/x64/builtins-x64.cc __ movq(Operand(rdx, 0), r8); __ 1279 src/x64/builtins-x64.cc __ addq(rdx, Immediate(kPointerSize)); __ 1280 src/x64/builtins-x64.cc __ bind(&entry); __ 1281 src/x64/builtins-x64.cc __ decq(rcx); __ 1282 src/x64/builtins-x64.cc __ j(greater_equal, &loop); __ 1289 src/x64/builtins-x64.cc __ bind(&finish); __ 1290 src/x64/builtins-x64.cc __ pop(rcx); __ 1291 src/x64/builtins-x64.cc __ lea(rsp, Operand(rsp, rax, times_pointer_size, 1 * kPointerSize)); __ 1292 src/x64/builtins-x64.cc __ push(rcx); __ 1293 src/x64/builtins-x64.cc __ movq(rax, rbx); __ 1294 src/x64/builtins-x64.cc __ ret(0); __ 1296 src/x64/builtins-x64.cc __ bind(&has_non_smi_element); __ 1298 src/x64/builtins-x64.cc __ CheckMap(r8, __ 1302 src/x64/builtins-x64.cc __ bind(&cant_transition_map); __ 1303 src/x64/builtins-x64.cc __ UndoAllocationInNewSpace(rbx); __ 1304 src/x64/builtins-x64.cc __ jmp(call_generic_code); __ 1306 src/x64/builtins-x64.cc __ bind(¬_double); __ 1309 src/x64/builtins-x64.cc __ movq(r11, FieldOperand(rbx, HeapObject::kMapOffset)); __ 1310 src/x64/builtins-x64.cc __ LoadTransitionedArrayMapConditional(FAST_SMI_ELEMENTS, __ 1316 src/x64/builtins-x64.cc __ movq(FieldOperand(rbx, HeapObject::kMapOffset), r11); __ 1317 src/x64/builtins-x64.cc __ RecordWriteField(rbx, HeapObject::kMapOffset, r11, r8, __ 1322 src/x64/builtins-x64.cc __ bind(&loop2); __ 1323 src/x64/builtins-x64.cc __ movq(r8, Operand(r9, rcx, times_pointer_size, 0)); __ 1324 src/x64/builtins-x64.cc __ movq(Operand(rdx, 0), r8); __ 1325 src/x64/builtins-x64.cc __ addq(rdx, Immediate(kPointerSize)); __ 1326 src/x64/builtins-x64.cc __ decq(rcx); __ 1327 src/x64/builtins-x64.cc __ j(greater_equal, &loop2); __ 1328 src/x64/builtins-x64.cc __ jmp(&finish); __ 1341 src/x64/builtins-x64.cc __ LoadGlobalFunction(Context::INTERNAL_ARRAY_FUNCTION_INDEX, rdi); __ 1345 src/x64/builtins-x64.cc __ movq(rbx, FieldOperand(rdi, JSFunction::kPrototypeOrInitialMapOffset)); __ 1349 src/x64/builtins-x64.cc __ Check(not_smi, "Unexpected initial map for InternalArray function"); __ 1350 src/x64/builtins-x64.cc __ CmpObjectType(rbx, MAP_TYPE, rcx); __ 1351 src/x64/builtins-x64.cc __ Check(equal, "Unexpected initial map for InternalArray function"); __ 1360 src/x64/builtins-x64.cc __ bind(&generic_array_code); __ 1363 src/x64/builtins-x64.cc __ Jump(array_code, RelocInfo::CODE_TARGET); __ 1376 src/x64/builtins-x64.cc __ LoadGlobalFunction(Context::ARRAY_FUNCTION_INDEX, rdi); __ 1380 src/x64/builtins-x64.cc __ movq(rbx, FieldOperand(rdi, JSFunction::kPrototypeOrInitialMapOffset)); __ 1384 src/x64/builtins-x64.cc __ Check(not_smi, "Unexpected initial map for Array function"); __ 1385 src/x64/builtins-x64.cc __ CmpObjectType(rbx, MAP_TYPE, rcx); __ 1386 src/x64/builtins-x64.cc __ Check(equal, "Unexpected initial map for Array function"); __ 1394 src/x64/builtins-x64.cc __ bind(&generic_array_code); __ 1397 src/x64/builtins-x64.cc __ Jump(array_code, RelocInfo::CODE_TARGET); __ 1414 src/x64/builtins-x64.cc __ movq(rbx, FieldOperand(rdi, JSFunction::kPrototypeOrInitialMapOffset)); __ 1418 src/x64/builtins-x64.cc __ Check(not_smi, "Unexpected initial map for Array function"); __ 1419 src/x64/builtins-x64.cc __ CmpObjectType(rbx, MAP_TYPE, rcx); __ 1420 src/x64/builtins-x64.cc __ Check(equal, "Unexpected initial map for Array function"); __ 1428 src/x64/builtins-x64.cc __ bind(&generic_constructor); __ 1431 src/x64/builtins-x64.cc __ Jump(generic_construct_stub, RelocInfo::CODE_TARGET); __ 1444 src/x64/builtins-x64.cc __ IncrementCounter(counters->string_ctor_calls(), 1); __ 1447 src/x64/builtins-x64.cc __ LoadGlobalFunction(Context::STRING_FUNCTION_INDEX, rcx); __ 1448 src/x64/builtins-x64.cc __ cmpq(rdi, rcx); __ 1449 src/x64/builtins-x64.cc __ Assert(equal, "Unexpected String function"); __ 1455 src/x64/builtins-x64.cc __ testq(rax, rax); __ 1456 src/x64/builtins-x64.cc __ j(zero, &no_arguments); __ 1457 src/x64/builtins-x64.cc __ movq(rbx, Operand(rsp, rax, times_pointer_size, 0)); __ 1458 src/x64/builtins-x64.cc __ pop(rcx); __ 1459 src/x64/builtins-x64.cc __ lea(rsp, Operand(rsp, rax, times_pointer_size, kPointerSize)); __ 1460 src/x64/builtins-x64.cc __ push(rcx); __ 1461 src/x64/builtins-x64.cc __ movq(rax, rbx); __ 1473 src/x64/builtins-x64.cc __ IncrementCounter(counters->string_ctor_cached_number(), 1); __ 1474 src/x64/builtins-x64.cc __ bind(&argument_is_string); __ 1484 src/x64/builtins-x64.cc __ AllocateInNewSpace(JSValue::kSize, __ 1492 src/x64/builtins-x64.cc __ LoadGlobalFunctionInitialMap(rdi, rcx); __ 1494 src/x64/builtins-x64.cc __ cmpb(FieldOperand(rcx, Map::kInstanceSizeOffset), __ 1496 src/x64/builtins-x64.cc __ Assert(equal, "Unexpected string wrapper instance size"); __ 1497 src/x64/builtins-x64.cc __ cmpb(FieldOperand(rcx, Map::kUnusedPropertyFieldsOffset), Immediate(0)); __ 1498 src/x64/builtins-x64.cc __ Assert(equal, "Unexpected unused properties of string wrapper"); __ 1500 src/x64/builtins-x64.cc __ movq(FieldOperand(rax, HeapObject::kMapOffset), rcx); __ 1503 src/x64/builtins-x64.cc __ LoadRoot(rcx, Heap::kEmptyFixedArrayRootIndex); __ 1504 src/x64/builtins-x64.cc __ movq(FieldOperand(rax, JSObject::kPropertiesOffset), rcx); __ 1505 src/x64/builtins-x64.cc __ movq(FieldOperand(rax, JSObject::kElementsOffset), rcx); __ 1508 src/x64/builtins-x64.cc __ movq(FieldOperand(rax, JSValue::kValueOffset), rbx); __ 1514 src/x64/builtins-x64.cc __ ret(0); __ 1519 src/x64/builtins-x64.cc __ bind(¬_cached); __ 1521 src/x64/builtins-x64.cc __ JumpIfSmi(rax, &convert_argument); __ 1523 src/x64/builtins-x64.cc __ j(NegateCondition(is_string), &convert_argument); __ 1524 src/x64/builtins-x64.cc __ movq(rbx, rax); __ 1525 src/x64/builtins-x64.cc __ IncrementCounter(counters->string_ctor_string_value(), 1); __ 1526 src/x64/builtins-x64.cc __ jmp(&argument_is_string); __ 1529 src/x64/builtins-x64.cc __ bind(&convert_argument); __ 1530 src/x64/builtins-x64.cc __ IncrementCounter(counters->string_ctor_conversions(), 1); __ 1533 src/x64/builtins-x64.cc __ push(rdi); // Preserve the function. __ 1534 src/x64/builtins-x64.cc __ push(rax); __ 1535 src/x64/builtins-x64.cc __ InvokeBuiltin(Builtins::TO_STRING, CALL_FUNCTION); __ 1536 src/x64/builtins-x64.cc __ pop(rdi); __ 1538 src/x64/builtins-x64.cc __ movq(rbx, rax); __ 1539 src/x64/builtins-x64.cc __ jmp(&argument_is_string); __ 1543 src/x64/builtins-x64.cc __ bind(&no_arguments); __ 1544 src/x64/builtins-x64.cc __ LoadRoot(rbx, Heap::kEmptyStringRootIndex); __ 1545 src/x64/builtins-x64.cc __ pop(rcx); __ 1546 src/x64/builtins-x64.cc __ lea(rsp, Operand(rsp, kPointerSize)); __ 1547 src/x64/builtins-x64.cc __ push(rcx); __ 1548 src/x64/builtins-x64.cc __ jmp(&argument_is_string); __ 1552 src/x64/builtins-x64.cc __ bind(&gc_required); __ 1553 src/x64/builtins-x64.cc __ IncrementCounter(counters->string_ctor_gc_required(), 1); __ 1556 src/x64/builtins-x64.cc __ push(rbx); __ 1557 src/x64/builtins-x64.cc __ CallRuntime(Runtime::kNewStringWrapper, 1); __ 1559 src/x64/builtins-x64.cc __ ret(0); __ 1564 src/x64/builtins-x64.cc __ push(rbp); __ 1565 src/x64/builtins-x64.cc __ movq(rbp, rsp); __ 1568 src/x64/builtins-x64.cc __ Push(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR)); __ 1571 src/x64/builtins-x64.cc __ push(rdi); __ 1576 src/x64/builtins-x64.cc __ Integer32ToSmi(r8, rax); __ 1577 src/x64/builtins-x64.cc __ push(r8); __ 1583 src/x64/builtins-x64.cc __ movq(rbx, Operand(rbp, ArgumentsAdaptorFrameConstants::kLengthOffset)); __ 1586 src/x64/builtins-x64.cc __ movq(rsp, rbp); __ 1587 src/x64/builtins-x64.cc __ pop(rbp); __ 1590 src/x64/builtins-x64.cc __ pop(rcx); __ 1592 src/x64/builtins-x64.cc __ lea(rsp, Operand(rsp, index.reg, index.scale, 1 * kPointerSize)); __ 1593 src/x64/builtins-x64.cc __ push(rcx); __ 1607 src/x64/builtins-x64.cc __ IncrementCounter(counters->arguments_adaptors(), 1); __ 1610 src/x64/builtins-x64.cc __ cmpq(rax, rbx); __ 1611 src/x64/builtins-x64.cc __ j(less, &too_few); __ 1612 src/x64/builtins-x64.cc __ cmpq(rbx, Immediate(SharedFunctionInfo::kDontAdaptArgumentsSentinel)); __ 1613 src/x64/builtins-x64.cc __ j(equal, &dont_adapt_arguments); __ 1616 src/x64/builtins-x64.cc __ bind(&enough); __ 1621 src/x64/builtins-x64.cc __ lea(rax, Operand(rbp, rax, times_pointer_size, offset)); __ 1622 src/x64/builtins-x64.cc __ Set(r8, -1); // account for receiver __ 1625 src/x64/builtins-x64.cc __ bind(©); __ 1626 src/x64/builtins-x64.cc __ incq(r8); __ 1627 src/x64/builtins-x64.cc __ push(Operand(rax, 0)); __ 1628 src/x64/builtins-x64.cc __ subq(rax, Immediate(kPointerSize)); __ 1629 src/x64/builtins-x64.cc __ cmpq(r8, rbx); __ 1630 src/x64/builtins-x64.cc __ j(less, ©); __ 1631 src/x64/builtins-x64.cc __ jmp(&invoke); __ 1635 src/x64/builtins-x64.cc __ bind(&too_few); __ 1640 src/x64/builtins-x64.cc __ lea(rdi, Operand(rbp, rax, times_pointer_size, offset)); __ 1641 src/x64/builtins-x64.cc __ Set(r8, -1); // account for receiver __ 1644 src/x64/builtins-x64.cc __ bind(©); __ 1645 src/x64/builtins-x64.cc __ incq(r8); __ 1646 src/x64/builtins-x64.cc __ push(Operand(rdi, 0)); __ 1647 src/x64/builtins-x64.cc __ subq(rdi, Immediate(kPointerSize)); __ 1648 src/x64/builtins-x64.cc __ cmpq(r8, rax); __ 1649 src/x64/builtins-x64.cc __ j(less, ©); __ 1653 src/x64/builtins-x64.cc __ LoadRoot(kScratchRegister, Heap::kUndefinedValueRootIndex); __ 1654 src/x64/builtins-x64.cc __ bind(&fill); __ 1655 src/x64/builtins-x64.cc __ incq(r8); __ 1656 src/x64/builtins-x64.cc __ push(kScratchRegister); __ 1657 src/x64/builtins-x64.cc __ cmpq(r8, rbx); __ 1658 src/x64/builtins-x64.cc __ j(less, &fill); __ 1661 src/x64/builtins-x64.cc __ movq(rdi, Operand(rbp, JavaScriptFrameConstants::kFunctionOffset)); __ 1665 src/x64/builtins-x64.cc __ bind(&invoke); __ 1666 src/x64/builtins-x64.cc __ call(rdx); __ 1673 src/x64/builtins-x64.cc __ ret(0); __ 1678 src/x64/builtins-x64.cc __ bind(&dont_adapt_arguments); __ 1679 src/x64/builtins-x64.cc __ jmp(rdx); __ 1687 src/x64/builtins-x64.cc __ movq(rbx, Operand(rsp, 0)); // return address __ 1688 src/x64/builtins-x64.cc __ movzxbq(rbx, Operand(rbx, 1)); // depth __ 1694 src/x64/builtins-x64.cc __ movq(rax, Operand(rbp, JavaScriptFrameConstants::kFunctionOffset)); __ 1695 src/x64/builtins-x64.cc __ movq(rcx, FieldOperand(rax, JSFunction::kSharedFunctionInfoOffset)); __ 1696 src/x64/builtins-x64.cc __ movq(rcx, FieldOperand(rcx, SharedFunctionInfo::kCodeOffset)); __ 1697 src/x64/builtins-x64.cc __ cmpb(rbx, FieldOperand(rcx, Code::kAllowOSRAtLoopNestingLevelOffset)); __ 1698 src/x64/builtins-x64.cc __ j(greater, &stack_check); __ 1704 src/x64/builtins-x64.cc __ push(rax); __ 1705 src/x64/builtins-x64.cc __ CallRuntime(Runtime::kCompileForOnStackReplacement, 1); __ 1711 src/x64/builtins-x64.cc __ SmiCompare(rax, Smi::FromInt(-1)); __ 1712 src/x64/builtins-x64.cc __ j(not_equal, &skip, Label::kNear); __ 1713 src/x64/builtins-x64.cc __ ret(0); __ 1717 src/x64/builtins-x64.cc __ bind(&stack_check); __ 1719 src/x64/builtins-x64.cc __ CompareRoot(rsp, Heap::kStackLimitRootIndex); __ 1720 src/x64/builtins-x64.cc __ j(above_equal, &ok, Label::kNear); __ 1723 src/x64/builtins-x64.cc __ TailCallStub(&stub); __ 1725 src/x64/builtins-x64.cc __ Abort("Unreachable code: returned from tail call."); __ 1727 src/x64/builtins-x64.cc __ bind(&ok); __ 1728 src/x64/builtins-x64.cc __ ret(0); __ 1730 src/x64/builtins-x64.cc __ bind(&skip); __ 1732 src/x64/builtins-x64.cc __ SmiToInteger32(rax, rax); __ 1733 src/x64/builtins-x64.cc __ push(rax); __ 44 src/x64/code-stubs-x64.cc __ SmiTest(rax); __ 45 src/x64/code-stubs-x64.cc __ j(not_zero, &check_heap_number, Label::kNear); __ 46 src/x64/code-stubs-x64.cc __ Ret(); __ 48 src/x64/code-stubs-x64.cc __ bind(&check_heap_number); __ 49 src/x64/code-stubs-x64.cc __ CompareRoot(FieldOperand(rax, HeapObject::kMapOffset), __ 51 src/x64/code-stubs-x64.cc __ j(not_equal, &call_builtin, Label::kNear); __ 52 src/x64/code-stubs-x64.cc __ Ret(); __ 54 src/x64/code-stubs-x64.cc __ bind(&call_builtin); __ 55 src/x64/code-stubs-x64.cc __ pop(rcx); // Pop return address. __ 56 src/x64/code-stubs-x64.cc __ push(rax); __ 57 src/x64/code-stubs-x64.cc __ push(rcx); // Push return address. __ 58 src/x64/code-stubs-x64.cc __ InvokeBuiltin(Builtins::TO_NUMBER, JUMP_FUNCTION); __ 68 src/x64/code-stubs-x64.cc __ AllocateInNewSpace(JSFunction::kSize, rax, rbx, rcx, &gc, TAG_OBJECT); __ 70 src/x64/code-stubs-x64.cc __ IncrementCounter(counters->fast_new_closure_total(), 1); __ 73 src/x64/code-stubs-x64.cc __ movq(rdx, Operand(rsp, 1 * kPointerSize)); __ 81 src/x64/code-stubs-x64.cc __ movq(rcx, Operand(rsi, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 82 src/x64/code-stubs-x64.cc __ movq(rcx, FieldOperand(rcx, GlobalObject::kGlobalContextOffset)); __ 83 src/x64/code-stubs-x64.cc __ movq(rbx, Operand(rcx, Context::SlotOffset(map_index))); __ 84 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, JSObject::kMapOffset), rbx); __ 88 src/x64/code-stubs-x64.cc __ LoadRoot(rbx, Heap::kEmptyFixedArrayRootIndex); __ 89 src/x64/code-stubs-x64.cc __ LoadRoot(r8, Heap::kTheHoleValueRootIndex); __ 90 src/x64/code-stubs-x64.cc __ LoadRoot(rdi, Heap::kUndefinedValueRootIndex); __ 91 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, JSObject::kPropertiesOffset), rbx); __ 92 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, JSObject::kElementsOffset), rbx); __ 93 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, JSFunction::kPrototypeOrInitialMapOffset), r8); __ 94 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, JSFunction::kSharedFunctionInfoOffset), rdx); __ 95 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, JSFunction::kContextOffset), rsi); __ 96 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, JSFunction::kLiteralsOffset), rbx); __ 104 src/x64/code-stubs-x64.cc __ movq(rbx, __ 106 src/x64/code-stubs-x64.cc __ testq(rbx, rbx); __ 107 src/x64/code-stubs-x64.cc __ j(not_zero, &check_optimized, Label::kNear); __ 109 src/x64/code-stubs-x64.cc __ bind(&install_unoptimized); __ 110 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, JSFunction::kNextFunctionLinkOffset), __ 112 src/x64/code-stubs-x64.cc __ movq(rdx, FieldOperand(rdx, SharedFunctionInfo::kCodeOffset)); __ 113 src/x64/code-stubs-x64.cc __ lea(rdx, FieldOperand(rdx, Code::kHeaderSize)); __ 114 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, JSFunction::kCodeEntryOffset), rdx); __ 117 src/x64/code-stubs-x64.cc __ ret(1 * kPointerSize); __ 119 src/x64/code-stubs-x64.cc __ bind(&check_optimized); __ 121 src/x64/code-stubs-x64.cc __ IncrementCounter(counters->fast_new_closure_try_optimized(), 1); __ 128 src/x64/code-stubs-x64.cc __ movq(rdx, FieldOperand(rbx, FixedArray::kHeaderSize + kPointerSize)); __ 129 src/x64/code-stubs-x64.cc __ cmpq(rcx, FieldOperand(rbx, FixedArray::kHeaderSize)); __ 130 src/x64/code-stubs-x64.cc __ j(equal, &install_optimized); __ 135 src/x64/code-stubs-x64.cc __ movq(rdx, FieldOperand(rbx, FixedArray::kLengthOffset)); __ 136 src/x64/code-stubs-x64.cc __ SmiToInteger32(rdx, rdx); __ 137 src/x64/code-stubs-x64.cc __ bind(&loop); __ 139 src/x64/code-stubs-x64.cc __ cmpq(rdx, Immediate(SharedFunctionInfo::kEntryLength)); __ 140 src/x64/code-stubs-x64.cc __ j(equal, &restore); __ 141 src/x64/code-stubs-x64.cc __ subq(rdx, Immediate(SharedFunctionInfo::kEntryLength)); // Skip an entry. __ 142 src/x64/code-stubs-x64.cc __ cmpq(rcx, FieldOperand(rbx, __ 146 src/x64/code-stubs-x64.cc __ j(not_equal, &loop, Label::kNear); __ 148 src/x64/code-stubs-x64.cc __ movq(rdx, FieldOperand(rbx, __ 153 src/x64/code-stubs-x64.cc __ bind(&install_optimized); __ 154 src/x64/code-stubs-x64.cc __ IncrementCounter(counters->fast_new_closure_install_optimized(), 1); __ 159 src/x64/code-stubs-x64.cc __ lea(rdx, FieldOperand(rdx, Code::kHeaderSize)); __ 160 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, JSFunction::kCodeEntryOffset), rdx); __ 163 src/x64/code-stubs-x64.cc __ movq(rdx, ContextOperand(rcx, Context::OPTIMIZED_FUNCTIONS_LIST)); __ 165 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, JSFunction::kNextFunctionLinkOffset), rdx); __ 168 src/x64/code-stubs-x64.cc __ movq(ContextOperand(rcx, Context::OPTIMIZED_FUNCTIONS_LIST), rax); __ 171 src/x64/code-stubs-x64.cc __ movq(rdx, rax); __ 172 src/x64/code-stubs-x64.cc __ RecordWriteContextSlot( __ 180 src/x64/code-stubs-x64.cc __ ret(1 * kPointerSize); __ 182 src/x64/code-stubs-x64.cc __ bind(&restore); __ 183 src/x64/code-stubs-x64.cc __ movq(rdx, Operand(rsp, 1 * kPointerSize)); __ 184 src/x64/code-stubs-x64.cc __ jmp(&install_unoptimized); __ 187 src/x64/code-stubs-x64.cc __ bind(&gc); __ 188 src/x64/code-stubs-x64.cc __ pop(rcx); // Temporarily remove return address. __ 189 src/x64/code-stubs-x64.cc __ pop(rdx); __ 190 src/x64/code-stubs-x64.cc __ push(rsi); __ 191 src/x64/code-stubs-x64.cc __ push(rdx); __ 192 src/x64/code-stubs-x64.cc __ PushRoot(Heap::kFalseValueRootIndex); __ 193 src/x64/code-stubs-x64.cc __ push(rcx); // Restore return address. __ 194 src/x64/code-stubs-x64.cc __ TailCallRuntime(Runtime::kNewClosure, 3, 1); __ 202 src/x64/code-stubs-x64.cc __ AllocateInNewSpace((length * kPointerSize) + FixedArray::kHeaderSize, __ 206 src/x64/code-stubs-x64.cc __ movq(rcx, Operand(rsp, 1 * kPointerSize)); __ 209 src/x64/code-stubs-x64.cc __ LoadRoot(kScratchRegister, Heap::kFunctionContextMapRootIndex); __ 210 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, HeapObject::kMapOffset), kScratchRegister); __ 211 src/x64/code-stubs-x64.cc __ Move(FieldOperand(rax, FixedArray::kLengthOffset), Smi::FromInt(length)); __ 214 src/x64/code-stubs-x64.cc __ Set(rbx, 0); // Set to NULL. __ 215 src/x64/code-stubs-x64.cc __ movq(Operand(rax, Context::SlotOffset(Context::CLOSURE_INDEX)), rcx); __ 216 src/x64/code-stubs-x64.cc __ movq(Operand(rax, Context::SlotOffset(Context::PREVIOUS_INDEX)), rsi); __ 217 src/x64/code-stubs-x64.cc __ movq(Operand(rax, Context::SlotOffset(Context::EXTENSION_INDEX)), rbx); __ 220 src/x64/code-stubs-x64.cc __ movq(rbx, Operand(rsi, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 221 src/x64/code-stubs-x64.cc __ movq(Operand(rax, Context::SlotOffset(Context::GLOBAL_INDEX)), rbx); __ 224 src/x64/code-stubs-x64.cc __ LoadRoot(rbx, Heap::kUndefinedValueRootIndex); __ 226 src/x64/code-stubs-x64.cc __ movq(Operand(rax, Context::SlotOffset(i)), rbx); __ 230 src/x64/code-stubs-x64.cc __ movq(rsi, rax); __ 231 src/x64/code-stubs-x64.cc __ ret(1 * kPointerSize); __ 234 src/x64/code-stubs-x64.cc __ bind(&gc); __ 235 src/x64/code-stubs-x64.cc __ TailCallRuntime(Runtime::kNewFunctionContext, 1, 1); __ 248 src/x64/code-stubs-x64.cc __ AllocateInNewSpace(FixedArray::SizeFor(length), __ 252 src/x64/code-stubs-x64.cc __ movq(rcx, Operand(rsp, 1 * kPointerSize)); __ 255 src/x64/code-stubs-x64.cc __ movq(rbx, Operand(rsp, 2 * kPointerSize)); __ 258 src/x64/code-stubs-x64.cc __ LoadRoot(kScratchRegister, Heap::kBlockContextMapRootIndex); __ 259 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, HeapObject::kMapOffset), kScratchRegister); __ 260 src/x64/code-stubs-x64.cc __ Move(FieldOperand(rax, FixedArray::kLengthOffset), Smi::FromInt(length)); __ 267 src/x64/code-stubs-x64.cc __ JumpIfNotSmi(rcx, &after_sentinel, Label::kNear); __ 270 src/x64/code-stubs-x64.cc __ cmpq(rcx, Immediate(0)); __ 271 src/x64/code-stubs-x64.cc __ Assert(equal, message); __ 273 src/x64/code-stubs-x64.cc __ movq(rcx, GlobalObjectOperand()); __ 274 src/x64/code-stubs-x64.cc __ movq(rcx, FieldOperand(rcx, GlobalObject::kGlobalContextOffset)); __ 275 src/x64/code-stubs-x64.cc __ movq(rcx, ContextOperand(rcx, Context::CLOSURE_INDEX)); __ 276 src/x64/code-stubs-x64.cc __ bind(&after_sentinel); __ 279 src/x64/code-stubs-x64.cc __ movq(ContextOperand(rax, Context::CLOSURE_INDEX), rcx); __ 280 src/x64/code-stubs-x64.cc __ movq(ContextOperand(rax, Context::PREVIOUS_INDEX), rsi); __ 281 src/x64/code-stubs-x64.cc __ movq(ContextOperand(rax, Context::EXTENSION_INDEX), rbx); __ 284 src/x64/code-stubs-x64.cc __ movq(rbx, ContextOperand(rsi, Context::GLOBAL_INDEX)); __ 285 src/x64/code-stubs-x64.cc __ movq(ContextOperand(rax, Context::GLOBAL_INDEX), rbx); __ 288 src/x64/code-stubs-x64.cc __ LoadRoot(rbx, Heap::kTheHoleValueRootIndex); __ 290 src/x64/code-stubs-x64.cc __ movq(ContextOperand(rax, i + Context::MIN_CONTEXT_SLOTS), rbx); __ 294 src/x64/code-stubs-x64.cc __ movq(rsi, rax); __ 295 src/x64/code-stubs-x64.cc __ ret(2 * kPointerSize); __ 298 src/x64/code-stubs-x64.cc __ bind(&gc); __ 299 src/x64/code-stubs-x64.cc __ TailCallRuntime(Runtime::kPushBlockContext, 2, 1); __ 324 src/x64/code-stubs-x64.cc __ AllocateInNewSpace(size, rax, rbx, rdx, fail, TAG_OBJECT); __ 329 src/x64/code-stubs-x64.cc __ movq(rbx, FieldOperand(rcx, i)); __ 330 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, i), rbx); __ 337 src/x64/code-stubs-x64.cc __ movq(rcx, FieldOperand(rcx, JSArray::kElementsOffset)); __ 338 src/x64/code-stubs-x64.cc __ lea(rdx, Operand(rax, JSArray::kSize)); __ 339 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, JSArray::kElementsOffset), rdx); __ 344 src/x64/code-stubs-x64.cc __ movq(rbx, FieldOperand(rcx, i)); __ 345 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rdx, i), rbx); __ 351 src/x64/code-stubs-x64.cc __ movq(rbx, FieldOperand(rcx, i)); __ 352 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rdx, i), rbx); __ 355 src/x64/code-stubs-x64.cc __ movsd(xmm0, FieldOperand(rcx, i)); __ 356 src/x64/code-stubs-x64.cc __ movsd(FieldOperand(rdx, i), xmm0); __ 373 src/x64/code-stubs-x64.cc __ movq(rcx, Operand(rsp, 3 * kPointerSize)); __ 374 src/x64/code-stubs-x64.cc __ movq(rax, Operand(rsp, 2 * kPointerSize)); __ 376 src/x64/code-stubs-x64.cc __ movq(rcx, __ 378 src/x64/code-stubs-x64.cc __ CompareRoot(rcx, Heap::kUndefinedValueRootIndex); __ 380 src/x64/code-stubs-x64.cc __ j(equal, &slow_case); __ 387 src/x64/code-stubs-x64.cc __ movq(rbx, FieldOperand(rcx, JSArray::kElementsOffset)); __ 388 src/x64/code-stubs-x64.cc __ Cmp(FieldOperand(rbx, HeapObject::kMapOffset), __ 390 src/x64/code-stubs-x64.cc __ j(not_equal, &check_fast_elements); __ 393 src/x64/code-stubs-x64.cc __ ret(3 * kPointerSize); __ 395 src/x64/code-stubs-x64.cc __ bind(&check_fast_elements); __ 396 src/x64/code-stubs-x64.cc __ Cmp(FieldOperand(rbx, HeapObject::kMapOffset), __ 398 src/x64/code-stubs-x64.cc __ j(not_equal, &double_elements); __ 401 src/x64/code-stubs-x64.cc __ ret(3 * kPointerSize); __ 403 src/x64/code-stubs-x64.cc __ bind(&double_elements); __ 422 src/x64/code-stubs-x64.cc __ push(rcx); __ 423 src/x64/code-stubs-x64.cc __ movq(rcx, FieldOperand(rcx, JSArray::kElementsOffset)); __ 424 src/x64/code-stubs-x64.cc __ CompareRoot(FieldOperand(rcx, HeapObject::kMapOffset), __ 426 src/x64/code-stubs-x64.cc __ Assert(equal, message); __ 427 src/x64/code-stubs-x64.cc __ pop(rcx); __ 431 src/x64/code-stubs-x64.cc __ ret(3 * kPointerSize); __ 433 src/x64/code-stubs-x64.cc __ bind(&slow_case); __ 434 src/x64/code-stubs-x64.cc __ TailCallRuntime(Runtime::kCreateArrayLiteralShallow, 3, 1); __ 449 src/x64/code-stubs-x64.cc __ movq(rcx, Operand(rsp, 4 * kPointerSize)); __ 450 src/x64/code-stubs-x64.cc __ movq(rax, Operand(rsp, 3 * kPointerSize)); __ 452 src/x64/code-stubs-x64.cc __ movq(rcx, __ 454 src/x64/code-stubs-x64.cc __ CompareRoot(rcx, Heap::kUndefinedValueRootIndex); __ 455 src/x64/code-stubs-x64.cc __ j(equal, &slow_case); __ 460 src/x64/code-stubs-x64.cc __ movq(rax, FieldOperand(rcx, HeapObject::kMapOffset)); __ 461 src/x64/code-stubs-x64.cc __ movzxbq(rax, FieldOperand(rax, Map::kInstanceSizeOffset)); __ 462 src/x64/code-stubs-x64.cc __ cmpq(rax, Immediate(size >> kPointerSizeLog2)); __ 463 src/x64/code-stubs-x64.cc __ j(not_equal, &slow_case); __ 467 src/x64/code-stubs-x64.cc __ AllocateInNewSpace(size, rax, rbx, rdx, &slow_case, TAG_OBJECT); __ 469 src/x64/code-stubs-x64.cc __ movq(rbx, FieldOperand(rcx, i)); __ 470 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, i), rbx); __ 474 src/x64/code-stubs-x64.cc __ ret(4 * kPointerSize); __ 476 src/x64/code-stubs-x64.cc __ bind(&slow_case); __ 477 src/x64/code-stubs-x64.cc __ TailCallRuntime(Runtime::kCreateObjectLiteralShallow, 4, 1); __ 491 src/x64/code-stubs-x64.cc __ movq(argument, Operand(rsp, 1 * kPointerSize)); __ 507 src/x64/code-stubs-x64.cc __ JumpIfNotSmi(argument, ¬_smi, Label::kNear); __ 510 src/x64/code-stubs-x64.cc __ movq(tos_, argument); __ 512 src/x64/code-stubs-x64.cc __ ret(1 * kPointerSize); __ 513 src/x64/code-stubs-x64.cc __ bind(¬_smi); __ 516 src/x64/code-stubs-x64.cc __ JumpIfSmi(argument, &patch, Label::kNear); __ 520 src/x64/code-stubs-x64.cc __ movq(map, FieldOperand(argument, HeapObject::kMapOffset)); __ 523 src/x64/code-stubs-x64.cc __ testb(FieldOperand(map, Map::kBitFieldOffset), __ 527 src/x64/code-stubs-x64.cc __ j(zero, ¬_undetectable, Label::kNear); __ 528 src/x64/code-stubs-x64.cc __ Set(tos_, 0); __ 529 src/x64/code-stubs-x64.cc __ ret(1 * kPointerSize); __ 530 src/x64/code-stubs-x64.cc __ bind(¬_undetectable); __ 537 src/x64/code-stubs-x64.cc __ CmpInstanceType(map, FIRST_SPEC_OBJECT_TYPE); __ 538 src/x64/code-stubs-x64.cc __ j(below, ¬_js_object, Label::kNear); __ 541 src/x64/code-stubs-x64.cc __ Set(tos_, 1); __ 543 src/x64/code-stubs-x64.cc __ ret(1 * kPointerSize); __ 544 src/x64/code-stubs-x64.cc __ bind(¬_js_object); __ 550 src/x64/code-stubs-x64.cc __ CmpInstanceType(map, FIRST_NONSTRING_TYPE); __ 551 src/x64/code-stubs-x64.cc __ j(above_equal, ¬_string, Label::kNear); __ 552 src/x64/code-stubs-x64.cc __ movq(tos_, FieldOperand(argument, String::kLengthOffset)); __ 553 src/x64/code-stubs-x64.cc __ ret(1 * kPointerSize); // the string length is OK as the return value __ 554 src/x64/code-stubs-x64.cc __ bind(¬_string); __ 560 src/x64/code-stubs-x64.cc __ CompareRoot(map, Heap::kHeapNumberMapRootIndex); __ 561 src/x64/code-stubs-x64.cc __ j(not_equal, ¬_heap_number, Label::kNear); __ 562 src/x64/code-stubs-x64.cc __ xorps(xmm0, xmm0); __ 563 src/x64/code-stubs-x64.cc __ ucomisd(xmm0, FieldOperand(argument, HeapNumber::kValueOffset)); __ 564 src/x64/code-stubs-x64.cc __ j(zero, &false_result, Label::kNear); __ 567 src/x64/code-stubs-x64.cc __ Set(tos_, 1); __ 569 src/x64/code-stubs-x64.cc __ ret(1 * kPointerSize); __ 570 src/x64/code-stubs-x64.cc __ bind(&false_result); __ 571 src/x64/code-stubs-x64.cc __ Set(tos_, 0); __ 572 src/x64/code-stubs-x64.cc __ ret(1 * kPointerSize); __ 573 src/x64/code-stubs-x64.cc __ bind(¬_heap_number); __ 576 src/x64/code-stubs-x64.cc __ bind(&patch); __ 582 src/x64/code-stubs-x64.cc __ PushCallerSaved(save_doubles_); __ 584 src/x64/code-stubs-x64.cc __ PrepareCallCFunction(argument_count); __ 586 src/x64/code-stubs-x64.cc __ LoadAddress(rcx, ExternalReference::isolate_address()); __ 588 src/x64/code-stubs-x64.cc __ LoadAddress(rdi, ExternalReference::isolate_address()); __ 592 src/x64/code-stubs-x64.cc __ CallCFunction( __ 595 src/x64/code-stubs-x64.cc __ PopCallerSaved(save_doubles_); __ 596 src/x64/code-stubs-x64.cc __ ret(0); __ 608 src/x64/code-stubs-x64.cc __ CompareRoot(argument, value); __ 609 src/x64/code-stubs-x64.cc __ j(not_equal, &different_value, Label::kNear); __ 612 src/x64/code-stubs-x64.cc __ Set(tos_, 0); __ 616 src/x64/code-stubs-x64.cc __ Set(tos_, 1); __ 618 src/x64/code-stubs-x64.cc __ ret(1 * kPointerSize); __ 619 src/x64/code-stubs-x64.cc __ bind(&different_value); __ 625 src/x64/code-stubs-x64.cc __ pop(rcx); // Get return address, operand is now on top of stack. __ 626 src/x64/code-stubs-x64.cc __ Push(Smi::FromInt(tos_.code())); __ 627 src/x64/code-stubs-x64.cc __ Push(Smi::FromInt(types_.ToByte())); __ 628 src/x64/code-stubs-x64.cc __ push(rcx); // Push return address. __ 631 src/x64/code-stubs-x64.cc __ TailCallExternalReference( __ 693 src/x64/code-stubs-x64.cc __ movq(double_value, FieldOperand(source, HeapNumber::kValueOffset)); __ 695 src/x64/code-stubs-x64.cc __ xorl(result, result); __ 696 src/x64/code-stubs-x64.cc __ movq(xmm0, double_value); // Save copy in xmm0 in case we need it there. __ 699 src/x64/code-stubs-x64.cc __ lea(double_exponent, Operand(double_value, double_value, times_1, 0)); __ 700 src/x64/code-stubs-x64.cc __ shr(double_exponent, Immediate(64 - HeapNumber::kExponentBits)); __ 701 src/x64/code-stubs-x64.cc __ subl(double_exponent, Immediate(HeapNumber::kExponentBias)); __ 703 src/x64/code-stubs-x64.cc __ cmpl(double_exponent, Immediate(63)); __ 704 src/x64/code-stubs-x64.cc __ j(above_equal, &exponent_63_plus, Label::kNear); __ 706 src/x64/code-stubs-x64.cc __ cvttsd2siq(result, xmm0); __ 707 src/x64/code-stubs-x64.cc __ jmp(&done, Label::kNear); __ 709 src/x64/code-stubs-x64.cc __ bind(&exponent_63_plus); __ 711 src/x64/code-stubs-x64.cc __ cmpl(double_exponent, Immediate(83)); __ 714 src/x64/code-stubs-x64.cc __ j(above, &done, Label::kNear); __ 721 src/x64/code-stubs-x64.cc __ addq(double_value, double_value); // Move sign bit to carry. __ 722 src/x64/code-stubs-x64.cc __ sbbl(result, result); // And convert carry to -1 in result register. __ 724 src/x64/code-stubs-x64.cc __ addl(double_value, result); __ 729 src/x64/code-stubs-x64.cc __ xorl(double_value, result); __ 733 src/x64/code-stubs-x64.cc __ leal(rcx, Operand(double_exponent, -HeapNumber::kMantissaBits - 1)); __ 734 src/x64/code-stubs-x64.cc __ shll_cl(double_value); __ 735 src/x64/code-stubs-x64.cc __ movl(result, double_value); __ 738 src/x64/code-stubs-x64.cc __ xorl(result, double_value); __ 739 src/x64/code-stubs-x64.cc __ leal(rcx, Operand(double_exponent, -HeapNumber::kMantissaBits - 1)); __ 740 src/x64/code-stubs-x64.cc __ shll_cl(result); __ 743 src/x64/code-stubs-x64.cc __ bind(&done); __ 766 src/x64/code-stubs-x64.cc __ pop(rcx); // Save return address. __ 768 src/x64/code-stubs-x64.cc __ push(rax); // the operand __ 769 src/x64/code-stubs-x64.cc __ Push(Smi::FromInt(op_)); __ 770 src/x64/code-stubs-x64.cc __ Push(Smi::FromInt(mode_)); __ 771 src/x64/code-stubs-x64.cc __ Push(Smi::FromInt(operand_type_)); __ 773 src/x64/code-stubs-x64.cc __ push(rcx); // Push return address. __ 777 src/x64/code-stubs-x64.cc __ TailCallExternalReference( __ 800 src/x64/code-stubs-x64.cc __ bind(&slow); __ 808 src/x64/code-stubs-x64.cc __ bind(&non_smi); __ 819 src/x64/code-stubs-x64.cc __ JumpIfNotSmi(rax, non_smi, non_smi_near); __ 820 src/x64/code-stubs-x64.cc __ SmiNeg(rax, rax, &done, Label::kNear); __ 821 src/x64/code-stubs-x64.cc __ jmp(slow, slow_near); __ 822 src/x64/code-stubs-x64.cc __ bind(&done); __ 823 src/x64/code-stubs-x64.cc __ ret(0); __ 830 src/x64/code-stubs-x64.cc __ JumpIfNotSmi(rax, non_smi, non_smi_near); __ 831 src/x64/code-stubs-x64.cc __ SmiNot(rax, rax); __ 832 src/x64/code-stubs-x64.cc __ ret(0); __ 854 src/x64/code-stubs-x64.cc __ bind(&non_smi); __ 856 src/x64/code-stubs-x64.cc __ bind(&slow); __ 858 src/x64/code-stubs-x64.cc __ bind(&call_builtin); __ 867 src/x64/code-stubs-x64.cc __ bind(&non_smi); __ 869 src/x64/code-stubs-x64.cc __ bind(&slow); __ 877 src/x64/code-stubs-x64.cc __ CompareRoot(FieldOperand(rax, HeapObject::kMapOffset), __ 879 src/x64/code-stubs-x64.cc __ j(not_equal, slow); __ 883 src/x64/code-stubs-x64.cc __ Set(kScratchRegister, 0x01); __ 884 src/x64/code-stubs-x64.cc __ shl(kScratchRegister, Immediate(63)); __ 885 src/x64/code-stubs-x64.cc __ xor_(FieldOperand(rax, HeapNumber::kValueOffset), kScratchRegister); __ 890 src/x64/code-stubs-x64.cc __ AllocateHeapNumber(rcx, rbx, &slow_allocate_heapnumber); __ 891 src/x64/code-stubs-x64.cc __ jmp(&heapnumber_allocated); __ 893 src/x64/code-stubs-x64.cc __ bind(&slow_allocate_heapnumber); __ 896 src/x64/code-stubs-x64.cc __ push(rax); __ 897 src/x64/code-stubs-x64.cc __ CallRuntime(Runtime::kNumberAlloc, 0); __ 898 src/x64/code-stubs-x64.cc __ movq(rcx, rax); __ 899 src/x64/code-stubs-x64.cc __ pop(rax); __ 901 src/x64/code-stubs-x64.cc __ bind(&heapnumber_allocated); __ 905 src/x64/code-stubs-x64.cc __ movq(rdx, FieldOperand(rax, HeapNumber::kValueOffset)); __ 906 src/x64/code-stubs-x64.cc __ Set(kScratchRegister, 0x01); __ 907 src/x64/code-stubs-x64.cc __ shl(kScratchRegister, Immediate(63)); __ 908 src/x64/code-stubs-x64.cc __ xor_(rdx, kScratchRegister); // Flip sign. __ 909 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rcx, HeapNumber::kValueOffset), rdx); __ 910 src/x64/code-stubs-x64.cc __ movq(rax, rcx); __ 912 src/x64/code-stubs-x64.cc __ ret(0); __ 919 src/x64/code-stubs-x64.cc __ CompareRoot(FieldOperand(rax, HeapObject::kMapOffset), __ 921 src/x64/code-stubs-x64.cc __ j(not_equal, slow); __ 927 src/x64/code-stubs-x64.cc __ notl(rax); __ 928 src/x64/code-stubs-x64.cc __ Integer32ToSmi(rax, rax); __ 929 src/x64/code-stubs-x64.cc __ ret(0); __ 951 src/x64/code-stubs-x64.cc __ bind(&non_smi); __ 953 src/x64/code-stubs-x64.cc __ bind(&slow); __ 961 src/x64/code-stubs-x64.cc __ bind(&non_smi); __ 963 src/x64/code-stubs-x64.cc __ bind(&slow); __ 970 src/x64/code-stubs-x64.cc __ pop(rcx); // pop return address __ 971 src/x64/code-stubs-x64.cc __ push(rax); __ 972 src/x64/code-stubs-x64.cc __ push(rcx); // push return address __ 975 src/x64/code-stubs-x64.cc __ InvokeBuiltin(Builtins::UNARY_MINUS, JUMP_FUNCTION); __ 978 src/x64/code-stubs-x64.cc __ InvokeBuiltin(Builtins::BIT_NOT, JUMP_FUNCTION); __ 1001 src/x64/code-stubs-x64.cc __ pop(rcx); // Save return address. __ 1002 src/x64/code-stubs-x64.cc __ push(rdx); __ 1003 src/x64/code-stubs-x64.cc __ push(rax); __ 1007 src/x64/code-stubs-x64.cc __ Push(Smi::FromInt(MinorKey())); __ 1008 src/x64/code-stubs-x64.cc __ Push(Smi::FromInt(op_)); __ 1009 src/x64/code-stubs-x64.cc __ Push(Smi::FromInt(operands_type_)); __ 1011 src/x64/code-stubs-x64.cc __ push(rcx); // Push return address. __ 1015 src/x64/code-stubs-x64.cc __ TailCallExternalReference( __ 1101 src/x64/code-stubs-x64.cc __ JumpIfNotBothSmi(left, right, ¬_smis); __ 1105 src/x64/code-stubs-x64.cc __ bind(&smi_values); __ 1111 src/x64/code-stubs-x64.cc __ SmiAdd(right, right, left, &use_fp_on_smis); // ADD is commutative. __ 1115 src/x64/code-stubs-x64.cc __ SmiSub(left, left, right, &use_fp_on_smis); __ 1116 src/x64/code-stubs-x64.cc __ movq(rax, left); __ 1121 src/x64/code-stubs-x64.cc __ SmiMul(right, right, left, &use_fp_on_smis); // MUL is commutative. __ 1128 src/x64/code-stubs-x64.cc __ movq(rbx, rax); __ 1129 src/x64/code-stubs-x64.cc __ movq(rcx, rdx); __ 1130 src/x64/code-stubs-x64.cc __ SmiDiv(rax, left, right, &use_fp_on_smis); __ 1137 src/x64/code-stubs-x64.cc __ movq(rbx, rax); __ 1138 src/x64/code-stubs-x64.cc __ movq(rcx, rdx); __ 1139 src/x64/code-stubs-x64.cc __ SmiMod(rax, left, right, &use_fp_on_smis); __ 1144 src/x64/code-stubs-x64.cc __ SmiOrIfSmis(right, right, left, ¬_smis); // BIT_OR is commutative. __ 1149 src/x64/code-stubs-x64.cc __ SmiXor(right, right, left); // BIT_XOR is commutative. __ 1154 src/x64/code-stubs-x64.cc __ SmiAnd(right, right, left); // BIT_AND is commutative. __ 1158 src/x64/code-stubs-x64.cc __ SmiShiftLeft(left, left, right); __ 1159 src/x64/code-stubs-x64.cc __ movq(rax, left); __ 1163 src/x64/code-stubs-x64.cc __ SmiShiftArithmeticRight(left, left, right); __ 1164 src/x64/code-stubs-x64.cc __ movq(rax, left); __ 1168 src/x64/code-stubs-x64.cc __ SmiShiftLogicalRight(left, left, right, &use_fp_on_smis); __ 1169 src/x64/code-stubs-x64.cc __ movq(rax, left); __ 1177 src/x64/code-stubs-x64.cc __ ret(0); __ 1183 src/x64/code-stubs-x64.cc __ bind(&use_fp_on_smis); __ 1186 src/x64/code-stubs-x64.cc __ movq(rdx, rcx); __ 1187 src/x64/code-stubs-x64.cc __ movq(rax, rbx); __ 1191 src/x64/code-stubs-x64.cc __ AllocateHeapNumber(rcx, rbx, slow); __ 1194 src/x64/code-stubs-x64.cc __ SmiToInteger32(left, left); __ 1195 src/x64/code-stubs-x64.cc __ cvtqsi2sd(xmm0, left); __ 1199 src/x64/code-stubs-x64.cc case Token::ADD: __ addsd(xmm0, xmm1); break; __ 1200 src/x64/code-stubs-x64.cc case Token::SUB: __ subsd(xmm0, xmm1); break; __ 1201 src/x64/code-stubs-x64.cc case Token::MUL: __ mulsd(xmm0, xmm1); break; __ 1202 src/x64/code-stubs-x64.cc case Token::DIV: __ divsd(xmm0, xmm1); break; __ 1206 src/x64/code-stubs-x64.cc __ movsd(FieldOperand(rcx, HeapNumber::kValueOffset), xmm0); __ 1207 src/x64/code-stubs-x64.cc __ movq(rax, rcx); __ 1208 src/x64/code-stubs-x64.cc __ ret(0); __ 1210 src/x64/code-stubs-x64.cc __ jmp(&fail); __ 1219 src/x64/code-stubs-x64.cc __ bind(¬_smis); __ 1223 src/x64/code-stubs-x64.cc __ jmp(&smi_values); __ 1224 src/x64/code-stubs-x64.cc __ bind(&fail); __ 1239 src/x64/code-stubs-x64.cc case Token::ADD: __ addsd(xmm0, xmm1); break; __ 1240 src/x64/code-stubs-x64.cc case Token::SUB: __ subsd(xmm0, xmm1); break; __ 1241 src/x64/code-stubs-x64.cc case Token::MUL: __ mulsd(xmm0, xmm1); break; __ 1242 src/x64/code-stubs-x64.cc case Token::DIV: __ divsd(xmm0, xmm1); break; __ 1246 src/x64/code-stubs-x64.cc __ movsd(FieldOperand(rax, HeapNumber::kValueOffset), xmm0); __ 1247 src/x64/code-stubs-x64.cc __ ret(0); __ 1252 src/x64/code-stubs-x64.cc __ jmp(allocation_failure); __ 1263 src/x64/code-stubs-x64.cc __ LoadRoot(heap_number_map, Heap::kHeapNumberMapRootIndex); __ 1267 src/x64/code-stubs-x64.cc case Token::BIT_OR: __ orl(rax, rcx); break; __ 1268 src/x64/code-stubs-x64.cc case Token::BIT_AND: __ andl(rax, rcx); break; __ 1269 src/x64/code-stubs-x64.cc case Token::BIT_XOR: __ xorl(rax, rcx); break; __ 1270 src/x64/code-stubs-x64.cc case Token::SAR: __ sarl_cl(rax); break; __ 1271 src/x64/code-stubs-x64.cc case Token::SHL: __ shll_cl(rax); break; __ 1273 src/x64/code-stubs-x64.cc __ shrl_cl(rax); __ 1276 src/x64/code-stubs-x64.cc __ testl(rax, rax); __ 1277 src/x64/code-stubs-x64.cc __ j(negative, &non_smi_shr_result); __ 1284 src/x64/code-stubs-x64.cc __ Integer32ToSmi(rax, rax); __ 1285 src/x64/code-stubs-x64.cc __ Ret(); __ 1291 src/x64/code-stubs-x64.cc __ bind(&non_smi_shr_result); __ 1293 src/x64/code-stubs-x64.cc __ movl(rbx, rax); // rbx holds result value (uint32 value as int64). __ 1297 src/x64/code-stubs-x64.cc __ AllocateInNewSpace(HeapNumber::kSize, __ 1305 src/x64/code-stubs-x64.cc __ AbortIfNotRootValue(heap_number_map, __ 1309 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, HeapObject::kMapOffset), __ 1311 src/x64/code-stubs-x64.cc __ cvtqsi2sd(xmm0, rbx); __ 1312 src/x64/code-stubs-x64.cc __ movsd(FieldOperand(rax, HeapNumber::kValueOffset), xmm0); __ 1313 src/x64/code-stubs-x64.cc __ Ret(); __ 1315 src/x64/code-stubs-x64.cc __ bind(&allocation_failed); __ 1318 src/x64/code-stubs-x64.cc __ Integer32ToSmi(rax, rcx); __ 1319 src/x64/code-stubs-x64.cc __ Integer32ToSmi(rdx, rbx); __ 1320 src/x64/code-stubs-x64.cc __ jmp(allocation_failure); __ 1328 src/x64/code-stubs-x64.cc __ Abort("Unexpected fall-through in " __ 1343 src/x64/code-stubs-x64.cc __ JumpIfSmi(left, &left_not_string, Label::kNear); __ 1344 src/x64/code-stubs-x64.cc __ CmpObjectType(left, FIRST_NONSTRING_TYPE, rcx); __ 1345 src/x64/code-stubs-x64.cc __ j(above_equal, &left_not_string, Label::kNear); __ 1348 src/x64/code-stubs-x64.cc __ TailCallStub(&string_add_left_stub); __ 1351 src/x64/code-stubs-x64.cc __ bind(&left_not_string); __ 1352 src/x64/code-stubs-x64.cc __ JumpIfSmi(right, &call_runtime, Label::kNear); __ 1353 src/x64/code-stubs-x64.cc __ CmpObjectType(right, FIRST_NONSTRING_TYPE, rcx); __ 1354 src/x64/code-stubs-x64.cc __ j(above_equal, &call_runtime, Label::kNear); __ 1358 src/x64/code-stubs-x64.cc __ TailCallStub(&string_add_right_stub); __ 1361 src/x64/code-stubs-x64.cc __ bind(&call_runtime); __ 1369 src/x64/code-stubs-x64.cc __ InvokeBuiltin(Builtins::ADD, JUMP_FUNCTION); __ 1372 src/x64/code-stubs-x64.cc __ InvokeBuiltin(Builtins::SUB, JUMP_FUNCTION); __ 1375 src/x64/code-stubs-x64.cc __ InvokeBuiltin(Builtins::MUL, JUMP_FUNCTION); __ 1378 src/x64/code-stubs-x64.cc __ InvokeBuiltin(Builtins::DIV, JUMP_FUNCTION); __ 1381 src/x64/code-stubs-x64.cc __ InvokeBuiltin(Builtins::MOD, JUMP_FUNCTION); __ 1384 src/x64/code-stubs-x64.cc __ InvokeBuiltin(Builtins::BIT_OR, JUMP_FUNCTION); __ 1387 src/x64/code-stubs-x64.cc __ InvokeBuiltin(Builtins::BIT_AND, JUMP_FUNCTION); __ 1390 src/x64/code-stubs-x64.cc __ InvokeBuiltin(Builtins::BIT_XOR, JUMP_FUNCTION); __ 1393 src/x64/code-stubs-x64.cc __ InvokeBuiltin(Builtins::SAR, JUMP_FUNCTION); __ 1396 src/x64/code-stubs-x64.cc __ InvokeBuiltin(Builtins::SHL, JUMP_FUNCTION); __ 1399 src/x64/code-stubs-x64.cc __ InvokeBuiltin(Builtins::SHR, JUMP_FUNCTION); __ 1424 src/x64/code-stubs-x64.cc __ bind(&call_runtime); __ 1452 src/x64/code-stubs-x64.cc __ JumpIfSmi(left, &call_runtime); __ 1453 src/x64/code-stubs-x64.cc __ CmpObjectType(left, FIRST_NONSTRING_TYPE, rcx); __ 1454 src/x64/code-stubs-x64.cc __ j(above_equal, &call_runtime); __ 1457 src/x64/code-stubs-x64.cc __ JumpIfSmi(right, &call_runtime); __ 1458 src/x64/code-stubs-x64.cc __ CmpObjectType(right, FIRST_NONSTRING_TYPE, rcx); __ 1459 src/x64/code-stubs-x64.cc __ j(above_equal, &call_runtime); __ 1463 src/x64/code-stubs-x64.cc __ TailCallStub(&string_add_stub); __ 1465 src/x64/code-stubs-x64.cc __ bind(&call_runtime); __ 1481 src/x64/code-stubs-x64.cc __ CompareRoot(rdx, Heap::kUndefinedValueRootIndex); __ 1482 src/x64/code-stubs-x64.cc __ j(not_equal, &check, Label::kNear); __ 1484 src/x64/code-stubs-x64.cc __ xor_(rdx, rdx); __ 1486 src/x64/code-stubs-x64.cc __ LoadRoot(rdx, Heap::kNanValueRootIndex); __ 1488 src/x64/code-stubs-x64.cc __ jmp(&done, Label::kNear); __ 1489 src/x64/code-stubs-x64.cc __ bind(&check); __ 1490 src/x64/code-stubs-x64.cc __ CompareRoot(rax, Heap::kUndefinedValueRootIndex); __ 1491 src/x64/code-stubs-x64.cc __ j(not_equal, &done, Label::kNear); __ 1493 src/x64/code-stubs-x64.cc __ xor_(rax, rax); __ 1495 src/x64/code-stubs-x64.cc __ LoadRoot(rax, Heap::kNanValueRootIndex); __ 1497 src/x64/code-stubs-x64.cc __ bind(&done); __ 1507 src/x64/code-stubs-x64.cc __ bind(¬_number); __ 1510 src/x64/code-stubs-x64.cc __ bind(&gc_required); __ 1522 src/x64/code-stubs-x64.cc __ bind(&call_string_add_or_runtime); __ 1527 src/x64/code-stubs-x64.cc __ bind(&call_runtime); __ 1540 src/x64/code-stubs-x64.cc __ JumpIfNotSmi(rdx, &skip_allocation); __ 1543 src/x64/code-stubs-x64.cc __ AllocateHeapNumber(rbx, rcx, alloc_failure); __ 1546 src/x64/code-stubs-x64.cc __ movq(rdx, rbx); __ 1547 src/x64/code-stubs-x64.cc __ bind(&skip_allocation); __ 1549 src/x64/code-stubs-x64.cc __ movq(rax, rdx); __ 1555 src/x64/code-stubs-x64.cc __ JumpIfNotSmi(rax, &skip_allocation); __ 1560 src/x64/code-stubs-x64.cc __ AllocateHeapNumber(rbx, rcx, alloc_failure); __ 1563 src/x64/code-stubs-x64.cc __ movq(rax, rbx); __ 1564 src/x64/code-stubs-x64.cc __ bind(&skip_allocation); __ 1572 src/x64/code-stubs-x64.cc __ pop(rcx); __ 1573 src/x64/code-stubs-x64.cc __ push(rdx); __ 1574 src/x64/code-stubs-x64.cc __ push(rax); __ 1575 src/x64/code-stubs-x64.cc __ push(rcx); __ 1600 src/x64/code-stubs-x64.cc __ movq(rax, Operand(rsp, kPointerSize)); __ 1601 src/x64/code-stubs-x64.cc __ JumpIfNotSmi(rax, &input_not_smi, Label::kNear); __ 1604 src/x64/code-stubs-x64.cc __ SmiToInteger32(rax, rax); __ 1605 src/x64/code-stubs-x64.cc __ subq(rsp, Immediate(kDoubleSize)); __ 1606 src/x64/code-stubs-x64.cc __ cvtlsi2sd(xmm1, rax); __ 1607 src/x64/code-stubs-x64.cc __ movsd(Operand(rsp, 0), xmm1); __ 1608 src/x64/code-stubs-x64.cc __ movq(rbx, xmm1); __ 1609 src/x64/code-stubs-x64.cc __ movq(rdx, xmm1); __ 1610 src/x64/code-stubs-x64.cc __ fld_d(Operand(rsp, 0)); __ 1611 src/x64/code-stubs-x64.cc __ addq(rsp, Immediate(kDoubleSize)); __ 1612 src/x64/code-stubs-x64.cc __ jmp(&loaded, Label::kNear); __ 1614 src/x64/code-stubs-x64.cc __ bind(&input_not_smi); __ 1616 src/x64/code-stubs-x64.cc __ LoadRoot(rbx, Heap::kHeapNumberMapRootIndex); __ 1617 src/x64/code-stubs-x64.cc __ cmpq(rbx, FieldOperand(rax, HeapObject::kMapOffset)); __ 1618 src/x64/code-stubs-x64.cc __ j(not_equal, &runtime_call); __ 1621 src/x64/code-stubs-x64.cc __ fld_d(FieldOperand(rax, HeapNumber::kValueOffset)); __ 1622 src/x64/code-stubs-x64.cc __ movq(rbx, FieldOperand(rax, HeapNumber::kValueOffset)); __ 1623 src/x64/code-stubs-x64.cc __ movq(rdx, rbx); __ 1625 src/x64/code-stubs-x64.cc __ bind(&loaded); __ 1627 src/x64/code-stubs-x64.cc __ movq(rbx, xmm1); __ 1628 src/x64/code-stubs-x64.cc __ movq(rdx, xmm1); __ 1640 src/x64/code-stubs-x64.cc __ sar(rdx, Immediate(32)); __ 1641 src/x64/code-stubs-x64.cc __ xorl(rdx, rbx); __ 1642 src/x64/code-stubs-x64.cc __ movl(rcx, rdx); __ 1643 src/x64/code-stubs-x64.cc __ movl(rax, rdx); __ 1644 src/x64/code-stubs-x64.cc __ movl(rdi, rdx); __ 1645 src/x64/code-stubs-x64.cc __ sarl(rdx, Immediate(8)); __ 1646 src/x64/code-stubs-x64.cc __ sarl(rcx, Immediate(16)); __ 1647 src/x64/code-stubs-x64.cc __ sarl(rax, Immediate(24)); __ 1648 src/x64/code-stubs-x64.cc __ xorl(rcx, rdx); __ 1649 src/x64/code-stubs-x64.cc __ xorl(rax, rdi); __ 1650 src/x64/code-stubs-x64.cc __ xorl(rcx, rax); __ 1652 src/x64/code-stubs-x64.cc __ andl(rcx, Immediate(TranscendentalCache::SubCache::kCacheSize - 1)); __ 1659 src/x64/code-stubs-x64.cc __ movq(rax, cache_array); __ 1662 src/x64/code-stubs-x64.cc __ movq(rax, Operand(rax, cache_array_index)); __ 1665 src/x64/code-stubs-x64.cc __ testq(rax, rax); __ 1666 src/x64/code-stubs-x64.cc __ j(zero, &runtime_call_clear_stack); // Only clears stack if TAGGED. __ 1684 src/x64/code-stubs-x64.cc __ addl(rcx, rcx); __ 1685 src/x64/code-stubs-x64.cc __ lea(rcx, Operand(rax, rcx, times_8, 0)); __ 1688 src/x64/code-stubs-x64.cc __ cmpq(rbx, Operand(rcx, 0)); __ 1689 src/x64/code-stubs-x64.cc __ j(not_equal, &cache_miss, Label::kNear); __ 1692 src/x64/code-stubs-x64.cc __ IncrementCounter(counters->transcendental_cache_hit(), 1); __ 1693 src/x64/code-stubs-x64.cc __ movq(rax, Operand(rcx, 2 * kIntSize)); __ 1695 src/x64/code-stubs-x64.cc __ fstp(0); // Clear FPU stack. __ 1696 src/x64/code-stubs-x64.cc __ ret(kPointerSize); __ 1698 src/x64/code-stubs-x64.cc __ movsd(xmm1, FieldOperand(rax, HeapNumber::kValueOffset)); __ 1699 src/x64/code-stubs-x64.cc __ Ret(); __ 1702 src/x64/code-stubs-x64.cc __ bind(&cache_miss); __ 1703 src/x64/code-stubs-x64.cc __ IncrementCounter(counters->transcendental_cache_miss(), 1); __ 1706 src/x64/code-stubs-x64.cc __ AllocateHeapNumber(rax, rdi, &runtime_call_clear_stack); __ 1708 src/x64/code-stubs-x64.cc __ AllocateHeapNumber(rax, rdi, &skip_cache); __ 1709 src/x64/code-stubs-x64.cc __ movsd(FieldOperand(rax, HeapNumber::kValueOffset), xmm1); __ 1710 src/x64/code-stubs-x64.cc __ fld_d(FieldOperand(rax, HeapNumber::kValueOffset)); __ 1713 src/x64/code-stubs-x64.cc __ movq(Operand(rcx, 0), rbx); __ 1714 src/x64/code-stubs-x64.cc __ movq(Operand(rcx, 2 * kIntSize), rax); __ 1715 src/x64/code-stubs-x64.cc __ fstp_d(FieldOperand(rax, HeapNumber::kValueOffset)); __ 1717 src/x64/code-stubs-x64.cc __ ret(kPointerSize); __ 1719 src/x64/code-stubs-x64.cc __ movsd(xmm1, FieldOperand(rax, HeapNumber::kValueOffset)); __ 1720 src/x64/code-stubs-x64.cc __ Ret(); __ 1723 src/x64/code-stubs-x64.cc __ bind(&skip_cache); __ 1724 src/x64/code-stubs-x64.cc __ subq(rsp, Immediate(kDoubleSize)); __ 1725 src/x64/code-stubs-x64.cc __ movsd(Operand(rsp, 0), xmm1); __ 1726 src/x64/code-stubs-x64.cc __ fld_d(Operand(rsp, 0)); __ 1728 src/x64/code-stubs-x64.cc __ fstp_d(Operand(rsp, 0)); __ 1729 src/x64/code-stubs-x64.cc __ movsd(xmm1, Operand(rsp, 0)); __ 1730 src/x64/code-stubs-x64.cc __ addq(rsp, Immediate(kDoubleSize)); __ 1736 src/x64/code-stubs-x64.cc __ Push(Smi::FromInt(2 * kDoubleSize)); __ 1737 src/x64/code-stubs-x64.cc __ CallRuntimeSaveDoubles(Runtime::kAllocateInNewSpace); __ 1739 src/x64/code-stubs-x64.cc __ Ret(); __ 1744 src/x64/code-stubs-x64.cc __ bind(&runtime_call_clear_stack); __ 1745 src/x64/code-stubs-x64.cc __ fstp(0); __ 1746 src/x64/code-stubs-x64.cc __ bind(&runtime_call); __ 1747 src/x64/code-stubs-x64.cc __ TailCallExternalReference( __ 1750 src/x64/code-stubs-x64.cc __ bind(&runtime_call_clear_stack); __ 1751 src/x64/code-stubs-x64.cc __ bind(&runtime_call); __ 1752 src/x64/code-stubs-x64.cc __ AllocateHeapNumber(rax, rdi, &skip_cache); __ 1753 src/x64/code-stubs-x64.cc __ movsd(FieldOperand(rax, HeapNumber::kValueOffset), xmm1); __ 1756 src/x64/code-stubs-x64.cc __ push(rax); __ 1757 src/x64/code-stubs-x64.cc __ CallRuntime(RuntimeFunction(), 1); __ 1759 src/x64/code-stubs-x64.cc __ movsd(xmm1, FieldOperand(rax, HeapNumber::kValueOffset)); __ 1760 src/x64/code-stubs-x64.cc __ Ret(); __ 1796 src/x64/code-stubs-x64.cc __ movq(rdi, rbx); __ 1798 src/x64/code-stubs-x64.cc __ shr(rdi, Immediate(HeapNumber::kMantissaBits)); __ 1800 src/x64/code-stubs-x64.cc __ andl(rdi, Immediate((1 << HeapNumber::kExponentBits) - 1)); __ 1802 src/x64/code-stubs-x64.cc __ cmpl(rdi, Immediate(supported_exponent_limit)); __ 1803 src/x64/code-stubs-x64.cc __ j(below, &in_range); __ 1805 src/x64/code-stubs-x64.cc __ cmpl(rdi, Immediate(0x7ff)); __ 1807 src/x64/code-stubs-x64.cc __ j(not_equal, &non_nan_result, Label::kNear); __ 1809 src/x64/code-stubs-x64.cc __ fstp(0); __ 1811 src/x64/code-stubs-x64.cc __ subq(rsp, Immediate(kPointerSize)); __ 1812 src/x64/code-stubs-x64.cc __ movl(Operand(rsp, 4), Immediate(0x7ff80000)); __ 1813 src/x64/code-stubs-x64.cc __ movl(Operand(rsp, 0), Immediate(0x00000000)); __ 1814 src/x64/code-stubs-x64.cc __ fld_d(Operand(rsp, 0)); __ 1815 src/x64/code-stubs-x64.cc __ addq(rsp, Immediate(kPointerSize)); __ 1816 src/x64/code-stubs-x64.cc __ jmp(&done); __ 1818 src/x64/code-stubs-x64.cc __ bind(&non_nan_result); __ 1821 src/x64/code-stubs-x64.cc __ movq(rdi, rax); // Save rax before using fnstsw_ax. __ 1822 src/x64/code-stubs-x64.cc __ fldpi(); __ 1823 src/x64/code-stubs-x64.cc __ fadd(0); __ 1824 src/x64/code-stubs-x64.cc __ fld(1); __ 1828 src/x64/code-stubs-x64.cc __ fwait(); __ 1829 src/x64/code-stubs-x64.cc __ fnstsw_ax(); __ 1831 src/x64/code-stubs-x64.cc __ testl(rax, Immediate(5)); // #IO and #ZD flags of FPU status word. __ 1832 src/x64/code-stubs-x64.cc __ j(zero, &no_exceptions); __ 1833 src/x64/code-stubs-x64.cc __ fnclex(); __ 1834 src/x64/code-stubs-x64.cc __ bind(&no_exceptions); __ 1840 src/x64/code-stubs-x64.cc __ bind(&partial_remainder_loop); __ 1841 src/x64/code-stubs-x64.cc __ fprem1(); __ 1842 src/x64/code-stubs-x64.cc __ fwait(); __ 1843 src/x64/code-stubs-x64.cc __ fnstsw_ax(); __ 1844 src/x64/code-stubs-x64.cc __ testl(rax, Immediate(0x400)); // Check C2 bit of FPU status word. __ 1847 src/x64/code-stubs-x64.cc __ j(not_zero, &partial_remainder_loop); __ 1850 src/x64/code-stubs-x64.cc __ fstp(2); __ 1852 src/x64/code-stubs-x64.cc __ fstp(0); __ 1854 src/x64/code-stubs-x64.cc __ movq(rax, rdi); // Restore rax, pointer to the new HeapNumber. __ 1855 src/x64/code-stubs-x64.cc __ bind(&in_range); __ 1858 src/x64/code-stubs-x64.cc __ fsin(); __ 1861 src/x64/code-stubs-x64.cc __ fcos(); __ 1866 src/x64/code-stubs-x64.cc __ fptan(); __ 1867 src/x64/code-stubs-x64.cc __ fstp(0); // Pop FP register stack. __ 1872 src/x64/code-stubs-x64.cc __ bind(&done); __ 1875 src/x64/code-stubs-x64.cc __ fldln2(); __ 1876 src/x64/code-stubs-x64.cc __ fxch(); __ 1877 src/x64/code-stubs-x64.cc __ fyl2x(); __ 1891 src/x64/code-stubs-x64.cc __ JumpIfNotSmi(rdx, &rdx_is_object); __ 1892 src/x64/code-stubs-x64.cc __ SmiToInteger32(rdx, rdx); __ 1893 src/x64/code-stubs-x64.cc __ JumpIfSmi(rax, &rax_is_smi); __ 1895 src/x64/code-stubs-x64.cc __ bind(&rax_is_object); __ 1897 src/x64/code-stubs-x64.cc __ jmp(&done); __ 1899 src/x64/code-stubs-x64.cc __ bind(&rdx_is_object); __ 1901 src/x64/code-stubs-x64.cc __ JumpIfNotSmi(rax, &rax_is_object); __ 1902 src/x64/code-stubs-x64.cc __ bind(&rax_is_smi); __ 1903 src/x64/code-stubs-x64.cc __ SmiToInteger32(rcx, rax); __ 1905 src/x64/code-stubs-x64.cc __ bind(&done); __ 1906 src/x64/code-stubs-x64.cc __ movl(rax, rdx); __ 1921 src/x64/code-stubs-x64.cc __ JumpIfNotSmi(rdx, &arg1_is_object); __ 1922 src/x64/code-stubs-x64.cc __ SmiToInteger32(r8, rdx); __ 1923 src/x64/code-stubs-x64.cc __ jmp(&load_arg2); __ 1926 src/x64/code-stubs-x64.cc __ bind(&check_undefined_arg1); __ 1927 src/x64/code-stubs-x64.cc __ CompareRoot(rdx, Heap::kUndefinedValueRootIndex); __ 1928 src/x64/code-stubs-x64.cc __ j(not_equal, conversion_failure); __ 1929 src/x64/code-stubs-x64.cc __ Set(r8, 0); __ 1930 src/x64/code-stubs-x64.cc __ jmp(&load_arg2); __ 1932 src/x64/code-stubs-x64.cc __ bind(&arg1_is_object); __ 1933 src/x64/code-stubs-x64.cc __ cmpq(FieldOperand(rdx, HeapObject::kMapOffset), heap_number_map); __ 1934 src/x64/code-stubs-x64.cc __ j(not_equal, &check_undefined_arg1); __ 1939 src/x64/code-stubs-x64.cc __ bind(&load_arg2); __ 1941 src/x64/code-stubs-x64.cc __ JumpIfNotSmi(rax, &arg2_is_object); __ 1942 src/x64/code-stubs-x64.cc __ SmiToInteger32(rcx, rax); __ 1943 src/x64/code-stubs-x64.cc __ jmp(&done); __ 1946 src/x64/code-stubs-x64.cc __ bind(&check_undefined_arg2); __ 1947 src/x64/code-stubs-x64.cc __ CompareRoot(rax, Heap::kUndefinedValueRootIndex); __ 1948 src/x64/code-stubs-x64.cc __ j(not_equal, conversion_failure); __ 1949 src/x64/code-stubs-x64.cc __ Set(rcx, 0); __ 1950 src/x64/code-stubs-x64.cc __ jmp(&done); __ 1952 src/x64/code-stubs-x64.cc __ bind(&arg2_is_object); __ 1953 src/x64/code-stubs-x64.cc __ cmpq(FieldOperand(rax, HeapObject::kMapOffset), heap_number_map); __ 1954 src/x64/code-stubs-x64.cc __ j(not_equal, &check_undefined_arg2); __ 1957 src/x64/code-stubs-x64.cc __ bind(&done); __ 1958 src/x64/code-stubs-x64.cc __ movl(rax, r8); __ 1963 src/x64/code-stubs-x64.cc __ SmiToInteger32(kScratchRegister, rdx); __ 1964 src/x64/code-stubs-x64.cc __ cvtlsi2sd(xmm0, kScratchRegister); __ 1965 src/x64/code-stubs-x64.cc __ SmiToInteger32(kScratchRegister, rax); __ 1966 src/x64/code-stubs-x64.cc __ cvtlsi2sd(xmm1, kScratchRegister); __ 1973 src/x64/code-stubs-x64.cc __ JumpIfSmi(rdx, &load_smi_rdx); __ 1974 src/x64/code-stubs-x64.cc __ movsd(xmm0, FieldOperand(rdx, HeapNumber::kValueOffset)); __ 1976 src/x64/code-stubs-x64.cc __ JumpIfSmi(rax, &load_smi_rax); __ 1977 src/x64/code-stubs-x64.cc __ bind(&load_nonsmi_rax); __ 1978 src/x64/code-stubs-x64.cc __ movsd(xmm1, FieldOperand(rax, HeapNumber::kValueOffset)); __ 1979 src/x64/code-stubs-x64.cc __ jmp(&done); __ 1981 src/x64/code-stubs-x64.cc __ bind(&load_smi_rdx); __ 1982 src/x64/code-stubs-x64.cc __ SmiToInteger32(kScratchRegister, rdx); __ 1983 src/x64/code-stubs-x64.cc __ cvtlsi2sd(xmm0, kScratchRegister); __ 1984 src/x64/code-stubs-x64.cc __ JumpIfNotSmi(rax, &load_nonsmi_rax); __ 1986 src/x64/code-stubs-x64.cc __ bind(&load_smi_rax); __ 1987 src/x64/code-stubs-x64.cc __ SmiToInteger32(kScratchRegister, rax); __ 1988 src/x64/code-stubs-x64.cc __ cvtlsi2sd(xmm1, kScratchRegister); __ 1990 src/x64/code-stubs-x64.cc __ bind(&done); __ 1998 src/x64/code-stubs-x64.cc __ LoadRoot(rcx, Heap::kHeapNumberMapRootIndex); __ 1999 src/x64/code-stubs-x64.cc __ JumpIfSmi(rdx, &load_smi_rdx); __ 2000 src/x64/code-stubs-x64.cc __ cmpq(FieldOperand(rdx, HeapObject::kMapOffset), rcx); __ 2001 src/x64/code-stubs-x64.cc __ j(not_equal, not_numbers); // Argument in rdx is not a number. __ 2002 src/x64/code-stubs-x64.cc __ movsd(xmm0, FieldOperand(rdx, HeapNumber::kValueOffset)); __ 2004 src/x64/code-stubs-x64.cc __ JumpIfSmi(rax, &load_smi_rax); __ 2006 src/x64/code-stubs-x64.cc __ bind(&load_nonsmi_rax); __ 2007 src/x64/code-stubs-x64.cc __ cmpq(FieldOperand(rax, HeapObject::kMapOffset), rcx); __ 2008 src/x64/code-stubs-x64.cc __ j(not_equal, not_numbers); __ 2009 src/x64/code-stubs-x64.cc __ movsd(xmm1, FieldOperand(rax, HeapNumber::kValueOffset)); __ 2010 src/x64/code-stubs-x64.cc __ jmp(&done); __ 2012 src/x64/code-stubs-x64.cc __ bind(&load_smi_rdx); __ 2013 src/x64/code-stubs-x64.cc __ SmiToInteger32(kScratchRegister, rdx); __ 2014 src/x64/code-stubs-x64.cc __ cvtlsi2sd(xmm0, kScratchRegister); __ 2015 src/x64/code-stubs-x64.cc __ JumpIfNotSmi(rax, &load_nonsmi_rax); __ 2017 src/x64/code-stubs-x64.cc __ bind(&load_smi_rax); __ 2018 src/x64/code-stubs-x64.cc __ SmiToInteger32(kScratchRegister, rax); __ 2019 src/x64/code-stubs-x64.cc __ cvtlsi2sd(xmm1, kScratchRegister); __ 2020 src/x64/code-stubs-x64.cc __ bind(&done); __ 2036 src/x64/code-stubs-x64.cc __ LoadRoot(heap_number_map, Heap::kHeapNumberMapRootIndex); __ 2039 src/x64/code-stubs-x64.cc __ JumpIfSmi(first, &first_smi, Label::kNear); __ 2040 src/x64/code-stubs-x64.cc __ cmpq(FieldOperand(first, HeapObject::kMapOffset), heap_number_map); __ 2041 src/x64/code-stubs-x64.cc __ j(not_equal, on_not_smis); __ 2043 src/x64/code-stubs-x64.cc __ movsd(xmm0, FieldOperand(first, HeapNumber::kValueOffset)); __ 2044 src/x64/code-stubs-x64.cc __ movq(scratch2, xmm0); __ 2045 src/x64/code-stubs-x64.cc __ cvttsd2siq(smi_result, xmm0); __ 2048 src/x64/code-stubs-x64.cc __ cvtlsi2sd(xmm1, smi_result); __ 2049 src/x64/code-stubs-x64.cc __ movq(kScratchRegister, xmm1); __ 2050 src/x64/code-stubs-x64.cc __ cmpq(scratch2, kScratchRegister); __ 2051 src/x64/code-stubs-x64.cc __ j(not_equal, on_not_smis); __ 2052 src/x64/code-stubs-x64.cc __ Integer32ToSmi(first, smi_result); __ 2054 src/x64/code-stubs-x64.cc __ JumpIfSmi(second, (on_success != NULL) ? on_success : &done); __ 2055 src/x64/code-stubs-x64.cc __ bind(&first_smi); __ 2058 src/x64/code-stubs-x64.cc __ AbortIfSmi(second); __ 2060 src/x64/code-stubs-x64.cc __ cmpq(FieldOperand(second, HeapObject::kMapOffset), heap_number_map); __ 2061 src/x64/code-stubs-x64.cc __ j(not_equal, on_not_smis); __ 2063 src/x64/code-stubs-x64.cc __ movsd(xmm0, FieldOperand(second, HeapNumber::kValueOffset)); __ 2064 src/x64/code-stubs-x64.cc __ movq(scratch2, xmm0); __ 2065 src/x64/code-stubs-x64.cc __ cvttsd2siq(smi_result, xmm0); __ 2066 src/x64/code-stubs-x64.cc __ cvtlsi2sd(xmm1, smi_result); __ 2067 src/x64/code-stubs-x64.cc __ movq(kScratchRegister, xmm1); __ 2068 src/x64/code-stubs-x64.cc __ cmpq(scratch2, kScratchRegister); __ 2069 src/x64/code-stubs-x64.cc __ j(not_equal, on_not_smis); __ 2070 src/x64/code-stubs-x64.cc __ Integer32ToSmi(second, smi_result); __ 2072 src/x64/code-stubs-x64.cc __ jmp(on_success); __ 2074 src/x64/code-stubs-x64.cc __ bind(&done); __ 2096 src/x64/code-stubs-x64.cc __ movq(scratch, Immediate(1)); __ 2097 src/x64/code-stubs-x64.cc __ cvtlsi2sd(double_result, scratch); __ 2104 src/x64/code-stubs-x64.cc __ movq(base, Operand(rsp, 2 * kPointerSize)); __ 2105 src/x64/code-stubs-x64.cc __ movq(exponent, Operand(rsp, 1 * kPointerSize)); __ 2106 src/x64/code-stubs-x64.cc __ JumpIfSmi(base, &base_is_smi, Label::kNear); __ 2107 src/x64/code-stubs-x64.cc __ CompareRoot(FieldOperand(base, HeapObject::kMapOffset), __ 2109 src/x64/code-stubs-x64.cc __ j(not_equal, &call_runtime); __ 2111 src/x64/code-stubs-x64.cc __ movsd(double_base, FieldOperand(base, HeapNumber::kValueOffset)); __ 2112 src/x64/code-stubs-x64.cc __ jmp(&unpack_exponent, Label::kNear); __ 2114 src/x64/code-stubs-x64.cc __ bind(&base_is_smi); __ 2115 src/x64/code-stubs-x64.cc __ SmiToInteger32(base, base); __ 2116 src/x64/code-stubs-x64.cc __ cvtlsi2sd(double_base, base); __ 2117 src/x64/code-stubs-x64.cc __ bind(&unpack_exponent); __ 2119 src/x64/code-stubs-x64.cc __ JumpIfNotSmi(exponent, &exponent_not_smi, Label::kNear); __ 2120 src/x64/code-stubs-x64.cc __ SmiToInteger32(exponent, exponent); __ 2121 src/x64/code-stubs-x64.cc __ jmp(&int_exponent); __ 2123 src/x64/code-stubs-x64.cc __ bind(&exponent_not_smi); __ 2124 src/x64/code-stubs-x64.cc __ CompareRoot(FieldOperand(exponent, HeapObject::kMapOffset), __ 2126 src/x64/code-stubs-x64.cc __ j(not_equal, &call_runtime); __ 2127 src/x64/code-stubs-x64.cc __ movsd(double_exponent, FieldOperand(exponent, HeapNumber::kValueOffset)); __ 2129 src/x64/code-stubs-x64.cc __ JumpIfNotSmi(exponent, &exponent_not_smi, Label::kNear); __ 2130 src/x64/code-stubs-x64.cc __ SmiToInteger32(exponent, exponent); __ 2131 src/x64/code-stubs-x64.cc __ jmp(&int_exponent); __ 2133 src/x64/code-stubs-x64.cc __ bind(&exponent_not_smi); __ 2134 src/x64/code-stubs-x64.cc __ movsd(double_exponent, FieldOperand(exponent, HeapNumber::kValueOffset)); __ 2140 src/x64/code-stubs-x64.cc __ cvttsd2si(exponent, double_exponent); __ 2142 src/x64/code-stubs-x64.cc __ cmpl(exponent, Immediate(0x80000000u)); __ 2143 src/x64/code-stubs-x64.cc __ j(equal, &call_runtime); __ 2144 src/x64/code-stubs-x64.cc __ cvtlsi2sd(double_scratch, exponent); __ 2146 src/x64/code-stubs-x64.cc __ ucomisd(double_exponent, double_scratch); __ 2147 src/x64/code-stubs-x64.cc __ j(equal, &int_exponent); __ 2156 src/x64/code-stubs-x64.cc __ movq(scratch, V8_UINT64_C(0x3FE0000000000000), RelocInfo::NONE); __ 2157 src/x64/code-stubs-x64.cc __ movq(double_scratch, scratch); __ 2159 src/x64/code-stubs-x64.cc __ ucomisd(double_scratch, double_exponent); __ 2160 src/x64/code-stubs-x64.cc __ j(not_equal, ¬_plus_half, Label::kNear); __ 2166 src/x64/code-stubs-x64.cc __ movq(scratch, V8_UINT64_C(0xFFF0000000000000), RelocInfo::NONE); __ 2167 src/x64/code-stubs-x64.cc __ movq(double_scratch, scratch); __ 2168 src/x64/code-stubs-x64.cc __ ucomisd(double_scratch, double_base); __ 2171 src/x64/code-stubs-x64.cc __ j(not_equal, &continue_sqrt, Label::kNear); __ 2172 src/x64/code-stubs-x64.cc __ j(carry, &continue_sqrt, Label::kNear); __ 2175 src/x64/code-stubs-x64.cc __ xorps(double_result, double_result); __ 2176 src/x64/code-stubs-x64.cc __ subsd(double_result, double_scratch); __ 2177 src/x64/code-stubs-x64.cc __ jmp(&done); __ 2179 src/x64/code-stubs-x64.cc __ bind(&continue_sqrt); __ 2181 src/x64/code-stubs-x64.cc __ xorps(double_scratch, double_scratch); __ 2182 src/x64/code-stubs-x64.cc __ addsd(double_scratch, double_base); // Convert -0 to 0. __ 2183 src/x64/code-stubs-x64.cc __ sqrtsd(double_result, double_scratch); __ 2184 src/x64/code-stubs-x64.cc __ jmp(&done); __ 2187 src/x64/code-stubs-x64.cc __ bind(¬_plus_half); __ 2189 src/x64/code-stubs-x64.cc __ subsd(double_scratch, double_result); __ 2191 src/x64/code-stubs-x64.cc __ ucomisd(double_scratch, double_exponent); __ 2192 src/x64/code-stubs-x64.cc __ j(not_equal, &fast_power, Label::kNear); __ 2198 src/x64/code-stubs-x64.cc __ movq(scratch, V8_UINT64_C(0xFFF0000000000000), RelocInfo::NONE); __ 2199 src/x64/code-stubs-x64.cc __ movq(double_scratch, scratch); __ 2200 src/x64/code-stubs-x64.cc __ ucomisd(double_scratch, double_base); __ 2203 src/x64/code-stubs-x64.cc __ j(not_equal, &continue_rsqrt, Label::kNear); __ 2204 src/x64/code-stubs-x64.cc __ j(carry, &continue_rsqrt, Label::kNear); __ 2207 src/x64/code-stubs-x64.cc __ xorps(double_result, double_result); __ 2208 src/x64/code-stubs-x64.cc __ jmp(&done); __ 2210 src/x64/code-stubs-x64.cc __ bind(&continue_rsqrt); __ 2212 src/x64/code-stubs-x64.cc __ xorps(double_exponent, double_exponent); __ 2213 src/x64/code-stubs-x64.cc __ addsd(double_exponent, double_base); // Convert -0 to +0. __ 2214 src/x64/code-stubs-x64.cc __ sqrtsd(double_exponent, double_exponent); __ 2215 src/x64/code-stubs-x64.cc __ divsd(double_result, double_exponent); __ 2216 src/x64/code-stubs-x64.cc __ jmp(&done); __ 2221 src/x64/code-stubs-x64.cc __ bind(&fast_power); __ 2222 src/x64/code-stubs-x64.cc __ fnclex(); // Clear flags to catch exceptions later. __ 2224 src/x64/code-stubs-x64.cc __ subq(rsp, Immediate(kDoubleSize)); __ 2225 src/x64/code-stubs-x64.cc __ movsd(Operand(rsp, 0), double_exponent); __ 2226 src/x64/code-stubs-x64.cc __ fld_d(Operand(rsp, 0)); // E __ 2227 src/x64/code-stubs-x64.cc __ movsd(Operand(rsp, 0), double_base); __ 2228 src/x64/code-stubs-x64.cc __ fld_d(Operand(rsp, 0)); // B, E __ 2233 src/x64/code-stubs-x64.cc __ fyl2x(); // X __ 2234 src/x64/code-stubs-x64.cc __ fld(0); // X, X __ 2235 src/x64/code-stubs-x64.cc __ frndint(); // rnd(X), X __ 2236 src/x64/code-stubs-x64.cc __ fsub(1); // rnd(X), X-rnd(X) __ 2237 src/x64/code-stubs-x64.cc __ fxch(1); // X - rnd(X), rnd(X) __ 2239 src/x64/code-stubs-x64.cc __ f2xm1(); // 2^(X-rnd(X)) - 1, rnd(X) __ 2240 src/x64/code-stubs-x64.cc __ fld1(); // 1, 2^(X-rnd(X)) - 1, rnd(X) __ 2241 src/x64/code-stubs-x64.cc __ faddp(1); // 1, 2^(X-rnd(X)), rnd(X) __ 2243 src/x64/code-stubs-x64.cc __ fscale(); // 2^X, rnd(X) __ 2244 src/x64/code-stubs-x64.cc __ fstp(1); __ 2246 src/x64/code-stubs-x64.cc __ fnstsw_ax(); __ 2247 src/x64/code-stubs-x64.cc __ testb(rax, Immediate(0x5F)); // Check for all but precision exception. __ 2248 src/x64/code-stubs-x64.cc __ j(not_zero, &fast_power_failed, Label::kNear); __ 2249 src/x64/code-stubs-x64.cc __ fstp_d(Operand(rsp, 0)); __ 2250 src/x64/code-stubs-x64.cc __ movsd(double_result, Operand(rsp, 0)); __ 2251 src/x64/code-stubs-x64.cc __ addq(rsp, Immediate(kDoubleSize)); __ 2252 src/x64/code-stubs-x64.cc __ jmp(&done); __ 2254 src/x64/code-stubs-x64.cc __ bind(&fast_power_failed); __ 2255 src/x64/code-stubs-x64.cc __ fninit(); __ 2256 src/x64/code-stubs-x64.cc __ addq(rsp, Immediate(kDoubleSize)); __ 2257 src/x64/code-stubs-x64.cc __ jmp(&call_runtime); __ 2261 src/x64/code-stubs-x64.cc __ bind(&int_exponent); __ 2264 src/x64/code-stubs-x64.cc __ movq(scratch, exponent); // Back up exponent. __ 2265 src/x64/code-stubs-x64.cc __ movsd(double_scratch, double_base); // Back up base. __ 2266 src/x64/code-stubs-x64.cc __ movsd(double_scratch2, double_result); // Load double_exponent with 1. __ 2270 src/x64/code-stubs-x64.cc __ testl(scratch, scratch); __ 2271 src/x64/code-stubs-x64.cc __ j(positive, &no_neg, Label::kNear); __ 2272 src/x64/code-stubs-x64.cc __ negl(scratch); __ 2273 src/x64/code-stubs-x64.cc __ bind(&no_neg); __ 2275 src/x64/code-stubs-x64.cc __ bind(&while_true); __ 2276 src/x64/code-stubs-x64.cc __ shrl(scratch, Immediate(1)); __ 2277 src/x64/code-stubs-x64.cc __ j(not_carry, &no_multiply, Label::kNear); __ 2278 src/x64/code-stubs-x64.cc __ mulsd(double_result, double_scratch); __ 2279 src/x64/code-stubs-x64.cc __ bind(&no_multiply); __ 2281 src/x64/code-stubs-x64.cc __ mulsd(double_scratch, double_scratch); __ 2282 src/x64/code-stubs-x64.cc __ j(not_zero, &while_true); __ 2285 src/x64/code-stubs-x64.cc __ testl(exponent, exponent); __ 2286 src/x64/code-stubs-x64.cc __ j(greater, &done); __ 2287 src/x64/code-stubs-x64.cc __ divsd(double_scratch2, double_result); __ 2288 src/x64/code-stubs-x64.cc __ movsd(double_result, double_scratch2); __ 2291 src/x64/code-stubs-x64.cc __ xorps(double_scratch2, double_scratch2); __ 2292 src/x64/code-stubs-x64.cc __ ucomisd(double_scratch2, double_result); __ 2296 src/x64/code-stubs-x64.cc __ j(not_equal, &done); __ 2297 src/x64/code-stubs-x64.cc __ cvtlsi2sd(double_exponent, exponent); __ 2303 src/x64/code-stubs-x64.cc __ bind(&call_runtime); __ 2304 src/x64/code-stubs-x64.cc __ TailCallRuntime(Runtime::kMath_pow_cfunction, 2, 1); __ 2308 src/x64/code-stubs-x64.cc __ bind(&done); __ 2309 src/x64/code-stubs-x64.cc __ AllocateHeapNumber(rax, rcx, &call_runtime); __ 2310 src/x64/code-stubs-x64.cc __ movsd(FieldOperand(rax, HeapNumber::kValueOffset), double_result); __ 2311 src/x64/code-stubs-x64.cc __ IncrementCounter(counters->math_pow(), 1); __ 2312 src/x64/code-stubs-x64.cc __ ret(2 * kPointerSize); __ 2314 src/x64/code-stubs-x64.cc __ bind(&call_runtime); __ 2316 src/x64/code-stubs-x64.cc __ movsd(xmm0, double_base); __ 2320 src/x64/code-stubs-x64.cc __ PrepareCallCFunction(2); __ 2321 src/x64/code-stubs-x64.cc __ CallCFunction( __ 2325 src/x64/code-stubs-x64.cc __ movsd(double_result, xmm0); __ 2327 src/x64/code-stubs-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 2329 src/x64/code-stubs-x64.cc __ bind(&done); __ 2330 src/x64/code-stubs-x64.cc __ IncrementCounter(counters->math_pow(), 1); __ 2331 src/x64/code-stubs-x64.cc __ ret(0); __ 2346 src/x64/code-stubs-x64.cc __ JumpIfNotSmi(rdx, &slow); __ 2353 src/x64/code-stubs-x64.cc __ movq(rbx, Operand(rbp, StandardFrameConstants::kCallerFPOffset)); __ 2354 src/x64/code-stubs-x64.cc __ Cmp(Operand(rbx, StandardFrameConstants::kContextOffset), __ 2356 src/x64/code-stubs-x64.cc __ j(equal, &adaptor); __ 2361 src/x64/code-stubs-x64.cc __ cmpq(rdx, rax); __ 2362 src/x64/code-stubs-x64.cc __ j(above_equal, &slow); __ 2366 src/x64/code-stubs-x64.cc __ lea(rbx, Operand(rbp, index.reg, index.scale, 0)); __ 2368 src/x64/code-stubs-x64.cc __ movq(rax, Operand(rbx, index.reg, index.scale, kDisplacement)); __ 2369 src/x64/code-stubs-x64.cc __ Ret(); __ 2374 src/x64/code-stubs-x64.cc __ bind(&adaptor); __ 2375 src/x64/code-stubs-x64.cc __ movq(rcx, Operand(rbx, ArgumentsAdaptorFrameConstants::kLengthOffset)); __ 2376 src/x64/code-stubs-x64.cc __ cmpq(rdx, rcx); __ 2377 src/x64/code-stubs-x64.cc __ j(above_equal, &slow); __ 2381 src/x64/code-stubs-x64.cc __ lea(rbx, Operand(rbx, index.reg, index.scale, 0)); __ 2383 src/x64/code-stubs-x64.cc __ movq(rax, Operand(rbx, index.reg, index.scale, kDisplacement)); __ 2384 src/x64/code-stubs-x64.cc __ Ret(); __ 2388 src/x64/code-stubs-x64.cc __ bind(&slow); __ 2389 src/x64/code-stubs-x64.cc __ pop(rbx); // Return address. __ 2390 src/x64/code-stubs-x64.cc __ push(rdx); __ 2391 src/x64/code-stubs-x64.cc __ push(rbx); __ 2392 src/x64/code-stubs-x64.cc __ TailCallRuntime(Runtime::kGetArgumentsProperty, 1, 1); __ 2408 src/x64/code-stubs-x64.cc __ SmiToInteger64(rbx, Operand(rsp, 1 * kPointerSize)); __ 2414 src/x64/code-stubs-x64.cc __ movq(rdx, Operand(rbp, StandardFrameConstants::kCallerFPOffset)); __ 2415 src/x64/code-stubs-x64.cc __ movq(rcx, Operand(rdx, StandardFrameConstants::kContextOffset)); __ 2416 src/x64/code-stubs-x64.cc __ Cmp(rcx, Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR)); __ 2417 src/x64/code-stubs-x64.cc __ j(equal, &adaptor_frame); __ 2420 src/x64/code-stubs-x64.cc __ movq(rcx, rbx); __ 2421 src/x64/code-stubs-x64.cc __ jmp(&try_allocate, Label::kNear); __ 2424 src/x64/code-stubs-x64.cc __ bind(&adaptor_frame); __ 2425 src/x64/code-stubs-x64.cc __ SmiToInteger64(rcx, __ 2428 src/x64/code-stubs-x64.cc __ lea(rdx, Operand(rdx, rcx, times_pointer_size, __ 2430 src/x64/code-stubs-x64.cc __ movq(Operand(rsp, 2 * kPointerSize), rdx); __ 2435 src/x64/code-stubs-x64.cc __ cmpq(rbx, rcx); __ 2436 src/x64/code-stubs-x64.cc __ j(less_equal, &try_allocate, Label::kNear); __ 2437 src/x64/code-stubs-x64.cc __ movq(rbx, rcx); __ 2439 src/x64/code-stubs-x64.cc __ bind(&try_allocate); __ 2446 src/x64/code-stubs-x64.cc __ xor_(r8, r8); __ 2447 src/x64/code-stubs-x64.cc __ testq(rbx, rbx); __ 2448 src/x64/code-stubs-x64.cc __ j(zero, &no_parameter_map, Label::kNear); __ 2449 src/x64/code-stubs-x64.cc __ lea(r8, Operand(rbx, times_pointer_size, kParameterMapHeaderSize)); __ 2450 src/x64/code-stubs-x64.cc __ bind(&no_parameter_map); __ 2453 src/x64/code-stubs-x64.cc __ lea(r8, Operand(r8, rcx, times_pointer_size, FixedArray::kHeaderSize)); __ 2456 src/x64/code-stubs-x64.cc __ addq(r8, Immediate(Heap::kArgumentsObjectSize)); __ 2459 src/x64/code-stubs-x64.cc __ AllocateInNewSpace(r8, rax, rdx, rdi, &runtime, TAG_OBJECT); __ 2465 src/x64/code-stubs-x64.cc __ movq(rdi, Operand(rsi, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 2466 src/x64/code-stubs-x64.cc __ movq(rdi, FieldOperand(rdi, GlobalObject::kGlobalContextOffset)); __ 2467 src/x64/code-stubs-x64.cc __ testq(rbx, rbx); __ 2468 src/x64/code-stubs-x64.cc __ j(not_zero, &has_mapped_parameters, Label::kNear); __ 2471 src/x64/code-stubs-x64.cc __ movq(rdi, Operand(rdi, Context::SlotOffset(kIndex))); __ 2472 src/x64/code-stubs-x64.cc __ jmp(©, Label::kNear); __ 2475 src/x64/code-stubs-x64.cc __ bind(&has_mapped_parameters); __ 2476 src/x64/code-stubs-x64.cc __ movq(rdi, Operand(rdi, Context::SlotOffset(kAliasedIndex))); __ 2477 src/x64/code-stubs-x64.cc __ bind(©); __ 2485 src/x64/code-stubs-x64.cc __ movq(rdx, FieldOperand(rdi, i)); __ 2486 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, i), rdx); __ 2491 src/x64/code-stubs-x64.cc __ movq(rdx, Operand(rsp, 3 * kPointerSize)); __ 2492 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, JSObject::kHeaderSize + __ 2499 src/x64/code-stubs-x64.cc __ Integer32ToSmi(rcx, rcx); __ 2500 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, JSObject::kHeaderSize + __ 2507 src/x64/code-stubs-x64.cc __ lea(rdi, Operand(rax, Heap::kArgumentsObjectSize)); __ 2508 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, JSObject::kElementsOffset), rdi); __ 2517 src/x64/code-stubs-x64.cc __ testq(rbx, rbx); __ 2518 src/x64/code-stubs-x64.cc __ j(zero, &skip_parameter_map); __ 2520 src/x64/code-stubs-x64.cc __ LoadRoot(kScratchRegister, Heap::kNonStrictArgumentsElementsMapRootIndex); __ 2522 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rdi, FixedArray::kMapOffset), kScratchRegister); __ 2523 src/x64/code-stubs-x64.cc __ Integer64PlusConstantToSmi(r9, rbx, 2); __ 2524 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rdi, FixedArray::kLengthOffset), r9); __ 2525 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rdi, FixedArray::kHeaderSize + 0 * kPointerSize), rsi); __ 2526 src/x64/code-stubs-x64.cc __ lea(r9, Operand(rdi, rbx, times_pointer_size, kParameterMapHeaderSize)); __ 2527 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rdi, FixedArray::kHeaderSize + 1 * kPointerSize), r9); __ 2540 src/x64/code-stubs-x64.cc __ Integer32ToSmi(r9, rbx); __ 2541 src/x64/code-stubs-x64.cc __ Move(r8, Smi::FromInt(Context::MIN_CONTEXT_SLOTS)); __ 2542 src/x64/code-stubs-x64.cc __ addq(r8, Operand(rsp, 1 * kPointerSize)); __ 2543 src/x64/code-stubs-x64.cc __ subq(r8, r9); __ 2544 src/x64/code-stubs-x64.cc __ Move(r11, factory->the_hole_value()); __ 2545 src/x64/code-stubs-x64.cc __ movq(rdx, rdi); __ 2546 src/x64/code-stubs-x64.cc __ lea(rdi, Operand(rdi, rbx, times_pointer_size, kParameterMapHeaderSize)); __ 2552 src/x64/code-stubs-x64.cc __ jmp(¶meters_test, Label::kNear); __ 2554 src/x64/code-stubs-x64.cc __ bind(¶meters_loop); __ 2555 src/x64/code-stubs-x64.cc __ SmiSubConstant(r9, r9, Smi::FromInt(1)); __ 2556 src/x64/code-stubs-x64.cc __ SmiToInteger64(kScratchRegister, r9); __ 2557 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rdx, kScratchRegister, __ 2561 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rdi, kScratchRegister, __ 2565 src/x64/code-stubs-x64.cc __ SmiAddConstant(r8, r8, Smi::FromInt(1)); __ 2566 src/x64/code-stubs-x64.cc __ bind(¶meters_test); __ 2567 src/x64/code-stubs-x64.cc __ SmiTest(r9); __ 2568 src/x64/code-stubs-x64.cc __ j(not_zero, ¶meters_loop, Label::kNear); __ 2570 src/x64/code-stubs-x64.cc __ bind(&skip_parameter_map); __ 2575 src/x64/code-stubs-x64.cc __ Move(FieldOperand(rdi, FixedArray::kMapOffset), __ 2577 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rdi, FixedArray::kLengthOffset), rcx); __ 2580 src/x64/code-stubs-x64.cc __ movq(r8, rbx); __ 2581 src/x64/code-stubs-x64.cc __ movq(rdx, Operand(rsp, 2 * kPointerSize)); __ 2583 src/x64/code-stubs-x64.cc __ SmiToInteger64(rcx, rcx); __ 2584 src/x64/code-stubs-x64.cc __ lea(kScratchRegister, Operand(r8, times_pointer_size, 0)); __ 2585 src/x64/code-stubs-x64.cc __ subq(rdx, kScratchRegister); __ 2586 src/x64/code-stubs-x64.cc __ jmp(&arguments_test, Label::kNear); __ 2588 src/x64/code-stubs-x64.cc __ bind(&arguments_loop); __ 2589 src/x64/code-stubs-x64.cc __ subq(rdx, Immediate(kPointerSize)); __ 2590 src/x64/code-stubs-x64.cc __ movq(r9, Operand(rdx, 0)); __ 2591 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rdi, r8, __ 2595 src/x64/code-stubs-x64.cc __ addq(r8, Immediate(1)); __ 2597 src/x64/code-stubs-x64.cc __ bind(&arguments_test); __ 2598 src/x64/code-stubs-x64.cc __ cmpq(r8, rcx); __ 2599 src/x64/code-stubs-x64.cc __ j(less, &arguments_loop, Label::kNear); __ 2602 src/x64/code-stubs-x64.cc __ ret(3 * kPointerSize); __ 2606 src/x64/code-stubs-x64.cc __ bind(&runtime); __ 2607 src/x64/code-stubs-x64.cc __ Integer32ToSmi(rcx, rcx); __ 2608 src/x64/code-stubs-x64.cc __ movq(Operand(rsp, 1 * kPointerSize), rcx); // Patch argument count. __ 2609 src/x64/code-stubs-x64.cc __ TailCallRuntime(Runtime::kNewStrictArgumentsFast, 3, 1); __ 2621 src/x64/code-stubs-x64.cc __ movq(rdx, Operand(rbp, StandardFrameConstants::kCallerFPOffset)); __ 2622 src/x64/code-stubs-x64.cc __ movq(rcx, Operand(rdx, StandardFrameConstants::kContextOffset)); __ 2623 src/x64/code-stubs-x64.cc __ Cmp(rcx, Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR)); __ 2624 src/x64/code-stubs-x64.cc __ j(not_equal, &runtime); __ 2627 src/x64/code-stubs-x64.cc __ movq(rcx, Operand(rdx, ArgumentsAdaptorFrameConstants::kLengthOffset)); __ 2628 src/x64/code-stubs-x64.cc __ movq(Operand(rsp, 1 * kPointerSize), rcx); __ 2629 src/x64/code-stubs-x64.cc __ SmiToInteger64(rcx, rcx); __ 2630 src/x64/code-stubs-x64.cc __ lea(rdx, Operand(rdx, rcx, times_pointer_size, __ 2632 src/x64/code-stubs-x64.cc __ movq(Operand(rsp, 2 * kPointerSize), rdx); __ 2634 src/x64/code-stubs-x64.cc __ bind(&runtime); __ 2635 src/x64/code-stubs-x64.cc __ TailCallRuntime(Runtime::kNewArgumentsFast, 3, 1); __ 2647 src/x64/code-stubs-x64.cc __ movq(rdx, Operand(rbp, StandardFrameConstants::kCallerFPOffset)); __ 2648 src/x64/code-stubs-x64.cc __ movq(rcx, Operand(rdx, StandardFrameConstants::kContextOffset)); __ 2649 src/x64/code-stubs-x64.cc __ Cmp(rcx, Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR)); __ 2650 src/x64/code-stubs-x64.cc __ j(equal, &adaptor_frame); __ 2653 src/x64/code-stubs-x64.cc __ movq(rcx, Operand(rsp, 1 * kPointerSize)); __ 2654 src/x64/code-stubs-x64.cc __ SmiToInteger64(rcx, rcx); __ 2655 src/x64/code-stubs-x64.cc __ jmp(&try_allocate); __ 2658 src/x64/code-stubs-x64.cc __ bind(&adaptor_frame); __ 2659 src/x64/code-stubs-x64.cc __ movq(rcx, Operand(rdx, ArgumentsAdaptorFrameConstants::kLengthOffset)); __ 2660 src/x64/code-stubs-x64.cc __ movq(Operand(rsp, 1 * kPointerSize), rcx); __ 2661 src/x64/code-stubs-x64.cc __ SmiToInteger64(rcx, rcx); __ 2662 src/x64/code-stubs-x64.cc __ lea(rdx, Operand(rdx, rcx, times_pointer_size, __ 2664 src/x64/code-stubs-x64.cc __ movq(Operand(rsp, 2 * kPointerSize), rdx); __ 2669 src/x64/code-stubs-x64.cc __ bind(&try_allocate); __ 2670 src/x64/code-stubs-x64.cc __ testq(rcx, rcx); __ 2671 src/x64/code-stubs-x64.cc __ j(zero, &add_arguments_object, Label::kNear); __ 2672 src/x64/code-stubs-x64.cc __ lea(rcx, Operand(rcx, times_pointer_size, FixedArray::kHeaderSize)); __ 2673 src/x64/code-stubs-x64.cc __ bind(&add_arguments_object); __ 2674 src/x64/code-stubs-x64.cc __ addq(rcx, Immediate(Heap::kArgumentsObjectSizeStrict)); __ 2677 src/x64/code-stubs-x64.cc __ AllocateInNewSpace(rcx, rax, rdx, rbx, &runtime, TAG_OBJECT); __ 2680 src/x64/code-stubs-x64.cc __ movq(rdi, Operand(rsi, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 2681 src/x64/code-stubs-x64.cc __ movq(rdi, FieldOperand(rdi, GlobalObject::kGlobalContextOffset)); __ 2684 src/x64/code-stubs-x64.cc __ movq(rdi, Operand(rdi, offset)); __ 2688 src/x64/code-stubs-x64.cc __ movq(rbx, FieldOperand(rdi, i)); __ 2689 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, i), rbx); __ 2694 src/x64/code-stubs-x64.cc __ movq(rcx, Operand(rsp, 1 * kPointerSize)); __ 2695 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, JSObject::kHeaderSize + __ 2701 src/x64/code-stubs-x64.cc __ testq(rcx, rcx); __ 2702 src/x64/code-stubs-x64.cc __ j(zero, &done); __ 2705 src/x64/code-stubs-x64.cc __ movq(rdx, Operand(rsp, 2 * kPointerSize)); __ 2709 src/x64/code-stubs-x64.cc __ lea(rdi, Operand(rax, Heap::kArgumentsObjectSizeStrict)); __ 2710 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, JSObject::kElementsOffset), rdi); __ 2711 src/x64/code-stubs-x64.cc __ LoadRoot(kScratchRegister, Heap::kFixedArrayMapRootIndex); __ 2712 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rdi, FixedArray::kMapOffset), kScratchRegister); __ 2715 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rdi, FixedArray::kLengthOffset), rcx); __ 2717 src/x64/code-stubs-x64.cc __ SmiToInteger64(rcx, rcx); __ 2721 src/x64/code-stubs-x64.cc __ bind(&loop); __ 2722 src/x64/code-stubs-x64.cc __ movq(rbx, Operand(rdx, -1 * kPointerSize)); // Skip receiver. __ 2723 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rdi, FixedArray::kHeaderSize), rbx); __ 2724 src/x64/code-stubs-x64.cc __ addq(rdi, Immediate(kPointerSize)); __ 2725 src/x64/code-stubs-x64.cc __ subq(rdx, Immediate(kPointerSize)); __ 2726 src/x64/code-stubs-x64.cc __ decq(rcx); __ 2727 src/x64/code-stubs-x64.cc __ j(not_zero, &loop); __ 2730 src/x64/code-stubs-x64.cc __ bind(&done); __ 2731 src/x64/code-stubs-x64.cc __ ret(3 * kPointerSize); __ 2734 src/x64/code-stubs-x64.cc __ bind(&runtime); __ 2735 src/x64/code-stubs-x64.cc __ TailCallRuntime(Runtime::kNewStrictArgumentsFast, 3, 1); __ 2744 src/x64/code-stubs-x64.cc __ TailCallRuntime(Runtime::kRegExpExec, 4, 1); __ 2766 src/x64/code-stubs-x64.cc __ Load(kScratchRegister, address_of_regexp_stack_memory_size); __ 2767 src/x64/code-stubs-x64.cc __ testq(kScratchRegister, kScratchRegister); __ 2768 src/x64/code-stubs-x64.cc __ j(zero, &runtime); __ 2771 src/x64/code-stubs-x64.cc __ movq(rax, Operand(rsp, kJSRegExpOffset)); __ 2772 src/x64/code-stubs-x64.cc __ JumpIfSmi(rax, &runtime); __ 2773 src/x64/code-stubs-x64.cc __ CmpObjectType(rax, JS_REGEXP_TYPE, kScratchRegister); __ 2774 src/x64/code-stubs-x64.cc __ j(not_equal, &runtime); __ 2776 src/x64/code-stubs-x64.cc __ movq(rax, FieldOperand(rax, JSRegExp::kDataOffset)); __ 2779 src/x64/code-stubs-x64.cc __ Check(NegateCondition(is_smi), __ 2781 src/x64/code-stubs-x64.cc __ CmpObjectType(rax, FIXED_ARRAY_TYPE, kScratchRegister); __ 2782 src/x64/code-stubs-x64.cc __ Check(equal, "Unexpected type for RegExp data, FixedArray expected"); __ 2787 src/x64/code-stubs-x64.cc __ SmiToInteger32(rbx, FieldOperand(rax, JSRegExp::kDataTagOffset)); __ 2788 src/x64/code-stubs-x64.cc __ cmpl(rbx, Immediate(JSRegExp::IRREGEXP)); __ 2789 src/x64/code-stubs-x64.cc __ j(not_equal, &runtime); __ 2793 src/x64/code-stubs-x64.cc __ SmiToInteger32(rdx, __ 2796 src/x64/code-stubs-x64.cc __ leal(rdx, Operand(rdx, rdx, times_1, 2)); __ 2798 src/x64/code-stubs-x64.cc __ cmpl(rdx, Immediate(OffsetsVector::kStaticOffsetsVectorSize)); __ 2799 src/x64/code-stubs-x64.cc __ j(above, &runtime); __ 2804 src/x64/code-stubs-x64.cc __ movq(rdi, Operand(rsp, kSubjectOffset)); __ 2805 src/x64/code-stubs-x64.cc __ JumpIfSmi(rdi, &runtime); __ 2807 src/x64/code-stubs-x64.cc __ j(NegateCondition(is_string), &runtime); __ 2814 src/x64/code-stubs-x64.cc __ movq(rbx, Operand(rsp, kPreviousIndexOffset)); __ 2815 src/x64/code-stubs-x64.cc __ JumpIfNotSmi(rbx, &runtime); __ 2816 src/x64/code-stubs-x64.cc __ SmiCompare(rbx, FieldOperand(rdi, String::kLengthOffset)); __ 2817 src/x64/code-stubs-x64.cc __ j(above_equal, &runtime); __ 2822 src/x64/code-stubs-x64.cc __ movq(rdi, Operand(rsp, kLastMatchInfoOffset)); __ 2823 src/x64/code-stubs-x64.cc __ JumpIfSmi(rdi, &runtime); __ 2824 src/x64/code-stubs-x64.cc __ CmpObjectType(rdi, JS_ARRAY_TYPE, kScratchRegister); __ 2825 src/x64/code-stubs-x64.cc __ j(not_equal, &runtime); __ 2827 src/x64/code-stubs-x64.cc __ movq(rbx, FieldOperand(rdi, JSArray::kElementsOffset)); __ 2828 src/x64/code-stubs-x64.cc __ movq(rdi, FieldOperand(rbx, HeapObject::kMapOffset)); __ 2829 src/x64/code-stubs-x64.cc __ CompareRoot(FieldOperand(rbx, HeapObject::kMapOffset), __ 2831 src/x64/code-stubs-x64.cc __ j(not_equal, &runtime); __ 2835 src/x64/code-stubs-x64.cc __ SmiToInteger32(rdi, FieldOperand(rbx, FixedArray::kLengthOffset)); __ 2836 src/x64/code-stubs-x64.cc __ addl(rdx, Immediate(RegExpImpl::kLastMatchOverhead)); __ 2837 src/x64/code-stubs-x64.cc __ cmpl(rdx, rdi); __ 2838 src/x64/code-stubs-x64.cc __ j(greater, &runtime); __ 2841 src/x64/code-stubs-x64.cc __ Set(r14, 0); __ 2845 src/x64/code-stubs-x64.cc __ movq(rdi, Operand(rsp, kSubjectOffset)); __ 2847 src/x64/code-stubs-x64.cc __ movq(r15, rdi); __ 2848 src/x64/code-stubs-x64.cc __ movq(rbx, FieldOperand(rdi, HeapObject::kMapOffset)); __ 2849 src/x64/code-stubs-x64.cc __ movzxbl(rbx, FieldOperand(rbx, Map::kInstanceTypeOffset)); __ 2851 src/x64/code-stubs-x64.cc __ andb(rbx, Immediate(kIsNotStringMask | __ 2856 src/x64/code-stubs-x64.cc __ j(zero, &seq_two_byte_string, Label::kNear); __ 2860 src/x64/code-stubs-x64.cc __ andb(rbx, Immediate(kIsNotStringMask | __ 2863 src/x64/code-stubs-x64.cc __ j(zero, &seq_ascii_string, Label::kNear); __ 2877 src/x64/code-stubs-x64.cc __ cmpq(rbx, Immediate(kExternalStringTag)); __ 2878 src/x64/code-stubs-x64.cc __ j(less, &cons_string, Label::kNear); __ 2879 src/x64/code-stubs-x64.cc __ j(equal, &external_string); __ 2883 src/x64/code-stubs-x64.cc __ testb(rbx, Immediate(kIsNotStringMask | kShortExternalStringMask)); __ 2884 src/x64/code-stubs-x64.cc __ j(not_zero, &runtime); __ 2887 src/x64/code-stubs-x64.cc __ SmiToInteger32(r14, FieldOperand(rdi, SlicedString::kOffsetOffset)); __ 2888 src/x64/code-stubs-x64.cc __ movq(rdi, FieldOperand(rdi, SlicedString::kParentOffset)); __ 2892 src/x64/code-stubs-x64.cc __ jmp(&check_encoding, Label::kNear); __ 2894 src/x64/code-stubs-x64.cc __ bind(&cons_string); __ 2895 src/x64/code-stubs-x64.cc __ CompareRoot(FieldOperand(rdi, ConsString::kSecondOffset), __ 2897 src/x64/code-stubs-x64.cc __ j(not_equal, &runtime); __ 2898 src/x64/code-stubs-x64.cc __ movq(rdi, FieldOperand(rdi, ConsString::kFirstOffset)); __ 2902 src/x64/code-stubs-x64.cc __ bind(&check_encoding); __ 2903 src/x64/code-stubs-x64.cc __ movq(rbx, FieldOperand(rdi, HeapObject::kMapOffset)); __ 2904 src/x64/code-stubs-x64.cc __ testb(FieldOperand(rbx, Map::kInstanceTypeOffset), __ 2907 src/x64/code-stubs-x64.cc __ j(zero, &seq_two_byte_string, Label::kNear); __ 2909 src/x64/code-stubs-x64.cc __ testb(FieldOperand(rbx, Map::kInstanceTypeOffset), __ 2911 src/x64/code-stubs-x64.cc __ j(not_zero, &external_string); __ 2913 src/x64/code-stubs-x64.cc __ bind(&seq_ascii_string); __ 2916 src/x64/code-stubs-x64.cc __ movq(r11, FieldOperand(rax, JSRegExp::kDataAsciiCodeOffset)); __ 2917 src/x64/code-stubs-x64.cc __ Set(rcx, 1); // Type is ASCII. __ 2918 src/x64/code-stubs-x64.cc __ jmp(&check_code, Label::kNear); __ 2920 src/x64/code-stubs-x64.cc __ bind(&seq_two_byte_string); __ 2923 src/x64/code-stubs-x64.cc __ movq(r11, FieldOperand(rax, JSRegExp::kDataUC16CodeOffset)); __ 2924 src/x64/code-stubs-x64.cc __ Set(rcx, 0); // Type is two byte. __ 2926 src/x64/code-stubs-x64.cc __ bind(&check_code); __ 2930 src/x64/code-stubs-x64.cc __ JumpIfSmi(r11, &runtime); __ 2937 src/x64/code-stubs-x64.cc __ SmiToInteger64(rbx, Operand(rsp, kPreviousIndexOffset)); __ 2945 src/x64/code-stubs-x64.cc __ IncrementCounter(counters->regexp_entry_native(), 1); __ 2951 src/x64/code-stubs-x64.cc __ EnterApiExitFrame(argument_slots_on_stack); __ 2956 src/x64/code-stubs-x64.cc __ LoadAddress(kScratchRegister, ExternalReference::isolate_address()); __ 2957 src/x64/code-stubs-x64.cc __ movq(Operand(rsp, (argument_slots_on_stack - 1) * kPointerSize), __ 2961 src/x64/code-stubs-x64.cc __ movq(Operand(rsp, (argument_slots_on_stack - 2) * kPointerSize), __ 2965 src/x64/code-stubs-x64.cc __ movq(kScratchRegister, address_of_regexp_stack_memory_address); __ 2966 src/x64/code-stubs-x64.cc __ movq(r9, Operand(kScratchRegister, 0)); __ 2967 src/x64/code-stubs-x64.cc __ movq(kScratchRegister, address_of_regexp_stack_memory_size); __ 2968 src/x64/code-stubs-x64.cc __ addq(r9, Operand(kScratchRegister, 0)); __ 2969 src/x64/code-stubs-x64.cc __ movq(Operand(rsp, (argument_slots_on_stack - 3) * kPointerSize), r9); __ 2975 src/x64/code-stubs-x64.cc __ movq(Operand(rsp, (argument_slots_on_stack - 4) * kPointerSize), __ 2978 src/x64/code-stubs-x64.cc __ Set(r9, 0); __ 2982 src/x64/code-stubs-x64.cc __ LoadAddress(r8, __ 2986 src/x64/code-stubs-x64.cc __ movq(Operand(rsp, (argument_slots_on_stack - 5) * kPointerSize), r8); __ 3011 src/x64/code-stubs-x64.cc __ movq(arg2, rbx); __ 3018 src/x64/code-stubs-x64.cc __ addq(rbx, r14); __ 3019 src/x64/code-stubs-x64.cc __ SmiToInteger32(arg3, FieldOperand(r15, String::kLengthOffset)); __ 3020 src/x64/code-stubs-x64.cc __ addq(r14, arg3); // Using arg3 as scratch. __ 3025 src/x64/code-stubs-x64.cc __ testb(rcx, rcx); // Last use of rcx as encoding of subject string. __ 3026 src/x64/code-stubs-x64.cc __ j(zero, &setup_two_byte, Label::kNear); __ 3027 src/x64/code-stubs-x64.cc __ lea(arg4, FieldOperand(rdi, r14, times_1, SeqAsciiString::kHeaderSize)); __ 3028 src/x64/code-stubs-x64.cc __ lea(arg3, FieldOperand(rdi, rbx, times_1, SeqAsciiString::kHeaderSize)); __ 3029 src/x64/code-stubs-x64.cc __ jmp(&setup_rest, Label::kNear); __ 3030 src/x64/code-stubs-x64.cc __ bind(&setup_two_byte); __ 3031 src/x64/code-stubs-x64.cc __ lea(arg4, FieldOperand(rdi, r14, times_2, SeqTwoByteString::kHeaderSize)); __ 3032 src/x64/code-stubs-x64.cc __ lea(arg3, FieldOperand(rdi, rbx, times_2, SeqTwoByteString::kHeaderSize)); __ 3033 src/x64/code-stubs-x64.cc __ bind(&setup_rest); __ 3040 src/x64/code-stubs-x64.cc __ movq(arg1, r15); __ 3043 src/x64/code-stubs-x64.cc __ addq(r11, Immediate(Code::kHeaderSize - kHeapObjectTag)); __ 3044 src/x64/code-stubs-x64.cc __ call(r11); __ 3046 src/x64/code-stubs-x64.cc __ LeaveApiExitFrame(); __ 3051 src/x64/code-stubs-x64.cc __ cmpl(rax, Immediate(1)); __ 3054 src/x64/code-stubs-x64.cc __ j(equal, &success, Label::kNear); __ 3055 src/x64/code-stubs-x64.cc __ cmpl(rax, Immediate(NativeRegExpMacroAssembler::EXCEPTION)); __ 3056 src/x64/code-stubs-x64.cc __ j(equal, &exception); __ 3057 src/x64/code-stubs-x64.cc __ cmpl(rax, Immediate(NativeRegExpMacroAssembler::FAILURE)); __ 3060 src/x64/code-stubs-x64.cc __ j(not_equal, &runtime); __ 3063 src/x64/code-stubs-x64.cc __ LoadRoot(rax, Heap::kNullValueRootIndex); __ 3064 src/x64/code-stubs-x64.cc __ ret(4 * kPointerSize); __ 3067 src/x64/code-stubs-x64.cc __ bind(&success); __ 3068 src/x64/code-stubs-x64.cc __ movq(rax, Operand(rsp, kJSRegExpOffset)); __ 3069 src/x64/code-stubs-x64.cc __ movq(rcx, FieldOperand(rax, JSRegExp::kDataOffset)); __ 3070 src/x64/code-stubs-x64.cc __ SmiToInteger32(rax, __ 3073 src/x64/code-stubs-x64.cc __ leal(rdx, Operand(rax, rax, times_1, 2)); __ 3077 src/x64/code-stubs-x64.cc __ movq(rax, Operand(rsp, kLastMatchInfoOffset)); __ 3078 src/x64/code-stubs-x64.cc __ movq(rbx, FieldOperand(rax, JSArray::kElementsOffset)); __ 3083 src/x64/code-stubs-x64.cc __ Integer32ToSmi(kScratchRegister, rdx); __ 3084 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rbx, RegExpImpl::kLastCaptureCountOffset), __ 3087 src/x64/code-stubs-x64.cc __ movq(rax, Operand(rsp, kSubjectOffset)); __ 3088 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rbx, RegExpImpl::kLastSubjectOffset), rax); __ 3089 src/x64/code-stubs-x64.cc __ RecordWriteField(rbx, __ 3094 src/x64/code-stubs-x64.cc __ movq(rax, Operand(rsp, kSubjectOffset)); __ 3095 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rbx, RegExpImpl::kLastInputOffset), rax); __ 3096 src/x64/code-stubs-x64.cc __ RecordWriteField(rbx, __ 3103 src/x64/code-stubs-x64.cc __ LoadAddress(rcx, __ 3112 src/x64/code-stubs-x64.cc __ bind(&next_capture); __ 3113 src/x64/code-stubs-x64.cc __ subq(rdx, Immediate(1)); __ 3114 src/x64/code-stubs-x64.cc __ j(negative, &done, Label::kNear); __ 3116 src/x64/code-stubs-x64.cc __ movl(rdi, Operand(rcx, rdx, times_int_size, 0)); __ 3117 src/x64/code-stubs-x64.cc __ Integer32ToSmi(rdi, rdi); __ 3119 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rbx, __ 3124 src/x64/code-stubs-x64.cc __ jmp(&next_capture); __ 3125 src/x64/code-stubs-x64.cc __ bind(&done); __ 3128 src/x64/code-stubs-x64.cc __ movq(rax, Operand(rsp, kLastMatchInfoOffset)); __ 3129 src/x64/code-stubs-x64.cc __ ret(4 * kPointerSize); __ 3131 src/x64/code-stubs-x64.cc __ bind(&exception); __ 3140 src/x64/code-stubs-x64.cc __ movq(rax, pending_exception_operand); __ 3141 src/x64/code-stubs-x64.cc __ LoadRoot(rdx, Heap::kTheHoleValueRootIndex); __ 3142 src/x64/code-stubs-x64.cc __ cmpq(rax, rdx); __ 3143 src/x64/code-stubs-x64.cc __ j(equal, &runtime); __ 3144 src/x64/code-stubs-x64.cc __ movq(pending_exception_operand, rdx); __ 3146 src/x64/code-stubs-x64.cc __ CompareRoot(rax, Heap::kTerminationExceptionRootIndex); __ 3148 src/x64/code-stubs-x64.cc __ j(equal, &termination_exception, Label::kNear); __ 3149 src/x64/code-stubs-x64.cc __ Throw(rax); __ 3151 src/x64/code-stubs-x64.cc __ bind(&termination_exception); __ 3152 src/x64/code-stubs-x64.cc __ ThrowUncatchable(rax); __ 3157 src/x64/code-stubs-x64.cc __ bind(&external_string); __ 3158 src/x64/code-stubs-x64.cc __ movq(rbx, FieldOperand(rdi, HeapObject::kMapOffset)); __ 3159 src/x64/code-stubs-x64.cc __ movzxbl(rbx, FieldOperand(rbx, Map::kInstanceTypeOffset)); __ 3163 src/x64/code-stubs-x64.cc __ testb(rbx, Immediate(kIsIndirectStringMask)); __ 3164 src/x64/code-stubs-x64.cc __ Assert(zero, "external string expected, but not found"); __ 3166 src/x64/code-stubs-x64.cc __ movq(rdi, FieldOperand(rdi, ExternalString::kResourceDataOffset)); __ 3169 src/x64/code-stubs-x64.cc __ subq(rdi, Immediate(SeqTwoByteString::kHeaderSize - kHeapObjectTag)); __ 3171 src/x64/code-stubs-x64.cc __ testb(rbx, Immediate(kStringEncodingMask)); __ 3172 src/x64/code-stubs-x64.cc __ j(not_zero, &seq_ascii_string); __ 3173 src/x64/code-stubs-x64.cc __ jmp(&seq_two_byte_string); __ 3176 src/x64/code-stubs-x64.cc __ bind(&runtime); __ 3177 src/x64/code-stubs-x64.cc __ TailCallRuntime(Runtime::kRegExpExec, 4, 1); __ 3186 src/x64/code-stubs-x64.cc __ movq(r8, Operand(rsp, kPointerSize * 3)); __ 3187 src/x64/code-stubs-x64.cc __ JumpIfNotSmi(r8, &slowcase); __ 3188 src/x64/code-stubs-x64.cc __ SmiToInteger32(rbx, r8); __ 3189 src/x64/code-stubs-x64.cc __ cmpl(rbx, Immediate(kMaxInlineLength)); __ 3190 src/x64/code-stubs-x64.cc __ j(above, &slowcase); __ 3197 src/x64/code-stubs-x64.cc __ AllocateInNewSpace(JSRegExpResult::kSize + FixedArray::kHeaderSize, __ 3210 src/x64/code-stubs-x64.cc __ movq(rdx, ContextOperand(rsi, Context::GLOBAL_INDEX)); __ 3211 src/x64/code-stubs-x64.cc __ movq(rdx, FieldOperand(rdx, GlobalObject::kGlobalContextOffset)); __ 3212 src/x64/code-stubs-x64.cc __ movq(rdx, ContextOperand(rdx, Context::REGEXP_RESULT_MAP_INDEX)); __ 3213 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, HeapObject::kMapOffset), rdx); __ 3216 src/x64/code-stubs-x64.cc __ LoadRoot(kScratchRegister, Heap::kEmptyFixedArrayRootIndex); __ 3217 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, JSObject::kPropertiesOffset), kScratchRegister); __ 3220 src/x64/code-stubs-x64.cc __ lea(rcx, Operand(rax, JSRegExpResult::kSize)); __ 3221 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, JSObject::kElementsOffset), rcx); __ 3224 src/x64/code-stubs-x64.cc __ movq(r8, Operand(rsp, kPointerSize * 1)); __ 3225 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, JSRegExpResult::kInputOffset), r8); __ 3226 src/x64/code-stubs-x64.cc __ movq(r8, Operand(rsp, kPointerSize * 2)); __ 3227 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, JSRegExpResult::kIndexOffset), r8); __ 3228 src/x64/code-stubs-x64.cc __ movq(r8, Operand(rsp, kPointerSize * 3)); __ 3229 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, JSArray::kLengthOffset), r8); __ 3237 src/x64/code-stubs-x64.cc __ LoadRoot(kScratchRegister, Heap::kFixedArrayMapRootIndex); __ 3238 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rcx, HeapObject::kMapOffset), kScratchRegister); __ 3240 src/x64/code-stubs-x64.cc __ Integer32ToSmi(rdx, rbx); __ 3241 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rcx, FixedArray::kLengthOffset), rdx); __ 3243 src/x64/code-stubs-x64.cc __ LoadRoot(rdx, Heap::kTheHoleValueRootIndex); __ 3244 src/x64/code-stubs-x64.cc __ lea(rcx, FieldOperand(rcx, FixedArray::kHeaderSize)); __ 3251 src/x64/code-stubs-x64.cc __ testl(rbx, rbx); __ 3252 src/x64/code-stubs-x64.cc __ bind(&loop); __ 3253 src/x64/code-stubs-x64.cc __ j(less_equal, &done); // Jump if rcx is negative or zero. __ 3254 src/x64/code-stubs-x64.cc __ subl(rbx, Immediate(1)); __ 3255 src/x64/code-stubs-x64.cc __ movq(Operand(rcx, rbx, times_pointer_size, 0), rdx); __ 3256 src/x64/code-stubs-x64.cc __ jmp(&loop); __ 3258 src/x64/code-stubs-x64.cc __ bind(&done); __ 3259 src/x64/code-stubs-x64.cc __ ret(3 * kPointerSize); __ 3261 src/x64/code-stubs-x64.cc __ bind(&slowcase); __ 3262 src/x64/code-stubs-x64.cc __ TailCallRuntime(Runtime::kRegExpConstructResult, 3, 1); __ 3279 src/x64/code-stubs-x64.cc __ LoadRoot(number_string_cache, Heap::kNumberStringCacheRootIndex); __ 3283 src/x64/code-stubs-x64.cc __ SmiToInteger32( __ 3285 src/x64/code-stubs-x64.cc __ shrl(mask, Immediate(1)); __ 3286 src/x64/code-stubs-x64.cc __ subq(mask, Immediate(1)); // Make mask. __ 3296 src/x64/code-stubs-x64.cc __ JumpIfSmi(object, &is_smi); __ 3297 src/x64/code-stubs-x64.cc __ CheckMap(object, __ 3303 src/x64/code-stubs-x64.cc __ movl(scratch, FieldOperand(object, HeapNumber::kValueOffset + 4)); __ 3304 src/x64/code-stubs-x64.cc __ xor_(scratch, FieldOperand(object, HeapNumber::kValueOffset)); __ 3309 src/x64/code-stubs-x64.cc __ movq(probe, __ 3314 src/x64/code-stubs-x64.cc __ JumpIfSmi(probe, not_found); __ 3315 src/x64/code-stubs-x64.cc __ movsd(xmm0, FieldOperand(object, HeapNumber::kValueOffset)); __ 3316 src/x64/code-stubs-x64.cc __ movsd(xmm1, FieldOperand(probe, HeapNumber::kValueOffset)); __ 3317 src/x64/code-stubs-x64.cc __ ucomisd(xmm0, xmm1); __ 3318 src/x64/code-stubs-x64.cc __ j(parity_even, not_found); // Bail out if NaN is involved. __ 3319 src/x64/code-stubs-x64.cc __ j(not_equal, not_found); // The cache did not contain this value. __ 3320 src/x64/code-stubs-x64.cc __ jmp(&load_result_from_cache); __ 3323 src/x64/code-stubs-x64.cc __ bind(&is_smi); __ 3324 src/x64/code-stubs-x64.cc __ SmiToInteger32(scratch, object); __ 3329 src/x64/code-stubs-x64.cc __ cmpq(object, __ 3334 src/x64/code-stubs-x64.cc __ j(not_equal, not_found); __ 3337 src/x64/code-stubs-x64.cc __ bind(&load_result_from_cache); __ 3338 src/x64/code-stubs-x64.cc __ movq(result, __ 3344 src/x64/code-stubs-x64.cc __ IncrementCounter(counters->number_to_string_native(), 1); __ 3351 src/x64/code-stubs-x64.cc __ and_(hash, mask); __ 3356 src/x64/code-stubs-x64.cc __ shl(hash, Immediate(kPointerSizeLog2 + 1)); __ 3363 src/x64/code-stubs-x64.cc __ movq(rbx, Operand(rsp, kPointerSize)); __ 3367 src/x64/code-stubs-x64.cc __ ret(1 * kPointerSize); __ 3369 src/x64/code-stubs-x64.cc __ bind(&runtime); __ 3371 src/x64/code-stubs-x64.cc __ TailCallRuntime(Runtime::kNumberToStringSkipCache, 1, 1); __ 3392 src/x64/code-stubs-x64.cc __ JumpIfNotBothSmi(rax, rdx, &non_smi); __ 3393 src/x64/code-stubs-x64.cc __ subq(rdx, rax); __ 3394 src/x64/code-stubs-x64.cc __ j(no_overflow, &smi_done); __ 3395 src/x64/code-stubs-x64.cc __ not_(rdx); // Correct sign in case of overflow. rdx cannot be 0 here. __ 3396 src/x64/code-stubs-x64.cc __ bind(&smi_done); __ 3397 src/x64/code-stubs-x64.cc __ movq(rax, rdx); __ 3398 src/x64/code-stubs-x64.cc __ ret(0); __ 3399 src/x64/code-stubs-x64.cc __ bind(&non_smi); __ 3402 src/x64/code-stubs-x64.cc __ JumpIfNotSmi(rdx, &ok); __ 3403 src/x64/code-stubs-x64.cc __ JumpIfNotSmi(rax, &ok); __ 3404 src/x64/code-stubs-x64.cc __ Abort("CompareStub: smi operands"); __ 3405 src/x64/code-stubs-x64.cc __ bind(&ok); __ 3416 src/x64/code-stubs-x64.cc __ cmpq(rax, rdx); __ 3417 src/x64/code-stubs-x64.cc __ j(not_equal, ¬_identical, Label::kNear); __ 3423 src/x64/code-stubs-x64.cc __ CompareRoot(rdx, Heap::kUndefinedValueRootIndex); __ 3424 src/x64/code-stubs-x64.cc __ j(not_equal, &check_for_nan, Label::kNear); __ 3425 src/x64/code-stubs-x64.cc __ Set(rax, NegativeComparisonResult(cc_)); __ 3426 src/x64/code-stubs-x64.cc __ ret(0); __ 3427 src/x64/code-stubs-x64.cc __ bind(&check_for_nan); __ 3436 src/x64/code-stubs-x64.cc __ Set(rax, EQUAL); __ 3437 src/x64/code-stubs-x64.cc __ ret(0); __ 3441 src/x64/code-stubs-x64.cc __ Cmp(FieldOperand(rdx, HeapObject::kMapOffset), __ 3443 src/x64/code-stubs-x64.cc __ j(equal, &heap_number, Label::kNear); __ 3446 src/x64/code-stubs-x64.cc __ CmpObjectType(rax, FIRST_SPEC_OBJECT_TYPE, rcx); __ 3447 src/x64/code-stubs-x64.cc __ j(above_equal, ¬_identical, Label::kNear); __ 3449 src/x64/code-stubs-x64.cc __ Set(rax, EQUAL); __ 3450 src/x64/code-stubs-x64.cc __ ret(0); __ 3452 src/x64/code-stubs-x64.cc __ bind(&heap_number); __ 3457 src/x64/code-stubs-x64.cc __ Set(rax, EQUAL); __ 3458 src/x64/code-stubs-x64.cc __ movsd(xmm0, FieldOperand(rdx, HeapNumber::kValueOffset)); __ 3459 src/x64/code-stubs-x64.cc __ ucomisd(xmm0, xmm0); __ 3460 src/x64/code-stubs-x64.cc __ setcc(parity_even, rax); __ 3463 src/x64/code-stubs-x64.cc __ neg(rax); __ 3465 src/x64/code-stubs-x64.cc __ ret(0); __ 3468 src/x64/code-stubs-x64.cc __ bind(¬_identical); __ 3483 src/x64/code-stubs-x64.cc __ SelectNonSmi(rbx, rax, rdx, ¬_smis); __ 3486 src/x64/code-stubs-x64.cc __ Cmp(FieldOperand(rbx, HeapObject::kMapOffset), __ 3489 src/x64/code-stubs-x64.cc __ j(equal, &slow); __ 3491 src/x64/code-stubs-x64.cc __ movq(rax, rbx); __ 3492 src/x64/code-stubs-x64.cc __ ret(0); __ 3494 src/x64/code-stubs-x64.cc __ bind(¬_smis); __ 3504 src/x64/code-stubs-x64.cc __ CmpObjectType(rax, FIRST_SPEC_OBJECT_TYPE, rcx); __ 3505 src/x64/code-stubs-x64.cc __ j(below, &first_non_object, Label::kNear); __ 3509 src/x64/code-stubs-x64.cc __ bind(&return_not_equal); __ 3510 src/x64/code-stubs-x64.cc __ ret(0); __ 3512 src/x64/code-stubs-x64.cc __ bind(&first_non_object); __ 3514 src/x64/code-stubs-x64.cc __ CmpInstanceType(rcx, ODDBALL_TYPE); __ 3515 src/x64/code-stubs-x64.cc __ j(equal, &return_not_equal); __ 3517 src/x64/code-stubs-x64.cc __ CmpObjectType(rdx, FIRST_SPEC_OBJECT_TYPE, rcx); __ 3518 src/x64/code-stubs-x64.cc __ j(above_equal, &return_not_equal); __ 3521 src/x64/code-stubs-x64.cc __ CmpInstanceType(rcx, ODDBALL_TYPE); __ 3522 src/x64/code-stubs-x64.cc __ j(equal, &return_not_equal); __ 3526 src/x64/code-stubs-x64.cc __ bind(&slow); __ 3534 src/x64/code-stubs-x64.cc __ xorl(rax, rax); __ 3535 src/x64/code-stubs-x64.cc __ xorl(rcx, rcx); __ 3536 src/x64/code-stubs-x64.cc __ ucomisd(xmm0, xmm1); __ 3539 src/x64/code-stubs-x64.cc __ j(parity_even, &unordered, Label::kNear); __ 3541 src/x64/code-stubs-x64.cc __ setcc(above, rax); __ 3542 src/x64/code-stubs-x64.cc __ setcc(below, rcx); __ 3543 src/x64/code-stubs-x64.cc __ subq(rax, rcx); __ 3544 src/x64/code-stubs-x64.cc __ ret(0); __ 3548 src/x64/code-stubs-x64.cc __ bind(&unordered); __ 3551 src/x64/code-stubs-x64.cc __ Set(rax, 1); __ 3553 src/x64/code-stubs-x64.cc __ Set(rax, -1); __ 3555 src/x64/code-stubs-x64.cc __ ret(0); __ 3558 src/x64/code-stubs-x64.cc __ bind(&non_number_comparison); __ 3570 src/x64/code-stubs-x64.cc __ ret(0); __ 3573 src/x64/code-stubs-x64.cc __ bind(&check_for_strings); __ 3575 src/x64/code-stubs-x64.cc __ JumpIfNotBothSequentialAsciiStrings( __ 3596 src/x64/code-stubs-x64.cc __ Abort("Unexpected fall-through from string comparison"); __ 3599 src/x64/code-stubs-x64.cc __ bind(&check_unequal_objects); __ 3610 src/x64/code-stubs-x64.cc __ lea(rcx, Operand(rax, rdx, times_1, 0)); __ 3611 src/x64/code-stubs-x64.cc __ testb(rcx, Immediate(kSmiTagMask)); __ 3612 src/x64/code-stubs-x64.cc __ j(not_zero, ¬_both_objects, Label::kNear); __ 3613 src/x64/code-stubs-x64.cc __ CmpObjectType(rax, FIRST_SPEC_OBJECT_TYPE, rbx); __ 3614 src/x64/code-stubs-x64.cc __ j(below, ¬_both_objects, Label::kNear); __ 3615 src/x64/code-stubs-x64.cc __ CmpObjectType(rdx, FIRST_SPEC_OBJECT_TYPE, rcx); __ 3616 src/x64/code-stubs-x64.cc __ j(below, ¬_both_objects, Label::kNear); __ 3617 src/x64/code-stubs-x64.cc __ testb(FieldOperand(rbx, Map::kBitFieldOffset), __ 3619 src/x64/code-stubs-x64.cc __ j(zero, &return_unequal, Label::kNear); __ 3620 src/x64/code-stubs-x64.cc __ testb(FieldOperand(rcx, Map::kBitFieldOffset), __ 3622 src/x64/code-stubs-x64.cc __ j(zero, &return_unequal, Label::kNear); __ 3625 src/x64/code-stubs-x64.cc __ Set(rax, EQUAL); __ 3626 src/x64/code-stubs-x64.cc __ bind(&return_unequal); __ 3629 src/x64/code-stubs-x64.cc __ ret(0); __ 3630 src/x64/code-stubs-x64.cc __ bind(¬_both_objects); __ 3634 src/x64/code-stubs-x64.cc __ pop(rcx); __ 3635 src/x64/code-stubs-x64.cc __ push(rdx); __ 3636 src/x64/code-stubs-x64.cc __ push(rax); __ 3644 src/x64/code-stubs-x64.cc __ Push(Smi::FromInt(NegativeComparisonResult(cc_))); __ 3648 src/x64/code-stubs-x64.cc __ push(rcx); __ 3652 src/x64/code-stubs-x64.cc __ InvokeBuiltin(builtin, JUMP_FUNCTION); __ 3660 src/x64/code-stubs-x64.cc __ JumpIfSmi(object, label); __ 3661 src/x64/code-stubs-x64.cc __ movq(scratch, FieldOperand(object, HeapObject::kMapOffset)); __ 3662 src/x64/code-stubs-x64.cc __ movzxbq(scratch, __ 3667 src/x64/code-stubs-x64.cc __ testb(scratch, Immediate(kIsSymbolMask)); __ 3668 src/x64/code-stubs-x64.cc __ j(zero, label); __ 3673 src/x64/code-stubs-x64.cc __ TailCallRuntime(Runtime::kStackGuard, 0, 1); __ 3678 src/x64/code-stubs-x64.cc __ TailCallRuntime(Runtime::kInterrupt, 0, 1); __ 3692 src/x64/code-stubs-x64.cc __ movq(rcx, FieldOperand(rbx, JSGlobalPropertyCell::kValueOffset)); __ 3696 src/x64/code-stubs-x64.cc __ cmpq(rcx, rdi); __ 3697 src/x64/code-stubs-x64.cc __ j(equal, &done, Label::kNear); __ 3698 src/x64/code-stubs-x64.cc __ Cmp(rcx, TypeFeedbackCells::MegamorphicSentinel(isolate)); __ 3699 src/x64/code-stubs-x64.cc __ j(equal, &done, Label::kNear); __ 3703 src/x64/code-stubs-x64.cc __ Cmp(rcx, TypeFeedbackCells::UninitializedSentinel(isolate)); __ 3704 src/x64/code-stubs-x64.cc __ j(equal, &initialize, Label::kNear); __ 3707 src/x64/code-stubs-x64.cc __ Move(FieldOperand(rbx, JSGlobalPropertyCell::kValueOffset), __ 3709 src/x64/code-stubs-x64.cc __ jmp(&done, Label::kNear); __ 3712 src/x64/code-stubs-x64.cc __ bind(&initialize); __ 3713 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rbx, JSGlobalPropertyCell::kValueOffset), rdi); __ 3716 src/x64/code-stubs-x64.cc __ bind(&done); __ 3733 src/x64/code-stubs-x64.cc __ movq(rax, Operand(rsp, (argc_ + 1) * kPointerSize)); __ 3735 src/x64/code-stubs-x64.cc __ CompareRoot(rax, Heap::kTheHoleValueRootIndex); __ 3736 src/x64/code-stubs-x64.cc __ j(not_equal, &call, Label::kNear); __ 3738 src/x64/code-stubs-x64.cc __ movq(rcx, GlobalObjectOperand()); __ 3739 src/x64/code-stubs-x64.cc __ movq(rcx, FieldOperand(rcx, GlobalObject::kGlobalReceiverOffset)); __ 3740 src/x64/code-stubs-x64.cc __ movq(Operand(rsp, (argc_ + 1) * kPointerSize), rcx); __ 3741 src/x64/code-stubs-x64.cc __ bind(&call); __ 3745 src/x64/code-stubs-x64.cc __ JumpIfSmi(rdi, &non_function); __ 3747 src/x64/code-stubs-x64.cc __ CmpObjectType(rdi, JS_FUNCTION_TYPE, rcx); __ 3748 src/x64/code-stubs-x64.cc __ j(not_equal, &slow); __ 3759 src/x64/code-stubs-x64.cc __ CompareRoot(rax, Heap::kTheHoleValueRootIndex); __ 3760 src/x64/code-stubs-x64.cc __ j(equal, &call_as_function); __ 3761 src/x64/code-stubs-x64.cc __ InvokeFunction(rdi, __ 3766 src/x64/code-stubs-x64.cc __ bind(&call_as_function); __ 3768 src/x64/code-stubs-x64.cc __ InvokeFunction(rdi, __ 3775 src/x64/code-stubs-x64.cc __ bind(&slow); __ 3780 src/x64/code-stubs-x64.cc __ Move(FieldOperand(rbx, JSGlobalPropertyCell::kValueOffset), __ 3784 src/x64/code-stubs-x64.cc __ CmpInstanceType(rcx, JS_FUNCTION_PROXY_TYPE); __ 3785 src/x64/code-stubs-x64.cc __ j(not_equal, &non_function); __ 3786 src/x64/code-stubs-x64.cc __ pop(rcx); __ 3787 src/x64/code-stubs-x64.cc __ push(rdi); // put proxy as additional argument under return address __ 3788 src/x64/code-stubs-x64.cc __ push(rcx); __ 3789 src/x64/code-stubs-x64.cc __ Set(rax, argc_ + 1); __ 3790 src/x64/code-stubs-x64.cc __ Set(rbx, 0); __ 3791 src/x64/code-stubs-x64.cc __ SetCallKind(rcx, CALL_AS_METHOD); __ 3792 src/x64/code-stubs-x64.cc __ GetBuiltinEntry(rdx, Builtins::CALL_FUNCTION_PROXY); __ 3796 src/x64/code-stubs-x64.cc __ jmp(adaptor, RelocInfo::CODE_TARGET); __ 3801 src/x64/code-stubs-x64.cc __ bind(&non_function); __ 3802 src/x64/code-stubs-x64.cc __ movq(Operand(rsp, (argc_ + 1) * kPointerSize), rdi); __ 3803 src/x64/code-stubs-x64.cc __ Set(rax, argc_); __ 3804 src/x64/code-stubs-x64.cc __ Set(rbx, 0); __ 3805 src/x64/code-stubs-x64.cc __ SetCallKind(rcx, CALL_AS_METHOD); __ 3806 src/x64/code-stubs-x64.cc __ GetBuiltinEntry(rdx, Builtins::CALL_NON_FUNCTION); __ 3809 src/x64/code-stubs-x64.cc __ Jump(adaptor, RelocInfo::CODE_TARGET); __ 3820 src/x64/code-stubs-x64.cc __ JumpIfSmi(rdi, &non_function_call); __ 3822 src/x64/code-stubs-x64.cc __ CmpObjectType(rdi, JS_FUNCTION_TYPE, rcx); __ 3823 src/x64/code-stubs-x64.cc __ j(not_equal, &slow); __ 3830 src/x64/code-stubs-x64.cc __ movq(rbx, FieldOperand(rdi, JSFunction::kSharedFunctionInfoOffset)); __ 3831 src/x64/code-stubs-x64.cc __ movq(rbx, FieldOperand(rbx, SharedFunctionInfo::kConstructStubOffset)); __ 3832 src/x64/code-stubs-x64.cc __ lea(rbx, FieldOperand(rbx, Code::kHeaderSize)); __ 3833 src/x64/code-stubs-x64.cc __ jmp(rbx); __ 3839 src/x64/code-stubs-x64.cc __ bind(&slow); __ 3840 src/x64/code-stubs-x64.cc __ CmpInstanceType(rcx, JS_FUNCTION_PROXY_TYPE); __ 3841 src/x64/code-stubs-x64.cc __ j(not_equal, &non_function_call); __ 3842 src/x64/code-stubs-x64.cc __ GetBuiltinEntry(rdx, Builtins::CALL_FUNCTION_PROXY_AS_CONSTRUCTOR); __ 3843 src/x64/code-stubs-x64.cc __ jmp(&do_call); __ 3845 src/x64/code-stubs-x64.cc __ bind(&non_function_call); __ 3846 src/x64/code-stubs-x64.cc __ GetBuiltinEntry(rdx, Builtins::CALL_NON_FUNCTION_AS_CONSTRUCTOR); __ 3847 src/x64/code-stubs-x64.cc __ bind(&do_call); __ 3849 src/x64/code-stubs-x64.cc __ Set(rbx, 0); __ 3850 src/x64/code-stubs-x64.cc __ SetCallKind(rcx, CALL_AS_METHOD); __ 3851 src/x64/code-stubs-x64.cc __ Jump(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(), __ 3911 src/x64/code-stubs-x64.cc __ CheckStackAlignment(); __ 3920 src/x64/code-stubs-x64.cc __ movq(rcx, rax); __ 3922 src/x64/code-stubs-x64.cc __ movq(rdi, rax); __ 3924 src/x64/code-stubs-x64.cc __ movq(kScratchRegister, __ 3927 src/x64/code-stubs-x64.cc __ call(kScratchRegister); __ 3934 src/x64/code-stubs-x64.cc __ incl(scope_depth_operand); __ 3941 src/x64/code-stubs-x64.cc __ movq(StackSpaceOperand(0), r14); // argc. __ 3942 src/x64/code-stubs-x64.cc __ movq(StackSpaceOperand(1), r15); // argv. __ 3946 src/x64/code-stubs-x64.cc __ lea(rcx, StackSpaceOperand(0)); __ 3947 src/x64/code-stubs-x64.cc __ LoadAddress(rdx, ExternalReference::isolate_address()); __ 3951 src/x64/code-stubs-x64.cc __ lea(rcx, StackSpaceOperand(2)); __ 3953 src/x64/code-stubs-x64.cc __ lea(rdx, StackSpaceOperand(0)); __ 3954 src/x64/code-stubs-x64.cc __ LoadAddress(r8, ExternalReference::isolate_address()); __ 3959 src/x64/code-stubs-x64.cc __ movq(rdi, r14); // argc. __ 3960 src/x64/code-stubs-x64.cc __ movq(rsi, r15); // argv. __ 3961 src/x64/code-stubs-x64.cc __ movq(rdx, ExternalReference::isolate_address()); __ 3963 src/x64/code-stubs-x64.cc __ call(rbx); __ 3968 src/x64/code-stubs-x64.cc __ decl(scope_depth_operand); __ 3981 src/x64/code-stubs-x64.cc __ movq(rax, Operand(rsp, 6 * kPointerSize)); __ 3982 src/x64/code-stubs-x64.cc __ movq(rdx, Operand(rsp, 7 * kPointerSize)); __ 3985 src/x64/code-stubs-x64.cc __ lea(rcx, Operand(rax, 1)); __ 3987 src/x64/code-stubs-x64.cc __ testl(rcx, Immediate(kFailureTagMask)); __ 3988 src/x64/code-stubs-x64.cc __ j(zero, &failure_returned); __ 3991 src/x64/code-stubs-x64.cc __ LeaveExitFrame(save_doubles_); __ 3992 src/x64/code-stubs-x64.cc __ ret(0); __ 3995 src/x64/code-stubs-x64.cc __ bind(&failure_returned); __ 4000 src/x64/code-stubs-x64.cc __ testl(rax, Immediate(((1 << kFailureTypeTagSize) - 1) << kFailureTagSize)); __ 4001 src/x64/code-stubs-x64.cc __ j(zero, &retry, Label::kNear); __ 4004 src/x64/code-stubs-x64.cc __ movq(kScratchRegister, Failure::OutOfMemoryException(), RelocInfo::NONE); __ 4005 src/x64/code-stubs-x64.cc __ cmpq(rax, kScratchRegister); __ 4006 src/x64/code-stubs-x64.cc __ j(equal, throw_out_of_memory_exception); __ 4013 src/x64/code-stubs-x64.cc __ movq(rax, pending_exception_operand); __ 4014 src/x64/code-stubs-x64.cc __ LoadRoot(rdx, Heap::kTheHoleValueRootIndex); __ 4015 src/x64/code-stubs-x64.cc __ movq(pending_exception_operand, rdx); __ 4019 src/x64/code-stubs-x64.cc __ CompareRoot(rax, Heap::kTerminationExceptionRootIndex); __ 4020 src/x64/code-stubs-x64.cc __ j(equal, throw_termination_exception); __ 4023 src/x64/code-stubs-x64.cc __ jmp(throw_normal_exception); __ 4026 src/x64/code-stubs-x64.cc __ bind(&retry); __ 4048 src/x64/code-stubs-x64.cc __ EnterExitFrame(arg_stack_space, save_doubles_); __ 4084 src/x64/code-stubs-x64.cc __ movq(rax, failure, RelocInfo::NONE); __ 4092 src/x64/code-stubs-x64.cc __ bind(&throw_out_of_memory_exception); __ 4097 src/x64/code-stubs-x64.cc __ Set(rax, static_cast<int64_t>(false)); __ 4098 src/x64/code-stubs-x64.cc __ Store(external_caught, rax); __ 4103 src/x64/code-stubs-x64.cc __ movq(rax, Failure::OutOfMemoryException(), RelocInfo::NONE); __ 4104 src/x64/code-stubs-x64.cc __ Store(pending_exception, rax); __ 4107 src/x64/code-stubs-x64.cc __ bind(&throw_termination_exception); __ 4108 src/x64/code-stubs-x64.cc __ ThrowUncatchable(rax); __ 4110 src/x64/code-stubs-x64.cc __ bind(&throw_normal_exception); __ 4111 src/x64/code-stubs-x64.cc __ Throw(rax); __ 4121 src/x64/code-stubs-x64.cc __ push(rbp); __ 4122 src/x64/code-stubs-x64.cc __ movq(rbp, rsp); __ 4129 src/x64/code-stubs-x64.cc __ movq(kScratchRegister, __ 4132 src/x64/code-stubs-x64.cc __ push(kScratchRegister); // context slot __ 4133 src/x64/code-stubs-x64.cc __ push(kScratchRegister); // function slot __ 4135 src/x64/code-stubs-x64.cc __ push(r12); __ 4136 src/x64/code-stubs-x64.cc __ push(r13); __ 4137 src/x64/code-stubs-x64.cc __ push(r14); __ 4138 src/x64/code-stubs-x64.cc __ push(r15); __ 4140 src/x64/code-stubs-x64.cc __ push(rdi); // Only callee save in Win64 ABI, argument in AMD64 ABI. __ 4141 src/x64/code-stubs-x64.cc __ push(rsi); // Only callee save in Win64 ABI, argument in AMD64 ABI. __ 4143 src/x64/code-stubs-x64.cc __ push(rbx); __ 4149 src/x64/code-stubs-x64.cc __ InitializeSmiConstantRegister(); __ 4150 src/x64/code-stubs-x64.cc __ InitializeRootRegister(); __ 4159 src/x64/code-stubs-x64.cc __ push(c_entry_fp_operand); __ 4164 src/x64/code-stubs-x64.cc __ Load(rax, js_entry_sp); __ 4165 src/x64/code-stubs-x64.cc __ testq(rax, rax); __ 4166 src/x64/code-stubs-x64.cc __ j(not_zero, ¬_outermost_js); __ 4167 src/x64/code-stubs-x64.cc __ Push(Smi::FromInt(StackFrame::OUTERMOST_JSENTRY_FRAME)); __ 4168 src/x64/code-stubs-x64.cc __ movq(rax, rbp); __ 4169 src/x64/code-stubs-x64.cc __ Store(js_entry_sp, rax); __ 4171 src/x64/code-stubs-x64.cc __ jmp(&cont); __ 4172 src/x64/code-stubs-x64.cc __ bind(¬_outermost_js); __ 4173 src/x64/code-stubs-x64.cc __ Push(Smi::FromInt(StackFrame::INNER_JSENTRY_FRAME)); __ 4174 src/x64/code-stubs-x64.cc __ bind(&cont); __ 4178 src/x64/code-stubs-x64.cc __ jmp(&invoke); __ 4179 src/x64/code-stubs-x64.cc __ bind(&handler_entry); __ 4185 src/x64/code-stubs-x64.cc __ Store(pending_exception, rax); __ 4186 src/x64/code-stubs-x64.cc __ movq(rax, Failure::Exception(), RelocInfo::NONE); __ 4187 src/x64/code-stubs-x64.cc __ jmp(&exit); __ 4191 src/x64/code-stubs-x64.cc __ bind(&invoke); __ 4192 src/x64/code-stubs-x64.cc __ PushTryHandler(StackHandler::JS_ENTRY, 0); __ 4195 src/x64/code-stubs-x64.cc __ LoadRoot(rax, Heap::kTheHoleValueRootIndex); __ 4196 src/x64/code-stubs-x64.cc __ Store(pending_exception, rax); __ 4199 src/x64/code-stubs-x64.cc __ push(Immediate(0)); // receiver __ 4209 src/x64/code-stubs-x64.cc __ Load(rax, construct_entry); __ 4212 src/x64/code-stubs-x64.cc __ Load(rax, entry); __ 4214 src/x64/code-stubs-x64.cc __ lea(kScratchRegister, FieldOperand(rax, Code::kHeaderSize)); __ 4215 src/x64/code-stubs-x64.cc __ call(kScratchRegister); __ 4218 src/x64/code-stubs-x64.cc __ PopTryHandler(); __ 4220 src/x64/code-stubs-x64.cc __ bind(&exit); __ 4222 src/x64/code-stubs-x64.cc __ pop(rbx); __ 4223 src/x64/code-stubs-x64.cc __ Cmp(rbx, Smi::FromInt(StackFrame::OUTERMOST_JSENTRY_FRAME)); __ 4224 src/x64/code-stubs-x64.cc __ j(not_equal, ¬_outermost_js_2); __ 4225 src/x64/code-stubs-x64.cc __ movq(kScratchRegister, js_entry_sp); __ 4226 src/x64/code-stubs-x64.cc __ movq(Operand(kScratchRegister, 0), Immediate(0)); __ 4227 src/x64/code-stubs-x64.cc __ bind(¬_outermost_js_2); __ 4231 src/x64/code-stubs-x64.cc __ pop(c_entry_fp_operand); __ 4235 src/x64/code-stubs-x64.cc __ pop(rbx); __ 4238 src/x64/code-stubs-x64.cc __ pop(rsi); __ 4239 src/x64/code-stubs-x64.cc __ pop(rdi); __ 4241 src/x64/code-stubs-x64.cc __ pop(r15); __ 4242 src/x64/code-stubs-x64.cc __ pop(r14); __ 4243 src/x64/code-stubs-x64.cc __ pop(r13); __ 4244 src/x64/code-stubs-x64.cc __ pop(r12); __ 4245 src/x64/code-stubs-x64.cc __ addq(rsp, Immediate(2 * kPointerSize)); // remove markers __ 4248 src/x64/code-stubs-x64.cc __ pop(rbp); __ 4249 src/x64/code-stubs-x64.cc __ ret(0); __ 4287 src/x64/code-stubs-x64.cc __ movq(rax, Operand(rsp, 2 * kPointerSize + extra_stack_space)); __ 4288 src/x64/code-stubs-x64.cc __ JumpIfSmi(rax, &slow); __ 4291 src/x64/code-stubs-x64.cc __ CmpObjectType(rax, FIRST_SPEC_OBJECT_TYPE, rax); __ 4292 src/x64/code-stubs-x64.cc __ j(below, &slow); __ 4293 src/x64/code-stubs-x64.cc __ CmpInstanceType(rax, LAST_SPEC_OBJECT_TYPE); __ 4294 src/x64/code-stubs-x64.cc __ j(above, &slow); __ 4297 src/x64/code-stubs-x64.cc __ movq(rdx, Operand(rsp, 1 * kPointerSize + extra_stack_space)); __ 4305 src/x64/code-stubs-x64.cc __ CompareRoot(rdx, Heap::kInstanceofCacheFunctionRootIndex); __ 4306 src/x64/code-stubs-x64.cc __ j(not_equal, &miss, Label::kNear); __ 4307 src/x64/code-stubs-x64.cc __ CompareRoot(rax, Heap::kInstanceofCacheMapRootIndex); __ 4308 src/x64/code-stubs-x64.cc __ j(not_equal, &miss, Label::kNear); __ 4309 src/x64/code-stubs-x64.cc __ LoadRoot(rax, Heap::kInstanceofCacheAnswerRootIndex); __ 4310 src/x64/code-stubs-x64.cc __ ret(2 * kPointerSize); __ 4311 src/x64/code-stubs-x64.cc __ bind(&miss); __ 4314 src/x64/code-stubs-x64.cc __ TryGetFunctionPrototype(rdx, rbx, &slow, true); __ 4317 src/x64/code-stubs-x64.cc __ JumpIfSmi(rbx, &slow); __ 4318 src/x64/code-stubs-x64.cc __ CmpObjectType(rbx, FIRST_SPEC_OBJECT_TYPE, kScratchRegister); __ 4319 src/x64/code-stubs-x64.cc __ j(below, &slow); __ 4320 src/x64/code-stubs-x64.cc __ CmpInstanceType(kScratchRegister, LAST_SPEC_OBJECT_TYPE); __ 4321 src/x64/code-stubs-x64.cc __ j(above, &slow); __ 4328 src/x64/code-stubs-x64.cc __ StoreRoot(rdx, Heap::kInstanceofCacheFunctionRootIndex); __ 4329 src/x64/code-stubs-x64.cc __ StoreRoot(rax, Heap::kInstanceofCacheMapRootIndex); __ 4332 src/x64/code-stubs-x64.cc __ movq(kScratchRegister, Operand(rsp, 0 * kPointerSize)); __ 4333 src/x64/code-stubs-x64.cc __ subq(kScratchRegister, Operand(rsp, 1 * kPointerSize)); __ 4335 src/x64/code-stubs-x64.cc __ movl(rdi, Immediate(kWordBeforeMapCheckValue)); __ 4336 src/x64/code-stubs-x64.cc __ cmpl(Operand(kScratchRegister, kOffsetToMapCheckValue - 4), rdi); __ 4337 src/x64/code-stubs-x64.cc __ Assert(equal, "InstanceofStub unexpected call site cache (check)."); __ 4339 src/x64/code-stubs-x64.cc __ movq(kScratchRegister, __ 4341 src/x64/code-stubs-x64.cc __ movq(Operand(kScratchRegister, 0), rax); __ 4344 src/x64/code-stubs-x64.cc __ movq(rcx, FieldOperand(rax, Map::kPrototypeOffset)); __ 4348 src/x64/code-stubs-x64.cc __ LoadRoot(kScratchRegister, Heap::kNullValueRootIndex); __ 4349 src/x64/code-stubs-x64.cc __ bind(&loop); __ 4350 src/x64/code-stubs-x64.cc __ cmpq(rcx, rbx); __ 4351 src/x64/code-stubs-x64.cc __ j(equal, &is_instance, Label::kNear); __ 4352 src/x64/code-stubs-x64.cc __ cmpq(rcx, kScratchRegister); __ 4355 src/x64/code-stubs-x64.cc __ j(equal, &is_not_instance, Label::kNear); __ 4356 src/x64/code-stubs-x64.cc __ movq(rcx, FieldOperand(rcx, HeapObject::kMapOffset)); __ 4357 src/x64/code-stubs-x64.cc __ movq(rcx, FieldOperand(rcx, Map::kPrototypeOffset)); __ 4358 src/x64/code-stubs-x64.cc __ jmp(&loop); __ 4360 src/x64/code-stubs-x64.cc __ bind(&is_instance); __ 4362 src/x64/code-stubs-x64.cc __ xorl(rax, rax); __ 4365 src/x64/code-stubs-x64.cc __ StoreRoot(rax, Heap::kInstanceofCacheAnswerRootIndex); __ 4372 src/x64/code-stubs-x64.cc __ movl(rax, Immediate(true_offset)); __ 4373 src/x64/code-stubs-x64.cc __ movq(kScratchRegister, Operand(rsp, 0 * kPointerSize)); __ 4374 src/x64/code-stubs-x64.cc __ subq(kScratchRegister, Operand(rsp, 1 * kPointerSize)); __ 4375 src/x64/code-stubs-x64.cc __ movb(Operand(kScratchRegister, kOffsetToResultValue), rax); __ 4377 src/x64/code-stubs-x64.cc __ movl(rax, Immediate(kWordBeforeResultValue)); __ 4378 src/x64/code-stubs-x64.cc __ cmpl(Operand(kScratchRegister, kOffsetToResultValue - 4), rax); __ 4379 src/x64/code-stubs-x64.cc __ Assert(equal, "InstanceofStub unexpected call site cache (mov)."); __ 4381 src/x64/code-stubs-x64.cc __ Set(rax, 0); __ 4383 src/x64/code-stubs-x64.cc __ ret(2 * kPointerSize + extra_stack_space); __ 4385 src/x64/code-stubs-x64.cc __ bind(&is_not_instance); __ 4388 src/x64/code-stubs-x64.cc __ StoreRoot(kScratchRegister, Heap::kInstanceofCacheAnswerRootIndex); __ 4395 src/x64/code-stubs-x64.cc __ movl(rax, Immediate(false_offset)); __ 4396 src/x64/code-stubs-x64.cc __ movq(kScratchRegister, Operand(rsp, 0 * kPointerSize)); __ 4397 src/x64/code-stubs-x64.cc __ subq(kScratchRegister, Operand(rsp, 1 * kPointerSize)); __ 4398 src/x64/code-stubs-x64.cc __ movb(Operand(kScratchRegister, kOffsetToResultValue), rax); __ 4400 src/x64/code-stubs-x64.cc __ movl(rax, Immediate(kWordBeforeResultValue)); __ 4401 src/x64/code-stubs-x64.cc __ cmpl(Operand(kScratchRegister, kOffsetToResultValue - 4), rax); __ 4402 src/x64/code-stubs-x64.cc __ Assert(equal, "InstanceofStub unexpected call site cache (mov)"); __ 4405 src/x64/code-stubs-x64.cc __ ret(2 * kPointerSize + extra_stack_space); __ 4408 src/x64/code-stubs-x64.cc __ bind(&slow); __ 4411 src/x64/code-stubs-x64.cc __ pop(rcx); __ 4412 src/x64/code-stubs-x64.cc __ pop(rax); __ 4413 src/x64/code-stubs-x64.cc __ push(rcx); __ 4415 src/x64/code-stubs-x64.cc __ InvokeBuiltin(Builtins::INSTANCE_OF, JUMP_FUNCTION); __ 4474 src/x64/code-stubs-x64.cc __ JumpIfSmi(object_, receiver_not_string_); __ 4477 src/x64/code-stubs-x64.cc __ movq(result_, FieldOperand(object_, HeapObject::kMapOffset)); __ 4478 src/x64/code-stubs-x64.cc __ movzxbl(result_, FieldOperand(result_, Map::kInstanceTypeOffset)); __ 4480 src/x64/code-stubs-x64.cc __ testb(result_, Immediate(kIsNotStringMask)); __ 4481 src/x64/code-stubs-x64.cc __ j(not_zero, receiver_not_string_); __ 4484 src/x64/code-stubs-x64.cc __ JumpIfNotSmi(index_, &index_not_smi_); __ 4485 src/x64/code-stubs-x64.cc __ bind(&got_smi_index_); __ 4488 src/x64/code-stubs-x64.cc __ SmiCompare(index_, FieldOperand(object_, String::kLengthOffset)); __ 4489 src/x64/code-stubs-x64.cc __ j(above_equal, index_out_of_range_); __ 4491 src/x64/code-stubs-x64.cc __ SmiToInteger32(index_, index_); __ 4496 src/x64/code-stubs-x64.cc __ Integer32ToSmi(result_, result_); __ 4497 src/x64/code-stubs-x64.cc __ bind(&exit_); __ 4504 src/x64/code-stubs-x64.cc __ Abort("Unexpected fallthrough to CharCodeAt slow case"); __ 4508 src/x64/code-stubs-x64.cc __ bind(&index_not_smi_); __ 4510 src/x64/code-stubs-x64.cc __ CheckMap(index_, __ 4515 src/x64/code-stubs-x64.cc __ push(object_); __ 4516 src/x64/code-stubs-x64.cc __ push(index_); // Consumed by runtime conversion function. __ 4518 src/x64/code-stubs-x64.cc __ CallRuntime(Runtime::kNumberToIntegerMapMinusZero, 1); __ 4522 src/x64/code-stubs-x64.cc __ CallRuntime(Runtime::kNumberToSmi, 1); __ 4527 src/x64/code-stubs-x64.cc __ movq(index_, rax); __ 4529 src/x64/code-stubs-x64.cc __ pop(object_); __ 4531 src/x64/code-stubs-x64.cc __ movq(result_, FieldOperand(object_, HeapObject::kMapOffset)); __ 4532 src/x64/code-stubs-x64.cc __ movzxbl(result_, FieldOperand(result_, Map::kInstanceTypeOffset)); __ 4535 src/x64/code-stubs-x64.cc __ JumpIfNotSmi(index_, index_out_of_range_); __ 4537 src/x64/code-stubs-x64.cc __ jmp(&got_smi_index_); __ 4542 src/x64/code-stubs-x64.cc __ bind(&call_runtime_); __ 4544 src/x64/code-stubs-x64.cc __ push(object_); __ 4545 src/x64/code-stubs-x64.cc __ Integer32ToSmi(index_, index_); __ 4546 src/x64/code-stubs-x64.cc __ push(index_); __ 4547 src/x64/code-stubs-x64.cc __ CallRuntime(Runtime::kStringCharCodeAt, 2); __ 4549 src/x64/code-stubs-x64.cc __ movq(result_, rax); __ 4552 src/x64/code-stubs-x64.cc __ jmp(&exit_); __ 4554 src/x64/code-stubs-x64.cc __ Abort("Unexpected fallthrough from CharCodeAt slow case"); __ 4563 src/x64/code-stubs-x64.cc __ JumpIfNotSmi(code_, &slow_case_); __ 4564 src/x64/code-stubs-x64.cc __ SmiCompare(code_, Smi::FromInt(String::kMaxAsciiCharCode)); __ 4565 src/x64/code-stubs-x64.cc __ j(above, &slow_case_); __ 4567 src/x64/code-stubs-x64.cc __ LoadRoot(result_, Heap::kSingleCharacterStringCacheRootIndex); __ 4569 src/x64/code-stubs-x64.cc __ movq(result_, FieldOperand(result_, index.reg, index.scale, __ 4571 src/x64/code-stubs-x64.cc __ CompareRoot(result_, Heap::kUndefinedValueRootIndex); __ 4572 src/x64/code-stubs-x64.cc __ j(equal, &slow_case_); __ 4573 src/x64/code-stubs-x64.cc __ bind(&exit_); __ 4580 src/x64/code-stubs-x64.cc __ Abort("Unexpected fallthrough to CharFromCode slow case"); __ 4582 src/x64/code-stubs-x64.cc __ bind(&slow_case_); __ 4584 src/x64/code-stubs-x64.cc __ push(code_); __ 4585 src/x64/code-stubs-x64.cc __ CallRuntime(Runtime::kCharFromCode, 1); __ 4587 src/x64/code-stubs-x64.cc __ movq(result_, rax); __ 4590 src/x64/code-stubs-x64.cc __ jmp(&exit_); __ 4592 src/x64/code-stubs-x64.cc __ Abort("Unexpected fallthrough from CharFromCode slow case"); __ 4618 src/x64/code-stubs-x64.cc __ movq(rax, Operand(rsp, 2 * kPointerSize)); // First argument (left). __ 4619 src/x64/code-stubs-x64.cc __ movq(rdx, Operand(rsp, 1 * kPointerSize)); // Second argument (right). __ 4623 src/x64/code-stubs-x64.cc __ JumpIfSmi(rax, &call_runtime); __ 4624 src/x64/code-stubs-x64.cc __ CmpObjectType(rax, FIRST_NONSTRING_TYPE, r8); __ 4625 src/x64/code-stubs-x64.cc __ j(above_equal, &call_runtime); __ 4628 src/x64/code-stubs-x64.cc __ JumpIfSmi(rdx, &call_runtime); __ 4629 src/x64/code-stubs-x64.cc __ CmpObjectType(rdx, FIRST_NONSTRING_TYPE, r9); __ 4630 src/x64/code-stubs-x64.cc __ j(above_equal, &call_runtime); __ 4652 src/x64/code-stubs-x64.cc __ movq(rcx, FieldOperand(rdx, String::kLengthOffset)); __ 4653 src/x64/code-stubs-x64.cc __ SmiTest(rcx); __ 4654 src/x64/code-stubs-x64.cc __ j(not_zero, &second_not_zero_length, Label::kNear); __ 4657 src/x64/code-stubs-x64.cc __ IncrementCounter(counters->string_add_native(), 1); __ 4658 src/x64/code-stubs-x64.cc __ ret(2 * kPointerSize); __ 4659 src/x64/code-stubs-x64.cc __ bind(&second_not_zero_length); __ 4660 src/x64/code-stubs-x64.cc __ movq(rbx, FieldOperand(rax, String::kLengthOffset)); __ 4661 src/x64/code-stubs-x64.cc __ SmiTest(rbx); __ 4662 src/x64/code-stubs-x64.cc __ j(not_zero, &both_not_zero_length, Label::kNear); __ 4664 src/x64/code-stubs-x64.cc __ movq(rax, rdx); __ 4665 src/x64/code-stubs-x64.cc __ IncrementCounter(counters->string_add_native(), 1); __ 4666 src/x64/code-stubs-x64.cc __ ret(2 * kPointerSize); __ 4676 src/x64/code-stubs-x64.cc __ bind(&both_not_zero_length); __ 4681 src/x64/code-stubs-x64.cc __ movq(r8, FieldOperand(rax, HeapObject::kMapOffset)); __ 4682 src/x64/code-stubs-x64.cc __ movq(r9, FieldOperand(rdx, HeapObject::kMapOffset)); __ 4685 src/x64/code-stubs-x64.cc __ movzxbl(r8, FieldOperand(r8, Map::kInstanceTypeOffset)); __ 4686 src/x64/code-stubs-x64.cc __ movzxbl(r9, FieldOperand(r9, Map::kInstanceTypeOffset)); __ 4690 src/x64/code-stubs-x64.cc __ SmiAdd(rbx, rbx, rcx); __ 4693 src/x64/code-stubs-x64.cc __ SmiCompare(rbx, Smi::FromInt(2)); __ 4694 src/x64/code-stubs-x64.cc __ j(not_equal, &longer_than_two); __ 4697 src/x64/code-stubs-x64.cc __ JumpIfBothInstanceTypesAreNotSequentialAscii(r8, r9, rbx, rcx, __ 4701 src/x64/code-stubs-x64.cc __ movzxbq(rbx, FieldOperand(rax, SeqAsciiString::kHeaderSize)); __ 4702 src/x64/code-stubs-x64.cc __ movzxbq(rcx, FieldOperand(rdx, SeqAsciiString::kHeaderSize)); __ 4709 src/x64/code-stubs-x64.cc __ IncrementCounter(counters->string_add_native(), 1); __ 4710 src/x64/code-stubs-x64.cc __ ret(2 * kPointerSize); __ 4712 src/x64/code-stubs-x64.cc __ bind(&make_two_character_string); __ 4713 src/x64/code-stubs-x64.cc __ Set(rdi, 2); __ 4714 src/x64/code-stubs-x64.cc __ AllocateAsciiString(rax, rdi, r8, r9, r11, &call_runtime); __ 4718 src/x64/code-stubs-x64.cc __ movzxbq(rcx, FieldOperand(rdx, SeqAsciiString::kHeaderSize)); __ 4719 src/x64/code-stubs-x64.cc __ shll(rcx, Immediate(kBitsPerByte)); __ 4720 src/x64/code-stubs-x64.cc __ orl(rbx, rcx); __ 4722 src/x64/code-stubs-x64.cc __ movw(FieldOperand(rax, SeqAsciiString::kHeaderSize), rbx); __ 4723 src/x64/code-stubs-x64.cc __ IncrementCounter(counters->string_add_native(), 1); __ 4724 src/x64/code-stubs-x64.cc __ ret(2 * kPointerSize); __ 4726 src/x64/code-stubs-x64.cc __ bind(&longer_than_two); __ 4728 src/x64/code-stubs-x64.cc __ SmiCompare(rbx, Smi::FromInt(ConsString::kMinLength)); __ 4729 src/x64/code-stubs-x64.cc __ j(below, &string_add_flat_result); __ 4732 src/x64/code-stubs-x64.cc __ SmiCompare(rbx, Smi::FromInt(String::kMaxLength)); __ 4733 src/x64/code-stubs-x64.cc __ j(above, &call_runtime); __ 4743 src/x64/code-stubs-x64.cc __ movl(rcx, r8); __ 4744 src/x64/code-stubs-x64.cc __ and_(rcx, r9); __ 4747 src/x64/code-stubs-x64.cc __ testl(rcx, Immediate(kStringEncodingMask)); __ 4748 src/x64/code-stubs-x64.cc __ j(zero, &non_ascii); __ 4749 src/x64/code-stubs-x64.cc __ bind(&ascii_data); __ 4751 src/x64/code-stubs-x64.cc __ AllocateAsciiConsString(rcx, rdi, no_reg, &call_runtime); __ 4752 src/x64/code-stubs-x64.cc __ bind(&allocated); __ 4754 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rcx, ConsString::kLengthOffset), rbx); __ 4755 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rcx, ConsString::kHashFieldOffset), __ 4757 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rcx, ConsString::kFirstOffset), rax); __ 4758 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rcx, ConsString::kSecondOffset), rdx); __ 4759 src/x64/code-stubs-x64.cc __ movq(rax, rcx); __ 4760 src/x64/code-stubs-x64.cc __ IncrementCounter(counters->string_add_native(), 1); __ 4761 src/x64/code-stubs-x64.cc __ ret(2 * kPointerSize); __ 4762 src/x64/code-stubs-x64.cc __ bind(&non_ascii); __ 4768 src/x64/code-stubs-x64.cc __ testb(rcx, Immediate(kAsciiDataHintMask)); __ 4769 src/x64/code-stubs-x64.cc __ j(not_zero, &ascii_data); __ 4770 src/x64/code-stubs-x64.cc __ xor_(r8, r9); __ 4772 src/x64/code-stubs-x64.cc __ andb(r8, Immediate(kAsciiStringTag | kAsciiDataHintTag)); __ 4773 src/x64/code-stubs-x64.cc __ cmpb(r8, Immediate(kAsciiStringTag | kAsciiDataHintTag)); __ 4774 src/x64/code-stubs-x64.cc __ j(equal, &ascii_data); __ 4776 src/x64/code-stubs-x64.cc __ AllocateTwoByteConsString(rcx, rdi, no_reg, &call_runtime); __ 4777 src/x64/code-stubs-x64.cc __ jmp(&allocated); __ 4790 src/x64/code-stubs-x64.cc __ bind(&string_add_flat_result); __ 4792 src/x64/code-stubs-x64.cc __ SmiToInteger32(r14, FieldOperand(rax, SeqString::kLengthOffset)); __ 4795 src/x64/code-stubs-x64.cc __ testb(r8, Immediate(kStringRepresentationMask)); __ 4796 src/x64/code-stubs-x64.cc __ j(zero, &first_is_sequential, Label::kNear); __ 4799 src/x64/code-stubs-x64.cc __ testb(r8, Immediate(kShortExternalStringMask)); __ 4800 src/x64/code-stubs-x64.cc __ j(not_zero, &call_runtime); __ 4801 src/x64/code-stubs-x64.cc __ movq(rcx, FieldOperand(rax, ExternalString::kResourceDataOffset)); __ 4802 src/x64/code-stubs-x64.cc __ jmp(&first_prepared, Label::kNear); __ 4803 src/x64/code-stubs-x64.cc __ bind(&first_is_sequential); __ 4805 src/x64/code-stubs-x64.cc __ lea(rcx, FieldOperand(rax, SeqAsciiString::kHeaderSize)); __ 4806 src/x64/code-stubs-x64.cc __ bind(&first_prepared); __ 4809 src/x64/code-stubs-x64.cc __ xorl(r8, r9); __ 4810 src/x64/code-stubs-x64.cc __ testb(r8, Immediate(kStringEncodingMask)); __ 4811 src/x64/code-stubs-x64.cc __ j(not_zero, &call_runtime); __ 4813 src/x64/code-stubs-x64.cc __ SmiToInteger32(r15, FieldOperand(rdx, SeqString::kLengthOffset)); __ 4816 src/x64/code-stubs-x64.cc __ testb(r9, Immediate(kStringRepresentationMask)); __ 4817 src/x64/code-stubs-x64.cc __ j(zero, &second_is_sequential, Label::kNear); __ 4820 src/x64/code-stubs-x64.cc __ testb(r9, Immediate(kShortExternalStringMask)); __ 4821 src/x64/code-stubs-x64.cc __ j(not_zero, &call_runtime); __ 4822 src/x64/code-stubs-x64.cc __ movq(rdx, FieldOperand(rdx, ExternalString::kResourceDataOffset)); __ 4823 src/x64/code-stubs-x64.cc __ jmp(&second_prepared, Label::kNear); __ 4824 src/x64/code-stubs-x64.cc __ bind(&second_is_sequential); __ 4826 src/x64/code-stubs-x64.cc __ lea(rdx, FieldOperand(rdx, SeqAsciiString::kHeaderSize)); __ 4827 src/x64/code-stubs-x64.cc __ bind(&second_prepared); __ 4833 src/x64/code-stubs-x64.cc __ SmiToInteger32(rbx, rbx); __ 4834 src/x64/code-stubs-x64.cc __ testb(r9, Immediate(kStringEncodingMask)); __ 4835 src/x64/code-stubs-x64.cc __ j(zero, &non_ascii_string_add_flat_result); __ 4837 src/x64/code-stubs-x64.cc __ bind(&make_flat_ascii_string); __ 4839 src/x64/code-stubs-x64.cc __ AllocateAsciiString(rax, rbx, rdi, r8, r9, &call_runtime); __ 4842 src/x64/code-stubs-x64.cc __ lea(rbx, FieldOperand(rax, SeqAsciiString::kHeaderSize)); __ 4851 src/x64/code-stubs-x64.cc __ IncrementCounter(counters->string_add_native(), 1); __ 4852 src/x64/code-stubs-x64.cc __ ret(2 * kPointerSize); __ 4854 src/x64/code-stubs-x64.cc __ bind(&non_ascii_string_add_flat_result); __ 4856 src/x64/code-stubs-x64.cc __ AllocateTwoByteString(rax, rbx, rdi, r8, r9, &call_runtime); __ 4859 src/x64/code-stubs-x64.cc __ lea(rbx, FieldOperand(rax, SeqTwoByteString::kHeaderSize)); __ 4868 src/x64/code-stubs-x64.cc __ IncrementCounter(counters->string_add_native(), 1); __ 4869 src/x64/code-stubs-x64.cc __ ret(2 * kPointerSize); __ 4872 src/x64/code-stubs-x64.cc __ bind(&call_runtime); __ 4873 src/x64/code-stubs-x64.cc __ TailCallRuntime(Runtime::kStringAdd, 2, 1); __ 4876 src/x64/code-stubs-x64.cc __ bind(&call_builtin); __ 4877 src/x64/code-stubs-x64.cc __ InvokeBuiltin(builtin_id, JUMP_FUNCTION); __ 4891 src/x64/code-stubs-x64.cc __ JumpIfSmi(arg, ¬_string); __ 4892 src/x64/code-stubs-x64.cc __ CmpObjectType(arg, FIRST_NONSTRING_TYPE, scratch1); __ 4893 src/x64/code-stubs-x64.cc __ j(below, &done); __ 4897 src/x64/code-stubs-x64.cc __ bind(¬_string); __ 4906 src/x64/code-stubs-x64.cc __ movq(arg, scratch1); __ 4907 src/x64/code-stubs-x64.cc __ movq(Operand(rsp, stack_offset), arg); __ 4908 src/x64/code-stubs-x64.cc __ jmp(&done); __ 4911 src/x64/code-stubs-x64.cc __ bind(¬_cached); __ 4912 src/x64/code-stubs-x64.cc __ JumpIfSmi(arg, slow); __ 4913 src/x64/code-stubs-x64.cc __ CmpObjectType(arg, JS_VALUE_TYPE, scratch1); // map -> scratch1. __ 4914 src/x64/code-stubs-x64.cc __ j(not_equal, slow); __ 4915 src/x64/code-stubs-x64.cc __ testb(FieldOperand(scratch1, Map::kBitField2Offset), __ 4917 src/x64/code-stubs-x64.cc __ j(zero, slow); __ 4918 src/x64/code-stubs-x64.cc __ movq(arg, FieldOperand(arg, JSValue::kValueOffset)); __ 4919 src/x64/code-stubs-x64.cc __ movq(Operand(rsp, stack_offset), arg); __ 4921 src/x64/code-stubs-x64.cc __ bind(&done); __ 4931 src/x64/code-stubs-x64.cc __ bind(&loop); __ 4935 src/x64/code-stubs-x64.cc __ movb(kScratchRegister, Operand(src, 0)); __ 4936 src/x64/code-stubs-x64.cc __ movb(Operand(dest, 0), kScratchRegister); __ 4937 src/x64/code-stubs-x64.cc __ incq(src); __ 4938 src/x64/code-stubs-x64.cc __ incq(dest); __ 4940 src/x64/code-stubs-x64.cc __ movzxwl(kScratchRegister, Operand(src, 0)); __ 4941 src/x64/code-stubs-x64.cc __ movw(Operand(dest, 0), kScratchRegister); __ 4942 src/x64/code-stubs-x64.cc __ addq(src, Immediate(2)); __ 4943 src/x64/code-stubs-x64.cc __ addq(dest, Immediate(2)); __ 4945 src/x64/code-stubs-x64.cc __ decl(count); __ 4946 src/x64/code-stubs-x64.cc __ j(not_zero, &loop); __ 4965 src/x64/code-stubs-x64.cc __ testl(count, count); __ 4966 src/x64/code-stubs-x64.cc __ j(zero, &done, Label::kNear); __ 4971 src/x64/code-stubs-x64.cc __ addl(count, count); __ 4976 src/x64/code-stubs-x64.cc __ testl(count, Immediate(~7)); __ 4977 src/x64/code-stubs-x64.cc __ j(zero, &last_bytes, Label::kNear); __ 4980 src/x64/code-stubs-x64.cc __ movl(kScratchRegister, count); __ 4981 src/x64/code-stubs-x64.cc __ shr(count, Immediate(3)); // Number of doublewords to copy. __ 4982 src/x64/code-stubs-x64.cc __ repmovsq(); __ 4985 src/x64/code-stubs-x64.cc __ movl(count, kScratchRegister); __ 4986 src/x64/code-stubs-x64.cc __ and_(count, Immediate(7)); __ 4989 src/x64/code-stubs-x64.cc __ bind(&last_bytes); __ 4990 src/x64/code-stubs-x64.cc __ testl(count, count); __ 4991 src/x64/code-stubs-x64.cc __ j(zero, &done, Label::kNear); __ 4995 src/x64/code-stubs-x64.cc __ bind(&loop); __ 4996 src/x64/code-stubs-x64.cc __ movb(kScratchRegister, Operand(src, 0)); __ 4997 src/x64/code-stubs-x64.cc __ movb(Operand(dest, 0), kScratchRegister); __ 4998 src/x64/code-stubs-x64.cc __ incq(src); __ 4999 src/x64/code-stubs-x64.cc __ incq(dest); __ 5000 src/x64/code-stubs-x64.cc __ decl(count); __ 5001 src/x64/code-stubs-x64.cc __ j(not_zero, &loop); __ 5003 src/x64/code-stubs-x64.cc __ bind(&done); __ 5020 src/x64/code-stubs-x64.cc __ leal(scratch, Operand(c1, -'0')); __ 5021 src/x64/code-stubs-x64.cc __ cmpl(scratch, Immediate(static_cast<int>('9' - '0'))); __ 5022 src/x64/code-stubs-x64.cc __ j(above, ¬_array_index, Label::kNear); __ 5023 src/x64/code-stubs-x64.cc __ leal(scratch, Operand(c2, -'0')); __ 5024 src/x64/code-stubs-x64.cc __ cmpl(scratch, Immediate(static_cast<int>('9' - '0'))); __ 5025 src/x64/code-stubs-x64.cc __ j(below_equal, not_found); __ 5027 src/x64/code-stubs-x64.cc __ bind(¬_array_index); __ 5036 src/x64/code-stubs-x64.cc __ shl(c2, Immediate(kBitsPerByte)); __ 5037 src/x64/code-stubs-x64.cc __ orl(chars, c2); __ 5044 src/x64/code-stubs-x64.cc __ LoadRoot(symbol_table, Heap::kSymbolTableRootIndex); __ 5048 src/x64/code-stubs-x64.cc __ SmiToInteger32(mask, __ 5050 src/x64/code-stubs-x64.cc __ decl(mask); __ 5069 src/x64/code-stubs-x64.cc __ movl(scratch, hash); __ 5071 src/x64/code-stubs-x64.cc __ addl(scratch, Immediate(SymbolTable::GetProbeOffset(i))); __ 5073 src/x64/code-stubs-x64.cc __ andl(scratch, mask); __ 5077 src/x64/code-stubs-x64.cc __ movq(candidate, __ 5085 src/x64/code-stubs-x64.cc __ CmpObjectType(candidate, ODDBALL_TYPE, map); __ 5086 src/x64/code-stubs-x64.cc __ j(not_equal, &is_string, Label::kNear); __ 5088 src/x64/code-stubs-x64.cc __ CompareRoot(candidate, Heap::kUndefinedValueRootIndex); __ 5089 src/x64/code-stubs-x64.cc __ j(equal, not_found); __ 5092 src/x64/code-stubs-x64.cc __ LoadRoot(kScratchRegister, Heap::kTheHoleValueRootIndex); __ 5093 src/x64/code-stubs-x64.cc __ cmpq(kScratchRegister, candidate); __ 5094 src/x64/code-stubs-x64.cc __ Assert(equal, "oddball in symbol table is not undefined or the hole"); __ 5096 src/x64/code-stubs-x64.cc __ jmp(&next_probe[i]); __ 5098 src/x64/code-stubs-x64.cc __ bind(&is_string); __ 5101 src/x64/code-stubs-x64.cc __ SmiCompare(FieldOperand(candidate, String::kLengthOffset), __ 5103 src/x64/code-stubs-x64.cc __ j(not_equal, &next_probe[i]); __ 5110 src/x64/code-stubs-x64.cc __ movzxbl(temp, FieldOperand(map, Map::kInstanceTypeOffset)); __ 5111 src/x64/code-stubs-x64.cc __ JumpIfInstanceTypeIsNotSequentialAscii( __ 5115 src/x64/code-stubs-x64.cc __ movl(temp, FieldOperand(candidate, SeqAsciiString::kHeaderSize)); __ 5116 src/x64/code-stubs-x64.cc __ andl(temp, Immediate(0x0000ffff)); __ 5117 src/x64/code-stubs-x64.cc __ cmpl(chars, temp); __ 5118 src/x64/code-stubs-x64.cc __ j(equal, &found_in_symbol_table); __ 5119 src/x64/code-stubs-x64.cc __ bind(&next_probe[i]); __ 5123 src/x64/code-stubs-x64.cc __ jmp(not_found); __ 5127 src/x64/code-stubs-x64.cc __ bind(&found_in_symbol_table); __ 5129 src/x64/code-stubs-x64.cc __ movq(rax, result); __ 5139 src/x64/code-stubs-x64.cc __ LoadRoot(scratch, Heap::kHashSeedRootIndex); __ 5140 src/x64/code-stubs-x64.cc __ SmiToInteger32(scratch, scratch); __ 5141 src/x64/code-stubs-x64.cc __ addl(scratch, character); __ 5142 src/x64/code-stubs-x64.cc __ movl(hash, scratch); __ 5143 src/x64/code-stubs-x64.cc __ shll(scratch, Immediate(10)); __ 5144 src/x64/code-stubs-x64.cc __ addl(hash, scratch); __ 5146 src/x64/code-stubs-x64.cc __ movl(scratch, hash); __ 5147 src/x64/code-stubs-x64.cc __ shrl(scratch, Immediate(6)); __ 5148 src/x64/code-stubs-x64.cc __ xorl(hash, scratch); __ 5157 src/x64/code-stubs-x64.cc __ addl(hash, character); __ 5159 src/x64/code-stubs-x64.cc __ movl(scratch, hash); __ 5160 src/x64/code-stubs-x64.cc __ shll(scratch, Immediate(10)); __ 5161 src/x64/code-stubs-x64.cc __ addl(hash, scratch); __ 5163 src/x64/code-stubs-x64.cc __ movl(scratch, hash); __ 5164 src/x64/code-stubs-x64.cc __ shrl(scratch, Immediate(6)); __ 5165 src/x64/code-stubs-x64.cc __ xorl(hash, scratch); __ 5173 src/x64/code-stubs-x64.cc __ leal(hash, Operand(hash, hash, times_8, 0)); __ 5175 src/x64/code-stubs-x64.cc __ movl(scratch, hash); __ 5176 src/x64/code-stubs-x64.cc __ shrl(scratch, Immediate(11)); __ 5177 src/x64/code-stubs-x64.cc __ xorl(hash, scratch); __ 5179 src/x64/code-stubs-x64.cc __ movl(scratch, hash); __ 5180 src/x64/code-stubs-x64.cc __ shll(scratch, Immediate(15)); __ 5181 src/x64/code-stubs-x64.cc __ addl(hash, scratch); __ 5183 src/x64/code-stubs-x64.cc __ andl(hash, Immediate(String::kHashBitMask)); __ 5187 src/x64/code-stubs-x64.cc __ j(not_zero, &hash_not_zero); __ 5188 src/x64/code-stubs-x64.cc __ Set(hash, StringHasher::kZeroHash); __ 5189 src/x64/code-stubs-x64.cc __ bind(&hash_not_zero); __ 5207 src/x64/code-stubs-x64.cc __ movq(rax, Operand(rsp, kStringOffset)); __ 5209 src/x64/code-stubs-x64.cc __ testl(rax, Immediate(kSmiTagMask)); __ 5210 src/x64/code-stubs-x64.cc __ j(zero, &runtime); __ 5212 src/x64/code-stubs-x64.cc __ j(NegateCondition(is_string), &runtime); __ 5217 src/x64/code-stubs-x64.cc __ movq(rcx, Operand(rsp, kToOffset)); __ 5218 src/x64/code-stubs-x64.cc __ movq(rdx, Operand(rsp, kFromOffset)); __ 5219 src/x64/code-stubs-x64.cc __ JumpUnlessBothNonNegativeSmi(rcx, rdx, &runtime); __ 5221 src/x64/code-stubs-x64.cc __ SmiSub(rcx, rcx, rdx); // Overflow doesn't happen. __ 5222 src/x64/code-stubs-x64.cc __ cmpq(rcx, FieldOperand(rax, String::kLengthOffset)); __ 5225 src/x64/code-stubs-x64.cc __ j(below, ¬_original_string, Label::kNear); __ 5227 src/x64/code-stubs-x64.cc __ j(above, &runtime); __ 5230 src/x64/code-stubs-x64.cc __ IncrementCounter(counters->sub_string_native(), 1); __ 5231 src/x64/code-stubs-x64.cc __ ret(kArgumentsSize); __ 5232 src/x64/code-stubs-x64.cc __ bind(¬_original_string); __ 5233 src/x64/code-stubs-x64.cc __ SmiToInteger32(rcx, rcx); __ 5245 src/x64/code-stubs-x64.cc __ testb(rbx, Immediate(kIsIndirectStringMask)); __ 5246 src/x64/code-stubs-x64.cc __ j(zero, &seq_or_external_string, Label::kNear); __ 5248 src/x64/code-stubs-x64.cc __ testb(rbx, Immediate(kSlicedNotConsMask)); __ 5249 src/x64/code-stubs-x64.cc __ j(not_zero, &sliced_string, Label::kNear); __ 5252 src/x64/code-stubs-x64.cc __ CompareRoot(FieldOperand(rax, ConsString::kSecondOffset), __ 5254 src/x64/code-stubs-x64.cc __ j(not_equal, &runtime); __ 5255 src/x64/code-stubs-x64.cc __ movq(rdi, FieldOperand(rax, ConsString::kFirstOffset)); __ 5257 src/x64/code-stubs-x64.cc __ movq(rbx, FieldOperand(rdi, HeapObject::kMapOffset)); __ 5258 src/x64/code-stubs-x64.cc __ movzxbl(rbx, FieldOperand(rbx, Map::kInstanceTypeOffset)); __ 5259 src/x64/code-stubs-x64.cc __ jmp(&underlying_unpacked, Label::kNear); __ 5261 src/x64/code-stubs-x64.cc __ bind(&sliced_string); __ 5263 src/x64/code-stubs-x64.cc __ addq(rdx, FieldOperand(rax, SlicedString::kOffsetOffset)); __ 5264 src/x64/code-stubs-x64.cc __ movq(rdi, FieldOperand(rax, SlicedString::kParentOffset)); __ 5266 src/x64/code-stubs-x64.cc __ movq(rbx, FieldOperand(rdi, HeapObject::kMapOffset)); __ 5267 src/x64/code-stubs-x64.cc __ movzxbl(rbx, FieldOperand(rbx, Map::kInstanceTypeOffset)); __ 5268 src/x64/code-stubs-x64.cc __ jmp(&underlying_unpacked, Label::kNear); __ 5270 src/x64/code-stubs-x64.cc __ bind(&seq_or_external_string); __ 5272 src/x64/code-stubs-x64.cc __ movq(rdi, rax); __ 5274 src/x64/code-stubs-x64.cc __ bind(&underlying_unpacked); __ 5284 src/x64/code-stubs-x64.cc __ cmpq(rcx, Immediate(SlicedString::kMinLength)); __ 5286 src/x64/code-stubs-x64.cc __ j(less, ©_routine); __ 5295 src/x64/code-stubs-x64.cc __ testb(rbx, Immediate(kStringEncodingMask)); __ 5296 src/x64/code-stubs-x64.cc __ j(zero, &two_byte_slice, Label::kNear); __ 5297 src/x64/code-stubs-x64.cc __ AllocateAsciiSlicedString(rax, rbx, r14, &runtime); __ 5298 src/x64/code-stubs-x64.cc __ jmp(&set_slice_header, Label::kNear); __ 5299 src/x64/code-stubs-x64.cc __ bind(&two_byte_slice); __ 5300 src/x64/code-stubs-x64.cc __ AllocateTwoByteSlicedString(rax, rbx, r14, &runtime); __ 5301 src/x64/code-stubs-x64.cc __ bind(&set_slice_header); __ 5302 src/x64/code-stubs-x64.cc __ Integer32ToSmi(rcx, rcx); __ 5303 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, SlicedString::kLengthOffset), rcx); __ 5304 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, SlicedString::kHashFieldOffset), __ 5306 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, SlicedString::kParentOffset), rdi); __ 5307 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rax, SlicedString::kOffsetOffset), rdx); __ 5308 src/x64/code-stubs-x64.cc __ IncrementCounter(counters->sub_string_native(), 1); __ 5309 src/x64/code-stubs-x64.cc __ ret(kArgumentsSize); __ 5311 src/x64/code-stubs-x64.cc __ bind(©_routine); __ 5323 src/x64/code-stubs-x64.cc __ testb(rbx, Immediate(kExternalStringTag)); __ 5324 src/x64/code-stubs-x64.cc __ j(zero, &sequential_string); __ 5329 src/x64/code-stubs-x64.cc __ testb(rbx, Immediate(kShortExternalStringMask)); __ 5330 src/x64/code-stubs-x64.cc __ j(not_zero, &runtime); __ 5331 src/x64/code-stubs-x64.cc __ movq(rdi, FieldOperand(rdi, ExternalString::kResourceDataOffset)); __ 5334 src/x64/code-stubs-x64.cc __ subq(rdi, Immediate(SeqTwoByteString::kHeaderSize - kHeapObjectTag)); __ 5336 src/x64/code-stubs-x64.cc __ bind(&sequential_string); __ 5338 src/x64/code-stubs-x64.cc __ testb(rbx, Immediate(kStringEncodingMask)); __ 5339 src/x64/code-stubs-x64.cc __ j(zero, &two_byte_sequential); __ 5342 src/x64/code-stubs-x64.cc __ AllocateAsciiString(rax, rcx, r11, r14, r15, &runtime); __ 5346 src/x64/code-stubs-x64.cc __ movq(r14, rsi); // esi used by following code. __ 5349 src/x64/code-stubs-x64.cc __ lea(rsi, Operand(rdi, smi_as_index.reg, smi_as_index.scale, __ 5353 src/x64/code-stubs-x64.cc __ lea(rdi, FieldOperand(rax, SeqAsciiString::kHeaderSize)); __ 5361 src/x64/code-stubs-x64.cc __ movq(rsi, r14); // Restore rsi. __ 5362 src/x64/code-stubs-x64.cc __ IncrementCounter(counters->sub_string_native(), 1); __ 5363 src/x64/code-stubs-x64.cc __ ret(kArgumentsSize); __ 5365 src/x64/code-stubs-x64.cc __ bind(&two_byte_sequential); __ 5367 src/x64/code-stubs-x64.cc __ AllocateTwoByteString(rax, rcx, r11, r14, r15, &runtime); __ 5371 src/x64/code-stubs-x64.cc __ movq(r14, rsi); // esi used by following code. __ 5374 src/x64/code-stubs-x64.cc __ lea(rsi, Operand(rdi, smi_as_index.reg, smi_as_index.scale, __ 5378 src/x64/code-stubs-x64.cc __ lea(rdi, FieldOperand(rax, SeqTwoByteString::kHeaderSize)); __ 5386 src/x64/code-stubs-x64.cc __ movq(rsi, r14); // Restore esi. __ 5387 src/x64/code-stubs-x64.cc __ IncrementCounter(counters->sub_string_native(), 1); __ 5388 src/x64/code-stubs-x64.cc __ ret(kArgumentsSize); __ 5391 src/x64/code-stubs-x64.cc __ bind(&runtime); __ 5392 src/x64/code-stubs-x64.cc __ TailCallRuntime(Runtime::kSubString, 3, 1); __ 5405 src/x64/code-stubs-x64.cc __ movq(length, FieldOperand(left, String::kLengthOffset)); __ 5406 src/x64/code-stubs-x64.cc __ SmiCompare(length, FieldOperand(right, String::kLengthOffset)); __ 5407 src/x64/code-stubs-x64.cc __ j(equal, &check_zero_length, Label::kNear); __ 5408 src/x64/code-stubs-x64.cc __ Move(rax, Smi::FromInt(NOT_EQUAL)); __ 5409 src/x64/code-stubs-x64.cc __ ret(0); __ 5413 src/x64/code-stubs-x64.cc __ bind(&check_zero_length); __ 5415 src/x64/code-stubs-x64.cc __ SmiTest(length); __ 5416 src/x64/code-stubs-x64.cc __ j(not_zero, &compare_chars, Label::kNear); __ 5417 src/x64/code-stubs-x64.cc __ Move(rax, Smi::FromInt(EQUAL)); __ 5418 src/x64/code-stubs-x64.cc __ ret(0); __ 5421 src/x64/code-stubs-x64.cc __ bind(&compare_chars); __ 5427 src/x64/code-stubs-x64.cc __ Move(rax, Smi::FromInt(EQUAL)); __ 5428 src/x64/code-stubs-x64.cc __ ret(0); __ 5431 src/x64/code-stubs-x64.cc __ bind(&strings_not_equal); __ 5432 src/x64/code-stubs-x64.cc __ Move(rax, Smi::FromInt(NOT_EQUAL)); __ 5433 src/x64/code-stubs-x64.cc __ ret(0); __ 5449 src/x64/code-stubs-x64.cc __ movq(scratch1, FieldOperand(left, String::kLengthOffset)); __ 5450 src/x64/code-stubs-x64.cc __ movq(scratch4, scratch1); __ 5451 src/x64/code-stubs-x64.cc __ SmiSub(scratch4, __ 5457 src/x64/code-stubs-x64.cc __ j(less, &left_shorter, Label::kNear); __ 5461 src/x64/code-stubs-x64.cc __ SmiSub(scratch1, scratch1, length_difference); __ 5462 src/x64/code-stubs-x64.cc __ bind(&left_shorter); __ 5468 src/x64/code-stubs-x64.cc __ SmiTest(min_length); __ 5469 src/x64/code-stubs-x64.cc __ j(zero, &compare_lengths, Label::kNear); __ 5478 src/x64/code-stubs-x64.cc __ bind(&compare_lengths); __ 5479 src/x64/code-stubs-x64.cc __ SmiTest(length_difference); __ 5480 src/x64/code-stubs-x64.cc __ j(not_zero, &result_not_equal, Label::kNear); __ 5483 src/x64/code-stubs-x64.cc __ Move(rax, Smi::FromInt(EQUAL)); __ 5484 src/x64/code-stubs-x64.cc __ ret(0); __ 5487 src/x64/code-stubs-x64.cc __ bind(&result_not_equal); __ 5489 src/x64/code-stubs-x64.cc __ j(greater, &result_greater, Label::kNear); __ 5492 src/x64/code-stubs-x64.cc __ Move(rax, Smi::FromInt(LESS)); __ 5493 src/x64/code-stubs-x64.cc __ ret(0); __ 5496 src/x64/code-stubs-x64.cc __ bind(&result_greater); __ 5497 src/x64/code-stubs-x64.cc __ Move(rax, Smi::FromInt(GREATER)); __ 5498 src/x64/code-stubs-x64.cc __ ret(0); __ 5513 src/x64/code-stubs-x64.cc __ SmiToInteger32(length, length); __ 5514 src/x64/code-stubs-x64.cc __ lea(left, __ 5516 src/x64/code-stubs-x64.cc __ lea(right, __ 5518 src/x64/code-stubs-x64.cc __ neg(length); __ 5523 src/x64/code-stubs-x64.cc __ bind(&loop); __ 5524 src/x64/code-stubs-x64.cc __ movb(scratch, Operand(left, index, times_1, 0)); __ 5525 src/x64/code-stubs-x64.cc __ cmpb(scratch, Operand(right, index, times_1, 0)); __ 5526 src/x64/code-stubs-x64.cc __ j(not_equal, chars_not_equal, near_jump); __ 5527 src/x64/code-stubs-x64.cc __ incq(index); __ 5528 src/x64/code-stubs-x64.cc __ j(not_zero, &loop); __ 5540 src/x64/code-stubs-x64.cc __ movq(rdx, Operand(rsp, 2 * kPointerSize)); // left __ 5541 src/x64/code-stubs-x64.cc __ movq(rax, Operand(rsp, 1 * kPointerSize)); // right __ 5545 src/x64/code-stubs-x64.cc __ cmpq(rdx, rax); __ 5546 src/x64/code-stubs-x64.cc __ j(not_equal, ¬_same, Label::kNear); __ 5547 src/x64/code-stubs-x64.cc __ Move(rax, Smi::FromInt(EQUAL)); __ 5549 src/x64/code-stubs-x64.cc __ IncrementCounter(counters->string_compare_native(), 1); __ 5550 src/x64/code-stubs-x64.cc __ ret(2 * kPointerSize); __ 5552 src/x64/code-stubs-x64.cc __ bind(¬_same); __ 5555 src/x64/code-stubs-x64.cc __ JumpIfNotBothSequentialAsciiStrings(rdx, rax, rcx, rbx, &runtime); __ 5558 src/x64/code-stubs-x64.cc __ IncrementCounter(counters->string_compare_native(), 1); __ 5560 src/x64/code-stubs-x64.cc __ pop(rcx); __ 5561 src/x64/code-stubs-x64.cc __ addq(rsp, Immediate(2 * kPointerSize)); __ 5562 src/x64/code-stubs-x64.cc __ push(rcx); __ 5567 src/x64/code-stubs-x64.cc __ bind(&runtime); __ 5568 src/x64/code-stubs-x64.cc __ TailCallRuntime(Runtime::kStringCompare, 2, 1); __ 5575 src/x64/code-stubs-x64.cc __ JumpIfNotBothSmi(rdx, rax, &miss, Label::kNear); __ 5579 src/x64/code-stubs-x64.cc __ subq(rax, rdx); __ 5582 src/x64/code-stubs-x64.cc __ subq(rdx, rax); __ 5583 src/x64/code-stubs-x64.cc __ j(no_overflow, &done, Label::kNear); __ 5585 src/x64/code-stubs-x64.cc __ SmiNot(rdx, rdx); __ 5586 src/x64/code-stubs-x64.cc __ bind(&done); __ 5587 src/x64/code-stubs-x64.cc __ movq(rax, rdx); __ 5589 src/x64/code-stubs-x64.cc __ ret(0); __ 5591 src/x64/code-stubs-x64.cc __ bind(&miss); __ 5603 src/x64/code-stubs-x64.cc __ j(either_smi, &generic_stub, Label::kNear); __ 5605 src/x64/code-stubs-x64.cc __ CmpObjectType(rax, HEAP_NUMBER_TYPE, rcx); __ 5606 src/x64/code-stubs-x64.cc __ j(not_equal, &maybe_undefined1, Label::kNear); __ 5607 src/x64/code-stubs-x64.cc __ CmpObjectType(rdx, HEAP_NUMBER_TYPE, rcx); __ 5608 src/x64/code-stubs-x64.cc __ j(not_equal, &maybe_undefined2, Label::kNear); __ 5611 src/x64/code-stubs-x64.cc __ movsd(xmm0, FieldOperand(rdx, HeapNumber::kValueOffset)); __ 5612 src/x64/code-stubs-x64.cc __ movsd(xmm1, FieldOperand(rax, HeapNumber::kValueOffset)); __ 5615 src/x64/code-stubs-x64.cc __ ucomisd(xmm0, xmm1); __ 5618 src/x64/code-stubs-x64.cc __ j(parity_even, &unordered, Label::kNear); __ 5622 src/x64/code-stubs-x64.cc __ movl(rax, Immediate(0)); __ 5623 src/x64/code-stubs-x64.cc __ movl(rcx, Immediate(0)); __ 5624 src/x64/code-stubs-x64.cc __ setcc(above, rax); // Add one to zero if carry clear and not equal. __ 5625 src/x64/code-stubs-x64.cc __ sbbq(rax, rcx); // Subtract one if below (aka. carry set). __ 5626 src/x64/code-stubs-x64.cc __ ret(0); __ 5628 src/x64/code-stubs-x64.cc __ bind(&unordered); __ 5630 src/x64/code-stubs-x64.cc __ bind(&generic_stub); __ 5631 src/x64/code-stubs-x64.cc __ jmp(stub.GetCode(), RelocInfo::CODE_TARGET); __ 5633 src/x64/code-stubs-x64.cc __ bind(&maybe_undefined1); __ 5635 src/x64/code-stubs-x64.cc __ Cmp(rax, masm->isolate()->factory()->undefined_value()); __ 5636 src/x64/code-stubs-x64.cc __ j(not_equal, &miss); __ 5637 src/x64/code-stubs-x64.cc __ CmpObjectType(rdx, HEAP_NUMBER_TYPE, rcx); __ 5638 src/x64/code-stubs-x64.cc __ j(not_equal, &maybe_undefined2, Label::kNear); __ 5639 src/x64/code-stubs-x64.cc __ jmp(&unordered); __ 5642 src/x64/code-stubs-x64.cc __ bind(&maybe_undefined2); __ 5644 src/x64/code-stubs-x64.cc __ Cmp(rdx, masm->isolate()->factory()->undefined_value()); __ 5645 src/x64/code-stubs-x64.cc __ j(equal, &unordered); __ 5648 src/x64/code-stubs-x64.cc __ bind(&miss); __ 5666 src/x64/code-stubs-x64.cc __ j(cond, &miss, Label::kNear); __ 5669 src/x64/code-stubs-x64.cc __ movq(tmp1, FieldOperand(left, HeapObject::kMapOffset)); __ 5670 src/x64/code-stubs-x64.cc __ movq(tmp2, FieldOperand(right, HeapObject::kMapOffset)); __ 5671 src/x64/code-stubs-x64.cc __ movzxbq(tmp1, FieldOperand(tmp1, Map::kInstanceTypeOffset)); __ 5672 src/x64/code-stubs-x64.cc __ movzxbq(tmp2, FieldOperand(tmp2, Map::kInstanceTypeOffset)); __ 5674 src/x64/code-stubs-x64.cc __ and_(tmp1, tmp2); __ 5675 src/x64/code-stubs-x64.cc __ testb(tmp1, Immediate(kIsSymbolMask)); __ 5676 src/x64/code-stubs-x64.cc __ j(zero, &miss, Label::kNear); __ 5680 src/x64/code-stubs-x64.cc __ cmpq(left, right); __ 5684 src/x64/code-stubs-x64.cc __ j(not_equal, &done, Label::kNear); __ 5687 src/x64/code-stubs-x64.cc __ Move(rax, Smi::FromInt(EQUAL)); __ 5688 src/x64/code-stubs-x64.cc __ bind(&done); __ 5689 src/x64/code-stubs-x64.cc __ ret(0); __ 5691 src/x64/code-stubs-x64.cc __ bind(&miss); __ 5711 src/x64/code-stubs-x64.cc __ j(cond, &miss); __ 5715 src/x64/code-stubs-x64.cc __ movq(tmp1, FieldOperand(left, HeapObject::kMapOffset)); __ 5716 src/x64/code-stubs-x64.cc __ movq(tmp2, FieldOperand(right, HeapObject::kMapOffset)); __ 5717 src/x64/code-stubs-x64.cc __ movzxbq(tmp1, FieldOperand(tmp1, Map::kInstanceTypeOffset)); __ 5718 src/x64/code-stubs-x64.cc __ movzxbq(tmp2, FieldOperand(tmp2, Map::kInstanceTypeOffset)); __ 5719 src/x64/code-stubs-x64.cc __ movq(tmp3, tmp1); __ 5721 src/x64/code-stubs-x64.cc __ or_(tmp3, tmp2); __ 5722 src/x64/code-stubs-x64.cc __ testb(tmp3, Immediate(kIsNotStringMask)); __ 5723 src/x64/code-stubs-x64.cc __ j(not_zero, &miss); __ 5727 src/x64/code-stubs-x64.cc __ cmpq(left, right); __ 5728 src/x64/code-stubs-x64.cc __ j(not_equal, ¬_same, Label::kNear); __ 5731 src/x64/code-stubs-x64.cc __ Move(rax, Smi::FromInt(EQUAL)); __ 5732 src/x64/code-stubs-x64.cc __ ret(0); __ 5735 src/x64/code-stubs-x64.cc __ bind(¬_same); __ 5742 src/x64/code-stubs-x64.cc __ and_(tmp1, tmp2); __ 5743 src/x64/code-stubs-x64.cc __ testb(tmp1, Immediate(kIsSymbolMask)); __ 5744 src/x64/code-stubs-x64.cc __ j(zero, &do_compare, Label::kNear); __ 5748 src/x64/code-stubs-x64.cc __ ret(0); __ 5749 src/x64/code-stubs-x64.cc __ bind(&do_compare); __ 5754 src/x64/code-stubs-x64.cc __ JumpIfNotBothSequentialAsciiStrings(left, right, tmp1, tmp2, &runtime); __ 5766 src/x64/code-stubs-x64.cc __ bind(&runtime); __ 5767 src/x64/code-stubs-x64.cc __ pop(tmp1); // Return address. __ 5768 src/x64/code-stubs-x64.cc __ push(left); __ 5769 src/x64/code-stubs-x64.cc __ push(right); __ 5770 src/x64/code-stubs-x64.cc __ push(tmp1); __ 5772 src/x64/code-stubs-x64.cc __ TailCallRuntime(Runtime::kStringEquals, 2, 1); __ 5774 src/x64/code-stubs-x64.cc __ TailCallRuntime(Runtime::kStringCompare, 2, 1); __ 5777 src/x64/code-stubs-x64.cc __ bind(&miss); __ 5786 src/x64/code-stubs-x64.cc __ j(either_smi, &miss, Label::kNear); __ 5788 src/x64/code-stubs-x64.cc __ CmpObjectType(rax, JS_OBJECT_TYPE, rcx); __ 5789 src/x64/code-stubs-x64.cc __ j(not_equal, &miss, Label::kNear); __ 5790 src/x64/code-stubs-x64.cc __ CmpObjectType(rdx, JS_OBJECT_TYPE, rcx); __ 5791 src/x64/code-stubs-x64.cc __ j(not_equal, &miss, Label::kNear); __ 5794 src/x64/code-stubs-x64.cc __ subq(rax, rdx); __ 5795 src/x64/code-stubs-x64.cc __ ret(0); __ 5797 src/x64/code-stubs-x64.cc __ bind(&miss); __ 5805 src/x64/code-stubs-x64.cc __ j(either_smi, &miss, Label::kNear); __ 5807 src/x64/code-stubs-x64.cc __ movq(rcx, FieldOperand(rax, HeapObject::kMapOffset)); __ 5808 src/x64/code-stubs-x64.cc __ movq(rbx, FieldOperand(rdx, HeapObject::kMapOffset)); __ 5809 src/x64/code-stubs-x64.cc __ Cmp(rcx, known_map_); __ 5810 src/x64/code-stubs-x64.cc __ j(not_equal, &miss, Label::kNear); __ 5811 src/x64/code-stubs-x64.cc __ Cmp(rbx, known_map_); __ 5812 src/x64/code-stubs-x64.cc __ j(not_equal, &miss, Label::kNear); __ 5814 src/x64/code-stubs-x64.cc __ subq(rax, rdx); __ 5815 src/x64/code-stubs-x64.cc __ ret(0); __ 5817 src/x64/code-stubs-x64.cc __ bind(&miss); __ 5829 src/x64/code-stubs-x64.cc __ push(rdx); __ 5830 src/x64/code-stubs-x64.cc __ push(rax); __ 5831 src/x64/code-stubs-x64.cc __ push(rdx); __ 5832 src/x64/code-stubs-x64.cc __ push(rax); __ 5833 src/x64/code-stubs-x64.cc __ Push(Smi::FromInt(op_)); __ 5834 src/x64/code-stubs-x64.cc __ CallExternalReference(miss, 3); __ 5837 src/x64/code-stubs-x64.cc __ lea(rdi, FieldOperand(rax, Code::kHeaderSize)); __ 5838 src/x64/code-stubs-x64.cc __ pop(rax); __ 5839 src/x64/code-stubs-x64.cc __ pop(rdx); __ 5843 src/x64/code-stubs-x64.cc __ jmp(rdi); __ 5863 src/x64/code-stubs-x64.cc __ SmiToInteger32(index, FieldOperand(properties, kCapacityOffset)); __ 5864 src/x64/code-stubs-x64.cc __ decl(index); __ 5865 src/x64/code-stubs-x64.cc __ and_(index, __ 5870 src/x64/code-stubs-x64.cc __ lea(index, Operand(index, index, times_2, 0)); // index *= 3. __ 5875 src/x64/code-stubs-x64.cc __ movq(entity_name, Operand(properties, __ 5879 src/x64/code-stubs-x64.cc __ Cmp(entity_name, masm->isolate()->factory()->undefined_value()); __ 5880 src/x64/code-stubs-x64.cc __ j(equal, done); __ 5883 src/x64/code-stubs-x64.cc __ Cmp(entity_name, Handle<String>(name)); __ 5884 src/x64/code-stubs-x64.cc __ j(equal, miss); __ 5888 src/x64/code-stubs-x64.cc __ CompareRoot(entity_name, Heap::kTheHoleValueRootIndex); __ 5889 src/x64/code-stubs-x64.cc __ j(equal, &the_hole, Label::kNear); __ 5892 src/x64/code-stubs-x64.cc __ movq(entity_name, FieldOperand(entity_name, HeapObject::kMapOffset)); __ 5893 src/x64/code-stubs-x64.cc __ testb(FieldOperand(entity_name, Map::kInstanceTypeOffset), __ 5895 src/x64/code-stubs-x64.cc __ j(zero, miss); __ 5897 src/x64/code-stubs-x64.cc __ bind(&the_hole); __ 5904 src/x64/code-stubs-x64.cc __ Push(Handle<Object>(name)); __ 5905 src/x64/code-stubs-x64.cc __ push(Immediate(name->Hash())); __ 5906 src/x64/code-stubs-x64.cc __ CallStub(&stub); __ 5907 src/x64/code-stubs-x64.cc __ testq(r0, r0); __ 5908 src/x64/code-stubs-x64.cc __ j(not_zero, miss); __ 5909 src/x64/code-stubs-x64.cc __ jmp(done); __ 5930 src/x64/code-stubs-x64.cc if (FLAG_debug_code) __ AbortIfNotString(name); __ 5932 src/x64/code-stubs-x64.cc __ SmiToInteger32(r0, FieldOperand(elements, kCapacityOffset)); __ 5933 src/x64/code-stubs-x64.cc __ decl(r0); __ 5937 src/x64/code-stubs-x64.cc __ movl(r1, FieldOperand(name, String::kHashFieldOffset)); __ 5938 src/x64/code-stubs-x64.cc __ shrl(r1, Immediate(String::kHashShift)); __ 5940 src/x64/code-stubs-x64.cc __ addl(r1, Immediate(StringDictionary::GetProbeOffset(i))); __ 5942 src/x64/code-stubs-x64.cc __ and_(r1, r0); __ 5946 src/x64/code-stubs-x64.cc __ lea(r1, Operand(r1, r1, times_2, 0)); // r1 = r1 * 3 __ 5949 src/x64/code-stubs-x64.cc __ cmpq(name, Operand(elements, r1, times_pointer_size, __ 5951 src/x64/code-stubs-x64.cc __ j(equal, done); __ 5958 src/x64/code-stubs-x64.cc __ push(name); __ 5959 src/x64/code-stubs-x64.cc __ movl(r0, FieldOperand(name, String::kHashFieldOffset)); __ 5960 src/x64/code-stubs-x64.cc __ shrl(r0, Immediate(String::kHashShift)); __ 5961 src/x64/code-stubs-x64.cc __ push(r0); __ 5962 src/x64/code-stubs-x64.cc __ CallStub(&stub); __ 5964 src/x64/code-stubs-x64.cc __ testq(r0, r0); __ 5965 src/x64/code-stubs-x64.cc __ j(zero, miss); __ 5966 src/x64/code-stubs-x64.cc __ jmp(done); __ 5989 src/x64/code-stubs-x64.cc __ SmiToInteger32(scratch, FieldOperand(dictionary_, kCapacityOffset)); __ 5990 src/x64/code-stubs-x64.cc __ decl(scratch); __ 5991 src/x64/code-stubs-x64.cc __ push(scratch); __ 6000 src/x64/code-stubs-x64.cc __ movq(scratch, Operand(rsp, 2 * kPointerSize)); __ 6002 src/x64/code-stubs-x64.cc __ addl(scratch, Immediate(StringDictionary::GetProbeOffset(i))); __ 6004 src/x64/code-stubs-x64.cc __ and_(scratch, Operand(rsp, 0)); __ 6008 src/x64/code-stubs-x64.cc __ lea(index_, Operand(scratch, scratch, times_2, 0)); // index *= 3. __ 6011 src/x64/code-stubs-x64.cc __ movq(scratch, Operand(dictionary_, __ 6016 src/x64/code-stubs-x64.cc __ Cmp(scratch, masm->isolate()->factory()->undefined_value()); __ 6017 src/x64/code-stubs-x64.cc __ j(equal, ¬_in_dictionary); __ 6020 src/x64/code-stubs-x64.cc __ cmpq(scratch, Operand(rsp, 3 * kPointerSize)); __ 6021 src/x64/code-stubs-x64.cc __ j(equal, &in_dictionary); __ 6029 src/x64/code-stubs-x64.cc __ movq(scratch, FieldOperand(scratch, HeapObject::kMapOffset)); __ 6030 src/x64/code-stubs-x64.cc __ testb(FieldOperand(scratch, Map::kInstanceTypeOffset), __ 6032 src/x64/code-stubs-x64.cc __ j(zero, &maybe_in_dictionary); __ 6036 src/x64/code-stubs-x64.cc __ bind(&maybe_in_dictionary); __ 6041 src/x64/code-stubs-x64.cc __ movq(scratch, Immediate(0)); __ 6042 src/x64/code-stubs-x64.cc __ Drop(1); __ 6043 src/x64/code-stubs-x64.cc __ ret(2 * kPointerSize); __ 6046 src/x64/code-stubs-x64.cc __ bind(&in_dictionary); __ 6047 src/x64/code-stubs-x64.cc __ movq(scratch, Immediate(1)); __ 6048 src/x64/code-stubs-x64.cc __ Drop(1); __ 6049 src/x64/code-stubs-x64.cc __ ret(2 * kPointerSize); __ 6051 src/x64/code-stubs-x64.cc __ bind(¬_in_dictionary); __ 6052 src/x64/code-stubs-x64.cc __ movq(scratch, Immediate(0)); __ 6053 src/x64/code-stubs-x64.cc __ Drop(1); __ 6054 src/x64/code-stubs-x64.cc __ ret(2 * kPointerSize); __ 6157 src/x64/code-stubs-x64.cc __ jmp(&skip_to_incremental_noncompacting, Label::kNear); __ 6158 src/x64/code-stubs-x64.cc __ jmp(&skip_to_incremental_compacting, Label::kFar); __ 6161 src/x64/code-stubs-x64.cc __ RememberedSetHelper(object_, __ 6167 src/x64/code-stubs-x64.cc __ ret(0); __ 6170 src/x64/code-stubs-x64.cc __ bind(&skip_to_incremental_noncompacting); __ 6173 src/x64/code-stubs-x64.cc __ bind(&skip_to_incremental_compacting); __ 6189 src/x64/code-stubs-x64.cc __ movq(regs_.scratch0(), Operand(regs_.address(), 0)); __ 6190 src/x64/code-stubs-x64.cc __ JumpIfNotInNewSpace(regs_.scratch0(), __ 6194 src/x64/code-stubs-x64.cc __ CheckPageFlag(regs_.object(), __ 6206 src/x64/code-stubs-x64.cc __ RememberedSetHelper(object_, __ 6212 src/x64/code-stubs-x64.cc __ bind(&dont_need_remembered_set); __ 6219 src/x64/code-stubs-x64.cc __ ret(0); __ 6238 src/x64/code-stubs-x64.cc __ Move(address, regs_.address()); __ 6239 src/x64/code-stubs-x64.cc __ Move(arg1, regs_.object()); __ 6242 src/x64/code-stubs-x64.cc __ Move(arg2, address); __ 6245 src/x64/code-stubs-x64.cc __ movq(arg2, Operand(address, 0)); __ 6247 src/x64/code-stubs-x64.cc __ LoadAddress(arg3, ExternalReference::isolate_address()); __ 6251 src/x64/code-stubs-x64.cc __ PrepareCallCFunction(argument_count); __ 6253 src/x64/code-stubs-x64.cc __ CallCFunction( __ 6259 src/x64/code-stubs-x64.cc __ CallCFunction( __ 6278 src/x64/code-stubs-x64.cc __ JumpIfBlack(regs_.object(), __ 6286 src/x64/code-stubs-x64.cc __ RememberedSetHelper(object_, __ 6292 src/x64/code-stubs-x64.cc __ ret(0); __ 6295 src/x64/code-stubs-x64.cc __ bind(&on_black); __ 6298 src/x64/code-stubs-x64.cc __ movq(regs_.scratch0(), Operand(regs_.address(), 0)); __ 6303 src/x64/code-stubs-x64.cc __ CheckPageFlag(regs_.scratch0(), // Contains value. __ 6310 src/x64/code-stubs-x64.cc __ CheckPageFlag(regs_.object(), __ 6316 src/x64/code-stubs-x64.cc __ bind(&ensure_not_white); __ 6321 src/x64/code-stubs-x64.cc __ push(regs_.object()); __ 6322 src/x64/code-stubs-x64.cc __ EnsureNotWhite(regs_.scratch0(), // The value. __ 6327 src/x64/code-stubs-x64.cc __ pop(regs_.object()); __ 6331 src/x64/code-stubs-x64.cc __ RememberedSetHelper(object_, __ 6337 src/x64/code-stubs-x64.cc __ ret(0); __ 6340 src/x64/code-stubs-x64.cc __ bind(&need_incremental_pop_object); __ 6341 src/x64/code-stubs-x64.cc __ pop(regs_.object()); __ 6343 src/x64/code-stubs-x64.cc __ bind(&need_incremental); __ 6365 src/x64/code-stubs-x64.cc __ CheckFastElements(rdi, &double_elements); __ 6368 src/x64/code-stubs-x64.cc __ JumpIfSmi(rax, &smi_element); __ 6369 src/x64/code-stubs-x64.cc __ CheckFastSmiElements(rdi, &fast_elements); __ 6374 src/x64/code-stubs-x64.cc __ bind(&slow_elements); __ 6375 src/x64/code-stubs-x64.cc __ pop(rdi); // Pop return address and remember to put back later for tail __ 6377 src/x64/code-stubs-x64.cc __ push(rbx); __ 6378 src/x64/code-stubs-x64.cc __ push(rcx); __ 6379 src/x64/code-stubs-x64.cc __ push(rax); __ 6380 src/x64/code-stubs-x64.cc __ movq(rbx, Operand(rbp, JavaScriptFrameConstants::kFunctionOffset)); __ 6381 src/x64/code-stubs-x64.cc __ push(FieldOperand(rbx, JSFunction::kLiteralsOffset)); __ 6382 src/x64/code-stubs-x64.cc __ push(rdx); __ 6383 src/x64/code-stubs-x64.cc __ push(rdi); // Return return address so that tail call returns to right __ 6385 src/x64/code-stubs-x64.cc __ TailCallRuntime(Runtime::kStoreArrayLiteralElement, 5, 1); __ 6388 src/x64/code-stubs-x64.cc __ bind(&fast_elements); __ 6389 src/x64/code-stubs-x64.cc __ SmiToInteger32(kScratchRegister, rcx); __ 6390 src/x64/code-stubs-x64.cc __ movq(rbx, FieldOperand(rbx, JSObject::kElementsOffset)); __ 6391 src/x64/code-stubs-x64.cc __ lea(rcx, FieldOperand(rbx, kScratchRegister, times_pointer_size, __ 6393 src/x64/code-stubs-x64.cc __ movq(Operand(rcx, 0), rax); __ 6395 src/x64/code-stubs-x64.cc __ RecordWrite(rbx, rcx, rax, __ 6399 src/x64/code-stubs-x64.cc __ ret(0); __ 6403 src/x64/code-stubs-x64.cc __ bind(&smi_element); __ 6404 src/x64/code-stubs-x64.cc __ SmiToInteger32(kScratchRegister, rcx); __ 6405 src/x64/code-stubs-x64.cc __ movq(rbx, FieldOperand(rbx, JSObject::kElementsOffset)); __ 6406 src/x64/code-stubs-x64.cc __ movq(FieldOperand(rbx, kScratchRegister, times_pointer_size, __ 6408 src/x64/code-stubs-x64.cc __ ret(0); __ 6411 src/x64/code-stubs-x64.cc __ bind(&double_elements); __ 6413 src/x64/code-stubs-x64.cc __ movq(r9, FieldOperand(rbx, JSObject::kElementsOffset)); __ 6414 src/x64/code-stubs-x64.cc __ SmiToInteger32(r11, rcx); __ 6415 src/x64/code-stubs-x64.cc __ StoreNumberToDoubleElements(rax, __ 6420 src/x64/code-stubs-x64.cc __ ret(0); __ 6444 src/x64/code-stubs-x64.cc __ push(rcx); __ 6448 src/x64/code-stubs-x64.cc __ push(rcx); __ 6449 src/x64/code-stubs-x64.cc __ push(rdi); __ 6450 src/x64/code-stubs-x64.cc __ push(rsi); __ 6455 src/x64/code-stubs-x64.cc __ lea(rdx, Operand(rsp, kNumSavedRegisters * kPointerSize)); __ 6457 src/x64/code-stubs-x64.cc __ lea(rsi, Operand(rsp, kNumSavedRegisters * kPointerSize)); __ 6462 src/x64/code-stubs-x64.cc __ movq(rcx, Operand(rdx, 0)); __ 6463 src/x64/code-stubs-x64.cc __ subq(rcx, Immediate(Assembler::kShortCallInstructionLength)); __ 6465 src/x64/code-stubs-x64.cc __ movq(rdi, Operand(rsi, 0)); __ 6466 src/x64/code-stubs-x64.cc __ subq(rdi, Immediate(Assembler::kShortCallInstructionLength)); __ 6470 src/x64/code-stubs-x64.cc __ movq(rax, &entry_hook_, RelocInfo::NONE); __ 6471 src/x64/code-stubs-x64.cc __ movq(rax, Operand(rax, 0)); __ 6476 src/x64/code-stubs-x64.cc __ PrepareCallCFunction(kArgumentCount); __ 6477 src/x64/code-stubs-x64.cc __ CallCFunction(rax, kArgumentCount); __ 6481 src/x64/code-stubs-x64.cc __ pop(rcx); __ 6483 src/x64/code-stubs-x64.cc __ pop(rsi); __ 6484 src/x64/code-stubs-x64.cc __ pop(rdi); __ 6485 src/x64/code-stubs-x64.cc __ pop(rcx); __ 6488 src/x64/code-stubs-x64.cc __ Ret(); __ 78 src/x64/codegen-x64.cc __ push(rbx); __ 79 src/x64/codegen-x64.cc __ push(rdi); __ 80 src/x64/codegen-x64.cc __ movq(rbx, xmm0); __ 81 src/x64/codegen-x64.cc __ push(rbx); __ 82 src/x64/codegen-x64.cc __ fld_d(Operand(rsp, 0)); __ 85 src/x64/codegen-x64.cc __ fstp_d(Operand(rsp, 0)); __ 86 src/x64/codegen-x64.cc __ pop(rbx); __ 87 src/x64/codegen-x64.cc __ movq(xmm0, rbx); __ 88 src/x64/codegen-x64.cc __ pop(rdi); __ 89 src/x64/codegen-x64.cc __ pop(rbx); __ 90 src/x64/codegen-x64.cc __ Ret(); __ 113 src/x64/codegen-x64.cc __ sqrtsd(xmm0, xmm0); __ 114 src/x64/codegen-x64.cc __ Ret(); __ 147 src/x64/codegen-x64.cc __ movsd(Operand(rsp, kPointerSize * 2), xmm1); __ 148 src/x64/codegen-x64.cc __ movsd(Operand(rsp, kPointerSize), xmm0); __ 149 src/x64/codegen-x64.cc __ fld_d(Operand(rsp, kPointerSize * 2)); __ 150 src/x64/codegen-x64.cc __ fld_d(Operand(rsp, kPointerSize)); __ 155 src/x64/codegen-x64.cc __ fwait(); __ 156 src/x64/codegen-x64.cc __ fnstsw_ax(); __ 158 src/x64/codegen-x64.cc __ testb(rax, Immediate(5)); __ 159 src/x64/codegen-x64.cc __ j(zero, &no_exceptions); __ 160 src/x64/codegen-x64.cc __ fnclex(); __ 161 src/x64/codegen-x64.cc __ bind(&no_exceptions); __ 167 src/x64/codegen-x64.cc __ bind(&partial_remainder_loop); __ 168 src/x64/codegen-x64.cc __ fprem(); __ 169 src/x64/codegen-x64.cc __ fwait(); __ 170 src/x64/codegen-x64.cc __ fnstsw_ax(); __ 171 src/x64/codegen-x64.cc __ testl(rax, Immediate(0x400 /* C2 */)); __ 174 src/x64/codegen-x64.cc __ j(not_zero, &partial_remainder_loop); __ 181 src/x64/codegen-x64.cc __ testb(rax, Immediate(5)); __ 182 src/x64/codegen-x64.cc __ j(zero, &valid_result); __ 183 src/x64/codegen-x64.cc __ fstp(0); // Drop result in st(0). __ 185 src/x64/codegen-x64.cc __ movq(rcx, kNaNValue, RelocInfo::NONE); __ 186 src/x64/codegen-x64.cc __ movq(Operand(rsp, kPointerSize), rcx); __ 187 src/x64/codegen-x64.cc __ movsd(xmm0, Operand(rsp, kPointerSize)); __ 188 src/x64/codegen-x64.cc __ jmp(&return_result); __ 191 src/x64/codegen-x64.cc __ bind(&valid_result); __ 192 src/x64/codegen-x64.cc __ fstp_d(Operand(rsp, kPointerSize)); __ 193 src/x64/codegen-x64.cc __ movsd(xmm0, Operand(rsp, kPointerSize)); __ 196 src/x64/codegen-x64.cc __ bind(&return_result); __ 197 src/x64/codegen-x64.cc __ fstp(0); // Unload y. __ 200 src/x64/codegen-x64.cc __ testb(rax, Immediate(0x3f /* Any Exception*/)); __ 201 src/x64/codegen-x64.cc __ j(not_zero, &clear_exceptions); __ 202 src/x64/codegen-x64.cc __ ret(0); __ 203 src/x64/codegen-x64.cc __ bind(&clear_exceptions); __ 204 src/x64/codegen-x64.cc __ fnclex(); __ 205 src/x64/codegen-x64.cc __ ret(0); __ 233 src/x64/codegen-x64.cc __ movq(FieldOperand(rdx, HeapObject::kMapOffset), rbx); __ 234 src/x64/codegen-x64.cc __ RecordWriteField(rdx, __ 258 src/x64/codegen-x64.cc __ movq(r8, FieldOperand(rdx, JSObject::kElementsOffset)); __ 259 src/x64/codegen-x64.cc __ CompareRoot(r8, Heap::kEmptyFixedArrayRootIndex); __ 260 src/x64/codegen-x64.cc __ j(equal, &only_change_map); __ 264 src/x64/codegen-x64.cc __ SmiToInteger32(r9, FieldOperand(r8, FixedDoubleArray::kLengthOffset)); __ 265 src/x64/codegen-x64.cc __ CompareRoot(FieldOperand(r8, HeapObject::kMapOffset), __ 267 src/x64/codegen-x64.cc __ j(equal, &new_backing_store); __ 272 src/x64/codegen-x64.cc __ JumpIfNotInNewSpace(r8, rdi, &new_backing_store); __ 274 src/x64/codegen-x64.cc __ movq(r14, r8); // Destination array equals source array. __ 280 src/x64/codegen-x64.cc __ LoadRoot(rdi, Heap::kFixedDoubleArrayMapRootIndex); __ 281 src/x64/codegen-x64.cc __ movq(FieldOperand(r14, HeapObject::kMapOffset), rdi); __ 283 src/x64/codegen-x64.cc __ bind(&allocated); __ 285 src/x64/codegen-x64.cc __ movq(FieldOperand(rdx, HeapObject::kMapOffset), rbx); __ 286 src/x64/codegen-x64.cc __ RecordWriteField(rdx, __ 300 src/x64/codegen-x64.cc __ movq(r15, BitCast<int64_t, uint64_t>(kHoleNanInt64), RelocInfo::NONE); __ 302 src/x64/codegen-x64.cc __ jmp(&entry); __ 305 src/x64/codegen-x64.cc __ bind(&new_backing_store); __ 306 src/x64/codegen-x64.cc __ lea(rdi, Operand(r9, times_pointer_size, FixedArray::kHeaderSize)); __ 307 src/x64/codegen-x64.cc __ AllocateInNewSpace(rdi, r14, r11, r15, fail, TAG_OBJECT); __ 309 src/x64/codegen-x64.cc __ LoadRoot(rdi, Heap::kFixedDoubleArrayMapRootIndex); __ 310 src/x64/codegen-x64.cc __ movq(FieldOperand(r14, HeapObject::kMapOffset), rdi); __ 312 src/x64/codegen-x64.cc __ movq(FieldOperand(rdx, JSObject::kElementsOffset), r14); __ 313 src/x64/codegen-x64.cc __ movq(r11, r14); __ 314 src/x64/codegen-x64.cc __ RecordWriteField(rdx, __ 322 src/x64/codegen-x64.cc __ Integer32ToSmi(r11, r9); __ 323 src/x64/codegen-x64.cc __ movq(FieldOperand(r14, FixedDoubleArray::kLengthOffset), r11); __ 324 src/x64/codegen-x64.cc __ jmp(&allocated); __ 326 src/x64/codegen-x64.cc __ bind(&only_change_map); __ 328 src/x64/codegen-x64.cc __ movq(FieldOperand(rdx, HeapObject::kMapOffset), rbx); __ 329 src/x64/codegen-x64.cc __ RecordWriteField(rdx, __ 336 src/x64/codegen-x64.cc __ jmp(&done); __ 339 src/x64/codegen-x64.cc __ bind(&loop); __ 340 src/x64/codegen-x64.cc __ movq(rbx, __ 344 src/x64/codegen-x64.cc __ JumpIfNotSmi(rbx, &convert_hole); __ 345 src/x64/codegen-x64.cc __ SmiToInteger32(rbx, rbx); __ 346 src/x64/codegen-x64.cc __ cvtlsi2sd(xmm0, rbx); __ 347 src/x64/codegen-x64.cc __ movsd(FieldOperand(r14, r9, times_8, FixedDoubleArray::kHeaderSize), __ 349 src/x64/codegen-x64.cc __ jmp(&entry); __ 350 src/x64/codegen-x64.cc __ bind(&convert_hole); __ 353 src/x64/codegen-x64.cc __ CompareRoot(rbx, Heap::kTheHoleValueRootIndex); __ 354 src/x64/codegen-x64.cc __ Assert(equal, "object found in smi-only array"); __ 357 src/x64/codegen-x64.cc __ movq(FieldOperand(r14, r9, times_8, FixedDoubleArray::kHeaderSize), r15); __ 358 src/x64/codegen-x64.cc __ bind(&entry); __ 359 src/x64/codegen-x64.cc __ decq(r9); __ 360 src/x64/codegen-x64.cc __ j(not_sign, &loop); __ 362 src/x64/codegen-x64.cc __ bind(&done); __ 379 src/x64/codegen-x64.cc __ movq(r8, FieldOperand(rdx, JSObject::kElementsOffset)); __ 380 src/x64/codegen-x64.cc __ CompareRoot(r8, Heap::kEmptyFixedArrayRootIndex); __ 381 src/x64/codegen-x64.cc __ j(equal, &only_change_map); __ 383 src/x64/codegen-x64.cc __ push(rax); __ 385 src/x64/codegen-x64.cc __ movq(r8, FieldOperand(rdx, JSObject::kElementsOffset)); __ 386 src/x64/codegen-x64.cc __ SmiToInteger32(r9, FieldOperand(r8, FixedDoubleArray::kLengthOffset)); __ 389 src/x64/codegen-x64.cc __ lea(rdi, Operand(r9, times_pointer_size, FixedArray::kHeaderSize)); __ 390 src/x64/codegen-x64.cc __ AllocateInNewSpace(rdi, r11, r14, r15, &gc_required, TAG_OBJECT); __ 392 src/x64/codegen-x64.cc __ LoadRoot(rdi, Heap::kFixedArrayMapRootIndex); __ 393 src/x64/codegen-x64.cc __ movq(FieldOperand(r11, HeapObject::kMapOffset), rdi); __ 394 src/x64/codegen-x64.cc __ Integer32ToSmi(r14, r9); __ 395 src/x64/codegen-x64.cc __ movq(FieldOperand(r11, FixedArray::kLengthOffset), r14); __ 398 src/x64/codegen-x64.cc __ movq(rsi, BitCast<int64_t, uint64_t>(kHoleNanInt64), RelocInfo::NONE); __ 399 src/x64/codegen-x64.cc __ LoadRoot(rdi, Heap::kTheHoleValueRootIndex); __ 402 src/x64/codegen-x64.cc __ jmp(&entry); __ 405 src/x64/codegen-x64.cc __ bind(&gc_required); __ 406 src/x64/codegen-x64.cc __ pop(rax); __ 407 src/x64/codegen-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 408 src/x64/codegen-x64.cc __ jmp(fail); __ 411 src/x64/codegen-x64.cc __ bind(&loop); __ 412 src/x64/codegen-x64.cc __ movq(r14, FieldOperand(r8, __ 418 src/x64/codegen-x64.cc __ cmpq(r14, rsi); __ 419 src/x64/codegen-x64.cc __ j(equal, &convert_hole); __ 422 src/x64/codegen-x64.cc __ AllocateHeapNumber(rax, r15, &gc_required); __ 424 src/x64/codegen-x64.cc __ movq(FieldOperand(rax, HeapNumber::kValueOffset), r14); __ 425 src/x64/codegen-x64.cc __ movq(FieldOperand(r11, __ 430 src/x64/codegen-x64.cc __ movq(r15, r9); __ 431 src/x64/codegen-x64.cc __ RecordWriteArray(r11, __ 437 src/x64/codegen-x64.cc __ jmp(&entry, Label::kNear); __ 440 src/x64/codegen-x64.cc __ bind(&convert_hole); __ 441 src/x64/codegen-x64.cc __ movq(FieldOperand(r11, __ 447 src/x64/codegen-x64.cc __ bind(&entry); __ 448 src/x64/codegen-x64.cc __ decq(r9); __ 449 src/x64/codegen-x64.cc __ j(not_sign, &loop); __ 452 src/x64/codegen-x64.cc __ movq(FieldOperand(rdx, JSObject::kElementsOffset), r11); __ 453 src/x64/codegen-x64.cc __ RecordWriteField(rdx, __ 460 src/x64/codegen-x64.cc __ pop(rax); __ 461 src/x64/codegen-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 463 src/x64/codegen-x64.cc __ bind(&only_change_map); __ 465 src/x64/codegen-x64.cc __ movq(FieldOperand(rdx, HeapObject::kMapOffset), rbx); __ 466 src/x64/codegen-x64.cc __ RecordWriteField(rdx, __ 482 src/x64/codegen-x64.cc __ movq(result, FieldOperand(string, HeapObject::kMapOffset)); __ 483 src/x64/codegen-x64.cc __ movzxbl(result, FieldOperand(result, Map::kInstanceTypeOffset)); __ 487 src/x64/codegen-x64.cc __ testb(result, Immediate(kIsIndirectStringMask)); __ 488 src/x64/codegen-x64.cc __ j(zero, &check_sequential, Label::kNear); __ 492 src/x64/codegen-x64.cc __ testb(result, Immediate(kSlicedNotConsMask)); __ 493 src/x64/codegen-x64.cc __ j(zero, &cons_string, Label::kNear); __ 497 src/x64/codegen-x64.cc __ SmiToInteger32(result, FieldOperand(string, SlicedString::kOffsetOffset)); __ 498 src/x64/codegen-x64.cc __ addq(index, result); __ 499 src/x64/codegen-x64.cc __ movq(string, FieldOperand(string, SlicedString::kParentOffset)); __ 500 src/x64/codegen-x64.cc __ jmp(&indirect_string_loaded, Label::kNear); __ 507 src/x64/codegen-x64.cc __ bind(&cons_string); __ 508 src/x64/codegen-x64.cc __ CompareRoot(FieldOperand(string, ConsString::kSecondOffset), __ 510 src/x64/codegen-x64.cc __ j(not_equal, call_runtime); __ 511 src/x64/codegen-x64.cc __ movq(string, FieldOperand(string, ConsString::kFirstOffset)); __ 513 src/x64/codegen-x64.cc __ bind(&indirect_string_loaded); __ 514 src/x64/codegen-x64.cc __ movq(result, FieldOperand(string, HeapObject::kMapOffset)); __ 515 src/x64/codegen-x64.cc __ movzxbl(result, FieldOperand(result, Map::kInstanceTypeOffset)); __ 521 src/x64/codegen-x64.cc __ bind(&check_sequential); __ 523 src/x64/codegen-x64.cc __ testb(result, Immediate(kStringRepresentationMask)); __ 524 src/x64/codegen-x64.cc __ j(zero, &seq_string, Label::kNear); __ 531 src/x64/codegen-x64.cc __ testb(result, Immediate(kIsIndirectStringMask)); __ 532 src/x64/codegen-x64.cc __ Assert(zero, "external string expected, but not found"); __ 536 src/x64/codegen-x64.cc __ testb(result, Immediate(kShortExternalStringTag)); __ 537 src/x64/codegen-x64.cc __ j(not_zero, call_runtime); __ 540 src/x64/codegen-x64.cc __ testb(result, Immediate(kStringEncodingMask)); __ 541 src/x64/codegen-x64.cc __ movq(result, FieldOperand(string, ExternalString::kResourceDataOffset)); __ 542 src/x64/codegen-x64.cc __ j(not_equal, &ascii_external, Label::kNear); __ 544 src/x64/codegen-x64.cc __ movzxwl(result, Operand(result, index, times_2, 0)); __ 545 src/x64/codegen-x64.cc __ jmp(&done, Label::kNear); __ 546 src/x64/codegen-x64.cc __ bind(&ascii_external); __ 548 src/x64/codegen-x64.cc __ movzxbl(result, Operand(result, index, times_1, 0)); __ 549 src/x64/codegen-x64.cc __ jmp(&done, Label::kNear); __ 553 src/x64/codegen-x64.cc __ bind(&seq_string); __ 556 src/x64/codegen-x64.cc __ testb(result, Immediate(kStringEncodingMask)); __ 557 src/x64/codegen-x64.cc __ j(not_zero, &ascii, Label::kNear); __ 562 src/x64/codegen-x64.cc __ movzxwl(result, FieldOperand(string, __ 566 src/x64/codegen-x64.cc __ jmp(&done, Label::kNear); __ 570 src/x64/codegen-x64.cc __ bind(&ascii); __ 571 src/x64/codegen-x64.cc __ movzxbl(result, FieldOperand(string, __ 575 src/x64/codegen-x64.cc __ bind(&done); __ 110 src/x64/debug-x64.cc __ Push(Smi::FromInt(Debug::FramePaddingLayout::kPaddingValue)); __ 112 src/x64/debug-x64.cc __ Push(Smi::FromInt(Debug::FramePaddingLayout::kInitialSize)); __ 125 src/x64/debug-x64.cc __ push(reg); __ 129 src/x64/debug-x64.cc __ movq(kScratchRegister, reg); __ 130 src/x64/debug-x64.cc __ Integer32ToSmi(reg, reg); __ 131 src/x64/debug-x64.cc __ push(reg); __ 132 src/x64/debug-x64.cc __ sar(kScratchRegister, Immediate(32)); __ 133 src/x64/debug-x64.cc __ Integer32ToSmi(kScratchRegister, kScratchRegister); __ 134 src/x64/debug-x64.cc __ push(kScratchRegister); __ 139 src/x64/debug-x64.cc __ RecordComment("// Calling from debug break to runtime - come in - over"); __ 141 src/x64/debug-x64.cc __ Set(rax, 0); // No arguments (argc == 0). __ 142 src/x64/debug-x64.cc __ movq(rbx, ExternalReference::debug_break(masm->isolate())); __ 145 src/x64/debug-x64.cc __ CallStub(&ceb); __ 152 src/x64/debug-x64.cc __ Set(reg, kDebugZapValue); __ 155 src/x64/debug-x64.cc __ pop(reg); __ 159 src/x64/debug-x64.cc __ pop(kScratchRegister); __ 160 src/x64/debug-x64.cc __ SmiToInteger32(kScratchRegister, kScratchRegister); __ 161 src/x64/debug-x64.cc __ shl(kScratchRegister, Immediate(32)); __ 162 src/x64/debug-x64.cc __ pop(reg); __ 163 src/x64/debug-x64.cc __ SmiToInteger32(reg, reg); __ 164 src/x64/debug-x64.cc __ or_(reg, kScratchRegister); __ 169 src/x64/debug-x64.cc __ pop(kScratchRegister); __ 170 src/x64/debug-x64.cc __ SmiToInteger32(kScratchRegister, kScratchRegister); __ 171 src/x64/debug-x64.cc __ lea(rsp, Operand(rsp, kScratchRegister, times_pointer_size, 0)); __ 179 src/x64/debug-x64.cc __ addq(rsp, Immediate(kPointerSize)); __ 187 src/x64/debug-x64.cc __ movq(kScratchRegister, after_break_target); __ 188 src/x64/debug-x64.cc __ jmp(Operand(kScratchRegister, 0)); __ 301 src/x64/debug-x64.cc __ bind(&check_codesize); __ 302 src/x64/debug-x64.cc __ RecordDebugBreakSlot(); __ 303 src/x64/debug-x64.cc __ Nop(Assembler::kDebugBreakSlotLength); __ 325 src/x64/debug-x64.cc __ movq(rax, restarter_frame_function_slot); __ 326 src/x64/debug-x64.cc __ movq(Operand(rax, 0), Immediate(0)); __ 329 src/x64/debug-x64.cc __ lea(rsp, Operand(rbp, -1 * kPointerSize)); __ 331 src/x64/debug-x64.cc __ pop(rdi); // Function. __ 332 src/x64/debug-x64.cc __ pop(rbp); __ 335 src/x64/debug-x64.cc __ movq(rsi, FieldOperand(rdi, JSFunction::kContextOffset)); __ 338 src/x64/debug-x64.cc __ movq(rdx, FieldOperand(rdi, JSFunction::kSharedFunctionInfoOffset)); __ 339 src/x64/debug-x64.cc __ movq(rdx, FieldOperand(rdx, SharedFunctionInfo::kCodeOffset)); __ 340 src/x64/debug-x64.cc __ lea(rdx, FieldOperand(rdx, Code::kHeaderSize)); __ 343 src/x64/debug-x64.cc __ jmp(rdx); __ 795 src/x64/deoptimizer-x64.cc __ subq(rsp, Immediate(kDoubleRegsSize)); __ 800 src/x64/deoptimizer-x64.cc __ movsd(Operand(rsp, offset), xmm_reg); __ 807 src/x64/deoptimizer-x64.cc __ push(r); __ 835 src/x64/deoptimizer-x64.cc __ movq(arg3, Operand(rsp, kSavedRegistersAreaSize)); __ 840 src/x64/deoptimizer-x64.cc __ Set(arg4, 0); __ 841 src/x64/deoptimizer-x64.cc __ lea(arg5, Operand(rsp, kSavedRegistersAreaSize + 1 * kPointerSize)); __ 843 src/x64/deoptimizer-x64.cc __ movq(arg4, Operand(rsp, kSavedRegistersAreaSize + 1 * kPointerSize)); __ 844 src/x64/deoptimizer-x64.cc __ lea(arg5, Operand(rsp, kSavedRegistersAreaSize + 2 * kPointerSize)); __ 847 src/x64/deoptimizer-x64.cc __ subq(arg5, rbp); __ 848 src/x64/deoptimizer-x64.cc __ neg(arg5); __ 851 src/x64/deoptimizer-x64.cc __ PrepareCallCFunction(6); __ 852 src/x64/deoptimizer-x64.cc __ movq(rax, Operand(rbp, JavaScriptFrameConstants::kFunctionOffset)); __ 853 src/x64/deoptimizer-x64.cc __ movq(arg1, rax); __ 854 src/x64/deoptimizer-x64.cc __ Set(arg2, type()); __ 860 src/x64/deoptimizer-x64.cc __ movq(Operand(rsp, 4 * kPointerSize), arg5); __ 861 src/x64/deoptimizer-x64.cc __ LoadAddress(arg5, ExternalReference::isolate_address()); __ 862 src/x64/deoptimizer-x64.cc __ movq(Operand(rsp, 5 * kPointerSize), arg5); __ 864 src/x64/deoptimizer-x64.cc __ movq(r8, arg5); __ 865 src/x64/deoptimizer-x64.cc __ LoadAddress(r9, ExternalReference::isolate_address()); __ 872 src/x64/deoptimizer-x64.cc __ CallCFunction(ExternalReference::new_deoptimizer_function(isolate), 6); __ 876 src/x64/deoptimizer-x64.cc __ movq(rbx, Operand(rax, Deoptimizer::input_offset())); __ 881 src/x64/deoptimizer-x64.cc __ pop(Operand(rbx, offset)); __ 888 src/x64/deoptimizer-x64.cc __ pop(Operand(rbx, dst_offset)); __ 893 src/x64/deoptimizer-x64.cc __ addq(rsp, Immediate(kPointerSize)); __ 895 src/x64/deoptimizer-x64.cc __ addq(rsp, Immediate(2 * kPointerSize)); __ 900 src/x64/deoptimizer-x64.cc __ movq(rcx, Operand(rbx, FrameDescription::frame_size_offset())); __ 901 src/x64/deoptimizer-x64.cc __ addq(rcx, rsp); __ 906 src/x64/deoptimizer-x64.cc __ lea(rdx, Operand(rbx, FrameDescription::frame_content_offset())); __ 908 src/x64/deoptimizer-x64.cc __ bind(&pop_loop); __ 909 src/x64/deoptimizer-x64.cc __ pop(Operand(rdx, 0)); __ 910 src/x64/deoptimizer-x64.cc __ addq(rdx, Immediate(sizeof(intptr_t))); __ 911 src/x64/deoptimizer-x64.cc __ cmpq(rcx, rsp); __ 912 src/x64/deoptimizer-x64.cc __ j(not_equal, &pop_loop); __ 915 src/x64/deoptimizer-x64.cc __ push(rax); __ 916 src/x64/deoptimizer-x64.cc __ PrepareCallCFunction(2); __ 917 src/x64/deoptimizer-x64.cc __ movq(arg1, rax); __ 918 src/x64/deoptimizer-x64.cc __ LoadAddress(arg2, ExternalReference::isolate_address()); __ 921 src/x64/deoptimizer-x64.cc __ CallCFunction( __ 924 src/x64/deoptimizer-x64.cc __ pop(rax); __ 930 src/x64/deoptimizer-x64.cc __ movl(rdx, Operand(rax, Deoptimizer::output_count_offset())); __ 931 src/x64/deoptimizer-x64.cc __ movq(rax, Operand(rax, Deoptimizer::output_offset())); __ 932 src/x64/deoptimizer-x64.cc __ lea(rdx, Operand(rax, rdx, times_8, 0)); __ 933 src/x64/deoptimizer-x64.cc __ bind(&outer_push_loop); __ 935 src/x64/deoptimizer-x64.cc __ movq(rbx, Operand(rax, 0)); __ 936 src/x64/deoptimizer-x64.cc __ movq(rcx, Operand(rbx, FrameDescription::frame_size_offset())); __ 937 src/x64/deoptimizer-x64.cc __ bind(&inner_push_loop); __ 938 src/x64/deoptimizer-x64.cc __ subq(rcx, Immediate(sizeof(intptr_t))); __ 939 src/x64/deoptimizer-x64.cc __ push(Operand(rbx, rcx, times_1, FrameDescription::frame_content_offset())); __ 940 src/x64/deoptimizer-x64.cc __ testq(rcx, rcx); __ 941 src/x64/deoptimizer-x64.cc __ j(not_zero, &inner_push_loop); __ 942 src/x64/deoptimizer-x64.cc __ addq(rax, Immediate(kPointerSize)); __ 943 src/x64/deoptimizer-x64.cc __ cmpq(rax, rdx); __ 944 src/x64/deoptimizer-x64.cc __ j(below, &outer_push_loop); __ 951 src/x64/deoptimizer-x64.cc __ movsd(xmm_reg, Operand(rbx, src_offset)); __ 957 src/x64/deoptimizer-x64.cc __ push(Operand(rbx, FrameDescription::state_offset())); __ 959 src/x64/deoptimizer-x64.cc __ push(Operand(rbx, FrameDescription::pc_offset())); __ 960 src/x64/deoptimizer-x64.cc __ push(Operand(rbx, FrameDescription::continuation_offset())); __ 965 src/x64/deoptimizer-x64.cc __ push(Operand(rbx, offset)); __ 977 src/x64/deoptimizer-x64.cc __ pop(r); __ 981 src/x64/deoptimizer-x64.cc __ InitializeRootRegister(); __ 982 src/x64/deoptimizer-x64.cc __ InitializeSmiConstantRegister(); __ 985 src/x64/deoptimizer-x64.cc __ ret(0); __ 995 src/x64/deoptimizer-x64.cc __ push_imm32(i); __ 996 src/x64/deoptimizer-x64.cc __ jmp(&done); __ 999 src/x64/deoptimizer-x64.cc __ bind(&done); __ 63 src/x64/full-codegen-x64.cc __ testb(reg, Immediate(kSmiTagMask)); __ 70 src/x64/full-codegen-x64.cc __ testb(reg, Immediate(kSmiTagMask)); __ 78 src/x64/full-codegen-x64.cc __ testl(rax, Immediate(delta_to_patch_site)); __ 83 src/x64/full-codegen-x64.cc __ nop(); // Signals no inlined code. __ 92 src/x64/full-codegen-x64.cc __ bind(&patch_site_); __ 93 src/x64/full-codegen-x64.cc __ j(cc, target, near_jump); __ 131 src/x64/full-codegen-x64.cc __ int3(); __ 141 src/x64/full-codegen-x64.cc __ testq(rcx, rcx); __ 142 src/x64/full-codegen-x64.cc __ j(zero, &ok, Label::kNear); __ 145 src/x64/full-codegen-x64.cc __ LoadRoot(kScratchRegister, Heap::kUndefinedValueRootIndex); __ 146 src/x64/full-codegen-x64.cc __ movq(Operand(rsp, receiver_offset), kScratchRegister); __ 147 src/x64/full-codegen-x64.cc __ bind(&ok); __ 155 src/x64/full-codegen-x64.cc __ push(rbp); // Caller's frame pointer. __ 156 src/x64/full-codegen-x64.cc __ movq(rbp, rsp); __ 157 src/x64/full-codegen-x64.cc __ push(rsi); // Callee's context. __ 158 src/x64/full-codegen-x64.cc __ push(rdi); // Callee's JS Function. __ 163 src/x64/full-codegen-x64.cc __ PushRoot(Heap::kUndefinedValueRootIndex); __ 165 src/x64/full-codegen-x64.cc __ LoadRoot(rdx, Heap::kUndefinedValueRootIndex); __ 167 src/x64/full-codegen-x64.cc __ push(rdx); __ 179 src/x64/full-codegen-x64.cc __ push(rdi); __ 182 src/x64/full-codegen-x64.cc __ CallStub(&stub); __ 184 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kNewFunctionContext, 1); __ 189 src/x64/full-codegen-x64.cc __ movq(Operand(rbp, StandardFrameConstants::kContextOffset), rsi); __ 199 src/x64/full-codegen-x64.cc __ movq(rax, Operand(rbp, parameter_offset)); __ 202 src/x64/full-codegen-x64.cc __ movq(Operand(rsi, context_offset), rax); __ 204 src/x64/full-codegen-x64.cc __ RecordWriteContextSlot( __ 217 src/x64/full-codegen-x64.cc __ push(rdi); __ 219 src/x64/full-codegen-x64.cc __ push(Operand(rbp, JavaScriptFrameConstants::kFunctionOffset)); __ 224 src/x64/full-codegen-x64.cc __ lea(rdx, __ 226 src/x64/full-codegen-x64.cc __ push(rdx); __ 227 src/x64/full-codegen-x64.cc __ Push(Smi::FromInt(num_parameters)); __ 241 src/x64/full-codegen-x64.cc __ CallStub(&stub); __ 247 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kTraceEnter, 0); __ 274 src/x64/full-codegen-x64.cc __ CompareRoot(rsp, Heap::kStackLimitRootIndex); __ 275 src/x64/full-codegen-x64.cc __ j(above_equal, &ok, Label::kNear); __ 277 src/x64/full-codegen-x64.cc __ CallStub(&stub); __ 278 src/x64/full-codegen-x64.cc __ bind(&ok); __ 291 src/x64/full-codegen-x64.cc __ LoadRoot(rax, Heap::kUndefinedValueRootIndex); __ 298 src/x64/full-codegen-x64.cc __ Set(rax, 0); __ 303 src/x64/full-codegen-x64.cc __ movq(rbx, profiling_counter_, RelocInfo::EMBEDDED_OBJECT); __ 304 src/x64/full-codegen-x64.cc __ SmiAddConstant(FieldOperand(rbx, JSGlobalPropertyCell::kValueOffset), __ 315 src/x64/full-codegen-x64.cc __ movq(rbx, profiling_counter_, RelocInfo::EMBEDDED_OBJECT); __ 316 src/x64/full-codegen-x64.cc __ movq(kScratchRegister, __ 319 src/x64/full-codegen-x64.cc __ movq(FieldOperand(rbx, JSGlobalPropertyCell::kValueOffset), __ 342 src/x64/full-codegen-x64.cc __ j(positive, &ok, Label::kNear); __ 344 src/x64/full-codegen-x64.cc __ CallStub(&stub); __ 346 src/x64/full-codegen-x64.cc __ CompareRoot(rsp, Heap::kStackLimitRootIndex); __ 347 src/x64/full-codegen-x64.cc __ j(above_equal, &ok, Label::kNear); __ 349 src/x64/full-codegen-x64.cc __ CallStub(&stub); __ 362 src/x64/full-codegen-x64.cc __ testl(rax, Immediate(Min(loop_depth(), Code::kMaxLoopNestingMarker))); __ 368 src/x64/full-codegen-x64.cc __ bind(&ok); __ 380 src/x64/full-codegen-x64.cc __ jmp(&return_label_); __ 382 src/x64/full-codegen-x64.cc __ bind(&return_label_); __ 384 src/x64/full-codegen-x64.cc __ push(rax); __ 385 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kTraceExit, 1); __ 399 src/x64/full-codegen-x64.cc __ j(positive, &ok, Label::kNear); __ 400 src/x64/full-codegen-x64.cc __ push(rax); __ 402 src/x64/full-codegen-x64.cc __ push(Operand(rbp, JavaScriptFrameConstants::kFunctionOffset)); __ 403 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kOptimizeFunctionOnNextCall, 1); __ 406 src/x64/full-codegen-x64.cc __ CallStub(&stub); __ 408 src/x64/full-codegen-x64.cc __ pop(rax); __ 410 src/x64/full-codegen-x64.cc __ bind(&ok); __ 418 src/x64/full-codegen-x64.cc __ RecordJSReturn(); __ 421 src/x64/full-codegen-x64.cc __ movq(rsp, rbp); __ 422 src/x64/full-codegen-x64.cc __ pop(rbp); __ 425 src/x64/full-codegen-x64.cc __ Ret(arguments_bytes, rcx); __ 458 src/x64/full-codegen-x64.cc __ push(operand); __ 475 src/x64/full-codegen-x64.cc __ LoadRoot(result_register(), index); __ 481 src/x64/full-codegen-x64.cc __ PushRoot(index); __ 493 src/x64/full-codegen-x64.cc if (false_label_ != fall_through_) __ jmp(false_label_); __ 495 src/x64/full-codegen-x64.cc if (true_label_ != fall_through_) __ jmp(true_label_); __ 497 src/x64/full-codegen-x64.cc __ LoadRoot(result_register(), index); __ 510 src/x64/full-codegen-x64.cc __ SafeMove(result_register(), Smi::cast(*lit)); __ 512 src/x64/full-codegen-x64.cc __ Move(result_register(), lit); __ 519 src/x64/full-codegen-x64.cc __ SafePush(Smi::cast(*lit)); __ 521 src/x64/full-codegen-x64.cc __ Push(lit); __ 533 src/x64/full-codegen-x64.cc if (false_label_ != fall_through_) __ jmp(false_label_); __ 535 src/x64/full-codegen-x64.cc if (true_label_ != fall_through_) __ jmp(true_label_); __ 538 src/x64/full-codegen-x64.cc if (false_label_ != fall_through_) __ jmp(false_label_); __ 540 src/x64/full-codegen-x64.cc if (true_label_ != fall_through_) __ jmp(true_label_); __ 544 src/x64/full-codegen-x64.cc if (false_label_ != fall_through_) __ jmp(false_label_); __ 546 src/x64/full-codegen-x64.cc if (true_label_ != fall_through_) __ jmp(true_label_); __ 550 src/x64/full-codegen-x64.cc __ Move(result_register(), lit); __ 559 src/x64/full-codegen-x64.cc __ Drop(count); __ 567 src/x64/full-codegen-x64.cc __ Drop(count); __ 568 src/x64/full-codegen-x64.cc __ Move(result_register(), reg); __ 575 src/x64/full-codegen-x64.cc if (count > 1) __ Drop(count - 1); __ 576 src/x64/full-codegen-x64.cc __ movq(Operand(rsp, 0), reg); __ 584 src/x64/full-codegen-x64.cc __ Drop(count); __ 585 src/x64/full-codegen-x64.cc __ Move(result_register(), reg); __ 594 src/x64/full-codegen-x64.cc __ bind(materialize_true); __ 602 src/x64/full-codegen-x64.cc __ bind(materialize_true); __ 603 src/x64/full-codegen-x64.cc __ Move(result_register(), isolate()->factory()->true_value()); __ 604 src/x64/full-codegen-x64.cc __ jmp(&done, Label::kNear); __ 605 src/x64/full-codegen-x64.cc __ bind(materialize_false); __ 606 src/x64/full-codegen-x64.cc __ Move(result_register(), isolate()->factory()->false_value()); __ 607 src/x64/full-codegen-x64.cc __ bind(&done); __ 615 src/x64/full-codegen-x64.cc __ bind(materialize_true); __ 616 src/x64/full-codegen-x64.cc __ Push(isolate()->factory()->true_value()); __ 617 src/x64/full-codegen-x64.cc __ jmp(&done, Label::kNear); __ 618 src/x64/full-codegen-x64.cc __ bind(materialize_false); __ 619 src/x64/full-codegen-x64.cc __ Push(isolate()->factory()->false_value()); __ 620 src/x64/full-codegen-x64.cc __ bind(&done); __ 638 src/x64/full-codegen-x64.cc __ LoadRoot(result_register(), value_root_index); __ 645 src/x64/full-codegen-x64.cc __ PushRoot(value_root_index); __ 655 src/x64/full-codegen-x64.cc if (true_label_ != fall_through_) __ jmp(true_label_); __ 657 src/x64/full-codegen-x64.cc if (false_label_ != fall_through_) __ jmp(false_label_); __ 667 src/x64/full-codegen-x64.cc __ push(result_register()); __ 668 src/x64/full-codegen-x64.cc __ CallStub(&stub, condition->test_id()); __ 669 src/x64/full-codegen-x64.cc __ testq(result_register(), result_register()); __ 680 src/x64/full-codegen-x64.cc __ j(cc, if_true); __ 682 src/x64/full-codegen-x64.cc __ j(NegateCondition(cc), if_false); __ 684 src/x64/full-codegen-x64.cc __ j(cc, if_true); __ 685 src/x64/full-codegen-x64.cc __ jmp(if_false); __ 708 src/x64/full-codegen-x64.cc __ LoadContext(scratch, context_chain_length); __ 719 src/x64/full-codegen-x64.cc __ movq(dest, location); __ 732 src/x64/full-codegen-x64.cc __ movq(location, src); __ 737 src/x64/full-codegen-x64.cc __ RecordWriteContextSlot(scratch0, offset, src, scratch1, kDontSaveFPRegs); __ 752 src/x64/full-codegen-x64.cc if (should_normalize) __ jmp(&skip, Label::kNear); __ 755 src/x64/full-codegen-x64.cc __ CompareRoot(rax, Heap::kTrueValueRootIndex); __ 757 src/x64/full-codegen-x64.cc __ bind(&skip); __ 768 src/x64/full-codegen-x64.cc __ movq(rbx, FieldOperand(rsi, HeapObject::kMapOffset)); __ 769 src/x64/full-codegen-x64.cc __ CompareRoot(rbx, Heap::kWithContextMapRootIndex); __ 770 src/x64/full-codegen-x64.cc __ Check(not_equal, "Declaration in with context."); __ 771 src/x64/full-codegen-x64.cc __ CompareRoot(rbx, Heap::kCatchContextMapRootIndex); __ 772 src/x64/full-codegen-x64.cc __ Check(not_equal, "Declaration in catch context."); __ 799 src/x64/full-codegen-x64.cc __ LoadRoot(kScratchRegister, Heap::kTheHoleValueRootIndex); __ 800 src/x64/full-codegen-x64.cc __ movq(StackOperand(variable), kScratchRegister); __ 808 src/x64/full-codegen-x64.cc __ LoadRoot(kScratchRegister, Heap::kTheHoleValueRootIndex); __ 809 src/x64/full-codegen-x64.cc __ movq(ContextOperand(rsi, variable->index()), kScratchRegister); __ 817 src/x64/full-codegen-x64.cc __ push(rsi); __ 818 src/x64/full-codegen-x64.cc __ Push(variable->name()); __ 824 src/x64/full-codegen-x64.cc __ Push(Smi::FromInt(attr)); __ 830 src/x64/full-codegen-x64.cc __ PushRoot(Heap::kTheHoleValueRootIndex); __ 832 src/x64/full-codegen-x64.cc __ Push(Smi::FromInt(0)); // Indicates no initial value. __ 834 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kDeclareContextSlot, 4); __ 860 src/x64/full-codegen-x64.cc __ movq(StackOperand(variable), result_register()); __ 868 src/x64/full-codegen-x64.cc __ movq(ContextOperand(rsi, variable->index()), result_register()); __ 871 src/x64/full-codegen-x64.cc __ RecordWriteContextSlot(rsi, __ 884 src/x64/full-codegen-x64.cc __ push(rsi); __ 885 src/x64/full-codegen-x64.cc __ Push(variable->name()); __ 886 src/x64/full-codegen-x64.cc __ Push(Smi::FromInt(NONE)); __ 888 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kDeclareContextSlot, 4); __ 913 src/x64/full-codegen-x64.cc __ Move(ContextOperand(rsi, variable->index()), instance); __ 956 src/x64/full-codegen-x64.cc __ push(rsi); // The context is the first argument. __ 957 src/x64/full-codegen-x64.cc __ Push(pairs); __ 958 src/x64/full-codegen-x64.cc __ Push(Smi::FromInt(DeclareGlobalsFlags())); __ 959 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kDeclareGlobals, 3); __ 989 src/x64/full-codegen-x64.cc __ bind(&next_test); __ 996 src/x64/full-codegen-x64.cc __ movq(rdx, Operand(rsp, 0)); // Switch value. __ 1001 src/x64/full-codegen-x64.cc __ movq(rcx, rdx); __ 1002 src/x64/full-codegen-x64.cc __ or_(rcx, rax); __ 1005 src/x64/full-codegen-x64.cc __ cmpq(rdx, rax); __ 1006 src/x64/full-codegen-x64.cc __ j(not_equal, &next_test); __ 1007 src/x64/full-codegen-x64.cc __ Drop(1); // Switch value is no longer needed. __ 1008 src/x64/full-codegen-x64.cc __ jmp(clause->body_target()); __ 1009 src/x64/full-codegen-x64.cc __ bind(&slow_case); __ 1018 src/x64/full-codegen-x64.cc __ testq(rax, rax); __ 1019 src/x64/full-codegen-x64.cc __ j(not_equal, &next_test); __ 1020 src/x64/full-codegen-x64.cc __ Drop(1); // Switch value is no longer needed. __ 1021 src/x64/full-codegen-x64.cc __ jmp(clause->body_target()); __ 1026 src/x64/full-codegen-x64.cc __ bind(&next_test); __ 1027 src/x64/full-codegen-x64.cc __ Drop(1); // Switch value is no longer needed. __ 1029 src/x64/full-codegen-x64.cc __ jmp(nested_statement.break_label()); __ 1031 src/x64/full-codegen-x64.cc __ jmp(default_clause->body_target()); __ 1038 src/x64/full-codegen-x64.cc __ bind(clause->body_target()); __ 1043 src/x64/full-codegen-x64.cc __ bind(nested_statement.break_label()); __ 1060 src/x64/full-codegen-x64.cc __ CompareRoot(rax, Heap::kUndefinedValueRootIndex); __ 1061 src/x64/full-codegen-x64.cc __ j(equal, &exit); __ 1063 src/x64/full-codegen-x64.cc __ LoadRoot(null_value, Heap::kNullValueRootIndex); __ 1064 src/x64/full-codegen-x64.cc __ cmpq(rax, null_value); __ 1065 src/x64/full-codegen-x64.cc __ j(equal, &exit); __ 1071 src/x64/full-codegen-x64.cc __ JumpIfSmi(rax, &convert); __ 1072 src/x64/full-codegen-x64.cc __ CmpObjectType(rax, FIRST_SPEC_OBJECT_TYPE, rcx); __ 1073 src/x64/full-codegen-x64.cc __ j(above_equal, &done_convert); __ 1074 src/x64/full-codegen-x64.cc __ bind(&convert); __ 1075 src/x64/full-codegen-x64.cc __ push(rax); __ 1076 src/x64/full-codegen-x64.cc __ InvokeBuiltin(Builtins::TO_OBJECT, CALL_FUNCTION); __ 1077 src/x64/full-codegen-x64.cc __ bind(&done_convert); __ 1078 src/x64/full-codegen-x64.cc __ push(rax); __ 1083 src/x64/full-codegen-x64.cc __ CmpObjectType(rax, LAST_JS_PROXY_TYPE, rcx); __ 1084 src/x64/full-codegen-x64.cc __ j(below_equal, &call_runtime); __ 1090 src/x64/full-codegen-x64.cc __ CheckEnumCache(null_value, &call_runtime); __ 1095 src/x64/full-codegen-x64.cc __ movq(rax, FieldOperand(rax, HeapObject::kMapOffset)); __ 1096 src/x64/full-codegen-x64.cc __ jmp(&use_cache, Label::kNear); __ 1099 src/x64/full-codegen-x64.cc __ bind(&call_runtime); __ 1100 src/x64/full-codegen-x64.cc __ push(rax); // Duplicate the enumerable object on the stack. __ 1101 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kGetPropertyNamesFast, 1); __ 1107 src/x64/full-codegen-x64.cc __ CompareRoot(FieldOperand(rax, HeapObject::kMapOffset), __ 1109 src/x64/full-codegen-x64.cc __ j(not_equal, &fixed_array, Label::kNear); __ 1112 src/x64/full-codegen-x64.cc __ bind(&use_cache); __ 1113 src/x64/full-codegen-x64.cc __ LoadInstanceDescriptors(rax, rcx); __ 1114 src/x64/full-codegen-x64.cc __ movq(rcx, FieldOperand(rcx, DescriptorArray::kLastAddedOffset)); __ 1115 src/x64/full-codegen-x64.cc __ movq(rdx, FieldOperand(rcx, DescriptorArray::kEnumCacheBridgeCacheOffset)); __ 1118 src/x64/full-codegen-x64.cc __ push(rax); // Map. __ 1119 src/x64/full-codegen-x64.cc __ push(rdx); // Enumeration cache. __ 1120 src/x64/full-codegen-x64.cc __ movq(rax, FieldOperand(rdx, FixedArray::kLengthOffset)); __ 1121 src/x64/full-codegen-x64.cc __ push(rax); // Enumeration cache length (as smi). __ 1122 src/x64/full-codegen-x64.cc __ Push(Smi::FromInt(0)); // Initial index. __ 1123 src/x64/full-codegen-x64.cc __ jmp(&loop); __ 1127 src/x64/full-codegen-x64.cc __ bind(&fixed_array); __ 1134 src/x64/full-codegen-x64.cc __ LoadHeapObject(rbx, cell); __ 1135 src/x64/full-codegen-x64.cc __ Move(FieldOperand(rbx, JSGlobalPropertyCell::kValueOffset), __ 1138 src/x64/full-codegen-x64.cc __ Move(rbx, Smi::FromInt(1)); // Smi indicates slow check __ 1139 src/x64/full-codegen-x64.cc __ movq(rcx, Operand(rsp, 0 * kPointerSize)); // Get enumerated object __ 1141 src/x64/full-codegen-x64.cc __ CmpObjectType(rcx, LAST_JS_PROXY_TYPE, rcx); __ 1142 src/x64/full-codegen-x64.cc __ j(above, &non_proxy); __ 1143 src/x64/full-codegen-x64.cc __ Move(rbx, Smi::FromInt(0)); // Zero indicates proxy __ 1144 src/x64/full-codegen-x64.cc __ bind(&non_proxy); __ 1145 src/x64/full-codegen-x64.cc __ push(rbx); // Smi __ 1146 src/x64/full-codegen-x64.cc __ push(rax); // Array __ 1147 src/x64/full-codegen-x64.cc __ movq(rax, FieldOperand(rax, FixedArray::kLengthOffset)); __ 1148 src/x64/full-codegen-x64.cc __ push(rax); // Fixed array length (as smi). __ 1149 src/x64/full-codegen-x64.cc __ Push(Smi::FromInt(0)); // Initial index. __ 1153 src/x64/full-codegen-x64.cc __ bind(&loop); __ 1154 src/x64/full-codegen-x64.cc __ movq(rax, Operand(rsp, 0 * kPointerSize)); // Get the current index. __ 1155 src/x64/full-codegen-x64.cc __ cmpq(rax, Operand(rsp, 1 * kPointerSize)); // Compare to the array length. __ 1156 src/x64/full-codegen-x64.cc __ j(above_equal, loop_statement.break_label()); __ 1159 src/x64/full-codegen-x64.cc __ movq(rbx, Operand(rsp, 2 * kPointerSize)); __ 1161 src/x64/full-codegen-x64.cc __ movq(rbx, FieldOperand(rbx, __ 1168 src/x64/full-codegen-x64.cc __ movq(rdx, Operand(rsp, 3 * kPointerSize)); __ 1173 src/x64/full-codegen-x64.cc __ movq(rcx, Operand(rsp, 4 * kPointerSize)); __ 1174 src/x64/full-codegen-x64.cc __ cmpq(rdx, FieldOperand(rcx, HeapObject::kMapOffset)); __ 1175 src/x64/full-codegen-x64.cc __ j(equal, &update_each, Label::kNear); __ 1179 src/x64/full-codegen-x64.cc __ Cmp(rdx, Smi::FromInt(0)); __ 1180 src/x64/full-codegen-x64.cc __ j(equal, &update_each, Label::kNear); __ 1185 src/x64/full-codegen-x64.cc __ push(rcx); // Enumerable. __ 1186 src/x64/full-codegen-x64.cc __ push(rbx); // Current entry. __ 1187 src/x64/full-codegen-x64.cc __ InvokeBuiltin(Builtins::FILTER_KEY, CALL_FUNCTION); __ 1188 src/x64/full-codegen-x64.cc __ Cmp(rax, Smi::FromInt(0)); __ 1189 src/x64/full-codegen-x64.cc __ j(equal, loop_statement.continue_label()); __ 1190 src/x64/full-codegen-x64.cc __ movq(rbx, rax); __ 1194 src/x64/full-codegen-x64.cc __ bind(&update_each); __ 1195 src/x64/full-codegen-x64.cc __ movq(result_register(), rbx); __ 1206 src/x64/full-codegen-x64.cc __ bind(loop_statement.continue_label()); __ 1207 src/x64/full-codegen-x64.cc __ SmiAddConstant(Operand(rsp, 0 * kPointerSize), Smi::FromInt(1)); __ 1210 src/x64/full-codegen-x64.cc __ jmp(&loop); __ 1213 src/x64/full-codegen-x64.cc __ bind(loop_statement.break_label()); __ 1214 src/x64/full-codegen-x64.cc __ addq(rsp, Immediate(5 * kPointerSize)); __ 1218 src/x64/full-codegen-x64.cc __ bind(&exit); __ 1237 src/x64/full-codegen-x64.cc __ Push(info); __ 1238 src/x64/full-codegen-x64.cc __ CallStub(&stub); __ 1240 src/x64/full-codegen-x64.cc __ push(rsi); __ 1241 src/x64/full-codegen-x64.cc __ Push(info); __ 1242 src/x64/full-codegen-x64.cc __ Push(pretenure __ 1245 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kNewClosure, 3); __ 1268 src/x64/full-codegen-x64.cc __ cmpq(ContextOperand(context, Context::EXTENSION_INDEX), __ 1270 src/x64/full-codegen-x64.cc __ j(not_equal, slow); __ 1273 src/x64/full-codegen-x64.cc __ movq(temp, ContextOperand(context, Context::PREVIOUS_INDEX)); __ 1289 src/x64/full-codegen-x64.cc __ movq(temp, context); __ 1292 src/x64/full-codegen-x64.cc __ LoadRoot(kScratchRegister, Heap::kGlobalContextMapRootIndex); __ 1293 src/x64/full-codegen-x64.cc __ bind(&next); __ 1295 src/x64/full-codegen-x64.cc __ cmpq(kScratchRegister, FieldOperand(temp, HeapObject::kMapOffset)); __ 1296 src/x64/full-codegen-x64.cc __ j(equal, &fast, Label::kNear); __ 1298 src/x64/full-codegen-x64.cc __ cmpq(ContextOperand(temp, Context::EXTENSION_INDEX), Immediate(0)); __ 1299 src/x64/full-codegen-x64.cc __ j(not_equal, slow); __ 1301 src/x64/full-codegen-x64.cc __ movq(temp, ContextOperand(temp, Context::PREVIOUS_INDEX)); __ 1302 src/x64/full-codegen-x64.cc __ jmp(&next); __ 1303 src/x64/full-codegen-x64.cc __ bind(&fast); __ 1308 src/x64/full-codegen-x64.cc __ movq(rax, GlobalObjectOperand()); __ 1309 src/x64/full-codegen-x64.cc __ Move(rcx, var->name()); __ 1328 src/x64/full-codegen-x64.cc __ cmpq(ContextOperand(context, Context::EXTENSION_INDEX), __ 1330 src/x64/full-codegen-x64.cc __ j(not_equal, slow); __ 1332 src/x64/full-codegen-x64.cc __ movq(temp, ContextOperand(context, Context::PREVIOUS_INDEX)); __ 1338 src/x64/full-codegen-x64.cc __ cmpq(ContextOperand(context, Context::EXTENSION_INDEX), Immediate(0)); __ 1339 src/x64/full-codegen-x64.cc __ j(not_equal, slow); __ 1359 src/x64/full-codegen-x64.cc __ jmp(done); __ 1362 src/x64/full-codegen-x64.cc __ movq(rax, ContextSlotOperandCheckExtensions(local, slow)); __ 1366 src/x64/full-codegen-x64.cc __ CompareRoot(rax, Heap::kTheHoleValueRootIndex); __ 1367 src/x64/full-codegen-x64.cc __ j(not_equal, done); __ 1369 src/x64/full-codegen-x64.cc __ LoadRoot(rax, Heap::kUndefinedValueRootIndex); __ 1371 src/x64/full-codegen-x64.cc __ Push(var->name()); __ 1372 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kThrowReferenceError, 1); __ 1375 src/x64/full-codegen-x64.cc __ jmp(done); __ 1392 src/x64/full-codegen-x64.cc __ Move(rcx, var->name()); __ 1393 src/x64/full-codegen-x64.cc __ movq(rax, GlobalObjectOperand()); __ 1443 src/x64/full-codegen-x64.cc __ CompareRoot(rax, Heap::kTheHoleValueRootIndex); __ 1444 src/x64/full-codegen-x64.cc __ j(not_equal, &done, Label::kNear); __ 1448 src/x64/full-codegen-x64.cc __ Push(var->name()); __ 1449 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kThrowReferenceError, 1); __ 1453 src/x64/full-codegen-x64.cc __ LoadRoot(rax, Heap::kUndefinedValueRootIndex); __ 1455 src/x64/full-codegen-x64.cc __ bind(&done); __ 1469 src/x64/full-codegen-x64.cc __ bind(&slow); __ 1471 src/x64/full-codegen-x64.cc __ push(rsi); // Context. __ 1472 src/x64/full-codegen-x64.cc __ Push(var->name()); __ 1473 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kLoadContextSlot, 2); __ 1474 src/x64/full-codegen-x64.cc __ bind(&done); __ 1490 src/x64/full-codegen-x64.cc __ movq(rdi, Operand(rbp, JavaScriptFrameConstants::kFunctionOffset)); __ 1491 src/x64/full-codegen-x64.cc __ movq(rcx, FieldOperand(rdi, JSFunction::kLiteralsOffset)); __ 1494 src/x64/full-codegen-x64.cc __ movq(rbx, FieldOperand(rcx, literal_offset)); __ 1495 src/x64/full-codegen-x64.cc __ CompareRoot(rbx, Heap::kUndefinedValueRootIndex); __ 1496 src/x64/full-codegen-x64.cc __ j(not_equal, &materialized, Label::kNear); __ 1500 src/x64/full-codegen-x64.cc __ push(rcx); __ 1501 src/x64/full-codegen-x64.cc __ Push(Smi::FromInt(expr->literal_index())); __ 1502 src/x64/full-codegen-x64.cc __ Push(expr->pattern()); __ 1503 src/x64/full-codegen-x64.cc __ Push(expr->flags()); __ 1504 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kMaterializeRegExpLiteral, 4); __ 1505 src/x64/full-codegen-x64.cc __ movq(rbx, rax); __ 1507 src/x64/full-codegen-x64.cc __ bind(&materialized); __ 1510 src/x64/full-codegen-x64.cc __ AllocateInNewSpace(size, rax, rcx, rdx, &runtime_allocate, TAG_OBJECT); __ 1511 src/x64/full-codegen-x64.cc __ jmp(&allocated); __ 1513 src/x64/full-codegen-x64.cc __ bind(&runtime_allocate); __ 1514 src/x64/full-codegen-x64.cc __ push(rbx); __ 1515 src/x64/full-codegen-x64.cc __ Push(Smi::FromInt(size)); __ 1516 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kAllocateInNewSpace, 1); __ 1517 src/x64/full-codegen-x64.cc __ pop(rbx); __ 1519 src/x64/full-codegen-x64.cc __ bind(&allocated); __ 1523 src/x64/full-codegen-x64.cc __ movq(rdx, FieldOperand(rbx, i)); __ 1524 src/x64/full-codegen-x64.cc __ movq(rcx, FieldOperand(rbx, i + kPointerSize)); __ 1525 src/x64/full-codegen-x64.cc __ movq(FieldOperand(rax, i), rdx); __ 1526 src/x64/full-codegen-x64.cc __ movq(FieldOperand(rax, i + kPointerSize), rcx); __ 1529 src/x64/full-codegen-x64.cc __ movq(rdx, FieldOperand(rbx, size - kPointerSize)); __ 1530 src/x64/full-codegen-x64.cc __ movq(FieldOperand(rax, size - kPointerSize), rdx); __ 1538 src/x64/full-codegen-x64.cc __ PushRoot(Heap::kNullValueRootIndex); __ 1548 src/x64/full-codegen-x64.cc __ movq(rdi, Operand(rbp, JavaScriptFrameConstants::kFunctionOffset)); __ 1549 src/x64/full-codegen-x64.cc __ push(FieldOperand(rdi, JSFunction::kLiteralsOffset)); __ 1550 src/x64/full-codegen-x64.cc __ Push(Smi::FromInt(expr->literal_index())); __ 1551 src/x64/full-codegen-x64.cc __ Push(constant_properties); __ 1558 src/x64/full-codegen-x64.cc __ Push(Smi::FromInt(flags)); __ 1561 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kCreateObjectLiteral, 4); __ 1564 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kCreateObjectLiteralShallow, 4); __ 1567 src/x64/full-codegen-x64.cc __ CallStub(&stub); __ 1587 src/x64/full-codegen-x64.cc __ push(rax); // Save result on the stack __ 1600 src/x64/full-codegen-x64.cc __ Move(rcx, key->handle()); __ 1601 src/x64/full-codegen-x64.cc __ movq(rdx, Operand(rsp, 0)); __ 1614 src/x64/full-codegen-x64.cc __ push(Operand(rsp, 0)); // Duplicate receiver. __ 1618 src/x64/full-codegen-x64.cc __ Push(Smi::FromInt(NONE)); // PropertyAttributes __ 1619 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kSetProperty, 4); __ 1621 src/x64/full-codegen-x64.cc __ Drop(3); __ 1638 src/x64/full-codegen-x64.cc __ push(Operand(rsp, 0)); // Duplicate receiver. __ 1642 src/x64/full-codegen-x64.cc __ Push(Smi::FromInt(NONE)); __ 1643 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kDefineOrRedefineAccessorProperty, 5); __ 1648 src/x64/full-codegen-x64.cc __ push(Operand(rsp, 0)); __ 1649 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kToFastProperties, 1); __ 1674 src/x64/full-codegen-x64.cc __ movq(rbx, Operand(rbp, JavaScriptFrameConstants::kFunctionOffset)); __ 1675 src/x64/full-codegen-x64.cc __ push(FieldOperand(rbx, JSFunction::kLiteralsOffset)); __ 1676 src/x64/full-codegen-x64.cc __ Push(Smi::FromInt(expr->literal_index())); __ 1677 src/x64/full-codegen-x64.cc __ Push(constant_elements); __ 1683 src/x64/full-codegen-x64.cc __ IncrementCounter(isolate()->counters()->cow_arrays_created_stub(), 1); __ 1687 src/x64/full-codegen-x64.cc __ CallStub(&stub); __ 1689 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kCreateArrayLiteral, 3); __ 1691 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kCreateArrayLiteralShallow, 3); __ 1701 src/x64/full-codegen-x64.cc __ CallStub(&stub); __ 1718 src/x64/full-codegen-x64.cc __ push(rax); __ 1727 src/x64/full-codegen-x64.cc __ movq(rbx, Operand(rsp, 0)); // Copy of array literal. __ 1728 src/x64/full-codegen-x64.cc __ movq(rbx, FieldOperand(rbx, JSObject::kElementsOffset)); __ 1730 src/x64/full-codegen-x64.cc __ movq(FieldOperand(rbx, offset), result_register()); __ 1732 src/x64/full-codegen-x64.cc __ RecordWriteField(rbx, offset, result_register(), rcx, __ 1738 src/x64/full-codegen-x64.cc __ movq(rbx, Operand(rsp, 0)); // Copy of array literal. __ 1739 src/x64/full-codegen-x64.cc __ movq(rdi, FieldOperand(rbx, JSObject::kMapOffset)); __ 1740 src/x64/full-codegen-x64.cc __ Move(rcx, Smi::FromInt(i)); __ 1741 src/x64/full-codegen-x64.cc __ Move(rdx, Smi::FromInt(expr->literal_index())); __ 1743 src/x64/full-codegen-x64.cc __ CallStub(&stub); __ 1786 src/x64/full-codegen-x64.cc __ push(result_register()); __ 1795 src/x64/full-codegen-x64.cc __ movq(rdx, Operand(rsp, 0)); __ 1796 src/x64/full-codegen-x64.cc __ push(rax); __ 1826 src/x64/full-codegen-x64.cc __ push(rax); // Left operand goes on the stack. __ 1873 src/x64/full-codegen-x64.cc __ Move(rcx, key->handle()); __ 1895 src/x64/full-codegen-x64.cc __ pop(rdx); __ 1896 src/x64/full-codegen-x64.cc __ movq(rcx, rax); __ 1897 src/x64/full-codegen-x64.cc __ or_(rax, rdx); __ 1901 src/x64/full-codegen-x64.cc __ bind(&stub_call); __ 1902 src/x64/full-codegen-x64.cc __ movq(rax, rcx); __ 1906 src/x64/full-codegen-x64.cc __ jmp(&done, Label::kNear); __ 1908 src/x64/full-codegen-x64.cc __ bind(&smi_case); __ 1911 src/x64/full-codegen-x64.cc __ SmiShiftArithmeticRight(rax, rdx, rcx); __ 1914 src/x64/full-codegen-x64.cc __ SmiShiftLeft(rax, rdx, rcx); __ 1917 src/x64/full-codegen-x64.cc __ SmiShiftLogicalRight(rax, rdx, rcx, &stub_call); __ 1920 src/x64/full-codegen-x64.cc __ SmiAdd(rax, rdx, rcx, &stub_call); __ 1923 src/x64/full-codegen-x64.cc __ SmiSub(rax, rdx, rcx, &stub_call); __ 1926 src/x64/full-codegen-x64.cc __ SmiMul(rax, rdx, rcx, &stub_call); __ 1929 src/x64/full-codegen-x64.cc __ SmiOr(rax, rdx, rcx); __ 1932 src/x64/full-codegen-x64.cc __ SmiAnd(rax, rdx, rcx); __ 1935 src/x64/full-codegen-x64.cc __ SmiXor(rax, rdx, rcx); __ 1942 src/x64/full-codegen-x64.cc __ bind(&done); __ 1950 src/x64/full-codegen-x64.cc __ pop(rdx); __ 1986 src/x64/full-codegen-x64.cc __ push(rax); // Preserve value. __ 1988 src/x64/full-codegen-x64.cc __ movq(rdx, rax); __ 1989 src/x64/full-codegen-x64.cc __ pop(rax); // Restore value. __ 1990 src/x64/full-codegen-x64.cc __ Move(rcx, prop->key()->AsLiteral()->handle()); __ 1998 src/x64/full-codegen-x64.cc __ push(rax); // Preserve value. __ 2001 src/x64/full-codegen-x64.cc __ movq(rcx, rax); __ 2002 src/x64/full-codegen-x64.cc __ pop(rdx); __ 2003 src/x64/full-codegen-x64.cc __ pop(rax); // Restore value. __ 2019 src/x64/full-codegen-x64.cc __ Move(rcx, var->name()); __ 2020 src/x64/full-codegen-x64.cc __ movq(rdx, GlobalObjectOperand()); __ 2030 src/x64/full-codegen-x64.cc __ movq(rdx, StackOperand(var)); __ 2031 src/x64/full-codegen-x64.cc __ CompareRoot(rdx, Heap::kTheHoleValueRootIndex); __ 2032 src/x64/full-codegen-x64.cc __ j(not_equal, &skip); __ 2033 src/x64/full-codegen-x64.cc __ movq(StackOperand(var), rax); __ 2034 src/x64/full-codegen-x64.cc __ bind(&skip); __ 2042 src/x64/full-codegen-x64.cc __ push(rax); __ 2043 src/x64/full-codegen-x64.cc __ push(rsi); __ 2044 src/x64/full-codegen-x64.cc __ Push(var->name()); __ 2045 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kInitializeConstContextSlot, 3); __ 2051 src/x64/full-codegen-x64.cc __ push(rax); // Value. __ 2052 src/x64/full-codegen-x64.cc __ push(rsi); // Context. __ 2053 src/x64/full-codegen-x64.cc __ Push(var->name()); __ 2054 src/x64/full-codegen-x64.cc __ Push(Smi::FromInt(language_mode())); __ 2055 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kStoreContextSlot, 4); __ 2060 src/x64/full-codegen-x64.cc __ movq(rdx, location); __ 2061 src/x64/full-codegen-x64.cc __ CompareRoot(rdx, Heap::kTheHoleValueRootIndex); __ 2062 src/x64/full-codegen-x64.cc __ j(not_equal, &assign, Label::kNear); __ 2063 src/x64/full-codegen-x64.cc __ Push(var->name()); __ 2064 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kThrowReferenceError, 1); __ 2065 src/x64/full-codegen-x64.cc __ bind(&assign); __ 2066 src/x64/full-codegen-x64.cc __ movq(location, rax); __ 2068 src/x64/full-codegen-x64.cc __ movq(rdx, rax); __ 2069 src/x64/full-codegen-x64.cc __ RecordWriteContextSlot( __ 2081 src/x64/full-codegen-x64.cc __ movq(rdx, location); __ 2082 src/x64/full-codegen-x64.cc __ CompareRoot(rdx, Heap::kTheHoleValueRootIndex); __ 2083 src/x64/full-codegen-x64.cc __ Check(equal, "Let binding re-initialization."); __ 2086 src/x64/full-codegen-x64.cc __ movq(location, rax); __ 2088 src/x64/full-codegen-x64.cc __ movq(rdx, rax); __ 2089 src/x64/full-codegen-x64.cc __ RecordWriteContextSlot( __ 2094 src/x64/full-codegen-x64.cc __ push(rax); // Value. __ 2095 src/x64/full-codegen-x64.cc __ push(rsi); // Context. __ 2096 src/x64/full-codegen-x64.cc __ Push(var->name()); __ 2097 src/x64/full-codegen-x64.cc __ Push(Smi::FromInt(language_mode())); __ 2098 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kStoreContextSlot, 4); __ 2115 src/x64/full-codegen-x64.cc __ push(result_register()); __ 2116 src/x64/full-codegen-x64.cc __ push(Operand(rsp, kPointerSize)); // Receiver is now under value. __ 2117 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kToSlowProperties, 1); __ 2118 src/x64/full-codegen-x64.cc __ pop(result_register()); __ 2123 src/x64/full-codegen-x64.cc __ Move(rcx, prop->key()->AsLiteral()->handle()); __ 2125 src/x64/full-codegen-x64.cc __ movq(rdx, Operand(rsp, 0)); __ 2127 src/x64/full-codegen-x64.cc __ pop(rdx); __ 2136 src/x64/full-codegen-x64.cc __ push(rax); // Result of assignment, saved even if not needed. __ 2137 src/x64/full-codegen-x64.cc __ push(Operand(rsp, kPointerSize)); // Receiver is under value. __ 2138 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kToFastProperties, 1); __ 2139 src/x64/full-codegen-x64.cc __ pop(rax); __ 2140 src/x64/full-codegen-x64.cc __ Drop(1); __ 2154 src/x64/full-codegen-x64.cc __ push(result_register()); __ 2156 src/x64/full-codegen-x64.cc __ push(Operand(rsp, 2 * kPointerSize)); __ 2157 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kToSlowProperties, 1); __ 2158 src/x64/full-codegen-x64.cc __ pop(result_register()); __ 2161 src/x64/full-codegen-x64.cc __ pop(rcx); __ 2163 src/x64/full-codegen-x64.cc __ movq(rdx, Operand(rsp, 0)); // Leave receiver on the stack for later. __ 2165 src/x64/full-codegen-x64.cc __ pop(rdx); __ 2176 src/x64/full-codegen-x64.cc __ pop(rdx); __ 2177 src/x64/full-codegen-x64.cc __ push(rax); // Result of assignment, saved even if not needed. __ 2178 src/x64/full-codegen-x64.cc __ push(rdx); __ 2179 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kToFastProperties, 1); __ 2180 src/x64/full-codegen-x64.cc __ pop(rax); __ 2199 src/x64/full-codegen-x64.cc __ pop(rdx); __ 2210 src/x64/full-codegen-x64.cc __ call(code, rmode, ast_id); __ 2224 src/x64/full-codegen-x64.cc __ Move(rcx, name); __ 2234 src/x64/full-codegen-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 2246 src/x64/full-codegen-x64.cc __ pop(rcx); __ 2247 src/x64/full-codegen-x64.cc __ push(rax); __ 2248 src/x64/full-codegen-x64.cc __ push(rcx); __ 2263 src/x64/full-codegen-x64.cc __ movq(rcx, Operand(rsp, (arg_count + 1) * kPointerSize)); // Key. __ 2267 src/x64/full-codegen-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 2292 src/x64/full-codegen-x64.cc __ Move(rbx, cell); __ 2296 src/x64/full-codegen-x64.cc __ movq(rdi, Operand(rsp, (arg_count + 1) * kPointerSize)); __ 2297 src/x64/full-codegen-x64.cc __ CallStub(&stub, expr->id()); __ 2300 src/x64/full-codegen-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 2309 src/x64/full-codegen-x64.cc __ push(Operand(rsp, arg_count * kPointerSize)); __ 2311 src/x64/full-codegen-x64.cc __ PushRoot(Heap::kUndefinedValueRootIndex); __ 2315 src/x64/full-codegen-x64.cc __ push(Operand(rbp, (2 + info_->scope()->num_parameters()) * kPointerSize)); __ 2318 src/x64/full-codegen-x64.cc __ Push(Smi::FromInt(language_mode())); __ 2321 src/x64/full-codegen-x64.cc __ Push(Smi::FromInt(scope()->start_position())); __ 2324 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kResolvePossiblyDirectEval, 5); __ 2348 src/x64/full-codegen-x64.cc __ PushRoot(Heap::kUndefinedValueRootIndex); // Reserved receiver slot. __ 2357 src/x64/full-codegen-x64.cc __ push(Operand(rsp, (arg_count + 1) * kPointerSize)); __ 2362 src/x64/full-codegen-x64.cc __ movq(Operand(rsp, (arg_count + 0) * kPointerSize), rdx); __ 2363 src/x64/full-codegen-x64.cc __ movq(Operand(rsp, (arg_count + 1) * kPointerSize), rax); __ 2368 src/x64/full-codegen-x64.cc __ movq(rdi, Operand(rsp, (arg_count + 1) * kPointerSize)); __ 2369 src/x64/full-codegen-x64.cc __ CallStub(&stub); __ 2372 src/x64/full-codegen-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 2377 src/x64/full-codegen-x64.cc __ push(GlobalObjectOperand()); __ 2388 src/x64/full-codegen-x64.cc __ bind(&slow); __ 2391 src/x64/full-codegen-x64.cc __ push(context_register()); __ 2392 src/x64/full-codegen-x64.cc __ Push(proxy->name()); __ 2393 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kLoadContextSlot, 2); __ 2394 src/x64/full-codegen-x64.cc __ push(rax); // Function. __ 2395 src/x64/full-codegen-x64.cc __ push(rdx); // Receiver. __ 2401 src/x64/full-codegen-x64.cc __ jmp(&call, Label::kNear); __ 2402 src/x64/full-codegen-x64.cc __ bind(&done); __ 2404 src/x64/full-codegen-x64.cc __ push(rax); __ 2407 src/x64/full-codegen-x64.cc __ PushRoot(Heap::kTheHoleValueRootIndex); __ 2408 src/x64/full-codegen-x64.cc __ bind(&call); __ 2432 src/x64/full-codegen-x64.cc __ movq(rbx, GlobalObjectOperand()); __ 2433 src/x64/full-codegen-x64.cc __ push(FieldOperand(rbx, GlobalObject::kGlobalReceiverOffset)); __ 2468 src/x64/full-codegen-x64.cc __ Set(rax, arg_count); __ 2469 src/x64/full-codegen-x64.cc __ movq(rdi, Operand(rsp, arg_count * kPointerSize)); __ 2480 src/x64/full-codegen-x64.cc __ Move(rbx, cell); __ 2486 src/x64/full-codegen-x64.cc __ Call(stub.GetCode(), RelocInfo::CONSTRUCT_CALL); __ 2506 src/x64/full-codegen-x64.cc __ JumpIfSmi(rax, if_true); __ 2507 src/x64/full-codegen-x64.cc __ jmp(if_false); __ 2547 src/x64/full-codegen-x64.cc __ JumpIfSmi(rax, if_false); __ 2548 src/x64/full-codegen-x64.cc __ CompareRoot(rax, Heap::kNullValueRootIndex); __ 2549 src/x64/full-codegen-x64.cc __ j(equal, if_true); __ 2550 src/x64/full-codegen-x64.cc __ movq(rbx, FieldOperand(rax, HeapObject::kMapOffset)); __ 2552 src/x64/full-codegen-x64.cc __ testb(FieldOperand(rbx, Map::kBitFieldOffset), __ 2554 src/x64/full-codegen-x64.cc __ j(not_zero, if_false); __ 2555 src/x64/full-codegen-x64.cc __ movzxbq(rbx, FieldOperand(rbx, Map::kInstanceTypeOffset)); __ 2556 src/x64/full-codegen-x64.cc __ cmpq(rbx, Immediate(FIRST_NONCALLABLE_SPEC_OBJECT_TYPE)); __ 2557 src/x64/full-codegen-x64.cc __ j(below, if_false); __ 2558 src/x64/full-codegen-x64.cc __ cmpq(rbx, Immediate(LAST_NONCALLABLE_SPEC_OBJECT_TYPE)); __ 2579 src/x64/full-codegen-x64.cc __ JumpIfSmi(rax, if_false); __ 2580 src/x64/full-codegen-x64.cc __ CmpObjectType(rax, FIRST_SPEC_OBJECT_TYPE, rbx); __ 2601 src/x64/full-codegen-x64.cc __ JumpIfSmi(rax, if_false); __ 2602 src/x64/full-codegen-x64.cc __ movq(rbx, FieldOperand(rax, HeapObject::kMapOffset)); __ 2603 src/x64/full-codegen-x64.cc __ testb(FieldOperand(rbx, Map::kBitFieldOffset), __ 2626 src/x64/full-codegen-x64.cc if (FLAG_debug_code) __ AbortIfSmi(rax); __ 2630 src/x64/full-codegen-x64.cc __ movq(rbx, FieldOperand(rax, HeapObject::kMapOffset)); __ 2631 src/x64/full-codegen-x64.cc __ testb(FieldOperand(rbx, Map::kBitField2Offset), __ 2633 src/x64/full-codegen-x64.cc __ j(not_zero, if_true); __ 2636 src/x64/full-codegen-x64.cc __ movq(rcx, FieldOperand(rax, JSObject::kPropertiesOffset)); __ 2637 src/x64/full-codegen-x64.cc __ movq(rcx, FieldOperand(rcx, HeapObject::kMapOffset)); __ 2638 src/x64/full-codegen-x64.cc __ CompareRoot(rcx, Heap::kHashTableMapRootIndex); __ 2639 src/x64/full-codegen-x64.cc __ j(equal, if_false); __ 2644 src/x64/full-codegen-x64.cc __ LoadInstanceDescriptors(rbx, rbx); __ 2645 src/x64/full-codegen-x64.cc __ movq(rcx, FieldOperand(rbx, FixedArray::kLengthOffset)); __ 2650 src/x64/full-codegen-x64.cc __ lea(rcx, __ 2654 src/x64/full-codegen-x64.cc __ addq(rbx, __ 2660 src/x64/full-codegen-x64.cc __ jmp(&entry); __ 2661 src/x64/full-codegen-x64.cc __ bind(&loop); __ 2662 src/x64/full-codegen-x64.cc __ movq(rdx, FieldOperand(rbx, 0)); __ 2663 src/x64/full-codegen-x64.cc __ Cmp(rdx, FACTORY->value_of_symbol()); __ 2664 src/x64/full-codegen-x64.cc __ j(equal, if_false); __ 2665 src/x64/full-codegen-x64.cc __ addq(rbx, Immediate(kPointerSize)); __ 2666 src/x64/full-codegen-x64.cc __ bind(&entry); __ 2667 src/x64/full-codegen-x64.cc __ cmpq(rbx, rcx); __ 2668 src/x64/full-codegen-x64.cc __ j(not_equal, &loop); __ 2671 src/x64/full-codegen-x64.cc __ movq(rbx, FieldOperand(rax, HeapObject::kMapOffset)); __ 2675 src/x64/full-codegen-x64.cc __ movq(rcx, FieldOperand(rbx, Map::kPrototypeOffset)); __ 2676 src/x64/full-codegen-x64.cc __ testq(rcx, Immediate(kSmiTagMask)); __ 2677 src/x64/full-codegen-x64.cc __ j(zero, if_false); __ 2678 src/x64/full-codegen-x64.cc __ movq(rcx, FieldOperand(rcx, HeapObject::kMapOffset)); __ 2679 src/x64/full-codegen-x64.cc __ movq(rdx, Operand(rsi, Context::SlotOffset(Context::GLOBAL_INDEX))); __ 2680 src/x64/full-codegen-x64.cc __ movq(rdx, FieldOperand(rdx, GlobalObject::kGlobalContextOffset)); __ 2681 src/x64/full-codegen-x64.cc __ cmpq(rcx, __ 2683 src/x64/full-codegen-x64.cc __ j(not_equal, if_false); __ 2686 src/x64/full-codegen-x64.cc __ or_(FieldOperand(rbx, Map::kBitField2Offset), __ 2688 src/x64/full-codegen-x64.cc __ jmp(if_true); __ 2708 src/x64/full-codegen-x64.cc __ JumpIfSmi(rax, if_false); __ 2709 src/x64/full-codegen-x64.cc __ CmpObjectType(rax, JS_FUNCTION_TYPE, rbx); __ 2730 src/x64/full-codegen-x64.cc __ JumpIfSmi(rax, if_false); __ 2731 src/x64/full-codegen-x64.cc __ CmpObjectType(rax, JS_ARRAY_TYPE, rbx); __ 2752 src/x64/full-codegen-x64.cc __ JumpIfSmi(rax, if_false); __ 2753 src/x64/full-codegen-x64.cc __ CmpObjectType(rax, JS_REGEXP_TYPE, rbx); __ 2773 src/x64/full-codegen-x64.cc __ movq(rax, Operand(rbp, StandardFrameConstants::kCallerFPOffset)); __ 2777 src/x64/full-codegen-x64.cc __ Cmp(Operand(rax, StandardFrameConstants::kContextOffset), __ 2779 src/x64/full-codegen-x64.cc __ j(not_equal, &check_frame_marker); __ 2780 src/x64/full-codegen-x64.cc __ movq(rax, Operand(rax, StandardFrameConstants::kCallerFPOffset)); __ 2783 src/x64/full-codegen-x64.cc __ bind(&check_frame_marker); __ 2784 src/x64/full-codegen-x64.cc __ Cmp(Operand(rax, StandardFrameConstants::kMarkerOffset), __ 2808 src/x64/full-codegen-x64.cc __ pop(rbx); __ 2809 src/x64/full-codegen-x64.cc __ cmpq(rax, rbx); __ 2824 src/x64/full-codegen-x64.cc __ movq(rdx, rax); __ 2825 src/x64/full-codegen-x64.cc __ Move(rax, Smi::FromInt(info_->scope()->num_parameters())); __ 2827 src/x64/full-codegen-x64.cc __ CallStub(&stub); __ 2837 src/x64/full-codegen-x64.cc __ Move(rax, Smi::FromInt(info_->scope()->num_parameters())); __ 2840 src/x64/full-codegen-x64.cc __ movq(rbx, Operand(rbp, StandardFrameConstants::kCallerFPOffset)); __ 2841 src/x64/full-codegen-x64.cc __ Cmp(Operand(rbx, StandardFrameConstants::kContextOffset), __ 2843 src/x64/full-codegen-x64.cc __ j(not_equal, &exit, Label::kNear); __ 2847 src/x64/full-codegen-x64.cc __ movq(rax, Operand(rbx, ArgumentsAdaptorFrameConstants::kLengthOffset)); __ 2849 src/x64/full-codegen-x64.cc __ bind(&exit); __ 2850 src/x64/full-codegen-x64.cc if (FLAG_debug_code) __ AbortIfNotSmi(rax); __ 2863 src/x64/full-codegen-x64.cc __ JumpIfSmi(rax, &null); __ 2870 src/x64/full-codegen-x64.cc __ CmpObjectType(rax, FIRST_SPEC_OBJECT_TYPE, rax); __ 2872 src/x64/full-codegen-x64.cc __ j(below, &null); __ 2875 src/x64/full-codegen-x64.cc __ j(equal, &function); __ 2877 src/x64/full-codegen-x64.cc __ CmpInstanceType(rax, LAST_SPEC_OBJECT_TYPE); __ 2880 src/x64/full-codegen-x64.cc __ j(equal, &function); __ 2885 src/x64/full-codegen-x64.cc __ movq(rax, FieldOperand(rax, Map::kConstructorOffset)); __ 2886 src/x64/full-codegen-x64.cc __ CmpObjectType(rax, JS_FUNCTION_TYPE, rbx); __ 2887 src/x64/full-codegen-x64.cc __ j(not_equal, &non_function_constructor); __ 2891 src/x64/full-codegen-x64.cc __ movq(rax, FieldOperand(rax, JSFunction::kSharedFunctionInfoOffset)); __ 2892 src/x64/full-codegen-x64.cc __ movq(rax, FieldOperand(rax, SharedFunctionInfo::kInstanceClassNameOffset)); __ 2893 src/x64/full-codegen-x64.cc __ jmp(&done); __ 2896 src/x64/full-codegen-x64.cc __ bind(&function); __ 2897 src/x64/full-codegen-x64.cc __ Move(rax, isolate()->factory()->function_class_symbol()); __ 2898 src/x64/full-codegen-x64.cc __ jmp(&done); __ 2901 src/x64/full-codegen-x64.cc __ bind(&non_function_constructor); __ 2902 src/x64/full-codegen-x64.cc __ Move(rax, isolate()->factory()->Object_symbol()); __ 2903 src/x64/full-codegen-x64.cc __ jmp(&done); __ 2906 src/x64/full-codegen-x64.cc __ bind(&null); __ 2907 src/x64/full-codegen-x64.cc __ LoadRoot(rax, Heap::kNullValueRootIndex); __ 2910 src/x64/full-codegen-x64.cc __ bind(&done); __ 2929 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kLog, 2); __ 2932 src/x64/full-codegen-x64.cc __ LoadRoot(rax, Heap::kUndefinedValueRootIndex); __ 2943 src/x64/full-codegen-x64.cc __ AllocateHeapNumber(rbx, rcx, &slow_allocate_heapnumber); __ 2944 src/x64/full-codegen-x64.cc __ jmp(&heapnumber_allocated); __ 2946 src/x64/full-codegen-x64.cc __ bind(&slow_allocate_heapnumber); __ 2948 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kNumberAlloc, 0); __ 2949 src/x64/full-codegen-x64.cc __ movq(rbx, rax); __ 2951 src/x64/full-codegen-x64.cc __ bind(&heapnumber_allocated); __ 2955 src/x64/full-codegen-x64.cc __ PrepareCallCFunction(1); __ 2957 src/x64/full-codegen-x64.cc __ movq(rcx, ContextOperand(context_register(), Context::GLOBAL_INDEX)); __ 2958 src/x64/full-codegen-x64.cc __ movq(rcx, FieldOperand(rcx, GlobalObject::kGlobalContextOffset)); __ 2961 src/x64/full-codegen-x64.cc __ movq(rdi, ContextOperand(context_register(), Context::GLOBAL_INDEX)); __ 2962 src/x64/full-codegen-x64.cc __ movq(rdi, FieldOperand(rdi, GlobalObject::kGlobalContextOffset)); __ 2964 src/x64/full-codegen-x64.cc __ CallCFunction(ExternalReference::random_uint32_function(isolate()), 1); __ 2969 src/x64/full-codegen-x64.cc __ movl(rcx, Immediate(0x49800000)); // 1.0 x 2^20 as single. __ 2970 src/x64/full-codegen-x64.cc __ movd(xmm1, rcx); __ 2971 src/x64/full-codegen-x64.cc __ movd(xmm0, rax); __ 2972 src/x64/full-codegen-x64.cc __ cvtss2sd(xmm1, xmm1); __ 2973 src/x64/full-codegen-x64.cc __ xorps(xmm0, xmm1); __ 2974 src/x64/full-codegen-x64.cc __ subsd(xmm0, xmm1); __ 2975 src/x64/full-codegen-x64.cc __ movsd(FieldOperand(rbx, HeapNumber::kValueOffset), xmm0); __ 2977 src/x64/full-codegen-x64.cc __ movq(rax, rbx); __ 2990 src/x64/full-codegen-x64.cc __ CallStub(&stub); __ 3004 src/x64/full-codegen-x64.cc __ CallStub(&stub); __ 3017 src/x64/full-codegen-x64.cc __ JumpIfSmi(rax, &done); __ 3019 src/x64/full-codegen-x64.cc __ CmpObjectType(rax, JS_VALUE_TYPE, rbx); __ 3020 src/x64/full-codegen-x64.cc __ j(not_equal, &done); __ 3021 src/x64/full-codegen-x64.cc __ movq(rax, FieldOperand(rax, JSValue::kValueOffset)); __ 3023 src/x64/full-codegen-x64.cc __ bind(&done); __ 3042 src/x64/full-codegen-x64.cc __ AbortIfSmi(object); __ 3043 src/x64/full-codegen-x64.cc __ CmpObjectType(object, JS_DATE_TYPE, scratch); __ 3044 src/x64/full-codegen-x64.cc __ Assert(equal, "Trying to get date field from non-date."); __ 3048 src/x64/full-codegen-x64.cc __ movq(result, FieldOperand(object, JSDate::kValueOffset)); __ 3052 src/x64/full-codegen-x64.cc __ movq(scratch, stamp); __ 3053 src/x64/full-codegen-x64.cc __ cmpq(scratch, FieldOperand(object, JSDate::kCacheStampOffset)); __ 3054 src/x64/full-codegen-x64.cc __ j(not_equal, &runtime, Label::kNear); __ 3055 src/x64/full-codegen-x64.cc __ movq(result, FieldOperand(object, JSDate::kValueOffset + __ 3057 src/x64/full-codegen-x64.cc __ jmp(&done); __ 3059 src/x64/full-codegen-x64.cc __ bind(&runtime); __ 3060 src/x64/full-codegen-x64.cc __ PrepareCallCFunction(2); __ 3062 src/x64/full-codegen-x64.cc __ movq(rcx, object); __ 3063 src/x64/full-codegen-x64.cc __ movq(rdx, index, RelocInfo::NONE); __ 3065 src/x64/full-codegen-x64.cc __ movq(rdi, object); __ 3066 src/x64/full-codegen-x64.cc __ movq(rsi, index, RelocInfo::NONE); __ 3068 src/x64/full-codegen-x64.cc __ CallCFunction(ExternalReference::get_date_field_function(isolate()), 2); __ 3069 src/x64/full-codegen-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 3070 src/x64/full-codegen-x64.cc __ bind(&done); __ 3083 src/x64/full-codegen-x64.cc __ CallStub(&stub); __ 3094 src/x64/full-codegen-x64.cc __ pop(rbx); // rax = value. rbx = object. __ 3098 src/x64/full-codegen-x64.cc __ JumpIfSmi(rbx, &done); __ 3101 src/x64/full-codegen-x64.cc __ CmpObjectType(rbx, JS_VALUE_TYPE, rcx); __ 3102 src/x64/full-codegen-x64.cc __ j(not_equal, &done); __ 3105 src/x64/full-codegen-x64.cc __ movq(FieldOperand(rbx, JSValue::kValueOffset), rax); __ 3108 src/x64/full-codegen-x64.cc __ movq(rdx, rax); __ 3109 src/x64/full-codegen-x64.cc __ RecordWriteField(rbx, JSValue::kValueOffset, rdx, rcx, kDontSaveFPRegs); __ 3111 src/x64/full-codegen-x64.cc __ bind(&done); __ 3124 src/x64/full-codegen-x64.cc __ CallStub(&stub); __ 3138 src/x64/full-codegen-x64.cc __ jmp(&done); __ 3143 src/x64/full-codegen-x64.cc __ bind(&done); __ 3159 src/x64/full-codegen-x64.cc __ pop(object); __ 3172 src/x64/full-codegen-x64.cc __ jmp(&done); __ 3174 src/x64/full-codegen-x64.cc __ bind(&index_out_of_range); __ 3177 src/x64/full-codegen-x64.cc __ LoadRoot(result, Heap::kNanValueRootIndex); __ 3178 src/x64/full-codegen-x64.cc __ jmp(&done); __ 3180 src/x64/full-codegen-x64.cc __ bind(&need_conversion); __ 3183 src/x64/full-codegen-x64.cc __ LoadRoot(result, Heap::kUndefinedValueRootIndex); __ 3184 src/x64/full-codegen-x64.cc __ jmp(&done); __ 3189 src/x64/full-codegen-x64.cc __ bind(&done); __ 3206 src/x64/full-codegen-x64.cc __ pop(object); __ 3220 src/x64/full-codegen-x64.cc __ jmp(&done); __ 3222 src/x64/full-codegen-x64.cc __ bind(&index_out_of_range); __ 3225 src/x64/full-codegen-x64.cc __ LoadRoot(result, Heap::kEmptyStringRootIndex); __ 3226 src/x64/full-codegen-x64.cc __ jmp(&done); __ 3228 src/x64/full-codegen-x64.cc __ bind(&need_conversion); __ 3231 src/x64/full-codegen-x64.cc __ Move(result, Smi::FromInt(0)); __ 3232 src/x64/full-codegen-x64.cc __ jmp(&done); __ 3237 src/x64/full-codegen-x64.cc __ bind(&done); __ 3250 src/x64/full-codegen-x64.cc __ CallStub(&stub); __ 3263 src/x64/full-codegen-x64.cc __ CallStub(&stub); __ 3275 src/x64/full-codegen-x64.cc __ CallStub(&stub); __ 3287 src/x64/full-codegen-x64.cc __ CallStub(&stub); __ 3299 src/x64/full-codegen-x64.cc __ CallStub(&stub); __ 3311 src/x64/full-codegen-x64.cc __ CallStub(&stub); __ 3321 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kMath_sqrt, 1); __ 3338 src/x64/full-codegen-x64.cc __ CmpObjectType(rax, JS_FUNCTION_PROXY_TYPE, rbx); __ 3339 src/x64/full-codegen-x64.cc __ j(equal, &proxy); __ 3342 src/x64/full-codegen-x64.cc __ movq(rdi, result_register()); __ 3344 src/x64/full-codegen-x64.cc __ InvokeFunction(rdi, count, CALL_FUNCTION, __ 3346 src/x64/full-codegen-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 3347 src/x64/full-codegen-x64.cc __ jmp(&done); __ 3349 src/x64/full-codegen-x64.cc __ bind(&proxy); __ 3350 src/x64/full-codegen-x64.cc __ push(rax); __ 3351 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kCall, args->length()); __ 3352 src/x64/full-codegen-x64.cc __ bind(&done); __ 3365 src/x64/full-codegen-x64.cc __ CallStub(&stub); __ 3380 src/x64/full-codegen-x64.cc __ Abort("Attempt to use undefined cache."); __ 3381 src/x64/full-codegen-x64.cc __ LoadRoot(rax, Heap::kUndefinedValueRootIndex); __ 3391 src/x64/full-codegen-x64.cc __ movq(cache, ContextOperand(rsi, Context::GLOBAL_INDEX)); __ 3392 src/x64/full-codegen-x64.cc __ movq(cache, __ 3394 src/x64/full-codegen-x64.cc __ movq(cache, __ 3396 src/x64/full-codegen-x64.cc __ movq(cache, __ 3402 src/x64/full-codegen-x64.cc __ movq(tmp, FieldOperand(cache, JSFunctionResultCache::kFingerOffset)); __ 3404 src/x64/full-codegen-x64.cc __ SmiToIndex(kScratchRegister, tmp, kPointerSizeLog2); __ 3405 src/x64/full-codegen-x64.cc __ cmpq(key, FieldOperand(cache, __ 3409 src/x64/full-codegen-x64.cc __ j(not_equal, ¬_found, Label::kNear); __ 3410 src/x64/full-codegen-x64.cc __ movq(rax, FieldOperand(cache, __ 3414 src/x64/full-codegen-x64.cc __ jmp(&done, Label::kNear); __ 3416 src/x64/full-codegen-x64.cc __ bind(¬_found); __ 3418 src/x64/full-codegen-x64.cc __ push(cache); __ 3419 src/x64/full-codegen-x64.cc __ push(key); __ 3420 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kGetFromCache, 2); __ 3422 src/x64/full-codegen-x64.cc __ bind(&done); __ 3437 src/x64/full-codegen-x64.cc __ pop(left); __ 3440 src/x64/full-codegen-x64.cc __ cmpq(left, right); __ 3441 src/x64/full-codegen-x64.cc __ j(equal, &ok, Label::kNear); __ 3444 src/x64/full-codegen-x64.cc __ j(either_smi, &fail, Label::kNear); __ 3445 src/x64/full-codegen-x64.cc __ j(zero, &fail, Label::kNear); __ 3446 src/x64/full-codegen-x64.cc __ movq(tmp, FieldOperand(left, HeapObject::kMapOffset)); __ 3447 src/x64/full-codegen-x64.cc __ cmpb(FieldOperand(tmp, Map::kInstanceTypeOffset), __ 3449 src/x64/full-codegen-x64.cc __ j(not_equal, &fail, Label::kNear); __ 3450 src/x64/full-codegen-x64.cc __ cmpq(tmp, FieldOperand(right, HeapObject::kMapOffset)); __ 3451 src/x64/full-codegen-x64.cc __ j(not_equal, &fail, Label::kNear); __ 3452 src/x64/full-codegen-x64.cc __ movq(tmp, FieldOperand(left, JSRegExp::kDataOffset)); __ 3453 src/x64/full-codegen-x64.cc __ cmpq(tmp, FieldOperand(right, JSRegExp::kDataOffset)); __ 3454 src/x64/full-codegen-x64.cc __ j(equal, &ok, Label::kNear); __ 3455 src/x64/full-codegen-x64.cc __ bind(&fail); __ 3456 src/x64/full-codegen-x64.cc __ Move(rax, isolate()->factory()->false_value()); __ 3457 src/x64/full-codegen-x64.cc __ jmp(&done, Label::kNear); __ 3458 src/x64/full-codegen-x64.cc __ bind(&ok); __ 3459 src/x64/full-codegen-x64.cc __ Move(rax, isolate()->factory()->true_value()); __ 3460 src/x64/full-codegen-x64.cc __ bind(&done); __ 3479 src/x64/full-codegen-x64.cc __ testl(FieldOperand(rax, String::kHashFieldOffset), __ 3482 src/x64/full-codegen-x64.cc __ j(zero, if_true); __ 3483 src/x64/full-codegen-x64.cc __ jmp(if_false); __ 3495 src/x64/full-codegen-x64.cc __ AbortIfNotString(rax); __ 3498 src/x64/full-codegen-x64.cc __ movl(rax, FieldOperand(rax, String::kHashFieldOffset)); __ 3500 src/x64/full-codegen-x64.cc __ IndexFromHash(rax, rax); __ 3537 src/x64/full-codegen-x64.cc __ subq(rsp, Immediate(2 * kPointerSize)); __ 3538 src/x64/full-codegen-x64.cc __ cld(); __ 3540 src/x64/full-codegen-x64.cc __ JumpIfSmi(array, &bailout); __ 3541 src/x64/full-codegen-x64.cc __ CmpObjectType(array, JS_ARRAY_TYPE, scratch); __ 3542 src/x64/full-codegen-x64.cc __ j(not_equal, &bailout); __ 3545 src/x64/full-codegen-x64.cc __ CheckFastElements(scratch, &bailout); __ 3549 src/x64/full-codegen-x64.cc __ movq(array_length, FieldOperand(array, JSArray::kLengthOffset)); __ 3550 src/x64/full-codegen-x64.cc __ SmiCompare(array_length, Smi::FromInt(0)); __ 3551 src/x64/full-codegen-x64.cc __ j(not_zero, &non_trivial_array); __ 3552 src/x64/full-codegen-x64.cc __ LoadRoot(rax, Heap::kEmptyStringRootIndex); __ 3553 src/x64/full-codegen-x64.cc __ jmp(&return_result); __ 3556 src/x64/full-codegen-x64.cc __ bind(&non_trivial_array); __ 3557 src/x64/full-codegen-x64.cc __ SmiToInteger32(array_length, array_length); __ 3558 src/x64/full-codegen-x64.cc __ movl(array_length_operand, array_length); __ 3563 src/x64/full-codegen-x64.cc __ movq(elements, FieldOperand(array, JSArray::kElementsOffset)); __ 3569 src/x64/full-codegen-x64.cc __ Set(index, 0); __ 3570 src/x64/full-codegen-x64.cc __ Set(string_length, 0); __ 3575 src/x64/full-codegen-x64.cc __ cmpq(index, array_length); __ 3576 src/x64/full-codegen-x64.cc __ Assert(below, "No empty arrays here in EmitFastAsciiArrayJoin"); __ 3578 src/x64/full-codegen-x64.cc __ bind(&loop); __ 3579 src/x64/full-codegen-x64.cc __ movq(string, FieldOperand(elements, __ 3583 src/x64/full-codegen-x64.cc __ JumpIfSmi(string, &bailout); __ 3584 src/x64/full-codegen-x64.cc __ movq(scratch, FieldOperand(string, HeapObject::kMapOffset)); __ 3585 src/x64/full-codegen-x64.cc __ movzxbl(scratch, FieldOperand(scratch, Map::kInstanceTypeOffset)); __ 3586 src/x64/full-codegen-x64.cc __ andb(scratch, Immediate( __ 3588 src/x64/full-codegen-x64.cc __ cmpb(scratch, Immediate(kStringTag | kAsciiStringTag | kSeqStringTag)); __ 3589 src/x64/full-codegen-x64.cc __ j(not_equal, &bailout); __ 3590 src/x64/full-codegen-x64.cc __ AddSmiField(string_length, __ 3592 src/x64/full-codegen-x64.cc __ j(overflow, &bailout); __ 3593 src/x64/full-codegen-x64.cc __ incl(index); __ 3594 src/x64/full-codegen-x64.cc __ cmpl(index, array_length); __ 3595 src/x64/full-codegen-x64.cc __ j(less, &loop); __ 3604 src/x64/full-codegen-x64.cc __ cmpl(array_length, Immediate(1)); __ 3605 src/x64/full-codegen-x64.cc __ j(not_equal, ¬_size_one_array); __ 3606 src/x64/full-codegen-x64.cc __ movq(rax, FieldOperand(elements, FixedArray::kHeaderSize)); __ 3607 src/x64/full-codegen-x64.cc __ jmp(&return_result); __ 3609 src/x64/full-codegen-x64.cc __ bind(¬_size_one_array); __ 3621 src/x64/full-codegen-x64.cc __ movq(string, separator_operand); __ 3622 src/x64/full-codegen-x64.cc __ JumpIfSmi(string, &bailout); __ 3623 src/x64/full-codegen-x64.cc __ movq(scratch, FieldOperand(string, HeapObject::kMapOffset)); __ 3624 src/x64/full-codegen-x64.cc __ movzxbl(scratch, FieldOperand(scratch, Map::kInstanceTypeOffset)); __ 3625 src/x64/full-codegen-x64.cc __ andb(scratch, Immediate( __ 3627 src/x64/full-codegen-x64.cc __ cmpb(scratch, Immediate(kStringTag | kAsciiStringTag | kSeqStringTag)); __ 3628 src/x64/full-codegen-x64.cc __ j(not_equal, &bailout); __ 3637 src/x64/full-codegen-x64.cc __ SmiToInteger32(scratch, __ 3639 src/x64/full-codegen-x64.cc __ decl(index); __ 3640 src/x64/full-codegen-x64.cc __ imull(scratch, index); __ 3641 src/x64/full-codegen-x64.cc __ j(overflow, &bailout); __ 3642 src/x64/full-codegen-x64.cc __ addl(string_length, scratch); __ 3643 src/x64/full-codegen-x64.cc __ j(overflow, &bailout); __ 3648 src/x64/full-codegen-x64.cc __ AllocateAsciiString(result_pos, string_length, scratch, __ 3650 src/x64/full-codegen-x64.cc __ movq(result_operand, result_pos); __ 3651 src/x64/full-codegen-x64.cc __ lea(result_pos, FieldOperand(result_pos, SeqAsciiString::kHeaderSize)); __ 3653 src/x64/full-codegen-x64.cc __ movq(string, separator_operand); __ 3654 src/x64/full-codegen-x64.cc __ SmiCompare(FieldOperand(string, SeqAsciiString::kLengthOffset), __ 3656 src/x64/full-codegen-x64.cc __ j(equal, &one_char_separator); __ 3657 src/x64/full-codegen-x64.cc __ j(greater, &long_separator); __ 3661 src/x64/full-codegen-x64.cc __ Set(index, 0); __ 3662 src/x64/full-codegen-x64.cc __ movl(scratch, array_length_operand); __ 3663 src/x64/full-codegen-x64.cc __ jmp(&loop_1_condition); __ 3665 src/x64/full-codegen-x64.cc __ bind(&loop_1); __ 3674 src/x64/full-codegen-x64.cc __ movq(string, FieldOperand(elements, index, __ 3677 src/x64/full-codegen-x64.cc __ SmiToInteger32(string_length, __ 3679 src/x64/full-codegen-x64.cc __ lea(string, __ 3681 src/x64/full-codegen-x64.cc __ CopyBytes(result_pos, string, string_length); __ 3682 src/x64/full-codegen-x64.cc __ incl(index); __ 3683 src/x64/full-codegen-x64.cc __ bind(&loop_1_condition); __ 3684 src/x64/full-codegen-x64.cc __ cmpl(index, scratch); __ 3685 src/x64/full-codegen-x64.cc __ j(less, &loop_1); // Loop while (index < array_length). __ 3686 src/x64/full-codegen-x64.cc __ jmp(&done); __ 3689 src/x64/full-codegen-x64.cc __ bind(&bailout); __ 3690 src/x64/full-codegen-x64.cc __ LoadRoot(rax, Heap::kUndefinedValueRootIndex); __ 3691 src/x64/full-codegen-x64.cc __ jmp(&return_result); __ 3695 src/x64/full-codegen-x64.cc __ bind(&one_char_separator); __ 3698 src/x64/full-codegen-x64.cc __ movzxbl(scratch, FieldOperand(string, SeqAsciiString::kHeaderSize)); __ 3699 src/x64/full-codegen-x64.cc __ Set(index, 0); __ 3702 src/x64/full-codegen-x64.cc __ jmp(&loop_2_entry); __ 3704 src/x64/full-codegen-x64.cc __ bind(&loop_2); __ 3713 src/x64/full-codegen-x64.cc __ movb(Operand(result_pos, 0), scratch); __ 3714 src/x64/full-codegen-x64.cc __ incq(result_pos); __ 3716 src/x64/full-codegen-x64.cc __ bind(&loop_2_entry); __ 3718 src/x64/full-codegen-x64.cc __ movq(string, FieldOperand(elements, index, __ 3721 src/x64/full-codegen-x64.cc __ SmiToInteger32(string_length, __ 3723 src/x64/full-codegen-x64.cc __ lea(string, __ 3725 src/x64/full-codegen-x64.cc __ CopyBytes(result_pos, string, string_length); __ 3726 src/x64/full-codegen-x64.cc __ incl(index); __ 3727 src/x64/full-codegen-x64.cc __ cmpl(index, array_length_operand); __ 3728 src/x64/full-codegen-x64.cc __ j(less, &loop_2); // End while (index < length). __ 3729 src/x64/full-codegen-x64.cc __ jmp(&done); __ 3733 src/x64/full-codegen-x64.cc __ bind(&long_separator); __ 3738 src/x64/full-codegen-x64.cc __ movl(index, array_length_operand); __ 3739 src/x64/full-codegen-x64.cc __ lea(elements, FieldOperand(elements, index, times_pointer_size, __ 3741 src/x64/full-codegen-x64.cc __ neg(index); __ 3745 src/x64/full-codegen-x64.cc __ movq(string, separator_operand); __ 3746 src/x64/full-codegen-x64.cc __ SmiToInteger32(scratch, __ 3748 src/x64/full-codegen-x64.cc __ lea(string, __ 3750 src/x64/full-codegen-x64.cc __ movq(separator_operand, string); __ 3754 src/x64/full-codegen-x64.cc __ jmp(&loop_3_entry); __ 3756 src/x64/full-codegen-x64.cc __ bind(&loop_3); __ 3765 src/x64/full-codegen-x64.cc __ movq(string, separator_operand); __ 3766 src/x64/full-codegen-x64.cc __ movl(string_length, scratch); __ 3767 src/x64/full-codegen-x64.cc __ CopyBytes(result_pos, string, string_length, 2); __ 3769 src/x64/full-codegen-x64.cc __ bind(&loop_3_entry); __ 3771 src/x64/full-codegen-x64.cc __ movq(string, Operand(elements, index, times_pointer_size, 0)); __ 3772 src/x64/full-codegen-x64.cc __ SmiToInteger32(string_length, __ 3774 src/x64/full-codegen-x64.cc __ lea(string, __ 3776 src/x64/full-codegen-x64.cc __ CopyBytes(result_pos, string, string_length); __ 3777 src/x64/full-codegen-x64.cc __ incq(index); __ 3778 src/x64/full-codegen-x64.cc __ j(not_equal, &loop_3); // Loop while (index < 0). __ 3780 src/x64/full-codegen-x64.cc __ bind(&done); __ 3781 src/x64/full-codegen-x64.cc __ movq(rax, result_operand); __ 3783 src/x64/full-codegen-x64.cc __ bind(&return_result); __ 3785 src/x64/full-codegen-x64.cc __ addq(rsp, Immediate(3 * kPointerSize)); __ 3786 src/x64/full-codegen-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 3804 src/x64/full-codegen-x64.cc __ movq(rax, GlobalObjectOperand()); __ 3805 src/x64/full-codegen-x64.cc __ push(FieldOperand(rax, GlobalObject::kBuiltinsOffset)); __ 3816 src/x64/full-codegen-x64.cc __ Move(rcx, expr->name()); __ 3822 src/x64/full-codegen-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 3824 src/x64/full-codegen-x64.cc __ CallRuntime(expr->function(), arg_count); __ 3842 src/x64/full-codegen-x64.cc __ Push(Smi::FromInt(strict_mode_flag)); __ 3843 src/x64/full-codegen-x64.cc __ InvokeBuiltin(Builtins::DELETE, CALL_FUNCTION); __ 3851 src/x64/full-codegen-x64.cc __ push(GlobalObjectOperand()); __ 3852 src/x64/full-codegen-x64.cc __ Push(var->name()); __ 3853 src/x64/full-codegen-x64.cc __ Push(Smi::FromInt(kNonStrictMode)); __ 3854 src/x64/full-codegen-x64.cc __ InvokeBuiltin(Builtins::DELETE, CALL_FUNCTION); __ 3864 src/x64/full-codegen-x64.cc __ push(context_register()); __ 3865 src/x64/full-codegen-x64.cc __ Push(var->name()); __ 3866 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kDeleteContextSlot, 2); __ 3910 src/x64/full-codegen-x64.cc __ bind(&materialize_true); __ 3913 src/x64/full-codegen-x64.cc __ LoadRoot(rax, Heap::kTrueValueRootIndex); __ 3915 src/x64/full-codegen-x64.cc __ PushRoot(Heap::kTrueValueRootIndex); __ 3917 src/x64/full-codegen-x64.cc __ jmp(&done, Label::kNear); __ 3918 src/x64/full-codegen-x64.cc __ bind(&materialize_false); __ 3921 src/x64/full-codegen-x64.cc __ LoadRoot(rax, Heap::kFalseValueRootIndex); __ 3923 src/x64/full-codegen-x64.cc __ PushRoot(Heap::kFalseValueRootIndex); __ 3925 src/x64/full-codegen-x64.cc __ bind(&done); __ 3935 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kTypeof, 1); __ 3944 src/x64/full-codegen-x64.cc __ JumpIfSmi(result_register(), &no_conversion); __ 3946 src/x64/full-codegen-x64.cc __ CallStub(&convert_stub); __ 3947 src/x64/full-codegen-x64.cc __ bind(&no_conversion); __ 4014 src/x64/full-codegen-x64.cc __ Push(Smi::FromInt(0)); __ 4018 src/x64/full-codegen-x64.cc __ push(rax); // Copy of receiver, needed for later store. __ 4023 src/x64/full-codegen-x64.cc __ movq(rdx, Operand(rsp, 0)); // Leave receiver on stack __ 4024 src/x64/full-codegen-x64.cc __ push(rax); // Copy of key, needed for later store. __ 4039 src/x64/full-codegen-x64.cc __ JumpIfSmi(rax, &no_conversion, Label::kNear); __ 4041 src/x64/full-codegen-x64.cc __ CallStub(&convert_stub); __ 4042 src/x64/full-codegen-x64.cc __ bind(&no_conversion); __ 4052 src/x64/full-codegen-x64.cc __ push(rax); __ 4055 src/x64/full-codegen-x64.cc __ movq(Operand(rsp, kPointerSize), rax); __ 4058 src/x64/full-codegen-x64.cc __ movq(Operand(rsp, 2 * kPointerSize), rax); __ 4070 src/x64/full-codegen-x64.cc __ SmiAddConstant(rax, rax, Smi::FromInt(1)); __ 4072 src/x64/full-codegen-x64.cc __ SmiSubConstant(rax, rax, Smi::FromInt(1)); __ 4074 src/x64/full-codegen-x64.cc __ j(overflow, &stub_call, Label::kNear); __ 4079 src/x64/full-codegen-x64.cc __ bind(&stub_call); __ 4082 src/x64/full-codegen-x64.cc __ SmiSubConstant(rax, rax, Smi::FromInt(1)); __ 4084 src/x64/full-codegen-x64.cc __ SmiAddConstant(rax, rax, Smi::FromInt(1)); __ 4094 src/x64/full-codegen-x64.cc __ Move(rdx, Smi::FromInt(1)); __ 4096 src/x64/full-codegen-x64.cc __ movq(rdx, rax); __ 4097 src/x64/full-codegen-x64.cc __ Move(rax, Smi::FromInt(1)); __ 4101 src/x64/full-codegen-x64.cc __ bind(&done); __ 4128 src/x64/full-codegen-x64.cc __ Move(rcx, prop->key()->AsLiteral()->handle()); __ 4129 src/x64/full-codegen-x64.cc __ pop(rdx); __ 4145 src/x64/full-codegen-x64.cc __ pop(rcx); __ 4146 src/x64/full-codegen-x64.cc __ pop(rdx); __ 4172 src/x64/full-codegen-x64.cc __ Move(rcx, proxy->name()); __ 4173 src/x64/full-codegen-x64.cc __ movq(rax, GlobalObjectOperand()); __ 4187 src/x64/full-codegen-x64.cc __ bind(&slow); __ 4188 src/x64/full-codegen-x64.cc __ push(rsi); __ 4189 src/x64/full-codegen-x64.cc __ Push(proxy->name()); __ 4190 src/x64/full-codegen-x64.cc __ CallRuntime(Runtime::kLoadContextSlotNoReferenceError, 2); __ 4192 src/x64/full-codegen-x64.cc __ bind(&done); __ 4218 src/x64/full-codegen-x64.cc __ JumpIfSmi(rax, if_true); __ 4219 src/x64/full-codegen-x64.cc __ movq(rax, FieldOperand(rax, HeapObject::kMapOffset)); __ 4220 src/x64/full-codegen-x64.cc __ CompareRoot(rax, Heap::kHeapNumberMapRootIndex); __ 4223 src/x64/full-codegen-x64.cc __ JumpIfSmi(rax, if_false); __ 4225 src/x64/full-codegen-x64.cc __ CmpObjectType(rax, FIRST_NONSTRING_TYPE, rdx); __ 4226 src/x64/full-codegen-x64.cc __ j(above_equal, if_false); __ 4227 src/x64/full-codegen-x64.cc __ testb(FieldOperand(rdx, Map::kBitFieldOffset), __ 4231 src/x64/full-codegen-x64.cc __ CompareRoot(rax, Heap::kTrueValueRootIndex); __ 4232 src/x64/full-codegen-x64.cc __ j(equal, if_true); __ 4233 src/x64/full-codegen-x64.cc __ CompareRoot(rax, Heap::kFalseValueRootIndex); __ 4237 src/x64/full-codegen-x64.cc __ CompareRoot(rax, Heap::kNullValueRootIndex); __ 4240 src/x64/full-codegen-x64.cc __ CompareRoot(rax, Heap::kUndefinedValueRootIndex); __ 4241 src/x64/full-codegen-x64.cc __ j(equal, if_true); __ 4242 src/x64/full-codegen-x64.cc __ JumpIfSmi(rax, if_false); __ 4244 src/x64/full-codegen-x64.cc __ movq(rdx, FieldOperand(rax, HeapObject::kMapOffset)); __ 4245 src/x64/full-codegen-x64.cc __ testb(FieldOperand(rdx, Map::kBitFieldOffset), __ 4249 src/x64/full-codegen-x64.cc __ JumpIfSmi(rax, if_false); __ 4251 src/x64/full-codegen-x64.cc __ CmpObjectType(rax, JS_FUNCTION_TYPE, rdx); __ 4252 src/x64/full-codegen-x64.cc __ j(equal, if_true); __ 4253 src/x64/full-codegen-x64.cc __ CmpInstanceType(rdx, JS_FUNCTION_PROXY_TYPE); __ 4256 src/x64/full-codegen-x64.cc __ JumpIfSmi(rax, if_false); __ 4258 src/x64/full-codegen-x64.cc __ CompareRoot(rax, Heap::kNullValueRootIndex); __ 4259 src/x64/full-codegen-x64.cc __ j(equal, if_true); __ 4261 src/x64/full-codegen-x64.cc __ CmpObjectType(rax, FIRST_NONCALLABLE_SPEC_OBJECT_TYPE, rdx); __ 4262 src/x64/full-codegen-x64.cc __ j(below, if_false); __ 4263 src/x64/full-codegen-x64.cc __ CmpInstanceType(rdx, LAST_NONCALLABLE_SPEC_OBJECT_TYPE); __ 4264 src/x64/full-codegen-x64.cc __ j(above, if_false); __ 4266 src/x64/full-codegen-x64.cc __ testb(FieldOperand(rdx, Map::kBitFieldOffset), __ 4270 src/x64/full-codegen-x64.cc if (if_false != fall_through) __ jmp(if_false); __ 4298 src/x64/full-codegen-x64.cc __ InvokeBuiltin(Builtins::IN, CALL_FUNCTION); __ 4300 src/x64/full-codegen-x64.cc __ CompareRoot(rax, Heap::kTrueValueRootIndex); __ 4307 src/x64/full-codegen-x64.cc __ CallStub(&stub); __ 4309 src/x64/full-codegen-x64.cc __ testq(rax, rax); __ 4340 src/x64/full-codegen-x64.cc __ pop(rdx); __ 4346 src/x64/full-codegen-x64.cc __ movq(rcx, rdx); __ 4347 src/x64/full-codegen-x64.cc __ or_(rcx, rax); __ 4349 src/x64/full-codegen-x64.cc __ cmpq(rdx, rax); __ 4351 src/x64/full-codegen-x64.cc __ bind(&slow_case); __ 4361 src/x64/full-codegen-x64.cc __ testq(rax, rax); __ 4387 src/x64/full-codegen-x64.cc __ CompareRoot(rax, nil_value); __ 4394 src/x64/full-codegen-x64.cc __ j(equal, if_true); __ 4395 src/x64/full-codegen-x64.cc __ CompareRoot(rax, other_nil_value); __ 4396 src/x64/full-codegen-x64.cc __ j(equal, if_true); __ 4397 src/x64/full-codegen-x64.cc __ JumpIfSmi(rax, if_false); __ 4399 src/x64/full-codegen-x64.cc __ movq(rdx, FieldOperand(rax, HeapObject::kMapOffset)); __ 4400 src/x64/full-codegen-x64.cc __ testb(FieldOperand(rdx, Map::kBitFieldOffset), __ 4409 src/x64/full-codegen-x64.cc __ movq(rax, Operand(rbp, JavaScriptFrameConstants::kFunctionOffset)); __ 4426 src/x64/full-codegen-x64.cc __ movq(Operand(rbp, frame_offset), value); __ 4431 src/x64/full-codegen-x64.cc __ movq(dst, ContextOperand(rsi, context_index)); __ 4443 src/x64/full-codegen-x64.cc __ Push(Smi::FromInt(0)); __ 4448 src/x64/full-codegen-x64.cc __ push(ContextOperand(rsi, Context::CLOSURE_INDEX)); __ 4451 src/x64/full-codegen-x64.cc __ push(Operand(rbp, JavaScriptFrameConstants::kFunctionOffset)); __ 4464 src/x64/full-codegen-x64.cc __ pop(rdx); __ 4465 src/x64/full-codegen-x64.cc __ Move(rcx, masm_->CodeObject()); __ 4466 src/x64/full-codegen-x64.cc __ subq(rdx, rcx); __ 4467 src/x64/full-codegen-x64.cc __ Integer32ToSmi(rdx, rdx); __ 4468 src/x64/full-codegen-x64.cc __ push(rdx); __ 4471 src/x64/full-codegen-x64.cc __ push(result_register()); __ 4476 src/x64/full-codegen-x64.cc __ Load(rdx, pending_message_obj); __ 4477 src/x64/full-codegen-x64.cc __ push(rdx); __ 4481 src/x64/full-codegen-x64.cc __ Load(rdx, has_pending_message); __ 4482 src/x64/full-codegen-x64.cc __ Integer32ToSmi(rdx, rdx); __ 4483 src/x64/full-codegen-x64.cc __ push(rdx); __ 4487 src/x64/full-codegen-x64.cc __ Load(rdx, pending_message_script); __ 4488 src/x64/full-codegen-x64.cc __ push(rdx); __ 4496 src/x64/full-codegen-x64.cc __ pop(rdx); __ 4499 src/x64/full-codegen-x64.cc __ Store(pending_message_script, rdx); __ 4501 src/x64/full-codegen-x64.cc __ pop(rdx); __ 4502 src/x64/full-codegen-x64.cc __ SmiToInteger32(rdx, rdx); __ 4505 src/x64/full-codegen-x64.cc __ Store(has_pending_message, rdx); __ 4507 src/x64/full-codegen-x64.cc __ pop(rdx); __ 4510 src/x64/full-codegen-x64.cc __ Store(pending_message_obj, rdx); __ 4513 src/x64/full-codegen-x64.cc __ pop(result_register()); __ 4516 src/x64/full-codegen-x64.cc __ pop(rdx); __ 4517 src/x64/full-codegen-x64.cc __ SmiToInteger32(rdx, rdx); __ 4518 src/x64/full-codegen-x64.cc __ Move(rcx, masm_->CodeObject()); __ 4519 src/x64/full-codegen-x64.cc __ addq(rdx, rcx); __ 4520 src/x64/full-codegen-x64.cc __ jmp(rdx); __ 4537 src/x64/full-codegen-x64.cc __ Drop(*stack_depth); // Down to the handler block. __ 4540 src/x64/full-codegen-x64.cc __ movq(rsi, Operand(rsp, StackHandlerConstants::kContextOffset)); __ 4541 src/x64/full-codegen-x64.cc __ movq(Operand(rbp, StandardFrameConstants::kContextOffset), rsi); __ 4543 src/x64/full-codegen-x64.cc __ PopTryHandler(); __ 4544 src/x64/full-codegen-x64.cc __ call(finally_entry_); __ 52 src/x64/ic-x64.cc __ cmpb(type, Immediate(JS_GLOBAL_OBJECT_TYPE)); __ 53 src/x64/ic-x64.cc __ j(equal, global_object); __ 54 src/x64/ic-x64.cc __ cmpb(type, Immediate(JS_BUILTINS_OBJECT_TYPE)); __ 55 src/x64/ic-x64.cc __ j(equal, global_object); __ 56 src/x64/ic-x64.cc __ cmpb(type, Immediate(JS_GLOBAL_PROXY_TYPE)); __ 57 src/x64/ic-x64.cc __ j(equal, global_object); __ 74 src/x64/ic-x64.cc __ JumpIfSmi(receiver, miss); __ 77 src/x64/ic-x64.cc __ movq(r1, FieldOperand(receiver, HeapObject::kMapOffset)); __ 78 src/x64/ic-x64.cc __ movb(r0, FieldOperand(r1, Map::kInstanceTypeOffset)); __ 79 src/x64/ic-x64.cc __ cmpb(r0, Immediate(FIRST_SPEC_OBJECT_TYPE)); __ 80 src/x64/ic-x64.cc __ j(below, miss); __ 88 src/x64/ic-x64.cc __ testb(FieldOperand(r1, Map::kBitFieldOffset), __ 91 src/x64/ic-x64.cc __ j(not_zero, miss); __ 93 src/x64/ic-x64.cc __ movq(r0, FieldOperand(receiver, JSObject::kPropertiesOffset)); __ 94 src/x64/ic-x64.cc __ CompareRoot(FieldOperand(r0, HeapObject::kMapOffset), __ 96 src/x64/ic-x64.cc __ j(not_equal, miss); __ 141 src/x64/ic-x64.cc __ bind(&done); __ 146 src/x64/ic-x64.cc __ Test(Operand(elements, r1, times_pointer_size, __ 149 src/x64/ic-x64.cc __ j(not_zero, miss_label); __ 153 src/x64/ic-x64.cc __ movq(result, __ 199 src/x64/ic-x64.cc __ bind(&done); __ 207 src/x64/ic-x64.cc __ Test(Operand(elements, __ 212 src/x64/ic-x64.cc __ j(not_zero, miss_label); __ 216 src/x64/ic-x64.cc __ lea(scratch1, Operand(elements, __ 220 src/x64/ic-x64.cc __ movq(Operand(scratch1, 0), value); __ 223 src/x64/ic-x64.cc __ movq(scratch0, value); __ 224 src/x64/ic-x64.cc __ RecordWrite(elements, scratch1, scratch0, kDontSaveFPRegs); __ 237 src/x64/ic-x64.cc __ bind(&miss); __ 252 src/x64/ic-x64.cc __ bind(&miss); __ 266 src/x64/ic-x64.cc __ bind(&miss); __ 284 src/x64/ic-x64.cc __ JumpIfSmi(receiver, slow); __ 291 src/x64/ic-x64.cc __ CmpObjectType(receiver, JS_OBJECT_TYPE, map); __ 292 src/x64/ic-x64.cc __ j(below, slow); __ 295 src/x64/ic-x64.cc __ testb(FieldOperand(map, Map::kBitFieldOffset), __ 298 src/x64/ic-x64.cc __ j(not_zero, slow); __ 331 src/x64/ic-x64.cc __ movq(elements, FieldOperand(receiver, JSObject::kElementsOffset)); __ 334 src/x64/ic-x64.cc __ CompareRoot(FieldOperand(elements, HeapObject::kMapOffset), __ 336 src/x64/ic-x64.cc __ j(not_equal, not_fast_array); __ 338 src/x64/ic-x64.cc __ AssertFastElements(elements); __ 341 src/x64/ic-x64.cc __ SmiCompare(key, FieldOperand(elements, FixedArray::kLengthOffset)); __ 343 src/x64/ic-x64.cc __ j(above_equal, out_of_range); __ 346 src/x64/ic-x64.cc __ movq(scratch, FieldOperand(elements, __ 350 src/x64/ic-x64.cc __ CompareRoot(scratch, Heap::kTheHoleValueRootIndex); __ 353 src/x64/ic-x64.cc __ j(equal, out_of_range); __ 355 src/x64/ic-x64.cc __ movq(result, scratch); __ 373 src/x64/ic-x64.cc __ CmpObjectType(key, FIRST_NONSTRING_TYPE, map); __ 374 src/x64/ic-x64.cc __ j(above_equal, not_symbol); __ 376 src/x64/ic-x64.cc __ movl(hash, FieldOperand(key, String::kHashFieldOffset)); __ 377 src/x64/ic-x64.cc __ testl(hash, Immediate(String::kContainsCachedArrayIndexMask)); __ 378 src/x64/ic-x64.cc __ j(zero, index_string); // The value in hash is used at jump target. __ 382 src/x64/ic-x64.cc __ testb(FieldOperand(map, Map::kInstanceTypeOffset), __ 384 src/x64/ic-x64.cc __ j(zero, not_symbol); __ 399 src/x64/ic-x64.cc __ JumpIfNotSmi(rax, &check_string); __ 400 src/x64/ic-x64.cc __ bind(&index_smi); __ 408 src/x64/ic-x64.cc __ CheckFastElements(rcx, &check_number_dictionary); __ 419 src/x64/ic-x64.cc __ IncrementCounter(counters->keyed_load_generic_smi(), 1); __ 420 src/x64/ic-x64.cc __ ret(0); __ 422 src/x64/ic-x64.cc __ bind(&check_number_dictionary); __ 423 src/x64/ic-x64.cc __ SmiToInteger32(rbx, rax); __ 424 src/x64/ic-x64.cc __ movq(rcx, FieldOperand(rdx, JSObject::kElementsOffset)); __ 431 src/x64/ic-x64.cc __ CompareRoot(FieldOperand(rcx, HeapObject::kMapOffset), __ 433 src/x64/ic-x64.cc __ j(not_equal, &slow); __ 434 src/x64/ic-x64.cc __ LoadFromNumberDictionary(&slow, rcx, rax, rbx, r9, rdi, rax); __ 435 src/x64/ic-x64.cc __ ret(0); __ 437 src/x64/ic-x64.cc __ bind(&slow); __ 441 src/x64/ic-x64.cc __ IncrementCounter(counters->keyed_load_generic_slow(), 1); __ 444 src/x64/ic-x64.cc __ bind(&check_string); __ 452 src/x64/ic-x64.cc __ movq(rbx, FieldOperand(rdx, JSObject::kPropertiesOffset)); __ 453 src/x64/ic-x64.cc __ CompareRoot(FieldOperand(rbx, HeapObject::kMapOffset), __ 455 src/x64/ic-x64.cc __ j(equal, &probe_dictionary); __ 459 src/x64/ic-x64.cc __ movq(rbx, FieldOperand(rdx, HeapObject::kMapOffset)); __ 460 src/x64/ic-x64.cc __ movl(rcx, rbx); __ 461 src/x64/ic-x64.cc __ shr(rcx, Immediate(KeyedLookupCache::kMapHashShift)); __ 462 src/x64/ic-x64.cc __ movl(rdi, FieldOperand(rax, String::kHashFieldOffset)); __ 463 src/x64/ic-x64.cc __ shr(rdi, Immediate(String::kHashShift)); __ 464 src/x64/ic-x64.cc __ xor_(rcx, rdi); __ 466 src/x64/ic-x64.cc __ and_(rcx, Immediate(mask)); __ 478 src/x64/ic-x64.cc __ movq(rdi, rcx); __ 479 src/x64/ic-x64.cc __ shl(rdi, Immediate(kPointerSizeLog2 + 1)); __ 480 src/x64/ic-x64.cc __ LoadAddress(kScratchRegister, cache_keys); __ 482 src/x64/ic-x64.cc __ cmpq(rbx, Operand(kScratchRegister, rdi, times_1, off)); __ 483 src/x64/ic-x64.cc __ j(not_equal, &try_next_entry); __ 484 src/x64/ic-x64.cc __ cmpq(rax, Operand(kScratchRegister, rdi, times_1, off + kPointerSize)); __ 485 src/x64/ic-x64.cc __ j(equal, &hit_on_nth_entry[i]); __ 486 src/x64/ic-x64.cc __ bind(&try_next_entry); __ 490 src/x64/ic-x64.cc __ cmpq(rbx, Operand(kScratchRegister, rdi, times_1, off)); __ 491 src/x64/ic-x64.cc __ j(not_equal, &slow); __ 492 src/x64/ic-x64.cc __ cmpq(rax, Operand(kScratchRegister, rdi, times_1, off + kPointerSize)); __ 493 src/x64/ic-x64.cc __ j(not_equal, &slow); __ 501 src/x64/ic-x64.cc __ bind(&hit_on_nth_entry[i]); __ 503 src/x64/ic-x64.cc __ addl(rcx, Immediate(i)); __ 505 src/x64/ic-x64.cc __ LoadAddress(kScratchRegister, cache_field_offsets); __ 506 src/x64/ic-x64.cc __ movl(rdi, Operand(kScratchRegister, rcx, times_4, 0)); __ 507 src/x64/ic-x64.cc __ movzxbq(rcx, FieldOperand(rbx, Map::kInObjectPropertiesOffset)); __ 508 src/x64/ic-x64.cc __ subq(rdi, rcx); __ 509 src/x64/ic-x64.cc __ j(above_equal, &property_array_property); __ 511 src/x64/ic-x64.cc __ jmp(&load_in_object_property); __ 516 src/x64/ic-x64.cc __ bind(&load_in_object_property); __ 517 src/x64/ic-x64.cc __ movzxbq(rcx, FieldOperand(rbx, Map::kInstanceSizeOffset)); __ 518 src/x64/ic-x64.cc __ addq(rcx, rdi); __ 519 src/x64/ic-x64.cc __ movq(rax, FieldOperand(rdx, rcx, times_pointer_size, 0)); __ 520 src/x64/ic-x64.cc __ IncrementCounter(counters->keyed_load_generic_lookup_cache(), 1); __ 521 src/x64/ic-x64.cc __ ret(0); __ 524 src/x64/ic-x64.cc __ bind(&property_array_property); __ 525 src/x64/ic-x64.cc __ movq(rax, FieldOperand(rdx, JSObject::kPropertiesOffset)); __ 526 src/x64/ic-x64.cc __ movq(rax, FieldOperand(rax, rdi, times_pointer_size, __ 528 src/x64/ic-x64.cc __ IncrementCounter(counters->keyed_load_generic_lookup_cache(), 1); __ 529 src/x64/ic-x64.cc __ ret(0); __ 533 src/x64/ic-x64.cc __ bind(&probe_dictionary); __ 538 src/x64/ic-x64.cc __ movq(rcx, FieldOperand(rdx, JSObject::kMapOffset)); __ 539 src/x64/ic-x64.cc __ movb(rcx, FieldOperand(rcx, Map::kInstanceTypeOffset)); __ 543 src/x64/ic-x64.cc __ IncrementCounter(counters->keyed_load_generic_symbol(), 1); __ 544 src/x64/ic-x64.cc __ ret(0); __ 546 src/x64/ic-x64.cc __ bind(&index_string); __ 547 src/x64/ic-x64.cc __ IndexFromHash(rbx, rax); __ 548 src/x64/ic-x64.cc __ jmp(&index_smi); __ 574 src/x64/ic-x64.cc __ ret(0); __ 579 src/x64/ic-x64.cc __ bind(&miss); __ 593 src/x64/ic-x64.cc __ JumpIfSmi(rdx, &slow); __ 597 src/x64/ic-x64.cc __ JumpUnlessNonNegativeSmi(rax, &slow); __ 600 src/x64/ic-x64.cc __ movq(rcx, FieldOperand(rdx, HeapObject::kMapOffset)); __ 604 src/x64/ic-x64.cc __ movb(rcx, FieldOperand(rcx, Map::kBitFieldOffset)); __ 605 src/x64/ic-x64.cc __ andb(rcx, Immediate(kSlowCaseBitFieldMask)); __ 606 src/x64/ic-x64.cc __ cmpb(rcx, Immediate(1 << Map::kHasIndexedInterceptor)); __ 607 src/x64/ic-x64.cc __ j(not_zero, &slow); __ 610 src/x64/ic-x64.cc __ pop(rcx); __ 611 src/x64/ic-x64.cc __ push(rdx); // receiver __ 612 src/x64/ic-x64.cc __ push(rax); // key __ 613 src/x64/ic-x64.cc __ push(rcx); // return address __ 616 src/x64/ic-x64.cc __ TailCallExternalReference( __ 622 src/x64/ic-x64.cc __ bind(&slow); __ 642 src/x64/ic-x64.cc __ JumpIfSmi(rdx, &slow_with_tagged_index); __ 644 src/x64/ic-x64.cc __ movq(r9, FieldOperand(rdx, HeapObject::kMapOffset)); __ 647 src/x64/ic-x64.cc __ testb(FieldOperand(r9, Map::kBitFieldOffset), __ 649 src/x64/ic-x64.cc __ j(not_zero, &slow_with_tagged_index); __ 651 src/x64/ic-x64.cc __ JumpIfNotSmi(rcx, &slow_with_tagged_index); __ 652 src/x64/ic-x64.cc __ SmiToInteger32(rcx, rcx); __ 654 src/x64/ic-x64.cc __ CmpInstanceType(r9, JS_ARRAY_TYPE); __ 655 src/x64/ic-x64.cc __ j(equal, &array); __ 657 src/x64/ic-x64.cc __ CmpInstanceType(r9, FIRST_JS_OBJECT_TYPE); __ 658 src/x64/ic-x64.cc __ j(below, &slow); __ 664 src/x64/ic-x64.cc __ movq(rbx, FieldOperand(rdx, JSObject::kElementsOffset)); __ 666 src/x64/ic-x64.cc __ SmiCompareInteger32(FieldOperand(rbx, FixedArray::kLengthOffset), rcx); __ 670 src/x64/ic-x64.cc __ j(above, &fast_object_with_map_check); __ 673 src/x64/ic-x64.cc __ bind(&slow); __ 674 src/x64/ic-x64.cc __ Integer32ToSmi(rcx, rcx); __ 675 src/x64/ic-x64.cc __ bind(&slow_with_tagged_index); __ 682 src/x64/ic-x64.cc __ bind(&extra); __ 688 src/x64/ic-x64.cc __ j(not_equal, &slow); // do not leave holes in the array __ 689 src/x64/ic-x64.cc __ SmiCompareInteger32(FieldOperand(rbx, FixedArray::kLengthOffset), rcx); __ 690 src/x64/ic-x64.cc __ j(below_equal, &slow); __ 692 src/x64/ic-x64.cc __ movq(rdi, FieldOperand(rbx, HeapObject::kMapOffset)); __ 693 src/x64/ic-x64.cc __ CompareRoot(rdi, Heap::kFixedArrayMapRootIndex); __ 694 src/x64/ic-x64.cc __ j(not_equal, &check_extra_double); __ 695 src/x64/ic-x64.cc __ leal(rdi, Operand(rcx, 1)); __ 696 src/x64/ic-x64.cc __ Integer32ToSmiField(FieldOperand(rdx, JSArray::kLengthOffset), rdi); __ 697 src/x64/ic-x64.cc __ jmp(&fast_object_without_map_check); __ 699 src/x64/ic-x64.cc __ bind(&check_extra_double); __ 701 src/x64/ic-x64.cc __ CompareRoot(rdi, Heap::kFixedDoubleArrayMapRootIndex); __ 702 src/x64/ic-x64.cc __ j(not_equal, &slow); __ 703 src/x64/ic-x64.cc __ leal(rdi, Operand(rcx, 1)); __ 704 src/x64/ic-x64.cc __ Integer32ToSmiField(FieldOperand(rdx, JSArray::kLengthOffset), rdi); __ 705 src/x64/ic-x64.cc __ jmp(&fast_double_without_map_check); __ 710 src/x64/ic-x64.cc __ bind(&array); __ 714 src/x64/ic-x64.cc __ movq(rbx, FieldOperand(rdx, JSObject::kElementsOffset)); __ 718 src/x64/ic-x64.cc __ SmiCompareInteger32(FieldOperand(rdx, JSArray::kLengthOffset), rcx); __ 719 src/x64/ic-x64.cc __ j(below_equal, &extra); __ 722 src/x64/ic-x64.cc __ bind(&fast_object_with_map_check); __ 727 src/x64/ic-x64.cc __ movq(rdi, FieldOperand(rbx, HeapObject::kMapOffset)); __ 728 src/x64/ic-x64.cc __ CompareRoot(rdi, Heap::kFixedArrayMapRootIndex); __ 729 src/x64/ic-x64.cc __ j(not_equal, &fast_double_with_map_check); __ 730 src/x64/ic-x64.cc __ bind(&fast_object_without_map_check); __ 733 src/x64/ic-x64.cc __ JumpIfNotSmi(rax, &non_smi_value); __ 735 src/x64/ic-x64.cc __ movq(FieldOperand(rbx, rcx, times_pointer_size, FixedArray::kHeaderSize), __ 737 src/x64/ic-x64.cc __ ret(0); __ 739 src/x64/ic-x64.cc __ bind(&non_smi_value); __ 742 src/x64/ic-x64.cc __ CheckFastObjectElements(r9, &transition_smi_elements); __ 743 src/x64/ic-x64.cc __ bind(&finish_object_store); __ 744 src/x64/ic-x64.cc __ movq(FieldOperand(rbx, rcx, times_pointer_size, FixedArray::kHeaderSize), __ 746 src/x64/ic-x64.cc __ movq(rdx, rax); // Preserve the value which is returned. __ 747 src/x64/ic-x64.cc __ RecordWriteArray( __ 749 src/x64/ic-x64.cc __ ret(0); __ 751 src/x64/ic-x64.cc __ bind(&fast_double_with_map_check); __ 755 src/x64/ic-x64.cc __ CompareRoot(rdi, Heap::kFixedDoubleArrayMapRootIndex); __ 756 src/x64/ic-x64.cc __ j(not_equal, &slow); __ 757 src/x64/ic-x64.cc __ bind(&fast_double_without_map_check); __ 760 src/x64/ic-x64.cc __ StoreNumberToDoubleElements(rax, rbx, rcx, xmm0, __ 762 src/x64/ic-x64.cc __ ret(0); __ 764 src/x64/ic-x64.cc __ bind(&transition_smi_elements); __ 765 src/x64/ic-x64.cc __ movq(rbx, FieldOperand(rdx, HeapObject::kMapOffset)); __ 768 src/x64/ic-x64.cc __ movq(r9, FieldOperand(rax, HeapObject::kMapOffset)); __ 769 src/x64/ic-x64.cc __ CompareRoot(r9, Heap::kHeapNumberMapRootIndex); __ 770 src/x64/ic-x64.cc __ j(not_equal, &non_double_value); __ 774 src/x64/ic-x64.cc __ LoadTransitionedArrayMapConditional(FAST_SMI_ELEMENTS, __ 780 src/x64/ic-x64.cc __ movq(rbx, FieldOperand(rdx, JSObject::kElementsOffset)); __ 781 src/x64/ic-x64.cc __ jmp(&fast_double_without_map_check); __ 783 src/x64/ic-x64.cc __ bind(&non_double_value); __ 785 src/x64/ic-x64.cc __ LoadTransitionedArrayMapConditional(FAST_SMI_ELEMENTS, __ 791 src/x64/ic-x64.cc __ movq(rbx, FieldOperand(rdx, JSObject::kElementsOffset)); __ 792 src/x64/ic-x64.cc __ jmp(&finish_object_store); __ 794 src/x64/ic-x64.cc __ bind(&transition_double_elements); __ 798 src/x64/ic-x64.cc __ movq(rbx, FieldOperand(rdx, HeapObject::kMapOffset)); __ 799 src/x64/ic-x64.cc __ LoadTransitionedArrayMapConditional(FAST_DOUBLE_ELEMENTS, __ 805 src/x64/ic-x64.cc __ movq(rbx, FieldOperand(rdx, JSObject::kElementsOffset)); __ 806 src/x64/ic-x64.cc __ jmp(&finish_object_store); __ 837 src/x64/ic-x64.cc __ JumpIfSmi(rdx, &number); __ 838 src/x64/ic-x64.cc __ CmpObjectType(rdx, HEAP_NUMBER_TYPE, rbx); __ 839 src/x64/ic-x64.cc __ j(not_equal, &non_number); __ 840 src/x64/ic-x64.cc __ bind(&number); __ 843 src/x64/ic-x64.cc __ jmp(&probe); __ 846 src/x64/ic-x64.cc __ bind(&non_number); __ 847 src/x64/ic-x64.cc __ CmpInstanceType(rbx, FIRST_NONSTRING_TYPE); __ 848 src/x64/ic-x64.cc __ j(above_equal, &non_string); __ 851 src/x64/ic-x64.cc __ jmp(&probe); __ 854 src/x64/ic-x64.cc __ bind(&non_string); __ 855 src/x64/ic-x64.cc __ CompareRoot(rdx, Heap::kTrueValueRootIndex); __ 856 src/x64/ic-x64.cc __ j(equal, &boolean); __ 857 src/x64/ic-x64.cc __ CompareRoot(rdx, Heap::kFalseValueRootIndex); __ 858 src/x64/ic-x64.cc __ j(not_equal, &miss); __ 859 src/x64/ic-x64.cc __ bind(&boolean); __ 864 src/x64/ic-x64.cc __ bind(&probe); __ 868 src/x64/ic-x64.cc __ bind(&miss); __ 885 src/x64/ic-x64.cc __ JumpIfSmi(rdi, miss); __ 887 src/x64/ic-x64.cc __ CmpObjectType(rdi, JS_FUNCTION_TYPE, rdx); __ 888 src/x64/ic-x64.cc __ j(not_equal, miss); __ 892 src/x64/ic-x64.cc __ InvokeFunction(rdi, actual, JUMP_FUNCTION, __ 911 src/x64/ic-x64.cc __ movq(rdx, Operand(rsp, (argc + 1) * kPointerSize)); __ 921 src/x64/ic-x64.cc __ bind(&miss); __ 941 src/x64/ic-x64.cc __ IncrementCounter(counters->call_miss(), 1); __ 943 src/x64/ic-x64.cc __ IncrementCounter(counters->keyed_call_miss(), 1); __ 947 src/x64/ic-x64.cc __ movq(rdx, Operand(rsp, (argc + 1) * kPointerSize)); __ 954 src/x64/ic-x64.cc __ push(rdx); __ 955 src/x64/ic-x64.cc __ push(rcx); __ 959 src/x64/ic-x64.cc __ Set(rax, 2); __ 960 src/x64/ic-x64.cc __ LoadAddress(rbx, ExternalReference(IC_Utility(id), masm->isolate())); __ 961 src/x64/ic-x64.cc __ CallStub(&stub); __ 964 src/x64/ic-x64.cc __ movq(rdi, rax); __ 971 src/x64/ic-x64.cc __ movq(rdx, Operand(rsp, (argc + 1) * kPointerSize)); // receiver __ 972 src/x64/ic-x64.cc __ JumpIfSmi(rdx, &invoke); __ 973 src/x64/ic-x64.cc __ CmpObjectType(rdx, JS_GLOBAL_OBJECT_TYPE, rcx); __ 974 src/x64/ic-x64.cc __ j(equal, &global); __ 975 src/x64/ic-x64.cc __ CmpInstanceType(rcx, JS_BUILTINS_OBJECT_TYPE); __ 976 src/x64/ic-x64.cc __ j(not_equal, &invoke); __ 979 src/x64/ic-x64.cc __ bind(&global); __ 980 src/x64/ic-x64.cc __ movq(rdx, FieldOperand(rdx, GlobalObject::kGlobalReceiverOffset)); __ 981 src/x64/ic-x64.cc __ movq(Operand(rsp, (argc + 1) * kPointerSize), rdx); __ 982 src/x64/ic-x64.cc __ bind(&invoke); __ 990 src/x64/ic-x64.cc __ InvokeFunction(rdi, __ 1012 src/x64/ic-x64.cc __ movq(rdx, Operand(rsp, (argc + 1) * kPointerSize)); __ 1030 src/x64/ic-x64.cc __ movq(rdx, Operand(rsp, (argc + 1) * kPointerSize)); __ 1037 src/x64/ic-x64.cc __ JumpIfNotSmi(rcx, &check_string); __ 1039 src/x64/ic-x64.cc __ bind(&index_smi); __ 1049 src/x64/ic-x64.cc __ IncrementCounter(counters->keyed_call_generic_smi_fast(), 1); __ 1051 src/x64/ic-x64.cc __ bind(&do_call); __ 1057 src/x64/ic-x64.cc __ bind(&check_number_dictionary); __ 1061 src/x64/ic-x64.cc __ CompareRoot(FieldOperand(rax, HeapObject::kMapOffset), __ 1063 src/x64/ic-x64.cc __ j(not_equal, &slow_load); __ 1064 src/x64/ic-x64.cc __ SmiToInteger32(rbx, rcx); __ 1066 src/x64/ic-x64.cc __ LoadFromNumberDictionary(&slow_load, rax, rcx, rbx, r9, rdi, rdi); __ 1067 src/x64/ic-x64.cc __ IncrementCounter(counters->keyed_call_generic_smi_dict(), 1); __ 1068 src/x64/ic-x64.cc __ jmp(&do_call); __ 1070 src/x64/ic-x64.cc __ bind(&slow_load); __ 1073 src/x64/ic-x64.cc __ IncrementCounter(counters->keyed_call_generic_slow_load(), 1); __ 1076 src/x64/ic-x64.cc __ push(rcx); // save the key __ 1077 src/x64/ic-x64.cc __ push(rdx); // pass the receiver __ 1078 src/x64/ic-x64.cc __ push(rcx); // pass the key __ 1079 src/x64/ic-x64.cc __ CallRuntime(Runtime::kKeyedGetProperty, 2); __ 1080 src/x64/ic-x64.cc __ pop(rcx); // restore the key __ 1082 src/x64/ic-x64.cc __ movq(rdi, rax); __ 1083 src/x64/ic-x64.cc __ jmp(&do_call); __ 1085 src/x64/ic-x64.cc __ bind(&check_string); __ 1095 src/x64/ic-x64.cc __ movq(rbx, FieldOperand(rdx, JSObject::kPropertiesOffset)); __ 1096 src/x64/ic-x64.cc __ CompareRoot(FieldOperand(rbx, HeapObject::kMapOffset), __ 1098 src/x64/ic-x64.cc __ j(not_equal, &lookup_monomorphic_cache); __ 1101 src/x64/ic-x64.cc __ IncrementCounter(counters->keyed_call_generic_lookup_dict(), 1); __ 1102 src/x64/ic-x64.cc __ jmp(&do_call); __ 1104 src/x64/ic-x64.cc __ bind(&lookup_monomorphic_cache); __ 1105 src/x64/ic-x64.cc __ IncrementCounter(counters->keyed_call_generic_lookup_cache(), 1); __ 1112 src/x64/ic-x64.cc __ bind(&slow_call); __ 1119 src/x64/ic-x64.cc __ IncrementCounter(counters->keyed_call_generic_slow(), 1); __ 1122 src/x64/ic-x64.cc __ bind(&index_string); __ 1123 src/x64/ic-x64.cc __ IndexFromHash(rbx, rcx); __ 1125 src/x64/ic-x64.cc __ jmp(&index_smi); __ 1142 src/x64/ic-x64.cc __ JumpIfSmi(rcx, &miss); __ 1144 src/x64/ic-x64.cc __ j(NegateCondition(cond), &miss); __ 1146 src/x64/ic-x64.cc __ bind(&miss); __ 1164 src/x64/ic-x64.cc __ JumpIfSmi(object, slow_case); __ 1166 src/x64/ic-x64.cc __ CmpObjectType(object, FIRST_JS_RECEIVER_TYPE, scratch1); __ 1167 src/x64/ic-x64.cc __ j(below, slow_case); __ 1171 src/x64/ic-x64.cc __ j(NegateCondition(check), slow_case); __ 1176 src/x64/ic-x64.cc __ movq(scratch1, FieldOperand(object, JSObject::kElementsOffset)); __ 1177 src/x64/ic-x64.cc __ CheckMap(scratch1, arguments_map, slow_case, DONT_DO_SMI_CHECK); __ 1180 src/x64/ic-x64.cc __ movq(scratch2, FieldOperand(scratch1, FixedArray::kLengthOffset)); __ 1181 src/x64/ic-x64.cc __ SmiSubConstant(scratch2, scratch2, Smi::FromInt(2)); __ 1182 src/x64/ic-x64.cc __ cmpq(key, scratch2); __ 1183 src/x64/ic-x64.cc __ j(greater_equal, unmapped_case); __ 1187 src/x64/ic-x64.cc __ SmiToInteger64(scratch3, key); __ 1188 src/x64/ic-x64.cc __ movq(scratch2, FieldOperand(scratch1, __ 1192 src/x64/ic-x64.cc __ CompareRoot(scratch2, Heap::kTheHoleValueRootIndex); __ 1193 src/x64/ic-x64.cc __ j(equal, unmapped_case); __ 1198 src/x64/ic-x64.cc __ movq(scratch1, FieldOperand(scratch1, FixedArray::kHeaderSize)); __ 1199 src/x64/ic-x64.cc __ SmiToInteger64(scratch3, scratch2); __ 1218 src/x64/ic-x64.cc __ movq(backing_store, FieldOperand(parameter_map, kBackingStoreOffset)); __ 1220 src/x64/ic-x64.cc __ CheckMap(backing_store, fixed_array_map, slow_case, DONT_DO_SMI_CHECK); __ 1221 src/x64/ic-x64.cc __ movq(scratch, FieldOperand(backing_store, FixedArray::kLengthOffset)); __ 1222 src/x64/ic-x64.cc __ cmpq(key, scratch); __ 1223 src/x64/ic-x64.cc __ j(greater_equal, slow_case); __ 1224 src/x64/ic-x64.cc __ SmiToInteger64(scratch, key); __ 1242 src/x64/ic-x64.cc __ movq(rax, mapped_location); __ 1243 src/x64/ic-x64.cc __ Ret(); __ 1244 src/x64/ic-x64.cc __ bind(¬in); __ 1248 src/x64/ic-x64.cc __ CompareRoot(unmapped_location, Heap::kTheHoleValueRootIndex); __ 1249 src/x64/ic-x64.cc __ j(equal, &slow); __ 1250 src/x64/ic-x64.cc __ movq(rax, unmapped_location); __ 1251 src/x64/ic-x64.cc __ Ret(); __ 1252 src/x64/ic-x64.cc __ bind(&slow); __ 1267 src/x64/ic-x64.cc __ movq(mapped_location, rax); __ 1268 src/x64/ic-x64.cc __ lea(r9, mapped_location); __ 1269 src/x64/ic-x64.cc __ movq(r8, rax); __ 1270 src/x64/ic-x64.cc __ RecordWrite(rbx, __ 1276 src/x64/ic-x64.cc __ Ret(); __ 1277 src/x64/ic-x64.cc __ bind(¬in); __ 1281 src/x64/ic-x64.cc __ movq(unmapped_location, rax); __ 1282 src/x64/ic-x64.cc __ lea(r9, unmapped_location); __ 1283 src/x64/ic-x64.cc __ movq(r8, rax); __ 1284 src/x64/ic-x64.cc __ RecordWrite(rbx, __ 1290 src/x64/ic-x64.cc __ Ret(); __ 1291 src/x64/ic-x64.cc __ bind(&slow); __ 1308 src/x64/ic-x64.cc __ movq(rdx, Operand(rsp, (argc + 1) * kPointerSize)); __ 1311 src/x64/ic-x64.cc __ movq(rdi, mapped_location); __ 1313 src/x64/ic-x64.cc __ bind(¬in); __ 1317 src/x64/ic-x64.cc __ CompareRoot(unmapped_location, Heap::kTheHoleValueRootIndex); __ 1318 src/x64/ic-x64.cc __ j(equal, &slow); __ 1319 src/x64/ic-x64.cc __ movq(rdi, unmapped_location); __ 1321 src/x64/ic-x64.cc __ bind(&slow); __ 1356 src/x64/ic-x64.cc __ ret(0); __ 1359 src/x64/ic-x64.cc __ bind(&miss); __ 1372 src/x64/ic-x64.cc __ IncrementCounter(counters->load_miss(), 1); __ 1374 src/x64/ic-x64.cc __ pop(rbx); __ 1375 src/x64/ic-x64.cc __ push(rax); // receiver __ 1376 src/x64/ic-x64.cc __ push(rcx); // name __ 1377 src/x64/ic-x64.cc __ push(rbx); // return address __ 1382 src/x64/ic-x64.cc __ TailCallExternalReference(ref, 2, 1); __ 1394 src/x64/ic-x64.cc __ IncrementCounter(counters->keyed_load_miss(), 1); __ 1396 src/x64/ic-x64.cc __ pop(rbx); __ 1397 src/x64/ic-x64.cc __ push(rdx); // receiver __ 1398 src/x64/ic-x64.cc __ push(rax); // name __ 1399 src/x64/ic-x64.cc __ push(rbx); // return address __ 1406 src/x64/ic-x64.cc __ TailCallExternalReference(ref, 2, 1); __ 1417 src/x64/ic-x64.cc __ pop(rbx); __ 1418 src/x64/ic-x64.cc __ push(rdx); // receiver __ 1419 src/x64/ic-x64.cc __ push(rax); // name __ 1420 src/x64/ic-x64.cc __ push(rbx); // return address __ 1423 src/x64/ic-x64.cc __ TailCallRuntime(Runtime::kKeyedGetProperty, 2, 1); __ 1455 src/x64/ic-x64.cc __ pop(rbx); __ 1456 src/x64/ic-x64.cc __ push(rdx); // receiver __ 1457 src/x64/ic-x64.cc __ push(rcx); // name __ 1458 src/x64/ic-x64.cc __ push(rax); // value __ 1459 src/x64/ic-x64.cc __ push(rbx); // return address __ 1464 src/x64/ic-x64.cc __ TailCallExternalReference(ref, 3, 1); __ 1488 src/x64/ic-x64.cc __ JumpIfSmi(receiver, &miss); __ 1491 src/x64/ic-x64.cc __ CmpObjectType(receiver, JS_ARRAY_TYPE, scratch); __ 1492 src/x64/ic-x64.cc __ j(not_equal, &miss); __ 1497 src/x64/ic-x64.cc __ movq(scratch, FieldOperand(receiver, JSArray::kElementsOffset)); __ 1498 src/x64/ic-x64.cc __ CmpObjectType(scratch, FIXED_ARRAY_TYPE, scratch); __ 1499 src/x64/ic-x64.cc __ j(not_equal, &miss); __ 1503 src/x64/ic-x64.cc __ movq(scratch, FieldOperand(receiver, JSArray::kPropertiesOffset)); __ 1504 src/x64/ic-x64.cc __ CompareRoot(FieldOperand(scratch, FixedArray::kMapOffset), __ 1506 src/x64/ic-x64.cc __ j(equal, &miss); __ 1509 src/x64/ic-x64.cc __ JumpIfNotSmi(value, &miss); __ 1512 src/x64/ic-x64.cc __ pop(scratch); __ 1513 src/x64/ic-x64.cc __ push(receiver); __ 1514 src/x64/ic-x64.cc __ push(value); __ 1515 src/x64/ic-x64.cc __ push(scratch); // return address __ 1519 src/x64/ic-x64.cc __ TailCallExternalReference(ref, 2, 1); __ 1521 src/x64/ic-x64.cc __ bind(&miss); __ 1541 src/x64/ic-x64.cc __ IncrementCounter(counters->store_normal_hit(), 1); __ 1542 src/x64/ic-x64.cc __ ret(0); __ 1544 src/x64/ic-x64.cc __ bind(&miss); __ 1545 src/x64/ic-x64.cc __ IncrementCounter(counters->store_normal_miss(), 1); __ 1558 src/x64/ic-x64.cc __ pop(rbx); __ 1559 src/x64/ic-x64.cc __ push(rdx); __ 1560 src/x64/ic-x64.cc __ push(rcx); __ 1561 src/x64/ic-x64.cc __ push(rax); __ 1562 src/x64/ic-x64.cc __ Push(Smi::FromInt(NONE)); // PropertyAttributes __ 1563 src/x64/ic-x64.cc __ Push(Smi::FromInt(strict_mode)); __ 1564 src/x64/ic-x64.cc __ push(rbx); // return address __ 1567 src/x64/ic-x64.cc __ TailCallRuntime(Runtime::kSetProperty, 5, 1); __ 1580 src/x64/ic-x64.cc __ pop(rbx); __ 1581 src/x64/ic-x64.cc __ push(rdx); // receiver __ 1582 src/x64/ic-x64.cc __ push(rcx); // key __ 1583 src/x64/ic-x64.cc __ push(rax); // value __ 1584 src/x64/ic-x64.cc __ Push(Smi::FromInt(NONE)); // PropertyAttributes __ 1585 src/x64/ic-x64.cc __ Push(Smi::FromInt(strict_mode)); // Strict mode. __ 1586 src/x64/ic-x64.cc __ push(rbx); // return address __ 1589 src/x64/ic-x64.cc __ TailCallRuntime(Runtime::kSetProperty, 5, 1); __ 1601 src/x64/ic-x64.cc __ pop(rbx); __ 1602 src/x64/ic-x64.cc __ push(rdx); // receiver __ 1603 src/x64/ic-x64.cc __ push(rcx); // key __ 1604 src/x64/ic-x64.cc __ push(rax); // value __ 1605 src/x64/ic-x64.cc __ push(rbx); // return address __ 1609 src/x64/ic-x64.cc __ TailCallExternalReference(ref, 3, 1); __ 1621 src/x64/ic-x64.cc __ pop(rbx); __ 1622 src/x64/ic-x64.cc __ push(rdx); // receiver __ 1623 src/x64/ic-x64.cc __ push(rcx); // key __ 1624 src/x64/ic-x64.cc __ push(rax); // value __ 1625 src/x64/ic-x64.cc __ push(rbx); // return address __ 1632 src/x64/ic-x64.cc __ TailCallExternalReference(ref, 3, 1); __ 1646 src/x64/ic-x64.cc __ movq(rax, rdx); __ 1647 src/x64/ic-x64.cc __ Ret(); __ 1648 src/x64/ic-x64.cc __ bind(&fail); __ 1651 src/x64/ic-x64.cc __ pop(rbx); __ 1652 src/x64/ic-x64.cc __ push(rdx); __ 1653 src/x64/ic-x64.cc __ push(rbx); // return address __ 1654 src/x64/ic-x64.cc __ TailCallRuntime(Runtime::kTransitionElementsSmiToDouble, 1, 1); __ 1669 src/x64/ic-x64.cc __ movq(rax, rdx); __ 1670 src/x64/ic-x64.cc __ Ret(); __ 1671 src/x64/ic-x64.cc __ bind(&fail); __ 1674 src/x64/ic-x64.cc __ pop(rbx); __ 1675 src/x64/ic-x64.cc __ push(rdx); __ 1676 src/x64/ic-x64.cc __ push(rbx); // return address __ 1677 src/x64/ic-x64.cc __ TailCallRuntime(Runtime::kTransitionElementsDoubleToObject, 1, 1); __ 136 src/x64/lithium-codegen-x64.cc __ int3(); __ 146 src/x64/lithium-codegen-x64.cc __ testq(rcx, rcx); __ 147 src/x64/lithium-codegen-x64.cc __ j(zero, &ok, Label::kNear); __ 150 src/x64/lithium-codegen-x64.cc __ LoadRoot(kScratchRegister, Heap::kUndefinedValueRootIndex); __ 151 src/x64/lithium-codegen-x64.cc __ movq(Operand(rsp, receiver_offset), kScratchRegister); __ 152 src/x64/lithium-codegen-x64.cc __ bind(&ok); __ 155 src/x64/lithium-codegen-x64.cc __ push(rbp); // Caller's frame pointer. __ 156 src/x64/lithium-codegen-x64.cc __ movq(rbp, rsp); __ 157 src/x64/lithium-codegen-x64.cc __ push(rsi); // Callee's context. __ 158 src/x64/lithium-codegen-x64.cc __ push(rdi); // Callee's JS function. __ 164 src/x64/lithium-codegen-x64.cc __ Set(rax, slots); __ 165 src/x64/lithium-codegen-x64.cc __ movq(kScratchRegister, kSlotsZapValue, RelocInfo::NONE); __ 167 src/x64/lithium-codegen-x64.cc __ bind(&loop); __ 168 src/x64/lithium-codegen-x64.cc __ push(kScratchRegister); __ 169 src/x64/lithium-codegen-x64.cc __ decl(rax); __ 170 src/x64/lithium-codegen-x64.cc __ j(not_zero, &loop); __ 172 src/x64/lithium-codegen-x64.cc __ subq(rsp, Immediate(slots * kPointerSize)); __ 181 src/x64/lithium-codegen-x64.cc __ movq(Operand(rsp, offset), rax); __ 192 src/x64/lithium-codegen-x64.cc __ push(rdi); __ 195 src/x64/lithium-codegen-x64.cc __ CallStub(&stub); __ 197 src/x64/lithium-codegen-x64.cc __ CallRuntime(Runtime::kNewFunctionContext, 1); __ 202 src/x64/lithium-codegen-x64.cc __ movq(Operand(rbp, StandardFrameConstants::kContextOffset), rsi); __ 212 src/x64/lithium-codegen-x64.cc __ movq(rax, Operand(rbp, parameter_offset)); __ 215 src/x64/lithium-codegen-x64.cc __ movq(Operand(rsi, context_offset), rax); __ 217 src/x64/lithium-codegen-x64.cc __ RecordWriteContextSlot(rsi, context_offset, rax, rbx, kSaveFPRegs); __ 225 src/x64/lithium-codegen-x64.cc __ CallRuntime(Runtime::kTraceEnter, 0); __ 255 src/x64/lithium-codegen-x64.cc __ bind(&jump_table_[i].label); __ 256 src/x64/lithium-codegen-x64.cc __ Jump(jump_table_[i].address, RelocInfo::RUNTIME_ENTRY); __ 267 src/x64/lithium-codegen-x64.cc __ bind(code->entry()); __ 272 src/x64/lithium-codegen-x64.cc __ jmp(code->exit()); __ 465 src/x64/lithium-codegen-x64.cc __ call(code, mode); __ 472 src/x64/lithium-codegen-x64.cc __ nop(); __ 492 src/x64/lithium-codegen-x64.cc __ CallRuntime(function, num_arguments); __ 500 src/x64/lithium-codegen-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 501 src/x64/lithium-codegen-x64.cc __ CallRuntimeSaveDoubles(id); __ 555 src/x64/lithium-codegen-x64.cc __ Jump(entry, RelocInfo::RUNTIME_ENTRY); __ 563 src/x64/lithium-codegen-x64.cc __ j(cc, &jump_table_.last().label); __ 696 src/x64/lithium-codegen-x64.cc __ bind(label->label()); __ 788 src/x64/lithium-codegen-x64.cc __ testl(dividend, dividend); __ 789 src/x64/lithium-codegen-x64.cc __ j(not_sign, &positive_dividend, Label::kNear); __ 790 src/x64/lithium-codegen-x64.cc __ negl(dividend); __ 791 src/x64/lithium-codegen-x64.cc __ andl(dividend, Immediate(divisor - 1)); __ 792 src/x64/lithium-codegen-x64.cc __ negl(dividend); __ 794 src/x64/lithium-codegen-x64.cc __ j(not_zero, &done, Label::kNear); __ 797 src/x64/lithium-codegen-x64.cc __ jmp(&done, Label::kNear); __ 799 src/x64/lithium-codegen-x64.cc __ bind(&positive_dividend); __ 800 src/x64/lithium-codegen-x64.cc __ andl(dividend, Immediate(divisor - 1)); __ 801 src/x64/lithium-codegen-x64.cc __ bind(&done); __ 815 src/x64/lithium-codegen-x64.cc __ testl(right_reg, right_reg); __ 819 src/x64/lithium-codegen-x64.cc __ testl(left_reg, left_reg); __ 820 src/x64/lithium-codegen-x64.cc __ j(zero, &remainder_eq_dividend, Label::kNear); __ 821 src/x64/lithium-codegen-x64.cc __ j(sign, &slow, Label::kNear); __ 823 src/x64/lithium-codegen-x64.cc __ testl(right_reg, right_reg); __ 824 src/x64/lithium-codegen-x64.cc __ j(not_sign, &both_positive, Label::kNear); __ 826 src/x64/lithium-codegen-x64.cc __ neg(right_reg); __ 828 src/x64/lithium-codegen-x64.cc __ bind(&both_positive); __ 831 src/x64/lithium-codegen-x64.cc __ cmpl(left_reg, right_reg); __ 832 src/x64/lithium-codegen-x64.cc __ j(less, &remainder_eq_dividend, Label::kNear); __ 836 src/x64/lithium-codegen-x64.cc __ movl(scratch, right_reg); __ 837 src/x64/lithium-codegen-x64.cc __ subl(scratch, Immediate(1)); __ 838 src/x64/lithium-codegen-x64.cc __ testl(scratch, right_reg); __ 839 src/x64/lithium-codegen-x64.cc __ j(not_zero, &do_subtraction, Label::kNear); __ 840 src/x64/lithium-codegen-x64.cc __ andl(left_reg, scratch); __ 841 src/x64/lithium-codegen-x64.cc __ jmp(&remainder_eq_dividend, Label::kNear); __ 843 src/x64/lithium-codegen-x64.cc __ bind(&do_subtraction); __ 846 src/x64/lithium-codegen-x64.cc __ movl(scratch, left_reg); __ 849 src/x64/lithium-codegen-x64.cc __ subl(left_reg, right_reg); __ 851 src/x64/lithium-codegen-x64.cc __ cmpl(left_reg, right_reg); __ 852 src/x64/lithium-codegen-x64.cc __ j(less, &remainder_eq_dividend, Label::kNear); __ 854 src/x64/lithium-codegen-x64.cc __ movl(left_reg, scratch); __ 857 src/x64/lithium-codegen-x64.cc __ bind(&slow); __ 860 src/x64/lithium-codegen-x64.cc __ cdq(); __ 866 src/x64/lithium-codegen-x64.cc __ testl(left_reg, left_reg); __ 867 src/x64/lithium-codegen-x64.cc __ j(not_sign, &positive_left, Label::kNear); __ 868 src/x64/lithium-codegen-x64.cc __ idivl(right_reg); __ 871 src/x64/lithium-codegen-x64.cc __ testl(result_reg, result_reg); __ 872 src/x64/lithium-codegen-x64.cc __ j(not_zero, &done, Label::kNear); __ 875 src/x64/lithium-codegen-x64.cc __ bind(&positive_left); __ 876 src/x64/lithium-codegen-x64.cc __ idivl(right_reg); __ 877 src/x64/lithium-codegen-x64.cc __ bind(&done); __ 879 src/x64/lithium-codegen-x64.cc __ idivl(right_reg); __ 881 src/x64/lithium-codegen-x64.cc __ jmp(&done, Label::kNear); __ 883 src/x64/lithium-codegen-x64.cc __ bind(&remainder_eq_dividend); __ 884 src/x64/lithium-codegen-x64.cc __ movl(result_reg, left_reg); __ 886 src/x64/lithium-codegen-x64.cc __ bind(&done); __ 905 src/x64/lithium-codegen-x64.cc __ movl(result, dividend); __ 911 src/x64/lithium-codegen-x64.cc __ movl(result, dividend); __ 913 src/x64/lithium-codegen-x64.cc __ negl(result); __ 927 src/x64/lithium-codegen-x64.cc __ movsxlq(result, dividend); __ 928 src/x64/lithium-codegen-x64.cc __ neg(result); __ 932 src/x64/lithium-codegen-x64.cc __ sar(result, Immediate(power)); __ 935 src/x64/lithium-codegen-x64.cc __ movl(result, dividend); __ 937 src/x64/lithium-codegen-x64.cc __ sarl(result, Immediate(power)); __ 958 src/x64/lithium-codegen-x64.cc __ movsxlq(reg1, dividend); __ 961 src/x64/lithium-codegen-x64.cc __ neg(reg1); __ 964 src/x64/lithium-codegen-x64.cc __ movq(reg2, multiplier, RelocInfo::NONE); __ 966 src/x64/lithium-codegen-x64.cc __ imul(reg2, reg1); __ 968 src/x64/lithium-codegen-x64.cc __ addq(reg2, Immediate(1 << 30)); __ 969 src/x64/lithium-codegen-x64.cc __ sar(reg2, Immediate(shift)); __ 986 src/x64/lithium-codegen-x64.cc __ testl(right_reg, right_reg); __ 993 src/x64/lithium-codegen-x64.cc __ testl(left_reg, left_reg); __ 994 src/x64/lithium-codegen-x64.cc __ j(not_zero, &left_not_zero, Label::kNear); __ 995 src/x64/lithium-codegen-x64.cc __ testl(right_reg, right_reg); __ 997 src/x64/lithium-codegen-x64.cc __ bind(&left_not_zero); __ 1003 src/x64/lithium-codegen-x64.cc __ cmpl(left_reg, Immediate(kMinInt)); __ 1004 src/x64/lithium-codegen-x64.cc __ j(not_zero, &left_not_min_int, Label::kNear); __ 1005 src/x64/lithium-codegen-x64.cc __ cmpl(right_reg, Immediate(-1)); __ 1007 src/x64/lithium-codegen-x64.cc __ bind(&left_not_min_int); __ 1011 src/x64/lithium-codegen-x64.cc __ cdq(); __ 1012 src/x64/lithium-codegen-x64.cc __ idivl(right_reg); __ 1015 src/x64/lithium-codegen-x64.cc __ testl(rdx, rdx); __ 1025 src/x64/lithium-codegen-x64.cc __ movl(kScratchRegister, left); __ 1033 src/x64/lithium-codegen-x64.cc __ negl(left); __ 1035 src/x64/lithium-codegen-x64.cc __ xorl(left, left); __ 1037 src/x64/lithium-codegen-x64.cc __ addl(left, left); __ 1047 src/x64/lithium-codegen-x64.cc __ leal(left, Operand(left, left, times_2, 0)); __ 1050 src/x64/lithium-codegen-x64.cc __ shll(left, Immediate(2)); __ 1053 src/x64/lithium-codegen-x64.cc __ leal(left, Operand(left, left, times_4, 0)); __ 1056 src/x64/lithium-codegen-x64.cc __ shll(left, Immediate(3)); __ 1059 src/x64/lithium-codegen-x64.cc __ leal(left, Operand(left, left, times_8, 0)); __ 1062 src/x64/lithium-codegen-x64.cc __ shll(left, Immediate(4)); __ 1065 src/x64/lithium-codegen-x64.cc __ imull(left, left, Immediate(right_value)); __ 1069 src/x64/lithium-codegen-x64.cc __ imull(left, left, Immediate(right_value)); __ 1072 src/x64/lithium-codegen-x64.cc __ imull(left, ToOperand(right)); __ 1074 src/x64/lithium-codegen-x64.cc __ imull(left, ToRegister(right)); __ 1084 src/x64/lithium-codegen-x64.cc __ testl(left, left); __ 1085 src/x64/lithium-codegen-x64.cc __ j(not_zero, &done, Label::kNear); __ 1091 src/x64/lithium-codegen-x64.cc __ orl(kScratchRegister, ToOperand(right)); __ 1095 src/x64/lithium-codegen-x64.cc __ orl(kScratchRegister, ToRegister(right)); __ 1098 src/x64/lithium-codegen-x64.cc __ bind(&done); __ 1113 src/x64/lithium-codegen-x64.cc __ andl(ToRegister(left), Immediate(right_operand)); __ 1116 src/x64/lithium-codegen-x64.cc __ orl(ToRegister(left), Immediate(right_operand)); __ 1119 src/x64/lithium-codegen-x64.cc __ xorl(ToRegister(left), Immediate(right_operand)); __ 1128 src/x64/lithium-codegen-x64.cc __ andl(ToRegister(left), ToOperand(right)); __ 1131 src/x64/lithium-codegen-x64.cc __ orl(ToRegister(left), ToOperand(right)); __ 1134 src/x64/lithium-codegen-x64.cc __ xorl(ToRegister(left), ToOperand(right)); __ 1144 src/x64/lithium-codegen-x64.cc __ andl(ToRegister(left), ToRegister(right)); __ 1147 src/x64/lithium-codegen-x64.cc __ orl(ToRegister(left), ToRegister(right)); __ 1150 src/x64/lithium-codegen-x64.cc __ xorl(ToRegister(left), ToRegister(right)); __ 1170 src/x64/lithium-codegen-x64.cc __ sarl_cl(ToRegister(left)); __ 1173 src/x64/lithium-codegen-x64.cc __ shrl_cl(ToRegister(left)); __ 1175 src/x64/lithium-codegen-x64.cc __ testl(ToRegister(left), ToRegister(left)); __ 1180 src/x64/lithium-codegen-x64.cc __ shll_cl(ToRegister(left)); __ 1192 src/x64/lithium-codegen-x64.cc __ sarl(ToRegister(left), Immediate(shift_count)); __ 1197 src/x64/lithium-codegen-x64.cc __ testl(ToRegister(left), ToRegister(left)); __ 1200 src/x64/lithium-codegen-x64.cc __ shrl(ToRegister(left), Immediate(shift_count)); __ 1205 src/x64/lithium-codegen-x64.cc __ shll(ToRegister(left), Immediate(shift_count)); __ 1222 src/x64/lithium-codegen-x64.cc __ subl(ToRegister(left), __ 1225 src/x64/lithium-codegen-x64.cc __ subl(ToRegister(left), ToRegister(right)); __ 1227 src/x64/lithium-codegen-x64.cc __ subl(ToRegister(left), ToOperand(right)); __ 1238 src/x64/lithium-codegen-x64.cc __ Set(ToRegister(instr->result()), instr->value()); __ 1250 src/x64/lithium-codegen-x64.cc __ xorps(res, res); __ 1253 src/x64/lithium-codegen-x64.cc __ Set(tmp, int_val); __ 1254 src/x64/lithium-codegen-x64.cc __ movq(res, tmp); __ 1262 src/x64/lithium-codegen-x64.cc __ Move(ToRegister(instr->result()), value); __ 1264 src/x64/lithium-codegen-x64.cc __ LoadHeapObject(ToRegister(instr->result()), __ 1273 src/x64/lithium-codegen-x64.cc __ movq(result, FieldOperand(array, JSArray::kLengthOffset)); __ 1280 src/x64/lithium-codegen-x64.cc __ movq(result, FieldOperand(array, FixedArrayBase::kLengthOffset)); __ 1289 src/x64/lithium-codegen-x64.cc __ movq(result, FieldOperand(input, HeapObject::kMapOffset)); __ 1291 src/x64/lithium-codegen-x64.cc __ movzxbq(result, FieldOperand(result, Map::kBitField2Offset)); __ 1293 src/x64/lithium-codegen-x64.cc __ and_(result, Immediate(Map::kElementsKindMask)); __ 1294 src/x64/lithium-codegen-x64.cc __ shr(result, Immediate(Map::kElementsKindShift)); __ 1304 src/x64/lithium-codegen-x64.cc __ JumpIfSmi(input, &done, Label::kNear); __ 1307 src/x64/lithium-codegen-x64.cc __ CmpObjectType(input, JS_VALUE_TYPE, kScratchRegister); __ 1308 src/x64/lithium-codegen-x64.cc __ j(not_equal, &done, Label::kNear); __ 1309 src/x64/lithium-codegen-x64.cc __ movq(result, FieldOperand(input, JSValue::kValueOffset)); __ 1311 src/x64/lithium-codegen-x64.cc __ bind(&done); __ 1324 src/x64/lithium-codegen-x64.cc __ AbortIfSmi(object); __ 1325 src/x64/lithium-codegen-x64.cc __ CmpObjectType(object, JS_DATE_TYPE, kScratchRegister); __ 1326 src/x64/lithium-codegen-x64.cc __ Assert(equal, "Trying to get date field from non-date."); __ 1330 src/x64/lithium-codegen-x64.cc __ movq(result, FieldOperand(object, JSDate::kValueOffset)); __ 1334 src/x64/lithium-codegen-x64.cc __ movq(kScratchRegister, stamp); __ 1335 src/x64/lithium-codegen-x64.cc __ cmpq(kScratchRegister, FieldOperand(object, __ 1337 src/x64/lithium-codegen-x64.cc __ j(not_equal, &runtime, Label::kNear); __ 1338 src/x64/lithium-codegen-x64.cc __ movq(result, FieldOperand(object, JSDate::kValueOffset + __ 1340 src/x64/lithium-codegen-x64.cc __ jmp(&done); __ 1342 src/x64/lithium-codegen-x64.cc __ bind(&runtime); __ 1343 src/x64/lithium-codegen-x64.cc __ PrepareCallCFunction(2); __ 1345 src/x64/lithium-codegen-x64.cc __ movq(rcx, object); __ 1346 src/x64/lithium-codegen-x64.cc __ movq(rdx, index, RelocInfo::NONE); __ 1348 src/x64/lithium-codegen-x64.cc __ movq(rdi, object); __ 1349 src/x64/lithium-codegen-x64.cc __ movq(rsi, index, RelocInfo::NONE); __ 1351 src/x64/lithium-codegen-x64.cc __ CallCFunction(ExternalReference::get_date_field_function(isolate()), 2); __ 1352 src/x64/lithium-codegen-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 1353 src/x64/lithium-codegen-x64.cc __ bind(&done); __ 1361 src/x64/lithium-codegen-x64.cc __ not_(ToRegister(input)); __ 1366 src/x64/lithium-codegen-x64.cc __ push(ToRegister(instr->InputAt(0))); __ 1371 src/x64/lithium-codegen-x64.cc __ int3(); __ 1382 src/x64/lithium-codegen-x64.cc __ addl(ToRegister(left), __ 1385 src/x64/lithium-codegen-x64.cc __ addl(ToRegister(left), ToRegister(right)); __ 1387 src/x64/lithium-codegen-x64.cc __ addl(ToRegister(left), ToOperand(right)); __ 1404 src/x64/lithium-codegen-x64.cc __ addsd(left, right); __ 1407 src/x64/lithium-codegen-x64.cc __ subsd(left, right); __ 1410 src/x64/lithium-codegen-x64.cc __ mulsd(left, right); __ 1413 src/x64/lithium-codegen-x64.cc __ divsd(left, right); __ 1416 src/x64/lithium-codegen-x64.cc __ PrepareCallCFunction(2); __ 1417 src/x64/lithium-codegen-x64.cc __ movaps(xmm0, left); __ 1419 src/x64/lithium-codegen-x64.cc __ CallCFunction( __ 1421 src/x64/lithium-codegen-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 1422 src/x64/lithium-codegen-x64.cc __ movaps(result, xmm0); __ 1438 src/x64/lithium-codegen-x64.cc __ nop(); // Signals no inlined code. __ 1459 src/x64/lithium-codegen-x64.cc __ j(NegateCondition(cc), chunk_->GetAssemblyLabel(right_block)); __ 1461 src/x64/lithium-codegen-x64.cc __ j(cc, chunk_->GetAssemblyLabel(left_block)); __ 1463 src/x64/lithium-codegen-x64.cc __ j(cc, chunk_->GetAssemblyLabel(left_block)); __ 1465 src/x64/lithium-codegen-x64.cc __ jmp(chunk_->GetAssemblyLabel(right_block)); __ 1478 src/x64/lithium-codegen-x64.cc __ testl(reg, reg); __ 1482 src/x64/lithium-codegen-x64.cc __ xorps(xmm0, xmm0); __ 1483 src/x64/lithium-codegen-x64.cc __ ucomisd(reg, xmm0); __ 1490 src/x64/lithium-codegen-x64.cc __ CompareRoot(reg, Heap::kTrueValueRootIndex); __ 1493 src/x64/lithium-codegen-x64.cc __ SmiCompare(reg, Smi::FromInt(0)); __ 1505 src/x64/lithium-codegen-x64.cc __ CompareRoot(reg, Heap::kUndefinedValueRootIndex); __ 1506 src/x64/lithium-codegen-x64.cc __ j(equal, false_label); __ 1510 src/x64/lithium-codegen-x64.cc __ CompareRoot(reg, Heap::kTrueValueRootIndex); __ 1511 src/x64/lithium-codegen-x64.cc __ j(equal, true_label); __ 1513 src/x64/lithium-codegen-x64.cc __ CompareRoot(reg, Heap::kFalseValueRootIndex); __ 1514 src/x64/lithium-codegen-x64.cc __ j(equal, false_label); __ 1518 src/x64/lithium-codegen-x64.cc __ CompareRoot(reg, Heap::kNullValueRootIndex); __ 1519 src/x64/lithium-codegen-x64.cc __ j(equal, false_label); __ 1524 src/x64/lithium-codegen-x64.cc __ Cmp(reg, Smi::FromInt(0)); __ 1525 src/x64/lithium-codegen-x64.cc __ j(equal, false_label); __ 1526 src/x64/lithium-codegen-x64.cc __ JumpIfSmi(reg, true_label); __ 1529 src/x64/lithium-codegen-x64.cc __ testb(reg, Immediate(kSmiTagMask)); __ 1535 src/x64/lithium-codegen-x64.cc __ movq(map, FieldOperand(reg, HeapObject::kMapOffset)); __ 1539 src/x64/lithium-codegen-x64.cc __ testb(FieldOperand(map, Map::kBitFieldOffset), __ 1541 src/x64/lithium-codegen-x64.cc __ j(not_zero, false_label); __ 1547 src/x64/lithium-codegen-x64.cc __ CmpInstanceType(map, FIRST_SPEC_OBJECT_TYPE); __ 1548 src/x64/lithium-codegen-x64.cc __ j(above_equal, true_label); __ 1554 src/x64/lithium-codegen-x64.cc __ CmpInstanceType(map, FIRST_NONSTRING_TYPE); __ 1555 src/x64/lithium-codegen-x64.cc __ j(above_equal, ¬_string, Label::kNear); __ 1556 src/x64/lithium-codegen-x64.cc __ cmpq(FieldOperand(reg, String::kLengthOffset), Immediate(0)); __ 1557 src/x64/lithium-codegen-x64.cc __ j(not_zero, true_label); __ 1558 src/x64/lithium-codegen-x64.cc __ jmp(false_label); __ 1559 src/x64/lithium-codegen-x64.cc __ bind(¬_string); __ 1565 src/x64/lithium-codegen-x64.cc __ CompareRoot(map, Heap::kHeapNumberMapRootIndex); __ 1566 src/x64/lithium-codegen-x64.cc __ j(not_equal, ¬_heap_number, Label::kNear); __ 1567 src/x64/lithium-codegen-x64.cc __ xorps(xmm0, xmm0); __ 1568 src/x64/lithium-codegen-x64.cc __ ucomisd(xmm0, FieldOperand(reg, HeapNumber::kValueOffset)); __ 1569 src/x64/lithium-codegen-x64.cc __ j(zero, false_label); __ 1570 src/x64/lithium-codegen-x64.cc __ jmp(true_label); __ 1571 src/x64/lithium-codegen-x64.cc __ bind(¬_heap_number); __ 1585 src/x64/lithium-codegen-x64.cc __ jmp(chunk_->GetAssemblyLabel(block)); __ 1642 src/x64/lithium-codegen-x64.cc __ ucomisd(ToDoubleRegister(left), ToDoubleRegister(right)); __ 1643 src/x64/lithium-codegen-x64.cc __ j(parity_even, chunk_->GetAssemblyLabel(false_block)); __ 1648 src/x64/lithium-codegen-x64.cc __ cmpl(ToRegister(left), Immediate(value)); __ 1652 src/x64/lithium-codegen-x64.cc __ cmpl(ToRegister(right), Immediate(value)); __ 1654 src/x64/lithium-codegen-x64.cc __ cmpl(ToOperand(right), Immediate(value)); __ 1660 src/x64/lithium-codegen-x64.cc __ cmpl(ToRegister(left), ToRegister(right)); __ 1662 src/x64/lithium-codegen-x64.cc __ cmpl(ToRegister(left), ToOperand(right)); __ 1677 src/x64/lithium-codegen-x64.cc __ cmpq(left, right); __ 1687 src/x64/lithium-codegen-x64.cc __ cmpq(left, Immediate(instr->hydrogen()->right())); __ 1708 src/x64/lithium-codegen-x64.cc __ CompareRoot(reg, nil_value); __ 1717 src/x64/lithium-codegen-x64.cc __ j(equal, true_label); __ 1718 src/x64/lithium-codegen-x64.cc __ CompareRoot(reg, other_nil_value); __ 1719 src/x64/lithium-codegen-x64.cc __ j(equal, true_label); __ 1720 src/x64/lithium-codegen-x64.cc __ JumpIfSmi(reg, false_label); __ 1724 src/x64/lithium-codegen-x64.cc __ movq(scratch, FieldOperand(reg, HeapObject::kMapOffset)); __ 1725 src/x64/lithium-codegen-x64.cc __ testb(FieldOperand(scratch, Map::kBitFieldOffset), __ 1737 src/x64/lithium-codegen-x64.cc __ JumpIfSmi(input, is_not_object); __ 1739 src/x64/lithium-codegen-x64.cc __ CompareRoot(input, Heap::kNullValueRootIndex); __ 1740 src/x64/lithium-codegen-x64.cc __ j(equal, is_object); __ 1742 src/x64/lithium-codegen-x64.cc __ movq(kScratchRegister, FieldOperand(input, HeapObject::kMapOffset)); __ 1744 src/x64/lithium-codegen-x64.cc __ testb(FieldOperand(kScratchRegister, Map::kBitFieldOffset), __ 1746 src/x64/lithium-codegen-x64.cc __ j(not_zero, is_not_object); __ 1748 src/x64/lithium-codegen-x64.cc __ movzxbl(kScratchRegister, __ 1750 src/x64/lithium-codegen-x64.cc __ cmpb(kScratchRegister, Immediate(FIRST_NONCALLABLE_SPEC_OBJECT_TYPE)); __ 1751 src/x64/lithium-codegen-x64.cc __ j(below, is_not_object); __ 1752 src/x64/lithium-codegen-x64.cc __ cmpb(kScratchRegister, Immediate(LAST_NONCALLABLE_SPEC_OBJECT_TYPE)); __ 1774 src/x64/lithium-codegen-x64.cc __ JumpIfSmi(input, is_not_string); __ 1818 src/x64/lithium-codegen-x64.cc __ JumpIfSmi(input, chunk_->GetAssemblyLabel(false_block)); __ 1819 src/x64/lithium-codegen-x64.cc __ movq(temp, FieldOperand(input, HeapObject::kMapOffset)); __ 1820 src/x64/lithium-codegen-x64.cc __ testb(FieldOperand(temp, Map::kBitFieldOffset), __ 1835 src/x64/lithium-codegen-x64.cc __ testq(rax, rax); __ 1869 src/x64/lithium-codegen-x64.cc __ JumpIfSmi(input, false_label); __ 1871 src/x64/lithium-codegen-x64.cc __ CmpObjectType(input, TestType(instr->hydrogen()), kScratchRegister); __ 1881 src/x64/lithium-codegen-x64.cc __ AbortIfNotString(input); __ 1884 src/x64/lithium-codegen-x64.cc __ movl(result, FieldOperand(input, String::kHashFieldOffset)); __ 1886 src/x64/lithium-codegen-x64.cc __ IndexFromHash(result, result); __ 1897 src/x64/lithium-codegen-x64.cc __ testl(FieldOperand(input, String::kHashFieldOffset), __ 1915 src/x64/lithium-codegen-x64.cc __ JumpIfSmi(input, is_false); __ 1926 src/x64/lithium-codegen-x64.cc __ CmpObjectType(input, FIRST_SPEC_OBJECT_TYPE, temp); __ 1927 src/x64/lithium-codegen-x64.cc __ j(below, is_false); __ 1928 src/x64/lithium-codegen-x64.cc __ j(equal, is_true); __ 1929 src/x64/lithium-codegen-x64.cc __ CmpInstanceType(temp, LAST_SPEC_OBJECT_TYPE); __ 1930 src/x64/lithium-codegen-x64.cc __ j(equal, is_true); __ 1934 src/x64/lithium-codegen-x64.cc __ movq(temp, FieldOperand(input, HeapObject::kMapOffset)); __ 1935 src/x64/lithium-codegen-x64.cc __ movzxbl(temp2, FieldOperand(temp, Map::kInstanceTypeOffset)); __ 1936 src/x64/lithium-codegen-x64.cc __ subq(temp2, Immediate(FIRST_NONCALLABLE_SPEC_OBJECT_TYPE)); __ 1937 src/x64/lithium-codegen-x64.cc __ cmpq(temp2, Immediate(LAST_NONCALLABLE_SPEC_OBJECT_TYPE - __ 1939 src/x64/lithium-codegen-x64.cc __ j(above, is_false); __ 1944 src/x64/lithium-codegen-x64.cc __ movq(temp, FieldOperand(temp, Map::kConstructorOffset)); __ 1947 src/x64/lithium-codegen-x64.cc __ CmpObjectType(temp, JS_FUNCTION_TYPE, kScratchRegister); __ 1949 src/x64/lithium-codegen-x64.cc __ j(not_equal, is_true); __ 1951 src/x64/lithium-codegen-x64.cc __ j(not_equal, is_false); __ 1956 src/x64/lithium-codegen-x64.cc __ movq(temp, FieldOperand(temp, JSFunction::kSharedFunctionInfoOffset)); __ 1957 src/x64/lithium-codegen-x64.cc __ movq(temp, FieldOperand(temp, __ 1966 src/x64/lithium-codegen-x64.cc __ Cmp(temp, class_name); __ 1994 src/x64/lithium-codegen-x64.cc __ Cmp(FieldOperand(reg, HeapObject::kMapOffset), instr->map()); __ 2001 src/x64/lithium-codegen-x64.cc __ push(ToRegister(instr->InputAt(0))); __ 2002 src/x64/lithium-codegen-x64.cc __ push(ToRegister(instr->InputAt(1))); __ 2005 src/x64/lithium-codegen-x64.cc __ testq(rax, rax); __ 2006 src/x64/lithium-codegen-x64.cc __ j(zero, &true_value, Label::kNear); __ 2007 src/x64/lithium-codegen-x64.cc __ LoadRoot(ToRegister(instr->result()), Heap::kFalseValueRootIndex); __ 2008 src/x64/lithium-codegen-x64.cc __ jmp(&done, Label::kNear); __ 2009 src/x64/lithium-codegen-x64.cc __ bind(&true_value); __ 2010 src/x64/lithium-codegen-x64.cc __ LoadRoot(ToRegister(instr->result()), Heap::kTrueValueRootIndex); __ 2011 src/x64/lithium-codegen-x64.cc __ bind(&done); __ 2039 src/x64/lithium-codegen-x64.cc __ JumpIfSmi(object, &false_result); __ 2047 src/x64/lithium-codegen-x64.cc __ movq(map, FieldOperand(object, HeapObject::kMapOffset)); __ 2048 src/x64/lithium-codegen-x64.cc __ bind(deferred->map_check()); // Label for calculating code patching. __ 2051 src/x64/lithium-codegen-x64.cc __ movq(kScratchRegister, cache_cell, RelocInfo::GLOBAL_PROPERTY_CELL); __ 2052 src/x64/lithium-codegen-x64.cc __ cmpq(map, Operand(kScratchRegister, 0)); __ 2053 src/x64/lithium-codegen-x64.cc __ j(not_equal, &cache_miss, Label::kNear); __ 2055 src/x64/lithium-codegen-x64.cc __ LoadRoot(ToRegister(instr->result()), Heap::kTheHoleValueRootIndex); __ 2059 src/x64/lithium-codegen-x64.cc __ bind(&end_of_patched_code); __ 2062 src/x64/lithium-codegen-x64.cc __ jmp(&done); __ 2066 src/x64/lithium-codegen-x64.cc __ bind(&cache_miss); // Null is not an instance of anything. __ 2067 src/x64/lithium-codegen-x64.cc __ CompareRoot(object, Heap::kNullValueRootIndex); __ 2068 src/x64/lithium-codegen-x64.cc __ j(equal, &false_result, Label::kNear); __ 2071 src/x64/lithium-codegen-x64.cc __ JumpIfNotString(object, kScratchRegister, deferred->entry()); __ 2073 src/x64/lithium-codegen-x64.cc __ bind(&false_result); __ 2074 src/x64/lithium-codegen-x64.cc __ LoadRoot(ToRegister(instr->result()), Heap::kFalseValueRootIndex); __ 2076 src/x64/lithium-codegen-x64.cc __ bind(deferred->exit()); __ 2077 src/x64/lithium-codegen-x64.cc __ bind(&done); __ 2089 src/x64/lithium-codegen-x64.cc __ push(ToRegister(instr->InputAt(0))); __ 2090 src/x64/lithium-codegen-x64.cc __ PushHeapObject(instr->function()); __ 2096 src/x64/lithium-codegen-x64.cc __ push_imm32(delta); __ 2112 src/x64/lithium-codegen-x64.cc __ movq(kScratchRegister, rax); __ 2114 src/x64/lithium-codegen-x64.cc __ testq(kScratchRegister, kScratchRegister); __ 2117 src/x64/lithium-codegen-x64.cc __ j(not_zero, &load_false); __ 2118 src/x64/lithium-codegen-x64.cc __ LoadRoot(rax, Heap::kTrueValueRootIndex); __ 2119 src/x64/lithium-codegen-x64.cc __ jmp(&done); __ 2120 src/x64/lithium-codegen-x64.cc __ bind(&load_false); __ 2121 src/x64/lithium-codegen-x64.cc __ LoadRoot(rax, Heap::kFalseValueRootIndex); __ 2122 src/x64/lithium-codegen-x64.cc __ bind(&done); __ 2134 src/x64/lithium-codegen-x64.cc __ testq(rax, rax); __ 2135 src/x64/lithium-codegen-x64.cc __ j(condition, &true_value, Label::kNear); __ 2136 src/x64/lithium-codegen-x64.cc __ LoadRoot(ToRegister(instr->result()), Heap::kFalseValueRootIndex); __ 2137 src/x64/lithium-codegen-x64.cc __ jmp(&done, Label::kNear); __ 2138 src/x64/lithium-codegen-x64.cc __ bind(&true_value); __ 2139 src/x64/lithium-codegen-x64.cc __ LoadRoot(ToRegister(instr->result()), Heap::kTrueValueRootIndex); __ 2140 src/x64/lithium-codegen-x64.cc __ bind(&done); __ 2148 src/x64/lithium-codegen-x64.cc __ push(rax); __ 2149 src/x64/lithium-codegen-x64.cc __ CallRuntime(Runtime::kTraceExit, 1); __ 2151 src/x64/lithium-codegen-x64.cc __ movq(rsp, rbp); __ 2152 src/x64/lithium-codegen-x64.cc __ pop(rbp); __ 2153 src/x64/lithium-codegen-x64.cc __ Ret((GetParameterCount() + 1) * kPointerSize, rcx); __ 2159 src/x64/lithium-codegen-x64.cc __ LoadGlobalCell(result, instr->hydrogen()->cell()); __ 2161 src/x64/lithium-codegen-x64.cc __ CompareRoot(result, Heap::kTheHoleValueRootIndex); __ 2171 src/x64/lithium-codegen-x64.cc __ Move(rcx, instr->name()); __ 2191 src/x64/lithium-codegen-x64.cc __ movq(cell, cell_handle, RelocInfo::GLOBAL_PROPERTY_CELL); __ 2192 src/x64/lithium-codegen-x64.cc __ CompareRoot(Operand(cell, 0), Heap::kTheHoleValueRootIndex); __ 2195 src/x64/lithium-codegen-x64.cc __ movq(Operand(cell, 0), value); __ 2198 src/x64/lithium-codegen-x64.cc __ movq(kScratchRegister, cell_handle, RelocInfo::GLOBAL_PROPERTY_CELL); __ 2199 src/x64/lithium-codegen-x64.cc __ movq(Operand(kScratchRegister, 0), value); __ 2209 src/x64/lithium-codegen-x64.cc __ Move(rcx, instr->name()); __ 2220 src/x64/lithium-codegen-x64.cc __ movq(result, ContextOperand(context, instr->slot_index())); __ 2222 src/x64/lithium-codegen-x64.cc __ CompareRoot(result, Heap::kTheHoleValueRootIndex); __ 2227 src/x64/lithium-codegen-x64.cc __ j(not_equal, &is_not_hole, Label::kNear); __ 2228 src/x64/lithium-codegen-x64.cc __ LoadRoot(result, Heap::kUndefinedValueRootIndex); __ 2229 src/x64/lithium-codegen-x64.cc __ bind(&is_not_hole); __ 2243 src/x64/lithium-codegen-x64.cc __ CompareRoot(target, Heap::kTheHoleValueRootIndex); __ 2247 src/x64/lithium-codegen-x64.cc __ j(not_equal, &skip_assignment); __ 2250 src/x64/lithium-codegen-x64.cc __ movq(target, value); __ 2258 src/x64/lithium-codegen-x64.cc __ RecordWriteContextSlot(context, __ 2267 src/x64/lithium-codegen-x64.cc __ bind(&skip_assignment); __ 2275 src/x64/lithium-codegen-x64.cc __ movq(result, FieldOperand(object, instr->hydrogen()->offset())); __ 2277 src/x64/lithium-codegen-x64.cc __ movq(result, FieldOperand(object, JSObject::kPropertiesOffset)); __ 2278 src/x64/lithium-codegen-x64.cc __ movq(result, FieldOperand(result, instr->hydrogen()->offset())); __ 2297 src/x64/lithium-codegen-x64.cc __ movq(result, FieldOperand(object, offset + type->instance_size())); __ 2300 src/x64/lithium-codegen-x64.cc __ movq(result, FieldOperand(object, JSObject::kPropertiesOffset)); __ 2301 src/x64/lithium-codegen-x64.cc __ movq(result, FieldOperand(result, offset + FixedArray::kHeaderSize)); __ 2305 src/x64/lithium-codegen-x64.cc __ LoadHeapObject(result, function); __ 2312 src/x64/lithium-codegen-x64.cc __ LoadHeapObject(result, current); __ 2313 src/x64/lithium-codegen-x64.cc __ Cmp(FieldOperand(result, HeapObject::kMapOffset), __ 2319 src/x64/lithium-codegen-x64.cc __ LoadRoot(result, Heap::kUndefinedValueRootIndex); __ 2364 src/x64/lithium-codegen-x64.cc __ CompareMap(object, map, &check_passed, ALLOW_ELEMENT_TRANSITION_MAPS); __ 2367 src/x64/lithium-codegen-x64.cc __ bind(&check_passed); __ 2374 src/x64/lithium-codegen-x64.cc __ j(not_equal, &next, compact ? Label::kNear : Label::kFar); __ 2375 src/x64/lithium-codegen-x64.cc __ bind(&check_passed); __ 2378 src/x64/lithium-codegen-x64.cc __ jmp(&done, all_are_compact ? Label::kNear : Label::kFar); __ 2379 src/x64/lithium-codegen-x64.cc __ bind(&next); __ 2383 src/x64/lithium-codegen-x64.cc __ Move(rcx, name); __ 2387 src/x64/lithium-codegen-x64.cc __ bind(&done); __ 2395 src/x64/lithium-codegen-x64.cc __ Move(rcx, instr->name()); __ 2406 src/x64/lithium-codegen-x64.cc __ CmpObjectType(function, JS_FUNCTION_TYPE, result); __ 2411 src/x64/lithium-codegen-x64.cc __ testb(FieldOperand(result, Map::kBitFieldOffset), __ 2413 src/x64/lithium-codegen-x64.cc __ j(not_zero, &non_instance, Label::kNear); __ 2416 src/x64/lithium-codegen-x64.cc __ movq(result, __ 2420 src/x64/lithium-codegen-x64.cc __ CompareRoot(result, Heap::kTheHoleValueRootIndex); __ 2425 src/x64/lithium-codegen-x64.cc __ CmpObjectType(result, MAP_TYPE, kScratchRegister); __ 2426 src/x64/lithium-codegen-x64.cc __ j(not_equal, &done, Label::kNear); __ 2429 src/x64/lithium-codegen-x64.cc __ movq(result, FieldOperand(result, Map::kPrototypeOffset)); __ 2430 src/x64/lithium-codegen-x64.cc __ jmp(&done, Label::kNear); __ 2434 src/x64/lithium-codegen-x64.cc __ bind(&non_instance); __ 2435 src/x64/lithium-codegen-x64.cc __ movq(result, FieldOperand(result, Map::kConstructorOffset)); __ 2438 src/x64/lithium-codegen-x64.cc __ bind(&done); __ 2445 src/x64/lithium-codegen-x64.cc __ movq(result, FieldOperand(input, JSObject::kElementsOffset)); __ 2448 src/x64/lithium-codegen-x64.cc __ CompareRoot(FieldOperand(result, HeapObject::kMapOffset), __ 2450 src/x64/lithium-codegen-x64.cc __ j(equal, &done, Label::kNear); __ 2451 src/x64/lithium-codegen-x64.cc __ CompareRoot(FieldOperand(result, HeapObject::kMapOffset), __ 2453 src/x64/lithium-codegen-x64.cc __ j(equal, &done, Label::kNear); __ 2455 src/x64/lithium-codegen-x64.cc __ push(temp); __ 2456 src/x64/lithium-codegen-x64.cc __ movq(temp, FieldOperand(result, HeapObject::kMapOffset)); __ 2457 src/x64/lithium-codegen-x64.cc __ movzxbq(temp, FieldOperand(temp, Map::kBitField2Offset)); __ 2458 src/x64/lithium-codegen-x64.cc __ and_(temp, Immediate(Map::kElementsKindMask)); __ 2459 src/x64/lithium-codegen-x64.cc __ shr(temp, Immediate(Map::kElementsKindShift)); __ 2460 src/x64/lithium-codegen-x64.cc __ cmpl(temp, Immediate(GetInitialFastElementsKind())); __ 2461 src/x64/lithium-codegen-x64.cc __ j(less, &fail, Label::kNear); __ 2462 src/x64/lithium-codegen-x64.cc __ cmpl(temp, Immediate(TERMINAL_FAST_ELEMENTS_KIND)); __ 2463 src/x64/lithium-codegen-x64.cc __ j(less_equal, &ok, Label::kNear); __ 2464 src/x64/lithium-codegen-x64.cc __ cmpl(temp, Immediate(FIRST_EXTERNAL_ARRAY_ELEMENTS_KIND)); __ 2465 src/x64/lithium-codegen-x64.cc __ j(less, &fail, Label::kNear); __ 2466 src/x64/lithium-codegen-x64.cc __ cmpl(temp, Immediate(LAST_EXTERNAL_ARRAY_ELEMENTS_KIND)); __ 2467 src/x64/lithium-codegen-x64.cc __ j(less_equal, &ok, Label::kNear); __ 2468 src/x64/lithium-codegen-x64.cc __ bind(&fail); __ 2469 src/x64/lithium-codegen-x64.cc __ Abort("Check for fast or external elements failed"); __ 2470 src/x64/lithium-codegen-x64.cc __ bind(&ok); __ 2471 src/x64/lithium-codegen-x64.cc __ pop(temp); __ 2472 src/x64/lithium-codegen-x64.cc __ bind(&done); __ 2481 src/x64/lithium-codegen-x64.cc __ movq(result, FieldOperand(input, __ 2492 src/x64/lithium-codegen-x64.cc __ subl(length, ToRegister(instr->index())); __ 2494 src/x64/lithium-codegen-x64.cc __ subl(length, ToOperand(instr->index())); __ 2500 src/x64/lithium-codegen-x64.cc __ movq(result, Operand(arguments, length, times_pointer_size, kPointerSize)); __ 2511 src/x64/lithium-codegen-x64.cc __ movsxlq(key_reg, key_reg); __ 2515 src/x64/lithium-codegen-x64.cc __ movq(result, __ 2525 src/x64/lithium-codegen-x64.cc Condition smi = __ CheckSmi(result); __ 2528 src/x64/lithium-codegen-x64.cc __ CompareRoot(result, Heap::kTheHoleValueRootIndex); __ 2543 src/x64/lithium-codegen-x64.cc __ movsxlq(key_reg, key_reg); __ 2555 src/x64/lithium-codegen-x64.cc __ cmpl(hole_check_operand, Immediate(kHoleNanUpper32)); __ 2565 src/x64/lithium-codegen-x64.cc __ movsd(result, double_load_operand); __ 2607 src/x64/lithium-codegen-x64.cc __ movsxlq(key_reg, key_reg); __ 2612 src/x64/lithium-codegen-x64.cc __ movss(result, operand); __ 2613 src/x64/lithium-codegen-x64.cc __ cvtss2sd(result, result); __ 2615 src/x64/lithium-codegen-x64.cc __ movsd(ToDoubleRegister(instr->result()), operand); __ 2620 src/x64/lithium-codegen-x64.cc __ movsxbq(result, operand); __ 2624 src/x64/lithium-codegen-x64.cc __ movzxbq(result, operand); __ 2627 src/x64/lithium-codegen-x64.cc __ movsxwq(result, operand); __ 2630 src/x64/lithium-codegen-x64.cc __ movzxwq(result, operand); __ 2633 src/x64/lithium-codegen-x64.cc __ movsxlq(result, operand); __ 2636 src/x64/lithium-codegen-x64.cc __ movl(result, operand); __ 2637 src/x64/lithium-codegen-x64.cc __ testl(result, result); __ 2673 src/x64/lithium-codegen-x64.cc __ lea(result, Operand(rsp, -2 * kPointerSize)); __ 2677 src/x64/lithium-codegen-x64.cc __ movq(result, Operand(rbp, StandardFrameConstants::kCallerFPOffset)); __ 2678 src/x64/lithium-codegen-x64.cc __ Cmp(Operand(result, StandardFrameConstants::kContextOffset), __ 2680 src/x64/lithium-codegen-x64.cc __ j(equal, &adapted, Label::kNear); __ 2683 src/x64/lithium-codegen-x64.cc __ movq(result, rbp); __ 2684 src/x64/lithium-codegen-x64.cc __ jmp(&done, Label::kNear); __ 2687 src/x64/lithium-codegen-x64.cc __ bind(&adapted); __ 2688 src/x64/lithium-codegen-x64.cc __ movq(result, Operand(rbp, StandardFrameConstants::kCallerFPOffset)); __ 2692 src/x64/lithium-codegen-x64.cc __ bind(&done); __ 2704 src/x64/lithium-codegen-x64.cc __ cmpq(rbp, ToRegister(instr->InputAt(0))); __ 2706 src/x64/lithium-codegen-x64.cc __ cmpq(rbp, ToOperand(instr->InputAt(0))); __ 2708 src/x64/lithium-codegen-x64.cc __ movl(result, Immediate(scope()->num_parameters())); __ 2709 src/x64/lithium-codegen-x64.cc __ j(equal, &done, Label::kNear); __ 2712 src/x64/lithium-codegen-x64.cc __ movq(result, Operand(rbp, StandardFrameConstants::kCallerFPOffset)); __ 2713 src/x64/lithium-codegen-x64.cc __ SmiToInteger32(result, __ 2718 src/x64/lithium-codegen-x64.cc __ bind(&done); __ 2733 src/x64/lithium-codegen-x64.cc __ movq(kScratchRegister, __ 2735 src/x64/lithium-codegen-x64.cc __ testb(FieldOperand(kScratchRegister, __ 2738 src/x64/lithium-codegen-x64.cc __ j(not_equal, &receiver_ok, Label::kNear); __ 2741 src/x64/lithium-codegen-x64.cc __ testb(FieldOperand(kScratchRegister, __ 2744 src/x64/lithium-codegen-x64.cc __ j(not_equal, &receiver_ok, Label::kNear); __ 2747 src/x64/lithium-codegen-x64.cc __ CompareRoot(receiver, Heap::kNullValueRootIndex); __ 2748 src/x64/lithium-codegen-x64.cc __ j(equal, &global_object, Label::kNear); __ 2749 src/x64/lithium-codegen-x64.cc __ CompareRoot(receiver, Heap::kUndefinedValueRootIndex); __ 2750 src/x64/lithium-codegen-x64.cc __ j(equal, &global_object, Label::kNear); __ 2753 src/x64/lithium-codegen-x64.cc Condition is_smi = __ CheckSmi(receiver); __ 2755 src/x64/lithium-codegen-x64.cc __ CmpObjectType(receiver, FIRST_SPEC_OBJECT_TYPE, kScratchRegister); __ 2757 src/x64/lithium-codegen-x64.cc __ jmp(&receiver_ok, Label::kNear); __ 2759 src/x64/lithium-codegen-x64.cc __ bind(&global_object); __ 2763 src/x64/lithium-codegen-x64.cc __ movq(receiver, ContextOperand(rsi, Context::GLOBAL_INDEX)); __ 2764 src/x64/lithium-codegen-x64.cc __ movq(receiver, __ 2766 src/x64/lithium-codegen-x64.cc __ bind(&receiver_ok); __ 2782 src/x64/lithium-codegen-x64.cc __ cmpq(length, Immediate(kArgumentsLimit)); __ 2785 src/x64/lithium-codegen-x64.cc __ push(receiver); __ 2786 src/x64/lithium-codegen-x64.cc __ movq(receiver, length); __ 2792 src/x64/lithium-codegen-x64.cc __ testl(length, length); __ 2793 src/x64/lithium-codegen-x64.cc __ j(zero, &invoke, Label::kNear); __ 2794 src/x64/lithium-codegen-x64.cc __ bind(&loop); __ 2795 src/x64/lithium-codegen-x64.cc __ push(Operand(elements, length, times_pointer_size, 1 * kPointerSize)); __ 2796 src/x64/lithium-codegen-x64.cc __ decl(length); __ 2797 src/x64/lithium-codegen-x64.cc __ j(not_zero, &loop); __ 2800 src/x64/lithium-codegen-x64.cc __ bind(&invoke); __ 2807 src/x64/lithium-codegen-x64.cc __ InvokeFunction(function, actual, CALL_FUNCTION, __ 2809 src/x64/lithium-codegen-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 2820 src/x64/lithium-codegen-x64.cc __ Drop(instr->count()); __ 2826 src/x64/lithium-codegen-x64.cc __ movq(result, Operand(rbp, JavaScriptFrameConstants::kFunctionOffset)); __ 2832 src/x64/lithium-codegen-x64.cc __ movq(result, rsi); __ 2839 src/x64/lithium-codegen-x64.cc __ movq(result, __ 2845 src/x64/lithium-codegen-x64.cc __ push(rsi); // The context is the first argument. __ 2846 src/x64/lithium-codegen-x64.cc __ PushHeapObject(instr->hydrogen()->pairs()); __ 2847 src/x64/lithium-codegen-x64.cc __ Push(Smi::FromInt(instr->hydrogen()->flags())); __ 2854 src/x64/lithium-codegen-x64.cc __ movq(result, GlobalObjectOperand()); __ 2861 src/x64/lithium-codegen-x64.cc __ movq(result, FieldOperand(global, GlobalObject::kGlobalReceiverOffset)); __ 2878 src/x64/lithium-codegen-x64.cc __ LoadHeapObject(rdi, function); __ 2887 src/x64/lithium-codegen-x64.cc __ movq(rsi, FieldOperand(rdi, JSFunction::kContextOffset)); __ 2893 src/x64/lithium-codegen-x64.cc __ Set(rax, arity); __ 2897 src/x64/lithium-codegen-x64.cc __ SetCallKind(rcx, call_kind); __ 2899 src/x64/lithium-codegen-x64.cc __ CallSelf(); __ 2901 src/x64/lithium-codegen-x64.cc __ call(FieldOperand(rdi, JSFunction::kCodeEntryOffset)); __ 2911 src/x64/lithium-codegen-x64.cc __ InvokeFunction(function, count, CALL_FUNCTION, generator, call_kind); __ 2915 src/x64/lithium-codegen-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 2931 src/x64/lithium-codegen-x64.cc __ CompareRoot(FieldOperand(input_reg, HeapObject::kMapOffset), __ 2943 src/x64/lithium-codegen-x64.cc __ movl(tmp, FieldOperand(input_reg, HeapNumber::kExponentOffset)); __ 2948 src/x64/lithium-codegen-x64.cc __ testl(tmp, Immediate(HeapNumber::kSignMask)); __ 2949 src/x64/lithium-codegen-x64.cc __ j(not_zero, &negative); __ 2950 src/x64/lithium-codegen-x64.cc __ jmp(&done); __ 2952 src/x64/lithium-codegen-x64.cc __ bind(&negative); __ 2955 src/x64/lithium-codegen-x64.cc __ AllocateHeapNumber(tmp, tmp2, &slow); __ 2956 src/x64/lithium-codegen-x64.cc __ jmp(&allocated); __ 2959 src/x64/lithium-codegen-x64.cc __ bind(&slow); __ 2964 src/x64/lithium-codegen-x64.cc __ movq(tmp, rax); __ 2968 src/x64/lithium-codegen-x64.cc __ LoadFromSafepointRegisterSlot(input_reg, input_reg); __ 2970 src/x64/lithium-codegen-x64.cc __ bind(&allocated); __ 2971 src/x64/lithium-codegen-x64.cc __ movq(tmp2, FieldOperand(input_reg, HeapNumber::kValueOffset)); __ 2972 src/x64/lithium-codegen-x64.cc __ shl(tmp2, Immediate(1)); __ 2973 src/x64/lithium-codegen-x64.cc __ shr(tmp2, Immediate(1)); __ 2974 src/x64/lithium-codegen-x64.cc __ movq(FieldOperand(tmp, HeapNumber::kValueOffset), tmp2); __ 2975 src/x64/lithium-codegen-x64.cc __ StoreToSafepointRegisterSlot(input_reg, tmp); __ 2977 src/x64/lithium-codegen-x64.cc __ bind(&done); __ 2983 src/x64/lithium-codegen-x64.cc __ testl(input_reg, input_reg); __ 2985 src/x64/lithium-codegen-x64.cc __ j(not_sign, &is_positive); __ 2986 src/x64/lithium-codegen-x64.cc __ negl(input_reg); // Sets flags. __ 2988 src/x64/lithium-codegen-x64.cc __ bind(&is_positive); __ 3013 src/x64/lithium-codegen-x64.cc __ xorps(scratch, scratch); __ 3014 src/x64/lithium-codegen-x64.cc __ subsd(scratch, input_reg); __ 3015 src/x64/lithium-codegen-x64.cc __ andpd(input_reg, scratch); __ 3023 src/x64/lithium-codegen-x64.cc __ JumpIfNotSmi(input_reg, deferred->entry()); __ 3024 src/x64/lithium-codegen-x64.cc __ SmiToInteger32(input_reg, input_reg); __ 3026 src/x64/lithium-codegen-x64.cc __ Integer32ToSmi(input_reg, input_reg); __ 3027 src/x64/lithium-codegen-x64.cc __ bind(deferred->exit()); __ 3041 src/x64/lithium-codegen-x64.cc __ movq(output_reg, input_reg); __ 3042 src/x64/lithium-codegen-x64.cc __ subq(output_reg, Immediate(1)); __ 3045 src/x64/lithium-codegen-x64.cc __ roundsd(xmm_scratch, input_reg, Assembler::kRoundDown); __ 3046 src/x64/lithium-codegen-x64.cc __ cvttsd2si(output_reg, xmm_scratch); __ 3047 src/x64/lithium-codegen-x64.cc __ cmpl(output_reg, Immediate(0x80000000)); __ 3052 src/x64/lithium-codegen-x64.cc __ xorps(xmm_scratch, xmm_scratch); // Zero the register. __ 3053 src/x64/lithium-codegen-x64.cc __ ucomisd(input_reg, xmm_scratch); __ 3055 src/x64/lithium-codegen-x64.cc __ j(below, &negative_sign, Label::kNear); __ 3060 src/x64/lithium-codegen-x64.cc __ j(above, &positive_sign, Label::kNear); __ 3061 src/x64/lithium-codegen-x64.cc __ movmskpd(output_reg, input_reg); __ 3062 src/x64/lithium-codegen-x64.cc __ testq(output_reg, Immediate(1)); __ 3064 src/x64/lithium-codegen-x64.cc __ Set(output_reg, 0); __ 3065 src/x64/lithium-codegen-x64.cc __ jmp(&done); __ 3066 src/x64/lithium-codegen-x64.cc __ bind(&positive_sign); __ 3070 src/x64/lithium-codegen-x64.cc __ cvttsd2si(output_reg, input_reg); __ 3072 src/x64/lithium-codegen-x64.cc __ cmpl(output_reg, Immediate(0x80000000)); __ 3074 src/x64/lithium-codegen-x64.cc __ jmp(&done, Label::kNear); __ 3077 src/x64/lithium-codegen-x64.cc __ bind(&negative_sign); __ 3079 src/x64/lithium-codegen-x64.cc __ cvttsd2si(output_reg, input_reg); __ 3080 src/x64/lithium-codegen-x64.cc __ cvtlsi2sd(xmm_scratch, output_reg); __ 3081 src/x64/lithium-codegen-x64.cc __ ucomisd(input_reg, xmm_scratch); __ 3082 src/x64/lithium-codegen-x64.cc __ j(equal, &done, Label::kNear); __ 3083 src/x64/lithium-codegen-x64.cc __ subl(output_reg, Immediate(1)); __ 3086 src/x64/lithium-codegen-x64.cc __ bind(&done); __ 3098 src/x64/lithium-codegen-x64.cc __ movq(kScratchRegister, V8_INT64_C(0x3FE0000000000000), RelocInfo::NONE); __ 3099 src/x64/lithium-codegen-x64.cc __ movq(xmm_scratch, kScratchRegister); __ 3101 src/x64/lithium-codegen-x64.cc __ ucomisd(xmm_scratch, input_reg); __ 3103 src/x64/lithium-codegen-x64.cc __ j(above, &below_half, Label::kNear); __ 3108 src/x64/lithium-codegen-x64.cc __ addsd(xmm_scratch, input_reg); __ 3111 src/x64/lithium-codegen-x64.cc __ cvttsd2si(output_reg, xmm_scratch); __ 3113 src/x64/lithium-codegen-x64.cc __ cmpl(output_reg, Immediate(0x80000000)); __ 3115 src/x64/lithium-codegen-x64.cc __ jmp(&done); __ 3117 src/x64/lithium-codegen-x64.cc __ bind(&below_half); __ 3120 src/x64/lithium-codegen-x64.cc __ movq(output_reg, input_reg); __ 3121 src/x64/lithium-codegen-x64.cc __ testq(output_reg, output_reg); __ 3127 src/x64/lithium-codegen-x64.cc __ movq(kScratchRegister, V8_INT64_C(0xBFE0000000000000), RelocInfo::NONE); __ 3128 src/x64/lithium-codegen-x64.cc __ movq(xmm_scratch, kScratchRegister); __ 3129 src/x64/lithium-codegen-x64.cc __ ucomisd(input_reg, xmm_scratch); __ 3132 src/x64/lithium-codegen-x64.cc __ xorl(output_reg, output_reg); __ 3134 src/x64/lithium-codegen-x64.cc __ bind(&done); __ 3141 src/x64/lithium-codegen-x64.cc __ sqrtsd(input_reg, input_reg); __ 3156 src/x64/lithium-codegen-x64.cc __ movq(kScratchRegister, V8_INT64_C(0xFFF0000000000000), RelocInfo::NONE); __ 3157 src/x64/lithium-codegen-x64.cc __ movq(xmm_scratch, kScratchRegister); __ 3158 src/x64/lithium-codegen-x64.cc __ ucomisd(xmm_scratch, input_reg); __ 3161 src/x64/lithium-codegen-x64.cc __ j(not_equal, &sqrt, Label::kNear); __ 3162 src/x64/lithium-codegen-x64.cc __ j(carry, &sqrt, Label::kNear); __ 3164 src/x64/lithium-codegen-x64.cc __ xorps(input_reg, input_reg); __ 3165 src/x64/lithium-codegen-x64.cc __ subsd(input_reg, xmm_scratch); __ 3166 src/x64/lithium-codegen-x64.cc __ jmp(&done, Label::kNear); __ 3169 src/x64/lithium-codegen-x64.cc __ bind(&sqrt); __ 3170 src/x64/lithium-codegen-x64.cc __ xorps(xmm_scratch, xmm_scratch); __ 3171 src/x64/lithium-codegen-x64.cc __ addsd(input_reg, xmm_scratch); // Convert -0 to +0. __ 3172 src/x64/lithium-codegen-x64.cc __ sqrtsd(input_reg, input_reg); __ 3173 src/x64/lithium-codegen-x64.cc __ bind(&done); __ 3197 src/x64/lithium-codegen-x64.cc __ JumpIfSmi(exponent, &no_deopt); __ 3198 src/x64/lithium-codegen-x64.cc __ CmpObjectType(exponent, HEAP_NUMBER_TYPE, rcx); __ 3200 src/x64/lithium-codegen-x64.cc __ bind(&no_deopt); __ 3202 src/x64/lithium-codegen-x64.cc __ CallStub(&stub); __ 3205 src/x64/lithium-codegen-x64.cc __ CallStub(&stub); __ 3209 src/x64/lithium-codegen-x64.cc __ CallStub(&stub); __ 3244 src/x64/lithium-codegen-x64.cc __ movq(global_object, __ 3248 src/x64/lithium-codegen-x64.cc __ movq(rbx, FieldOperand(global_object, kRandomSeedOffset)); __ 3252 src/x64/lithium-codegen-x64.cc __ movl(rax, FieldOperand(rbx, ByteArray::kHeaderSize)); __ 3254 src/x64/lithium-codegen-x64.cc __ testl(rax, rax); __ 3255 src/x64/lithium-codegen-x64.cc __ j(zero, deferred->entry()); __ 3257 src/x64/lithium-codegen-x64.cc __ movl(rcx, FieldOperand(rbx, ByteArray::kHeaderSize + kSeedSize)); __ 3261 src/x64/lithium-codegen-x64.cc __ movl(rdx, rax); __ 3262 src/x64/lithium-codegen-x64.cc __ andl(rdx, Immediate(0xFFFF)); __ 3263 src/x64/lithium-codegen-x64.cc __ imull(rdx, rdx, Immediate(18273)); __ 3264 src/x64/lithium-codegen-x64.cc __ shrl(rax, Immediate(16)); __ 3265 src/x64/lithium-codegen-x64.cc __ addl(rax, rdx); __ 3267 src/x64/lithium-codegen-x64.cc __ movl(FieldOperand(rbx, ByteArray::kHeaderSize), rax); __ 3270 src/x64/lithium-codegen-x64.cc __ movl(rdx, rcx); __ 3271 src/x64/lithium-codegen-x64.cc __ andl(rdx, Immediate(0xFFFF)); __ 3272 src/x64/lithium-codegen-x64.cc __ imull(rdx, rdx, Immediate(36969)); __ 3273 src/x64/lithium-codegen-x64.cc __ shrl(rcx, Immediate(16)); __ 3274 src/x64/lithium-codegen-x64.cc __ addl(rcx, rdx); __ 3276 src/x64/lithium-codegen-x64.cc __ movl(FieldOperand(rbx, ByteArray::kHeaderSize + kSeedSize), rcx); __ 3279 src/x64/lithium-codegen-x64.cc __ shll(rax, Immediate(14)); __ 3280 src/x64/lithium-codegen-x64.cc __ andl(rcx, Immediate(0x3FFFF)); __ 3281 src/x64/lithium-codegen-x64.cc __ addl(rax, rcx); __ 3283 src/x64/lithium-codegen-x64.cc __ bind(deferred->exit()); __ 3287 src/x64/lithium-codegen-x64.cc __ movl(rcx, Immediate(0x49800000)); // 1.0 x 2^20 as single. __ 3288 src/x64/lithium-codegen-x64.cc __ movd(xmm2, rcx); __ 3289 src/x64/lithium-codegen-x64.cc __ movd(xmm1, rax); __ 3290 src/x64/lithium-codegen-x64.cc __ cvtss2sd(xmm2, xmm2); __ 3291 src/x64/lithium-codegen-x64.cc __ xorps(xmm1, xmm2); __ 3292 src/x64/lithium-codegen-x64.cc __ subsd(xmm1, xmm2); __ 3297 src/x64/lithium-codegen-x64.cc __ PrepareCallCFunction(1); __ 3298 src/x64/lithium-codegen-x64.cc __ CallCFunction(ExternalReference::random_uint32_function(isolate()), 1); __ 3299 src/x64/lithium-codegen-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 3381 src/x64/lithium-codegen-x64.cc __ InvokeFunction(rdi, count, CALL_FUNCTION, generator, CALL_AS_METHOD); __ 3382 src/x64/lithium-codegen-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 3401 src/x64/lithium-codegen-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 3412 src/x64/lithium-codegen-x64.cc __ Move(rcx, instr->name()); __ 3414 src/x64/lithium-codegen-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 3425 src/x64/lithium-codegen-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 3435 src/x64/lithium-codegen-x64.cc __ Move(rcx, instr->name()); __ 3437 src/x64/lithium-codegen-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 3456 src/x64/lithium-codegen-x64.cc __ Set(rax, instr->arity()); __ 3473 src/x64/lithium-codegen-x64.cc __ Move(FieldOperand(object, HeapObject::kMapOffset), __ 3477 src/x64/lithium-codegen-x64.cc __ Move(kScratchRegister, instr->transition()); __ 3478 src/x64/lithium-codegen-x64.cc __ movq(FieldOperand(object, HeapObject::kMapOffset), kScratchRegister); __ 3480 src/x64/lithium-codegen-x64.cc __ RecordWriteField(object, __ 3495 src/x64/lithium-codegen-x64.cc __ movq(FieldOperand(object, offset), value); __ 3499 src/x64/lithium-codegen-x64.cc __ RecordWriteField(object, __ 3509 src/x64/lithium-codegen-x64.cc __ movq(temp, FieldOperand(object, JSObject::kPropertiesOffset)); __ 3510 src/x64/lithium-codegen-x64.cc __ movq(FieldOperand(temp, offset), value); __ 3514 src/x64/lithium-codegen-x64.cc __ RecordWriteField(temp, __ 3530 src/x64/lithium-codegen-x64.cc __ Move(rcx, instr->hydrogen()->name()); __ 3551 src/x64/lithium-codegen-x64.cc __ movsxlq(key_reg, key_reg); __ 3556 src/x64/lithium-codegen-x64.cc __ cvtsd2ss(value, value); __ 3557 src/x64/lithium-codegen-x64.cc __ movss(operand, value); __ 3559 src/x64/lithium-codegen-x64.cc __ movsd(operand, ToDoubleRegister(instr->value())); __ 3566 src/x64/lithium-codegen-x64.cc __ movb(operand, value); __ 3570 src/x64/lithium-codegen-x64.cc __ movw(operand, value); __ 3574 src/x64/lithium-codegen-x64.cc __ movl(operand, value); __ 3597 src/x64/lithium-codegen-x64.cc __ AbortIfNotZeroExtended(reg); __ 3600 src/x64/lithium-codegen-x64.cc __ cmpq(reg, __ 3605 src/x64/lithium-codegen-x64.cc __ AbortIfNotZeroExtended(reg2); __ 3607 src/x64/lithium-codegen-x64.cc __ cmpq(reg, reg2); __ 3611 src/x64/lithium-codegen-x64.cc __ cmpq(ToOperand(instr->length()), __ 3614 src/x64/lithium-codegen-x64.cc __ cmpq(ToOperand(instr->length()), ToRegister(instr->index())); __ 3637 src/x64/lithium-codegen-x64.cc __ movsxlq(key_reg, key_reg); __ 3640 src/x64/lithium-codegen-x64.cc __ movq(operand, value); __ 3648 src/x64/lithium-codegen-x64.cc __ lea(key, operand); __ 3649 src/x64/lithium-codegen-x64.cc __ RecordWrite(elements, __ 3666 src/x64/lithium-codegen-x64.cc __ ucomisd(value, value); __ 3667 src/x64/lithium-codegen-x64.cc __ j(parity_odd, &have_value); // NaN. __ 3669 src/x64/lithium-codegen-x64.cc __ Set(kScratchRegister, BitCast<uint64_t>( __ 3671 src/x64/lithium-codegen-x64.cc __ movq(value, kScratchRegister); __ 3673 src/x64/lithium-codegen-x64.cc __ bind(&have_value); __ 3687 src/x64/lithium-codegen-x64.cc __ movsxlq(key_reg, key_reg); __ 3690 src/x64/lithium-codegen-x64.cc __ movsd(double_store_operand, value); __ 3715 src/x64/lithium-codegen-x64.cc __ Cmp(FieldOperand(object_reg, HeapObject::kMapOffset), from_map); __ 3716 src/x64/lithium-codegen-x64.cc __ j(not_equal, ¬_applicable); __ 3717 src/x64/lithium-codegen-x64.cc __ movq(new_map_reg, to_map, RelocInfo::EMBEDDED_OBJECT); __ 3719 src/x64/lithium-codegen-x64.cc __ movq(FieldOperand(object_reg, HeapObject::kMapOffset), new_map_reg); __ 3722 src/x64/lithium-codegen-x64.cc __ RecordWriteField(object_reg, HeapObject::kMapOffset, new_map_reg, __ 3729 src/x64/lithium-codegen-x64.cc __ movq(fixed_object_reg, object_reg); __ 3737 src/x64/lithium-codegen-x64.cc __ movq(fixed_object_reg, object_reg); __ 3743 src/x64/lithium-codegen-x64.cc __ bind(¬_applicable); __ 3774 src/x64/lithium-codegen-x64.cc __ bind(deferred->exit()); __ 3785 src/x64/lithium-codegen-x64.cc __ Set(result, 0); __ 3788 src/x64/lithium-codegen-x64.cc __ push(string); __ 3794 src/x64/lithium-codegen-x64.cc __ Push(Smi::FromInt(const_index)); __ 3797 src/x64/lithium-codegen-x64.cc __ Integer32ToSmi(index, index); __ 3798 src/x64/lithium-codegen-x64.cc __ push(index); __ 3802 src/x64/lithium-codegen-x64.cc __ AbortIfNotSmi(rax); __ 3804 src/x64/lithium-codegen-x64.cc __ SmiToInteger32(rax, rax); __ 3805 src/x64/lithium-codegen-x64.cc __ StoreToSafepointRegisterSlot(result, rax); __ 3828 src/x64/lithium-codegen-x64.cc __ cmpl(char_code, Immediate(String::kMaxAsciiCharCode)); __ 3829 src/x64/lithium-codegen-x64.cc __ j(above, deferred->entry()); __ 3830 src/x64/lithium-codegen-x64.cc __ LoadRoot(result, Heap::kSingleCharacterStringCacheRootIndex); __ 3831 src/x64/lithium-codegen-x64.cc __ movq(result, FieldOperand(result, __ 3834 src/x64/lithium-codegen-x64.cc __ CompareRoot(result, Heap::kUndefinedValueRootIndex); __ 3835 src/x64/lithium-codegen-x64.cc __ j(equal, deferred->entry()); __ 3836 src/x64/lithium-codegen-x64.cc __ bind(deferred->exit()); __ 3847 src/x64/lithium-codegen-x64.cc __ Set(result, 0); __ 3850 src/x64/lithium-codegen-x64.cc __ Integer32ToSmi(char_code, char_code); __ 3851 src/x64/lithium-codegen-x64.cc __ push(char_code); __ 3853 src/x64/lithium-codegen-x64.cc __ StoreToSafepointRegisterSlot(result, rax); __ 3860 src/x64/lithium-codegen-x64.cc __ movq(result, FieldOperand(string, String::kLengthOffset)); __ 3870 src/x64/lithium-codegen-x64.cc __ cvtlsi2sd(ToDoubleRegister(output), ToRegister(input)); __ 3872 src/x64/lithium-codegen-x64.cc __ cvtlsi2sd(ToDoubleRegister(output), ToOperand(input)); __ 3882 src/x64/lithium-codegen-x64.cc __ Integer32ToSmi(reg, reg); __ 3903 src/x64/lithium-codegen-x64.cc __ AllocateHeapNumber(reg, tmp, deferred->entry()); __ 3905 src/x64/lithium-codegen-x64.cc __ jmp(deferred->entry()); __ 3907 src/x64/lithium-codegen-x64.cc __ bind(deferred->exit()); __ 3908 src/x64/lithium-codegen-x64.cc __ movsd(FieldOperand(reg, HeapNumber::kValueOffset), input_reg); __ 3917 src/x64/lithium-codegen-x64.cc __ Move(reg, Smi::FromInt(0)); __ 3923 src/x64/lithium-codegen-x64.cc __ movq(kScratchRegister, rax); __ 3925 src/x64/lithium-codegen-x64.cc __ movq(reg, kScratchRegister); __ 3933 src/x64/lithium-codegen-x64.cc __ Integer32ToSmi(input, input); __ 3941 src/x64/lithium-codegen-x64.cc Condition is_smi = __ CheckSmi(input); __ 3945 src/x64/lithium-codegen-x64.cc __ AbortIfNotSmi(input); __ 3948 src/x64/lithium-codegen-x64.cc __ SmiToInteger32(input, input); __ 3960 src/x64/lithium-codegen-x64.cc __ JumpIfSmi(input_reg, &load_smi, Label::kNear); __ 3963 src/x64/lithium-codegen-x64.cc __ CompareRoot(FieldOperand(input_reg, HeapObject::kMapOffset), __ 3969 src/x64/lithium-codegen-x64.cc __ j(equal, &heap_number, Label::kNear); __ 3971 src/x64/lithium-codegen-x64.cc __ CompareRoot(input_reg, Heap::kUndefinedValueRootIndex); __ 3975 src/x64/lithium-codegen-x64.cc __ xorps(result_reg, result_reg); __ 3976 src/x64/lithium-codegen-x64.cc __ divsd(result_reg, result_reg); __ 3977 src/x64/lithium-codegen-x64.cc __ jmp(&done, Label::kNear); __ 3979 src/x64/lithium-codegen-x64.cc __ bind(&heap_number); __ 3982 src/x64/lithium-codegen-x64.cc __ movsd(result_reg, FieldOperand(input_reg, HeapNumber::kValueOffset)); __ 3985 src/x64/lithium-codegen-x64.cc __ xorps(xmm_scratch, xmm_scratch); __ 3986 src/x64/lithium-codegen-x64.cc __ ucomisd(xmm_scratch, result_reg); __ 3987 src/x64/lithium-codegen-x64.cc __ j(not_equal, &done, Label::kNear); __ 3988 src/x64/lithium-codegen-x64.cc __ movmskpd(kScratchRegister, result_reg); __ 3989 src/x64/lithium-codegen-x64.cc __ testq(kScratchRegister, Immediate(1)); __ 3992 src/x64/lithium-codegen-x64.cc __ jmp(&done, Label::kNear); __ 3995 src/x64/lithium-codegen-x64.cc __ bind(&load_smi); __ 3996 src/x64/lithium-codegen-x64.cc __ SmiToInteger32(kScratchRegister, input_reg); __ 3997 src/x64/lithium-codegen-x64.cc __ cvtlsi2sd(result_reg, kScratchRegister); __ 3998 src/x64/lithium-codegen-x64.cc __ bind(&done); __ 4007 src/x64/lithium-codegen-x64.cc __ CompareRoot(FieldOperand(input_reg, HeapObject::kMapOffset), __ 4011 src/x64/lithium-codegen-x64.cc __ j(equal, &heap_number, Label::kNear); __ 4014 src/x64/lithium-codegen-x64.cc __ CompareRoot(input_reg, Heap::kUndefinedValueRootIndex); __ 4016 src/x64/lithium-codegen-x64.cc __ Set(input_reg, 0); __ 4017 src/x64/lithium-codegen-x64.cc __ jmp(&done, Label::kNear); __ 4019 src/x64/lithium-codegen-x64.cc __ bind(&heap_number); __ 4021 src/x64/lithium-codegen-x64.cc __ movsd(xmm0, FieldOperand(input_reg, HeapNumber::kValueOffset)); __ 4022 src/x64/lithium-codegen-x64.cc __ cvttsd2siq(input_reg, xmm0); __ 4023 src/x64/lithium-codegen-x64.cc __ Set(kScratchRegister, V8_UINT64_C(0x8000000000000000)); __ 4024 src/x64/lithium-codegen-x64.cc __ cmpq(input_reg, kScratchRegister); __ 4031 src/x64/lithium-codegen-x64.cc __ movsd(xmm0, FieldOperand(input_reg, HeapNumber::kValueOffset)); __ 4032 src/x64/lithium-codegen-x64.cc __ cvttsd2si(input_reg, xmm0); __ 4033 src/x64/lithium-codegen-x64.cc __ cvtlsi2sd(xmm_temp, input_reg); __ 4034 src/x64/lithium-codegen-x64.cc __ ucomisd(xmm0, xmm_temp); __ 4038 src/x64/lithium-codegen-x64.cc __ testl(input_reg, input_reg); __ 4039 src/x64/lithium-codegen-x64.cc __ j(not_zero, &done); __ 4040 src/x64/lithium-codegen-x64.cc __ movmskpd(input_reg, xmm0); __ 4041 src/x64/lithium-codegen-x64.cc __ andl(input_reg, Immediate(1)); __ 4045 src/x64/lithium-codegen-x64.cc __ bind(&done); __ 4066 src/x64/lithium-codegen-x64.cc __ JumpIfNotSmi(input_reg, deferred->entry()); __ 4067 src/x64/lithium-codegen-x64.cc __ SmiToInteger32(input_reg, input_reg); __ 4068 src/x64/lithium-codegen-x64.cc __ bind(deferred->exit()); __ 4100 src/x64/lithium-codegen-x64.cc __ cvttsd2siq(result_reg, input_reg); __ 4101 src/x64/lithium-codegen-x64.cc __ movq(kScratchRegister, V8_INT64_C(0x8000000000000000), RelocInfo::NONE); __ 4102 src/x64/lithium-codegen-x64.cc __ cmpq(result_reg, kScratchRegister); __ 4105 src/x64/lithium-codegen-x64.cc __ cvttsd2si(result_reg, input_reg); __ 4106 src/x64/lithium-codegen-x64.cc __ cvtlsi2sd(xmm0, result_reg); __ 4107 src/x64/lithium-codegen-x64.cc __ ucomisd(xmm0, input_reg); __ 4114 src/x64/lithium-codegen-x64.cc __ testl(result_reg, result_reg); __ 4115 src/x64/lithium-codegen-x64.cc __ j(not_zero, &done, Label::kNear); __ 4116 src/x64/lithium-codegen-x64.cc __ movmskpd(result_reg, input_reg); __ 4120 src/x64/lithium-codegen-x64.cc __ andl(result_reg, Immediate(1)); __ 4122 src/x64/lithium-codegen-x64.cc __ bind(&done); __ 4145 src/x64/lithium-codegen-x64.cc __ movq(kScratchRegister, FieldOperand(input, HeapObject::kMapOffset)); __ 4152 src/x64/lithium-codegen-x64.cc __ cmpb(FieldOperand(kScratchRegister, Map::kInstanceTypeOffset), __ 4162 src/x64/lithium-codegen-x64.cc __ cmpb(FieldOperand(kScratchRegister, Map::kInstanceTypeOffset), __ 4174 src/x64/lithium-codegen-x64.cc __ testb(FieldOperand(kScratchRegister, Map::kInstanceTypeOffset), __ 4178 src/x64/lithium-codegen-x64.cc __ movzxbl(kScratchRegister, __ 4180 src/x64/lithium-codegen-x64.cc __ andb(kScratchRegister, Immediate(mask)); __ 4181 src/x64/lithium-codegen-x64.cc __ cmpb(kScratchRegister, Immediate(tag)); __ 4194 src/x64/lithium-codegen-x64.cc __ movq(kScratchRegister, cell, RelocInfo::GLOBAL_PROPERTY_CELL); __ 4195 src/x64/lithium-codegen-x64.cc __ cmpq(reg, Operand(kScratchRegister, 0)); __ 4197 src/x64/lithium-codegen-x64.cc __ Cmp(reg, target); __ 4208 src/x64/lithium-codegen-x64.cc __ CompareMap(reg, map, &success, mode); __ 4210 src/x64/lithium-codegen-x64.cc __ bind(&success); __ 4223 src/x64/lithium-codegen-x64.cc __ CompareMap(reg, map, &success, REQUIRE_EXACT_MAP); __ 4224 src/x64/lithium-codegen-x64.cc __ j(equal, &success); __ 4228 src/x64/lithium-codegen-x64.cc __ bind(&success); __ 4236 src/x64/lithium-codegen-x64.cc __ ClampDoubleToUint8(value_reg, xmm0, result_reg, temp_reg); __ 4243 src/x64/lithium-codegen-x64.cc __ ClampUint8(value_reg); __ 4254 src/x64/lithium-codegen-x64.cc __ JumpIfSmi(input_reg, &is_smi); __ 4257 src/x64/lithium-codegen-x64.cc __ Cmp(FieldOperand(input_reg, HeapObject::kMapOffset), __ 4259 src/x64/lithium-codegen-x64.cc __ j(equal, &heap_number, Label::kNear); __ 4263 src/x64/lithium-codegen-x64.cc __ Cmp(input_reg, factory()->undefined_value()); __ 4265 src/x64/lithium-codegen-x64.cc __ movq(input_reg, Immediate(0)); __ 4266 src/x64/lithium-codegen-x64.cc __ jmp(&done, Label::kNear); __ 4269 src/x64/lithium-codegen-x64.cc __ bind(&heap_number); __ 4270 src/x64/lithium-codegen-x64.cc __ movsd(xmm0, FieldOperand(input_reg, HeapNumber::kValueOffset)); __ 4271 src/x64/lithium-codegen-x64.cc __ ClampDoubleToUint8(xmm0, temp_xmm_reg, input_reg, temp_reg); __ 4272 src/x64/lithium-codegen-x64.cc __ jmp(&done, Label::kNear); __ 4275 src/x64/lithium-codegen-x64.cc __ bind(&is_smi); __ 4276 src/x64/lithium-codegen-x64.cc __ SmiToInteger32(input_reg, input_reg); __ 4277 src/x64/lithium-codegen-x64.cc __ ClampUint8(input_reg); __ 4279 src/x64/lithium-codegen-x64.cc __ bind(&done); __ 4290 src/x64/lithium-codegen-x64.cc __ LoadHeapObject(reg, current_prototype); __ 4299 src/x64/lithium-codegen-x64.cc __ LoadHeapObject(reg, current_prototype); __ 4335 src/x64/lithium-codegen-x64.cc __ AllocateInNewSpace(instance_size, __ 4342 src/x64/lithium-codegen-x64.cc __ bind(deferred->exit()); __ 4345 src/x64/lithium-codegen-x64.cc __ JumpIfInNewSpace(result, scratch, &is_in_new_space); __ 4346 src/x64/lithium-codegen-x64.cc __ Abort("Allocated object is not in new-space"); __ 4347 src/x64/lithium-codegen-x64.cc __ bind(&is_in_new_space); __ 4352 src/x64/lithium-codegen-x64.cc __ LoadHeapObject(scratch, constructor); __ 4353 src/x64/lithium-codegen-x64.cc __ movq(map, FieldOperand(scratch, JSFunction::kPrototypeOrInitialMapOffset)); __ 4356 src/x64/lithium-codegen-x64.cc __ AbortIfSmi(map); __ 4357 src/x64/lithium-codegen-x64.cc __ cmpb(FieldOperand(map, Map::kInstanceSizeOffset), __ 4359 src/x64/lithium-codegen-x64.cc __ Assert(equal, "Unexpected instance size"); __ 4360 src/x64/lithium-codegen-x64.cc __ cmpb(FieldOperand(map, Map::kPreAllocatedPropertyFieldsOffset), __ 4362 src/x64/lithium-codegen-x64.cc __ Assert(equal, "Unexpected pre-allocated property fields count"); __ 4363 src/x64/lithium-codegen-x64.cc __ cmpb(FieldOperand(map, Map::kUnusedPropertyFieldsOffset), __ 4365 src/x64/lithium-codegen-x64.cc __ Assert(equal, "Unexpected unused property fields count"); __ 4366 src/x64/lithium-codegen-x64.cc __ cmpb(FieldOperand(map, Map::kInObjectPropertiesOffset), __ 4368 src/x64/lithium-codegen-x64.cc __ Assert(equal, "Unexpected in-object property fields count"); __ 4373 src/x64/lithium-codegen-x64.cc __ movq(FieldOperand(result, JSObject::kMapOffset), map); __ 4374 src/x64/lithium-codegen-x64.cc __ LoadRoot(scratch, Heap::kEmptyFixedArrayRootIndex); __ 4375 src/x64/lithium-codegen-x64.cc __ movq(FieldOperand(result, JSObject::kElementsOffset), scratch); __ 4376 src/x64/lithium-codegen-x64.cc __ movq(FieldOperand(result, JSObject::kPropertiesOffset), scratch); __ 4378 src/x64/lithium-codegen-x64.cc __ LoadRoot(scratch, Heap::kUndefinedValueRootIndex); __ 4381 src/x64/lithium-codegen-x64.cc __ movq(FieldOperand(result, property_offset), scratch); __ 4396 src/x64/lithium-codegen-x64.cc __ Set(result, 0); __ 4399 src/x64/lithium-codegen-x64.cc __ Push(Smi::FromInt(instance_size)); __ 4401 src/x64/lithium-codegen-x64.cc __ StoreToSafepointRegisterSlot(result, rax); __ 4415 src/x64/lithium-codegen-x64.cc __ LoadHeapObject(rax, instr->hydrogen()->boilerplate_object()); __ 4416 src/x64/lithium-codegen-x64.cc __ movq(rbx, FieldOperand(rax, HeapObject::kMapOffset)); __ 4418 src/x64/lithium-codegen-x64.cc __ movb(rbx, FieldOperand(rbx, Map::kBitField2Offset)); __ 4420 src/x64/lithium-codegen-x64.cc __ and_(rbx, Immediate(Map::kElementsKindMask)); __ 4421 src/x64/lithium-codegen-x64.cc __ cmpb(rbx, Immediate(boilerplate_elements_kind << __ 4427 src/x64/lithium-codegen-x64.cc __ PushHeapObject(literals); __ 4428 src/x64/lithium-codegen-x64.cc __ Push(Smi::FromInt(instr->hydrogen()->literal_index())); __ 4431 src/x64/lithium-codegen-x64.cc __ Push(isolate()->factory()->empty_fixed_array()); __ 4482 src/x64/lithium-codegen-x64.cc __ lea(rcx, Operand(result, elements_offset)); __ 4484 src/x64/lithium-codegen-x64.cc __ movq(rcx, FieldOperand(source, i)); __ 4486 src/x64/lithium-codegen-x64.cc __ movq(FieldOperand(result, object_offset + i), rcx); __ 4495 src/x64/lithium-codegen-x64.cc __ lea(rcx, Operand(result, *offset)); __ 4496 src/x64/lithium-codegen-x64.cc __ movq(FieldOperand(result, total_offset), rcx); __ 4497 src/x64/lithium-codegen-x64.cc __ LoadHeapObject(source, value_object); __ 4500 src/x64/lithium-codegen-x64.cc __ LoadHeapObject(rcx, Handle<HeapObject>::cast(value)); __ 4501 src/x64/lithium-codegen-x64.cc __ movq(FieldOperand(result, total_offset), rcx); __ 4503 src/x64/lithium-codegen-x64.cc __ movq(rcx, value, RelocInfo::NONE); __ 4504 src/x64/lithium-codegen-x64.cc __ movq(FieldOperand(result, total_offset), rcx); __ 4510 src/x64/lithium-codegen-x64.cc __ LoadHeapObject(source, elements); __ 4512 src/x64/lithium-codegen-x64.cc __ movq(rcx, FieldOperand(source, i)); __ 4513 src/x64/lithium-codegen-x64.cc __ movq(FieldOperand(result, elements_offset + i), rcx); __ 4525 src/x64/lithium-codegen-x64.cc __ movq(rcx, value, RelocInfo::NONE); __ 4526 src/x64/lithium-codegen-x64.cc __ movq(FieldOperand(result, total_offset), rcx); __ 4535 src/x64/lithium-codegen-x64.cc __ lea(rcx, Operand(result, *offset)); __ 4536 src/x64/lithium-codegen-x64.cc __ movq(FieldOperand(result, total_offset), rcx); __ 4537 src/x64/lithium-codegen-x64.cc __ LoadHeapObject(source, value_object); __ 4540 src/x64/lithium-codegen-x64.cc __ LoadHeapObject(rcx, Handle<HeapObject>::cast(value)); __ 4541 src/x64/lithium-codegen-x64.cc __ movq(FieldOperand(result, total_offset), rcx); __ 4543 src/x64/lithium-codegen-x64.cc __ movq(rcx, value, RelocInfo::NONE); __ 4544 src/x64/lithium-codegen-x64.cc __ movq(FieldOperand(result, total_offset), rcx); __ 4564 src/x64/lithium-codegen-x64.cc __ LoadHeapObject(rbx, instr->hydrogen()->boilerplate()); __ 4565 src/x64/lithium-codegen-x64.cc __ movq(rcx, FieldOperand(rbx, HeapObject::kMapOffset)); __ 4567 src/x64/lithium-codegen-x64.cc __ movb(rcx, FieldOperand(rcx, Map::kBitField2Offset)); __ 4569 src/x64/lithium-codegen-x64.cc __ and_(rcx, Immediate(Map::kElementsKindMask)); __ 4570 src/x64/lithium-codegen-x64.cc __ cmpb(rcx, Immediate(boilerplate_elements_kind << __ 4578 src/x64/lithium-codegen-x64.cc __ AllocateInNewSpace(size, rax, rcx, rdx, &runtime_allocate, TAG_OBJECT); __ 4579 src/x64/lithium-codegen-x64.cc __ jmp(&allocated); __ 4581 src/x64/lithium-codegen-x64.cc __ bind(&runtime_allocate); __ 4582 src/x64/lithium-codegen-x64.cc __ Push(Smi::FromInt(size)); __ 4585 src/x64/lithium-codegen-x64.cc __ bind(&allocated); __ 4587 src/x64/lithium-codegen-x64.cc __ LoadHeapObject(rbx, instr->hydrogen()->boilerplate()); __ 4599 src/x64/lithium-codegen-x64.cc __ PushHeapObject(literals); __ 4600 src/x64/lithium-codegen-x64.cc __ Push(Smi::FromInt(instr->hydrogen()->literal_index())); __ 4601 src/x64/lithium-codegen-x64.cc __ Push(constant_properties); __ 4608 src/x64/lithium-codegen-x64.cc __ Push(Smi::FromInt(flags)); __ 4626 src/x64/lithium-codegen-x64.cc __ push(rax); __ 4639 src/x64/lithium-codegen-x64.cc __ LoadHeapObject(rcx, instr->hydrogen()->literals()); __ 4640 src/x64/lithium-codegen-x64.cc __ movq(rbx, FieldOperand(rcx, literal_offset)); __ 4641 src/x64/lithium-codegen-x64.cc __ CompareRoot(rbx, Heap::kUndefinedValueRootIndex); __ 4642 src/x64/lithium-codegen-x64.cc __ j(not_equal, &materialized, Label::kNear); __ 4646 src/x64/lithium-codegen-x64.cc __ push(rcx); __ 4647 src/x64/lithium-codegen-x64.cc __ Push(Smi::FromInt(instr->hydrogen()->literal_index())); __ 4648 src/x64/lithium-codegen-x64.cc __ Push(instr->hydrogen()->pattern()); __ 4649 src/x64/lithium-codegen-x64.cc __ Push(instr->hydrogen()->flags()); __ 4651 src/x64/lithium-codegen-x64.cc __ movq(rbx, rax); __ 4653 src/x64/lithium-codegen-x64.cc __ bind(&materialized); __ 4656 src/x64/lithium-codegen-x64.cc __ AllocateInNewSpace(size, rax, rcx, rdx, &runtime_allocate, TAG_OBJECT); __ 4657 src/x64/lithium-codegen-x64.cc __ jmp(&allocated); __ 4659 src/x64/lithium-codegen-x64.cc __ bind(&runtime_allocate); __ 4660 src/x64/lithium-codegen-x64.cc __ push(rbx); __ 4661 src/x64/lithium-codegen-x64.cc __ Push(Smi::FromInt(size)); __ 4663 src/x64/lithium-codegen-x64.cc __ pop(rbx); __ 4665 src/x64/lithium-codegen-x64.cc __ bind(&allocated); __ 4669 src/x64/lithium-codegen-x64.cc __ movq(rdx, FieldOperand(rbx, i)); __ 4670 src/x64/lithium-codegen-x64.cc __ movq(rcx, FieldOperand(rbx, i + kPointerSize)); __ 4671 src/x64/lithium-codegen-x64.cc __ movq(FieldOperand(rax, i), rdx); __ 4672 src/x64/lithium-codegen-x64.cc __ movq(FieldOperand(rax, i + kPointerSize), rcx); __ 4675 src/x64/lithium-codegen-x64.cc __ movq(rdx, FieldOperand(rbx, size - kPointerSize)); __ 4676 src/x64/lithium-codegen-x64.cc __ movq(FieldOperand(rax, size - kPointerSize), rdx); __ 4688 src/x64/lithium-codegen-x64.cc __ Push(shared_info); __ 4691 src/x64/lithium-codegen-x64.cc __ push(rsi); __ 4692 src/x64/lithium-codegen-x64.cc __ Push(shared_info); __ 4693 src/x64/lithium-codegen-x64.cc __ PushRoot(pretenure ? __ 4713 src/x64/lithium-codegen-x64.cc __ Push(Handle<Smi>::cast(object)); __ 4715 src/x64/lithium-codegen-x64.cc __ PushHeapObject(Handle<HeapObject>::cast(object)); __ 4718 src/x64/lithium-codegen-x64.cc __ push(ToRegister(operand)); __ 4720 src/x64/lithium-codegen-x64.cc __ push(ToOperand(operand)); __ 4746 src/x64/lithium-codegen-x64.cc __ JumpIfSmi(input, true_label); __ 4747 src/x64/lithium-codegen-x64.cc __ CompareRoot(FieldOperand(input, HeapObject::kMapOffset), __ 4753 src/x64/lithium-codegen-x64.cc __ JumpIfSmi(input, false_label); __ 4754 src/x64/lithium-codegen-x64.cc __ CmpObjectType(input, FIRST_NONSTRING_TYPE, input); __ 4755 src/x64/lithium-codegen-x64.cc __ j(above_equal, false_label); __ 4756 src/x64/lithium-codegen-x64.cc __ testb(FieldOperand(input, Map::kBitFieldOffset), __ 4761 src/x64/lithium-codegen-x64.cc __ CompareRoot(input, Heap::kTrueValueRootIndex); __ 4762 src/x64/lithium-codegen-x64.cc __ j(equal, true_label); __ 4763 src/x64/lithium-codegen-x64.cc __ CompareRoot(input, Heap::kFalseValueRootIndex); __ 4767 src/x64/lithium-codegen-x64.cc __ CompareRoot(input, Heap::kNullValueRootIndex); __ 4771 src/x64/lithium-codegen-x64.cc __ CompareRoot(input, Heap::kUndefinedValueRootIndex); __ 4772 src/x64/lithium-codegen-x64.cc __ j(equal, true_label); __ 4773 src/x64/lithium-codegen-x64.cc __ JumpIfSmi(input, false_label); __ 4775 src/x64/lithium-codegen-x64.cc __ movq(input, FieldOperand(input, HeapObject::kMapOffset)); __ 4776 src/x64/lithium-codegen-x64.cc __ testb(FieldOperand(input, Map::kBitFieldOffset), __ 4782 src/x64/lithium-codegen-x64.cc __ JumpIfSmi(input, false_label); __ 4783 src/x64/lithium-codegen-x64.cc __ CmpObjectType(input, JS_FUNCTION_TYPE, input); __ 4784 src/x64/lithium-codegen-x64.cc __ j(equal, true_label); __ 4785 src/x64/lithium-codegen-x64.cc __ CmpInstanceType(input, JS_FUNCTION_PROXY_TYPE); __ 4789 src/x64/lithium-codegen-x64.cc __ JumpIfSmi(input, false_label); __ 4791 src/x64/lithium-codegen-x64.cc __ CompareRoot(input, Heap::kNullValueRootIndex); __ 4792 src/x64/lithium-codegen-x64.cc __ j(equal, true_label); __ 4794 src/x64/lithium-codegen-x64.cc __ CmpObjectType(input, FIRST_NONCALLABLE_SPEC_OBJECT_TYPE, input); __ 4795 src/x64/lithium-codegen-x64.cc __ j(below, false_label); __ 4796 src/x64/lithium-codegen-x64.cc __ CmpInstanceType(input, LAST_NONCALLABLE_SPEC_OBJECT_TYPE); __ 4797 src/x64/lithium-codegen-x64.cc __ j(above, false_label); __ 4799 src/x64/lithium-codegen-x64.cc __ testb(FieldOperand(input, Map::kBitFieldOffset), __ 4804 src/x64/lithium-codegen-x64.cc __ jmp(false_label); __ 4823 src/x64/lithium-codegen-x64.cc __ movq(temp, Operand(rbp, StandardFrameConstants::kCallerFPOffset)); __ 4827 src/x64/lithium-codegen-x64.cc __ Cmp(Operand(temp, StandardFrameConstants::kContextOffset), __ 4829 src/x64/lithium-codegen-x64.cc __ j(not_equal, &check_frame_marker, Label::kNear); __ 4830 src/x64/lithium-codegen-x64.cc __ movq(temp, Operand(rax, StandardFrameConstants::kCallerFPOffset)); __ 4833 src/x64/lithium-codegen-x64.cc __ bind(&check_frame_marker); __ 4834 src/x64/lithium-codegen-x64.cc __ Cmp(Operand(temp, StandardFrameConstants::kMarkerOffset), __ 4845 src/x64/lithium-codegen-x64.cc __ Nop(padding_size); __ 4878 src/x64/lithium-codegen-x64.cc __ Push(Smi::FromInt(strict_mode_flag())); __ 4879 src/x64/lithium-codegen-x64.cc __ InvokeBuiltin(Builtins::DELETE, CALL_FUNCTION, safepoint_generator); __ 4893 src/x64/lithium-codegen-x64.cc __ InvokeBuiltin(Builtins::IN, CALL_FUNCTION, safepoint_generator); __ 4899 src/x64/lithium-codegen-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 4900 src/x64/lithium-codegen-x64.cc __ CallRuntimeSaveDoubles(Runtime::kStackGuard); __ 4926 src/x64/lithium-codegen-x64.cc __ CompareRoot(rsp, Heap::kStackLimitRootIndex); __ 4927 src/x64/lithium-codegen-x64.cc __ j(above_equal, &done, Label::kNear); __ 4932 src/x64/lithium-codegen-x64.cc __ bind(&done); __ 4940 src/x64/lithium-codegen-x64.cc __ CompareRoot(rsp, Heap::kStackLimitRootIndex); __ 4941 src/x64/lithium-codegen-x64.cc __ j(below, deferred_stack_check->entry()); __ 4944 src/x64/lithium-codegen-x64.cc __ bind(instr->done_label()); __ 4972 src/x64/lithium-codegen-x64.cc __ CompareRoot(rax, Heap::kUndefinedValueRootIndex); __ 4976 src/x64/lithium-codegen-x64.cc __ LoadRoot(null_value, Heap::kNullValueRootIndex); __ 4977 src/x64/lithium-codegen-x64.cc __ cmpq(rax, null_value); __ 4984 src/x64/lithium-codegen-x64.cc __ CmpObjectType(rax, LAST_JS_PROXY_TYPE, rcx); __ 4988 src/x64/lithium-codegen-x64.cc __ CheckEnumCache(null_value, &call_runtime); __ 4990 src/x64/lithium-codegen-x64.cc __ movq(rax, FieldOperand(rax, HeapObject::kMapOffset)); __ 4991 src/x64/lithium-codegen-x64.cc __ jmp(&use_cache, Label::kNear); __ 4994 src/x64/lithium-codegen-x64.cc __ bind(&call_runtime); __ 4995 src/x64/lithium-codegen-x64.cc __ push(rax); __ 4998 src/x64/lithium-codegen-x64.cc __ CompareRoot(FieldOperand(rax, HeapObject::kMapOffset), __ 5001 src/x64/lithium-codegen-x64.cc __ bind(&use_cache); __ 5008 src/x64/lithium-codegen-x64.cc __ LoadInstanceDescriptors(map, result); __ 5009 src/x64/lithium-codegen-x64.cc __ movq(result, __ 5011 src/x64/lithium-codegen-x64.cc __ movq(result, __ 5020 src/x64/lithium-codegen-x64.cc __ cmpq(ToRegister(instr->map()), __ 5031 src/x64/lithium-codegen-x64.cc __ SmiToInteger32(index, index); __ 5032 src/x64/lithium-codegen-x64.cc __ cmpl(index, Immediate(0)); __ 5033 src/x64/lithium-codegen-x64.cc __ j(less, &out_of_object); __ 5034 src/x64/lithium-codegen-x64.cc __ movq(object, FieldOperand(object, __ 5038 src/x64/lithium-codegen-x64.cc __ jmp(&done, Label::kNear); __ 5040 src/x64/lithium-codegen-x64.cc __ bind(&out_of_object); __ 5041 src/x64/lithium-codegen-x64.cc __ movq(object, FieldOperand(object, JSObject::kPropertiesOffset)); __ 5042 src/x64/lithium-codegen-x64.cc __ negl(index); __ 5044 src/x64/lithium-codegen-x64.cc __ movq(object, FieldOperand(object, __ 5048 src/x64/lithium-codegen-x64.cc __ bind(&done); __ 175 src/x64/lithium-gap-resolver-x64.cc __ movq(dst, src); __ 179 src/x64/lithium-gap-resolver-x64.cc __ movq(dst, src); __ 186 src/x64/lithium-gap-resolver-x64.cc __ movq(dst, src); __ 190 src/x64/lithium-gap-resolver-x64.cc __ movq(kScratchRegister, src); __ 191 src/x64/lithium-gap-resolver-x64.cc __ movq(dst, kScratchRegister); __ 199 src/x64/lithium-gap-resolver-x64.cc __ movl(dst, Immediate(cgen_->ToInteger32(constant_source))); __ 201 src/x64/lithium-gap-resolver-x64.cc __ LoadObject(dst, cgen_->ToHandle(constant_source)); __ 209 src/x64/lithium-gap-resolver-x64.cc __ movq(dst, Immediate(cgen_->ToInteger32(constant_source))); __ 211 src/x64/lithium-gap-resolver-x64.cc __ LoadObject(kScratchRegister, cgen_->ToHandle(constant_source)); __ 212 src/x64/lithium-gap-resolver-x64.cc __ movq(dst, kScratchRegister); __ 219 src/x64/lithium-gap-resolver-x64.cc __ movaps(cgen_->ToDoubleRegister(destination), src); __ 222 src/x64/lithium-gap-resolver-x64.cc __ movsd(cgen_->ToOperand(destination), src); __ 227 src/x64/lithium-gap-resolver-x64.cc __ movsd(cgen_->ToDoubleRegister(destination), src); __ 230 src/x64/lithium-gap-resolver-x64.cc __ movsd(xmm0, src); __ 231 src/x64/lithium-gap-resolver-x64.cc __ movsd(cgen_->ToOperand(destination), xmm0); __ 251 src/x64/lithium-gap-resolver-x64.cc __ xchg(dst, src); __ 260 src/x64/lithium-gap-resolver-x64.cc __ movq(kScratchRegister, mem); __ 261 src/x64/lithium-gap-resolver-x64.cc __ movq(mem, reg); __ 262 src/x64/lithium-gap-resolver-x64.cc __ movq(reg, kScratchRegister); __ 269 src/x64/lithium-gap-resolver-x64.cc __ movsd(xmm0, src); __ 270 src/x64/lithium-gap-resolver-x64.cc __ movq(kScratchRegister, dst); __ 271 src/x64/lithium-gap-resolver-x64.cc __ movsd(dst, xmm0); __ 272 src/x64/lithium-gap-resolver-x64.cc __ movq(src, kScratchRegister); __ 278 src/x64/lithium-gap-resolver-x64.cc __ movaps(xmm0, source_reg); __ 279 src/x64/lithium-gap-resolver-x64.cc __ movaps(source_reg, destination_reg); __ 280 src/x64/lithium-gap-resolver-x64.cc __ movaps(destination_reg, xmm0); __ 292 src/x64/lithium-gap-resolver-x64.cc __ movsd(xmm0, other_operand); __ 293 src/x64/lithium-gap-resolver-x64.cc __ movsd(other_operand, reg); __ 294 src/x64/lithium-gap-resolver-x64.cc __ movsd(reg, xmm0); __ 135 src/x64/regexp-macro-assembler-x64.cc __ jmp(&entry_label_); // We'll write the entry code when we know more. __ 136 src/x64/regexp-macro-assembler-x64.cc __ bind(&start_label_); // And then continue from here. __ 159 src/x64/regexp-macro-assembler-x64.cc __ addq(rdi, Immediate(by * char_size())); __ 168 src/x64/regexp-macro-assembler-x64.cc __ addq(register_location(reg), Immediate(by)); __ 177 src/x64/regexp-macro-assembler-x64.cc __ addq(rbx, code_object_pointer()); __ 178 src/x64/regexp-macro-assembler-x64.cc __ jmp(rbx); __ 183 src/x64/regexp-macro-assembler-x64.cc __ bind(label); __ 188 src/x64/regexp-macro-assembler-x64.cc __ cmpl(current_character(), Immediate(c)); __ 194 src/x64/regexp-macro-assembler-x64.cc __ cmpl(current_character(), Immediate(limit)); __ 202 src/x64/regexp-macro-assembler-x64.cc __ cmpl(Operand(rbp, kStartIndex), Immediate(0)); __ 205 src/x64/regexp-macro-assembler-x64.cc __ lea(rax, Operand(rsi, rdi, times_1, 0)); __ 206 src/x64/regexp-macro-assembler-x64.cc __ cmpq(rax, Operand(rbp, kInputStart)); __ 208 src/x64/regexp-macro-assembler-x64.cc __ bind(¬_at_start); __ 214 src/x64/regexp-macro-assembler-x64.cc __ cmpl(Operand(rbp, kStartIndex), Immediate(0)); __ 217 src/x64/regexp-macro-assembler-x64.cc __ lea(rax, Operand(rsi, rdi, times_1, 0)); __ 218 src/x64/regexp-macro-assembler-x64.cc __ cmpq(rax, Operand(rbp, kInputStart)); __ 224 src/x64/regexp-macro-assembler-x64.cc __ cmpl(current_character(), Immediate(limit)); __ 244 src/x64/regexp-macro-assembler-x64.cc __ cmpl(rdi, Immediate(-(byte_offset + byte_length))); __ 259 src/x64/regexp-macro-assembler-x64.cc __ cmpb(Operand(rsi, rdi, times_1, byte_offset), __ 264 src/x64/regexp-macro-assembler-x64.cc __ movzxwl(rax, __ 266 src/x64/regexp-macro-assembler-x64.cc __ cmpl(rax, Immediate(static_cast<int32_t>(str[0]))); __ 270 src/x64/regexp-macro-assembler-x64.cc __ lea(rbx, Operand(rsi, rdi, times_1, 0)); __ 283 src/x64/regexp-macro-assembler-x64.cc __ movq(rax, combined_chars, RelocInfo::NONE); __ 284 src/x64/regexp-macro-assembler-x64.cc __ cmpq(rax, Operand(rbx, byte_offset + i)); __ 292 src/x64/regexp-macro-assembler-x64.cc __ cmpl(Operand(rbx, byte_offset + i), Immediate(combined_chars)); __ 295 src/x64/regexp-macro-assembler-x64.cc __ cmpb(Operand(rbx, byte_offset + i), __ 303 src/x64/regexp-macro-assembler-x64.cc __ movq(rax, combined_chars, RelocInfo::NONE); __ 304 src/x64/regexp-macro-assembler-x64.cc __ cmpq(rax, __ 309 src/x64/regexp-macro-assembler-x64.cc __ cmpl(Operand(rsi, rdi, times_1, byte_offset + i * sizeof(uc16)), __ 313 src/x64/regexp-macro-assembler-x64.cc __ movzxwl(rax, __ 315 src/x64/regexp-macro-assembler-x64.cc __ cmpl(rax, Immediate(str[i])); __ 326 src/x64/regexp-macro-assembler-x64.cc __ cmpl(rdi, Operand(backtrack_stackpointer(), 0)); __ 327 src/x64/regexp-macro-assembler-x64.cc __ j(not_equal, &fallthrough); __ 330 src/x64/regexp-macro-assembler-x64.cc __ bind(&fallthrough); __ 338 src/x64/regexp-macro-assembler-x64.cc __ movq(rdx, register_location(start_reg)); // Offset of start of capture __ 339 src/x64/regexp-macro-assembler-x64.cc __ movq(rbx, register_location(start_reg + 1)); // Offset of end of capture __ 340 src/x64/regexp-macro-assembler-x64.cc __ subq(rbx, rdx); // Length of capture. __ 354 src/x64/regexp-macro-assembler-x64.cc __ j(equal, &fallthrough); __ 360 src/x64/regexp-macro-assembler-x64.cc __ movl(rax, rdi); __ 361 src/x64/regexp-macro-assembler-x64.cc __ addl(rax, rbx); __ 370 src/x64/regexp-macro-assembler-x64.cc __ lea(r9, Operand(rsi, rdx, times_1, 0)); __ 371 src/x64/regexp-macro-assembler-x64.cc __ lea(r11, Operand(rsi, rdi, times_1, 0)); __ 372 src/x64/regexp-macro-assembler-x64.cc __ addq(rbx, r9); // End of capture __ 379 src/x64/regexp-macro-assembler-x64.cc __ bind(&loop); __ 380 src/x64/regexp-macro-assembler-x64.cc __ movzxbl(rdx, Operand(r9, 0)); __ 381 src/x64/regexp-macro-assembler-x64.cc __ movzxbl(rax, Operand(r11, 0)); __ 384 src/x64/regexp-macro-assembler-x64.cc __ cmpb(rax, rdx); __ 385 src/x64/regexp-macro-assembler-x64.cc __ j(equal, &loop_increment); __ 390 src/x64/regexp-macro-assembler-x64.cc __ or_(rax, Immediate(0x20)); // Convert match character to lower-case. __ 391 src/x64/regexp-macro-assembler-x64.cc __ or_(rdx, Immediate(0x20)); // Convert capture character to lower-case. __ 392 src/x64/regexp-macro-assembler-x64.cc __ cmpb(rax, rdx); __ 393 src/x64/regexp-macro-assembler-x64.cc __ j(not_equal, on_no_match); // Definitely not equal. __ 394 src/x64/regexp-macro-assembler-x64.cc __ subb(rax, Immediate('a')); __ 395 src/x64/regexp-macro-assembler-x64.cc __ cmpb(rax, Immediate('z' - 'a')); __ 396 src/x64/regexp-macro-assembler-x64.cc __ j(above, on_no_match); // Weren't letters anyway. __ 398 src/x64/regexp-macro-assembler-x64.cc __ bind(&loop_increment); __ 400 src/x64/regexp-macro-assembler-x64.cc __ addq(r11, Immediate(1)); __ 401 src/x64/regexp-macro-assembler-x64.cc __ addq(r9, Immediate(1)); __ 403 src/x64/regexp-macro-assembler-x64.cc __ cmpq(r9, rbx); __ 404 src/x64/regexp-macro-assembler-x64.cc __ j(below, &loop); __ 407 src/x64/regexp-macro-assembler-x64.cc __ movq(rdi, r11); __ 408 src/x64/regexp-macro-assembler-x64.cc __ subq(rdi, rsi); __ 414 src/x64/regexp-macro-assembler-x64.cc __ push(rsi); __ 415 src/x64/regexp-macro-assembler-x64.cc __ push(rdi); __ 417 src/x64/regexp-macro-assembler-x64.cc __ push(backtrack_stackpointer()); __ 420 src/x64/regexp-macro-assembler-x64.cc __ PrepareCallCFunction(num_arguments); __ 429 src/x64/regexp-macro-assembler-x64.cc __ lea(rcx, Operand(rsi, rdx, times_1, 0)); __ 431 src/x64/regexp-macro-assembler-x64.cc __ lea(rdx, Operand(rsi, rdi, times_1, 0)); __ 433 src/x64/regexp-macro-assembler-x64.cc __ movq(r8, rbx); __ 435 src/x64/regexp-macro-assembler-x64.cc __ LoadAddress(r9, ExternalReference::isolate_address()); __ 438 src/x64/regexp-macro-assembler-x64.cc __ lea(rax, Operand(rsi, rdi, times_1, 0)); __ 440 src/x64/regexp-macro-assembler-x64.cc __ lea(rdi, Operand(rsi, rdx, times_1, 0)); __ 442 src/x64/regexp-macro-assembler-x64.cc __ movq(rsi, rax); __ 444 src/x64/regexp-macro-assembler-x64.cc __ movq(rdx, rbx); __ 446 src/x64/regexp-macro-assembler-x64.cc __ LoadAddress(rcx, ExternalReference::isolate_address()); __ 454 src/x64/regexp-macro-assembler-x64.cc __ CallCFunction(compare, num_arguments); __ 458 src/x64/regexp-macro-assembler-x64.cc __ Move(code_object_pointer(), masm_.CodeObject()); __ 459 src/x64/regexp-macro-assembler-x64.cc __ pop(backtrack_stackpointer()); __ 461 src/x64/regexp-macro-assembler-x64.cc __ pop(rdi); __ 462 src/x64/regexp-macro-assembler-x64.cc __ pop(rsi); __ 466 src/x64/regexp-macro-assembler-x64.cc __ testq(rax, rax); __ 470 src/x64/regexp-macro-assembler-x64.cc __ addq(rdi, rbx); __ 472 src/x64/regexp-macro-assembler-x64.cc __ bind(&fallthrough); __ 482 src/x64/regexp-macro-assembler-x64.cc __ movq(rdx, register_location(start_reg)); __ 483 src/x64/regexp-macro-assembler-x64.cc __ movq(rax, register_location(start_reg + 1)); __ 484 src/x64/regexp-macro-assembler-x64.cc __ subq(rax, rdx); // Length to check. __ 489 src/x64/regexp-macro-assembler-x64.cc __ Check(greater_equal, "Invalid capture referenced"); __ 492 src/x64/regexp-macro-assembler-x64.cc __ j(equal, &fallthrough); __ 499 src/x64/regexp-macro-assembler-x64.cc __ movl(rbx, rdi); __ 500 src/x64/regexp-macro-assembler-x64.cc __ addl(rbx, rax); __ 504 src/x64/regexp-macro-assembler-x64.cc __ lea(rbx, Operand(rsi, rdi, times_1, 0)); // Start of match. __ 505 src/x64/regexp-macro-assembler-x64.cc __ addq(rdx, rsi); // Start of capture. __ 506 src/x64/regexp-macro-assembler-x64.cc __ lea(r9, Operand(rdx, rax, times_1, 0)); // End of capture __ 514 src/x64/regexp-macro-assembler-x64.cc __ bind(&loop); __ 516 src/x64/regexp-macro-assembler-x64.cc __ movzxbl(rax, Operand(rdx, 0)); __ 517 src/x64/regexp-macro-assembler-x64.cc __ cmpb(rax, Operand(rbx, 0)); __ 520 src/x64/regexp-macro-assembler-x64.cc __ movzxwl(rax, Operand(rdx, 0)); __ 521 src/x64/regexp-macro-assembler-x64.cc __ cmpw(rax, Operand(rbx, 0)); __ 525 src/x64/regexp-macro-assembler-x64.cc __ addq(rbx, Immediate(char_size())); __ 526 src/x64/regexp-macro-assembler-x64.cc __ addq(rdx, Immediate(char_size())); __ 528 src/x64/regexp-macro-assembler-x64.cc __ cmpq(rdx, r9); __ 529 src/x64/regexp-macro-assembler-x64.cc __ j(below, &loop); __ 533 src/x64/regexp-macro-assembler-x64.cc __ movq(rdi, rbx); __ 534 src/x64/regexp-macro-assembler-x64.cc __ subq(rdi, rsi); __ 536 src/x64/regexp-macro-assembler-x64.cc __ bind(&fallthrough); __ 542 src/x64/regexp-macro-assembler-x64.cc __ cmpl(current_character(), Immediate(c)); __ 551 src/x64/regexp-macro-assembler-x64.cc __ testl(current_character(), Immediate(mask)); __ 553 src/x64/regexp-macro-assembler-x64.cc __ movl(rax, Immediate(mask)); __ 554 src/x64/regexp-macro-assembler-x64.cc __ and_(rax, current_character()); __ 555 src/x64/regexp-macro-assembler-x64.cc __ cmpl(rax, Immediate(c)); __ 565 src/x64/regexp-macro-assembler-x64.cc __ testl(current_character(), Immediate(mask)); __ 567 src/x64/regexp-macro-assembler-x64.cc __ movl(rax, Immediate(mask)); __ 568 src/x64/regexp-macro-assembler-x64.cc __ and_(rax, current_character()); __ 569 src/x64/regexp-macro-assembler-x64.cc __ cmpl(rax, Immediate(c)); __ 581 src/x64/regexp-macro-assembler-x64.cc __ lea(rax, Operand(current_character(), -minus)); __ 582 src/x64/regexp-macro-assembler-x64.cc __ and_(rax, Immediate(mask)); __ 583 src/x64/regexp-macro-assembler-x64.cc __ cmpl(rax, Immediate(c)); __ 592 src/x64/regexp-macro-assembler-x64.cc __ leal(rax, Operand(current_character(), -from)); __ 593 src/x64/regexp-macro-assembler-x64.cc __ cmpl(rax, Immediate(to - from)); __ 602 src/x64/regexp-macro-assembler-x64.cc __ leal(rax, Operand(current_character(), -from)); __ 603 src/x64/regexp-macro-assembler-x64.cc __ cmpl(rax, Immediate(to - from)); __ 611 src/x64/regexp-macro-assembler-x64.cc __ Move(rax, table); __ 614 src/x64/regexp-macro-assembler-x64.cc __ movq(rbx, current_character()); __ 615 src/x64/regexp-macro-assembler-x64.cc __ and_(rbx, Immediate(kTableMask)); __ 618 src/x64/regexp-macro-assembler-x64.cc __ cmpb(FieldOperand(rax, index, times_1, ByteArray::kHeaderSize), __ 636 src/x64/regexp-macro-assembler-x64.cc __ cmpl(current_character(), Immediate(' ')); __ 637 src/x64/regexp-macro-assembler-x64.cc __ j(equal, &success); __ 639 src/x64/regexp-macro-assembler-x64.cc __ lea(rax, Operand(current_character(), -'\t')); __ 640 src/x64/regexp-macro-assembler-x64.cc __ cmpl(rax, Immediate('\r' - '\t')); __ 642 src/x64/regexp-macro-assembler-x64.cc __ bind(&success); __ 650 src/x64/regexp-macro-assembler-x64.cc __ cmpl(current_character(), Immediate(' ')); __ 652 src/x64/regexp-macro-assembler-x64.cc __ lea(rax, Operand(current_character(), -'\t')); __ 653 src/x64/regexp-macro-assembler-x64.cc __ cmpl(rax, Immediate('\r' - '\t')); __ 660 src/x64/regexp-macro-assembler-x64.cc __ lea(rax, Operand(current_character(), -'0')); __ 661 src/x64/regexp-macro-assembler-x64.cc __ cmpl(rax, Immediate('9' - '0')); __ 666 src/x64/regexp-macro-assembler-x64.cc __ lea(rax, Operand(current_character(), -'0')); __ 667 src/x64/regexp-macro-assembler-x64.cc __ cmpl(rax, Immediate('9' - '0')); __ 672 src/x64/regexp-macro-assembler-x64.cc __ movl(rax, current_character()); __ 673 src/x64/regexp-macro-assembler-x64.cc __ xor_(rax, Immediate(0x01)); __ 675 src/x64/regexp-macro-assembler-x64.cc __ subl(rax, Immediate(0x0b)); __ 676 src/x64/regexp-macro-assembler-x64.cc __ cmpl(rax, Immediate(0x0c - 0x0b)); __ 682 src/x64/regexp-macro-assembler-x64.cc __ subl(rax, Immediate(0x2028 - 0x0b)); __ 683 src/x64/regexp-macro-assembler-x64.cc __ cmpl(rax, Immediate(0x2029 - 0x2028)); __ 690 src/x64/regexp-macro-assembler-x64.cc __ movl(rax, current_character()); __ 691 src/x64/regexp-macro-assembler-x64.cc __ xor_(rax, Immediate(0x01)); __ 693 src/x64/regexp-macro-assembler-x64.cc __ subl(rax, Immediate(0x0b)); __ 694 src/x64/regexp-macro-assembler-x64.cc __ cmpl(rax, Immediate(0x0c - 0x0b)); __ 703 src/x64/regexp-macro-assembler-x64.cc __ subl(rax, Immediate(0x2028 - 0x0b)); __ 704 src/x64/regexp-macro-assembler-x64.cc __ cmpl(rax, Immediate(0x2029 - 0x2028)); __ 706 src/x64/regexp-macro-assembler-x64.cc __ bind(&done); __ 713 src/x64/regexp-macro-assembler-x64.cc __ cmpl(current_character(), Immediate('z')); __ 716 src/x64/regexp-macro-assembler-x64.cc __ movq(rbx, ExternalReference::re_word_character_map()); __ 718 src/x64/regexp-macro-assembler-x64.cc __ testb(Operand(rbx, current_character(), times_1, 0), __ 727 src/x64/regexp-macro-assembler-x64.cc __ cmpl(current_character(), Immediate('z')); __ 728 src/x64/regexp-macro-assembler-x64.cc __ j(above, &done); __ 730 src/x64/regexp-macro-assembler-x64.cc __ movq(rbx, ExternalReference::re_word_character_map()); __ 732 src/x64/regexp-macro-assembler-x64.cc __ testb(Operand(rbx, current_character(), times_1, 0), __ 736 src/x64/regexp-macro-assembler-x64.cc __ bind(&done); __ 754 src/x64/regexp-macro-assembler-x64.cc __ Set(rax, FAILURE); __ 756 src/x64/regexp-macro-assembler-x64.cc __ jmp(&exit_label_); __ 765 src/x64/regexp-macro-assembler-x64.cc __ bind(&entry_label_); __ 772 src/x64/regexp-macro-assembler-x64.cc __ push(rbp); __ 773 src/x64/regexp-macro-assembler-x64.cc __ movq(rbp, rsp); __ 779 src/x64/regexp-macro-assembler-x64.cc __ movq(Operand(rbp, kInputString), rcx); __ 780 src/x64/regexp-macro-assembler-x64.cc __ movq(Operand(rbp, kStartIndex), rdx); // Passed as int32 in edx. __ 781 src/x64/regexp-macro-assembler-x64.cc __ movq(Operand(rbp, kInputStart), r8); __ 782 src/x64/regexp-macro-assembler-x64.cc __ movq(Operand(rbp, kInputEnd), r9); __ 784 src/x64/regexp-macro-assembler-x64.cc __ push(rsi); __ 785 src/x64/regexp-macro-assembler-x64.cc __ push(rdi); __ 786 src/x64/regexp-macro-assembler-x64.cc __ push(rbx); __ 796 src/x64/regexp-macro-assembler-x64.cc __ push(rdi); __ 797 src/x64/regexp-macro-assembler-x64.cc __ push(rsi); __ 798 src/x64/regexp-macro-assembler-x64.cc __ push(rdx); __ 799 src/x64/regexp-macro-assembler-x64.cc __ push(rcx); __ 800 src/x64/regexp-macro-assembler-x64.cc __ push(r8); __ 801 src/x64/regexp-macro-assembler-x64.cc __ push(r9); __ 803 src/x64/regexp-macro-assembler-x64.cc __ push(rbx); // Callee-save __ 806 src/x64/regexp-macro-assembler-x64.cc __ push(Immediate(0)); // Number of successful matches in a global regexp. __ 807 src/x64/regexp-macro-assembler-x64.cc __ push(Immediate(0)); // Make room for "input start - 1" constant. __ 815 src/x64/regexp-macro-assembler-x64.cc __ movq(rcx, rsp); __ 816 src/x64/regexp-macro-assembler-x64.cc __ movq(kScratchRegister, stack_limit); __ 817 src/x64/regexp-macro-assembler-x64.cc __ subq(rcx, Operand(kScratchRegister, 0)); __ 819 src/x64/regexp-macro-assembler-x64.cc __ j(below_equal, &stack_limit_hit); __ 822 src/x64/regexp-macro-assembler-x64.cc __ cmpq(rcx, Immediate(num_registers_ * kPointerSize)); __ 823 src/x64/regexp-macro-assembler-x64.cc __ j(above_equal, &stack_ok); __ 826 src/x64/regexp-macro-assembler-x64.cc __ Set(rax, EXCEPTION); __ 827 src/x64/regexp-macro-assembler-x64.cc __ jmp(&return_rax); __ 829 src/x64/regexp-macro-assembler-x64.cc __ bind(&stack_limit_hit); __ 830 src/x64/regexp-macro-assembler-x64.cc __ Move(code_object_pointer(), masm_.CodeObject()); __ 832 src/x64/regexp-macro-assembler-x64.cc __ testq(rax, rax); __ 834 src/x64/regexp-macro-assembler-x64.cc __ j(not_zero, &return_rax); __ 836 src/x64/regexp-macro-assembler-x64.cc __ bind(&stack_ok); __ 839 src/x64/regexp-macro-assembler-x64.cc __ subq(rsp, Immediate(num_registers_ * kPointerSize)); __ 841 src/x64/regexp-macro-assembler-x64.cc __ movq(rsi, Operand(rbp, kInputEnd)); __ 843 src/x64/regexp-macro-assembler-x64.cc __ movq(rdi, Operand(rbp, kInputStart)); __ 845 src/x64/regexp-macro-assembler-x64.cc __ subq(rdi, rsi); __ 848 src/x64/regexp-macro-assembler-x64.cc __ movq(rbx, Operand(rbp, kStartIndex)); __ 849 src/x64/regexp-macro-assembler-x64.cc __ neg(rbx); __ 851 src/x64/regexp-macro-assembler-x64.cc __ lea(rax, Operand(rdi, rbx, times_2, -char_size())); __ 853 src/x64/regexp-macro-assembler-x64.cc __ lea(rax, Operand(rdi, rbx, times_1, -char_size())); __ 857 src/x64/regexp-macro-assembler-x64.cc __ movq(Operand(rbp, kInputStartMinusOne), rax); __ 867 src/x64/regexp-macro-assembler-x64.cc __ movq(register_location(i), rax); // One write every page. __ 872 src/x64/regexp-macro-assembler-x64.cc __ Move(code_object_pointer(), masm_.CodeObject()); __ 876 src/x64/regexp-macro-assembler-x64.cc __ cmpl(Operand(rbp, kStartIndex), Immediate(0)); __ 877 src/x64/regexp-macro-assembler-x64.cc __ j(not_equal, &load_char_start_regexp, Label::kNear); __ 878 src/x64/regexp-macro-assembler-x64.cc __ Set(current_character(), '\n'); __ 879 src/x64/regexp-macro-assembler-x64.cc __ jmp(&start_regexp, Label::kNear); __ 882 src/x64/regexp-macro-assembler-x64.cc __ bind(&load_char_start_regexp); __ 885 src/x64/regexp-macro-assembler-x64.cc __ bind(&start_regexp); __ 893 src/x64/regexp-macro-assembler-x64.cc __ Set(rcx, kRegisterZero); __ 895 src/x64/regexp-macro-assembler-x64.cc __ bind(&init_loop); __ 896 src/x64/regexp-macro-assembler-x64.cc __ movq(Operand(rbp, rcx, times_1, 0), rax); __ 897 src/x64/regexp-macro-assembler-x64.cc __ subq(rcx, Immediate(kPointerSize)); __ 898 src/x64/regexp-macro-assembler-x64.cc __ cmpq(rcx, __ 900 src/x64/regexp-macro-assembler-x64.cc __ j(greater, &init_loop); __ 903 src/x64/regexp-macro-assembler-x64.cc __ movq(register_location(i), rax); __ 909 src/x64/regexp-macro-assembler-x64.cc __ movq(backtrack_stackpointer(), Operand(rbp, kStackHighEnd)); __ 911 src/x64/regexp-macro-assembler-x64.cc __ jmp(&start_label_); __ 916 src/x64/regexp-macro-assembler-x64.cc __ bind(&success_label_); __ 919 src/x64/regexp-macro-assembler-x64.cc __ movq(rdx, Operand(rbp, kStartIndex)); __ 920 src/x64/regexp-macro-assembler-x64.cc __ movq(rbx, Operand(rbp, kRegisterOutput)); __ 921 src/x64/regexp-macro-assembler-x64.cc __ movq(rcx, Operand(rbp, kInputEnd)); __ 922 src/x64/regexp-macro-assembler-x64.cc __ subq(rcx, Operand(rbp, kInputStart)); __ 924 src/x64/regexp-macro-assembler-x64.cc __ lea(rcx, Operand(rcx, rdx, times_2, 0)); __ 926 src/x64/regexp-macro-assembler-x64.cc __ addq(rcx, rdx); __ 929 src/x64/regexp-macro-assembler-x64.cc __ movq(rax, register_location(i)); __ 932 src/x64/regexp-macro-assembler-x64.cc __ movq(rdx, rax); __ 934 src/x64/regexp-macro-assembler-x64.cc __ addq(rax, rcx); // Convert to index from start, not end. __ 936 src/x64/regexp-macro-assembler-x64.cc __ sar(rax, Immediate(1)); // Convert byte index to character index. __ 938 src/x64/regexp-macro-assembler-x64.cc __ movl(Operand(rbx, i * kIntSize), rax); __ 945 src/x64/regexp-macro-assembler-x64.cc __ incq(Operand(rbp, kSuccessfulCaptures)); __ 948 src/x64/regexp-macro-assembler-x64.cc __ movsxlq(rcx, Operand(rbp, kNumOutputRegisters)); __ 949 src/x64/regexp-macro-assembler-x64.cc __ subq(rcx, Immediate(num_saved_registers_)); __ 951 src/x64/regexp-macro-assembler-x64.cc __ cmpq(rcx, Immediate(num_saved_registers_)); __ 952 src/x64/regexp-macro-assembler-x64.cc __ j(less, &exit_label_); __ 954 src/x64/regexp-macro-assembler-x64.cc __ movq(Operand(rbp, kNumOutputRegisters), rcx); __ 956 src/x64/regexp-macro-assembler-x64.cc __ addq(Operand(rbp, kRegisterOutput), __ 960 src/x64/regexp-macro-assembler-x64.cc __ movq(rax, Operand(rbp, kInputStartMinusOne)); __ 965 src/x64/regexp-macro-assembler-x64.cc __ cmpq(rdi, rdx); __ 967 src/x64/regexp-macro-assembler-x64.cc __ j(not_equal, &load_char_start_regexp); __ 969 src/x64/regexp-macro-assembler-x64.cc __ testq(rdi, rdi); __ 970 src/x64/regexp-macro-assembler-x64.cc __ j(zero, &exit_label_, Label::kNear); __ 973 src/x64/regexp-macro-assembler-x64.cc __ addq(rdi, Immediate(2)); __ 975 src/x64/regexp-macro-assembler-x64.cc __ incq(rdi); __ 979 src/x64/regexp-macro-assembler-x64.cc __ jmp(&load_char_start_regexp); __ 981 src/x64/regexp-macro-assembler-x64.cc __ movq(rax, Immediate(SUCCESS)); __ 985 src/x64/regexp-macro-assembler-x64.cc __ bind(&exit_label_); __ 988 src/x64/regexp-macro-assembler-x64.cc __ movq(rax, Operand(rbp, kSuccessfulCaptures)); __ 991 src/x64/regexp-macro-assembler-x64.cc __ bind(&return_rax); __ 994 src/x64/regexp-macro-assembler-x64.cc __ lea(rsp, Operand(rbp, kLastCalleeSaveRegister)); __ 995 src/x64/regexp-macro-assembler-x64.cc __ pop(rbx); __ 996 src/x64/regexp-macro-assembler-x64.cc __ pop(rdi); __ 997 src/x64/regexp-macro-assembler-x64.cc __ pop(rsi); __ 1001 src/x64/regexp-macro-assembler-x64.cc __ movq(rbx, Operand(rbp, kBackup_rbx)); __ 1003 src/x64/regexp-macro-assembler-x64.cc __ movq(rsp, rbp); __ 1006 src/x64/regexp-macro-assembler-x64.cc __ pop(rbp); __ 1007 src/x64/regexp-macro-assembler-x64.cc __ ret(0); __ 1011 src/x64/regexp-macro-assembler-x64.cc __ bind(&backtrack_label_); __ 1021 src/x64/regexp-macro-assembler-x64.cc __ push(backtrack_stackpointer()); __ 1022 src/x64/regexp-macro-assembler-x64.cc __ push(rdi); __ 1025 src/x64/regexp-macro-assembler-x64.cc __ testq(rax, rax); __ 1028 src/x64/regexp-macro-assembler-x64.cc __ j(not_zero, &return_rax); __ 1031 src/x64/regexp-macro-assembler-x64.cc __ Move(code_object_pointer(), masm_.CodeObject()); __ 1032 src/x64/regexp-macro-assembler-x64.cc __ pop(rdi); __ 1033 src/x64/regexp-macro-assembler-x64.cc __ pop(backtrack_stackpointer()); __ 1035 src/x64/regexp-macro-assembler-x64.cc __ movq(rsi, Operand(rbp, kInputEnd)); __ 1048 src/x64/regexp-macro-assembler-x64.cc __ push(rsi); __ 1049 src/x64/regexp-macro-assembler-x64.cc __ push(rdi); __ 1054 src/x64/regexp-macro-assembler-x64.cc __ PrepareCallCFunction(num_arguments); __ 1058 src/x64/regexp-macro-assembler-x64.cc __ lea(rdx, Operand(rbp, kStackHighEnd)); // Second argument __ 1059 src/x64/regexp-macro-assembler-x64.cc __ LoadAddress(r8, ExternalReference::isolate_address()); __ 1062 src/x64/regexp-macro-assembler-x64.cc __ movq(rdi, backtrack_stackpointer()); // First argument. __ 1063 src/x64/regexp-macro-assembler-x64.cc __ lea(rsi, Operand(rbp, kStackHighEnd)); // Second argument. __ 1064 src/x64/regexp-macro-assembler-x64.cc __ LoadAddress(rdx, ExternalReference::isolate_address()); __ 1068 src/x64/regexp-macro-assembler-x64.cc __ CallCFunction(grow_stack, num_arguments); __ 1071 src/x64/regexp-macro-assembler-x64.cc __ testq(rax, rax); __ 1072 src/x64/regexp-macro-assembler-x64.cc __ j(equal, &exit_with_exception); __ 1074 src/x64/regexp-macro-assembler-x64.cc __ movq(backtrack_stackpointer(), rax); __ 1076 src/x64/regexp-macro-assembler-x64.cc __ Move(code_object_pointer(), masm_.CodeObject()); __ 1078 src/x64/regexp-macro-assembler-x64.cc __ pop(rdi); __ 1079 src/x64/regexp-macro-assembler-x64.cc __ pop(rsi); __ 1086 src/x64/regexp-macro-assembler-x64.cc __ bind(&exit_with_exception); __ 1088 src/x64/regexp-macro-assembler-x64.cc __ Set(rax, EXCEPTION); __ 1089 src/x64/regexp-macro-assembler-x64.cc __ jmp(&return_rax); __ 1113 src/x64/regexp-macro-assembler-x64.cc __ cmpq(register_location(reg), Immediate(comparand)); __ 1121 src/x64/regexp-macro-assembler-x64.cc __ cmpq(register_location(reg), Immediate(comparand)); __ 1128 src/x64/regexp-macro-assembler-x64.cc __ cmpq(rdi, register_location(reg)); __ 1159 src/x64/regexp-macro-assembler-x64.cc __ movq(register_location(register_index), rax); __ 1176 src/x64/regexp-macro-assembler-x64.cc __ movq(rax, register_location(register_index)); __ 1183 src/x64/regexp-macro-assembler-x64.cc __ movq(rdi, register_location(reg)); __ 1188 src/x64/regexp-macro-assembler-x64.cc __ movq(backtrack_stackpointer(), register_location(reg)); __ 1189 src/x64/regexp-macro-assembler-x64.cc __ addq(backtrack_stackpointer(), Operand(rbp, kStackHighEnd)); __ 1195 src/x64/regexp-macro-assembler-x64.cc __ cmpq(rdi, Immediate(-by * char_size())); __ 1196 src/x64/regexp-macro-assembler-x64.cc __ j(greater_equal, &after_position, Label::kNear); __ 1197 src/x64/regexp-macro-assembler-x64.cc __ movq(rdi, Immediate(-by * char_size())); __ 1202 src/x64/regexp-macro-assembler-x64.cc __ bind(&after_position); __ 1208 src/x64/regexp-macro-assembler-x64.cc __ movq(register_location(register_index), Immediate(to)); __ 1213 src/x64/regexp-macro-assembler-x64.cc __ jmp(&success_label_); __ 1221 src/x64/regexp-macro-assembler-x64.cc __ movq(register_location(reg), rdi); __ 1223 src/x64/regexp-macro-assembler-x64.cc __ lea(rax, Operand(rdi, cp_offset * char_size())); __ 1224 src/x64/regexp-macro-assembler-x64.cc __ movq(register_location(reg), rax); __ 1231 src/x64/regexp-macro-assembler-x64.cc __ movq(rax, Operand(rbp, kInputStartMinusOne)); __ 1233 src/x64/regexp-macro-assembler-x64.cc __ movq(register_location(reg), rax); __ 1239 src/x64/regexp-macro-assembler-x64.cc __ movq(rax, backtrack_stackpointer()); __ 1240 src/x64/regexp-macro-assembler-x64.cc __ subq(rax, Operand(rbp, kStackHighEnd)); __ 1241 src/x64/regexp-macro-assembler-x64.cc __ movq(register_location(reg), rax); __ 1251 src/x64/regexp-macro-assembler-x64.cc __ PrepareCallCFunction(num_arguments); __ 1254 src/x64/regexp-macro-assembler-x64.cc __ movq(rdx, code_object_pointer()); __ 1256 src/x64/regexp-macro-assembler-x64.cc __ movq(r8, rbp); __ 1259 src/x64/regexp-macro-assembler-x64.cc __ lea(rcx, Operand(rsp, -kPointerSize)); __ 1262 src/x64/regexp-macro-assembler-x64.cc __ movq(rdx, rbp); __ 1264 src/x64/regexp-macro-assembler-x64.cc __ movq(rsi, code_object_pointer()); __ 1267 src/x64/regexp-macro-assembler-x64.cc __ lea(rdi, Operand(rsp, -kPointerSize)); __ 1271 src/x64/regexp-macro-assembler-x64.cc __ CallCFunction(stack_check, num_arguments); __ 1392 src/x64/regexp-macro-assembler-x64.cc __ cmpl(rdi, Immediate(-cp_offset * char_size())); __ 1404 src/x64/regexp-macro-assembler-x64.cc __ jmp(to); __ 1408 src/x64/regexp-macro-assembler-x64.cc __ j(condition, &backtrack_label_); __ 1411 src/x64/regexp-macro-assembler-x64.cc __ j(condition, to); __ 1416 src/x64/regexp-macro-assembler-x64.cc __ call(to); __ 1421 src/x64/regexp-macro-assembler-x64.cc __ bind(label); __ 1422 src/x64/regexp-macro-assembler-x64.cc __ subq(Operand(rsp, 0), code_object_pointer()); __ 1427 src/x64/regexp-macro-assembler-x64.cc __ addq(Operand(rsp, 0), code_object_pointer()); __ 1428 src/x64/regexp-macro-assembler-x64.cc __ ret(0); __ 1435 src/x64/regexp-macro-assembler-x64.cc __ subq(backtrack_stackpointer(), Immediate(kIntSize)); __ 1436 src/x64/regexp-macro-assembler-x64.cc __ movl(Operand(backtrack_stackpointer(), 0), source); __ 1442 src/x64/regexp-macro-assembler-x64.cc __ subq(backtrack_stackpointer(), Immediate(kIntSize)); __ 1443 src/x64/regexp-macro-assembler-x64.cc __ movl(Operand(backtrack_stackpointer(), 0), value); __ 1466 src/x64/regexp-macro-assembler-x64.cc __ subq(backtrack_stackpointer(), Immediate(kIntSize)); __ 1467 src/x64/regexp-macro-assembler-x64.cc __ movl(Operand(backtrack_stackpointer(), 0), backtrack_target); __ 1474 src/x64/regexp-macro-assembler-x64.cc __ movsxlq(target, Operand(backtrack_stackpointer(), 0)); __ 1476 src/x64/regexp-macro-assembler-x64.cc __ addq(backtrack_stackpointer(), Immediate(kIntSize)); __ 1481 src/x64/regexp-macro-assembler-x64.cc __ addq(backtrack_stackpointer(), Immediate(kIntSize)); __ 1490 src/x64/regexp-macro-assembler-x64.cc __ load_rax(stack_limit); __ 1491 src/x64/regexp-macro-assembler-x64.cc __ cmpq(rsp, rax); __ 1492 src/x64/regexp-macro-assembler-x64.cc __ j(above, &no_preempt); __ 1496 src/x64/regexp-macro-assembler-x64.cc __ bind(&no_preempt); __ 1504 src/x64/regexp-macro-assembler-x64.cc __ load_rax(stack_limit); __ 1505 src/x64/regexp-macro-assembler-x64.cc __ cmpq(backtrack_stackpointer(), rax); __ 1506 src/x64/regexp-macro-assembler-x64.cc __ j(above, &no_stack_overflow); __ 1510 src/x64/regexp-macro-assembler-x64.cc __ bind(&no_stack_overflow); __ 1518 src/x64/regexp-macro-assembler-x64.cc __ movl(current_character(), Operand(rsi, rdi, times_1, cp_offset)); __ 1520 src/x64/regexp-macro-assembler-x64.cc __ movzxwl(current_character(), Operand(rsi, rdi, times_1, cp_offset)); __ 1523 src/x64/regexp-macro-assembler-x64.cc __ movzxbl(current_character(), Operand(rsi, rdi, times_1, cp_offset)); __ 1528 src/x64/regexp-macro-assembler-x64.cc __ movl(current_character(), __ 1532 src/x64/regexp-macro-assembler-x64.cc __ movzxwl(current_character(), __ 64 src/x64/stub-cache-x64.cc __ lea(offset, Operand(offset, offset, times_2, 0)); __ 66 src/x64/stub-cache-x64.cc __ LoadAddress(kScratchRegister, key_offset); __ 72 src/x64/stub-cache-x64.cc __ cmpl(name, Operand(kScratchRegister, offset, scale_factor, 0)); __ 73 src/x64/stub-cache-x64.cc __ j(not_equal, &miss); __ 77 src/x64/stub-cache-x64.cc __ movq(kScratchRegister, __ 79 src/x64/stub-cache-x64.cc __ cmpq(kScratchRegister, FieldOperand(receiver, HeapObject::kMapOffset)); __ 80 src/x64/stub-cache-x64.cc __ j(not_equal, &miss); __ 83 src/x64/stub-cache-x64.cc __ LoadAddress(kScratchRegister, value_offset); __ 84 src/x64/stub-cache-x64.cc __ movq(kScratchRegister, __ 88 src/x64/stub-cache-x64.cc __ movl(offset, FieldOperand(kScratchRegister, Code::kFlagsOffset)); __ 89 src/x64/stub-cache-x64.cc __ and_(offset, Immediate(~Code::kFlagsNotUsedInLookup)); __ 90 src/x64/stub-cache-x64.cc __ cmpl(offset, Immediate(flags)); __ 91 src/x64/stub-cache-x64.cc __ j(not_equal, &miss); __ 95 src/x64/stub-cache-x64.cc __ jmp(&miss); __ 97 src/x64/stub-cache-x64.cc __ jmp(&miss); __ 102 src/x64/stub-cache-x64.cc __ addq(kScratchRegister, Immediate(Code::kHeaderSize - kHeapObjectTag)); __ 103 src/x64/stub-cache-x64.cc __ jmp(kScratchRegister); __ 105 src/x64/stub-cache-x64.cc __ bind(&miss); __ 122 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->negative_lookups(), 1); __ 123 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->negative_lookups_miss(), 1); __ 125 src/x64/stub-cache-x64.cc __ movq(r0, FieldOperand(receiver, HeapObject::kMapOffset)); __ 131 src/x64/stub-cache-x64.cc __ testb(FieldOperand(r0, Map::kBitFieldOffset), __ 133 src/x64/stub-cache-x64.cc __ j(not_zero, miss_label); __ 136 src/x64/stub-cache-x64.cc __ CmpInstanceType(r0, FIRST_SPEC_OBJECT_TYPE); __ 137 src/x64/stub-cache-x64.cc __ j(below, miss_label); __ 141 src/x64/stub-cache-x64.cc __ movq(properties, FieldOperand(receiver, JSObject::kPropertiesOffset)); __ 144 src/x64/stub-cache-x64.cc __ CompareRoot(FieldOperand(properties, HeapObject::kMapOffset), __ 146 src/x64/stub-cache-x64.cc __ j(not_equal, miss_label); __ 155 src/x64/stub-cache-x64.cc __ bind(&done); __ 156 src/x64/stub-cache-x64.cc __ DecrementCounter(counters->negative_lookups_miss(), 1); __ 190 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->megamorphic_stub_cache_probes(), 1); __ 193 src/x64/stub-cache-x64.cc __ JumpIfSmi(receiver, &miss); __ 196 src/x64/stub-cache-x64.cc __ movl(scratch, FieldOperand(name, String::kHashFieldOffset)); __ 198 src/x64/stub-cache-x64.cc __ addl(scratch, FieldOperand(receiver, HeapObject::kMapOffset)); __ 199 src/x64/stub-cache-x64.cc __ xor_(scratch, Immediate(flags)); __ 202 src/x64/stub-cache-x64.cc __ and_(scratch, Immediate((kPrimaryTableSize - 1) << kHeapObjectTagSize)); __ 208 src/x64/stub-cache-x64.cc __ movl(scratch, FieldOperand(name, String::kHashFieldOffset)); __ 209 src/x64/stub-cache-x64.cc __ addl(scratch, FieldOperand(receiver, HeapObject::kMapOffset)); __ 210 src/x64/stub-cache-x64.cc __ xor_(scratch, Immediate(flags)); __ 211 src/x64/stub-cache-x64.cc __ and_(scratch, Immediate((kPrimaryTableSize - 1) << kHeapObjectTagSize)); __ 212 src/x64/stub-cache-x64.cc __ subl(scratch, name); __ 213 src/x64/stub-cache-x64.cc __ addl(scratch, Immediate(flags)); __ 214 src/x64/stub-cache-x64.cc __ and_(scratch, Immediate((kSecondaryTableSize - 1) << kHeapObjectTagSize)); __ 221 src/x64/stub-cache-x64.cc __ bind(&miss); __ 222 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->megamorphic_stub_cache_misses(), 1); __ 230 src/x64/stub-cache-x64.cc __ movq(prototype, __ 233 src/x64/stub-cache-x64.cc __ movq(prototype, __ 236 src/x64/stub-cache-x64.cc __ movq(prototype, Operand(prototype, Context::SlotOffset(index))); __ 238 src/x64/stub-cache-x64.cc __ movq(prototype, __ 241 src/x64/stub-cache-x64.cc __ movq(prototype, FieldOperand(prototype, Map::kPrototypeOffset)); __ 252 src/x64/stub-cache-x64.cc __ Move(prototype, isolate->global()); __ 253 src/x64/stub-cache-x64.cc __ cmpq(Operand(rsi, Context::SlotOffset(Context::GLOBAL_INDEX)), __ 255 src/x64/stub-cache-x64.cc __ j(not_equal, miss); __ 260 src/x64/stub-cache-x64.cc __ Move(prototype, Handle<Map>(function->initial_map())); __ 262 src/x64/stub-cache-x64.cc __ movq(prototype, FieldOperand(prototype, Map::kPrototypeOffset)); __ 271 src/x64/stub-cache-x64.cc __ JumpIfSmi(receiver, miss_label); __ 274 src/x64/stub-cache-x64.cc __ CmpObjectType(receiver, JS_ARRAY_TYPE, scratch); __ 275 src/x64/stub-cache-x64.cc __ j(not_equal, miss_label); __ 278 src/x64/stub-cache-x64.cc __ movq(rax, FieldOperand(receiver, JSArray::kLengthOffset)); __ 279 src/x64/stub-cache-x64.cc __ ret(0); __ 291 src/x64/stub-cache-x64.cc __ JumpIfSmi(receiver, smi); __ 294 src/x64/stub-cache-x64.cc __ movq(scratch, FieldOperand(receiver, HeapObject::kMapOffset)); __ 295 src/x64/stub-cache-x64.cc __ movzxbq(scratch, FieldOperand(scratch, Map::kInstanceTypeOffset)); __ 297 src/x64/stub-cache-x64.cc __ testl(scratch, Immediate(kNotStringTag)); __ 298 src/x64/stub-cache-x64.cc __ j(not_zero, non_string_object); __ 316 src/x64/stub-cache-x64.cc __ movq(rax, FieldOperand(receiver, String::kLengthOffset)); __ 317 src/x64/stub-cache-x64.cc __ ret(0); __ 321 src/x64/stub-cache-x64.cc __ bind(&check_wrapper); __ 322 src/x64/stub-cache-x64.cc __ cmpl(scratch1, Immediate(JS_VALUE_TYPE)); __ 323 src/x64/stub-cache-x64.cc __ j(not_equal, miss); __ 327 src/x64/stub-cache-x64.cc __ movq(scratch2, FieldOperand(receiver, JSValue::kValueOffset)); __ 329 src/x64/stub-cache-x64.cc __ movq(rax, FieldOperand(scratch2, String::kLengthOffset)); __ 330 src/x64/stub-cache-x64.cc __ ret(0); __ 340 src/x64/stub-cache-x64.cc __ TryGetFunctionPrototype(receiver, result, miss_label); __ 341 src/x64/stub-cache-x64.cc if (!result.is(rax)) __ movq(rax, result); __ 342 src/x64/stub-cache-x64.cc __ ret(0); __ 359 src/x64/stub-cache-x64.cc __ movq(dst, FieldOperand(src, offset)); __ 363 src/x64/stub-cache-x64.cc __ movq(dst, FieldOperand(src, JSObject::kPropertiesOffset)); __ 364 src/x64/stub-cache-x64.cc __ movq(dst, FieldOperand(dst, offset)); __ 374 src/x64/stub-cache-x64.cc __ push(name); __ 377 src/x64/stub-cache-x64.cc __ Move(kScratchRegister, interceptor); __ 378 src/x64/stub-cache-x64.cc __ push(kScratchRegister); __ 379 src/x64/stub-cache-x64.cc __ push(receiver); __ 380 src/x64/stub-cache-x64.cc __ push(holder); __ 381 src/x64/stub-cache-x64.cc __ push(FieldOperand(kScratchRegister, InterceptorInfo::kDataOffset)); __ 382 src/x64/stub-cache-x64.cc __ PushAddress(ExternalReference::isolate_address()); __ 397 src/x64/stub-cache-x64.cc __ Set(rax, 6); __ 398 src/x64/stub-cache-x64.cc __ LoadAddress(rbx, ref); __ 401 src/x64/stub-cache-x64.cc __ CallStub(&stub); __ 418 src/x64/stub-cache-x64.cc __ movq(scratch, Operand(rsp, 0)); __ 419 src/x64/stub-cache-x64.cc __ subq(rsp, Immediate(kFastApiCallArguments * kPointerSize)); __ 420 src/x64/stub-cache-x64.cc __ movq(Operand(rsp, 0), scratch); __ 421 src/x64/stub-cache-x64.cc __ Move(scratch, Smi::FromInt(0)); __ 423 src/x64/stub-cache-x64.cc __ movq(Operand(rsp, i * kPointerSize), scratch); __ 438 src/x64/stub-cache-x64.cc __ movq(scratch, Operand(rsp, 0)); __ 439 src/x64/stub-cache-x64.cc __ movq(Operand(rsp, kFastApiCallArguments * kPointerSize), scratch); __ 440 src/x64/stub-cache-x64.cc __ addq(rsp, Immediate(kPointerSize * kFastApiCallArguments)); __ 464 src/x64/stub-cache-x64.cc __ LoadHeapObject(rdi, function); __ 465 src/x64/stub-cache-x64.cc __ movq(rsi, FieldOperand(rdi, JSFunction::kContextOffset)); __ 468 src/x64/stub-cache-x64.cc __ movq(Operand(rsp, 2 * kPointerSize), rdi); __ 472 src/x64/stub-cache-x64.cc __ Move(rcx, api_call_info); __ 473 src/x64/stub-cache-x64.cc __ movq(rbx, FieldOperand(rcx, CallHandlerInfo::kDataOffset)); __ 474 src/x64/stub-cache-x64.cc __ movq(Operand(rsp, 3 * kPointerSize), rbx); __ 476 src/x64/stub-cache-x64.cc __ Move(Operand(rsp, 3 * kPointerSize), call_data); __ 478 src/x64/stub-cache-x64.cc __ movq(kScratchRegister, ExternalReference::isolate_address()); __ 479 src/x64/stub-cache-x64.cc __ movq(Operand(rsp, 4 * kPointerSize), kScratchRegister); __ 482 src/x64/stub-cache-x64.cc __ lea(rbx, Operand(rsp, 4 * kPointerSize)); __ 497 src/x64/stub-cache-x64.cc __ PrepareCallApiFunction(kApiStackSpace); __ 499 src/x64/stub-cache-x64.cc __ movq(StackSpaceOperand(0), rbx); // v8::Arguments::implicit_args_. __ 500 src/x64/stub-cache-x64.cc __ addq(rbx, Immediate(argc * kPointerSize)); __ 501 src/x64/stub-cache-x64.cc __ movq(StackSpaceOperand(1), rbx); // v8::Arguments::values_. __ 502 src/x64/stub-cache-x64.cc __ Set(StackSpaceOperand(2), argc); // v8::Arguments::length_. __ 504 src/x64/stub-cache-x64.cc __ Set(StackSpaceOperand(3), 0); __ 507 src/x64/stub-cache-x64.cc __ lea(arguments_arg, StackSpaceOperand(0)); __ 511 src/x64/stub-cache-x64.cc __ CallApiFunctionAndReturn(function_address, __ 541 src/x64/stub-cache-x64.cc __ JumpIfSmi(receiver, miss); __ 584 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->call_const_interceptor(), 1); __ 587 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->call_const_interceptor_fast_api(), 1); __ 631 src/x64/stub-cache-x64.cc __ InvokeFunction(optimization.constant_function(), arguments_, __ 637 src/x64/stub-cache-x64.cc __ bind(&miss_cleanup); __ 639 src/x64/stub-cache-x64.cc __ jmp(miss_label); __ 643 src/x64/stub-cache-x64.cc __ bind(®ular_invoke); __ 665 src/x64/stub-cache-x64.cc __ push(name_); __ 669 src/x64/stub-cache-x64.cc __ CallExternalReference( __ 675 src/x64/stub-cache-x64.cc __ pop(name_); __ 687 src/x64/stub-cache-x64.cc __ push(holder); // Save the holder. __ 688 src/x64/stub-cache-x64.cc __ push(name_); // Save the name. __ 696 src/x64/stub-cache-x64.cc __ pop(name_); // Restore the name. __ 697 src/x64/stub-cache-x64.cc __ pop(receiver); // Restore the holder. __ 701 src/x64/stub-cache-x64.cc __ CompareRoot(rax, Heap::kNoInterceptorResultSentinelRootIndex); __ 702 src/x64/stub-cache-x64.cc __ j(not_equal, interceptor_succeeded); __ 717 src/x64/stub-cache-x64.cc __ Jump(code, RelocInfo::CODE_TARGET); __ 724 src/x64/stub-cache-x64.cc __ Jump(code, RelocInfo::CODE_TARGET); __ 746 src/x64/stub-cache-x64.cc __ jmp(miss_label); __ 753 src/x64/stub-cache-x64.cc __ CheckMap(receiver_reg, Handle<Map>(object->map()), __ 758 src/x64/stub-cache-x64.cc __ CheckAccessGlobalProxy(receiver_reg, scratch1, miss_label); __ 774 src/x64/stub-cache-x64.cc __ push(name_reg); __ 778 src/x64/stub-cache-x64.cc __ jmp(&done_check); __ 779 src/x64/stub-cache-x64.cc __ bind(&miss_pop); __ 780 src/x64/stub-cache-x64.cc __ pop(name_reg); __ 781 src/x64/stub-cache-x64.cc __ jmp(miss_label); __ 782 src/x64/stub-cache-x64.cc __ bind(&done_check); __ 783 src/x64/stub-cache-x64.cc __ pop(name_reg); __ 794 src/x64/stub-cache-x64.cc __ pop(scratch1); // Return address. __ 795 src/x64/stub-cache-x64.cc __ push(receiver_reg); __ 796 src/x64/stub-cache-x64.cc __ Push(transition); __ 797 src/x64/stub-cache-x64.cc __ push(rax); __ 798 src/x64/stub-cache-x64.cc __ push(scratch1); __ 799 src/x64/stub-cache-x64.cc __ TailCallExternalReference( __ 809 src/x64/stub-cache-x64.cc __ Move(scratch1, transition); __ 810 src/x64/stub-cache-x64.cc __ movq(FieldOperand(receiver_reg, HeapObject::kMapOffset), scratch1); __ 814 src/x64/stub-cache-x64.cc __ RecordWriteField(receiver_reg, __ 831 src/x64/stub-cache-x64.cc __ movq(FieldOperand(receiver_reg, offset), rax); __ 835 src/x64/stub-cache-x64.cc __ movq(name_reg, rax); __ 836 src/x64/stub-cache-x64.cc __ RecordWriteField( __ 842 src/x64/stub-cache-x64.cc __ movq(scratch1, FieldOperand(receiver_reg, JSObject::kPropertiesOffset)); __ 843 src/x64/stub-cache-x64.cc __ movq(FieldOperand(scratch1, offset), rax); __ 847 src/x64/stub-cache-x64.cc __ movq(name_reg, rax); __ 848 src/x64/stub-cache-x64.cc __ RecordWriteField( __ 853 src/x64/stub-cache-x64.cc __ ret(0); __ 868 src/x64/stub-cache-x64.cc __ Move(scratch, cell); __ 869 src/x64/stub-cache-x64.cc __ Cmp(FieldOperand(scratch, JSGlobalPropertyCell::kValueOffset), __ 871 src/x64/stub-cache-x64.cc __ j(not_equal, miss); __ 921 src/x64/stub-cache-x64.cc __ movq(Operand(rsp, kPointerSize), object_reg); __ 947 src/x64/stub-cache-x64.cc __ movq(scratch1, FieldOperand(reg, HeapObject::kMapOffset)); __ 949 src/x64/stub-cache-x64.cc __ movq(reg, FieldOperand(scratch1, Map::kPrototypeOffset)); __ 955 src/x64/stub-cache-x64.cc __ movq(scratch1, FieldOperand(reg, HeapObject::kMapOffset)); __ 957 src/x64/stub-cache-x64.cc __ CheckMap(reg, Handle<Map>(current_map), __ 964 src/x64/stub-cache-x64.cc __ CheckAccessGlobalProxy(reg, scratch2, miss); __ 971 src/x64/stub-cache-x64.cc __ movq(reg, FieldOperand(scratch1, Map::kPrototypeOffset)); __ 974 src/x64/stub-cache-x64.cc __ Move(reg, prototype); __ 979 src/x64/stub-cache-x64.cc __ movq(Operand(rsp, kPointerSize), reg); __ 991 src/x64/stub-cache-x64.cc __ CheckMap(reg, Handle<Map>(holder->map()), __ 997 src/x64/stub-cache-x64.cc __ CheckAccessGlobalProxy(reg, scratch1, miss); __ 1020 src/x64/stub-cache-x64.cc __ JumpIfSmi(receiver, miss); __ 1028 src/x64/stub-cache-x64.cc __ ret(0); __ 1043 src/x64/stub-cache-x64.cc __ JumpIfSmi(receiver, miss); __ 1051 src/x64/stub-cache-x64.cc __ pop(scratch2); // Get return address to place it below. __ 1053 src/x64/stub-cache-x64.cc __ push(receiver); // receiver __ 1054 src/x64/stub-cache-x64.cc __ push(reg); // holder __ 1056 src/x64/stub-cache-x64.cc __ Move(scratch1, callback); __ 1057 src/x64/stub-cache-x64.cc __ push(FieldOperand(scratch1, AccessorInfo::kDataOffset)); // data __ 1059 src/x64/stub-cache-x64.cc __ Push(Handle<Object>(callback->data())); __ 1061 src/x64/stub-cache-x64.cc __ PushAddress(ExternalReference::isolate_address()); // isolate __ 1062 src/x64/stub-cache-x64.cc __ push(name_reg); // name __ 1079 src/x64/stub-cache-x64.cc __ movq(name_arg, rsp); __ 1080 src/x64/stub-cache-x64.cc __ push(scratch2); // Restore return address. __ 1088 src/x64/stub-cache-x64.cc __ PrepareCallApiFunction(kArgStackSpace); __ 1089 src/x64/stub-cache-x64.cc __ lea(rax, Operand(name_arg, 4 * kPointerSize)); __ 1092 src/x64/stub-cache-x64.cc __ movq(StackSpaceOperand(0), rax); __ 1096 src/x64/stub-cache-x64.cc __ lea(accessor_info_arg, StackSpaceOperand(0)); __ 1099 src/x64/stub-cache-x64.cc __ CallApiFunctionAndReturn(getter_address, kStackSpace); __ 1113 src/x64/stub-cache-x64.cc __ JumpIfSmi(receiver, miss); __ 1120 src/x64/stub-cache-x64.cc __ LoadHeapObject(rax, value); __ 1121 src/x64/stub-cache-x64.cc __ ret(0); __ 1139 src/x64/stub-cache-x64.cc __ JumpIfSmi(receiver, miss); __ 1179 src/x64/stub-cache-x64.cc __ push(receiver); __ 1181 src/x64/stub-cache-x64.cc __ push(holder_reg); __ 1182 src/x64/stub-cache-x64.cc __ push(name_reg); __ 1196 src/x64/stub-cache-x64.cc __ CompareRoot(rax, Heap::kNoInterceptorResultSentinelRootIndex); __ 1197 src/x64/stub-cache-x64.cc __ j(equal, &interceptor_failed); __ 1199 src/x64/stub-cache-x64.cc __ ret(0); __ 1201 src/x64/stub-cache-x64.cc __ bind(&interceptor_failed); __ 1202 src/x64/stub-cache-x64.cc __ pop(name_reg); __ 1203 src/x64/stub-cache-x64.cc __ pop(holder_reg); __ 1205 src/x64/stub-cache-x64.cc __ pop(receiver); __ 1230 src/x64/stub-cache-x64.cc __ ret(0); __ 1242 src/x64/stub-cache-x64.cc __ pop(scratch2); // return address __ 1243 src/x64/stub-cache-x64.cc __ push(receiver); __ 1244 src/x64/stub-cache-x64.cc __ push(holder_reg); __ 1245 src/x64/stub-cache-x64.cc __ Move(holder_reg, callback); __ 1246 src/x64/stub-cache-x64.cc __ push(FieldOperand(holder_reg, AccessorInfo::kDataOffset)); __ 1247 src/x64/stub-cache-x64.cc __ PushAddress(ExternalReference::isolate_address()); __ 1248 src/x64/stub-cache-x64.cc __ push(holder_reg); __ 1249 src/x64/stub-cache-x64.cc __ push(name_reg); __ 1250 src/x64/stub-cache-x64.cc __ push(scratch2); // restore return address __ 1255 src/x64/stub-cache-x64.cc __ TailCallExternalReference(ref, 6, 1); __ 1263 src/x64/stub-cache-x64.cc __ pop(scratch2); // save old return address __ 1266 src/x64/stub-cache-x64.cc __ push(scratch2); // restore old return address __ 1270 src/x64/stub-cache-x64.cc __ TailCallExternalReference(ref, 6, 1); __ 1277 src/x64/stub-cache-x64.cc __ Cmp(rcx, name); __ 1278 src/x64/stub-cache-x64.cc __ j(not_equal, miss); __ 1293 src/x64/stub-cache-x64.cc __ movq(rdx, Operand(rsp, (argc + 1) * kPointerSize)); __ 1297 src/x64/stub-cache-x64.cc __ JumpIfSmi(rdx, miss); __ 1307 src/x64/stub-cache-x64.cc __ Move(rdi, cell); __ 1308 src/x64/stub-cache-x64.cc __ movq(rdi, FieldOperand(rdi, JSGlobalPropertyCell::kValueOffset)); __ 1317 src/x64/stub-cache-x64.cc __ JumpIfSmi(rdi, miss); __ 1318 src/x64/stub-cache-x64.cc __ CmpObjectType(rdi, JS_FUNCTION_TYPE, rax); __ 1319 src/x64/stub-cache-x64.cc __ j(not_equal, miss); __ 1322 src/x64/stub-cache-x64.cc __ Move(rax, Handle<SharedFunctionInfo>(function->shared())); __ 1323 src/x64/stub-cache-x64.cc __ cmpq(FieldOperand(rdi, JSFunction::kSharedFunctionInfoOffset), rax); __ 1325 src/x64/stub-cache-x64.cc __ Cmp(rdi, function); __ 1327 src/x64/stub-cache-x64.cc __ j(not_equal, miss); __ 1336 src/x64/stub-cache-x64.cc __ Jump(code, RelocInfo::CODE_TARGET); __ 1359 src/x64/stub-cache-x64.cc __ movq(rdx, Operand(rsp, (argc + 1) * kPointerSize)); __ 1362 src/x64/stub-cache-x64.cc __ JumpIfSmi(rdx, &miss); __ 1371 src/x64/stub-cache-x64.cc __ JumpIfSmi(rdi, &miss); __ 1372 src/x64/stub-cache-x64.cc __ CmpObjectType(rdi, JS_FUNCTION_TYPE, rbx); __ 1373 src/x64/stub-cache-x64.cc __ j(not_equal, &miss); __ 1378 src/x64/stub-cache-x64.cc __ movq(rdx, FieldOperand(rdx, GlobalObject::kGlobalReceiverOffset)); __ 1379 src/x64/stub-cache-x64.cc __ movq(Operand(rsp, (argc + 1) * kPointerSize), rdx); __ 1386 src/x64/stub-cache-x64.cc __ InvokeFunction(rdi, arguments(), JUMP_FUNCTION, __ 1390 src/x64/stub-cache-x64.cc __ bind(&miss); __ 1420 src/x64/stub-cache-x64.cc __ movq(rdx, Operand(rsp, (argc + 1) * kPointerSize)); __ 1423 src/x64/stub-cache-x64.cc __ JumpIfSmi(rdx, &miss); __ 1430 src/x64/stub-cache-x64.cc __ movq(rax, FieldOperand(rdx, JSArray::kLengthOffset)); __ 1431 src/x64/stub-cache-x64.cc __ ret((argc + 1) * kPointerSize); __ 1439 src/x64/stub-cache-x64.cc __ movq(rdi, FieldOperand(rdx, JSArray::kElementsOffset)); __ 1442 src/x64/stub-cache-x64.cc __ Cmp(FieldOperand(rdi, HeapObject::kMapOffset), __ 1444 src/x64/stub-cache-x64.cc __ j(not_equal, &call_builtin); __ 1447 src/x64/stub-cache-x64.cc __ SmiToInteger32(rax, FieldOperand(rdx, JSArray::kLengthOffset)); __ 1449 src/x64/stub-cache-x64.cc __ addl(rax, Immediate(argc)); __ 1452 src/x64/stub-cache-x64.cc __ SmiToInteger32(rcx, FieldOperand(rdi, FixedArray::kLengthOffset)); __ 1455 src/x64/stub-cache-x64.cc __ cmpl(rax, rcx); __ 1456 src/x64/stub-cache-x64.cc __ j(greater, &attempt_to_grow_elements); __ 1459 src/x64/stub-cache-x64.cc __ movq(rcx, Operand(rsp, argc * kPointerSize)); __ 1460 src/x64/stub-cache-x64.cc __ JumpIfNotSmi(rcx, &with_write_barrier); __ 1463 src/x64/stub-cache-x64.cc __ Integer32ToSmiField(FieldOperand(rdx, JSArray::kLengthOffset), rax); __ 1466 src/x64/stub-cache-x64.cc __ movq(FieldOperand(rdi, __ 1472 src/x64/stub-cache-x64.cc __ Integer32ToSmi(rax, rax); // Return new length as smi. __ 1473 src/x64/stub-cache-x64.cc __ ret((argc + 1) * kPointerSize); __ 1475 src/x64/stub-cache-x64.cc __ bind(&with_write_barrier); __ 1477 src/x64/stub-cache-x64.cc __ movq(rbx, FieldOperand(rdx, HeapObject::kMapOffset)); __ 1481 src/x64/stub-cache-x64.cc __ CheckFastObjectElements(rbx, ¬_fast_object, Label::kNear); __ 1482 src/x64/stub-cache-x64.cc __ jmp(&fast_object); __ 1484 src/x64/stub-cache-x64.cc __ bind(¬_fast_object); __ 1485 src/x64/stub-cache-x64.cc __ CheckFastSmiElements(rbx, &call_builtin); __ 1490 src/x64/stub-cache-x64.cc __ LoadTransitionedArrayMapConditional(FAST_SMI_ELEMENTS, __ 1499 src/x64/stub-cache-x64.cc __ movq(rdi, FieldOperand(rdx, JSArray::kElementsOffset)); __ 1500 src/x64/stub-cache-x64.cc __ jmp(&fast_object); __ 1502 src/x64/stub-cache-x64.cc __ bind(&try_holey_map); __ 1503 src/x64/stub-cache-x64.cc __ LoadTransitionedArrayMapConditional(FAST_HOLEY_SMI_ELEMENTS, __ 1510 src/x64/stub-cache-x64.cc __ movq(rdi, FieldOperand(rdx, JSArray::kElementsOffset)); __ 1511 src/x64/stub-cache-x64.cc __ bind(&fast_object); __ 1513 src/x64/stub-cache-x64.cc __ CheckFastObjectElements(rbx, &call_builtin); __ 1517 src/x64/stub-cache-x64.cc __ Integer32ToSmiField(FieldOperand(rdx, JSArray::kLengthOffset), rax); __ 1520 src/x64/stub-cache-x64.cc __ lea(rdx, FieldOperand(rdi, __ 1523 src/x64/stub-cache-x64.cc __ movq(Operand(rdx, 0), rcx); __ 1525 src/x64/stub-cache-x64.cc __ RecordWrite(rdi, rdx, rcx, kDontSaveFPRegs, EMIT_REMEMBERED_SET, __ 1528 src/x64/stub-cache-x64.cc __ Integer32ToSmi(rax, rax); // Return new length as smi. __ 1529 src/x64/stub-cache-x64.cc __ ret((argc + 1) * kPointerSize); __ 1531 src/x64/stub-cache-x64.cc __ bind(&attempt_to_grow_elements); __ 1533 src/x64/stub-cache-x64.cc __ jmp(&call_builtin); __ 1536 src/x64/stub-cache-x64.cc __ movq(rbx, Operand(rsp, argc * kPointerSize)); __ 1540 src/x64/stub-cache-x64.cc __ JumpIfSmi(rbx, &no_fast_elements_check); __ 1541 src/x64/stub-cache-x64.cc __ movq(rcx, FieldOperand(rdx, HeapObject::kMapOffset)); __ 1542 src/x64/stub-cache-x64.cc __ CheckFastObjectElements(rcx, &call_builtin, Label::kFar); __ 1543 src/x64/stub-cache-x64.cc __ bind(&no_fast_elements_check); __ 1552 src/x64/stub-cache-x64.cc __ Load(rcx, new_space_allocation_top); __ 1555 src/x64/stub-cache-x64.cc __ lea(rdx, FieldOperand(rdi, __ 1558 src/x64/stub-cache-x64.cc __ cmpq(rdx, rcx); __ 1559 src/x64/stub-cache-x64.cc __ j(not_equal, &call_builtin); __ 1560 src/x64/stub-cache-x64.cc __ addq(rcx, Immediate(kAllocationDelta * kPointerSize)); __ 1563 src/x64/stub-cache-x64.cc __ cmpq(rcx, limit_operand); __ 1564 src/x64/stub-cache-x64.cc __ j(above, &call_builtin); __ 1567 src/x64/stub-cache-x64.cc __ Store(new_space_allocation_top, rcx); __ 1570 src/x64/stub-cache-x64.cc __ movq(Operand(rdx, 0), rbx); __ 1572 src/x64/stub-cache-x64.cc __ LoadRoot(kScratchRegister, Heap::kTheHoleValueRootIndex); __ 1574 src/x64/stub-cache-x64.cc __ movq(Operand(rdx, i * kPointerSize), kScratchRegister); __ 1582 src/x64/stub-cache-x64.cc __ RecordWrite(rdi, rdx, rbx, kDontSaveFPRegs, OMIT_REMEMBERED_SET); __ 1585 src/x64/stub-cache-x64.cc __ movq(rdx, Operand(rsp, (argc + 1) * kPointerSize)); __ 1588 src/x64/stub-cache-x64.cc __ SmiAddConstant(FieldOperand(rdi, FixedArray::kLengthOffset), __ 1592 src/x64/stub-cache-x64.cc __ Integer32ToSmi(rax, rax); __ 1593 src/x64/stub-cache-x64.cc __ movq(FieldOperand(rdx, JSArray::kLengthOffset), rax); __ 1595 src/x64/stub-cache-x64.cc __ ret((argc + 1) * kPointerSize); __ 1598 src/x64/stub-cache-x64.cc __ bind(&call_builtin); __ 1599 src/x64/stub-cache-x64.cc __ TailCallExternalReference(ExternalReference(Builtins::c_ArrayPush, __ 1605 src/x64/stub-cache-x64.cc __ bind(&miss); __ 1635 src/x64/stub-cache-x64.cc __ movq(rdx, Operand(rsp, (argc + 1) * kPointerSize)); __ 1638 src/x64/stub-cache-x64.cc __ JumpIfSmi(rdx, &miss); __ 1644 src/x64/stub-cache-x64.cc __ movq(rbx, FieldOperand(rdx, JSArray::kElementsOffset)); __ 1647 src/x64/stub-cache-x64.cc __ CompareRoot(FieldOperand(rbx, HeapObject::kMapOffset), __ 1649 src/x64/stub-cache-x64.cc __ j(not_equal, &call_builtin); __ 1652 src/x64/stub-cache-x64.cc __ SmiToInteger32(rcx, FieldOperand(rdx, JSArray::kLengthOffset)); __ 1653 src/x64/stub-cache-x64.cc __ subl(rcx, Immediate(1)); __ 1654 src/x64/stub-cache-x64.cc __ j(negative, &return_undefined); __ 1657 src/x64/stub-cache-x64.cc __ LoadRoot(r9, Heap::kTheHoleValueRootIndex); __ 1658 src/x64/stub-cache-x64.cc __ movq(rax, FieldOperand(rbx, __ 1662 src/x64/stub-cache-x64.cc __ cmpq(rax, r9); __ 1664 src/x64/stub-cache-x64.cc __ j(equal, &call_builtin); __ 1667 src/x64/stub-cache-x64.cc __ Integer32ToSmiField(FieldOperand(rdx, JSArray::kLengthOffset), rcx); __ 1670 src/x64/stub-cache-x64.cc __ movq(FieldOperand(rbx, __ 1674 src/x64/stub-cache-x64.cc __ ret((argc + 1) * kPointerSize); __ 1676 src/x64/stub-cache-x64.cc __ bind(&return_undefined); __ 1677 src/x64/stub-cache-x64.cc __ LoadRoot(rax, Heap::kUndefinedValueRootIndex); __ 1678 src/x64/stub-cache-x64.cc __ ret((argc + 1) * kPointerSize); __ 1680 src/x64/stub-cache-x64.cc __ bind(&call_builtin); __ 1681 src/x64/stub-cache-x64.cc __ TailCallExternalReference( __ 1686 src/x64/stub-cache-x64.cc __ bind(&miss); __ 1736 src/x64/stub-cache-x64.cc __ movq(receiver, Operand(rsp, (argc + 1) * kPointerSize)); __ 1738 src/x64/stub-cache-x64.cc __ movq(index, Operand(rsp, (argc - 0) * kPointerSize)); __ 1740 src/x64/stub-cache-x64.cc __ LoadRoot(index, Heap::kUndefinedValueRootIndex); __ 1751 src/x64/stub-cache-x64.cc __ ret((argc + 1) * kPointerSize); __ 1757 src/x64/stub-cache-x64.cc __ bind(&index_out_of_range); __ 1758 src/x64/stub-cache-x64.cc __ LoadRoot(rax, Heap::kNanValueRootIndex); __ 1759 src/x64/stub-cache-x64.cc __ ret((argc + 1) * kPointerSize); __ 1762 src/x64/stub-cache-x64.cc __ bind(&miss); __ 1764 src/x64/stub-cache-x64.cc __ Move(rcx, name); __ 1765 src/x64/stub-cache-x64.cc __ bind(&name_miss); __ 1815 src/x64/stub-cache-x64.cc __ movq(receiver, Operand(rsp, (argc + 1) * kPointerSize)); __ 1817 src/x64/stub-cache-x64.cc __ movq(index, Operand(rsp, (argc - 0) * kPointerSize)); __ 1819 src/x64/stub-cache-x64.cc __ LoadRoot(index, Heap::kUndefinedValueRootIndex); __ 1831 src/x64/stub-cache-x64.cc __ ret((argc + 1) * kPointerSize); __ 1837 src/x64/stub-cache-x64.cc __ bind(&index_out_of_range); __ 1838 src/x64/stub-cache-x64.cc __ LoadRoot(rax, Heap::kEmptyStringRootIndex); __ 1839 src/x64/stub-cache-x64.cc __ ret((argc + 1) * kPointerSize); __ 1841 src/x64/stub-cache-x64.cc __ bind(&miss); __ 1843 src/x64/stub-cache-x64.cc __ Move(rcx, name); __ 1844 src/x64/stub-cache-x64.cc __ bind(&name_miss); __ 1875 src/x64/stub-cache-x64.cc __ movq(rdx, Operand(rsp, 2 * kPointerSize)); __ 1876 src/x64/stub-cache-x64.cc __ JumpIfSmi(rdx, &miss); __ 1888 src/x64/stub-cache-x64.cc __ movq(code, Operand(rsp, 1 * kPointerSize)); __ 1892 src/x64/stub-cache-x64.cc __ JumpIfNotSmi(code, &slow); __ 1895 src/x64/stub-cache-x64.cc __ SmiAndConstant(code, code, Smi::FromInt(0xffff)); __ 1899 src/x64/stub-cache-x64.cc __ ret(2 * kPointerSize); __ 1906 src/x64/stub-cache-x64.cc __ bind(&slow); __ 1910 src/x64/stub-cache-x64.cc __ InvokeFunction(function, arguments(), JUMP_FUNCTION, __ 1913 src/x64/stub-cache-x64.cc __ bind(&miss); __ 1956 src/x64/stub-cache-x64.cc __ movq(rdx, Operand(rsp, 2 * kPointerSize)); __ 1957 src/x64/stub-cache-x64.cc __ JumpIfSmi(rdx, &miss); __ 1967 src/x64/stub-cache-x64.cc __ movq(rax, Operand(rsp, 1 * kPointerSize)); __ 1972 src/x64/stub-cache-x64.cc __ JumpIfNotSmi(rax, ¬_smi); __ 1973 src/x64/stub-cache-x64.cc __ SmiToInteger32(rax, rax); __ 1977 src/x64/stub-cache-x64.cc __ movl(rbx, rax); __ 1978 src/x64/stub-cache-x64.cc __ sarl(rbx, Immediate(kBitsPerInt - 1)); __ 1981 src/x64/stub-cache-x64.cc __ xorl(rax, rbx); __ 1984 src/x64/stub-cache-x64.cc __ subl(rax, rbx); __ 1989 src/x64/stub-cache-x64.cc __ j(negative, &slow); __ 1992 src/x64/stub-cache-x64.cc __ Integer32ToSmi(rax, rax); __ 1993 src/x64/stub-cache-x64.cc __ ret(2 * kPointerSize); __ 1996 src/x64/stub-cache-x64.cc __ bind(¬_smi); __ 1997 src/x64/stub-cache-x64.cc __ CheckMap(rax, factory()->heap_number_map(), &slow, DONT_DO_SMI_CHECK); __ 1998 src/x64/stub-cache-x64.cc __ movq(rbx, FieldOperand(rax, HeapNumber::kValueOffset)); __ 2005 src/x64/stub-cache-x64.cc __ movq(rdi, static_cast<int64_t>(HeapNumber::kSignMask) << sign_mask_shift, __ 2007 src/x64/stub-cache-x64.cc __ testq(rbx, rdi); __ 2008 src/x64/stub-cache-x64.cc __ j(not_zero, &negative_sign); __ 2009 src/x64/stub-cache-x64.cc __ ret(2 * kPointerSize); __ 2013 src/x64/stub-cache-x64.cc __ bind(&negative_sign); __ 2014 src/x64/stub-cache-x64.cc __ xor_(rbx, rdi); __ 2015 src/x64/stub-cache-x64.cc __ AllocateHeapNumber(rax, rdx, &slow); __ 2016 src/x64/stub-cache-x64.cc __ movq(FieldOperand(rax, HeapNumber::kValueOffset), rbx); __ 2017 src/x64/stub-cache-x64.cc __ ret(2 * kPointerSize); __ 2021 src/x64/stub-cache-x64.cc __ bind(&slow); __ 2025 src/x64/stub-cache-x64.cc __ InvokeFunction(function, arguments(), JUMP_FUNCTION, __ 2028 src/x64/stub-cache-x64.cc __ bind(&miss); __ 2059 src/x64/stub-cache-x64.cc __ movq(rdx, Operand(rsp, (argc + 1) * kPointerSize)); __ 2062 src/x64/stub-cache-x64.cc __ JumpIfSmi(rdx, &miss_before_stack_reserved); __ 2065 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->call_const(), 1); __ 2066 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->call_const_fast_api(), 1); __ 2070 src/x64/stub-cache-x64.cc __ subq(rsp, Immediate(kFastApiCallArguments * kPointerSize)); __ 2077 src/x64/stub-cache-x64.cc __ movq(rax, Operand(rsp, 4 * kPointerSize)); __ 2078 src/x64/stub-cache-x64.cc __ movq(Operand(rsp, 0 * kPointerSize), rax); __ 2082 src/x64/stub-cache-x64.cc __ bind(&miss); __ 2083 src/x64/stub-cache-x64.cc __ addq(rsp, Immediate(kFastApiCallArguments * kPointerSize)); __ 2085 src/x64/stub-cache-x64.cc __ bind(&miss_before_stack_reserved); __ 2121 src/x64/stub-cache-x64.cc __ movq(rdx, Operand(rsp, (argc + 1) * kPointerSize)); __ 2125 src/x64/stub-cache-x64.cc __ JumpIfSmi(rdx, &miss); __ 2135 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->call_const(), 1); __ 2144 src/x64/stub-cache-x64.cc __ movq(rdx, FieldOperand(rdx, GlobalObject::kGlobalReceiverOffset)); __ 2145 src/x64/stub-cache-x64.cc __ movq(Operand(rsp, (argc + 1) * kPointerSize), rdx); __ 2152 src/x64/stub-cache-x64.cc __ CmpObjectType(rdx, FIRST_NONSTRING_TYPE, rax); __ 2153 src/x64/stub-cache-x64.cc __ j(above_equal, &miss); __ 2163 src/x64/stub-cache-x64.cc __ jmp(&miss); __ 2171 src/x64/stub-cache-x64.cc __ JumpIfSmi(rdx, &fast); __ 2172 src/x64/stub-cache-x64.cc __ CmpObjectType(rdx, HEAP_NUMBER_TYPE, rax); __ 2173 src/x64/stub-cache-x64.cc __ j(not_equal, &miss); __ 2174 src/x64/stub-cache-x64.cc __ bind(&fast); __ 2184 src/x64/stub-cache-x64.cc __ jmp(&miss); __ 2192 src/x64/stub-cache-x64.cc __ CompareRoot(rdx, Heap::kTrueValueRootIndex); __ 2193 src/x64/stub-cache-x64.cc __ j(equal, &fast); __ 2194 src/x64/stub-cache-x64.cc __ CompareRoot(rdx, Heap::kFalseValueRootIndex); __ 2195 src/x64/stub-cache-x64.cc __ j(not_equal, &miss); __ 2196 src/x64/stub-cache-x64.cc __ bind(&fast); __ 2206 src/x64/stub-cache-x64.cc __ jmp(&miss); __ 2214 src/x64/stub-cache-x64.cc __ InvokeFunction(function, arguments(), JUMP_FUNCTION, __ 2218 src/x64/stub-cache-x64.cc __ bind(&miss); __ 2248 src/x64/stub-cache-x64.cc __ movq(rdx, Operand(rsp, (argc + 1) * kPointerSize)); __ 2255 src/x64/stub-cache-x64.cc __ movq(rdx, Operand(rsp, (argc + 1) * kPointerSize)); __ 2258 src/x64/stub-cache-x64.cc __ JumpIfSmi(rax, &miss); __ 2259 src/x64/stub-cache-x64.cc __ CmpObjectType(rax, JS_FUNCTION_TYPE, rbx); __ 2260 src/x64/stub-cache-x64.cc __ j(not_equal, &miss); __ 2265 src/x64/stub-cache-x64.cc __ movq(rdx, FieldOperand(rdx, GlobalObject::kGlobalReceiverOffset)); __ 2266 src/x64/stub-cache-x64.cc __ movq(Operand(rsp, (argc + 1) * kPointerSize), rdx); __ 2270 src/x64/stub-cache-x64.cc __ movq(rdi, rax); __ 2274 src/x64/stub-cache-x64.cc __ InvokeFunction(rdi, arguments(), JUMP_FUNCTION, __ 2278 src/x64/stub-cache-x64.cc __ bind(&miss); __ 2318 src/x64/stub-cache-x64.cc __ movq(rdx, FieldOperand(rdx, GlobalObject::kGlobalReceiverOffset)); __ 2319 src/x64/stub-cache-x64.cc __ movq(Operand(rsp, (argc + 1) * kPointerSize), rdx); __ 2323 src/x64/stub-cache-x64.cc __ movq(rsi, FieldOperand(rdi, JSFunction::kContextOffset)); __ 2327 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->call_global_inline(), 1); __ 2335 src/x64/stub-cache-x64.cc __ movq(rdx, FieldOperand(rdi, JSFunction::kCodeEntryOffset)); __ 2336 src/x64/stub-cache-x64.cc __ InvokeCode(rdx, expected, arguments(), JUMP_FUNCTION, __ 2340 src/x64/stub-cache-x64.cc __ bind(&miss); __ 2341 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->call_global_inline_miss(), 1); __ 2371 src/x64/stub-cache-x64.cc __ bind(&miss); __ 2373 src/x64/stub-cache-x64.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 2395 src/x64/stub-cache-x64.cc __ CheckMap(rdx, Handle<Map>(object->map()), &miss, __ 2400 src/x64/stub-cache-x64.cc __ CheckAccessGlobalProxy(rdx, rbx, &miss); __ 2407 src/x64/stub-cache-x64.cc __ pop(rbx); // remove the return address __ 2408 src/x64/stub-cache-x64.cc __ push(rdx); // receiver __ 2409 src/x64/stub-cache-x64.cc __ Push(callback); // callback info __ 2410 src/x64/stub-cache-x64.cc __ push(rcx); // name __ 2411 src/x64/stub-cache-x64.cc __ push(rax); // value __ 2412 src/x64/stub-cache-x64.cc __ push(rbx); // restore return address __ 2417 src/x64/stub-cache-x64.cc __ TailCallExternalReference(store_callback_property, 4, 1); __ 2420 src/x64/stub-cache-x64.cc __ bind(&miss); __ 2422 src/x64/stub-cache-x64.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 2443 src/x64/stub-cache-x64.cc __ JumpIfSmi(rdx, &miss); __ 2450 src/x64/stub-cache-x64.cc __ push(rax); __ 2453 src/x64/stub-cache-x64.cc __ push(rdx); __ 2454 src/x64/stub-cache-x64.cc __ push(rax); __ 2456 src/x64/stub-cache-x64.cc __ InvokeFunction(setter, actual, CALL_FUNCTION, NullCallWrapper(), __ 2460 src/x64/stub-cache-x64.cc __ pop(rax); __ 2463 src/x64/stub-cache-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 2465 src/x64/stub-cache-x64.cc __ ret(0); __ 2467 src/x64/stub-cache-x64.cc __ bind(&miss); __ 2469 src/x64/stub-cache-x64.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 2488 src/x64/stub-cache-x64.cc __ CheckMap(rdx, Handle<Map>(receiver->map()), &miss, __ 2493 src/x64/stub-cache-x64.cc __ CheckAccessGlobalProxy(rdx, rbx, &miss); __ 2500 src/x64/stub-cache-x64.cc __ pop(rbx); // remove the return address __ 2501 src/x64/stub-cache-x64.cc __ push(rdx); // receiver __ 2502 src/x64/stub-cache-x64.cc __ push(rcx); // name __ 2503 src/x64/stub-cache-x64.cc __ push(rax); // value __ 2504 src/x64/stub-cache-x64.cc __ Push(Smi::FromInt(strict_mode_)); __ 2505 src/x64/stub-cache-x64.cc __ push(rbx); // restore return address __ 2510 src/x64/stub-cache-x64.cc __ TailCallExternalReference(store_ic_property, 4, 1); __ 2513 src/x64/stub-cache-x64.cc __ bind(&miss); __ 2515 src/x64/stub-cache-x64.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 2535 src/x64/stub-cache-x64.cc __ Cmp(FieldOperand(rdx, HeapObject::kMapOffset), __ 2537 src/x64/stub-cache-x64.cc __ j(not_equal, &miss); __ 2540 src/x64/stub-cache-x64.cc __ Move(rbx, cell); __ 2547 src/x64/stub-cache-x64.cc __ CompareRoot(cell_operand, Heap::kTheHoleValueRootIndex); __ 2548 src/x64/stub-cache-x64.cc __ j(equal, &miss); __ 2551 src/x64/stub-cache-x64.cc __ movq(cell_operand, rax); __ 2556 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->named_store_global_inline(), 1); __ 2557 src/x64/stub-cache-x64.cc __ ret(0); __ 2560 src/x64/stub-cache-x64.cc __ bind(&miss); __ 2561 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->named_store_global_inline_miss(), 1); __ 2563 src/x64/stub-cache-x64.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 2583 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->keyed_store_field(), 1); __ 2586 src/x64/stub-cache-x64.cc __ Cmp(rcx, name); __ 2587 src/x64/stub-cache-x64.cc __ j(not_equal, &miss); __ 2599 src/x64/stub-cache-x64.cc __ bind(&miss); __ 2600 src/x64/stub-cache-x64.cc __ DecrementCounter(counters->keyed_store_field(), 1); __ 2602 src/x64/stub-cache-x64.cc __ Jump(ic, RelocInfo::CODE_TARGET); __ 2625 src/x64/stub-cache-x64.cc __ DispatchMap(rdx, receiver_map, stub, DO_SMI_CHECK); __ 2628 src/x64/stub-cache-x64.cc __ jmp(ic, RelocInfo::CODE_TARGET); __ 2646 src/x64/stub-cache-x64.cc __ JumpIfSmi(rdx, &miss, Label::kNear); __ 2648 src/x64/stub-cache-x64.cc __ movq(rdi, FieldOperand(rdx, HeapObject::kMapOffset)); __ 2652 src/x64/stub-cache-x64.cc __ Cmp(rdi, receiver_maps->at(i)); __ 2654 src/x64/stub-cache-x64.cc __ j(equal, handler_stubs->at(i), RelocInfo::CODE_TARGET); __ 2657 src/x64/stub-cache-x64.cc __ j(not_equal, &next_map, Label::kNear); __ 2658 src/x64/stub-cache-x64.cc __ movq(rbx, transitioned_maps->at(i), RelocInfo::EMBEDDED_OBJECT); __ 2659 src/x64/stub-cache-x64.cc __ jmp(handler_stubs->at(i), RelocInfo::CODE_TARGET); __ 2660 src/x64/stub-cache-x64.cc __ bind(&next_map); __ 2664 src/x64/stub-cache-x64.cc __ bind(&miss); __ 2666 src/x64/stub-cache-x64.cc __ jmp(ic, RelocInfo::CODE_TARGET); __ 2684 src/x64/stub-cache-x64.cc __ JumpIfSmi(rax, &miss); __ 2700 src/x64/stub-cache-x64.cc __ LoadRoot(rax, Heap::kUndefinedValueRootIndex); __ 2701 src/x64/stub-cache-x64.cc __ ret(0); __ 2703 src/x64/stub-cache-x64.cc __ bind(&miss); __ 2723 src/x64/stub-cache-x64.cc __ bind(&miss); __ 2744 src/x64/stub-cache-x64.cc __ bind(&miss); __ 2765 src/x64/stub-cache-x64.cc __ JumpIfSmi(rax, &miss); __ 2772 src/x64/stub-cache-x64.cc __ push(rax); __ 2774 src/x64/stub-cache-x64.cc __ InvokeFunction(getter, actual, CALL_FUNCTION, NullCallWrapper(), __ 2778 src/x64/stub-cache-x64.cc __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); __ 2780 src/x64/stub-cache-x64.cc __ ret(0); __ 2782 src/x64/stub-cache-x64.cc __ bind(&miss); __ 2802 src/x64/stub-cache-x64.cc __ bind(&miss); __ 2826 src/x64/stub-cache-x64.cc __ bind(&miss); __ 2848 src/x64/stub-cache-x64.cc __ JumpIfSmi(rax, &miss); __ 2852 src/x64/stub-cache-x64.cc __ Move(rbx, cell); __ 2853 src/x64/stub-cache-x64.cc __ movq(rbx, FieldOperand(rbx, JSGlobalPropertyCell::kValueOffset)); __ 2857 src/x64/stub-cache-x64.cc __ CompareRoot(rbx, Heap::kTheHoleValueRootIndex); __ 2858 src/x64/stub-cache-x64.cc __ j(equal, &miss); __ 2860 src/x64/stub-cache-x64.cc __ CompareRoot(rbx, Heap::kTheHoleValueRootIndex); __ 2861 src/x64/stub-cache-x64.cc __ Check(not_equal, "DontDelete cells can't contain the hole"); __ 2865 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->named_load_global_stub(), 1); __ 2866 src/x64/stub-cache-x64.cc __ movq(rax, rbx); __ 2867 src/x64/stub-cache-x64.cc __ ret(0); __ 2869 src/x64/stub-cache-x64.cc __ bind(&miss); __ 2870 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->named_load_global_stub_miss(), 1); __ 2890 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->keyed_load_field(), 1); __ 2893 src/x64/stub-cache-x64.cc __ Cmp(rax, name); __ 2894 src/x64/stub-cache-x64.cc __ j(not_equal, &miss); __ 2898 src/x64/stub-cache-x64.cc __ bind(&miss); __ 2899 src/x64/stub-cache-x64.cc __ DecrementCounter(counters->keyed_load_field(), 1); __ 2919 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->keyed_load_callback(), 1); __ 2922 src/x64/stub-cache-x64.cc __ Cmp(rax, name); __ 2923 src/x64/stub-cache-x64.cc __ j(not_equal, &miss); __ 2927 src/x64/stub-cache-x64.cc __ bind(&miss); __ 2928 src/x64/stub-cache-x64.cc __ DecrementCounter(counters->keyed_load_callback(), 1); __ 2949 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->keyed_load_constant_function(), 1); __ 2952 src/x64/stub-cache-x64.cc __ Cmp(rax, name); __ 2953 src/x64/stub-cache-x64.cc __ j(not_equal, &miss); __ 2957 src/x64/stub-cache-x64.cc __ bind(&miss); __ 2958 src/x64/stub-cache-x64.cc __ DecrementCounter(counters->keyed_load_constant_function(), 1); __ 2977 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->keyed_load_interceptor(), 1); __ 2980 src/x64/stub-cache-x64.cc __ Cmp(rax, name); __ 2981 src/x64/stub-cache-x64.cc __ j(not_equal, &miss); __ 2987 src/x64/stub-cache-x64.cc __ bind(&miss); __ 2988 src/x64/stub-cache-x64.cc __ DecrementCounter(counters->keyed_load_interceptor(), 1); __ 3006 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->keyed_load_array_length(), 1); __ 3009 src/x64/stub-cache-x64.cc __ Cmp(rax, name); __ 3010 src/x64/stub-cache-x64.cc __ j(not_equal, &miss); __ 3013 src/x64/stub-cache-x64.cc __ bind(&miss); __ 3014 src/x64/stub-cache-x64.cc __ DecrementCounter(counters->keyed_load_array_length(), 1); __ 3032 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->keyed_load_string_length(), 1); __ 3035 src/x64/stub-cache-x64.cc __ Cmp(rax, name); __ 3036 src/x64/stub-cache-x64.cc __ j(not_equal, &miss); __ 3039 src/x64/stub-cache-x64.cc __ bind(&miss); __ 3040 src/x64/stub-cache-x64.cc __ DecrementCounter(counters->keyed_load_string_length(), 1); __ 3058 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->keyed_load_function_prototype(), 1); __ 3061 src/x64/stub-cache-x64.cc __ Cmp(rax, name); __ 3062 src/x64/stub-cache-x64.cc __ j(not_equal, &miss); __ 3065 src/x64/stub-cache-x64.cc __ bind(&miss); __ 3066 src/x64/stub-cache-x64.cc __ DecrementCounter(counters->keyed_load_function_prototype(), 1); __ 3084 src/x64/stub-cache-x64.cc __ DispatchMap(rdx, receiver_map, stub, DO_SMI_CHECK); __ 3087 src/x64/stub-cache-x64.cc __ jmp(ic, RelocInfo::CODE_TARGET); __ 3103 src/x64/stub-cache-x64.cc __ JumpIfSmi(rdx, &miss); __ 3106 src/x64/stub-cache-x64.cc __ movq(map_reg, FieldOperand(rdx, HeapObject::kMapOffset)); __ 3110 src/x64/stub-cache-x64.cc __ Cmp(map_reg, receiver_maps->at(current)); __ 3111 src/x64/stub-cache-x64.cc __ j(equal, handler_ics->at(current), RelocInfo::CODE_TARGET); __ 3114 src/x64/stub-cache-x64.cc __ bind(&miss); __ 3135 src/x64/stub-cache-x64.cc __ Move(r8, factory()->undefined_value()); __ 3141 src/x64/stub-cache-x64.cc __ movq(rbx, FieldOperand(rdi, JSFunction::kSharedFunctionInfoOffset)); __ 3142 src/x64/stub-cache-x64.cc __ movq(rbx, FieldOperand(rbx, SharedFunctionInfo::kDebugInfoOffset)); __ 3143 src/x64/stub-cache-x64.cc __ cmpq(rbx, r8); __ 3144 src/x64/stub-cache-x64.cc __ j(not_equal, &generic_stub_call); __ 3148 src/x64/stub-cache-x64.cc __ movq(rbx, FieldOperand(rdi, JSFunction::kPrototypeOrInitialMapOffset)); __ 3151 src/x64/stub-cache-x64.cc __ JumpIfSmi(rbx, &generic_stub_call); __ 3152 src/x64/stub-cache-x64.cc __ CmpObjectType(rbx, MAP_TYPE, rcx); __ 3153 src/x64/stub-cache-x64.cc __ j(not_equal, &generic_stub_call); __ 3159 src/x64/stub-cache-x64.cc __ CmpInstanceType(rbx, JS_FUNCTION_TYPE); __ 3160 src/x64/stub-cache-x64.cc __ Assert(not_equal, "Function constructed by construct stub."); __ 3166 src/x64/stub-cache-x64.cc __ movzxbq(rcx, FieldOperand(rbx, Map::kInstanceSizeOffset)); __ 3167 src/x64/stub-cache-x64.cc __ shl(rcx, Immediate(kPointerSizeLog2)); __ 3168 src/x64/stub-cache-x64.cc __ AllocateInNewSpace(rcx, rdx, rcx, no_reg, __ 3174 src/x64/stub-cache-x64.cc __ movq(Operand(rdx, JSObject::kMapOffset), rbx); __ 3175 src/x64/stub-cache-x64.cc __ Move(rbx, factory()->empty_fixed_array()); __ 3176 src/x64/stub-cache-x64.cc __ movq(Operand(rdx, JSObject::kPropertiesOffset), rbx); __ 3177 src/x64/stub-cache-x64.cc __ movq(Operand(rdx, JSObject::kElementsOffset), rbx); __ 3182 src/x64/stub-cache-x64.cc __ lea(r9, Operand(rdx, JSObject::kHeaderSize)); __ 3185 src/x64/stub-cache-x64.cc __ lea(rcx, Operand(rsp, rax, times_pointer_size, 0)); __ 3201 src/x64/stub-cache-x64.cc __ movq(rbx, r8); __ 3202 src/x64/stub-cache-x64.cc __ cmpq(rax, Immediate(arg_number)); __ 3203 src/x64/stub-cache-x64.cc __ cmovq(above, rbx, Operand(rcx, arg_number * -kPointerSize)); __ 3205 src/x64/stub-cache-x64.cc __ movq(Operand(r9, i * kPointerSize), rbx); __ 3209 src/x64/stub-cache-x64.cc __ Move(Operand(r9, i * kPointerSize), constant); __ 3218 src/x64/stub-cache-x64.cc __ movq(Operand(r9, i * kPointerSize), r8); __ 3224 src/x64/stub-cache-x64.cc __ movq(rbx, rax); __ 3225 src/x64/stub-cache-x64.cc __ movq(rax, rdx); __ 3226 src/x64/stub-cache-x64.cc __ or_(rax, Immediate(kHeapObjectTag)); __ 3231 src/x64/stub-cache-x64.cc __ pop(rcx); __ 3232 src/x64/stub-cache-x64.cc __ lea(rsp, Operand(rsp, rbx, times_pointer_size, 1 * kPointerSize)); __ 3233 src/x64/stub-cache-x64.cc __ push(rcx); __ 3235 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->constructed_objects(), 1); __ 3236 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->constructed_objects_stub(), 1); __ 3237 src/x64/stub-cache-x64.cc __ ret(0); __ 3241 src/x64/stub-cache-x64.cc __ bind(&generic_stub_call); __ 3243 src/x64/stub-cache-x64.cc __ Jump(code, RelocInfo::CODE_TARGET); __ 3266 src/x64/stub-cache-x64.cc __ JumpIfNotSmi(rax, &miss_force_generic); __ 3267 src/x64/stub-cache-x64.cc __ SmiToInteger32(rbx, rax); __ 3268 src/x64/stub-cache-x64.cc __ movq(rcx, FieldOperand(rdx, JSObject::kElementsOffset)); __ 3275 src/x64/stub-cache-x64.cc __ LoadFromNumberDictionary(&slow, rcx, rax, rbx, r9, rdi, rax); __ 3276 src/x64/stub-cache-x64.cc __ ret(0); __ 3278 src/x64/stub-cache-x64.cc __ bind(&slow); __ 3286 src/x64/stub-cache-x64.cc __ jmp(slow_ic, RelocInfo::CODE_TARGET); __ 3288 src/x64/stub-cache-x64.cc __ bind(&miss_force_generic); __ 3296 src/x64/stub-cache-x64.cc __ jmp(miss_ic, RelocInfo::CODE_TARGET); __ 3309 src/x64/stub-cache-x64.cc __ JumpIfSmi(key, &key_ok); __ 3310 src/x64/stub-cache-x64.cc __ CheckMap(key, __ 3314 src/x64/stub-cache-x64.cc __ movsd(xmm_scratch0, FieldOperand(key, HeapNumber::kValueOffset)); __ 3315 src/x64/stub-cache-x64.cc __ cvttsd2si(scratch, xmm_scratch0); __ 3316 src/x64/stub-cache-x64.cc __ cvtlsi2sd(xmm_scratch1, scratch); __ 3317 src/x64/stub-cache-x64.cc __ ucomisd(xmm_scratch1, xmm_scratch0); __ 3318 src/x64/stub-cache-x64.cc __ j(not_equal, fail); __ 3319 src/x64/stub-cache-x64.cc __ j(parity_even, fail); // NaN. __ 3320 src/x64/stub-cache-x64.cc __ Integer32ToSmi(key, scratch); __ 3321 src/x64/stub-cache-x64.cc __ bind(&key_ok); __ 3342 src/x64/stub-cache-x64.cc __ movq(rbx, FieldOperand(rdx, JSObject::kElementsOffset)); __ 3343 src/x64/stub-cache-x64.cc __ SmiToInteger32(rcx, rax); __ 3344 src/x64/stub-cache-x64.cc __ cmpq(rax, FieldOperand(rbx, ExternalArray::kLengthOffset)); __ 3346 src/x64/stub-cache-x64.cc __ j(above_equal, &miss_force_generic); __ 3352 src/x64/stub-cache-x64.cc __ movq(rbx, FieldOperand(rbx, ExternalArray::kExternalPointerOffset)); __ 3356 src/x64/stub-cache-x64.cc __ movsxbq(rcx, Operand(rbx, rcx, times_1, 0)); __ 3360 src/x64/stub-cache-x64.cc __ movzxbq(rcx, Operand(rbx, rcx, times_1, 0)); __ 3363 src/x64/stub-cache-x64.cc __ movsxwq(rcx, Operand(rbx, rcx, times_2, 0)); __ 3366 src/x64/stub-cache-x64.cc __ movzxwq(rcx, Operand(rbx, rcx, times_2, 0)); __ 3369 src/x64/stub-cache-x64.cc __ movsxlq(rcx, Operand(rbx, rcx, times_4, 0)); __ 3372 src/x64/stub-cache-x64.cc __ movl(rcx, Operand(rbx, rcx, times_4, 0)); __ 3375 src/x64/stub-cache-x64.cc __ cvtss2sd(xmm0, Operand(rbx, rcx, times_4, 0)); __ 3378 src/x64/stub-cache-x64.cc __ movsd(xmm0, Operand(rbx, rcx, times_8, 0)); __ 3399 src/x64/stub-cache-x64.cc __ JumpIfUIntNotValidSmiValue(rcx, &box_int, Label::kNear); __ 3401 src/x64/stub-cache-x64.cc __ Integer32ToSmi(rax, rcx); __ 3402 src/x64/stub-cache-x64.cc __ ret(0); __ 3404 src/x64/stub-cache-x64.cc __ bind(&box_int); __ 3410 src/x64/stub-cache-x64.cc __ cvtqsi2sd(xmm0, rcx); __ 3412 src/x64/stub-cache-x64.cc __ AllocateHeapNumber(rcx, rbx, &slow); __ 3414 src/x64/stub-cache-x64.cc __ movsd(FieldOperand(rcx, HeapNumber::kValueOffset), xmm0); __ 3415 src/x64/stub-cache-x64.cc __ movq(rax, rcx); __ 3416 src/x64/stub-cache-x64.cc __ ret(0); __ 3421 src/x64/stub-cache-x64.cc __ AllocateHeapNumber(rcx, rbx, &slow); __ 3423 src/x64/stub-cache-x64.cc __ movsd(FieldOperand(rcx, HeapNumber::kValueOffset), xmm0); __ 3424 src/x64/stub-cache-x64.cc __ movq(rax, rcx); __ 3425 src/x64/stub-cache-x64.cc __ ret(0); __ 3427 src/x64/stub-cache-x64.cc __ Integer32ToSmi(rax, rcx); __ 3428 src/x64/stub-cache-x64.cc __ ret(0); __ 3432 src/x64/stub-cache-x64.cc __ bind(&slow); __ 3434 src/x64/stub-cache-x64.cc __ IncrementCounter(counters->keyed_load_external_array_slow(), 1); __ 3443 src/x64/stub-cache-x64.cc __ jmp(ic, RelocInfo::CODE_TARGET); __ 3446 src/x64/stub-cache-x64.cc __ bind(&miss_force_generic); __ 3455 src/x64/stub-cache-x64.cc __ jmp(miss_ic, RelocInfo::CODE_TARGET); __ 3477 src/x64/stub-cache-x64.cc __ movq(rbx, FieldOperand(rdx, JSObject::kElementsOffset)); __ 3478 src/x64/stub-cache-x64.cc __ SmiToInteger32(rdi, rcx); // Untag the index. __ 3479 src/x64/stub-cache-x64.cc __ cmpq(rcx, FieldOperand(rbx, ExternalArray::kLengthOffset)); __ 3481 src/x64/stub-cache-x64.cc __ j(above_equal, &miss_force_generic); __ 3493 src/x64/stub-cache-x64.cc __ JumpIfNotSmi(rax, &slow); __ 3495 src/x64/stub-cache-x64.cc __ JumpIfNotSmi(rax, &check_heap_number, Label::kNear); __ 3498 src/x64/stub-cache-x64.cc __ SmiToInteger32(rdx, rax); __ 3499 src/x64/stub-cache-x64.cc __ movq(rbx, FieldOperand(rbx, ExternalArray::kExternalPointerOffset)); __ 3505 src/x64/stub-cache-x64.cc __ testl(rdx, Immediate(0xFFFFFF00)); __ 3506 src/x64/stub-cache-x64.cc __ j(zero, &done, Label::kNear); __ 3507 src/x64/stub-cache-x64.cc __ setcc(negative, rdx); // 1 if negative, 0 if positive. __ 3508 src/x64/stub-cache-x64.cc __ decb(rdx); // 0 if negative, 255 if positive. __ 3509 src/x64/stub-cache-x64.cc __ bind(&done); __ 3511 src/x64/stub-cache-x64.cc __ movb(Operand(rbx, rdi, times_1, 0), rdx); __ 3515 src/x64/stub-cache-x64.cc __ movb(Operand(rbx, rdi, times_1, 0), rdx); __ 3519 src/x64/stub-cache-x64.cc __ movw(Operand(rbx, rdi, times_2, 0), rdx); __ 3523 src/x64/stub-cache-x64.cc __ movl(Operand(rbx, rdi, times_4, 0), rdx); __ 3527 src/x64/stub-cache-x64.cc __ cvtlsi2ss(xmm0, rdx); __ 3528 src/x64/stub-cache-x64.cc __ movss(Operand(rbx, rdi, times_4, 0), xmm0); __ 3532 src/x64/stub-cache-x64.cc __ cvtlsi2sd(xmm0, rdx); __ 3533 src/x64/stub-cache-x64.cc __ movsd(Operand(rbx, rdi, times_8, 0), xmm0); __ 3546 src/x64/stub-cache-x64.cc __ ret(0); __ 3550 src/x64/stub-cache-x64.cc __ bind(&check_heap_number); __ 3556 src/x64/stub-cache-x64.cc __ CmpObjectType(rax, HEAP_NUMBER_TYPE, kScratchRegister); __ 3557 src/x64/stub-cache-x64.cc __ j(not_equal, &slow); __ 3563 src/x64/stub-cache-x64.cc __ movsd(xmm0, FieldOperand(rax, HeapNumber::kValueOffset)); __ 3564 src/x64/stub-cache-x64.cc __ movq(rbx, FieldOperand(rbx, ExternalArray::kExternalPointerOffset)); __ 3569 src/x64/stub-cache-x64.cc __ cvtsd2ss(xmm0, xmm0); __ 3570 src/x64/stub-cache-x64.cc __ movss(Operand(rbx, rdi, times_4, 0), xmm0); __ 3571 src/x64/stub-cache-x64.cc __ ret(0); __ 3573 src/x64/stub-cache-x64.cc __ movsd(Operand(rbx, rdi, times_8, 0), xmm0); __ 3574 src/x64/stub-cache-x64.cc __ ret(0); __ 3580 src/x64/stub-cache-x64.cc __ cvttsd2siq(r8, xmm0); __ 3581 src/x64/stub-cache-x64.cc __ Set(kScratchRegister, V8_UINT64_C(0x8000000000000000)); __ 3582 src/x64/stub-cache-x64.cc __ cmpq(r8, kScratchRegister); __ 3583 src/x64/stub-cache-x64.cc __ j(equal, &slow); __ 3591 src/x64/stub-cache-x64.cc __ movb(Operand(rbx, rdi, times_1, 0), r8); __ 3595 src/x64/stub-cache-x64.cc __ movw(Operand(rbx, rdi, times_2, 0), r8); __ 3599 src/x64/stub-cache-x64.cc __ movl(Operand(rbx, rdi, times_4, 0), r8); __ 3615 src/x64/stub-cache-x64.cc __ ret(0); __ 3620 src/x64/stub-cache-x64.cc __ bind(&slow); __ 3630 src/x64/stub-cache-x64.cc __ jmp(ic, RelocInfo::CODE_TARGET); __ 3633 src/x64/stub-cache-x64.cc __ bind(&miss_force_generic); __ 3644 src/x64/stub-cache-x64.cc __ jmp(miss_ic, RelocInfo::CODE_TARGET); __ 3663 src/x64/stub-cache-x64.cc __ movq(rcx, FieldOperand(rdx, JSObject::kElementsOffset)); __ 3664 src/x64/stub-cache-x64.cc __ AssertFastElements(rcx); __ 3667 src/x64/stub-cache-x64.cc __ SmiCompare(rax, FieldOperand(rcx, FixedArray::kLengthOffset)); __ 3668 src/x64/stub-cache-x64.cc __ j(above_equal, &miss_force_generic); __ 3672 src/x64/stub-cache-x64.cc __ movq(rbx, FieldOperand(rcx, __ 3676 src/x64/stub-cache-x64.cc __ CompareRoot(rbx, Heap::kTheHoleValueRootIndex); __ 3677 src/x64/stub-cache-x64.cc __ j(equal, &miss_force_generic); __ 3678 src/x64/stub-cache-x64.cc __ movq(rax, rbx); __ 3679 src/x64/stub-cache-x64.cc __ ret(0); __ 3681 src/x64/stub-cache-x64.cc __ bind(&miss_force_generic); __ 3685 src/x64/stub-cache-x64.cc __ jmp(ic, RelocInfo::CODE_TARGET); __ 3705 src/x64/stub-cache-x64.cc __ movq(rcx, FieldOperand(rdx, JSObject::kElementsOffset)); __ 3706 src/x64/stub-cache-x64.cc __ AssertFastElements(rcx); __ 3709 src/x64/stub-cache-x64.cc __ SmiCompare(rax, FieldOperand(rcx, FixedArray::kLengthOffset)); __ 3710 src/x64/stub-cache-x64.cc __ j(above_equal, &miss_force_generic); __ 3713 src/x64/stub-cache-x64.cc __ SmiToInteger32(kScratchRegister, rax); __ 3715 src/x64/stub-cache-x64.cc __ cmpl(FieldOperand(rcx, kScratchRegister, times_8, offset), __ 3717 src/x64/stub-cache-x64.cc __ j(equal, &miss_force_generic); __ 3720 src/x64/stub-cache-x64.cc __ movsd(xmm0, FieldOperand(rcx, kScratchRegister, times_8, __ 3722 src/x64/stub-cache-x64.cc __ AllocateHeapNumber(rcx, rbx, &slow_allocate_heapnumber); __ 3724 src/x64/stub-cache-x64.cc __ movq(rax, rcx); __ 3725 src/x64/stub-cache-x64.cc __ movsd(FieldOperand(rcx, HeapNumber::kValueOffset), xmm0); __ 3726 src/x64/stub-cache-x64.cc __ ret(0); __ 3728 src/x64/stub-cache-x64.cc __ bind(&slow_allocate_heapnumber); __ 3731 src/x64/stub-cache-x64.cc __ jmp(slow_ic, RelocInfo::CODE_TARGET); __ 3733 src/x64/stub-cache-x64.cc __ bind(&miss_force_generic); __ 3736 src/x64/stub-cache-x64.cc __ jmp(miss_ic, RelocInfo::CODE_TARGET); __ 3761 src/x64/stub-cache-x64.cc __ JumpIfNotSmi(rax, &transition_elements_kind); __ 3765 src/x64/stub-cache-x64.cc __ movq(rdi, FieldOperand(rdx, JSObject::kElementsOffset)); __ 3768 src/x64/stub-cache-x64.cc __ SmiCompare(rcx, FieldOperand(rdx, JSArray::kLengthOffset)); __ 3770 src/x64/stub-cache-x64.cc __ j(above_equal, &grow); __ 3772 src/x64/stub-cache-x64.cc __ j(above_equal, &miss_force_generic); __ 3775 src/x64/stub-cache-x64.cc __ SmiCompare(rcx, FieldOperand(rdi, FixedArray::kLengthOffset)); __ 3776 src/x64/stub-cache-x64.cc __ j(above_equal, &miss_force_generic); __ 3779 src/x64/stub-cache-x64.cc __ CompareRoot(FieldOperand(rdi, HeapObject::kMapOffset), __ 3781 src/x64/stub-cache-x64.cc __ j(not_equal, &miss_force_generic); __ 3783 src/x64/stub-cache-x64.cc __ bind(&finish_store); __ 3785 src/x64/stub-cache-x64.cc __ SmiToInteger32(rcx, rcx); __ 3786 src/x64/stub-cache-x64.cc __ movq(FieldOperand(rdi, rcx, times_pointer_size, FixedArray::kHeaderSize), __ 3791 src/x64/stub-cache-x64.cc __ SmiToInteger32(rcx, rcx); __ 3792 src/x64/stub-cache-x64.cc __ lea(rcx, __ 3794 src/x64/stub-cache-x64.cc __ movq(Operand(rcx, 0), rax); __ 3796 src/x64/stub-cache-x64.cc __ movq(rbx, rax); __ 3797 src/x64/stub-cache-x64.cc __ RecordWrite(rdi, rcx, rbx, kDontSaveFPRegs); __ 3801 src/x64/stub-cache-x64.cc __ ret(0); __ 3804 src/x64/stub-cache-x64.cc __ bind(&miss_force_generic); __ 3807 src/x64/stub-cache-x64.cc __ jmp(ic_force_generic, RelocInfo::CODE_TARGET); __ 3809 src/x64/stub-cache-x64.cc __ bind(&transition_elements_kind); __ 3811 src/x64/stub-cache-x64.cc __ jmp(ic_miss, RelocInfo::CODE_TARGET); __ 3815 src/x64/stub-cache-x64.cc __ bind(&grow); __ 3820 src/x64/stub-cache-x64.cc __ j(not_equal, &miss_force_generic); __ 3824 src/x64/stub-cache-x64.cc __ movq(rdi, FieldOperand(rdx, JSObject::kElementsOffset)); __ 3825 src/x64/stub-cache-x64.cc __ CompareRoot(rdi, Heap::kEmptyFixedArrayRootIndex); __ 3826 src/x64/stub-cache-x64.cc __ j(not_equal, &check_capacity); __ 3829 src/x64/stub-cache-x64.cc __ AllocateInNewSpace(size, rdi, rbx, r8, &slow, TAG_OBJECT); __ 3836 src/x64/stub-cache-x64.cc __ Move(FieldOperand(rdi, JSObject::kMapOffset), __ 3838 src/x64/stub-cache-x64.cc __ Move(FieldOperand(rdi, FixedArray::kLengthOffset), __ 3840 src/x64/stub-cache-x64.cc __ LoadRoot(rbx, Heap::kTheHoleValueRootIndex); __ 3842 src/x64/stub-cache-x64.cc __ movq(FieldOperand(rdi, FixedArray::SizeFor(i)), rbx); __ 3846 src/x64/stub-cache-x64.cc __ movq(FieldOperand(rdi, FixedArray::SizeFor(0)), rax); __ 3849 src/x64/stub-cache-x64.cc __ movq(FieldOperand(rdx, JSObject::kElementsOffset), rdi); __ 3850 src/x64/stub-cache-x64.cc __ RecordWriteField(rdx, JSObject::kElementsOffset, rdi, rbx, __ 3854 src/x64/stub-cache-x64.cc __ Move(FieldOperand(rdx, JSArray::kLengthOffset), Smi::FromInt(1)); __ 3855 src/x64/stub-cache-x64.cc __ ret(0); __ 3857 src/x64/stub-cache-x64.cc __ bind(&check_capacity); __ 3859 src/x64/stub-cache-x64.cc __ CompareRoot(FieldOperand(rdi, HeapObject::kMapOffset), __ 3861 src/x64/stub-cache-x64.cc __ j(equal, &miss_force_generic); __ 3868 src/x64/stub-cache-x64.cc __ cmpq(rcx, FieldOperand(rdi, FixedArray::kLengthOffset)); __ 3869 src/x64/stub-cache-x64.cc __ j(above_equal, &slow); __ 3872 src/x64/stub-cache-x64.cc __ SmiAddConstant(FieldOperand(rdx, JSArray::kLengthOffset), __ 3874 src/x64/stub-cache-x64.cc __ jmp(&finish_store); __ 3876 src/x64/stub-cache-x64.cc __ bind(&slow); __ 3878 src/x64/stub-cache-x64.cc __ jmp(ic_slow, RelocInfo::CODE_TARGET); __ 3903 src/x64/stub-cache-x64.cc __ movq(rdi, FieldOperand(rdx, JSObject::kElementsOffset)); __ 3904 src/x64/stub-cache-x64.cc __ AssertFastElements(rdi); __ 3908 src/x64/stub-cache-x64.cc __ SmiCompare(rcx, FieldOperand(rdx, JSArray::kLengthOffset)); __ 3910 src/x64/stub-cache-x64.cc __ j(above_equal, &grow); __ 3912 src/x64/stub-cache-x64.cc __ j(above_equal, &miss_force_generic); __ 3915 src/x64/stub-cache-x64.cc __ SmiCompare(rcx, FieldOperand(rdi, FixedDoubleArray::kLengthOffset)); __ 3916 src/x64/stub-cache-x64.cc __ j(above_equal, &miss_force_generic); __ 3920 src/x64/stub-cache-x64.cc __ bind(&finish_store); __ 3921 src/x64/stub-cache-x64.cc __ SmiToInteger32(rcx, rcx); __ 3922 src/x64/stub-cache-x64.cc __ StoreNumberToDoubleElements(rax, rdi, rcx, xmm0, __ 3924 src/x64/stub-cache-x64.cc __ ret(0); __ 3927 src/x64/stub-cache-x64.cc __ bind(&miss_force_generic); __ 3930 src/x64/stub-cache-x64.cc __ jmp(ic_force_generic, RelocInfo::CODE_TARGET); __ 3932 src/x64/stub-cache-x64.cc __ bind(&transition_elements_kind); __ 3934 src/x64/stub-cache-x64.cc __ Integer32ToSmi(rcx, rcx); __ 3936 src/x64/stub-cache-x64.cc __ jmp(ic_miss, RelocInfo::CODE_TARGET); __ 3940 src/x64/stub-cache-x64.cc __ bind(&grow); __ 3945 src/x64/stub-cache-x64.cc __ j(not_equal, &miss_force_generic); __ 3949 src/x64/stub-cache-x64.cc __ JumpIfSmi(rax, &value_is_smi); __ 3950 src/x64/stub-cache-x64.cc __ CompareRoot(FieldOperand(rax, HeapObject::kMapOffset), __ 3952 src/x64/stub-cache-x64.cc __ j(not_equal, &transition_elements_kind); __ 3953 src/x64/stub-cache-x64.cc __ bind(&value_is_smi); __ 3957 src/x64/stub-cache-x64.cc __ movq(rdi, FieldOperand(rdx, JSObject::kElementsOffset)); __ 3958 src/x64/stub-cache-x64.cc __ CompareRoot(rdi, Heap::kEmptyFixedArrayRootIndex); __ 3959 src/x64/stub-cache-x64.cc __ j(not_equal, &check_capacity); __ 3962 src/x64/stub-cache-x64.cc __ AllocateInNewSpace(size, rdi, rbx, r8, &slow, TAG_OBJECT); __ 3970 src/x64/stub-cache-x64.cc __ Move(FieldOperand(rdi, JSObject::kMapOffset), __ 3972 src/x64/stub-cache-x64.cc __ Move(FieldOperand(rdi, FixedDoubleArray::kLengthOffset), __ 3976 src/x64/stub-cache-x64.cc __ movq(FieldOperand(rdx, JSObject::kElementsOffset), rdi); __ 3977 src/x64/stub-cache-x64.cc __ RecordWriteField(rdx, JSObject::kElementsOffset, rdi, rbx, __ 3981 src/x64/stub-cache-x64.cc __ Move(FieldOperand(rdx, JSArray::kLengthOffset), Smi::FromInt(1)); __ 3982 src/x64/stub-cache-x64.cc __ movq(rdi, FieldOperand(rdx, JSObject::kElementsOffset)); __ 3983 src/x64/stub-cache-x64.cc __ jmp(&finish_store); __ 3985 src/x64/stub-cache-x64.cc __ bind(&check_capacity); __ 3991 src/x64/stub-cache-x64.cc __ cmpq(rcx, FieldOperand(rdi, FixedDoubleArray::kLengthOffset)); __ 3992 src/x64/stub-cache-x64.cc __ j(above_equal, &slow); __ 3995 src/x64/stub-cache-x64.cc __ SmiAddConstant(FieldOperand(rdx, JSArray::kLengthOffset), __ 3997 src/x64/stub-cache-x64.cc __ jmp(&finish_store); __ 3999 src/x64/stub-cache-x64.cc __ bind(&slow); __ 4001 src/x64/stub-cache-x64.cc __ jmp(ic_slow, RelocInfo::CODE_TARGET); __ 64 test/cctest/test-assembler-arm.cc __ add(r0, r0, Operand(r1)); __ 65 test/cctest/test-assembler-arm.cc __ mov(pc, Operand(lr)); __ 91 test/cctest/test-assembler-arm.cc __ mov(r1, Operand(r0)); __ 92 test/cctest/test-assembler-arm.cc __ mov(r0, Operand(0, RelocInfo::NONE)); __ 93 test/cctest/test-assembler-arm.cc __ b(&C); __ 95 test/cctest/test-assembler-arm.cc __ bind(&L); __ 96 test/cctest/test-assembler-arm.cc __ add(r0, r0, Operand(r1)); __ 97 test/cctest/test-assembler-arm.cc __ sub(r1, r1, Operand(1)); __ 99 test/cctest/test-assembler-arm.cc __ bind(&C); __ 100 test/cctest/test-assembler-arm.cc __ teq(r1, Operand(0, RelocInfo::NONE)); __ 101 test/cctest/test-assembler-arm.cc __ b(ne, &L); __ 102 test/cctest/test-assembler-arm.cc __ mov(pc, Operand(lr)); __ 128 test/cctest/test-assembler-arm.cc __ mov(r1, Operand(r0)); __ 129 test/cctest/test-assembler-arm.cc __ mov(r0, Operand(1)); __ 130 test/cctest/test-assembler-arm.cc __ b(&C); __ 132 test/cctest/test-assembler-arm.cc __ bind(&L); __ 133 test/cctest/test-assembler-arm.cc __ mul(r0, r1, r0); __ 134 test/cctest/test-assembler-arm.cc __ sub(r1, r1, Operand(1)); __ 136 test/cctest/test-assembler-arm.cc __ bind(&C); __ 137 test/cctest/test-assembler-arm.cc __ teq(r1, Operand(0, RelocInfo::NONE)); __ 138 test/cctest/test-assembler-arm.cc __ b(ne, &L); __ 139 test/cctest/test-assembler-arm.cc __ mov(pc, Operand(lr)); __ 142 test/cctest/test-assembler-arm.cc __ RecordComment("dead code, just testing relocations"); __ 143 test/cctest/test-assembler-arm.cc __ mov(r0, Operand(FACTORY->true_value())); __ 144 test/cctest/test-assembler-arm.cc __ RecordComment("dead code, just testing immediate operands"); __ 145 test/cctest/test-assembler-arm.cc __ mov(r0, Operand(-1)); __ 146 test/cctest/test-assembler-arm.cc __ mov(r0, Operand(0xFF000000)); __ 147 test/cctest/test-assembler-arm.cc __ mov(r0, Operand(0xF0F0F0F0)); __ 148 test/cctest/test-assembler-arm.cc __ mov(r0, Operand(0xFFF0FFFF)); __ 181 test/cctest/test-assembler-arm.cc __ mov(ip, Operand(sp)); __ 182 test/cctest/test-assembler-arm.cc __ stm(db_w, sp, r4.bit() | fp.bit() | lr.bit()); __ 183 test/cctest/test-assembler-arm.cc __ sub(fp, ip, Operand(4)); __ 184 test/cctest/test-assembler-arm.cc __ mov(r4, Operand(r0)); __ 185 test/cctest/test-assembler-arm.cc __ ldr(r0, MemOperand(r4, OFFSET_OF(T, i))); __ 186 test/cctest/test-assembler-arm.cc __ mov(r2, Operand(r0, ASR, 1)); __ 187 test/cctest/test-assembler-arm.cc __ str(r2, MemOperand(r4, OFFSET_OF(T, i))); __ 188 test/cctest/test-assembler-arm.cc __ ldrsb(r2, MemOperand(r4, OFFSET_OF(T, c))); __ 189 test/cctest/test-assembler-arm.cc __ add(r0, r2, Operand(r0)); __ 190 test/cctest/test-assembler-arm.cc __ mov(r2, Operand(r2, LSL, 2)); __ 191 test/cctest/test-assembler-arm.cc __ strb(r2, MemOperand(r4, OFFSET_OF(T, c))); __ 192 test/cctest/test-assembler-arm.cc __ ldrsh(r2, MemOperand(r4, OFFSET_OF(T, s))); __ 193 test/cctest/test-assembler-arm.cc __ add(r0, r2, Operand(r0)); __ 194 test/cctest/test-assembler-arm.cc __ mov(r2, Operand(r2, ASR, 3)); __ 195 test/cctest/test-assembler-arm.cc __ strh(r2, MemOperand(r4, OFFSET_OF(T, s))); __ 196 test/cctest/test-assembler-arm.cc __ ldm(ia_w, sp, r4.bit() | fp.bit() | pc.bit()); __ 252 test/cctest/test-assembler-arm.cc __ mov(ip, Operand(sp)); __ 253 test/cctest/test-assembler-arm.cc __ stm(db_w, sp, r4.bit() | fp.bit() | lr.bit()); __ 254 test/cctest/test-assembler-arm.cc __ sub(fp, ip, Operand(4)); __ 256 test/cctest/test-assembler-arm.cc __ mov(r4, Operand(r0)); __ 257 test/cctest/test-assembler-arm.cc __ vldr(d6, r4, OFFSET_OF(T, a)); __ 258 test/cctest/test-assembler-arm.cc __ vldr(d7, r4, OFFSET_OF(T, b)); __ 259 test/cctest/test-assembler-arm.cc __ vadd(d5, d6, d7); __ 260 test/cctest/test-assembler-arm.cc __ vstr(d5, r4, OFFSET_OF(T, c)); __ 262 test/cctest/test-assembler-arm.cc __ vmov(r2, r3, d5); __ 263 test/cctest/test-assembler-arm.cc __ vmov(d4, r2, r3); __ 264 test/cctest/test-assembler-arm.cc __ vstr(d4, r4, OFFSET_OF(T, b)); __ 267 test/cctest/test-assembler-arm.cc __ vldr(s0, r4, OFFSET_OF(T, x)); __ 268 test/cctest/test-assembler-arm.cc __ vldr(s31, r4, OFFSET_OF(T, y)); __ 269 test/cctest/test-assembler-arm.cc __ vmov(s16, s0); __ 270 test/cctest/test-assembler-arm.cc __ vmov(s0, s31); __ 271 test/cctest/test-assembler-arm.cc __ vmov(s31, s16); __ 272 test/cctest/test-assembler-arm.cc __ vstr(s0, r4, OFFSET_OF(T, x)); __ 273 test/cctest/test-assembler-arm.cc __ vstr(s31, r4, OFFSET_OF(T, y)); __ 276 test/cctest/test-assembler-arm.cc __ vmov(d4, 1.0); __ 277 test/cctest/test-assembler-arm.cc __ vstr(d4, r4, OFFSET_OF(T, e)); __ 281 test/cctest/test-assembler-arm.cc __ vmov(d4, 1.000000059604644775390625); __ 282 test/cctest/test-assembler-arm.cc __ vstr(d4, r4, OFFSET_OF(T, d)); __ 285 test/cctest/test-assembler-arm.cc __ vmov(d4, 2.0); __ 286 test/cctest/test-assembler-arm.cc __ vcvt_s32_f64(s31, d4); __ 287 test/cctest/test-assembler-arm.cc __ vstr(s31, r4, OFFSET_OF(T, i)); __ 290 test/cctest/test-assembler-arm.cc __ mov(lr, Operand(42)); __ 291 test/cctest/test-assembler-arm.cc __ vmov(s31, lr); __ 292 test/cctest/test-assembler-arm.cc __ vcvt_f64_s32(d4, s31); __ 293 test/cctest/test-assembler-arm.cc __ vstr(d4, r4, OFFSET_OF(T, f)); __ 296 test/cctest/test-assembler-arm.cc __ vldr(d1, r4, OFFSET_OF(T, g)); __ 297 test/cctest/test-assembler-arm.cc __ vabs(d0, d1); __ 298 test/cctest/test-assembler-arm.cc __ vstr(d0, r4, OFFSET_OF(T, g)); __ 299 test/cctest/test-assembler-arm.cc __ vldr(d2, r4, OFFSET_OF(T, h)); __ 300 test/cctest/test-assembler-arm.cc __ vabs(d0, d2); __ 301 test/cctest/test-assembler-arm.cc __ vstr(d0, r4, OFFSET_OF(T, h)); __ 304 test/cctest/test-assembler-arm.cc __ vldr(d1, r4, OFFSET_OF(T, m)); __ 305 test/cctest/test-assembler-arm.cc __ vneg(d0, d1); __ 306 test/cctest/test-assembler-arm.cc __ vstr(d0, r4, OFFSET_OF(T, m)); __ 307 test/cctest/test-assembler-arm.cc __ vldr(d1, r4, OFFSET_OF(T, n)); __ 308 test/cctest/test-assembler-arm.cc __ vneg(d0, d1); __ 309 test/cctest/test-assembler-arm.cc __ vstr(d0, r4, OFFSET_OF(T, n)); __ 311 test/cctest/test-assembler-arm.cc __ ldm(ia_w, sp, r4.bit() | fp.bit() | pc.bit()); __ 366 test/cctest/test-assembler-arm.cc __ ubfx(r0, r0, 1, 12); // 0b00..010101010101 = 0x555 __ 367 test/cctest/test-assembler-arm.cc __ sbfx(r0, r0, 0, 5); // 0b11..111111110101 = -11 __ 368 test/cctest/test-assembler-arm.cc __ bfc(r0, 1, 3); // 0b11..111111110001 = -15 __ 369 test/cctest/test-assembler-arm.cc __ mov(r1, Operand(7)); __ 370 test/cctest/test-assembler-arm.cc __ bfi(r0, r1, 3, 3); // 0b11..111111111001 = -7 __ 371 test/cctest/test-assembler-arm.cc __ mov(pc, Operand(lr)); __ 401 test/cctest/test-assembler-arm.cc __ usat(r1, 8, Operand(r0)); // Sat 0xFFFF to 0-255 = 0xFF. __ 402 test/cctest/test-assembler-arm.cc __ usat(r2, 12, Operand(r0, ASR, 9)); // Sat (0xFFFF>>9) to 0-4095 = 0x7F. __ 403 test/cctest/test-assembler-arm.cc __ usat(r3, 1, Operand(r0, LSL, 16)); // Sat (0xFFFF<<16) to 0-1 = 0x0. __ 404 test/cctest/test-assembler-arm.cc __ add(r0, r1, Operand(r2)); __ 405 test/cctest/test-assembler-arm.cc __ add(r0, r0, Operand(r3)); __ 406 test/cctest/test-assembler-arm.cc __ mov(pc, Operand(lr)); __ 447 test/cctest/test-assembler-arm.cc __ vmrs(r1); __ 449 test/cctest/test-assembler-arm.cc __ bic(r2, r1, Operand(kVFPRoundingModeMask | kVFPExceptionMask)); __ 450 test/cctest/test-assembler-arm.cc __ orr(r2, r2, Operand(mode)); __ 451 test/cctest/test-assembler-arm.cc __ vmsr(r2); __ 454 test/cctest/test-assembler-arm.cc __ vmov(d1, value); __ 457 test/cctest/test-assembler-arm.cc __ vcvt_s32_f64(s0, d1, kFPSCRRounding); __ 461 test/cctest/test-assembler-arm.cc __ vcvt_u32_f64(s0, d1, kFPSCRRounding); __ 469 test/cctest/test-assembler-arm.cc __ vmrs(r2); __ 470 test/cctest/test-assembler-arm.cc __ tst(r2, Operand(kVFPExceptionMask)); __ 472 test/cctest/test-assembler-arm.cc __ b(&wrong_exception, __ 475 test/cctest/test-assembler-arm.cc __ vmov(r0, s0); __ 476 test/cctest/test-assembler-arm.cc __ mov(pc, Operand(lr)); __ 480 test/cctest/test-assembler-arm.cc __ bind(&wrong_exception); __ 481 test/cctest/test-assembler-arm.cc __ mov(r0, Operand(11223344)); __ 482 test/cctest/test-assembler-arm.cc __ mov(pc, Operand(lr)); __ 648 test/cctest/test-assembler-arm.cc __ mov(ip, Operand(sp)); __ 649 test/cctest/test-assembler-arm.cc __ stm(db_w, sp, r4.bit() | fp.bit() | lr.bit()); __ 650 test/cctest/test-assembler-arm.cc __ sub(fp, ip, Operand(4)); __ 652 test/cctest/test-assembler-arm.cc __ add(r4, r0, Operand(OFFSET_OF(D, a))); __ 653 test/cctest/test-assembler-arm.cc __ vldm(ia_w, r4, d0, d3); __ 654 test/cctest/test-assembler-arm.cc __ vldm(ia_w, r4, d4, d7); __ 656 test/cctest/test-assembler-arm.cc __ add(r4, r0, Operand(OFFSET_OF(D, a))); __ 657 test/cctest/test-assembler-arm.cc __ vstm(ia_w, r4, d6, d7); __ 658 test/cctest/test-assembler-arm.cc __ vstm(ia_w, r4, d0, d5); __ 660 test/cctest/test-assembler-arm.cc __ add(r4, r1, Operand(OFFSET_OF(F, a))); __ 661 test/cctest/test-assembler-arm.cc __ vldm(ia_w, r4, s0, s3); __ 662 test/cctest/test-assembler-arm.cc __ vldm(ia_w, r4, s4, s7); __ 664 test/cctest/test-assembler-arm.cc __ add(r4, r1, Operand(OFFSET_OF(F, a))); __ 665 test/cctest/test-assembler-arm.cc __ vstm(ia_w, r4, s6, s7); __ 666 test/cctest/test-assembler-arm.cc __ vstm(ia_w, r4, s0, s5); __ 668 test/cctest/test-assembler-arm.cc __ ldm(ia_w, sp, r4.bit() | fp.bit() | pc.bit()); __ 759 test/cctest/test-assembler-arm.cc __ mov(ip, Operand(sp)); __ 760 test/cctest/test-assembler-arm.cc __ stm(db_w, sp, r4.bit() | fp.bit() | lr.bit()); __ 761 test/cctest/test-assembler-arm.cc __ sub(fp, ip, Operand(4)); __ 763 test/cctest/test-assembler-arm.cc __ add(r4, r0, Operand(OFFSET_OF(D, a))); __ 764 test/cctest/test-assembler-arm.cc __ vldm(ia, r4, d0, d3); __ 765 test/cctest/test-assembler-arm.cc __ add(r4, r4, Operand(4 * 8)); __ 766 test/cctest/test-assembler-arm.cc __ vldm(ia, r4, d4, d7); __ 768 test/cctest/test-assembler-arm.cc __ add(r4, r0, Operand(OFFSET_OF(D, a))); __ 769 test/cctest/test-assembler-arm.cc __ vstm(ia, r4, d6, d7); __ 770 test/cctest/test-assembler-arm.cc __ add(r4, r4, Operand(2 * 8)); __ 771 test/cctest/test-assembler-arm.cc __ vstm(ia, r4, d0, d5); __ 773 test/cctest/test-assembler-arm.cc __ add(r4, r1, Operand(OFFSET_OF(F, a))); __ 774 test/cctest/test-assembler-arm.cc __ vldm(ia, r4, s0, s3); __ 775 test/cctest/test-assembler-arm.cc __ add(r4, r4, Operand(4 * 4)); __ 776 test/cctest/test-assembler-arm.cc __ vldm(ia, r4, s4, s7); __ 778 test/cctest/test-assembler-arm.cc __ add(r4, r1, Operand(OFFSET_OF(F, a))); __ 779 test/cctest/test-assembler-arm.cc __ vstm(ia, r4, s6, s7); __ 780 test/cctest/test-assembler-arm.cc __ add(r4, r4, Operand(2 * 4)); __ 781 test/cctest/test-assembler-arm.cc __ vstm(ia, r4, s0, s5); __ 783 test/cctest/test-assembler-arm.cc __ ldm(ia_w, sp, r4.bit() | fp.bit() | pc.bit()); __ 874 test/cctest/test-assembler-arm.cc __ mov(ip, Operand(sp)); __ 875 test/cctest/test-assembler-arm.cc __ stm(db_w, sp, r4.bit() | fp.bit() | lr.bit()); __ 876 test/cctest/test-assembler-arm.cc __ sub(fp, ip, Operand(4)); __ 878 test/cctest/test-assembler-arm.cc __ add(r4, r0, Operand(OFFSET_OF(D, h) + 8)); __ 879 test/cctest/test-assembler-arm.cc __ vldm(db_w, r4, d4, d7); __ 880 test/cctest/test-assembler-arm.cc __ vldm(db_w, r4, d0, d3); __ 882 test/cctest/test-assembler-arm.cc __ add(r4, r0, Operand(OFFSET_OF(D, h) + 8)); __ 883 test/cctest/test-assembler-arm.cc __ vstm(db_w, r4, d0, d5); __ 884 test/cctest/test-assembler-arm.cc __ vstm(db_w, r4, d6, d7); __ 886 test/cctest/test-assembler-arm.cc __ add(r4, r1, Operand(OFFSET_OF(F, h) + 4)); __ 887 test/cctest/test-assembler-arm.cc __ vldm(db_w, r4, s4, s7); __ 888 test/cctest/test-assembler-arm.cc __ vldm(db_w, r4, s0, s3); __ 890 test/cctest/test-assembler-arm.cc __ add(r4, r1, Operand(OFFSET_OF(F, h) + 4)); __ 891 test/cctest/test-assembler-arm.cc __ vstm(db_w, r4, s0, s5); __ 892 test/cctest/test-assembler-arm.cc __ vstm(db_w, r4, s6, s7); __ 894 test/cctest/test-assembler-arm.cc __ ldm(ia_w, sp, r4.bit() | fp.bit() | pc.bit()); __ 968 test/cctest/test-assembler-arm.cc __ ldr(r1, MemOperand(r0, OFFSET_OF(I, a))); __ 969 test/cctest/test-assembler-arm.cc __ mov(r1, Operand(r1, ASR, 1), SetCC); __ 970 test/cctest/test-assembler-arm.cc __ adc(r1, r1, Operand(r1), LeaveCC, cs); __ 971 test/cctest/test-assembler-arm.cc __ str(r1, MemOperand(r0, OFFSET_OF(I, a))); __ 973 test/cctest/test-assembler-arm.cc __ ldr(r2, MemOperand(r0, OFFSET_OF(I, b))); __ 974 test/cctest/test-assembler-arm.cc __ mov(r2, Operand(r2, ASR, 1), SetCC); __ 975 test/cctest/test-assembler-arm.cc __ adc(r2, r2, Operand(r2), LeaveCC, cs); __ 976 test/cctest/test-assembler-arm.cc __ str(r2, MemOperand(r0, OFFSET_OF(I, b))); __ 979 test/cctest/test-assembler-arm.cc __ mov(r1, Operand(0xffffffff)); __ 980 test/cctest/test-assembler-arm.cc __ mov(r2, Operand(0)); __ 981 test/cctest/test-assembler-arm.cc __ mov(r3, Operand(r1, ASR, 1), SetCC); // Set the carry. __ 982 test/cctest/test-assembler-arm.cc __ adc(r3, r1, Operand(r2)); __ 983 test/cctest/test-assembler-arm.cc __ str(r3, MemOperand(r0, OFFSET_OF(I, c))); __ 985 test/cctest/test-assembler-arm.cc __ mov(r1, Operand(0xffffffff)); __ 986 test/cctest/test-assembler-arm.cc __ mov(r2, Operand(0)); __ 987 test/cctest/test-assembler-arm.cc __ mov(r3, Operand(r2, ASR, 1), SetCC); // Unset the carry. __ 988 test/cctest/test-assembler-arm.cc __ adc(r3, r1, Operand(r2)); __ 989 test/cctest/test-assembler-arm.cc __ str(r3, MemOperand(r0, OFFSET_OF(I, d))); __ 991 test/cctest/test-assembler-arm.cc __ mov(pc, Operand(lr)); __ 1021 test/cctest/test-assembler-arm.cc __ b(eq, &target); __ 1022 test/cctest/test-assembler-arm.cc __ b(ne, &target); __ 1023 test/cctest/test-assembler-arm.cc __ bind(&target); __ 1024 test/cctest/test-assembler-arm.cc __ nop(); __ 66 test/cctest/test-assembler-ia32.cc __ mov(eax, Operand(esp, 4)); __ 67 test/cctest/test-assembler-ia32.cc __ add(eax, Operand(esp, 8)); __ 68 test/cctest/test-assembler-ia32.cc __ ret(0); __ 95 test/cctest/test-assembler-ia32.cc __ mov(edx, Operand(esp, 4)); __ 96 test/cctest/test-assembler-ia32.cc __ xor_(eax, eax); // clear eax __ 97 test/cctest/test-assembler-ia32.cc __ jmp(&C); __ 99 test/cctest/test-assembler-ia32.cc __ bind(&L); __ 100 test/cctest/test-assembler-ia32.cc __ add(eax, edx); __ 101 test/cctest/test-assembler-ia32.cc __ sub(edx, Immediate(1)); __ 103 test/cctest/test-assembler-ia32.cc __ bind(&C); __ 104 test/cctest/test-assembler-ia32.cc __ test(edx, edx); __ 105 test/cctest/test-assembler-ia32.cc __ j(not_zero, &L); __ 106 test/cctest/test-assembler-ia32.cc __ ret(0); __ 133 test/cctest/test-assembler-ia32.cc __ mov(edx, Operand(esp, 4)); __ 134 test/cctest/test-assembler-ia32.cc __ mov(eax, 1); __ 135 test/cctest/test-assembler-ia32.cc __ jmp(&C); __ 137 test/cctest/test-assembler-ia32.cc __ bind(&L); __ 138 test/cctest/test-assembler-ia32.cc __ imul(eax, edx); __ 139 test/cctest/test-assembler-ia32.cc __ sub(edx, Immediate(1)); __ 141 test/cctest/test-assembler-ia32.cc __ bind(&C); __ 142 test/cctest/test-assembler-ia32.cc __ test(edx, edx); __ 143 test/cctest/test-assembler-ia32.cc __ j(not_zero, &L); __ 144 test/cctest/test-assembler-ia32.cc __ ret(0); __ 147 test/cctest/test-assembler-ia32.cc __ mov(eax, FACTORY->true_value()); __ 148 test/cctest/test-assembler-ia32.cc __ jmp(NULL, RelocInfo::RUNTIME_ENTRY); __ 180 test/cctest/test-assembler-ia32.cc __ cvttss2si(eax, Operand(esp, 4)); __ 181 test/cctest/test-assembler-ia32.cc __ ret(0); __ 215 test/cctest/test-assembler-ia32.cc __ cvttsd2si(eax, Operand(esp, 4)); __ 216 test/cctest/test-assembler-ia32.cc __ ret(0); __ 244 test/cctest/test-assembler-ia32.cc __ mov(eax, Operand(reinterpret_cast<intptr_t>(&baz), RelocInfo::NONE)); __ 245 test/cctest/test-assembler-ia32.cc __ ret(0); __ 271 test/cctest/test-assembler-ia32.cc __ movdbl(xmm0, Operand(esp, 1 * kPointerSize)); __ 272 test/cctest/test-assembler-ia32.cc __ movdbl(xmm1, Operand(esp, 3 * kPointerSize)); __ 273 test/cctest/test-assembler-ia32.cc __ addsd(xmm0, xmm1); __ 274 test/cctest/test-assembler-ia32.cc __ mulsd(xmm0, xmm1); __ 275 test/cctest/test-assembler-ia32.cc __ subsd(xmm0, xmm1); __ 276 test/cctest/test-assembler-ia32.cc __ divsd(xmm0, xmm1); __ 278 test/cctest/test-assembler-ia32.cc __ sub(esp, Immediate(8)); __ 279 test/cctest/test-assembler-ia32.cc __ movdbl(Operand(esp, 0), xmm0); __ 280 test/cctest/test-assembler-ia32.cc __ fld_d(Operand(esp, 0)); __ 281 test/cctest/test-assembler-ia32.cc __ add(esp, Immediate(8)); __ 282 test/cctest/test-assembler-ia32.cc __ ret(0); __ 316 test/cctest/test-assembler-ia32.cc __ mov(eax, Operand(esp, 4)); __ 317 test/cctest/test-assembler-ia32.cc __ cvtsi2sd(xmm0, eax); __ 319 test/cctest/test-assembler-ia32.cc __ sub(esp, Immediate(8)); __ 320 test/cctest/test-assembler-ia32.cc __ movdbl(Operand(esp, 0), xmm0); __ 321 test/cctest/test-assembler-ia32.cc __ fld_d(Operand(esp, 0)); __ 322 test/cctest/test-assembler-ia32.cc __ add(esp, Immediate(8)); __ 323 test/cctest/test-assembler-ia32.cc __ ret(0); __ 351 test/cctest/test-assembler-ia32.cc __ fld_d(Operand(esp, 3 * kPointerSize)); __ 352 test/cctest/test-assembler-ia32.cc __ fld_d(Operand(esp, 1 * kPointerSize)); __ 353 test/cctest/test-assembler-ia32.cc __ FCmp(); __ 354 test/cctest/test-assembler-ia32.cc __ j(parity_even, &nan_l); __ 355 test/cctest/test-assembler-ia32.cc __ j(equal, &equal_l); __ 356 test/cctest/test-assembler-ia32.cc __ j(below, &less_l); __ 357 test/cctest/test-assembler-ia32.cc __ j(above, &greater_l); __ 359 test/cctest/test-assembler-ia32.cc __ mov(eax, kUndefined); __ 360 test/cctest/test-assembler-ia32.cc __ ret(0); __ 362 test/cctest/test-assembler-ia32.cc __ bind(&equal_l); __ 363 test/cctest/test-assembler-ia32.cc __ mov(eax, kEqual); __ 364 test/cctest/test-assembler-ia32.cc __ ret(0); __ 366 test/cctest/test-assembler-ia32.cc __ bind(&greater_l); __ 367 test/cctest/test-assembler-ia32.cc __ mov(eax, kGreater); __ 368 test/cctest/test-assembler-ia32.cc __ ret(0); __ 370 test/cctest/test-assembler-ia32.cc __ bind(&less_l); __ 371 test/cctest/test-assembler-ia32.cc __ mov(eax, kLess); __ 372 test/cctest/test-assembler-ia32.cc __ ret(0); __ 374 test/cctest/test-assembler-ia32.cc __ bind(&nan_l); __ 375 test/cctest/test-assembler-ia32.cc __ mov(eax, kNaN); __ 376 test/cctest/test-assembler-ia32.cc __ ret(0); __ 405 test/cctest/test-assembler-ia32.cc __ j(equal, &target); __ 406 test/cctest/test-assembler-ia32.cc __ j(not_equal, &target); __ 407 test/cctest/test-assembler-ia32.cc __ bind(&target); __ 408 test/cctest/test-assembler-ia32.cc __ nop(); __ 417 test/cctest/test-assembler-ia32.cc __ push(ebx); __ 418 test/cctest/test-assembler-ia32.cc __ push(ecx); __ 419 test/cctest/test-assembler-ia32.cc __ push(edx); __ 420 test/cctest/test-assembler-ia32.cc __ push(edi); __ 421 test/cctest/test-assembler-ia32.cc __ push(esi); __ 422 test/cctest/test-assembler-ia32.cc __ mov(eax, 1); __ 423 test/cctest/test-assembler-ia32.cc __ mov(ebx, 2); __ 424 test/cctest/test-assembler-ia32.cc __ mov(ecx, 3); __ 425 test/cctest/test-assembler-ia32.cc __ mov(edx, 4); __ 426 test/cctest/test-assembler-ia32.cc __ mov(edi, 5); __ 427 test/cctest/test-assembler-ia32.cc __ mov(esi, 6); __ 430 test/cctest/test-assembler-ia32.cc __ Nop(i); __ 435 test/cctest/test-assembler-ia32.cc __ cmp(eax, 1); __ 436 test/cctest/test-assembler-ia32.cc __ j(not_equal, &fail); __ 437 test/cctest/test-assembler-ia32.cc __ cmp(ebx, 2); __ 438 test/cctest/test-assembler-ia32.cc __ j(not_equal, &fail); __ 439 test/cctest/test-assembler-ia32.cc __ cmp(ecx, 3); __ 440 test/cctest/test-assembler-ia32.cc __ j(not_equal, &fail); __ 441 test/cctest/test-assembler-ia32.cc __ cmp(edx, 4); __ 442 test/cctest/test-assembler-ia32.cc __ j(not_equal, &fail); __ 443 test/cctest/test-assembler-ia32.cc __ cmp(edi, 5); __ 444 test/cctest/test-assembler-ia32.cc __ j(not_equal, &fail); __ 445 test/cctest/test-assembler-ia32.cc __ cmp(esi, 6); __ 446 test/cctest/test-assembler-ia32.cc __ j(not_equal, &fail); __ 447 test/cctest/test-assembler-ia32.cc __ mov(eax, 42); __ 448 test/cctest/test-assembler-ia32.cc __ pop(esi); __ 449 test/cctest/test-assembler-ia32.cc __ pop(edi); __ 450 test/cctest/test-assembler-ia32.cc __ pop(edx); __ 451 test/cctest/test-assembler-ia32.cc __ pop(ecx); __ 452 test/cctest/test-assembler-ia32.cc __ pop(ebx); __ 453 test/cctest/test-assembler-ia32.cc __ ret(0); __ 454 test/cctest/test-assembler-ia32.cc __ bind(&fail); __ 455 test/cctest/test-assembler-ia32.cc __ mov(eax, 13); __ 456 test/cctest/test-assembler-ia32.cc __ pop(esi); __ 457 test/cctest/test-assembler-ia32.cc __ pop(edi); __ 458 test/cctest/test-assembler-ia32.cc __ pop(edx); __ 459 test/cctest/test-assembler-ia32.cc __ pop(ecx); __ 460 test/cctest/test-assembler-ia32.cc __ pop(ebx); __ 461 test/cctest/test-assembler-ia32.cc __ ret(0); __ 70 test/cctest/test-assembler-mips.cc __ addu(v0, a0, a1); __ 71 test/cctest/test-assembler-mips.cc __ jr(ra); __ 72 test/cctest/test-assembler-mips.cc __ nop(); __ 95 test/cctest/test-assembler-mips.cc __ mov(a1, a0); __ 96 test/cctest/test-assembler-mips.cc __ li(v0, 0); __ 97 test/cctest/test-assembler-mips.cc __ b(&C); __ 98 test/cctest/test-assembler-mips.cc __ nop(); __ 100 test/cctest/test-assembler-mips.cc __ bind(&L); __ 101 test/cctest/test-assembler-mips.cc __ addu(v0, v0, a1); __ 102 test/cctest/test-assembler-mips.cc __ addiu(a1, a1, -1); __ 104 test/cctest/test-assembler-mips.cc __ bind(&C); __ 105 test/cctest/test-assembler-mips.cc __ xori(v1, a1, 0); __ 106 test/cctest/test-assembler-mips.cc __ Branch(&L, ne, v1, Operand(0)); __ 107 test/cctest/test-assembler-mips.cc __ nop(); __ 109 test/cctest/test-assembler-mips.cc __ jr(ra); __ 110 test/cctest/test-assembler-mips.cc __ nop(); __ 139 test/cctest/test-assembler-mips.cc __ ori(t0, zero_reg, 0); __ 140 test/cctest/test-assembler-mips.cc __ lui(t0, 0x1234); __ 141 test/cctest/test-assembler-mips.cc __ ori(t0, t0, 0); __ 142 test/cctest/test-assembler-mips.cc __ ori(t0, t0, 0x0f0f); __ 143 test/cctest/test-assembler-mips.cc __ ori(t0, t0, 0xf0f0); __ 144 test/cctest/test-assembler-mips.cc __ addiu(t1, t0, 1); __ 145 test/cctest/test-assembler-mips.cc __ addiu(t2, t1, -0x10); __ 148 test/cctest/test-assembler-mips.cc __ li(t0, 0x00000004); __ 149 test/cctest/test-assembler-mips.cc __ li(t1, 0x00001234); __ 150 test/cctest/test-assembler-mips.cc __ li(t2, 0x12345678); __ 151 test/cctest/test-assembler-mips.cc __ li(t3, 0x7fffffff); __ 152 test/cctest/test-assembler-mips.cc __ li(t4, 0xfffffffc); __ 153 test/cctest/test-assembler-mips.cc __ li(t5, 0xffffedcc); __ 154 test/cctest/test-assembler-mips.cc __ li(t6, 0xedcba988); __ 155 test/cctest/test-assembler-mips.cc __ li(t7, 0x80000000); __ 158 test/cctest/test-assembler-mips.cc __ srl(v0, t2, 8); // 0x00123456 __ 159 test/cctest/test-assembler-mips.cc __ sll(v0, v0, 11); // 0x91a2b000 __ 160 test/cctest/test-assembler-mips.cc __ sra(v0, v0, 3); // 0xf2345600 __ 161 test/cctest/test-assembler-mips.cc __ srav(v0, v0, t0); // 0xff234560 __ 162 test/cctest/test-assembler-mips.cc __ sllv(v0, v0, t0); // 0xf2345600 __ 163 test/cctest/test-assembler-mips.cc __ srlv(v0, v0, t0); // 0x0f234560 __ 164 test/cctest/test-assembler-mips.cc __ Branch(&error, ne, v0, Operand(0x0f234560)); __ 165 test/cctest/test-assembler-mips.cc __ nop(); __ 167 test/cctest/test-assembler-mips.cc __ addu(v0, t0, t1); // 0x00001238 __ 168 test/cctest/test-assembler-mips.cc __ subu(v0, v0, t0); // 0x00001234 __ 169 test/cctest/test-assembler-mips.cc __ Branch(&error, ne, v0, Operand(0x00001234)); __ 170 test/cctest/test-assembler-mips.cc __ nop(); __ 171 test/cctest/test-assembler-mips.cc __ addu(v1, t3, t0); __ 172 test/cctest/test-assembler-mips.cc __ Branch(&error, ne, v1, Operand(0x80000003)); __ 173 test/cctest/test-assembler-mips.cc __ nop(); __ 174 test/cctest/test-assembler-mips.cc __ subu(v1, t7, t0); // 0x7ffffffc __ 175 test/cctest/test-assembler-mips.cc __ Branch(&error, ne, v1, Operand(0x7ffffffc)); __ 176 test/cctest/test-assembler-mips.cc __ nop(); __ 178 test/cctest/test-assembler-mips.cc __ and_(v0, t1, t2); // 0x00001230 __ 179 test/cctest/test-assembler-mips.cc __ or_(v0, v0, t1); // 0x00001234 __ 180 test/cctest/test-assembler-mips.cc __ xor_(v0, v0, t2); // 0x1234444c __ 181 test/cctest/test-assembler-mips.cc __ nor(v0, v0, t2); // 0xedcba987 __ 182 test/cctest/test-assembler-mips.cc __ Branch(&error, ne, v0, Operand(0xedcba983)); __ 183 test/cctest/test-assembler-mips.cc __ nop(); __ 185 test/cctest/test-assembler-mips.cc __ slt(v0, t7, t3); __ 186 test/cctest/test-assembler-mips.cc __ Branch(&error, ne, v0, Operand(0x1)); __ 187 test/cctest/test-assembler-mips.cc __ nop(); __ 188 test/cctest/test-assembler-mips.cc __ sltu(v0, t7, t3); __ 189 test/cctest/test-assembler-mips.cc __ Branch(&error, ne, v0, Operand(0x0)); __ 190 test/cctest/test-assembler-mips.cc __ nop(); __ 193 test/cctest/test-assembler-mips.cc __ addiu(v0, zero_reg, 0x7421); // 0x00007421 __ 194 test/cctest/test-assembler-mips.cc __ addiu(v0, v0, -0x1); // 0x00007420 __ 195 test/cctest/test-assembler-mips.cc __ addiu(v0, v0, -0x20); // 0x00007400 __ 196 test/cctest/test-assembler-mips.cc __ Branch(&error, ne, v0, Operand(0x00007400)); __ 197 test/cctest/test-assembler-mips.cc __ nop(); __ 198 test/cctest/test-assembler-mips.cc __ addiu(v1, t3, 0x1); // 0x80000000 __ 199 test/cctest/test-assembler-mips.cc __ Branch(&error, ne, v1, Operand(0x80000000)); __ 200 test/cctest/test-assembler-mips.cc __ nop(); __ 202 test/cctest/test-assembler-mips.cc __ slti(v0, t1, 0x00002000); // 0x1 __ 203 test/cctest/test-assembler-mips.cc __ slti(v0, v0, 0xffff8000); // 0x0 __ 204 test/cctest/test-assembler-mips.cc __ Branch(&error, ne, v0, Operand(0x0)); __ 205 test/cctest/test-assembler-mips.cc __ nop(); __ 206 test/cctest/test-assembler-mips.cc __ sltiu(v0, t1, 0x00002000); // 0x1 __ 207 test/cctest/test-assembler-mips.cc __ sltiu(v0, v0, 0x00008000); // 0x1 __ 208 test/cctest/test-assembler-mips.cc __ Branch(&error, ne, v0, Operand(0x1)); __ 209 test/cctest/test-assembler-mips.cc __ nop(); __ 211 test/cctest/test-assembler-mips.cc __ andi(v0, t1, 0xf0f0); // 0x00001030 __ 212 test/cctest/test-assembler-mips.cc __ ori(v0, v0, 0x8a00); // 0x00009a30 __ 213 test/cctest/test-assembler-mips.cc __ xori(v0, v0, 0x83cc); // 0x000019fc __ 214 test/cctest/test-assembler-mips.cc __ Branch(&error, ne, v0, Operand(0x000019fc)); __ 215 test/cctest/test-assembler-mips.cc __ nop(); __ 216 test/cctest/test-assembler-mips.cc __ lui(v1, 0x8123); // 0x81230000 __ 217 test/cctest/test-assembler-mips.cc __ Branch(&error, ne, v1, Operand(0x81230000)); __ 218 test/cctest/test-assembler-mips.cc __ nop(); __ 222 test/cctest/test-assembler-mips.cc __ Clz(v0, t0); // 29 __ 223 test/cctest/test-assembler-mips.cc __ Clz(v1, t1); // 19 __ 224 test/cctest/test-assembler-mips.cc __ addu(v0, v0, v1); // 48 __ 225 test/cctest/test-assembler-mips.cc __ Clz(v1, t2); // 3 __ 226 test/cctest/test-assembler-mips.cc __ addu(v0, v0, v1); // 51 __ 227 test/cctest/test-assembler-mips.cc __ Clz(v1, t7); // 0 __ 228 test/cctest/test-assembler-mips.cc __ addu(v0, v0, v1); // 51 __ 229 test/cctest/test-assembler-mips.cc __ Branch(&error, ne, v0, Operand(51)); __ 230 test/cctest/test-assembler-mips.cc __ Movn(a0, t3, t0); // Move a0<-t3 (t0 is NOT 0). __ 231 test/cctest/test-assembler-mips.cc __ Ins(a0, t1, 12, 8); // 0x7ff34fff __ 232 test/cctest/test-assembler-mips.cc __ Branch(&error, ne, a0, Operand(0x7ff34fff)); __ 233 test/cctest/test-assembler-mips.cc __ Movz(a0, t6, t7); // a0 not updated (t7 is NOT 0). __ 234 test/cctest/test-assembler-mips.cc __ Ext(a1, a0, 8, 12); // 0x34f __ 235 test/cctest/test-assembler-mips.cc __ Branch(&error, ne, a1, Operand(0x34f)); __ 236 test/cctest/test-assembler-mips.cc __ Movz(a0, t6, v1); // a0<-t6, v0 is 0, from 8 instr back. __ 237 test/cctest/test-assembler-mips.cc __ Branch(&error, ne, a0, Operand(t6)); __ 240 test/cctest/test-assembler-mips.cc __ li(v0, 0x31415926); __ 241 test/cctest/test-assembler-mips.cc __ b(&exit); __ 242 test/cctest/test-assembler-mips.cc __ nop(); __ 244 test/cctest/test-assembler-mips.cc __ bind(&error); __ 246 test/cctest/test-assembler-mips.cc __ li(v0, 666); __ 248 test/cctest/test-assembler-mips.cc __ bind(&exit); __ 249 test/cctest/test-assembler-mips.cc __ jr(ra); __ 250 test/cctest/test-assembler-mips.cc __ nop(); __ 290 test/cctest/test-assembler-mips.cc __ ldc1(f4, MemOperand(a0, OFFSET_OF(T, a)) ); __ 291 test/cctest/test-assembler-mips.cc __ ldc1(f6, MemOperand(a0, OFFSET_OF(T, b)) ); __ 292 test/cctest/test-assembler-mips.cc __ add_d(f8, f4, f6); __ 293 test/cctest/test-assembler-mips.cc __ sdc1(f8, MemOperand(a0, OFFSET_OF(T, c)) ); // c = a + b. __ 295 test/cctest/test-assembler-mips.cc __ mov_d(f10, f8); // c __ 296 test/cctest/test-assembler-mips.cc __ neg_d(f12, f6); // -b __ 297 test/cctest/test-assembler-mips.cc __ sub_d(f10, f10, f12); __ 298 test/cctest/test-assembler-mips.cc __ sdc1(f10, MemOperand(a0, OFFSET_OF(T, d)) ); // d = c - (-b). __ 300 test/cctest/test-assembler-mips.cc __ sdc1(f4, MemOperand(a0, OFFSET_OF(T, b)) ); // b = a. __ 302 test/cctest/test-assembler-mips.cc __ li(t0, 120); __ 303 test/cctest/test-assembler-mips.cc __ mtc1(t0, f14); __ 304 test/cctest/test-assembler-mips.cc __ cvt_d_w(f14, f14); // f14 = 120.0. __ 305 test/cctest/test-assembler-mips.cc __ mul_d(f10, f10, f14); __ 306 test/cctest/test-assembler-mips.cc __ sdc1(f10, MemOperand(a0, OFFSET_OF(T, e)) ); // e = d * 120 = 1.8066e16. __ 308 test/cctest/test-assembler-mips.cc __ div_d(f12, f10, f4); __ 309 test/cctest/test-assembler-mips.cc __ sdc1(f12, MemOperand(a0, OFFSET_OF(T, f)) ); // f = e / a = 120.44. __ 311 test/cctest/test-assembler-mips.cc __ sqrt_d(f14, f12); __ 312 test/cctest/test-assembler-mips.cc __ sdc1(f14, MemOperand(a0, OFFSET_OF(T, g)) ); __ 315 test/cctest/test-assembler-mips.cc __ jr(ra); __ 316 test/cctest/test-assembler-mips.cc __ nop(); __ 363 test/cctest/test-assembler-mips.cc __ ldc1(f4, MemOperand(a0, OFFSET_OF(T, a)) ); __ 364 test/cctest/test-assembler-mips.cc __ ldc1(f6, MemOperand(a0, OFFSET_OF(T, b)) ); __ 367 test/cctest/test-assembler-mips.cc __ mfc1(t0, f4); __ 368 test/cctest/test-assembler-mips.cc __ mfc1(t1, f5); __ 369 test/cctest/test-assembler-mips.cc __ mfc1(t2, f6); __ 370 test/cctest/test-assembler-mips.cc __ mfc1(t3, f7); __ 372 test/cctest/test-assembler-mips.cc __ mtc1(t0, f6); __ 373 test/cctest/test-assembler-mips.cc __ mtc1(t1, f7); __ 374 test/cctest/test-assembler-mips.cc __ mtc1(t2, f4); __ 375 test/cctest/test-assembler-mips.cc __ mtc1(t3, f5); __ 378 test/cctest/test-assembler-mips.cc __ sdc1(f4, MemOperand(a0, OFFSET_OF(T, a)) ); __ 379 test/cctest/test-assembler-mips.cc __ sdc1(f6, MemOperand(a0, OFFSET_OF(T, c)) ); __ 381 test/cctest/test-assembler-mips.cc __ jr(ra); __ 382 test/cctest/test-assembler-mips.cc __ nop(); __ 425 test/cctest/test-assembler-mips.cc __ ldc1(f4, MemOperand(a0, OFFSET_OF(T, a)) ); __ 426 test/cctest/test-assembler-mips.cc __ ldc1(f6, MemOperand(a0, OFFSET_OF(T, b)) ); __ 427 test/cctest/test-assembler-mips.cc __ lw(t0, MemOperand(a0, OFFSET_OF(T, i)) ); __ 428 test/cctest/test-assembler-mips.cc __ lw(t1, MemOperand(a0, OFFSET_OF(T, j)) ); __ 431 test/cctest/test-assembler-mips.cc __ cvt_w_d(f8, f4); __ 432 test/cctest/test-assembler-mips.cc __ mfc1(t2, f8); __ 433 test/cctest/test-assembler-mips.cc __ sw(t2, MemOperand(a0, OFFSET_OF(T, i)) ); __ 436 test/cctest/test-assembler-mips.cc __ cvt_w_d(f10, f6); __ 437 test/cctest/test-assembler-mips.cc __ mfc1(t3, f10); __ 438 test/cctest/test-assembler-mips.cc __ sw(t3, MemOperand(a0, OFFSET_OF(T, j)) ); __ 441 test/cctest/test-assembler-mips.cc __ mtc1(t0, f12); __ 442 test/cctest/test-assembler-mips.cc __ cvt_d_w(f0, f12); __ 443 test/cctest/test-assembler-mips.cc __ sdc1(f0, MemOperand(a0, OFFSET_OF(T, a)) ); __ 446 test/cctest/test-assembler-mips.cc __ mtc1(t1, f14); __ 447 test/cctest/test-assembler-mips.cc __ cvt_d_w(f2, f14); __ 448 test/cctest/test-assembler-mips.cc __ sdc1(f2, MemOperand(a0, OFFSET_OF(T, b)) ); __ 450 test/cctest/test-assembler-mips.cc __ jr(ra); __ 451 test/cctest/test-assembler-mips.cc __ nop(); __ 497 test/cctest/test-assembler-mips.cc __ lw(t0, MemOperand(a0, OFFSET_OF(T, ui)) ); __ 498 test/cctest/test-assembler-mips.cc __ sw(t0, MemOperand(a0, OFFSET_OF(T, r1)) ); __ 501 test/cctest/test-assembler-mips.cc __ lh(t1, MemOperand(a0, OFFSET_OF(T, ui)) ); __ 502 test/cctest/test-assembler-mips.cc __ sw(t1, MemOperand(a0, OFFSET_OF(T, r2)) ); __ 505 test/cctest/test-assembler-mips.cc __ lh(t2, MemOperand(a0, OFFSET_OF(T, si)) ); __ 506 test/cctest/test-assembler-mips.cc __ sw(t2, MemOperand(a0, OFFSET_OF(T, r3)) ); __ 509 test/cctest/test-assembler-mips.cc __ lhu(t3, MemOperand(a0, OFFSET_OF(T, si)) ); __ 510 test/cctest/test-assembler-mips.cc __ sw(t3, MemOperand(a0, OFFSET_OF(T, r4)) ); __ 513 test/cctest/test-assembler-mips.cc __ lb(t4, MemOperand(a0, OFFSET_OF(T, si)) ); __ 514 test/cctest/test-assembler-mips.cc __ sw(t4, MemOperand(a0, OFFSET_OF(T, r5)) ); __ 517 test/cctest/test-assembler-mips.cc __ lui(t5, 0x3333); __ 518 test/cctest/test-assembler-mips.cc __ ori(t5, t5, 0x3333); __ 519 test/cctest/test-assembler-mips.cc __ sw(t5, MemOperand(a0, OFFSET_OF(T, r6)) ); __ 520 test/cctest/test-assembler-mips.cc __ lhu(t5, MemOperand(a0, OFFSET_OF(T, si)) ); __ 521 test/cctest/test-assembler-mips.cc __ sh(t5, MemOperand(a0, OFFSET_OF(T, r6)) ); __ 523 test/cctest/test-assembler-mips.cc __ jr(ra); __ 524 test/cctest/test-assembler-mips.cc __ nop(); __ 572 test/cctest/test-assembler-mips.cc __ ldc1(f4, MemOperand(a0, OFFSET_OF(T, a)) ); __ 573 test/cctest/test-assembler-mips.cc __ ldc1(f6, MemOperand(a0, OFFSET_OF(T, b)) ); __ 574 test/cctest/test-assembler-mips.cc __ c(UN, D, f4, f6); __ 575 test/cctest/test-assembler-mips.cc __ bc1f(&neither_is_nan); __ 576 test/cctest/test-assembler-mips.cc __ nop(); __ 577 test/cctest/test-assembler-mips.cc __ sw(zero_reg, MemOperand(a0, OFFSET_OF(T, result)) ); __ 578 test/cctest/test-assembler-mips.cc __ Branch(&outa_here); __ 580 test/cctest/test-assembler-mips.cc __ bind(&neither_is_nan); __ 583 test/cctest/test-assembler-mips.cc __ c(OLT, D, f6, f4); __ 584 test/cctest/test-assembler-mips.cc __ bc1t(&less_than); __ 586 test/cctest/test-assembler-mips.cc __ c(OLT, D, f6, f4, 2); __ 587 test/cctest/test-assembler-mips.cc __ bc1t(&less_than, 2); __ 589 test/cctest/test-assembler-mips.cc __ nop(); __ 590 test/cctest/test-assembler-mips.cc __ sw(zero_reg, MemOperand(a0, OFFSET_OF(T, result)) ); __ 591 test/cctest/test-assembler-mips.cc __ Branch(&outa_here); __ 593 test/cctest/test-assembler-mips.cc __ bind(&less_than); __ 594 test/cctest/test-assembler-mips.cc __ Addu(t0, zero_reg, Operand(1)); __ 595 test/cctest/test-assembler-mips.cc __ sw(t0, MemOperand(a0, OFFSET_OF(T, result)) ); // Set true. __ 600 test/cctest/test-assembler-mips.cc __ bind(&outa_here); __ 602 test/cctest/test-assembler-mips.cc __ jr(ra); __ 603 test/cctest/test-assembler-mips.cc __ nop(); __ 656 test/cctest/test-assembler-mips.cc __ lw(t0, MemOperand(a0, OFFSET_OF(T, input)) ); __ 659 test/cctest/test-assembler-mips.cc __ Ror(t1, t0, 0x0004); __ 660 test/cctest/test-assembler-mips.cc __ Ror(t2, t0, 0x0008); __ 661 test/cctest/test-assembler-mips.cc __ Ror(t3, t0, 0x000c); __ 662 test/cctest/test-assembler-mips.cc __ Ror(t4, t0, 0x0010); __ 663 test/cctest/test-assembler-mips.cc __ Ror(t5, t0, 0x0014); __ 664 test/cctest/test-assembler-mips.cc __ Ror(t6, t0, 0x0018); __ 665 test/cctest/test-assembler-mips.cc __ Ror(t7, t0, 0x001c); __ 668 test/cctest/test-assembler-mips.cc __ sw(t1, MemOperand(a0, OFFSET_OF(T, result_rotr_4)) ); __ 669 test/cctest/test-assembler-mips.cc __ sw(t2, MemOperand(a0, OFFSET_OF(T, result_rotr_8)) ); __ 670 test/cctest/test-assembler-mips.cc __ sw(t3, MemOperand(a0, OFFSET_OF(T, result_rotr_12)) ); __ 671 test/cctest/test-assembler-mips.cc __ sw(t4, MemOperand(a0, OFFSET_OF(T, result_rotr_16)) ); __ 672 test/cctest/test-assembler-mips.cc __ sw(t5, MemOperand(a0, OFFSET_OF(T, result_rotr_20)) ); __ 673 test/cctest/test-assembler-mips.cc __ sw(t6, MemOperand(a0, OFFSET_OF(T, result_rotr_24)) ); __ 674 test/cctest/test-assembler-mips.cc __ sw(t7, MemOperand(a0, OFFSET_OF(T, result_rotr_28)) ); __ 677 test/cctest/test-assembler-mips.cc __ li(t7, 0x0004); __ 678 test/cctest/test-assembler-mips.cc __ Ror(t1, t0, t7); __ 679 test/cctest/test-assembler-mips.cc __ li(t7, 0x0008); __ 680 test/cctest/test-assembler-mips.cc __ Ror(t2, t0, t7); __ 681 test/cctest/test-assembler-mips.cc __ li(t7, 0x000C); __ 682 test/cctest/test-assembler-mips.cc __ Ror(t3, t0, t7); __ 683 test/cctest/test-assembler-mips.cc __ li(t7, 0x0010); __ 684 test/cctest/test-assembler-mips.cc __ Ror(t4, t0, t7); __ 685 test/cctest/test-assembler-mips.cc __ li(t7, 0x0014); __ 686 test/cctest/test-assembler-mips.cc __ Ror(t5, t0, t7); __ 687 test/cctest/test-assembler-mips.cc __ li(t7, 0x0018); __ 688 test/cctest/test-assembler-mips.cc __ Ror(t6, t0, t7); __ 689 test/cctest/test-assembler-mips.cc __ li(t7, 0x001C); __ 690 test/cctest/test-assembler-mips.cc __ Ror(t7, t0, t7); __ 693 test/cctest/test-assembler-mips.cc __ sw(t1, MemOperand(a0, OFFSET_OF(T, result_rotrv_4)) ); __ 694 test/cctest/test-assembler-mips.cc __ sw(t2, MemOperand(a0, OFFSET_OF(T, result_rotrv_8)) ); __ 695 test/cctest/test-assembler-mips.cc __ sw(t3, MemOperand(a0, OFFSET_OF(T, result_rotrv_12)) ); __ 696 test/cctest/test-assembler-mips.cc __ sw(t4, MemOperand(a0, OFFSET_OF(T, result_rotrv_16)) ); __ 697 test/cctest/test-assembler-mips.cc __ sw(t5, MemOperand(a0, OFFSET_OF(T, result_rotrv_20)) ); __ 698 test/cctest/test-assembler-mips.cc __ sw(t6, MemOperand(a0, OFFSET_OF(T, result_rotrv_24)) ); __ 699 test/cctest/test-assembler-mips.cc __ sw(t7, MemOperand(a0, OFFSET_OF(T, result_rotrv_28)) ); __ 701 test/cctest/test-assembler-mips.cc __ jr(ra); __ 702 test/cctest/test-assembler-mips.cc __ nop(); __ 741 test/cctest/test-assembler-mips.cc __ Branch(&exit, ge, a0, Operand(0x00000000)); __ 742 test/cctest/test-assembler-mips.cc __ Branch(&exit2, ge, a0, Operand(0x00001FFF)); __ 743 test/cctest/test-assembler-mips.cc __ Branch(&exit3, ge, a0, Operand(0x0001FFFF)); __ 745 test/cctest/test-assembler-mips.cc __ bind(&exit); __ 746 test/cctest/test-assembler-mips.cc __ bind(&exit2); __ 747 test/cctest/test-assembler-mips.cc __ bind(&exit3); __ 748 test/cctest/test-assembler-mips.cc __ jr(ra); __ 749 test/cctest/test-assembler-mips.cc __ nop(); __ 786 test/cctest/test-assembler-mips.cc __ ldc1(f0, MemOperand(a0, OFFSET_OF(T, a))); __ 789 test/cctest/test-assembler-mips.cc __ mfc1(t0, f0); __ 790 test/cctest/test-assembler-mips.cc __ mfc1(t1, f1); __ 791 test/cctest/test-assembler-mips.cc __ sw(t0, MemOperand(a0, OFFSET_OF(T, dbl_mant))); __ 792 test/cctest/test-assembler-mips.cc __ sw(t1, MemOperand(a0, OFFSET_OF(T, dbl_exp))); __ 795 test/cctest/test-assembler-mips.cc __ cvt_l_d(f0, f0); __ 796 test/cctest/test-assembler-mips.cc __ mfc1(t0, f0); // f0 has LS 32 bits of long. __ 797 test/cctest/test-assembler-mips.cc __ mfc1(t1, f1); // f1 has MS 32 bits of long. __ 798 test/cctest/test-assembler-mips.cc __ sw(t0, MemOperand(a0, OFFSET_OF(T, long_lo))); __ 799 test/cctest/test-assembler-mips.cc __ sw(t1, MemOperand(a0, OFFSET_OF(T, long_hi))); __ 802 test/cctest/test-assembler-mips.cc __ lw(t0, MemOperand(a0, OFFSET_OF(T, b_long_lo))); __ 803 test/cctest/test-assembler-mips.cc __ lw(t1, MemOperand(a0, OFFSET_OF(T, b_long_hi))); __ 804 test/cctest/test-assembler-mips.cc __ mtc1(t0, f8); // f8 has LS 32-bits. __ 805 test/cctest/test-assembler-mips.cc __ mtc1(t1, f9); // f9 has MS 32-bits. __ 806 test/cctest/test-assembler-mips.cc __ cvt_d_l(f10, f8); __ 807 test/cctest/test-assembler-mips.cc __ sdc1(f10, MemOperand(a0, OFFSET_OF(T, b))); __ 809 test/cctest/test-assembler-mips.cc __ jr(ra); __ 810 test/cctest/test-assembler-mips.cc __ nop(); __ 866 test/cctest/test-assembler-mips.cc __ lw(t0, MemOperand(a0, OFFSET_OF(T, reg_init)) ); __ 867 test/cctest/test-assembler-mips.cc __ lwl(t0, MemOperand(a0, OFFSET_OF(T, mem_init)) ); __ 868 test/cctest/test-assembler-mips.cc __ sw(t0, MemOperand(a0, OFFSET_OF(T, lwl_0)) ); __ 870 test/cctest/test-assembler-mips.cc __ lw(t1, MemOperand(a0, OFFSET_OF(T, reg_init)) ); __ 871 test/cctest/test-assembler-mips.cc __ lwl(t1, MemOperand(a0, OFFSET_OF(T, mem_init) + 1) ); __ 872 test/cctest/test-assembler-mips.cc __ sw(t1, MemOperand(a0, OFFSET_OF(T, lwl_1)) ); __ 874 test/cctest/test-assembler-mips.cc __ lw(t2, MemOperand(a0, OFFSET_OF(T, reg_init)) ); __ 875 test/cctest/test-assembler-mips.cc __ lwl(t2, MemOperand(a0, OFFSET_OF(T, mem_init) + 2) ); __ 876 test/cctest/test-assembler-mips.cc __ sw(t2, MemOperand(a0, OFFSET_OF(T, lwl_2)) ); __ 878 test/cctest/test-assembler-mips.cc __ lw(t3, MemOperand(a0, OFFSET_OF(T, reg_init)) ); __ 879 test/cctest/test-assembler-mips.cc __ lwl(t3, MemOperand(a0, OFFSET_OF(T, mem_init) + 3) ); __ 880 test/cctest/test-assembler-mips.cc __ sw(t3, MemOperand(a0, OFFSET_OF(T, lwl_3)) ); __ 883 test/cctest/test-assembler-mips.cc __ lw(t0, MemOperand(a0, OFFSET_OF(T, reg_init)) ); __ 884 test/cctest/test-assembler-mips.cc __ lwr(t0, MemOperand(a0, OFFSET_OF(T, mem_init)) ); __ 885 test/cctest/test-assembler-mips.cc __ sw(t0, MemOperand(a0, OFFSET_OF(T, lwr_0)) ); __ 887 test/cctest/test-assembler-mips.cc __ lw(t1, MemOperand(a0, OFFSET_OF(T, reg_init)) ); __ 888 test/cctest/test-assembler-mips.cc __ lwr(t1, MemOperand(a0, OFFSET_OF(T, mem_init) + 1) ); __ 889 test/cctest/test-assembler-mips.cc __ sw(t1, MemOperand(a0, OFFSET_OF(T, lwr_1)) ); __ 891 test/cctest/test-assembler-mips.cc __ lw(t2, MemOperand(a0, OFFSET_OF(T, reg_init)) ); __ 892 test/cctest/test-assembler-mips.cc __ lwr(t2, MemOperand(a0, OFFSET_OF(T, mem_init) + 2) ); __ 893 test/cctest/test-assembler-mips.cc __ sw(t2, MemOperand(a0, OFFSET_OF(T, lwr_2)) ); __ 895 test/cctest/test-assembler-mips.cc __ lw(t3, MemOperand(a0, OFFSET_OF(T, reg_init)) ); __ 896 test/cctest/test-assembler-mips.cc __ lwr(t3, MemOperand(a0, OFFSET_OF(T, mem_init) + 3) ); __ 897 test/cctest/test-assembler-mips.cc __ sw(t3, MemOperand(a0, OFFSET_OF(T, lwr_3)) ); __ 900 test/cctest/test-assembler-mips.cc __ lw(t0, MemOperand(a0, OFFSET_OF(T, mem_init)) ); __ 901 test/cctest/test-assembler-mips.cc __ sw(t0, MemOperand(a0, OFFSET_OF(T, swl_0)) ); __ 902 test/cctest/test-assembler-mips.cc __ lw(t0, MemOperand(a0, OFFSET_OF(T, reg_init)) ); __ 903 test/cctest/test-assembler-mips.cc __ swl(t0, MemOperand(a0, OFFSET_OF(T, swl_0)) ); __ 905 test/cctest/test-assembler-mips.cc __ lw(t1, MemOperand(a0, OFFSET_OF(T, mem_init)) ); __ 906 test/cctest/test-assembler-mips.cc __ sw(t1, MemOperand(a0, OFFSET_OF(T, swl_1)) ); __ 907 test/cctest/test-assembler-mips.cc __ lw(t1, MemOperand(a0, OFFSET_OF(T, reg_init)) ); __ 908 test/cctest/test-assembler-mips.cc __ swl(t1, MemOperand(a0, OFFSET_OF(T, swl_1) + 1) ); __ 910 test/cctest/test-assembler-mips.cc __ lw(t2, MemOperand(a0, OFFSET_OF(T, mem_init)) ); __ 911 test/cctest/test-assembler-mips.cc __ sw(t2, MemOperand(a0, OFFSET_OF(T, swl_2)) ); __ 912 test/cctest/test-assembler-mips.cc __ lw(t2, MemOperand(a0, OFFSET_OF(T, reg_init)) ); __ 913 test/cctest/test-assembler-mips.cc __ swl(t2, MemOperand(a0, OFFSET_OF(T, swl_2) + 2) ); __ 915 test/cctest/test-assembler-mips.cc __ lw(t3, MemOperand(a0, OFFSET_OF(T, mem_init)) ); __ 916 test/cctest/test-assembler-mips.cc __ sw(t3, MemOperand(a0, OFFSET_OF(T, swl_3)) ); __ 917 test/cctest/test-assembler-mips.cc __ lw(t3, MemOperand(a0, OFFSET_OF(T, reg_init)) ); __ 918 test/cctest/test-assembler-mips.cc __ swl(t3, MemOperand(a0, OFFSET_OF(T, swl_3) + 3) ); __ 921 test/cctest/test-assembler-mips.cc __ lw(t0, MemOperand(a0, OFFSET_OF(T, mem_init)) ); __ 922 test/cctest/test-assembler-mips.cc __ sw(t0, MemOperand(a0, OFFSET_OF(T, swr_0)) ); __ 923 test/cctest/test-assembler-mips.cc __ lw(t0, MemOperand(a0, OFFSET_OF(T, reg_init)) ); __ 924 test/cctest/test-assembler-mips.cc __ swr(t0, MemOperand(a0, OFFSET_OF(T, swr_0)) ); __ 926 test/cctest/test-assembler-mips.cc __ lw(t1, MemOperand(a0, OFFSET_OF(T, mem_init)) ); __ 927 test/cctest/test-assembler-mips.cc __ sw(t1, MemOperand(a0, OFFSET_OF(T, swr_1)) ); __ 928 test/cctest/test-assembler-mips.cc __ lw(t1, MemOperand(a0, OFFSET_OF(T, reg_init)) ); __ 929 test/cctest/test-assembler-mips.cc __ swr(t1, MemOperand(a0, OFFSET_OF(T, swr_1) + 1) ); __ 931 test/cctest/test-assembler-mips.cc __ lw(t2, MemOperand(a0, OFFSET_OF(T, mem_init)) ); __ 932 test/cctest/test-assembler-mips.cc __ sw(t2, MemOperand(a0, OFFSET_OF(T, swr_2)) ); __ 933 test/cctest/test-assembler-mips.cc __ lw(t2, MemOperand(a0, OFFSET_OF(T, reg_init)) ); __ 934 test/cctest/test-assembler-mips.cc __ swr(t2, MemOperand(a0, OFFSET_OF(T, swr_2) + 2) ); __ 936 test/cctest/test-assembler-mips.cc __ lw(t3, MemOperand(a0, OFFSET_OF(T, mem_init)) ); __ 937 test/cctest/test-assembler-mips.cc __ sw(t3, MemOperand(a0, OFFSET_OF(T, swr_3)) ); __ 938 test/cctest/test-assembler-mips.cc __ lw(t3, MemOperand(a0, OFFSET_OF(T, reg_init)) ); __ 939 test/cctest/test-assembler-mips.cc __ swr(t3, MemOperand(a0, OFFSET_OF(T, swr_3) + 3) ); __ 941 test/cctest/test-assembler-mips.cc __ jr(ra); __ 942 test/cctest/test-assembler-mips.cc __ nop(); __ 996 test/cctest/test-assembler-mips.cc __ mov(t6, fp); // Save frame pointer. __ 997 test/cctest/test-assembler-mips.cc __ mov(fp, a0); // Access struct T by fp. __ 998 test/cctest/test-assembler-mips.cc __ lw(t0, MemOperand(a0, OFFSET_OF(T, y)) ); __ 999 test/cctest/test-assembler-mips.cc __ lw(t3, MemOperand(a0, OFFSET_OF(T, y4)) ); __ 1001 test/cctest/test-assembler-mips.cc __ addu(t1, t0, t3); __ 1002 test/cctest/test-assembler-mips.cc __ subu(t4, t0, t3); __ 1003 test/cctest/test-assembler-mips.cc __ nop(); __ 1004 test/cctest/test-assembler-mips.cc __ push(t0); // These instructions disappear after opt. __ 1005 test/cctest/test-assembler-mips.cc __ Pop(); __ 1006 test/cctest/test-assembler-mips.cc __ addu(t0, t0, t0); __ 1007 test/cctest/test-assembler-mips.cc __ nop(); __ 1008 test/cctest/test-assembler-mips.cc __ Pop(); // These instructions disappear after opt. __ 1009 test/cctest/test-assembler-mips.cc __ push(t3); __ 1010 test/cctest/test-assembler-mips.cc __ nop(); __ 1011 test/cctest/test-assembler-mips.cc __ push(t3); // These instructions disappear after opt. __ 1012 test/cctest/test-assembler-mips.cc __ pop(t3); __ 1013 test/cctest/test-assembler-mips.cc __ nop(); __ 1014 test/cctest/test-assembler-mips.cc __ push(t3); __ 1015 test/cctest/test-assembler-mips.cc __ pop(t4); __ 1016 test/cctest/test-assembler-mips.cc __ nop(); __ 1017 test/cctest/test-assembler-mips.cc __ sw(t0, MemOperand(fp, OFFSET_OF(T, y)) ); __ 1018 test/cctest/test-assembler-mips.cc __ lw(t0, MemOperand(fp, OFFSET_OF(T, y)) ); __ 1019 test/cctest/test-assembler-mips.cc __ nop(); __ 1020 test/cctest/test-assembler-mips.cc __ sw(t0, MemOperand(fp, OFFSET_OF(T, y)) ); __ 1021 test/cctest/test-assembler-mips.cc __ lw(t1, MemOperand(fp, OFFSET_OF(T, y)) ); __ 1022 test/cctest/test-assembler-mips.cc __ nop(); __ 1023 test/cctest/test-assembler-mips.cc __ push(t1); __ 1024 test/cctest/test-assembler-mips.cc __ lw(t1, MemOperand(fp, OFFSET_OF(T, y)) ); __ 1025 test/cctest/test-assembler-mips.cc __ pop(t1); __ 1026 test/cctest/test-assembler-mips.cc __ nop(); __ 1027 test/cctest/test-assembler-mips.cc __ push(t1); __ 1028 test/cctest/test-assembler-mips.cc __ lw(t2, MemOperand(fp, OFFSET_OF(T, y)) ); __ 1029 test/cctest/test-assembler-mips.cc __ pop(t1); __ 1030 test/cctest/test-assembler-mips.cc __ nop(); __ 1031 test/cctest/test-assembler-mips.cc __ push(t1); __ 1032 test/cctest/test-assembler-mips.cc __ lw(t2, MemOperand(fp, OFFSET_OF(T, y)) ); __ 1033 test/cctest/test-assembler-mips.cc __ pop(t2); __ 1034 test/cctest/test-assembler-mips.cc __ nop(); __ 1035 test/cctest/test-assembler-mips.cc __ push(t2); __ 1036 test/cctest/test-assembler-mips.cc __ lw(t2, MemOperand(fp, OFFSET_OF(T, y)) ); __ 1037 test/cctest/test-assembler-mips.cc __ pop(t1); __ 1038 test/cctest/test-assembler-mips.cc __ nop(); __ 1039 test/cctest/test-assembler-mips.cc __ push(t1); __ 1040 test/cctest/test-assembler-mips.cc __ lw(t2, MemOperand(fp, OFFSET_OF(T, y)) ); __ 1041 test/cctest/test-assembler-mips.cc __ pop(t3); __ 1042 test/cctest/test-assembler-mips.cc __ nop(); __ 1044 test/cctest/test-assembler-mips.cc __ mov(fp, t6); __ 1045 test/cctest/test-assembler-mips.cc __ jr(ra); __ 1046 test/cctest/test-assembler-mips.cc __ nop(); __ 1090 test/cctest/test-assembler-mips.cc __ sw(t0, MemOperand(a0, OFFSET_OF(T, cvt_small_in))); __ 1091 test/cctest/test-assembler-mips.cc __ Cvt_d_uw(f10, t0, f22); __ 1092 test/cctest/test-assembler-mips.cc __ sdc1(f10, MemOperand(a0, OFFSET_OF(T, cvt_small_out))); __ 1094 test/cctest/test-assembler-mips.cc __ Trunc_uw_d(f10, f10, f22); __ 1095 test/cctest/test-assembler-mips.cc __ swc1(f10, MemOperand(a0, OFFSET_OF(T, trunc_small_out))); __ 1097 test/cctest/test-assembler-mips.cc __ sw(t0, MemOperand(a0, OFFSET_OF(T, cvt_big_in))); __ 1098 test/cctest/test-assembler-mips.cc __ Cvt_d_uw(f8, t0, f22); __ 1099 test/cctest/test-assembler-mips.cc __ sdc1(f8, MemOperand(a0, OFFSET_OF(T, cvt_big_out))); __ 1101 test/cctest/test-assembler-mips.cc __ Trunc_uw_d(f8, f8, f22); __ 1102 test/cctest/test-assembler-mips.cc __ swc1(f8, MemOperand(a0, OFFSET_OF(T, trunc_big_out))); __ 1104 test/cctest/test-assembler-mips.cc __ jr(ra); __ 1105 test/cctest/test-assembler-mips.cc __ nop(); __ 1174 test/cctest/test-assembler-mips.cc __ cfc1(a1, FCSR); __ 1176 test/cctest/test-assembler-mips.cc __ ctc1(zero_reg, FCSR); __ 1178 test/cctest/test-assembler-mips.cc __ ldc1(f0, MemOperand(a0, OFFSET_OF(T, round_up_in))); \ __ 1179 test/cctest/test-assembler-mips.cc __ x##_w_d(f0, f0); \ __ 1180 test/cctest/test-assembler-mips.cc __ swc1(f0, MemOperand(a0, OFFSET_OF(T, x##_up_out))); \ __ 1182 test/cctest/test-assembler-mips.cc __ ldc1(f0, MemOperand(a0, OFFSET_OF(T, round_down_in))); \ __ 1183 test/cctest/test-assembler-mips.cc __ x##_w_d(f0, f0); \ __ 1184 test/cctest/test-assembler-mips.cc __ swc1(f0, MemOperand(a0, OFFSET_OF(T, x##_down_out))); \ __ 1186 test/cctest/test-assembler-mips.cc __ ldc1(f0, MemOperand(a0, OFFSET_OF(T, neg_round_up_in))); \ __ 1187 test/cctest/test-assembler-mips.cc __ x##_w_d(f0, f0); \ __ 1188 test/cctest/test-assembler-mips.cc __ swc1(f0, MemOperand(a0, OFFSET_OF(T, neg_##x##_up_out))); \ __ 1190 test/cctest/test-assembler-mips.cc __ ldc1(f0, MemOperand(a0, OFFSET_OF(T, neg_round_down_in))); \ __ 1191 test/cctest/test-assembler-mips.cc __ x##_w_d(f0, f0); \ __ 1192 test/cctest/test-assembler-mips.cc __ swc1(f0, MemOperand(a0, OFFSET_OF(T, neg_##x##_down_out))); \ __ 1194 test/cctest/test-assembler-mips.cc __ ldc1(f0, MemOperand(a0, OFFSET_OF(T, err1_in))); \ __ 1195 test/cctest/test-assembler-mips.cc __ ctc1(zero_reg, FCSR); \ __ 1196 test/cctest/test-assembler-mips.cc __ x##_w_d(f0, f0); \ __ 1197 test/cctest/test-assembler-mips.cc __ cfc1(a2, FCSR); \ __ 1198 test/cctest/test-assembler-mips.cc __ sw(a2, MemOperand(a0, OFFSET_OF(T, x##_err1_out))); \ __ 1200 test/cctest/test-assembler-mips.cc __ ldc1(f0, MemOperand(a0, OFFSET_OF(T, err2_in))); \ __ 1201 test/cctest/test-assembler-mips.cc __ ctc1(zero_reg, FCSR); \ __ 1202 test/cctest/test-assembler-mips.cc __ x##_w_d(f0, f0); \ __ 1203 test/cctest/test-assembler-mips.cc __ cfc1(a2, FCSR); \ __ 1204 test/cctest/test-assembler-mips.cc __ sw(a2, MemOperand(a0, OFFSET_OF(T, x##_err2_out))); \ __ 1206 test/cctest/test-assembler-mips.cc __ ldc1(f0, MemOperand(a0, OFFSET_OF(T, err3_in))); \ __ 1207 test/cctest/test-assembler-mips.cc __ ctc1(zero_reg, FCSR); \ __ 1208 test/cctest/test-assembler-mips.cc __ x##_w_d(f0, f0); \ __ 1209 test/cctest/test-assembler-mips.cc __ cfc1(a2, FCSR); \ __ 1210 test/cctest/test-assembler-mips.cc __ sw(a2, MemOperand(a0, OFFSET_OF(T, x##_err3_out))); \ __ 1212 test/cctest/test-assembler-mips.cc __ ldc1(f0, MemOperand(a0, OFFSET_OF(T, err4_in))); \ __ 1213 test/cctest/test-assembler-mips.cc __ ctc1(zero_reg, FCSR); \ __ 1214 test/cctest/test-assembler-mips.cc __ x##_w_d(f0, f0); \ __ 1215 test/cctest/test-assembler-mips.cc __ cfc1(a2, FCSR); \ __ 1216 test/cctest/test-assembler-mips.cc __ sw(a2, MemOperand(a0, OFFSET_OF(T, x##_err4_out))); \ __ 1217 test/cctest/test-assembler-mips.cc __ swc1(f0, MemOperand(a0, OFFSET_OF(T, x##_invalid_result))); __ 1226 test/cctest/test-assembler-mips.cc __ ctc1(a1, FCSR); __ 1228 test/cctest/test-assembler-mips.cc __ jr(ra); __ 1229 test/cctest/test-assembler-mips.cc __ nop(); __ 1275 test/cctest/test-assembler-mips.cc __ beq(v0, v1, &target); __ 1276 test/cctest/test-assembler-mips.cc __ nop(); __ 1277 test/cctest/test-assembler-mips.cc __ bne(v0, v1, &target); __ 1278 test/cctest/test-assembler-mips.cc __ nop(); __ 1279 test/cctest/test-assembler-mips.cc __ bind(&target); __ 1280 test/cctest/test-assembler-mips.cc __ nop(); __ 112 test/cctest/test-assembler-x64.cc __ movq(rax, arg2); __ 113 test/cctest/test-assembler-x64.cc __ nop(); __ 114 test/cctest/test-assembler-x64.cc __ ret(0); __ 136 test/cctest/test-assembler-x64.cc __ push(rbp); __ 137 test/cctest/test-assembler-x64.cc __ movq(rbp, rsp); __ 138 test/cctest/test-assembler-x64.cc __ push(arg2); // Value at (rbp - 8) __ 139 test/cctest/test-assembler-x64.cc __ push(arg2); // Value at (rbp - 16) __ 140 test/cctest/test-assembler-x64.cc __ push(arg1); // Value at (rbp - 24) __ 141 test/cctest/test-assembler-x64.cc __ pop(rax); __ 142 test/cctest/test-assembler-x64.cc __ pop(rax); __ 143 test/cctest/test-assembler-x64.cc __ pop(rax); __ 144 test/cctest/test-assembler-x64.cc __ pop(rbp); __ 145 test/cctest/test-assembler-x64.cc __ nop(); __ 146 test/cctest/test-assembler-x64.cc __ ret(0); __ 166 test/cctest/test-assembler-x64.cc __ movq(rax, arg2); __ 167 test/cctest/test-assembler-x64.cc __ addq(rax, arg1); __ 168 test/cctest/test-assembler-x64.cc __ ret(0); __ 189 test/cctest/test-assembler-x64.cc __ movq(rax, arg2); __ 190 test/cctest/test-assembler-x64.cc __ imul(arg1); __ 191 test/cctest/test-assembler-x64.cc __ movq(rax, rdx); __ 192 test/cctest/test-assembler-x64.cc __ ret(0); __ 216 test/cctest/test-assembler-x64.cc __ push(rbp); __ 217 test/cctest/test-assembler-x64.cc __ movq(rbp, rsp); __ 219 test/cctest/test-assembler-x64.cc __ push(arg2); // Value at (rbp - 8) __ 220 test/cctest/test-assembler-x64.cc __ push(arg2); // Value at (rbp - 16) __ 221 test/cctest/test-assembler-x64.cc __ push(arg1); // Value at (rbp - 24) __ 224 test/cctest/test-assembler-x64.cc __ movq(rax, Operand(rbp, -3 * kStackElementSize)); __ 225 test/cctest/test-assembler-x64.cc __ pop(arg2); __ 226 test/cctest/test-assembler-x64.cc __ pop(arg2); __ 227 test/cctest/test-assembler-x64.cc __ pop(arg2); __ 228 test/cctest/test-assembler-x64.cc __ pop(rbp); __ 229 test/cctest/test-assembler-x64.cc __ nop(); __ 230 test/cctest/test-assembler-x64.cc __ ret(0); __ 250 test/cctest/test-assembler-x64.cc __ push(rbp); __ 252 test/cctest/test-assembler-x64.cc __ movq(rbp, rsp); __ 253 test/cctest/test-assembler-x64.cc __ movq(rax, arg1); __ 255 test/cctest/test-assembler-x64.cc __ jmp(&target); __ 256 test/cctest/test-assembler-x64.cc __ movq(rax, arg2); __ 257 test/cctest/test-assembler-x64.cc __ bind(&target); __ 258 test/cctest/test-assembler-x64.cc __ pop(rbp); __ 259 test/cctest/test-assembler-x64.cc __ ret(0); __ 279 test/cctest/test-assembler-x64.cc __ movq(rax, Immediate(-3)); __ 282 test/cctest/test-assembler-x64.cc __ jmp(&Loop1_test); __ 283 test/cctest/test-assembler-x64.cc __ bind(&Loop1_body); __ 284 test/cctest/test-assembler-x64.cc __ addq(rax, Immediate(7)); __ 285 test/cctest/test-assembler-x64.cc __ bind(&Loop1_test); __ 286 test/cctest/test-assembler-x64.cc __ cmpq(rax, Immediate(20)); __ 287 test/cctest/test-assembler-x64.cc __ j(less_equal, &Loop1_body); __ 289 test/cctest/test-assembler-x64.cc __ cmpq(rax, Immediate(25)); __ 290 test/cctest/test-assembler-x64.cc __ j(not_equal, &Fail); __ 294 test/cctest/test-assembler-x64.cc __ movq(rax, Immediate(0x11FEED00)); __ 295 test/cctest/test-assembler-x64.cc __ jmp(&Loop2_test); __ 296 test/cctest/test-assembler-x64.cc __ bind(&Loop2_body); __ 297 test/cctest/test-assembler-x64.cc __ addq(rax, Immediate(-0x1100)); __ 298 test/cctest/test-assembler-x64.cc __ bind(&Loop2_test); __ 299 test/cctest/test-assembler-x64.cc __ cmpq(rax, Immediate(0x11FE8000)); __ 300 test/cctest/test-assembler-x64.cc __ j(greater, &Loop2_body); __ 302 test/cctest/test-assembler-x64.cc __ cmpq(rax, Immediate(0x11FE7600)); __ 303 test/cctest/test-assembler-x64.cc __ j(not_equal, &Fail); __ 305 test/cctest/test-assembler-x64.cc __ movq(rax, Immediate(1)); __ 306 test/cctest/test-assembler-x64.cc __ ret(0); __ 307 test/cctest/test-assembler-x64.cc __ bind(&Fail); __ 308 test/cctest/test-assembler-x64.cc __ movq(rax, Immediate(0)); __ 309 test/cctest/test-assembler-x64.cc __ ret(0); __ 368 test/cctest/test-assembler-x64.cc __ j(equal, &target); __ 369 test/cctest/test-assembler-x64.cc __ j(not_equal, &target); __ 370 test/cctest/test-assembler-x64.cc __ bind(&target); __ 371 test/cctest/test-assembler-x64.cc __ nop(); __ 380 test/cctest/test-assembler-x64.cc __ push(rbx); __ 381 test/cctest/test-assembler-x64.cc __ push(rcx); __ 382 test/cctest/test-assembler-x64.cc __ push(rdx); __ 383 test/cctest/test-assembler-x64.cc __ push(rdi); __ 384 test/cctest/test-assembler-x64.cc __ push(rsi); __ 385 test/cctest/test-assembler-x64.cc __ movq(rax, Immediate(1)); __ 386 test/cctest/test-assembler-x64.cc __ movq(rbx, Immediate(2)); __ 387 test/cctest/test-assembler-x64.cc __ movq(rcx, Immediate(3)); __ 388 test/cctest/test-assembler-x64.cc __ movq(rdx, Immediate(4)); __ 389 test/cctest/test-assembler-x64.cc __ movq(rdi, Immediate(5)); __ 390 test/cctest/test-assembler-x64.cc __ movq(rsi, Immediate(6)); __ 393 test/cctest/test-assembler-x64.cc __ Nop(i); __ 398 test/cctest/test-assembler-x64.cc __ cmpq(rax, Immediate(1)); __ 399 test/cctest/test-assembler-x64.cc __ j(not_equal, &fail); __ 400 test/cctest/test-assembler-x64.cc __ cmpq(rbx, Immediate(2)); __ 401 test/cctest/test-assembler-x64.cc __ j(not_equal, &fail); __ 402 test/cctest/test-assembler-x64.cc __ cmpq(rcx, Immediate(3)); __ 403 test/cctest/test-assembler-x64.cc __ j(not_equal, &fail); __ 404 test/cctest/test-assembler-x64.cc __ cmpq(rdx, Immediate(4)); __ 405 test/cctest/test-assembler-x64.cc __ j(not_equal, &fail); __ 406 test/cctest/test-assembler-x64.cc __ cmpq(rdi, Immediate(5)); __ 407 test/cctest/test-assembler-x64.cc __ j(not_equal, &fail); __ 408 test/cctest/test-assembler-x64.cc __ cmpq(rsi, Immediate(6)); __ 409 test/cctest/test-assembler-x64.cc __ j(not_equal, &fail); __ 410 test/cctest/test-assembler-x64.cc __ movq(rax, Immediate(42)); __ 411 test/cctest/test-assembler-x64.cc __ pop(rsi); __ 412 test/cctest/test-assembler-x64.cc __ pop(rdi); __ 413 test/cctest/test-assembler-x64.cc __ pop(rdx); __ 414 test/cctest/test-assembler-x64.cc __ pop(rcx); __ 415 test/cctest/test-assembler-x64.cc __ pop(rbx); __ 416 test/cctest/test-assembler-x64.cc __ ret(0); __ 417 test/cctest/test-assembler-x64.cc __ bind(&fail); __ 418 test/cctest/test-assembler-x64.cc __ movq(rax, Immediate(13)); __ 419 test/cctest/test-assembler-x64.cc __ pop(rsi); __ 420 test/cctest/test-assembler-x64.cc __ pop(rdi); __ 421 test/cctest/test-assembler-x64.cc __ pop(rdx); __ 422 test/cctest/test-assembler-x64.cc __ pop(rcx); __ 423 test/cctest/test-assembler-x64.cc __ pop(rbx); __ 424 test/cctest/test-assembler-x64.cc __ ret(0); __ 65 test/cctest/test-disasm-ia32.cc __ adc(eax, 12345678); __ 66 test/cctest/test-disasm-ia32.cc __ add(eax, Immediate(12345678)); __ 67 test/cctest/test-disasm-ia32.cc __ or_(eax, 12345678); __ 68 test/cctest/test-disasm-ia32.cc __ sub(eax, Immediate(12345678)); __ 69 test/cctest/test-disasm-ia32.cc __ xor_(eax, 12345678); __ 70 test/cctest/test-disasm-ia32.cc __ and_(eax, 12345678); __ 72 test/cctest/test-disasm-ia32.cc __ cmp(eax, foo); __ 75 test/cctest/test-disasm-ia32.cc __ mov(ebx, Operand(esp, ecx, times_2, 0)); // [esp+ecx*4] __ 78 test/cctest/test-disasm-ia32.cc __ add(edx, ebx); __ 79 test/cctest/test-disasm-ia32.cc __ add(edx, Operand(12, RelocInfo::NONE)); __ 80 test/cctest/test-disasm-ia32.cc __ add(edx, Operand(ebx, 0)); __ 81 test/cctest/test-disasm-ia32.cc __ add(edx, Operand(ebx, 16)); __ 82 test/cctest/test-disasm-ia32.cc __ add(edx, Operand(ebx, 1999)); __ 83 test/cctest/test-disasm-ia32.cc __ add(edx, Operand(esp, 0)); __ 84 test/cctest/test-disasm-ia32.cc __ add(edx, Operand(esp, 16)); __ 85 test/cctest/test-disasm-ia32.cc __ add(edx, Operand(esp, 1999)); __ 86 test/cctest/test-disasm-ia32.cc __ nop(); __ 87 test/cctest/test-disasm-ia32.cc __ add(edi, Operand(ebp, ecx, times_4, 0)); __ 88 test/cctest/test-disasm-ia32.cc __ add(edi, Operand(ebp, ecx, times_4, 12)); __ 89 test/cctest/test-disasm-ia32.cc __ add(Operand(ebp, ecx, times_4, 12), Immediate(12)); __ 91 test/cctest/test-disasm-ia32.cc __ nop(); __ 92 test/cctest/test-disasm-ia32.cc __ add(ebx, Immediate(12)); __ 93 test/cctest/test-disasm-ia32.cc __ nop(); __ 94 test/cctest/test-disasm-ia32.cc __ adc(ecx, 12); __ 95 test/cctest/test-disasm-ia32.cc __ adc(ecx, 1000); __ 96 test/cctest/test-disasm-ia32.cc __ nop(); __ 97 test/cctest/test-disasm-ia32.cc __ and_(edx, 3); __ 98 test/cctest/test-disasm-ia32.cc __ and_(edx, Operand(esp, 4)); __ 99 test/cctest/test-disasm-ia32.cc __ cmp(edx, 3); __ 100 test/cctest/test-disasm-ia32.cc __ cmp(edx, Operand(esp, 4)); __ 101 test/cctest/test-disasm-ia32.cc __ cmp(Operand(ebp, ecx, times_4, 0), Immediate(1000)); __ 103 test/cctest/test-disasm-ia32.cc __ cmp(ebx, foo2); __ 104 test/cctest/test-disasm-ia32.cc __ cmpb(ebx, Operand(ebp, ecx, times_2, 0)); __ 105 test/cctest/test-disasm-ia32.cc __ cmpb(Operand(ebp, ecx, times_2, 0), ebx); __ 106 test/cctest/test-disasm-ia32.cc __ or_(edx, 3); __ 107 test/cctest/test-disasm-ia32.cc __ xor_(edx, 3); __ 108 test/cctest/test-disasm-ia32.cc __ nop(); __ 112 test/cctest/test-disasm-ia32.cc __ cpuid(); __ 117 test/cctest/test-disasm-ia32.cc __ rdtsc(); __ 119 test/cctest/test-disasm-ia32.cc __ movsx_b(edx, ecx); __ 120 test/cctest/test-disasm-ia32.cc __ movsx_w(edx, ecx); __ 121 test/cctest/test-disasm-ia32.cc __ movzx_b(edx, ecx); __ 122 test/cctest/test-disasm-ia32.cc __ movzx_w(edx, ecx); __ 124 test/cctest/test-disasm-ia32.cc __ nop(); __ 125 test/cctest/test-disasm-ia32.cc __ imul(edx, ecx); __ 126 test/cctest/test-disasm-ia32.cc __ shld(edx, ecx); __ 127 test/cctest/test-disasm-ia32.cc __ shrd(edx, ecx); __ 128 test/cctest/test-disasm-ia32.cc __ bts(edx, ecx); __ 129 test/cctest/test-disasm-ia32.cc __ bts(Operand(ebx, ecx, times_4, 0), ecx); __ 130 test/cctest/test-disasm-ia32.cc __ nop(); __ 131 test/cctest/test-disasm-ia32.cc __ pushad(); __ 132 test/cctest/test-disasm-ia32.cc __ popad(); __ 133 test/cctest/test-disasm-ia32.cc __ pushfd(); __ 134 test/cctest/test-disasm-ia32.cc __ popfd(); __ 135 test/cctest/test-disasm-ia32.cc __ push(Immediate(12)); __ 136 test/cctest/test-disasm-ia32.cc __ push(Immediate(23456)); __ 137 test/cctest/test-disasm-ia32.cc __ push(ecx); __ 138 test/cctest/test-disasm-ia32.cc __ push(esi); __ 139 test/cctest/test-disasm-ia32.cc __ push(Operand(ebp, JavaScriptFrameConstants::kFunctionOffset)); __ 140 test/cctest/test-disasm-ia32.cc __ push(Operand(ebx, ecx, times_4, 0)); __ 141 test/cctest/test-disasm-ia32.cc __ push(Operand(ebx, ecx, times_4, 0)); __ 142 test/cctest/test-disasm-ia32.cc __ push(Operand(ebx, ecx, times_4, 10000)); __ 143 test/cctest/test-disasm-ia32.cc __ pop(edx); __ 144 test/cctest/test-disasm-ia32.cc __ pop(eax); __ 145 test/cctest/test-disasm-ia32.cc __ pop(Operand(ebx, ecx, times_4, 0)); __ 146 test/cctest/test-disasm-ia32.cc __ nop(); __ 148 test/cctest/test-disasm-ia32.cc __ add(edx, Operand(esp, 16)); __ 149 test/cctest/test-disasm-ia32.cc __ add(edx, ecx); __ 150 test/cctest/test-disasm-ia32.cc __ mov_b(edx, ecx); __ 151 test/cctest/test-disasm-ia32.cc __ mov_b(ecx, 6); __ 152 test/cctest/test-disasm-ia32.cc __ mov_b(Operand(ebx, ecx, times_4, 10000), 6); __ 153 test/cctest/test-disasm-ia32.cc __ mov_b(Operand(esp, 16), edx); __ 154 test/cctest/test-disasm-ia32.cc __ mov_w(edx, Operand(esp, 16)); __ 155 test/cctest/test-disasm-ia32.cc __ mov_w(Operand(esp, 16), edx); __ 156 test/cctest/test-disasm-ia32.cc __ nop(); __ 157 test/cctest/test-disasm-ia32.cc __ movsx_w(edx, Operand(esp, 12)); __ 158 test/cctest/test-disasm-ia32.cc __ movsx_b(edx, Operand(esp, 12)); __ 159 test/cctest/test-disasm-ia32.cc __ movzx_w(edx, Operand(esp, 12)); __ 160 test/cctest/test-disasm-ia32.cc __ movzx_b(edx, Operand(esp, 12)); __ 161 test/cctest/test-disasm-ia32.cc __ nop(); __ 162 test/cctest/test-disasm-ia32.cc __ mov(edx, 1234567); __ 163 test/cctest/test-disasm-ia32.cc __ mov(edx, Operand(esp, 12)); __ 164 test/cctest/test-disasm-ia32.cc __ mov(Operand(ebx, ecx, times_4, 10000), Immediate(12345)); __ 165 test/cctest/test-disasm-ia32.cc __ mov(Operand(ebx, ecx, times_4, 10000), edx); __ 166 test/cctest/test-disasm-ia32.cc __ nop(); __ 167 test/cctest/test-disasm-ia32.cc __ dec_b(edx); __ 168 test/cctest/test-disasm-ia32.cc __ dec_b(Operand(eax, 10)); __ 169 test/cctest/test-disasm-ia32.cc __ dec_b(Operand(ebx, ecx, times_4, 10000)); __ 170 test/cctest/test-disasm-ia32.cc __ dec(edx); __ 171 test/cctest/test-disasm-ia32.cc __ cdq(); __ 173 test/cctest/test-disasm-ia32.cc __ nop(); __ 174 test/cctest/test-disasm-ia32.cc __ idiv(edx); __ 175 test/cctest/test-disasm-ia32.cc __ mul(edx); __ 176 test/cctest/test-disasm-ia32.cc __ neg(edx); __ 177 test/cctest/test-disasm-ia32.cc __ not_(edx); __ 178 test/cctest/test-disasm-ia32.cc __ test(Operand(ebx, ecx, times_4, 10000), Immediate(123456)); __ 180 test/cctest/test-disasm-ia32.cc __ imul(edx, Operand(ebx, ecx, times_4, 10000)); __ 181 test/cctest/test-disasm-ia32.cc __ imul(edx, ecx, 12); __ 182 test/cctest/test-disasm-ia32.cc __ imul(edx, ecx, 1000); __ 184 test/cctest/test-disasm-ia32.cc __ inc(edx); __ 185 test/cctest/test-disasm-ia32.cc __ inc(Operand(ebx, ecx, times_4, 10000)); __ 186 test/cctest/test-disasm-ia32.cc __ push(Operand(ebx, ecx, times_4, 10000)); __ 187 test/cctest/test-disasm-ia32.cc __ pop(Operand(ebx, ecx, times_4, 10000)); __ 188 test/cctest/test-disasm-ia32.cc __ call(Operand(ebx, ecx, times_4, 10000)); __ 189 test/cctest/test-disasm-ia32.cc __ jmp(Operand(ebx, ecx, times_4, 10000)); __ 191 test/cctest/test-disasm-ia32.cc __ lea(edx, Operand(ebx, ecx, times_4, 10000)); __ 192 test/cctest/test-disasm-ia32.cc __ or_(edx, 12345); __ 193 test/cctest/test-disasm-ia32.cc __ or_(edx, Operand(ebx, ecx, times_4, 10000)); __ 195 test/cctest/test-disasm-ia32.cc __ nop(); __ 197 test/cctest/test-disasm-ia32.cc __ rcl(edx, 1); __ 198 test/cctest/test-disasm-ia32.cc __ rcl(edx, 7); __ 199 test/cctest/test-disasm-ia32.cc __ rcr(edx, 1); __ 200 test/cctest/test-disasm-ia32.cc __ rcr(edx, 7); __ 201 test/cctest/test-disasm-ia32.cc __ sar(edx, 1); __ 202 test/cctest/test-disasm-ia32.cc __ sar(edx, 6); __ 203 test/cctest/test-disasm-ia32.cc __ sar_cl(edx); __ 204 test/cctest/test-disasm-ia32.cc __ sbb(edx, Operand(ebx, ecx, times_4, 10000)); __ 205 test/cctest/test-disasm-ia32.cc __ shld(edx, Operand(ebx, ecx, times_4, 10000)); __ 206 test/cctest/test-disasm-ia32.cc __ shl(edx, 1); __ 207 test/cctest/test-disasm-ia32.cc __ shl(edx, 6); __ 208 test/cctest/test-disasm-ia32.cc __ shl_cl(edx); __ 209 test/cctest/test-disasm-ia32.cc __ shrd(edx, Operand(ebx, ecx, times_4, 10000)); __ 210 test/cctest/test-disasm-ia32.cc __ shr(edx, 1); __ 211 test/cctest/test-disasm-ia32.cc __ shr(edx, 7); __ 212 test/cctest/test-disasm-ia32.cc __ shr_cl(edx); __ 217 test/cctest/test-disasm-ia32.cc __ adc(edx, 12345); __ 219 test/cctest/test-disasm-ia32.cc __ add(ebx, Immediate(12)); __ 220 test/cctest/test-disasm-ia32.cc __ add(Operand(edx, ecx, times_4, 10000), Immediate(12)); __ 222 test/cctest/test-disasm-ia32.cc __ and_(ebx, 12345); __ 224 test/cctest/test-disasm-ia32.cc __ cmp(ebx, 12345); __ 225 test/cctest/test-disasm-ia32.cc __ cmp(ebx, Immediate(12)); __ 226 test/cctest/test-disasm-ia32.cc __ cmp(Operand(edx, ecx, times_4, 10000), Immediate(12)); __ 227 test/cctest/test-disasm-ia32.cc __ cmpb(eax, 100); __ 229 test/cctest/test-disasm-ia32.cc __ or_(ebx, 12345); __ 231 test/cctest/test-disasm-ia32.cc __ sub(ebx, Immediate(12)); __ 232 test/cctest/test-disasm-ia32.cc __ sub(Operand(edx, ecx, times_4, 10000), Immediate(12)); __ 234 test/cctest/test-disasm-ia32.cc __ xor_(ebx, 12345); __ 236 test/cctest/test-disasm-ia32.cc __ imul(edx, ecx, 12); __ 237 test/cctest/test-disasm-ia32.cc __ imul(edx, ecx, 1000); __ 239 test/cctest/test-disasm-ia32.cc __ cld(); __ 240 test/cctest/test-disasm-ia32.cc __ rep_movs(); __ 241 test/cctest/test-disasm-ia32.cc __ rep_stos(); __ 242 test/cctest/test-disasm-ia32.cc __ stos(); __ 244 test/cctest/test-disasm-ia32.cc __ sub(edx, Operand(ebx, ecx, times_4, 10000)); __ 245 test/cctest/test-disasm-ia32.cc __ sub(edx, ebx); __ 247 test/cctest/test-disasm-ia32.cc __ test(edx, Immediate(12345)); __ 248 test/cctest/test-disasm-ia32.cc __ test(edx, Operand(ebx, ecx, times_8, 10000)); __ 249 test/cctest/test-disasm-ia32.cc __ test(Operand(esi, edi, times_1, -20000000), Immediate(300000000)); __ 250 test/cctest/test-disasm-ia32.cc __ test_b(edx, Operand(ecx, ebx, times_2, 1000)); __ 251 test/cctest/test-disasm-ia32.cc __ test_b(Operand(eax, -20), 0x9A); __ 252 test/cctest/test-disasm-ia32.cc __ nop(); __ 254 test/cctest/test-disasm-ia32.cc __ xor_(edx, 12345); __ 255 test/cctest/test-disasm-ia32.cc __ xor_(edx, Operand(ebx, ecx, times_8, 10000)); __ 256 test/cctest/test-disasm-ia32.cc __ bts(Operand(ebx, ecx, times_8, 10000), edx); __ 257 test/cctest/test-disasm-ia32.cc __ hlt(); __ 258 test/cctest/test-disasm-ia32.cc __ int3(); __ 259 test/cctest/test-disasm-ia32.cc __ ret(0); __ 260 test/cctest/test-disasm-ia32.cc __ ret(8); __ 265 test/cctest/test-disasm-ia32.cc __ bind(&L1); __ 266 test/cctest/test-disasm-ia32.cc __ nop(); __ 267 test/cctest/test-disasm-ia32.cc __ call(&L1); __ 268 test/cctest/test-disasm-ia32.cc __ call(&L2); __ 269 test/cctest/test-disasm-ia32.cc __ nop(); __ 270 test/cctest/test-disasm-ia32.cc __ bind(&L2); __ 271 test/cctest/test-disasm-ia32.cc __ call(Operand(ebx, ecx, times_4, 10000)); __ 272 test/cctest/test-disasm-ia32.cc __ nop(); __ 275 test/cctest/test-disasm-ia32.cc __ call(ic, RelocInfo::CODE_TARGET); __ 276 test/cctest/test-disasm-ia32.cc __ nop(); __ 277 test/cctest/test-disasm-ia32.cc __ call(FUNCTION_ADDR(DummyStaticFunction), RelocInfo::RUNTIME_ENTRY); __ 278 test/cctest/test-disasm-ia32.cc __ nop(); __ 280 test/cctest/test-disasm-ia32.cc __ jmp(&L1); __ 281 test/cctest/test-disasm-ia32.cc __ jmp(Operand(ebx, ecx, times_4, 10000)); __ 286 test/cctest/test-disasm-ia32.cc __ jmp(Operand::StaticVariable(after_break_target)); __ 288 test/cctest/test-disasm-ia32.cc __ jmp(ic, RelocInfo::CODE_TARGET); __ 289 test/cctest/test-disasm-ia32.cc __ nop(); __ 293 test/cctest/test-disasm-ia32.cc __ nop(); __ 295 test/cctest/test-disasm-ia32.cc __ j(overflow, &Ljcc); __ 296 test/cctest/test-disasm-ia32.cc __ j(no_overflow, &Ljcc); __ 297 test/cctest/test-disasm-ia32.cc __ j(below, &Ljcc); __ 298 test/cctest/test-disasm-ia32.cc __ j(above_equal, &Ljcc); __ 299 test/cctest/test-disasm-ia32.cc __ j(equal, &Ljcc); __ 300 test/cctest/test-disasm-ia32.cc __ j(not_equal, &Ljcc); __ 301 test/cctest/test-disasm-ia32.cc __ j(below_equal, &Ljcc); __ 302 test/cctest/test-disasm-ia32.cc __ j(above, &Ljcc); __ 303 test/cctest/test-disasm-ia32.cc __ j(sign, &Ljcc); __ 304 test/cctest/test-disasm-ia32.cc __ j(not_sign, &Ljcc); __ 305 test/cctest/test-disasm-ia32.cc __ j(parity_even, &Ljcc); __ 306 test/cctest/test-disasm-ia32.cc __ j(parity_odd, &Ljcc); __ 307 test/cctest/test-disasm-ia32.cc __ j(less, &Ljcc); __ 308 test/cctest/test-disasm-ia32.cc __ j(greater_equal, &Ljcc); __ 309 test/cctest/test-disasm-ia32.cc __ j(less_equal, &Ljcc); __ 310 test/cctest/test-disasm-ia32.cc __ j(greater, &Ljcc); __ 311 test/cctest/test-disasm-ia32.cc __ nop(); __ 312 test/cctest/test-disasm-ia32.cc __ bind(&Ljcc); __ 314 test/cctest/test-disasm-ia32.cc __ j(overflow, &Ljcc); __ 315 test/cctest/test-disasm-ia32.cc __ j(no_overflow, &Ljcc); __ 316 test/cctest/test-disasm-ia32.cc __ j(below, &Ljcc); __ 317 test/cctest/test-disasm-ia32.cc __ j(above_equal, &Ljcc); __ 318 test/cctest/test-disasm-ia32.cc __ j(equal, &Ljcc); __ 319 test/cctest/test-disasm-ia32.cc __ j(not_equal, &Ljcc); __ 320 test/cctest/test-disasm-ia32.cc __ j(below_equal, &Ljcc); __ 321 test/cctest/test-disasm-ia32.cc __ j(above, &Ljcc); __ 322 test/cctest/test-disasm-ia32.cc __ j(sign, &Ljcc); __ 323 test/cctest/test-disasm-ia32.cc __ j(not_sign, &Ljcc); __ 324 test/cctest/test-disasm-ia32.cc __ j(parity_even, &Ljcc); __ 325 test/cctest/test-disasm-ia32.cc __ j(parity_odd, &Ljcc); __ 326 test/cctest/test-disasm-ia32.cc __ j(less, &Ljcc); __ 327 test/cctest/test-disasm-ia32.cc __ j(greater_equal, &Ljcc); __ 328 test/cctest/test-disasm-ia32.cc __ j(less_equal, &Ljcc); __ 329 test/cctest/test-disasm-ia32.cc __ j(greater, &Ljcc); __ 332 test/cctest/test-disasm-ia32.cc __ nop(); __ 334 test/cctest/test-disasm-ia32.cc __ fld(1); __ 335 test/cctest/test-disasm-ia32.cc __ fld1(); __ 336 test/cctest/test-disasm-ia32.cc __ fldz(); __ 337 test/cctest/test-disasm-ia32.cc __ fldpi(); __ 338 test/cctest/test-disasm-ia32.cc __ fabs(); __ 339 test/cctest/test-disasm-ia32.cc __ fchs(); __ 340 test/cctest/test-disasm-ia32.cc __ fprem(); __ 341 test/cctest/test-disasm-ia32.cc __ fprem1(); __ 342 test/cctest/test-disasm-ia32.cc __ fincstp(); __ 343 test/cctest/test-disasm-ia32.cc __ ftst(); __ 344 test/cctest/test-disasm-ia32.cc __ fxch(3); __ 345 test/cctest/test-disasm-ia32.cc __ fld_s(Operand(ebx, ecx, times_4, 10000)); __ 346 test/cctest/test-disasm-ia32.cc __ fstp_s(Operand(ebx, ecx, times_4, 10000)); __ 347 test/cctest/test-disasm-ia32.cc __ ffree(3); __ 348 test/cctest/test-disasm-ia32.cc __ fld_d(Operand(ebx, ecx, times_4, 10000)); __ 349 test/cctest/test-disasm-ia32.cc __ fstp_d(Operand(ebx, ecx, times_4, 10000)); __ 350 test/cctest/test-disasm-ia32.cc __ nop(); __ 352 test/cctest/test-disasm-ia32.cc __ fild_s(Operand(ebx, ecx, times_4, 10000)); __ 353 test/cctest/test-disasm-ia32.cc __ fistp_s(Operand(ebx, ecx, times_4, 10000)); __ 354 test/cctest/test-disasm-ia32.cc __ fild_d(Operand(ebx, ecx, times_4, 10000)); __ 355 test/cctest/test-disasm-ia32.cc __ fistp_d(Operand(ebx, ecx, times_4, 10000)); __ 356 test/cctest/test-disasm-ia32.cc __ fnstsw_ax(); __ 357 test/cctest/test-disasm-ia32.cc __ nop(); __ 358 test/cctest/test-disasm-ia32.cc __ fadd(3); __ 359 test/cctest/test-disasm-ia32.cc __ fsub(3); __ 360 test/cctest/test-disasm-ia32.cc __ fmul(3); __ 361 test/cctest/test-disasm-ia32.cc __ fdiv(3); __ 363 test/cctest/test-disasm-ia32.cc __ faddp(3); __ 364 test/cctest/test-disasm-ia32.cc __ fsubp(3); __ 365 test/cctest/test-disasm-ia32.cc __ fmulp(3); __ 366 test/cctest/test-disasm-ia32.cc __ fdivp(3); __ 367 test/cctest/test-disasm-ia32.cc __ fcompp(); __ 368 test/cctest/test-disasm-ia32.cc __ fwait(); __ 369 test/cctest/test-disasm-ia32.cc __ nop(); __ 373 test/cctest/test-disasm-ia32.cc __ cvttss2si(edx, Operand(ebx, ecx, times_4, 10000)); __ 374 test/cctest/test-disasm-ia32.cc __ cvtsi2sd(xmm1, Operand(ebx, ecx, times_4, 10000)); __ 375 test/cctest/test-disasm-ia32.cc __ addsd(xmm1, xmm0); __ 376 test/cctest/test-disasm-ia32.cc __ mulsd(xmm1, xmm0); __ 377 test/cctest/test-disasm-ia32.cc __ subsd(xmm1, xmm0); __ 378 test/cctest/test-disasm-ia32.cc __ divsd(xmm1, xmm0); __ 379 test/cctest/test-disasm-ia32.cc __ movdbl(xmm1, Operand(ebx, ecx, times_4, 10000)); __ 380 test/cctest/test-disasm-ia32.cc __ movdbl(Operand(ebx, ecx, times_4, 10000), xmm1); __ 381 test/cctest/test-disasm-ia32.cc __ ucomisd(xmm0, xmm1); __ 384 test/cctest/test-disasm-ia32.cc __ movdqa(xmm0, Operand(ebx, ecx, times_4, 10000)); __ 385 test/cctest/test-disasm-ia32.cc __ movdqa(Operand(ebx, ecx, times_4, 10000), xmm0); __ 386 test/cctest/test-disasm-ia32.cc __ movdqu(xmm0, Operand(ebx, ecx, times_4, 10000)); __ 387 test/cctest/test-disasm-ia32.cc __ movdqu(Operand(ebx, ecx, times_4, 10000), xmm0); __ 395 test/cctest/test-disasm-ia32.cc __ cmov(overflow, eax, Operand(eax, 0)); __ 396 test/cctest/test-disasm-ia32.cc __ cmov(no_overflow, eax, Operand(eax, 1)); __ 397 test/cctest/test-disasm-ia32.cc __ cmov(below, eax, Operand(eax, 2)); __ 398 test/cctest/test-disasm-ia32.cc __ cmov(above_equal, eax, Operand(eax, 3)); __ 399 test/cctest/test-disasm-ia32.cc __ cmov(equal, eax, Operand(ebx, 0)); __ 400 test/cctest/test-disasm-ia32.cc __ cmov(not_equal, eax, Operand(ebx, 1)); __ 401 test/cctest/test-disasm-ia32.cc __ cmov(below_equal, eax, Operand(ebx, 2)); __ 402 test/cctest/test-disasm-ia32.cc __ cmov(above, eax, Operand(ebx, 3)); __ 403 test/cctest/test-disasm-ia32.cc __ cmov(sign, eax, Operand(ecx, 0)); __ 404 test/cctest/test-disasm-ia32.cc __ cmov(not_sign, eax, Operand(ecx, 1)); __ 405 test/cctest/test-disasm-ia32.cc __ cmov(parity_even, eax, Operand(ecx, 2)); __ 406 test/cctest/test-disasm-ia32.cc __ cmov(parity_odd, eax, Operand(ecx, 3)); __ 407 test/cctest/test-disasm-ia32.cc __ cmov(less, eax, Operand(edx, 0)); __ 408 test/cctest/test-disasm-ia32.cc __ cmov(greater_equal, eax, Operand(edx, 1)); __ 409 test/cctest/test-disasm-ia32.cc __ cmov(less_equal, eax, Operand(edx, 2)); __ 410 test/cctest/test-disasm-ia32.cc __ cmov(greater, eax, Operand(edx, 3)); __ 418 test/cctest/test-disasm-ia32.cc __ andpd(xmm0, xmm1); __ 419 test/cctest/test-disasm-ia32.cc __ andpd(xmm1, xmm2); __ 421 test/cctest/test-disasm-ia32.cc __ cmpltsd(xmm0, xmm1); __ 422 test/cctest/test-disasm-ia32.cc __ cmpltsd(xmm1, xmm2); __ 424 test/cctest/test-disasm-ia32.cc __ movaps(xmm0, xmm1); __ 425 test/cctest/test-disasm-ia32.cc __ movaps(xmm1, xmm2); __ 427 test/cctest/test-disasm-ia32.cc __ psllq(xmm0, 17); __ 428 test/cctest/test-disasm-ia32.cc __ psllq(xmm1, 42); __ 430 test/cctest/test-disasm-ia32.cc __ psllq(xmm0, xmm1); __ 431 test/cctest/test-disasm-ia32.cc __ psllq(xmm1, xmm2); __ 433 test/cctest/test-disasm-ia32.cc __ psrlq(xmm0, 17); __ 434 test/cctest/test-disasm-ia32.cc __ psrlq(xmm1, 42); __ 436 test/cctest/test-disasm-ia32.cc __ psrlq(xmm0, xmm1); __ 437 test/cctest/test-disasm-ia32.cc __ psrlq(xmm1, xmm2); __ 439 test/cctest/test-disasm-ia32.cc __ por(xmm0, xmm1); __ 440 test/cctest/test-disasm-ia32.cc __ por(xmm1, xmm2); __ 447 test/cctest/test-disasm-ia32.cc __ pextrd(eax, xmm0, 1); __ 448 test/cctest/test-disasm-ia32.cc __ pinsrd(xmm1, eax, 0); __ 454 test/cctest/test-disasm-ia32.cc __ Nop(i); __ 457 test/cctest/test-disasm-ia32.cc __ ret(0); __ 65 test/cctest/test-disasm-x64.cc __ addq(rax, Immediate(12345678)); __ 66 test/cctest/test-disasm-x64.cc __ or_(rax, Immediate(12345678)); __ 67 test/cctest/test-disasm-x64.cc __ subq(rax, Immediate(12345678)); __ 68 test/cctest/test-disasm-x64.cc __ xor_(rax, Immediate(12345678)); __ 69 test/cctest/test-disasm-x64.cc __ and_(rax, Immediate(12345678)); __ 72 test/cctest/test-disasm-x64.cc __ movq(rbx, Operand(rsp, rcx, times_2, 0)); // [rsp+rcx*4] __ 75 test/cctest/test-disasm-x64.cc __ addq(rdx, rbx); __ 76 test/cctest/test-disasm-x64.cc __ addq(rdx, Operand(rbx, 0)); __ 77 test/cctest/test-disasm-x64.cc __ addq(rdx, Operand(rbx, 16)); __ 78 test/cctest/test-disasm-x64.cc __ addq(rdx, Operand(rbx, 1999)); __ 79 test/cctest/test-disasm-x64.cc __ addq(rdx, Operand(rsp, 0)); __ 80 test/cctest/test-disasm-x64.cc __ addq(rdx, Operand(rsp, 16)); __ 81 test/cctest/test-disasm-x64.cc __ addq(rdx, Operand(rsp, 1999)); __ 82 test/cctest/test-disasm-x64.cc __ nop(); __ 83 test/cctest/test-disasm-x64.cc __ addq(rdi, Operand(rbp, rcx, times_4, 0)); __ 84 test/cctest/test-disasm-x64.cc __ addq(rdi, Operand(rbp, rcx, times_4, 12)); __ 85 test/cctest/test-disasm-x64.cc __ addq(Operand(rbp, rcx, times_4, 12), Immediate(12)); __ 87 test/cctest/test-disasm-x64.cc __ nop(); __ 88 test/cctest/test-disasm-x64.cc __ addq(rbx, Immediate(12)); __ 89 test/cctest/test-disasm-x64.cc __ nop(); __ 90 test/cctest/test-disasm-x64.cc __ nop(); __ 91 test/cctest/test-disasm-x64.cc __ and_(rdx, Immediate(3)); __ 92 test/cctest/test-disasm-x64.cc __ and_(rdx, Operand(rsp, 4)); __ 93 test/cctest/test-disasm-x64.cc __ cmpq(rdx, Immediate(3)); __ 94 test/cctest/test-disasm-x64.cc __ cmpq(rdx, Operand(rsp, 4)); __ 95 test/cctest/test-disasm-x64.cc __ cmpq(Operand(rbp, rcx, times_4, 0), Immediate(1000)); __ 96 test/cctest/test-disasm-x64.cc __ cmpb(rbx, Operand(rbp, rcx, times_2, 0)); __ 97 test/cctest/test-disasm-x64.cc __ cmpb(Operand(rbp, rcx, times_2, 0), rbx); __ 98 test/cctest/test-disasm-x64.cc __ or_(rdx, Immediate(3)); __ 99 test/cctest/test-disasm-x64.cc __ xor_(rdx, Immediate(3)); __ 100 test/cctest/test-disasm-x64.cc __ nop(); __ 104 test/cctest/test-disasm-x64.cc __ cpuid(); __ 109 test/cctest/test-disasm-x64.cc __ rdtsc(); __ 111 test/cctest/test-disasm-x64.cc __ movsxbq(rdx, Operand(rcx, 0)); __ 112 test/cctest/test-disasm-x64.cc __ movsxwq(rdx, Operand(rcx, 0)); __ 113 test/cctest/test-disasm-x64.cc __ movzxbl(rdx, Operand(rcx, 0)); __ 114 test/cctest/test-disasm-x64.cc __ movzxwl(rdx, Operand(rcx, 0)); __ 115 test/cctest/test-disasm-x64.cc __ movzxbq(rdx, Operand(rcx, 0)); __ 116 test/cctest/test-disasm-x64.cc __ movzxwq(rdx, Operand(rcx, 0)); __ 118 test/cctest/test-disasm-x64.cc __ nop(); __ 119 test/cctest/test-disasm-x64.cc __ imul(rdx, rcx); __ 120 test/cctest/test-disasm-x64.cc __ shld(rdx, rcx); __ 121 test/cctest/test-disasm-x64.cc __ shrd(rdx, rcx); __ 122 test/cctest/test-disasm-x64.cc __ bts(Operand(rdx, 0), rcx); __ 123 test/cctest/test-disasm-x64.cc __ bts(Operand(rbx, rcx, times_4, 0), rcx); __ 124 test/cctest/test-disasm-x64.cc __ nop(); __ 125 test/cctest/test-disasm-x64.cc __ push(Immediate(12)); __ 126 test/cctest/test-disasm-x64.cc __ push(Immediate(23456)); __ 127 test/cctest/test-disasm-x64.cc __ push(rcx); __ 128 test/cctest/test-disasm-x64.cc __ push(rsi); __ 129 test/cctest/test-disasm-x64.cc __ push(Operand(rbp, JavaScriptFrameConstants::kFunctionOffset)); __ 130 test/cctest/test-disasm-x64.cc __ push(Operand(rbx, rcx, times_4, 0)); __ 131 test/cctest/test-disasm-x64.cc __ push(Operand(rbx, rcx, times_4, 0)); __ 132 test/cctest/test-disasm-x64.cc __ push(Operand(rbx, rcx, times_4, 10000)); __ 133 test/cctest/test-disasm-x64.cc __ pop(rdx); __ 134 test/cctest/test-disasm-x64.cc __ pop(rax); __ 135 test/cctest/test-disasm-x64.cc __ pop(Operand(rbx, rcx, times_4, 0)); __ 136 test/cctest/test-disasm-x64.cc __ nop(); __ 138 test/cctest/test-disasm-x64.cc __ addq(rdx, Operand(rsp, 16)); __ 139 test/cctest/test-disasm-x64.cc __ addq(rdx, rcx); __ 140 test/cctest/test-disasm-x64.cc __ movb(rdx, Operand(rcx, 0)); __ 141 test/cctest/test-disasm-x64.cc __ movb(rcx, Immediate(6)); __ 142 test/cctest/test-disasm-x64.cc __ movb(Operand(rsp, 16), rdx); __ 143 test/cctest/test-disasm-x64.cc __ movw(Operand(rsp, 16), rdx); __ 144 test/cctest/test-disasm-x64.cc __ nop(); __ 145 test/cctest/test-disasm-x64.cc __ movsxwq(rdx, Operand(rsp, 12)); __ 146 test/cctest/test-disasm-x64.cc __ movsxbq(rdx, Operand(rsp, 12)); __ 147 test/cctest/test-disasm-x64.cc __ movsxlq(rdx, Operand(rsp, 12)); __ 148 test/cctest/test-disasm-x64.cc __ movzxwq(rdx, Operand(rsp, 12)); __ 149 test/cctest/test-disasm-x64.cc __ movzxbq(rdx, Operand(rsp, 12)); __ 150 test/cctest/test-disasm-x64.cc __ nop(); __ 151 test/cctest/test-disasm-x64.cc __ movq(rdx, Immediate(1234567)); __ 152 test/cctest/test-disasm-x64.cc __ movq(rdx, Operand(rsp, 12)); __ 153 test/cctest/test-disasm-x64.cc __ movq(Operand(rbx, rcx, times_4, 10000), Immediate(12345)); __ 154 test/cctest/test-disasm-x64.cc __ movq(Operand(rbx, rcx, times_4, 10000), rdx); __ 155 test/cctest/test-disasm-x64.cc __ nop(); __ 156 test/cctest/test-disasm-x64.cc __ decb(rdx); __ 157 test/cctest/test-disasm-x64.cc __ decb(Operand(rax, 10)); __ 158 test/cctest/test-disasm-x64.cc __ decb(Operand(rbx, rcx, times_4, 10000)); __ 159 test/cctest/test-disasm-x64.cc __ decq(rdx); __ 160 test/cctest/test-disasm-x64.cc __ cdq(); __ 162 test/cctest/test-disasm-x64.cc __ nop(); __ 163 test/cctest/test-disasm-x64.cc __ idivq(rdx); __ 164 test/cctest/test-disasm-x64.cc __ mul(rdx); __ 165 test/cctest/test-disasm-x64.cc __ neg(rdx); __ 166 test/cctest/test-disasm-x64.cc __ not_(rdx); __ 167 test/cctest/test-disasm-x64.cc __ testq(Operand(rbx, rcx, times_4, 10000), rdx); __ 169 test/cctest/test-disasm-x64.cc __ imul(rdx, Operand(rbx, rcx, times_4, 10000)); __ 170 test/cctest/test-disasm-x64.cc __ imul(rdx, rcx, Immediate(12)); __ 171 test/cctest/test-disasm-x64.cc __ imul(rdx, rcx, Immediate(1000)); __ 173 test/cctest/test-disasm-x64.cc __ incq(rdx); __ 174 test/cctest/test-disasm-x64.cc __ incq(Operand(rbx, rcx, times_4, 10000)); __ 175 test/cctest/test-disasm-x64.cc __ push(Operand(rbx, rcx, times_4, 10000)); __ 176 test/cctest/test-disasm-x64.cc __ pop(Operand(rbx, rcx, times_4, 10000)); __ 177 test/cctest/test-disasm-x64.cc __ jmp(Operand(rbx, rcx, times_4, 10000)); __ 179 test/cctest/test-disasm-x64.cc __ lea(rdx, Operand(rbx, rcx, times_4, 10000)); __ 180 test/cctest/test-disasm-x64.cc __ or_(rdx, Immediate(12345)); __ 181 test/cctest/test-disasm-x64.cc __ or_(rdx, Operand(rbx, rcx, times_4, 10000)); __ 183 test/cctest/test-disasm-x64.cc __ nop(); __ 185 test/cctest/test-disasm-x64.cc __ rcl(rdx, Immediate(1)); __ 186 test/cctest/test-disasm-x64.cc __ rcl(rdx, Immediate(7)); __ 187 test/cctest/test-disasm-x64.cc __ rcr(rdx, Immediate(1)); __ 188 test/cctest/test-disasm-x64.cc __ rcr(rdx, Immediate(7)); __ 189 test/cctest/test-disasm-x64.cc __ sar(rdx, Immediate(1)); __ 190 test/cctest/test-disasm-x64.cc __ sar(rdx, Immediate(6)); __ 191 test/cctest/test-disasm-x64.cc __ sar_cl(rdx); __ 192 test/cctest/test-disasm-x64.cc __ sbbq(rdx, rbx); __ 193 test/cctest/test-disasm-x64.cc __ shld(rdx, rbx); __ 194 test/cctest/test-disasm-x64.cc __ shl(rdx, Immediate(1)); __ 195 test/cctest/test-disasm-x64.cc __ shl(rdx, Immediate(6)); __ 196 test/cctest/test-disasm-x64.cc __ shl_cl(rdx); __ 197 test/cctest/test-disasm-x64.cc __ shrd(rdx, rbx); __ 198 test/cctest/test-disasm-x64.cc __ shr(rdx, Immediate(1)); __ 199 test/cctest/test-disasm-x64.cc __ shr(rdx, Immediate(7)); __ 200 test/cctest/test-disasm-x64.cc __ shr_cl(rdx); __ 205 test/cctest/test-disasm-x64.cc __ addq(rbx, Immediate(12)); __ 206 test/cctest/test-disasm-x64.cc __ addq(Operand(rdx, rcx, times_4, 10000), Immediate(12)); __ 208 test/cctest/test-disasm-x64.cc __ and_(rbx, Immediate(12345)); __ 210 test/cctest/test-disasm-x64.cc __ cmpq(rbx, Immediate(12345)); __ 211 test/cctest/test-disasm-x64.cc __ cmpq(rbx, Immediate(12)); __ 212 test/cctest/test-disasm-x64.cc __ cmpq(Operand(rdx, rcx, times_4, 10000), Immediate(12)); __ 213 test/cctest/test-disasm-x64.cc __ cmpb(rax, Immediate(100)); __ 215 test/cctest/test-disasm-x64.cc __ or_(rbx, Immediate(12345)); __ 217 test/cctest/test-disasm-x64.cc __ subq(rbx, Immediate(12)); __ 218 test/cctest/test-disasm-x64.cc __ subq(Operand(rdx, rcx, times_4, 10000), Immediate(12)); __ 220 test/cctest/test-disasm-x64.cc __ xor_(rbx, Immediate(12345)); __ 222 test/cctest/test-disasm-x64.cc __ imul(rdx, rcx, Immediate(12)); __ 223 test/cctest/test-disasm-x64.cc __ imul(rdx, rcx, Immediate(1000)); __ 225 test/cctest/test-disasm-x64.cc __ cld(); __ 227 test/cctest/test-disasm-x64.cc __ subq(rdx, Operand(rbx, rcx, times_4, 10000)); __ 228 test/cctest/test-disasm-x64.cc __ subq(rdx, rbx); __ 230 test/cctest/test-disasm-x64.cc __ testq(rdx, Immediate(12345)); __ 231 test/cctest/test-disasm-x64.cc __ testq(Operand(rbx, rcx, times_8, 10000), rdx); __ 232 test/cctest/test-disasm-x64.cc __ testb(Operand(rcx, rbx, times_2, 1000), rdx); __ 233 test/cctest/test-disasm-x64.cc __ testb(Operand(rax, -20), Immediate(0x9A)); __ 234 test/cctest/test-disasm-x64.cc __ nop(); __ 236 test/cctest/test-disasm-x64.cc __ xor_(rdx, Immediate(12345)); __ 237 test/cctest/test-disasm-x64.cc __ xor_(rdx, Operand(rbx, rcx, times_8, 10000)); __ 238 test/cctest/test-disasm-x64.cc __ bts(Operand(rbx, rcx, times_8, 10000), rdx); __ 239 test/cctest/test-disasm-x64.cc __ hlt(); __ 240 test/cctest/test-disasm-x64.cc __ int3(); __ 241 test/cctest/test-disasm-x64.cc __ ret(0); __ 242 test/cctest/test-disasm-x64.cc __ ret(8); __ 247 test/cctest/test-disasm-x64.cc __ bind(&L1); __ 248 test/cctest/test-disasm-x64.cc __ nop(); __ 249 test/cctest/test-disasm-x64.cc __ call(&L1); __ 250 test/cctest/test-disasm-x64.cc __ call(&L2); __ 251 test/cctest/test-disasm-x64.cc __ nop(); __ 252 test/cctest/test-disasm-x64.cc __ bind(&L2); __ 253 test/cctest/test-disasm-x64.cc __ call(Operand(rbx, rcx, times_4, 10000)); __ 254 test/cctest/test-disasm-x64.cc __ nop(); __ 257 test/cctest/test-disasm-x64.cc __ call(ic, RelocInfo::CODE_TARGET); __ 258 test/cctest/test-disasm-x64.cc __ nop(); __ 259 test/cctest/test-disasm-x64.cc __ nop(); __ 261 test/cctest/test-disasm-x64.cc __ jmp(&L1); __ 262 test/cctest/test-disasm-x64.cc __ jmp(Operand(rbx, rcx, times_4, 10000)); __ 269 test/cctest/test-disasm-x64.cc __ jmp(ic, RelocInfo::CODE_TARGET); __ 270 test/cctest/test-disasm-x64.cc __ nop(); __ 274 test/cctest/test-disasm-x64.cc __ nop(); __ 276 test/cctest/test-disasm-x64.cc __ j(overflow, &Ljcc); __ 277 test/cctest/test-disasm-x64.cc __ j(no_overflow, &Ljcc); __ 278 test/cctest/test-disasm-x64.cc __ j(below, &Ljcc); __ 279 test/cctest/test-disasm-x64.cc __ j(above_equal, &Ljcc); __ 280 test/cctest/test-disasm-x64.cc __ j(equal, &Ljcc); __ 281 test/cctest/test-disasm-x64.cc __ j(not_equal, &Ljcc); __ 282 test/cctest/test-disasm-x64.cc __ j(below_equal, &Ljcc); __ 283 test/cctest/test-disasm-x64.cc __ j(above, &Ljcc); __ 284 test/cctest/test-disasm-x64.cc __ j(sign, &Ljcc); __ 285 test/cctest/test-disasm-x64.cc __ j(not_sign, &Ljcc); __ 286 test/cctest/test-disasm-x64.cc __ j(parity_even, &Ljcc); __ 287 test/cctest/test-disasm-x64.cc __ j(parity_odd, &Ljcc); __ 288 test/cctest/test-disasm-x64.cc __ j(less, &Ljcc); __ 289 test/cctest/test-disasm-x64.cc __ j(greater_equal, &Ljcc); __ 290 test/cctest/test-disasm-x64.cc __ j(less_equal, &Ljcc); __ 291 test/cctest/test-disasm-x64.cc __ j(greater, &Ljcc); __ 292 test/cctest/test-disasm-x64.cc __ nop(); __ 293 test/cctest/test-disasm-x64.cc __ bind(&Ljcc); __ 295 test/cctest/test-disasm-x64.cc __ j(overflow, &Ljcc); __ 296 test/cctest/test-disasm-x64.cc __ j(no_overflow, &Ljcc); __ 297 test/cctest/test-disasm-x64.cc __ j(below, &Ljcc); __ 298 test/cctest/test-disasm-x64.cc __ j(above_equal, &Ljcc); __ 299 test/cctest/test-disasm-x64.cc __ j(equal, &Ljcc); __ 300 test/cctest/test-disasm-x64.cc __ j(not_equal, &Ljcc); __ 301 test/cctest/test-disasm-x64.cc __ j(below_equal, &Ljcc); __ 302 test/cctest/test-disasm-x64.cc __ j(above, &Ljcc); __ 303 test/cctest/test-disasm-x64.cc __ j(sign, &Ljcc); __ 304 test/cctest/test-disasm-x64.cc __ j(not_sign, &Ljcc); __ 305 test/cctest/test-disasm-x64.cc __ j(parity_even, &Ljcc); __ 306 test/cctest/test-disasm-x64.cc __ j(parity_odd, &Ljcc); __ 307 test/cctest/test-disasm-x64.cc __ j(less, &Ljcc); __ 308 test/cctest/test-disasm-x64.cc __ j(greater_equal, &Ljcc); __ 309 test/cctest/test-disasm-x64.cc __ j(less_equal, &Ljcc); __ 310 test/cctest/test-disasm-x64.cc __ j(greater, &Ljcc); __ 313 test/cctest/test-disasm-x64.cc __ nop(); __ 315 test/cctest/test-disasm-x64.cc __ fld(1); __ 316 test/cctest/test-disasm-x64.cc __ fld1(); __ 317 test/cctest/test-disasm-x64.cc __ fldz(); __ 318 test/cctest/test-disasm-x64.cc __ fldpi(); __ 319 test/cctest/test-disasm-x64.cc __ fabs(); __ 320 test/cctest/test-disasm-x64.cc __ fchs(); __ 321 test/cctest/test-disasm-x64.cc __ fprem(); __ 322 test/cctest/test-disasm-x64.cc __ fprem1(); __ 323 test/cctest/test-disasm-x64.cc __ fincstp(); __ 324 test/cctest/test-disasm-x64.cc __ ftst(); __ 325 test/cctest/test-disasm-x64.cc __ fxch(3); __ 326 test/cctest/test-disasm-x64.cc __ fld_s(Operand(rbx, rcx, times_4, 10000)); __ 327 test/cctest/test-disasm-x64.cc __ fstp_s(Operand(rbx, rcx, times_4, 10000)); __ 328 test/cctest/test-disasm-x64.cc __ ffree(3); __ 329 test/cctest/test-disasm-x64.cc __ fld_d(Operand(rbx, rcx, times_4, 10000)); __ 330 test/cctest/test-disasm-x64.cc __ fstp_d(Operand(rbx, rcx, times_4, 10000)); __ 331 test/cctest/test-disasm-x64.cc __ nop(); __ 333 test/cctest/test-disasm-x64.cc __ fild_s(Operand(rbx, rcx, times_4, 10000)); __ 334 test/cctest/test-disasm-x64.cc __ fistp_s(Operand(rbx, rcx, times_4, 10000)); __ 335 test/cctest/test-disasm-x64.cc __ fild_d(Operand(rbx, rcx, times_4, 10000)); __ 336 test/cctest/test-disasm-x64.cc __ fistp_d(Operand(rbx, rcx, times_4, 10000)); __ 337 test/cctest/test-disasm-x64.cc __ fnstsw_ax(); __ 338 test/cctest/test-disasm-x64.cc __ nop(); __ 339 test/cctest/test-disasm-x64.cc __ fadd(3); __ 340 test/cctest/test-disasm-x64.cc __ fsub(3); __ 341 test/cctest/test-disasm-x64.cc __ fmul(3); __ 342 test/cctest/test-disasm-x64.cc __ fdiv(3); __ 344 test/cctest/test-disasm-x64.cc __ faddp(3); __ 345 test/cctest/test-disasm-x64.cc __ fsubp(3); __ 346 test/cctest/test-disasm-x64.cc __ fmulp(3); __ 347 test/cctest/test-disasm-x64.cc __ fdivp(3); __ 348 test/cctest/test-disasm-x64.cc __ fcompp(); __ 349 test/cctest/test-disasm-x64.cc __ fwait(); __ 350 test/cctest/test-disasm-x64.cc __ nop(); __ 354 test/cctest/test-disasm-x64.cc __ cvttss2si(rdx, Operand(rbx, rcx, times_4, 10000)); __ 355 test/cctest/test-disasm-x64.cc __ cvttss2si(rdx, xmm1); __ 356 test/cctest/test-disasm-x64.cc __ cvttsd2si(rdx, Operand(rbx, rcx, times_4, 10000)); __ 357 test/cctest/test-disasm-x64.cc __ cvttsd2si(rdx, xmm1); __ 358 test/cctest/test-disasm-x64.cc __ cvttsd2siq(rdx, xmm1); __ 359 test/cctest/test-disasm-x64.cc __ addsd(xmm1, xmm0); __ 360 test/cctest/test-disasm-x64.cc __ mulsd(xmm1, xmm0); __ 361 test/cctest/test-disasm-x64.cc __ subsd(xmm1, xmm0); __ 362 test/cctest/test-disasm-x64.cc __ divsd(xmm1, xmm0); __ 363 test/cctest/test-disasm-x64.cc __ movsd(xmm1, Operand(rbx, rcx, times_4, 10000)); __ 364 test/cctest/test-disasm-x64.cc __ movsd(Operand(rbx, rcx, times_4, 10000), xmm1); __ 365 test/cctest/test-disasm-x64.cc __ ucomisd(xmm0, xmm1); __ 368 test/cctest/test-disasm-x64.cc __ movdqa(xmm0, Operand(rbx, rcx, times_4, 10000)); __ 369 test/cctest/test-disasm-x64.cc __ movdqa(Operand(rbx, rcx, times_4, 10000), xmm0); __ 377 test/cctest/test-disasm-x64.cc __ cmovq(overflow, rax, Operand(rax, 0)); __ 378 test/cctest/test-disasm-x64.cc __ cmovq(no_overflow, rax, Operand(rax, 1)); __ 379 test/cctest/test-disasm-x64.cc __ cmovq(below, rax, Operand(rax, 2)); __ 380 test/cctest/test-disasm-x64.cc __ cmovq(above_equal, rax, Operand(rax, 3)); __ 381 test/cctest/test-disasm-x64.cc __ cmovq(equal, rax, Operand(rbx, 0)); __ 382 test/cctest/test-disasm-x64.cc __ cmovq(not_equal, rax, Operand(rbx, 1)); __ 383 test/cctest/test-disasm-x64.cc __ cmovq(below_equal, rax, Operand(rbx, 2)); __ 384 test/cctest/test-disasm-x64.cc __ cmovq(above, rax, Operand(rbx, 3)); __ 385 test/cctest/test-disasm-x64.cc __ cmovq(sign, rax, Operand(rcx, 0)); __ 386 test/cctest/test-disasm-x64.cc __ cmovq(not_sign, rax, Operand(rcx, 1)); __ 387 test/cctest/test-disasm-x64.cc __ cmovq(parity_even, rax, Operand(rcx, 2)); __ 388 test/cctest/test-disasm-x64.cc __ cmovq(parity_odd, rax, Operand(rcx, 3)); __ 389 test/cctest/test-disasm-x64.cc __ cmovq(less, rax, Operand(rdx, 0)); __ 390 test/cctest/test-disasm-x64.cc __ cmovq(greater_equal, rax, Operand(rdx, 1)); __ 391 test/cctest/test-disasm-x64.cc __ cmovq(less_equal, rax, Operand(rdx, 2)); __ 392 test/cctest/test-disasm-x64.cc __ cmovq(greater, rax, Operand(rdx, 3)); __ 400 test/cctest/test-disasm-x64.cc __ andpd(xmm0, xmm1); __ 401 test/cctest/test-disasm-x64.cc __ andpd(xmm1, xmm2); __ 403 test/cctest/test-disasm-x64.cc __ movaps(xmm0, xmm1); __ 404 test/cctest/test-disasm-x64.cc __ movaps(xmm1, xmm2); __ 410 test/cctest/test-disasm-x64.cc __ Nop(i); __ 413 test/cctest/test-disasm-x64.cc __ ret(0); __ 57 test/cctest/test-hashing.cc __ push(ebx); __ 58 test/cctest/test-hashing.cc __ push(ecx); __ 59 test/cctest/test-hashing.cc __ mov(eax, Immediate(0)); __ 60 test/cctest/test-hashing.cc __ mov(ebx, Immediate(string.at(0))); __ 63 test/cctest/test-hashing.cc __ mov(ebx, Immediate(string.at(i))); __ 67 test/cctest/test-hashing.cc __ pop(ecx); __ 68 test/cctest/test-hashing.cc __ pop(ebx); __ 69 test/cctest/test-hashing.cc __ Ret(); __ 71 test/cctest/test-hashing.cc __ push(kRootRegister); __ 72 test/cctest/test-hashing.cc __ InitializeRootRegister(); __ 73 test/cctest/test-hashing.cc __ push(rbx); __ 74 test/cctest/test-hashing.cc __ push(rcx); __ 75 test/cctest/test-hashing.cc __ movq(rax, Immediate(0)); __ 76 test/cctest/test-hashing.cc __ movq(rbx, Immediate(string.at(0))); __ 79 test/cctest/test-hashing.cc __ movq(rbx, Immediate(string.at(i))); __ 83 test/cctest/test-hashing.cc __ pop(rcx); __ 84 test/cctest/test-hashing.cc __ pop(rbx); __ 85 test/cctest/test-hashing.cc __ pop(kRootRegister); __ 86 test/cctest/test-hashing.cc __ Ret(); __ 88 test/cctest/test-hashing.cc __ push(kRootRegister); __ 89 test/cctest/test-hashing.cc __ InitializeRootRegister(); __ 91 test/cctest/test-hashing.cc __ mov(r0, Operand(0)); __ 92 test/cctest/test-hashing.cc __ mov(ip, Operand(string.at(0))); __ 95 test/cctest/test-hashing.cc __ mov(ip, Operand(string.at(i))); __ 99 test/cctest/test-hashing.cc __ pop(kRootRegister); __ 100 test/cctest/test-hashing.cc __ mov(pc, Operand(lr)); __ 102 test/cctest/test-hashing.cc __ push(kRootRegister); __ 103 test/cctest/test-hashing.cc __ InitializeRootRegister(); __ 105 test/cctest/test-hashing.cc __ li(v0, Operand(0)); __ 106 test/cctest/test-hashing.cc __ li(t1, Operand(string.at(0))); __ 109 test/cctest/test-hashing.cc __ li(t1, Operand(string.at(i))); __ 113 test/cctest/test-hashing.cc __ pop(kRootRegister); __ 114 test/cctest/test-hashing.cc __ jr(ra); __ 115 test/cctest/test-hashing.cc __ nop(); __ 122 test/cctest/test-hashing.cc __ push(ebx); __ 123 test/cctest/test-hashing.cc __ mov(eax, Immediate(key)); __ 124 test/cctest/test-hashing.cc __ GetNumberHash(eax, ebx); __ 125 test/cctest/test-hashing.cc __ pop(ebx); __ 126 test/cctest/test-hashing.cc __ Ret(); __ 128 test/cctest/test-hashing.cc __ push(kRootRegister); __ 129 test/cctest/test-hashing.cc __ InitializeRootRegister(); __ 130 test/cctest/test-hashing.cc __ push(rbx); __ 131 test/cctest/test-hashing.cc __ movq(rax, Immediate(key)); __ 132 test/cctest/test-hashing.cc __ GetNumberHash(rax, rbx); __ 133 test/cctest/test-hashing.cc __ pop(rbx); __ 134 test/cctest/test-hashing.cc __ pop(kRootRegister); __ 135 test/cctest/test-hashing.cc __ Ret(); __ 137 test/cctest/test-hashing.cc __ push(kRootRegister); __ 138 test/cctest/test-hashing.cc __ InitializeRootRegister(); __ 139 test/cctest/test-hashing.cc __ mov(r0, Operand(key)); __ 140 test/cctest/test-hashing.cc __ GetNumberHash(r0, ip); __ 141 test/cctest/test-hashing.cc __ pop(kRootRegister); __ 142 test/cctest/test-hashing.cc __ mov(pc, Operand(lr)); __ 144 test/cctest/test-hashing.cc __ push(kRootRegister); __ 145 test/cctest/test-hashing.cc __ InitializeRootRegister(); __ 146 test/cctest/test-hashing.cc __ li(v0, Operand(key)); __ 147 test/cctest/test-hashing.cc __ GetNumberHash(v0, t1); __ 148 test/cctest/test-hashing.cc __ pop(kRootRegister); __ 149 test/cctest/test-hashing.cc __ jr(ra); __ 150 test/cctest/test-hashing.cc __ nop(); __ 75 test/cctest/test-heap.cc __ nop(); // supported on all architectures __ 98 test/cctest/test-macro-assembler-x64.cc __ push(v8::internal::kSmiConstantRegister); __ 99 test/cctest/test-macro-assembler-x64.cc __ push(v8::internal::kRootRegister); __ 100 test/cctest/test-macro-assembler-x64.cc __ InitializeSmiConstantRegister(); __ 101 test/cctest/test-macro-assembler-x64.cc __ InitializeRootRegister(); __ 107 test/cctest/test-macro-assembler-x64.cc __ Move(rdx, Smi::FromInt(1)); __ 108 test/cctest/test-macro-assembler-x64.cc __ cmpq(rdx, v8::internal::kSmiConstantRegister); __ 109 test/cctest/test-macro-assembler-x64.cc __ movq(rdx, Immediate(-1)); __ 110 test/cctest/test-macro-assembler-x64.cc __ cmovq(not_equal, rax, rdx); __ 111 test/cctest/test-macro-assembler-x64.cc __ pop(v8::internal::kRootRegister); __ 112 test/cctest/test-macro-assembler-x64.cc __ pop(v8::internal::kSmiConstantRegister); __ 143 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id)); __ 144 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(0)); __ 145 test/cctest/test-macro-assembler-x64.cc __ Set(rdx, reinterpret_cast<intptr_t>(Smi::FromInt(0))); __ 146 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, rdx); __ 147 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 182 test/cctest/test-macro-assembler-x64.cc __ xor_(rax, rax); // Success. __ 183 test/cctest/test-macro-assembler-x64.cc __ bind(&exit); __ 185 test/cctest/test-macro-assembler-x64.cc __ ret(0); __ 196 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(x)); __ 197 test/cctest/test-macro-assembler-x64.cc __ movq(r8, rcx); __ 198 test/cctest/test-macro-assembler-x64.cc __ Move(rdx, Smi::FromInt(y)); __ 199 test/cctest/test-macro-assembler-x64.cc __ movq(r9, rdx); __ 200 test/cctest/test-macro-assembler-x64.cc __ SmiCompare(rcx, rdx); __ 202 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id + 1)); __ 203 test/cctest/test-macro-assembler-x64.cc __ j(greater_equal, exit); __ 205 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id + 2)); __ 206 test/cctest/test-macro-assembler-x64.cc __ j(less_equal, exit); __ 209 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id + 3)); __ 210 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 212 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id + 4)); __ 213 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r8); __ 214 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 215 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 216 test/cctest/test-macro-assembler-x64.cc __ cmpq(rdx, r9); __ 217 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 220 test/cctest/test-macro-assembler-x64.cc __ SmiCompare(rdx, rcx); __ 222 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id + 9)); __ 223 test/cctest/test-macro-assembler-x64.cc __ j(greater_equal, exit); __ 226 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id + 10)); __ 227 test/cctest/test-macro-assembler-x64.cc __ j(less_equal, exit); __ 230 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, rcx); __ 231 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id + 11)); __ 232 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 233 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 234 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r8); __ 235 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 280 test/cctest/test-macro-assembler-x64.cc __ xor_(rax, rax); // Success. __ 281 test/cctest/test-macro-assembler-x64.cc __ bind(&exit); __ 283 test/cctest/test-macro-assembler-x64.cc __ ret(0); __ 312 test/cctest/test-macro-assembler-x64.cc __ movq(rax, Immediate(1)); // Test number. __ 313 test/cctest/test-macro-assembler-x64.cc __ movl(rcx, Immediate(0)); __ 314 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(rcx, rcx); __ 315 test/cctest/test-macro-assembler-x64.cc __ Set(rdx, reinterpret_cast<intptr_t>(Smi::FromInt(0))); __ 316 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, rdx); __ 317 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 319 test/cctest/test-macro-assembler-x64.cc __ movq(rax, Immediate(2)); // Test number. __ 320 test/cctest/test-macro-assembler-x64.cc __ movl(rcx, Immediate(1024)); __ 321 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(rcx, rcx); __ 322 test/cctest/test-macro-assembler-x64.cc __ Set(rdx, reinterpret_cast<intptr_t>(Smi::FromInt(1024))); __ 323 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, rdx); __ 324 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 326 test/cctest/test-macro-assembler-x64.cc __ movq(rax, Immediate(3)); // Test number. __ 327 test/cctest/test-macro-assembler-x64.cc __ movl(rcx, Immediate(-1)); __ 328 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(rcx, rcx); __ 329 test/cctest/test-macro-assembler-x64.cc __ Set(rdx, reinterpret_cast<intptr_t>(Smi::FromInt(-1))); __ 330 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, rdx); __ 331 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 333 test/cctest/test-macro-assembler-x64.cc __ movq(rax, Immediate(4)); // Test number. __ 334 test/cctest/test-macro-assembler-x64.cc __ movl(rcx, Immediate(Smi::kMaxValue)); __ 335 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(rcx, rcx); __ 336 test/cctest/test-macro-assembler-x64.cc __ Set(rdx, reinterpret_cast<intptr_t>(Smi::FromInt(Smi::kMaxValue))); __ 337 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, rdx); __ 338 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 340 test/cctest/test-macro-assembler-x64.cc __ movq(rax, Immediate(5)); // Test number. __ 341 test/cctest/test-macro-assembler-x64.cc __ movl(rcx, Immediate(Smi::kMinValue)); __ 342 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(rcx, rcx); __ 343 test/cctest/test-macro-assembler-x64.cc __ Set(rdx, reinterpret_cast<intptr_t>(Smi::FromInt(Smi::kMinValue))); __ 344 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, rdx); __ 345 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 349 test/cctest/test-macro-assembler-x64.cc __ movq(rax, Immediate(6)); // Test number. __ 350 test/cctest/test-macro-assembler-x64.cc __ movl(rcx, Immediate(0)); __ 351 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(r8, rcx); __ 352 test/cctest/test-macro-assembler-x64.cc __ Set(rdx, reinterpret_cast<intptr_t>(Smi::FromInt(0))); __ 353 test/cctest/test-macro-assembler-x64.cc __ cmpq(r8, rdx); __ 354 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 356 test/cctest/test-macro-assembler-x64.cc __ movq(rax, Immediate(7)); // Test number. __ 357 test/cctest/test-macro-assembler-x64.cc __ movl(rcx, Immediate(1024)); __ 358 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(r8, rcx); __ 359 test/cctest/test-macro-assembler-x64.cc __ Set(rdx, reinterpret_cast<intptr_t>(Smi::FromInt(1024))); __ 360 test/cctest/test-macro-assembler-x64.cc __ cmpq(r8, rdx); __ 361 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 363 test/cctest/test-macro-assembler-x64.cc __ movq(rax, Immediate(8)); // Test number. __ 364 test/cctest/test-macro-assembler-x64.cc __ movl(rcx, Immediate(-1)); __ 365 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(r8, rcx); __ 366 test/cctest/test-macro-assembler-x64.cc __ Set(rdx, reinterpret_cast<intptr_t>(Smi::FromInt(-1))); __ 367 test/cctest/test-macro-assembler-x64.cc __ cmpq(r8, rdx); __ 368 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 370 test/cctest/test-macro-assembler-x64.cc __ movq(rax, Immediate(9)); // Test number. __ 371 test/cctest/test-macro-assembler-x64.cc __ movl(rcx, Immediate(Smi::kMaxValue)); __ 372 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(r8, rcx); __ 373 test/cctest/test-macro-assembler-x64.cc __ Set(rdx, reinterpret_cast<intptr_t>(Smi::FromInt(Smi::kMaxValue))); __ 374 test/cctest/test-macro-assembler-x64.cc __ cmpq(r8, rdx); __ 375 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 377 test/cctest/test-macro-assembler-x64.cc __ movq(rax, Immediate(10)); // Test number. __ 378 test/cctest/test-macro-assembler-x64.cc __ movl(rcx, Immediate(Smi::kMinValue)); __ 379 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(r8, rcx); __ 380 test/cctest/test-macro-assembler-x64.cc __ Set(rdx, reinterpret_cast<intptr_t>(Smi::FromInt(Smi::kMinValue))); __ 381 test/cctest/test-macro-assembler-x64.cc __ cmpq(r8, rdx); __ 382 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 385 test/cctest/test-macro-assembler-x64.cc __ xor_(rax, rax); // Success. __ 386 test/cctest/test-macro-assembler-x64.cc __ bind(&exit); __ 388 test/cctest/test-macro-assembler-x64.cc __ ret(0); __ 405 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id)); __ 406 test/cctest/test-macro-assembler-x64.cc __ Move(r8, Smi::FromInt(static_cast<int>(result))); __ 407 test/cctest/test-macro-assembler-x64.cc __ movq(rcx, x, RelocInfo::NONE); __ 408 test/cctest/test-macro-assembler-x64.cc __ movq(r11, rcx); __ 409 test/cctest/test-macro-assembler-x64.cc __ Integer64PlusConstantToSmi(rdx, rcx, y); __ 410 test/cctest/test-macro-assembler-x64.cc __ cmpq(rdx, r8); __ 411 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 413 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 414 test/cctest/test-macro-assembler-x64.cc __ cmpq(r11, rcx); __ 415 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 417 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 418 test/cctest/test-macro-assembler-x64.cc __ Integer64PlusConstantToSmi(rcx, rcx, y); __ 419 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r8); __ 420 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 457 test/cctest/test-macro-assembler-x64.cc __ xor_(rax, rax); // Success. __ 458 test/cctest/test-macro-assembler-x64.cc __ bind(&exit); __ 460 test/cctest/test-macro-assembler-x64.cc __ ret(0); __ 489 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(1)); // Test number. __ 493 test/cctest/test-macro-assembler-x64.cc __ movl(rcx, Immediate(0)); __ 494 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(rcx, rcx); __ 496 test/cctest/test-macro-assembler-x64.cc __ j(NegateCondition(cond), &exit); __ 498 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 499 test/cctest/test-macro-assembler-x64.cc __ xor_(rcx, Immediate(kSmiTagMask)); __ 501 test/cctest/test-macro-assembler-x64.cc __ j(cond, &exit); __ 503 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 504 test/cctest/test-macro-assembler-x64.cc __ movl(rcx, Immediate(-1)); __ 505 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(rcx, rcx); __ 507 test/cctest/test-macro-assembler-x64.cc __ j(NegateCondition(cond), &exit); __ 509 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 510 test/cctest/test-macro-assembler-x64.cc __ xor_(rcx, Immediate(kSmiTagMask)); __ 512 test/cctest/test-macro-assembler-x64.cc __ j(cond, &exit); __ 514 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 515 test/cctest/test-macro-assembler-x64.cc __ movl(rcx, Immediate(Smi::kMaxValue)); __ 516 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(rcx, rcx); __ 518 test/cctest/test-macro-assembler-x64.cc __ j(NegateCondition(cond), &exit); __ 520 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 521 test/cctest/test-macro-assembler-x64.cc __ xor_(rcx, Immediate(kSmiTagMask)); __ 523 test/cctest/test-macro-assembler-x64.cc __ j(cond, &exit); __ 525 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 526 test/cctest/test-macro-assembler-x64.cc __ movl(rcx, Immediate(Smi::kMinValue)); __ 527 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(rcx, rcx); __ 529 test/cctest/test-macro-assembler-x64.cc __ j(NegateCondition(cond), &exit); __ 531 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 532 test/cctest/test-macro-assembler-x64.cc __ xor_(rcx, Immediate(kSmiTagMask)); __ 534 test/cctest/test-macro-assembler-x64.cc __ j(cond, &exit); __ 538 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 539 test/cctest/test-macro-assembler-x64.cc __ movl(rcx, Immediate(0)); __ 540 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(rcx, rcx); __ 542 test/cctest/test-macro-assembler-x64.cc __ j(NegateCondition(cond), &exit); __ 544 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 545 test/cctest/test-macro-assembler-x64.cc __ xor_(rcx, Immediate(kSmiTagMask)); __ 547 test/cctest/test-macro-assembler-x64.cc __ j(cond, &exit); __ 549 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 550 test/cctest/test-macro-assembler-x64.cc __ movq(rcx, Immediate(-1)); __ 551 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(rcx, rcx); __ 553 test/cctest/test-macro-assembler-x64.cc __ j(cond, &exit); __ 555 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 556 test/cctest/test-macro-assembler-x64.cc __ movq(rcx, Immediate(Smi::kMinValue)); __ 557 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(rcx, rcx); __ 559 test/cctest/test-macro-assembler-x64.cc __ j(cond, &exit); __ 561 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 562 test/cctest/test-macro-assembler-x64.cc __ xor_(rcx, Immediate(kSmiTagMask)); __ 564 test/cctest/test-macro-assembler-x64.cc __ j(cond, &exit); __ 566 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 567 test/cctest/test-macro-assembler-x64.cc __ movq(rcx, Immediate(Smi::kMaxValue)); __ 568 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(rcx, rcx); __ 570 test/cctest/test-macro-assembler-x64.cc __ j(NegateCondition(cond), &exit); __ 572 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 573 test/cctest/test-macro-assembler-x64.cc __ xor_(rcx, Immediate(kSmiTagMask)); __ 575 test/cctest/test-macro-assembler-x64.cc __ j(cond, &exit); __ 579 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 580 test/cctest/test-macro-assembler-x64.cc __ movq(rcx, Immediate(Smi::kMaxValue)); __ 581 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(rcx, rcx); __ 583 test/cctest/test-macro-assembler-x64.cc __ j(cond, &exit); __ 585 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 586 test/cctest/test-macro-assembler-x64.cc __ movq(rcx, Immediate(0)); __ 587 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(rcx, rcx); __ 589 test/cctest/test-macro-assembler-x64.cc __ j(cond, &exit); __ 591 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 592 test/cctest/test-macro-assembler-x64.cc __ movq(rcx, Immediate(Smi::kMinValue)); __ 593 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(rcx, rcx); __ 595 test/cctest/test-macro-assembler-x64.cc __ j(NegateCondition(cond), &exit); __ 597 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 598 test/cctest/test-macro-assembler-x64.cc __ movq(rcx, Immediate(Smi::kMinValue + 1)); __ 599 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(rcx, rcx); __ 601 test/cctest/test-macro-assembler-x64.cc __ j(cond, &exit); __ 605 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 606 test/cctest/test-macro-assembler-x64.cc __ movq(rcx, Immediate(Smi::kMaxValue)); __ 607 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(rcx, rcx); __ 608 test/cctest/test-macro-assembler-x64.cc __ movq(rdx, Immediate(Smi::kMinValue)); __ 609 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(rdx, rdx); __ 611 test/cctest/test-macro-assembler-x64.cc __ j(NegateCondition(cond), &exit); __ 613 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 614 test/cctest/test-macro-assembler-x64.cc __ xor_(rcx, Immediate(kSmiTagMask)); __ 616 test/cctest/test-macro-assembler-x64.cc __ j(cond, &exit); __ 618 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 619 test/cctest/test-macro-assembler-x64.cc __ xor_(rdx, Immediate(kSmiTagMask)); __ 621 test/cctest/test-macro-assembler-x64.cc __ j(cond, &exit); __ 623 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 624 test/cctest/test-macro-assembler-x64.cc __ xor_(rcx, Immediate(kSmiTagMask)); __ 626 test/cctest/test-macro-assembler-x64.cc __ j(cond, &exit); __ 628 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 630 test/cctest/test-macro-assembler-x64.cc __ j(NegateCondition(cond), &exit); __ 632 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 634 test/cctest/test-macro-assembler-x64.cc __ j(cond, &exit); __ 637 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 638 test/cctest/test-macro-assembler-x64.cc __ movq(rcx, Immediate(0)); __ 640 test/cctest/test-macro-assembler-x64.cc __ j(NegateCondition(cond), &exit); __ 642 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 643 test/cctest/test-macro-assembler-x64.cc __ movq(rcx, Immediate(-1)); __ 645 test/cctest/test-macro-assembler-x64.cc __ j(NegateCondition(cond), &exit); __ 647 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 648 test/cctest/test-macro-assembler-x64.cc __ movq(rcx, Immediate(Smi::kMaxValue)); __ 650 test/cctest/test-macro-assembler-x64.cc __ j(NegateCondition(cond), &exit); __ 652 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 653 test/cctest/test-macro-assembler-x64.cc __ movq(rcx, Immediate(Smi::kMinValue)); __ 655 test/cctest/test-macro-assembler-x64.cc __ j(NegateCondition(cond), &exit); __ 658 test/cctest/test-macro-assembler-x64.cc __ xor_(rax, rax); __ 660 test/cctest/test-macro-assembler-x64.cc __ bind(&exit); __ 662 test/cctest/test-macro-assembler-x64.cc __ ret(0); __ 674 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(x)); __ 675 test/cctest/test-macro-assembler-x64.cc __ movq(r11, rcx); __ 678 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id + 8)); __ 679 test/cctest/test-macro-assembler-x64.cc __ SmiNeg(r9, rcx, exit); __ 681 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 682 test/cctest/test-macro-assembler-x64.cc __ cmpq(r11, rcx); __ 683 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 685 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 686 test/cctest/test-macro-assembler-x64.cc __ SmiNeg(rcx, rcx, exit); __ 688 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 689 test/cctest/test-macro-assembler-x64.cc __ cmpq(r11, rcx); __ 690 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 694 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id)); __ 695 test/cctest/test-macro-assembler-x64.cc __ Move(r8, Smi::FromInt(result)); __ 697 test/cctest/test-macro-assembler-x64.cc __ SmiNeg(r9, rcx, &smi_ok); __ 698 test/cctest/test-macro-assembler-x64.cc __ jmp(exit); __ 699 test/cctest/test-macro-assembler-x64.cc __ bind(&smi_ok); __ 700 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 701 test/cctest/test-macro-assembler-x64.cc __ cmpq(r9, r8); __ 702 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 704 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 705 test/cctest/test-macro-assembler-x64.cc __ cmpq(r11, rcx); __ 706 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 708 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 709 test/cctest/test-macro-assembler-x64.cc __ SmiNeg(rcx, rcx, &smi_ok2); __ 710 test/cctest/test-macro-assembler-x64.cc __ jmp(exit); __ 711 test/cctest/test-macro-assembler-x64.cc __ bind(&smi_ok2); __ 712 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 713 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r8); __ 714 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 747 test/cctest/test-macro-assembler-x64.cc __ xor_(rax, rax); // Success. __ 748 test/cctest/test-macro-assembler-x64.cc __ bind(&exit); __ 750 test/cctest/test-macro-assembler-x64.cc __ ret(0); __ 767 test/cctest/test-macro-assembler-x64.cc __ movl(rcx, Immediate(first)); __ 768 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(rcx, rcx); __ 769 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Immediate(second)); __ 770 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(rdx, rdx); __ 771 test/cctest/test-macro-assembler-x64.cc __ movl(r8, Immediate(first + second)); __ 772 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(r8, r8); __ 774 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id)); // Test number. __ 775 test/cctest/test-macro-assembler-x64.cc __ SmiAdd(r9, rcx, rdx, exit); __ 776 test/cctest/test-macro-assembler-x64.cc __ cmpq(r9, r8); __ 777 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 779 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 780 test/cctest/test-macro-assembler-x64.cc __ SmiAdd(rcx, rcx, rdx, exit); \ __ 781 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r8); __ 782 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 784 test/cctest/test-macro-assembler-x64.cc __ movl(rcx, Immediate(first)); __ 785 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(rcx, rcx); __ 787 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 788 test/cctest/test-macro-assembler-x64.cc __ SmiAddConstant(r9, rcx, Smi::FromInt(second)); __ 789 test/cctest/test-macro-assembler-x64.cc __ cmpq(r9, r8); __ 790 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 792 test/cctest/test-macro-assembler-x64.cc __ SmiAddConstant(rcx, rcx, Smi::FromInt(second)); __ 793 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r8); __ 794 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 796 test/cctest/test-macro-assembler-x64.cc __ movl(rcx, Immediate(first)); __ 797 test/cctest/test-macro-assembler-x64.cc __ Integer32ToSmi(rcx, rcx); __ 799 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 800 test/cctest/test-macro-assembler-x64.cc __ SmiAddConstant(r9, rcx, Smi::FromInt(second), exit); __ 801 test/cctest/test-macro-assembler-x64.cc __ cmpq(r9, r8); __ 802 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 804 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 805 test/cctest/test-macro-assembler-x64.cc __ SmiAddConstant(rcx, rcx, Smi::FromInt(second), exit); __ 806 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r8); __ 807 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 838 test/cctest/test-macro-assembler-x64.cc __ xor_(rax, rax); // Success. __ 839 test/cctest/test-macro-assembler-x64.cc __ bind(&exit); __ 841 test/cctest/test-macro-assembler-x64.cc __ ret(0); __ 856 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(first)); __ 857 test/cctest/test-macro-assembler-x64.cc __ Move(rdx, Smi::FromInt(second)); __ 858 test/cctest/test-macro-assembler-x64.cc __ Move(r8, Smi::FromInt(first - second)); __ 860 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id)); // Test 0. __ 861 test/cctest/test-macro-assembler-x64.cc __ SmiSub(r9, rcx, rdx, exit); __ 862 test/cctest/test-macro-assembler-x64.cc __ cmpq(r9, r8); __ 863 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 865 test/cctest/test-macro-assembler-x64.cc __ incq(rax); // Test 1. __ 866 test/cctest/test-macro-assembler-x64.cc __ SmiSub(rcx, rcx, rdx, exit); __ 867 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r8); __ 868 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 870 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(first)); __ 872 test/cctest/test-macro-assembler-x64.cc __ incq(rax); // Test 2. __ 873 test/cctest/test-macro-assembler-x64.cc __ SmiSubConstant(r9, rcx, Smi::FromInt(second)); __ 874 test/cctest/test-macro-assembler-x64.cc __ cmpq(r9, r8); __ 875 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 877 test/cctest/test-macro-assembler-x64.cc __ incq(rax); // Test 3. __ 878 test/cctest/test-macro-assembler-x64.cc __ SmiSubConstant(rcx, rcx, Smi::FromInt(second)); __ 879 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r8); __ 880 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 882 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(first)); __ 884 test/cctest/test-macro-assembler-x64.cc __ incq(rax); // Test 4. __ 885 test/cctest/test-macro-assembler-x64.cc __ SmiSubConstant(r9, rcx, Smi::FromInt(second), exit); __ 886 test/cctest/test-macro-assembler-x64.cc __ cmpq(r9, r8); __ 887 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 889 test/cctest/test-macro-assembler-x64.cc __ incq(rax); // Test 5. __ 890 test/cctest/test-macro-assembler-x64.cc __ SmiSubConstant(rcx, rcx, Smi::FromInt(second), exit); __ 891 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r8); __ 892 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 904 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id)); __ 905 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(x)); __ 906 test/cctest/test-macro-assembler-x64.cc __ movq(r11, rcx); // Store original Smi value of x in r11. __ 907 test/cctest/test-macro-assembler-x64.cc __ Move(rdx, Smi::FromInt(y_min)); __ 910 test/cctest/test-macro-assembler-x64.cc __ SmiSub(r9, rcx, rdx, &overflow_ok); __ 911 test/cctest/test-macro-assembler-x64.cc __ jmp(exit); __ 912 test/cctest/test-macro-assembler-x64.cc __ bind(&overflow_ok); __ 913 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 914 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r11); __ 915 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 920 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 921 test/cctest/test-macro-assembler-x64.cc __ SmiSub(rcx, rcx, rdx, &overflow_ok); __ 922 test/cctest/test-macro-assembler-x64.cc __ jmp(exit); __ 923 test/cctest/test-macro-assembler-x64.cc __ bind(&overflow_ok); __ 924 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 925 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r11); __ 926 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 929 test/cctest/test-macro-assembler-x64.cc __ movq(rcx, r11); __ 932 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 933 test/cctest/test-macro-assembler-x64.cc __ SmiSubConstant(r9, rcx, Smi::FromInt(y_min), &overflow_ok); __ 934 test/cctest/test-macro-assembler-x64.cc __ jmp(exit); __ 935 test/cctest/test-macro-assembler-x64.cc __ bind(&overflow_ok); __ 936 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 937 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r11); __ 938 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 943 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 944 test/cctest/test-macro-assembler-x64.cc __ SmiSubConstant(rcx, rcx, Smi::FromInt(y_min), &overflow_ok); __ 945 test/cctest/test-macro-assembler-x64.cc __ jmp(exit); __ 946 test/cctest/test-macro-assembler-x64.cc __ bind(&overflow_ok); __ 947 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 948 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r11); __ 949 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 952 test/cctest/test-macro-assembler-x64.cc __ Move(rdx, Smi::FromInt(y_max)); __ 956 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 957 test/cctest/test-macro-assembler-x64.cc __ SmiSub(r9, rcx, rdx, &overflow_ok); __ 958 test/cctest/test-macro-assembler-x64.cc __ jmp(exit); __ 959 test/cctest/test-macro-assembler-x64.cc __ bind(&overflow_ok); __ 960 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 961 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r11); __ 962 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 967 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 968 test/cctest/test-macro-assembler-x64.cc __ SmiSub(rcx, rcx, rdx, &overflow_ok); __ 969 test/cctest/test-macro-assembler-x64.cc __ jmp(exit); __ 970 test/cctest/test-macro-assembler-x64.cc __ bind(&overflow_ok); __ 971 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 972 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r11); __ 973 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 976 test/cctest/test-macro-assembler-x64.cc __ movq(rcx, r11); __ 979 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 980 test/cctest/test-macro-assembler-x64.cc __ SmiSubConstant(r9, rcx, Smi::FromInt(y_max), &overflow_ok); __ 981 test/cctest/test-macro-assembler-x64.cc __ jmp(exit); __ 982 test/cctest/test-macro-assembler-x64.cc __ bind(&overflow_ok); __ 983 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 984 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r11); __ 985 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 990 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 991 test/cctest/test-macro-assembler-x64.cc __ SmiSubConstant(rcx, rcx, Smi::FromInt(y_max), &overflow_ok); __ 992 test/cctest/test-macro-assembler-x64.cc __ jmp(exit); __ 993 test/cctest/test-macro-assembler-x64.cc __ bind(&overflow_ok); __ 994 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 995 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r11); __ 996 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1038 test/cctest/test-macro-assembler-x64.cc __ xor_(rax, rax); // Success. __ 1039 test/cctest/test-macro-assembler-x64.cc __ bind(&exit); __ 1041 test/cctest/test-macro-assembler-x64.cc __ ret(0); __ 1055 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(x)); __ 1056 test/cctest/test-macro-assembler-x64.cc __ movq(r11, rcx); __ 1057 test/cctest/test-macro-assembler-x64.cc __ Move(rdx, Smi::FromInt(y)); __ 1059 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id)); __ 1060 test/cctest/test-macro-assembler-x64.cc __ Move(r8, Smi::FromIntptr(result)); __ 1061 test/cctest/test-macro-assembler-x64.cc __ SmiMul(r9, rcx, rdx, exit); __ 1062 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1063 test/cctest/test-macro-assembler-x64.cc __ cmpq(r11, rcx); __ 1064 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1065 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1066 test/cctest/test-macro-assembler-x64.cc __ cmpq(r9, r8); __ 1067 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1069 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1070 test/cctest/test-macro-assembler-x64.cc __ SmiMul(rcx, rcx, rdx, exit); __ 1071 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r8); __ 1072 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1074 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id + 8)); __ 1076 test/cctest/test-macro-assembler-x64.cc __ SmiMul(r9, rcx, rdx, &overflow_ok); __ 1077 test/cctest/test-macro-assembler-x64.cc __ jmp(exit); __ 1078 test/cctest/test-macro-assembler-x64.cc __ bind(&overflow_ok); __ 1079 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1080 test/cctest/test-macro-assembler-x64.cc __ cmpq(r11, rcx); __ 1081 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1082 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1083 test/cctest/test-macro-assembler-x64.cc __ SmiMul(rcx, rcx, rdx, &overflow_ok2); __ 1084 test/cctest/test-macro-assembler-x64.cc __ jmp(exit); __ 1085 test/cctest/test-macro-assembler-x64.cc __ bind(&overflow_ok2); __ 1127 test/cctest/test-macro-assembler-x64.cc __ xor_(rax, rax); // Success. __ 1128 test/cctest/test-macro-assembler-x64.cc __ bind(&exit); __ 1130 test/cctest/test-macro-assembler-x64.cc __ ret(0); __ 1149 test/cctest/test-macro-assembler-x64.cc __ Move(r11, Smi::FromInt(x)); __ 1150 test/cctest/test-macro-assembler-x64.cc __ Move(r14, Smi::FromInt(y)); __ 1153 test/cctest/test-macro-assembler-x64.cc __ movq(rcx, r11); __ 1154 test/cctest/test-macro-assembler-x64.cc __ movq(r15, Immediate(id)); __ 1156 test/cctest/test-macro-assembler-x64.cc __ Move(r8, Smi::FromInt(result)); __ 1157 test/cctest/test-macro-assembler-x64.cc __ SmiDiv(r9, rcx, r14, exit); __ 1159 test/cctest/test-macro-assembler-x64.cc __ incq(r15); __ 1160 test/cctest/test-macro-assembler-x64.cc __ cmpq(r9, r8); __ 1161 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1163 test/cctest/test-macro-assembler-x64.cc __ incq(r15); __ 1164 test/cctest/test-macro-assembler-x64.cc __ movq(rcx, r11); __ 1165 test/cctest/test-macro-assembler-x64.cc __ Move(r14, Smi::FromInt(y)); __ 1166 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r11); __ 1167 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1169 test/cctest/test-macro-assembler-x64.cc __ incq(r15); __ 1170 test/cctest/test-macro-assembler-x64.cc __ SmiDiv(rcx, rcx, r14, exit); __ 1172 test/cctest/test-macro-assembler-x64.cc __ incq(r15); __ 1173 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r8); __ 1174 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1177 test/cctest/test-macro-assembler-x64.cc __ movq(r15, Immediate(id + 8)); __ 1180 test/cctest/test-macro-assembler-x64.cc __ movq(rcx, r11); __ 1181 test/cctest/test-macro-assembler-x64.cc __ SmiDiv(r9, rcx, r14, &fail_ok); __ 1182 test/cctest/test-macro-assembler-x64.cc __ jmp(exit); __ 1183 test/cctest/test-macro-assembler-x64.cc __ bind(&fail_ok); __ 1185 test/cctest/test-macro-assembler-x64.cc __ incq(r15); __ 1186 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r11); __ 1187 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1189 test/cctest/test-macro-assembler-x64.cc __ incq(r15); __ 1190 test/cctest/test-macro-assembler-x64.cc __ SmiDiv(rcx, rcx, r14, &fail_ok2); __ 1191 test/cctest/test-macro-assembler-x64.cc __ jmp(exit); __ 1192 test/cctest/test-macro-assembler-x64.cc __ bind(&fail_ok2); __ 1194 test/cctest/test-macro-assembler-x64.cc __ incq(r15); __ 1195 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r11); __ 1196 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1220 test/cctest/test-macro-assembler-x64.cc __ push(r14); __ 1221 test/cctest/test-macro-assembler-x64.cc __ push(r15); __ 1243 test/cctest/test-macro-assembler-x64.cc __ xor_(r15, r15); // Success. __ 1244 test/cctest/test-macro-assembler-x64.cc __ bind(&exit); __ 1245 test/cctest/test-macro-assembler-x64.cc __ movq(rax, r15); __ 1246 test/cctest/test-macro-assembler-x64.cc __ pop(r15); __ 1247 test/cctest/test-macro-assembler-x64.cc __ pop(r14); __ 1249 test/cctest/test-macro-assembler-x64.cc __ ret(0); __ 1264 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(x)); __ 1265 test/cctest/test-macro-assembler-x64.cc __ movq(r11, rcx); __ 1266 test/cctest/test-macro-assembler-x64.cc __ Move(r14, Smi::FromInt(y)); __ 1269 test/cctest/test-macro-assembler-x64.cc __ movq(r15, Immediate(id)); __ 1271 test/cctest/test-macro-assembler-x64.cc __ Move(r8, Smi::FromInt(result)); __ 1272 test/cctest/test-macro-assembler-x64.cc __ SmiMod(r9, rcx, r14, exit); __ 1274 test/cctest/test-macro-assembler-x64.cc __ incq(r15); __ 1275 test/cctest/test-macro-assembler-x64.cc __ cmpq(r9, r8); __ 1276 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1278 test/cctest/test-macro-assembler-x64.cc __ incq(r15); __ 1279 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r11); __ 1280 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1282 test/cctest/test-macro-assembler-x64.cc __ incq(r15); __ 1283 test/cctest/test-macro-assembler-x64.cc __ SmiMod(rcx, rcx, r14, exit); __ 1285 test/cctest/test-macro-assembler-x64.cc __ incq(r15); __ 1286 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r8); __ 1287 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1290 test/cctest/test-macro-assembler-x64.cc __ movq(r15, Immediate(id + 8)); __ 1293 test/cctest/test-macro-assembler-x64.cc __ SmiMod(r9, rcx, r14, &fail_ok); __ 1294 test/cctest/test-macro-assembler-x64.cc __ jmp(exit); __ 1295 test/cctest/test-macro-assembler-x64.cc __ bind(&fail_ok); __ 1297 test/cctest/test-macro-assembler-x64.cc __ incq(r15); __ 1298 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r11); __ 1299 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1301 test/cctest/test-macro-assembler-x64.cc __ incq(r15); __ 1302 test/cctest/test-macro-assembler-x64.cc __ SmiMod(rcx, rcx, r14, &fail_ok2); __ 1303 test/cctest/test-macro-assembler-x64.cc __ jmp(exit); __ 1304 test/cctest/test-macro-assembler-x64.cc __ bind(&fail_ok2); __ 1306 test/cctest/test-macro-assembler-x64.cc __ incq(r15); __ 1307 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r11); __ 1308 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1332 test/cctest/test-macro-assembler-x64.cc __ push(r14); __ 1333 test/cctest/test-macro-assembler-x64.cc __ push(r15); __ 1355 test/cctest/test-macro-assembler-x64.cc __ xor_(r15, r15); // Success. __ 1356 test/cctest/test-macro-assembler-x64.cc __ bind(&exit); __ 1357 test/cctest/test-macro-assembler-x64.cc __ movq(rax, r15); __ 1358 test/cctest/test-macro-assembler-x64.cc __ pop(r15); __ 1359 test/cctest/test-macro-assembler-x64.cc __ pop(r14); __ 1361 test/cctest/test-macro-assembler-x64.cc __ ret(0); __ 1372 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id)); __ 1375 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(x)); __ 1378 test/cctest/test-macro-assembler-x64.cc __ shl(index.reg, Immediate(index.scale)); __ 1379 test/cctest/test-macro-assembler-x64.cc __ Set(r8, static_cast<intptr_t>(x) << i); __ 1380 test/cctest/test-macro-assembler-x64.cc __ cmpq(index.reg, r8); __ 1381 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1382 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1383 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(x)); __ 1386 test/cctest/test-macro-assembler-x64.cc __ shl(rcx, Immediate(index.scale)); __ 1387 test/cctest/test-macro-assembler-x64.cc __ Set(r8, static_cast<intptr_t>(x) << i); __ 1388 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r8); __ 1389 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1390 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1392 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(x)); __ 1395 test/cctest/test-macro-assembler-x64.cc __ shl(index.reg, Immediate(index.scale)); __ 1396 test/cctest/test-macro-assembler-x64.cc __ Set(r8, static_cast<intptr_t>(-x) << i); __ 1397 test/cctest/test-macro-assembler-x64.cc __ cmpq(index.reg, r8); __ 1398 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1399 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1400 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(x)); __ 1403 test/cctest/test-macro-assembler-x64.cc __ shl(rcx, Immediate(index.scale)); __ 1404 test/cctest/test-macro-assembler-x64.cc __ Set(r8, static_cast<intptr_t>(-x) << i); __ 1405 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r8); __ 1406 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1407 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1436 test/cctest/test-macro-assembler-x64.cc __ xor_(rax, rax); // Success. __ 1437 test/cctest/test-macro-assembler-x64.cc __ bind(&exit); __ 1439 test/cctest/test-macro-assembler-x64.cc __ ret(0); __ 1450 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id)); __ 1451 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(x)); __ 1452 test/cctest/test-macro-assembler-x64.cc __ Move(rdx, Smi::FromInt(y)); __ 1453 test/cctest/test-macro-assembler-x64.cc __ xor_(rdx, Immediate(kSmiTagMask)); __ 1454 test/cctest/test-macro-assembler-x64.cc __ SelectNonSmi(r9, rcx, rdx, exit); __ 1456 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1457 test/cctest/test-macro-assembler-x64.cc __ cmpq(r9, rdx); __ 1458 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1460 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1461 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(x)); __ 1462 test/cctest/test-macro-assembler-x64.cc __ Move(rdx, Smi::FromInt(y)); __ 1463 test/cctest/test-macro-assembler-x64.cc __ xor_(rcx, Immediate(kSmiTagMask)); __ 1464 test/cctest/test-macro-assembler-x64.cc __ SelectNonSmi(r9, rcx, rdx, exit); __ 1466 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1467 test/cctest/test-macro-assembler-x64.cc __ cmpq(r9, rcx); __ 1468 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1470 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1472 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(x)); __ 1473 test/cctest/test-macro-assembler-x64.cc __ Move(rdx, Smi::FromInt(y)); __ 1474 test/cctest/test-macro-assembler-x64.cc __ xor_(rcx, Immediate(kSmiTagMask)); __ 1475 test/cctest/test-macro-assembler-x64.cc __ xor_(rdx, Immediate(kSmiTagMask)); __ 1476 test/cctest/test-macro-assembler-x64.cc __ SelectNonSmi(r9, rcx, rdx, &fail_ok); __ 1477 test/cctest/test-macro-assembler-x64.cc __ jmp(exit); __ 1478 test/cctest/test-macro-assembler-x64.cc __ bind(&fail_ok); __ 1511 test/cctest/test-macro-assembler-x64.cc __ xor_(rax, rax); // Success. __ 1512 test/cctest/test-macro-assembler-x64.cc __ bind(&exit); __ 1514 test/cctest/test-macro-assembler-x64.cc __ ret(0); __ 1527 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id)); __ 1529 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(x)); __ 1530 test/cctest/test-macro-assembler-x64.cc __ movq(r11, rcx); __ 1531 test/cctest/test-macro-assembler-x64.cc __ Move(rdx, Smi::FromInt(y)); __ 1532 test/cctest/test-macro-assembler-x64.cc __ Move(r8, Smi::FromInt(result)); __ 1533 test/cctest/test-macro-assembler-x64.cc __ SmiAnd(r9, rcx, rdx); __ 1534 test/cctest/test-macro-assembler-x64.cc __ cmpq(r8, r9); __ 1535 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1537 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1538 test/cctest/test-macro-assembler-x64.cc __ cmpq(r11, rcx); __ 1539 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1541 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1542 test/cctest/test-macro-assembler-x64.cc __ SmiAnd(rcx, rcx, rdx); __ 1543 test/cctest/test-macro-assembler-x64.cc __ cmpq(r8, rcx); __ 1544 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1546 test/cctest/test-macro-assembler-x64.cc __ movq(rcx, r11); __ 1547 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1548 test/cctest/test-macro-assembler-x64.cc __ SmiAndConstant(r9, rcx, Smi::FromInt(y)); __ 1549 test/cctest/test-macro-assembler-x64.cc __ cmpq(r8, r9); __ 1550 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1552 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1553 test/cctest/test-macro-assembler-x64.cc __ cmpq(r11, rcx); __ 1554 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1556 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1557 test/cctest/test-macro-assembler-x64.cc __ SmiAndConstant(rcx, rcx, Smi::FromInt(y)); __ 1558 test/cctest/test-macro-assembler-x64.cc __ cmpq(r8, rcx); __ 1559 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1594 test/cctest/test-macro-assembler-x64.cc __ xor_(rax, rax); // Success. __ 1595 test/cctest/test-macro-assembler-x64.cc __ bind(&exit); __ 1597 test/cctest/test-macro-assembler-x64.cc __ ret(0); __ 1610 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id)); __ 1612 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(x)); __ 1613 test/cctest/test-macro-assembler-x64.cc __ movq(r11, rcx); __ 1614 test/cctest/test-macro-assembler-x64.cc __ Move(rdx, Smi::FromInt(y)); __ 1615 test/cctest/test-macro-assembler-x64.cc __ Move(r8, Smi::FromInt(result)); __ 1616 test/cctest/test-macro-assembler-x64.cc __ SmiOr(r9, rcx, rdx); __ 1617 test/cctest/test-macro-assembler-x64.cc __ cmpq(r8, r9); __ 1618 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1620 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1621 test/cctest/test-macro-assembler-x64.cc __ cmpq(r11, rcx); __ 1622 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1624 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1625 test/cctest/test-macro-assembler-x64.cc __ SmiOr(rcx, rcx, rdx); __ 1626 test/cctest/test-macro-assembler-x64.cc __ cmpq(r8, rcx); __ 1627 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1629 test/cctest/test-macro-assembler-x64.cc __ movq(rcx, r11); __ 1630 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1631 test/cctest/test-macro-assembler-x64.cc __ SmiOrConstant(r9, rcx, Smi::FromInt(y)); __ 1632 test/cctest/test-macro-assembler-x64.cc __ cmpq(r8, r9); __ 1633 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1635 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1636 test/cctest/test-macro-assembler-x64.cc __ cmpq(r11, rcx); __ 1637 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1639 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1640 test/cctest/test-macro-assembler-x64.cc __ SmiOrConstant(rcx, rcx, Smi::FromInt(y)); __ 1641 test/cctest/test-macro-assembler-x64.cc __ cmpq(r8, rcx); __ 1642 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1679 test/cctest/test-macro-assembler-x64.cc __ xor_(rax, rax); // Success. __ 1680 test/cctest/test-macro-assembler-x64.cc __ bind(&exit); __ 1682 test/cctest/test-macro-assembler-x64.cc __ ret(0); __ 1695 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id)); __ 1697 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(x)); __ 1698 test/cctest/test-macro-assembler-x64.cc __ movq(r11, rcx); __ 1699 test/cctest/test-macro-assembler-x64.cc __ Move(rdx, Smi::FromInt(y)); __ 1700 test/cctest/test-macro-assembler-x64.cc __ Move(r8, Smi::FromInt(result)); __ 1701 test/cctest/test-macro-assembler-x64.cc __ SmiXor(r9, rcx, rdx); __ 1702 test/cctest/test-macro-assembler-x64.cc __ cmpq(r8, r9); __ 1703 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1705 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1706 test/cctest/test-macro-assembler-x64.cc __ cmpq(r11, rcx); __ 1707 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1709 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1710 test/cctest/test-macro-assembler-x64.cc __ SmiXor(rcx, rcx, rdx); __ 1711 test/cctest/test-macro-assembler-x64.cc __ cmpq(r8, rcx); __ 1712 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1714 test/cctest/test-macro-assembler-x64.cc __ movq(rcx, r11); __ 1715 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1716 test/cctest/test-macro-assembler-x64.cc __ SmiXorConstant(r9, rcx, Smi::FromInt(y)); __ 1717 test/cctest/test-macro-assembler-x64.cc __ cmpq(r8, r9); __ 1718 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1720 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1721 test/cctest/test-macro-assembler-x64.cc __ cmpq(r11, rcx); __ 1722 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1724 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1725 test/cctest/test-macro-assembler-x64.cc __ SmiXorConstant(rcx, rcx, Smi::FromInt(y)); __ 1726 test/cctest/test-macro-assembler-x64.cc __ cmpq(r8, rcx); __ 1727 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1764 test/cctest/test-macro-assembler-x64.cc __ xor_(rax, rax); // Success. __ 1765 test/cctest/test-macro-assembler-x64.cc __ bind(&exit); __ 1767 test/cctest/test-macro-assembler-x64.cc __ ret(0); __ 1779 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id)); __ 1781 test/cctest/test-macro-assembler-x64.cc __ Move(r8, Smi::FromInt(result)); __ 1782 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(x)); __ 1783 test/cctest/test-macro-assembler-x64.cc __ movq(r11, rcx); __ 1785 test/cctest/test-macro-assembler-x64.cc __ SmiNot(r9, rcx); __ 1786 test/cctest/test-macro-assembler-x64.cc __ cmpq(r9, r8); __ 1787 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1789 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1790 test/cctest/test-macro-assembler-x64.cc __ cmpq(r11, rcx); __ 1791 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1793 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1794 test/cctest/test-macro-assembler-x64.cc __ SmiNot(rcx, rcx); __ 1795 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r8); __ 1796 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1828 test/cctest/test-macro-assembler-x64.cc __ xor_(rax, rax); // Success. __ 1829 test/cctest/test-macro-assembler-x64.cc __ bind(&exit); __ 1831 test/cctest/test-macro-assembler-x64.cc __ ret(0); __ 1844 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id)); __ 1850 test/cctest/test-macro-assembler-x64.cc __ Move(r8, Smi::FromInt(result)); __ 1851 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(x)); __ 1852 test/cctest/test-macro-assembler-x64.cc __ SmiShiftLeftConstant(r9, rcx, shift); __ 1854 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1855 test/cctest/test-macro-assembler-x64.cc __ cmpq(r9, r8); __ 1856 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1858 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1859 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(x)); __ 1860 test/cctest/test-macro-assembler-x64.cc __ SmiShiftLeftConstant(rcx, rcx, shift); __ 1862 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1863 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r8); __ 1864 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1866 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1867 test/cctest/test-macro-assembler-x64.cc __ Move(rdx, Smi::FromInt(x)); __ 1868 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(shift)); __ 1869 test/cctest/test-macro-assembler-x64.cc __ SmiShiftLeft(r9, rdx, rcx); __ 1871 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1872 test/cctest/test-macro-assembler-x64.cc __ cmpq(r9, r8); __ 1873 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1875 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1876 test/cctest/test-macro-assembler-x64.cc __ Move(rdx, Smi::FromInt(x)); __ 1877 test/cctest/test-macro-assembler-x64.cc __ Move(r11, Smi::FromInt(shift)); __ 1878 test/cctest/test-macro-assembler-x64.cc __ SmiShiftLeft(r9, rdx, r11); __ 1880 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1881 test/cctest/test-macro-assembler-x64.cc __ cmpq(r9, r8); __ 1882 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1884 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1885 test/cctest/test-macro-assembler-x64.cc __ Move(rdx, Smi::FromInt(x)); __ 1886 test/cctest/test-macro-assembler-x64.cc __ Move(r11, Smi::FromInt(shift)); __ 1887 test/cctest/test-macro-assembler-x64.cc __ SmiShiftLeft(rdx, rdx, r11); __ 1889 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1890 test/cctest/test-macro-assembler-x64.cc __ cmpq(rdx, r8); __ 1891 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1893 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1925 test/cctest/test-macro-assembler-x64.cc __ xor_(rax, rax); // Success. __ 1926 test/cctest/test-macro-assembler-x64.cc __ bind(&exit); __ 1928 test/cctest/test-macro-assembler-x64.cc __ ret(0); __ 1944 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id)); __ 1949 test/cctest/test-macro-assembler-x64.cc __ Move(r8, Smi::FromInt(static_cast<int>(result))); __ 1950 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(x)); __ 1951 test/cctest/test-macro-assembler-x64.cc __ SmiShiftLogicalRightConstant(r9, rcx, shift, exit); __ 1953 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1954 test/cctest/test-macro-assembler-x64.cc __ cmpq(r9, r8); __ 1955 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1957 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1958 test/cctest/test-macro-assembler-x64.cc __ Move(rdx, Smi::FromInt(x)); __ 1959 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(shift)); __ 1960 test/cctest/test-macro-assembler-x64.cc __ SmiShiftLogicalRight(r9, rdx, rcx, exit); __ 1962 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1963 test/cctest/test-macro-assembler-x64.cc __ cmpq(r9, r8); __ 1964 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1966 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1967 test/cctest/test-macro-assembler-x64.cc __ Move(rdx, Smi::FromInt(x)); __ 1968 test/cctest/test-macro-assembler-x64.cc __ Move(r11, Smi::FromInt(shift)); __ 1969 test/cctest/test-macro-assembler-x64.cc __ SmiShiftLogicalRight(r9, rdx, r11, exit); __ 1971 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1972 test/cctest/test-macro-assembler-x64.cc __ cmpq(r9, r8); __ 1973 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1975 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1979 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(x)); __ 1980 test/cctest/test-macro-assembler-x64.cc __ movq(r11, rcx); __ 1981 test/cctest/test-macro-assembler-x64.cc __ SmiShiftLogicalRightConstant(r9, rcx, shift, &fail_ok); __ 1982 test/cctest/test-macro-assembler-x64.cc __ jmp(exit); __ 1983 test/cctest/test-macro-assembler-x64.cc __ bind(&fail_ok); __ 1985 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1986 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r11); __ 1987 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 1989 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1990 test/cctest/test-macro-assembler-x64.cc __ Move(r8, Smi::FromInt(shift)); __ 1992 test/cctest/test-macro-assembler-x64.cc __ SmiShiftLogicalRight(r9, rcx, r8, &fail_ok3); __ 1993 test/cctest/test-macro-assembler-x64.cc __ jmp(exit); __ 1994 test/cctest/test-macro-assembler-x64.cc __ bind(&fail_ok3); __ 1996 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 1997 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r11); __ 1998 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 2000 test/cctest/test-macro-assembler-x64.cc __ addq(rax, Immediate(3)); __ 2033 test/cctest/test-macro-assembler-x64.cc __ xor_(rax, rax); // Success. __ 2034 test/cctest/test-macro-assembler-x64.cc __ bind(&exit); __ 2036 test/cctest/test-macro-assembler-x64.cc __ ret(0); __ 2052 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id)); __ 2057 test/cctest/test-macro-assembler-x64.cc __ Move(r8, Smi::FromInt(result)); __ 2058 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(x)); __ 2059 test/cctest/test-macro-assembler-x64.cc __ SmiShiftArithmeticRightConstant(rcx, rcx, shift); __ 2061 test/cctest/test-macro-assembler-x64.cc __ cmpq(rcx, r8); __ 2062 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 2064 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2065 test/cctest/test-macro-assembler-x64.cc __ Move(rdx, Smi::FromInt(x)); __ 2066 test/cctest/test-macro-assembler-x64.cc __ Move(r11, Smi::FromInt(shift)); __ 2067 test/cctest/test-macro-assembler-x64.cc __ SmiShiftArithmeticRight(rdx, rdx, r11); __ 2069 test/cctest/test-macro-assembler-x64.cc __ cmpq(rdx, r8); __ 2070 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 2072 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2104 test/cctest/test-macro-assembler-x64.cc __ xor_(rax, rax); // Success. __ 2105 test/cctest/test-macro-assembler-x64.cc __ bind(&exit); __ 2107 test/cctest/test-macro-assembler-x64.cc __ ret(0); __ 2121 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(id)); __ 2125 test/cctest/test-macro-assembler-x64.cc __ Set(r8, result); __ 2126 test/cctest/test-macro-assembler-x64.cc __ Move(rcx, Smi::FromInt(x)); __ 2127 test/cctest/test-macro-assembler-x64.cc __ movq(r11, rcx); __ 2128 test/cctest/test-macro-assembler-x64.cc __ PositiveSmiTimesPowerOfTwoToInteger64(rdx, rcx, power); __ 2129 test/cctest/test-macro-assembler-x64.cc __ cmpq(rdx, r8); __ 2130 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 2131 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2132 test/cctest/test-macro-assembler-x64.cc __ cmpq(r11, rcx); // rcx unchanged. __ 2133 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 2134 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2135 test/cctest/test-macro-assembler-x64.cc __ PositiveSmiTimesPowerOfTwoToInteger64(rcx, rcx, power); __ 2136 test/cctest/test-macro-assembler-x64.cc __ cmpq(rdx, r8); __ 2137 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, exit); __ 2138 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2172 test/cctest/test-macro-assembler-x64.cc __ xor_(rax, rax); // Success. __ 2173 test/cctest/test-macro-assembler-x64.cc __ bind(&exit); __ 2175 test/cctest/test-macro-assembler-x64.cc __ ret(0); __ 2207 test/cctest/test-macro-assembler-x64.cc __ push(r13); __ 2208 test/cctest/test-macro-assembler-x64.cc __ push(r14); __ 2209 test/cctest/test-macro-assembler-x64.cc __ push(rbx); __ 2210 test/cctest/test-macro-assembler-x64.cc __ push(rbp); __ 2211 test/cctest/test-macro-assembler-x64.cc __ push(Immediate(0x100)); // <-- rbp __ 2212 test/cctest/test-macro-assembler-x64.cc __ movq(rbp, rsp); __ 2213 test/cctest/test-macro-assembler-x64.cc __ push(Immediate(0x101)); __ 2214 test/cctest/test-macro-assembler-x64.cc __ push(Immediate(0x102)); __ 2215 test/cctest/test-macro-assembler-x64.cc __ push(Immediate(0x103)); __ 2216 test/cctest/test-macro-assembler-x64.cc __ push(Immediate(0x104)); __ 2217 test/cctest/test-macro-assembler-x64.cc __ push(Immediate(0x105)); // <-- rbx __ 2218 test/cctest/test-macro-assembler-x64.cc __ push(Immediate(0x106)); __ 2219 test/cctest/test-macro-assembler-x64.cc __ push(Immediate(0x107)); __ 2220 test/cctest/test-macro-assembler-x64.cc __ push(Immediate(0x108)); __ 2221 test/cctest/test-macro-assembler-x64.cc __ push(Immediate(0x109)); // <-- rsp __ 2226 test/cctest/test-macro-assembler-x64.cc __ lea(r14, Operand(rsp, 3 * kPointerSize)); __ 2227 test/cctest/test-macro-assembler-x64.cc __ lea(r13, Operand(rbp, -3 * kPointerSize)); __ 2228 test/cctest/test-macro-assembler-x64.cc __ lea(rbx, Operand(rbp, -5 * kPointerSize)); __ 2229 test/cctest/test-macro-assembler-x64.cc __ movl(rcx, Immediate(2)); __ 2230 test/cctest/test-macro-assembler-x64.cc __ movq(r8, reinterpret_cast<uintptr_t>(&data[128]), RelocInfo::NONE); __ 2231 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(1)); __ 2236 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, sp0); // Sanity check. __ 2237 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x109)); __ 2238 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2239 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2243 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(sp0, 2 * kPointerSize)); __ 2244 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x107)); __ 2245 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2246 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2251 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, sp2); // Sanity check. __ 2252 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x107)); __ 2253 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2254 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2256 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(sp2, 2 * kPointerSize)); __ 2257 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x105)); __ 2258 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2259 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2262 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(sp2, -2 * kPointerSize)); __ 2263 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x109)); __ 2264 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2265 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2270 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, sp2c2); // Sanity check. __ 2271 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x105)); __ 2272 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2273 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2275 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(sp2c2, 2 * kPointerSize)); __ 2276 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x103)); __ 2277 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2278 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2281 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(sp2c2, -2 * kPointerSize)); __ 2282 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x107)); __ 2283 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2284 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2290 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, bp0); // Sanity check. __ 2291 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x100)); __ 2292 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2293 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2296 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(bp0, -2 * kPointerSize)); __ 2297 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x102)); __ 2298 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2299 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2304 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, bp2); // Sanity check. __ 2305 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x102)); __ 2306 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2307 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2310 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(bp2, 2 * kPointerSize)); __ 2311 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x100)); __ 2312 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2313 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2315 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(bp2, -2 * kPointerSize)); __ 2316 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x104)); __ 2317 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2318 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2323 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, bp2c4); // Sanity check. __ 2324 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x102)); __ 2325 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2326 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2328 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(bp2c4, 2 * kPointerSize)); __ 2329 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x100)); __ 2330 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2331 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2333 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(bp2c4, -2 * kPointerSize)); __ 2334 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x104)); __ 2335 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2336 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2341 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, bx0); // Sanity check. __ 2342 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x105)); __ 2343 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2344 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2346 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(bx0, 5 * kPointerSize)); __ 2347 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x100)); __ 2348 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2349 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2351 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(bx0, -4 * kPointerSize)); __ 2352 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x109)); __ 2353 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2354 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2359 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, bx2); // Sanity check. __ 2360 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x103)); __ 2361 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2362 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2364 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(bx2, 2 * kPointerSize)); __ 2365 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x101)); __ 2366 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2367 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2370 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(bx2, -2 * kPointerSize)); __ 2371 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x105)); __ 2372 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2373 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2378 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, bx2c2); // Sanity check. __ 2379 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x105)); __ 2380 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2381 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2383 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(bx2c2, 2 * kPointerSize)); __ 2384 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x103)); __ 2385 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2386 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2388 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(bx2c2, -2 * kPointerSize)); __ 2389 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x107)); __ 2390 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2391 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2396 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, r80); // Sanity check. __ 2397 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x80808080)); __ 2398 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2399 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2401 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(r80, -8 * kIntSize)); __ 2402 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x78787878)); __ 2403 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2404 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2406 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(r80, 8 * kIntSize)); __ 2407 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x88888888)); __ 2408 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2409 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2411 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(r80, -64 * kIntSize)); __ 2412 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x40404040)); __ 2413 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2414 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2416 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(r80, 64 * kIntSize)); __ 2417 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0xC0C0C0C0)); __ 2418 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2419 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2424 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, r88); // Sanity check. __ 2425 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x88888888)); __ 2426 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2427 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2429 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(r88, -8 * kIntSize)); __ 2430 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x80808080)); __ 2431 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2432 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2434 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(r88, 8 * kIntSize)); __ 2435 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x90909090)); __ 2436 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2437 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2439 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(r88, -64 * kIntSize)); __ 2440 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x48484848)); __ 2441 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2442 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2444 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(r88, 64 * kIntSize)); __ 2445 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0xC8C8C8C8)); __ 2446 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2447 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2453 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, r864); // Sanity check. __ 2454 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0xC0C0C0C0)); __ 2455 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2456 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2458 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(r864, -8 * kIntSize)); __ 2459 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0xB8B8B8B8)); __ 2460 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2461 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2463 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(r864, 8 * kIntSize)); __ 2464 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0xC8C8C8C8)); __ 2465 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2466 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2468 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(r864, -64 * kIntSize)); __ 2469 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x80808080)); __ 2470 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2471 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2473 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(r864, 32 * kIntSize)); __ 2474 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0xE0E0E0E0)); __ 2475 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2476 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2479 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(r864, -60 * kIntSize)); __ 2480 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x84848484)); __ 2481 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2482 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2484 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(r864, 60 * kIntSize)); __ 2485 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0xFCFCFCFC)); __ 2486 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2487 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2492 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(r80, 2)); __ 2493 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x81818080)); __ 2494 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2495 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2497 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(r80, -2)); __ 2498 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x80807F7F)); __ 2499 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2500 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2502 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(r80, 126)); __ 2503 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0xA0A09F9F)); __ 2504 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2505 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2507 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(r80, -126)); __ 2508 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x61616060)); __ 2509 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2510 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2512 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(r80, 254)); __ 2513 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0xC0C0BFBF)); __ 2514 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2515 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2517 test/cctest/test-macro-assembler-x64.cc __ movl(rdx, Operand(r80, -254)); __ 2518 test/cctest/test-macro-assembler-x64.cc __ cmpl(rdx, Immediate(0x41414040)); __ 2519 test/cctest/test-macro-assembler-x64.cc __ j(not_equal, &exit); __ 2520 test/cctest/test-macro-assembler-x64.cc __ incq(rax); __ 2524 test/cctest/test-macro-assembler-x64.cc __ movl(rax, Immediate(0)); __ 2525 test/cctest/test-macro-assembler-x64.cc __ bind(&exit); __ 2526 test/cctest/test-macro-assembler-x64.cc __ lea(rsp, Operand(rbp, kPointerSize)); __ 2527 test/cctest/test-macro-assembler-x64.cc __ pop(rbp); __ 2528 test/cctest/test-macro-assembler-x64.cc __ pop(rbx); __ 2529 test/cctest/test-macro-assembler-x64.cc __ pop(r14); __ 2530 test/cctest/test-macro-assembler-x64.cc __ pop(r13); __ 2532 test/cctest/test-macro-assembler-x64.cc __ ret(0);