Lines Matching defs:rcx

26   __ popq(rcx);
30 __ pushq(rcx);
123 // Since we must use rcx for shifts below, use some other register (rax)
125 Register result_reg = final_result_reg.is(rcx) ? rax : final_result_reg;
129 Register save_reg = final_result_reg.is(rcx) ? rax : rcx;
136 __ movl(rcx, exponent_operand);
137 if (stash_exponent_copy) __ pushq(rcx);
139 __ andl(rcx, Immediate(HeapNumber::kExponentMask));
140 __ shrl(rcx, Immediate(HeapNumber::kExponentShift));
141 __ leal(result_reg, MemOperand(rcx, -HeapNumber::kExponentBias));
147 __ subl(rcx, Immediate(delta));
149 __ cmpl(rcx, Immediate(31));
175 DCHECK(final_result_reg.is(rcx));
188 __ LoadRoot(rcx, Heap::kHeapNumberMapRootIndex);
190 __ cmpp(FieldOperand(rdx, HeapObject::kMapOffset), rcx);
197 __ cmpp(FieldOperand(rax, HeapObject::kMapOffset), rcx);
218 const Register scratch = rcx;
450 __ AllocateHeapNumber(rax, rcx, &call_runtime);
659 __ Set(rcx, 1); // Type is one byte.
671 // rcx: encoding of subject string (1 if one_byte, 0 if two_byte);
686 // rcx: encoding of subject string (1 if one_byte 0 if two_byte);
735 // rcx: encoding of subject string (1 if one_byte 0 if two_byte);
755 __ testb(rcx, rcx); // Last use of rcx as encoding of subject string.
803 __ movp(rcx, FieldOperand(rax, JSRegExp::kDataOffset));
805 FieldOperand(rcx, JSRegExp::kIrregexpCaptureCountOffset));
837 __ movp(rcx, rax);
843 __ movp(rax, rcx);
853 rcx, ExternalReference::address_of_static_offsets_vector(isolate()));
856 // rcx: offsets vector
865 __ movl(rdi, Operand(rcx, rdx, times_int_size, 0));
931 __ Set(rcx, 0); // Type is two byte.
1038 __ movp(rcx, FieldOperand(rax, HeapObject::kMapOffset));
1039 __ movzxbl(rcx, FieldOperand(rcx, Map::kInstanceTypeOffset));
1041 __ cmpb(rcx, Immediate(static_cast<uint8_t>(FIRST_JS_RECEIVER_TYPE)));
1044 __ cmpb(rcx, Immediate(static_cast<uint8_t>(SYMBOL_TYPE)));
1047 __ cmpb(rcx, Immediate(static_cast<uint8_t>(SIMD128_VALUE_TYPE)));
1104 __ CmpObjectType(rax, FIRST_JS_RECEIVER_TYPE, rcx);
1114 __ CmpInstanceType(rcx, ODDBALL_TYPE);
1117 __ CmpObjectType(rdx, FIRST_JS_RECEIVER_TYPE, rcx);
1121 __ CmpInstanceType(rcx, ODDBALL_TYPE);
1134 __ xorl(rcx, rcx);
1141 __ setcc(below, rcx);
1142 __ subp(rax, rcx);
1175 __ JumpIfNotBothSequentialOneByteStrings(rdx, rax, rcx, rbx,
1180 StringHelper::GenerateFlatOneByteStringEquals(masm, rdx, rax, rcx, rbx);
1182 StringHelper::GenerateCompareFlatOneByteStrings(masm, rdx, rax, rcx, rbx,
1201 __ leap(rcx, Operand(rax, rdx, times_1, 0));
1202 __ testb(rcx, Immediate(kSmiTagMask));
1206 __ movp(rcx, FieldOperand(rdx, HeapObject::kMapOffset));
1210 __ testb(FieldOperand(rcx, Map::kBitFieldOffset),
1216 __ CmpInstanceType(rcx, FIRST_JS_RECEIVER_TYPE);
1224 __ testb(FieldOperand(rcx, Map::kBitFieldOffset),
1233 __ CmpInstanceType(rcx, ODDBALL_TYPE);
1256 __ PopReturnAddressTo(rcx);
1260 __ PushReturnAddressFrom(rcx);
1426 __ movp(rcx, FieldOperand(rdi, JSFunction::kSharedFunctionInfoOffset));
1427 __ movp(rcx, FieldOperand(rcx, SharedFunctionInfo::kConstructStubOffset));
1428 __ leap(rcx, FieldOperand(rcx, Code::kHeaderSize));
1429 __ jmp(rcx);
1441 // rcx - allocation site (loaded from vector[slot]).
1453 __ movp(rbx, rcx);
1474 __ movp(rcx,
1491 __ cmpp(rdi, FieldOperand(rcx, WeakCell::kValueOffset));
1512 __ Cmp(rcx, TypeFeedbackVector::MegamorphicSentinel(isolate));
1516 __ CompareRoot(FieldOperand(rcx, HeapObject::kMapOffset),
1531 __ Cmp(rcx, TypeFeedbackVector::UninitializedSentinel(isolate));
1536 __ AssertNotSmi(rcx);
1537 __ CmpObjectType(rcx, JS_FUNCTION_TYPE, rcx);
1553 __ CmpObjectType(rdi, JS_FUNCTION_TYPE, rcx);
1558 __ LoadNativeContextSlot(Context::ARRAY_FUNCTION_INDEX, rcx);
1559 __ cmpp(rdi, rcx);
1563 __ movp(rcx, FieldOperand(rdi, JSFunction::kContextOffset));
1564 __ movp(rcx, ContextOperand(rcx, Context::NATIVE_CONTEXT_INDEX));
1565 __ cmpp(rcx, NativeContextOperand());
1663 // Windows 64-bit ABI passes arguments in rcx, rdx, r8, r9. It requires the
1667 const Register kCCallArg0 = rcx;
1674 // GCC / Clang passes arguments in rdi, rsi, rdx, rcx, r8, r9. Simple results
1681 const Register kCCallArg3 = rcx;
2165 __ movp(rcx, args.GetArgumentOperand(TO_ARGUMENT_INDEX));
2167 __ JumpUnlessBothNonNegativeSmi(rcx, rdx, &runtime);
2169 __ SmiSub(rcx, rcx, rdx); // Overflow doesn't happen.
2170 __ cmpp(rcx, FieldOperand(rax, String::kLengthOffset));
2183 __ SmiCompare(rcx, Smi::FromInt(1));
2186 __ SmiToInteger32(rcx, rcx);
2190 // rcx: sub string length
2234 // rcx: length
2237 __ cmpp(rcx, Immediate(SlicedString::kMinLength));
2255 __ Integer32ToSmi(rcx, rcx);
2256 __ movp(FieldOperand(rax, SlicedString::kLengthOffset), rcx);
2270 // rcx: length
2295 __ AllocateOneByteString(rax, rcx, r11, r14, r15, &runtime);
2298 // rcx: result string length
2308 // rcx: result length
2312 masm, rdi, r14, rcx, String::ONE_BYTE_ENCODING);
2318 __ AllocateTwoByteString(rax, rcx, r11, r14, r15, &runtime);
2321 // rcx: result string length
2331 // rcx: result length
2335 masm, rdi, r14, rcx, String::TWO_BYTE_ENCODING);
2346 // rcx: sub string length (smi)
2348 StringCharAtGenerator generator(rax, rdx, rcx, rax, &runtime, &runtime,
2383 __ PopReturnAddressTo(rcx); // Pop return address.
2385 __ PushReturnAddressFrom(rcx); // Push return address.
2418 __ PopReturnAddressTo(rcx); // Pop return address.
2420 __ PushReturnAddressFrom(rcx); // Push return address.
2568 // Load rcx with the allocation site. We stick an undefined dummy value here
2571 __ Move(rcx, isolate()->factory()->undefined_value());
2575 __ testb(rcx, Immediate(kSmiTagMask));
2577 __ Cmp(FieldOperand(rcx, HeapObject::kMapOffset),
2596 __ movp(rcx, FieldOperand(rdx, HeapObject::kMapOffset));
2599 __ JumpIfNotRoot(rcx, Heap::kBooleanMapRootIndex, &miss, miss_distance);
2664 __ SmiToInteger32(rcx, rax); // Can't clobber rax yet.
2665 __ Cvtlsi2sd(xmm1, rcx);
2674 __ SmiToInteger32(rcx, rdx); // Can't clobber rdx yet.
2675 __ Cvtlsi2sd(xmm0, rcx);
2687 __ movl(rcx, Immediate(0));
2689 __ sbbp(rax, rcx); // Subtract one if below (aka. carry set).
2703 __ CmpObjectType(rdx, HEAP_NUMBER_TYPE, rcx);
2726 Register tmp1 = rcx;
2769 Register tmp1 = rcx;
2814 Register tmp1 = rcx;
2907 __ CmpObjectType(rax, FIRST_JS_RECEIVER_TYPE, rcx);
2909 __ CmpObjectType(rdx, FIRST_JS_RECEIVER_TYPE, rcx);
2937 __ PopReturnAddressTo(rcx);
2941 __ PushReturnAddressFrom(rcx);
3371 __ PopReturnAddressTo(rcx);
3375 __ jmp(rcx); // Return to IC Miss stub, continuation still on stack.
3475 Register name = LoadWithVectorDescriptor::NameRegister(); // rcx
3530 Register key = LoadWithVectorDescriptor::NameRegister(); // rcx
3614 Register key = VectorStoreICDescriptor::NameRegister(); // rcx
3725 Register key = VectorStoreICDescriptor::NameRegister(); // rcx
3886 __ movp(rcx, args.GetArgumentOperand(0));
3887 __ testp(rcx, rcx);
4022 __ movp(rcx, FieldOperand(rdi, JSFunction::kPrototypeOrInitialMapOffset));
4025 Condition not_smi = NegateCondition(masm->CheckSmi(rcx));
4027 __ CmpObjectType(rcx, MAP_TYPE, rcx);
4080 __ PopReturnAddressTo(rcx);
4083 __ PushReturnAddressFrom(rcx);
4106 __ movp(rcx, args.GetArgumentOperand(0));
4107 __ testp(rcx, rcx);
4138 __ movp(rcx, FieldOperand(rdi, JSFunction::kPrototypeOrInitialMapOffset));
4141 Condition not_smi = NegateCondition(masm->CheckSmi(rcx));
4143 __ CmpObjectType(rcx, MAP_TYPE, rcx);
4148 __ movp(rcx, FieldOperand(rdi, JSFunction::kPrototypeOrInitialMapOffset));
4152 __ movzxbp(rcx, FieldOperand(rcx, Map::kBitField2Offset));
4154 __ DecodeField<Map::ElementsKindBits>(rcx);
4158 __ cmpl(rcx, Immediate(FAST_ELEMENTS));
4160 __ cmpl(rcx, Immediate(FAST_HOLEY_ELEMENTS));
4167 __ cmpl(rcx, Immediate(FAST_ELEMENTS));
4192 __ movp(rcx, FieldOperand(rdx, JSFunction::kPrototypeOrInitialMapOffset));
4193 __ JumpIfSmi(rcx, &new_object);
4194 __ CmpObjectType(rcx, MAP_TYPE, rbx);
4199 __ cmpp(rdi, FieldOperand(rcx, Map::kConstructorOrBackPointerOffset));
4204 __ movzxbl(rbx, FieldOperand(rcx, Map::kInstanceSizeOffset));
4210 __ movp(FieldOperand(rax, JSObject::kMapOffset), rcx);
4221 // -- rcx : initial map
4230 __ testl(FieldOperand(rcx, Map::kBitField3Offset),
4242 __ subl(FieldOperand(rcx, Map::kBitField3Offset),
4246 __ movzxbl(rdx, FieldOperand(rcx, Map::kUnusedPropertyFieldsOffset));
4258 __ testl(FieldOperand(rcx, Map::kBitField3Offset),
4268 __ Push(rcx);
4280 __ Push(rcx);
4283 __ Pop(rcx);
4285 __ movzxbl(rbx, FieldOperand(rcx, Map::kInstanceSizeOffset));
4293 __ PopReturnAddressTo(rcx);
4296 __ PushReturnAddressFrom(rcx);
4336 __ movp(rcx, FieldOperand(rdi, JSFunction::kSharedFunctionInfoOffset));
4338 rcx, rcx, SharedFunctionInfo::kFormalParameterCountOffset);
4341 __ subl(rax, rcx);
4354 __ Allocate(JSArray::kSize, rax, rdx, rcx, &allocate, NO_ALLOCATION_FLAGS);
4358 __ LoadNativeContextSlot(Context::JS_ARRAY_FAST_ELEMENTS_MAP_INDEX, rcx);
4359 __ movp(FieldOperand(rax, JSArray::kMapOffset), rcx);
4360 __ LoadRoot(rcx, Heap::kEmptyFixedArrayRootIndex);
4361 __ movp(FieldOperand(rax, JSArray::kPropertiesOffset), rcx);
4362 __ movp(FieldOperand(rax, JSArray::kElementsOffset), rcx);
4394 __ leal(rcx, Operand(rax, times_pointer_size,
4396 __ Allocate(rcx, rdx, r8, no_reg, &allocate, NO_ALLOCATION_FLAGS);
4403 __ LoadRoot(rcx, Heap::kFixedArrayMapRootIndex);
4404 __ movp(FieldOperand(rdx, FixedArray::kMapOffset), rcx);
4408 __ Set(rcx, 0);
4410 __ cmpl(rcx, rax);
4414 FieldOperand(rdx, rcx, times_pointer_size, FixedArray::kHeaderSize),
4417 __ addl(rcx, Immediate(1));
4425 __ LoadNativeContextSlot(Context::JS_ARRAY_FAST_ELEMENTS_MAP_INDEX, rcx);
4426 __ movp(FieldOperand(rax, JSArray::kMapOffset), rcx);
4427 __ LoadRoot(rcx, Heap::kEmptyFixedArrayRootIndex);
4428 __ movp(FieldOperand(rax, JSArray::kPropertiesOffset), rcx);
4437 __ cmpl(rcx, Immediate(Page::kMaxRegularHeapObjectSize));
4442 __ Integer32ToSmi(rcx, rcx);
4445 __ Push(rcx);
4489 __ movp(rcx, FieldOperand(rdi, JSFunction::kSharedFunctionInfoOffset));
4491 rcx, rcx, SharedFunctionInfo::kFormalParameterCountOffset);
4492 __ leap(rdx, Operand(r9, rcx, times_pointer_size,
4494 __ Integer32ToSmi(rcx, rcx);
4496 // rcx : number of parameters (tagged)
4506 __ SmiToInteger64(rbx, rcx);
4629 __ addp(r8, rcx);
4631 __ movp(rcx, rdi);
4636 // rcx = address of parameter map (tagged)
4643 __ movp(FieldOperand(rcx, r9, times_pointer_size, kParameterMapHeaderSize),
4757 __ leal(rcx, Operand(rax, times_pointer_size, JSStrictArgumentsObject::kSize +
4759 __ Allocate(rcx, rdx, r8, no_reg, &allocate, NO_ALLOCATION_FLAGS);
4766 __ LoadRoot(rcx, Heap::kFixedArrayMapRootIndex);
4767 __ movp(FieldOperand(rdx, FixedArray::kMapOffset), rcx);
4771 __ Set(rcx, 0);
4773 __ cmpl(rcx, rax);
4777 FieldOperand(rdx, rcx, times_pointer_size, FixedArray::kHeaderSize),
4780 __ addl(rcx, Immediate(1));
4788 __ LoadNativeContextSlot(Context::STRICT_ARGUMENTS_MAP_INDEX, rcx);
4789 __ movp(FieldOperand(rax, JSStrictArgumentsObject::kMapOffset), rcx);
4790 __ LoadRoot(rcx, Heap::kEmptyFixedArrayRootIndex);
4791 __ movp(FieldOperand(rax, JSStrictArgumentsObject::kPropertiesOffset), rcx);
4800 __ cmpl(rcx, Immediate(Page::kMaxRegularHeapObjectSize));
4805 __ Integer32ToSmi(rcx, rcx);
4808 __ Push(rcx);
4959 // rcx (rcx must be preserverd until CallApiFunctionAndReturn). Saves
5077 Register map = rcx;
5110 __ PopReturnAddressTo(rcx);
5112 __ jmp(rcx);
5137 // -- rcx : holder
5150 Register holder = rcx;
5219 Register arguments_arg = rcx;
5258 Register name_arg = rcx;