__ 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);