Lines Matching defs:rdi

86   __ LoadRoot(rdi, Heap::kUndefinedValueRootIndex);
93 __ movq(FieldOperand(rax, JSFunction::kNextFunctionLinkOffset), rdi);
507 __ LoadAddress(rdi, ExternalReference::isolate_address());
599 // Overwrites the contents of rdi, rbx and rcx. Result cannot be rdi or rbx.
605 ASSERT(!result.is(rdi) && !result.is(rbx));
609 Register double_value = rdi;
1140 FloatingPointHelper::NumbersToSmis(masm, left, right, rbx, rdi, rcx,
1563 __ movl(rdi, rdx);
1568 __ xorl(rax, rdi);
1625 __ AllocateHeapNumber(rax, rdi, &runtime_call_clear_stack);
1627 __ AllocateHeapNumber(rax, rdi, &skip_cache);
1671 __ AllocateHeapNumber(rax, rdi, &skip_cache);
1715 __ movq(rdi, rbx);
1717 __ shr(rdi, Immediate(HeapNumber::kMantissaBits));
1719 __ andl(rdi, Immediate((1 << HeapNumber::kExponentBits) - 1));
1721 __ cmpl(rdi, Immediate(supported_exponent_limit));
1724 __ cmpl(rdi, Immediate(0x7ff));
1740 __ movq(rdi, rax); // Save rax before using fnstsw_ax.
1773 __ movq(rax, rdi); // Restore rax, pointer to the new HeapNumber.
1815 IntegerConvert(masm, rcx, rax); // Uses rdi, rcx and rbx.
1819 IntegerConvert(masm, rdx, rdx); // Uses rdi, rcx and rbx.
2003 const Register exponent = rdi;
2378 __ AllocateInNewSpace(r8, rax, rdx, rdi, &runtime, TAG_OBJECT);
2382 // Get the arguments boilerplate from the current (global) context into rdi.
2384 __ movq(rdi, Operand(rsi, Context::SlotOffset(Context::GLOBAL_INDEX)));
2385 __ movq(rdi, FieldOperand(rdi, GlobalObject::kGlobalContextOffset));
2390 __ movq(rdi, Operand(rdi, Context::SlotOffset(kIndex)));
2395 __ movq(rdi, Operand(rdi, Context::SlotOffset(kAliasedIndex)));
2401 // rdi = address of boilerplate object (tagged)
2404 __ movq(rdx, FieldOperand(rdi, i));
2426 __ lea(rdi, Operand(rax, Heap::kArgumentsObjectSize));
2427 __ movq(FieldOperand(rax, JSObject::kElementsOffset), rdi);
2432 // rdi = address of parameter map or backing store (tagged)
2441 __ movq(FieldOperand(rdi, FixedArray::kMapOffset), kScratchRegister);
2443 __ movq(FieldOperand(rdi, FixedArray::kLengthOffset), r9);
2444 __ movq(FieldOperand(rdi, FixedArray::kHeaderSize + 0 * kPointerSize), rsi);
2445 __ lea(r9, Operand(rdi, rbx, times_pointer_size, kParameterMapHeaderSize));
2446 __ movq(FieldOperand(rdi, FixedArray::kHeaderSize + 1 * kPointerSize), r9);
2464 __ movq(rdx, rdi);
2465 __ lea(rdi, Operand(rdi, rbx, times_pointer_size, kParameterMapHeaderSize));
2470 // rdi = address of backing store (tagged)
2480 __ movq(FieldOperand(rdi, kScratchRegister,
2492 // rdi = address of backing store (tagged)
2494 __ Move(FieldOperand(rdi, FixedArray::kMapOffset),
2496 __ movq(FieldOperand(rdi, FixedArray::kLengthOffset), rcx);
2510 __ movq(FieldOperand(rdi, r8,
2599 __ movq(rdi, Operand(rsi, Context::SlotOffset(Context::GLOBAL_INDEX)));
2600 __ movq(rdi, FieldOperand(rdi, GlobalObject::kGlobalContextOffset));
2603 __ movq(rdi, Operand(rdi, offset));
2607 __ movq(rbx, FieldOperand(rdi, i));
2628 __ lea(rdi, Operand(rax, Heap::kArgumentsObjectSizeStrict));
2629 __ movq(FieldOperand(rax, JSObject::kElementsOffset), rdi);
2631 __ movq(FieldOperand(rdi, FixedArray::kMapOffset), kScratchRegister);
2634 __ movq(FieldOperand(rdi, FixedArray::kLengthOffset), rcx);
2642 __ movq(FieldOperand(rdi, FixedArray::kHeaderSize), rbx);
2643 __ addq(rdi, Immediate(kPointerSize));
2723 __ movq(rdi, Operand(rsp, kSubjectOffset));
2724 __ JumpIfSmi(rdi, &runtime);
2725 Condition is_string = masm->IsObjectStringType(rdi, rbx, rbx);
2728 // rdi: Subject string.
2735 __ SmiCompare(rbx, FieldOperand(rdi, String::kLengthOffset));
2741 __ movq(rdi, Operand(rsp, kLastMatchInfoOffset));
2742 __ JumpIfSmi(rdi, &runtime);
2743 __ CmpObjectType(rdi, JS_ARRAY_TYPE, kScratchRegister);
2746 __ movq(rbx, FieldOperand(rdi, JSArray::kElementsOffset));
2747 __ movq(rdi, FieldOperand(rbx, HeapObject::kMapOffset));
2754 __ SmiToInteger32(rdi, FieldOperand(rbx, FixedArray::kLengthOffset));
2756 __ cmpl(rdx, rdi);
2764 __ movq(rdi, Operand(rsp, kSubjectOffset));
2766 __ movq(r15, rdi);
2767 __ movq(rbx, FieldOperand(rdi, HeapObject::kMapOffset));
2806 __ SmiToInteger32(r14, FieldOperand(rdi, SlicedString::kOffsetOffset));
2807 __ movq(rdi, FieldOperand(rdi, SlicedString::kParentOffset));
2810 // rdi: parent string
2814 __ CompareRoot(FieldOperand(rdi, ConsString::kSecondOffset),
2817 __ movq(rdi, FieldOperand(rdi, ConsString::kFirstOffset));
2818 // rdi: first part of cons string or parent of sliced string.
2822 __ movq(rbx, FieldOperand(rdi, HeapObject::kMapOffset));
2833 // rdi: subject string (sequential ASCII)
2840 // rdi: subject string (flat two-byte)
2851 // rdi: subject string
2858 // rdi: subject string
2911 Register arg1 = rdi;
2915 // rdi: subject string
2939 __ lea(arg4, FieldOperand(rdi, r14, times_1, SeqAsciiString::kHeaderSize));
2940 __ lea(arg3, FieldOperand(rdi, rbx, times_1, SeqAsciiString::kHeaderSize));
2943 __ lea(arg4, FieldOperand(rdi, r14, times_2, SeqTwoByteString::kHeaderSize));
2944 __ lea(arg3, FieldOperand(rdi, rbx, times_2, SeqTwoByteString::kHeaderSize));
3002 rdi,
3009 rdi,
3026 __ movl(rdi, Operand(rcx, rdx, times_int_size, 0));
3027 __ Integer32ToSmi(rdi, rdi);
3033 rdi);
3065 // rdi: subject string (expected to be external)
3068 __ movq(rbx, FieldOperand(rdi, HeapObject::kMapOffset));
3076 __ movq(rdi, FieldOperand(rdi, ExternalString::kResourceDataOffset));
3079 __ subq(rdi, Immediate(SeqTwoByteString::kHeaderSize - kHeapObjectTag));
3501 rdi,
3597 // rdi : the function to call
3606 __ cmpq(rcx, rdi);
3623 __ movq(FieldOperand(rbx, JSGlobalPropertyCell::kValueOffset), rdi);
3631 // rdi : the function to call
3654 __ JumpIfSmi(rdi, &non_function);
3656 __ CmpObjectType(rdi, JS_FUNCTION_TYPE, rcx);
3666 __ InvokeFunction(rdi,
3673 __ InvokeFunction(rdi,
3685 __ push(rdi); // put proxy as additional argument under return address
3700 __ movq(Operand(rsp, (argc_ + 1) * kPointerSize), rdi);
3714 // rdi : constructor function
3718 __ JumpIfSmi(rdi, &non_function_call);
3720 __ CmpObjectType(rdi, JS_FUNCTION_TYPE, rcx);
3728 __ movq(rbx, FieldOperand(rdi, JSFunction::kSharedFunctionInfoOffset));
3733 // rdi: called object
3820 __ movq(rdi, rax);
3856 // GCC passes arguments in rdi, rsi, rdx, rcx, r8, r9.
3857 __ movq(rdi, r14); // argc.
4038 __ push(rdi); // Only callee save in Win64 ABI, argument in AMD64 ABI.
4137 __ pop(rdi);
4169 // movq(rdi, FieldOperand(rax, HeapObject::kMapOffset))
4233 __ movl(rdi, Immediate(kWordBeforeMapCheckValue));
4234 __ cmpl(Operand(kScratchRegister, kOffsetToMapCheckValue - 4), rdi);
4534 GenerateConvertArgument(masm, 2 * kPointerSize, rax, rbx, rcx, rdi,
4539 GenerateConvertArgument(masm, 1 * kPointerSize, rdx, rbx, rcx, rdi,
4606 masm, rbx, rcx, r14, r11, rdi, r15, &make_two_character_string);
4611 __ Set(rdi, 2);
4612 __ AllocateAsciiString(rax, rdi, r8, r9, r11, &call_runtime);
4649 __ AllocateAsciiConsString(rcx, rdi, no_reg, &call_runtime);
4674 __ AllocateTwoByteConsString(rcx, rdi, no_reg, &call_runtime);
4737 __ AllocateAsciiString(rax, rbx, rdi, r8, r9, &call_runtime);
4754 __ AllocateTwoByteString(rax, rbx, rdi, r8, r9, &call_runtime);
4857 ASSERT(dest.is(rdi)); // rep movs destination
5146 __ movzxbq(rdi,
5152 masm, rbx, rdi, r9, r11, r14, r15, &make_two_character_string);
5185 __ movq(rdi, FieldOperand(rax, ConsString::kFirstOffset));
5187 __ movq(rbx, FieldOperand(rdi, HeapObject::kMapOffset));
5194 __ movq(rdi, FieldOperand(rax, SlicedString::kParentOffset));
5196 __ movq(rbx, FieldOperand(rdi, HeapObject::kMapOffset));
5202 __ movq(rdi, rax);
5208 // rdi: underlying subject string
5236 __ movq(FieldOperand(rax, SlicedString::kParentOffset), rdi);
5244 // rdi: underlying subject string
5261 __ movq(rdi, FieldOperand(rdi, ExternalString::kResourceDataOffset));
5264 __ subq(rdi, Immediate(SeqTwoByteString::kHeaderSize - kHeapObjectTag));
5279 __ lea(rsi, Operand(rdi, smi_as_index.reg, smi_as_index.scale,
5283 __ lea(rdi, FieldOperand(rax, SeqAsciiString::kHeaderSize));
5287 // rdi: first character of result
5290 StringHelper::GenerateCopyCharactersREP(masm, rdi, rsi, rcx, true);
5304 __ lea(rsi, Operand(rdi, smi_as_index.reg, smi_as_index.scale,
5308 __ lea(rdi, FieldOperand(rax, SeqTwoByteString::kHeaderSize));
5312 // rdi: first character of result
5315 StringHelper::GenerateCopyCharactersREP(masm, rdi, rsi, rcx, false);
5493 GenerateCompareFlatAsciiStrings(masm, rdx, rax, rcx, rbx, rdi, r8);
5637 Register tmp3 = rdi;
5767 __ lea(rdi, FieldOperand(rax, Code::kHeaderSize));
5773 __ jmp(rdi);
5998 { REG(rbx), REG(rax), REG(rdi), EMIT_REMEMBERED_SET },
6014 { REG(rdi), REG(rbx), REG(rcx), EMIT_REMEMBERED_SET},
6015 { REG(rdx), REG(rdi), REG(rbx), EMIT_REMEMBERED_SET},
6019 { REG(rdx), REG(rbx), REG(rdi), EMIT_REMEMBERED_SET},
6020 { REG(rdx), REG(rbx), REG(rdi), OMIT_REMEMBERED_SET},
6160 Register arg1 = rdi;
6281 // -- rdi : map of array literal
6293 __ CheckFastElements(rdi, &double_elements);
6297 __ CheckFastSmiOnlyElements(rdi, &fast_elements);
6303 __ pop(rdi); // Pop return address and remember to put back later for tail
6311 __ push(rdi); // Return return address so that tail call returns to right