Lines Matching defs:rcx

72     __ movq(rcx, rax);
80 static_assert(kJavaScriptCallCodeStartRegister == rcx, "ABI mismatch");
81 __ JumpCodeTObject(rcx, jump_mode);
127 __ SmiTag(rcx, rax);
129 __ Push(rcx);
142 Generate_PushArguments(masm, rbx, rax, rcx, ArgumentsElementType::kRaw);
159 __ DropArguments(rbx, rcx, MacroAssembler::kCountIsSmi,
190 __ SmiTag(rcx, rax);
192 __ Push(rcx);
270 Generate_PushArguments(masm, rbx, rax, rcx, ArgumentsElementType::kRaw);
313 __ DropArguments(rbx, rcx, MacroAssembler::kCountIsSmi,
324 __ CmpObjectType(rax, FIRST_JS_RECEIVER_TYPE, rcx);
570 // rcx : root_register_value
581 // rcx : receiver
646 Generate_PushArguments(masm, rbx, rax, rcx, ArgumentsElementType::kHandle);
784 rcx, FieldOperand(rdi, JSFunction::kSharedFunctionInfoOffset));
786 rcx, FieldOperand(rcx, SharedFunctionInfo::kFormalParameterCountOffset));
787 __ decq(rcx); // Exclude receiver.
794 __ decq(rcx);
797 FieldOperand(rbx, rcx, times_tagged_size, FixedArray::kHeaderSize),
812 rcx, FieldOperand(rdi, JSFunction::kSharedFunctionInfoOffset));
814 rcx, FieldOperand(rcx, SharedFunctionInfo::kFunctionDataOffset));
815 GetSharedFunctionInfoBytecodeOrBaseline(masm, rcx, kScratchRegister,
817 __ CmpObjectType(rcx, BYTECODE_ARRAY_TYPE, rcx);
822 __ CmpObjectType(rcx, CODET_TYPE, rcx);
838 static_assert(kJavaScriptCallCodeStartRegister == rcx, "ABI mismatch");
839 __ LoadTaggedPointerField(rcx, FieldOperand(rdi, JSFunction::kCodeOffset));
840 __ JumpCodeTObject(rcx);
1013 static_assert(kJavaScriptCallCodeStartRegister == rcx, "ABI mismatch");
1014 __ Move(rcx, optimized_code_entry);
1015 __ JumpCodeTObject(rcx, jump_mode);
1208 __ LoadMap(rcx, feedback_vector);
1209 __ CmpInstanceType(rcx, FEEDBACK_VECTOR_TYPE);
1214 Register optimization_state = rcx;
1244 __ SmiTag(rcx, kInterpreterBytecodeOffsetRegister);
1245 __ Push(rcx);
1251 __ movl(rcx, FieldOperand(kInterpreterBytecodeArrayRegister,
1256 __ subq(rax, rcx);
1270 __ subq(rcx, Immediate(kSystemPointerSize));
1278 rcx,
1281 __ testl(rcx, rcx);
1283 __ movq(Operand(rbp, rcx, times_system_pointer_size, 0), rdx);
1325 kInterpreterBytecodeOffsetRegister, rbx, rcx,
1331 LeaveInterpreterFrame(masm, rbx, rcx);
1351 __ SmiTag(rcx, kInterpreterBytecodeArrayRegister);
1352 __ movq(Operand(rbp, InterpreterFrameConstants::kBytecodeOffsetFromFp), rcx);
1376 __ LoadMap(rcx, feedback_vector);
1377 __ CmpInstanceType(rcx, FEEDBACK_VECTOR_TYPE);
1386 __ Move(rcx, kInterpreterBytecodeArrayRegister);
1387 static_assert(kJavaScriptCallCodeStartRegister == rcx, "ABI mismatch");
1389 masm, rcx, closure, kInterpreterBytecodeArrayRegister,
1391 __ JumpCodeTObject(rcx);
1436 __ movl(rcx, rax);
1438 __ decl(rcx); // Exclude receiver.
1442 __ StackOverflowCheck(rcx, &stack_overflow);
1448 GenerateInterpreterPushArgs(masm, rcx, rbx, rdx);
1491 // -- rcx : the address of the first argument to be pushed. Subsequent
1508 // rcx and r8 will be modified.
1511 GenerateInterpreterPushArgs(masm, argc_without_receiver, rcx, r8);
1518 __ movq(rbx, Operand(rcx, -kSystemPointerSize));
1652 kInterpreterBytecodeOffsetRegister, rbx, rcx,
1684 Register optimization_state = rcx;
1934 __ DropArgumentsAndPushNewReceiver(rax, rdx, rcx,
2039 __ DropArgumentsAndPushNewReceiver(rax, rdx, rcx,
2091 rax, masm->RootAsOperand(RootIndex::kUndefinedValue), rcx,
2173 // -- rcx : len (number of elements to push from args)
2179 // Allow rbx to be a FixedArray, or a FixedDoubleArray if rcx == 0.
2188 __ Cmp(rcx, 0);
2198 __ StackOverflowCheck(rcx, &stack_overflow, Label::kNear);
2203 // rcx: Number of arguments to make room for.
2206 Generate_AllocateSpaceAndShiftExistingArguments(masm, rcx, rax, r8, r9, r12);
2210 Register src = rbx, dest = r8, num = rcx, current = r9;
2244 // -- rcx : start index (to support rest parameters)
2268 __ subl(r8, rcx);
2274 // -- rcx : start index (to support rest parameters)
2293 __ leaq(rcx, Operand(rcx, times_system_pointer_size,
2296 __ addq(rcx, rbp);
2302 Register src = rcx, dest = r9, num = r8;
2361 __ LoadGlobalProxy(rcx);
2364 __ movq(rcx, args.GetReceiverOperand());
2365 __ JumpIfSmi(rcx, &convert_to_object, Label::kNear);
2367 __ CmpObjectType(rcx, FIRST_JS_RECEIVER_TYPE, rbx);
2371 __ JumpIfRoot(rcx, RootIndex::kUndefinedValue, &convert_global_proxy,
2373 __ JumpIfNotRoot(rcx, RootIndex::kNullValue, &convert_to_object,
2378 __ LoadGlobalProxy(rcx);
2391 __ movq(rax, rcx);
2396 __ movq(rcx, rax);
2405 __ movq(args.GetReceiverOperand(), rcx);
2430 // Load [[BoundArguments]] into rcx and length of that into rbx.
2433 rcx, FieldOperand(rdi, JSBoundFunction::kBoundArgumentsOffset));
2434 __ SmiUntagField(rbx, FieldOperand(rcx, FixedArray::kLengthOffset));
2442 // -- rcx : the [[BoundArguments]] (implemented as FixedArray)
2475 rcx, FieldOperand(rdi, JSBoundFunction::kBoundArgumentsOffset));
2476 __ SmiUntagField(rbx, FieldOperand(rcx, FixedArray::kLengthOffset));
2484 r12, FieldOperand(rcx, rbx, times_tagged_size,
2532 Register map = rcx;
2617 rcx, FieldOperand(rdi, JSFunction::kSharedFunctionInfoOffset));
2618 __ testl(FieldOperand(rcx, SharedFunctionInfo::kFlagsOffset),
2666 Register map = rcx;
3191 SaveState(masm, active_continuation, rcx, &suspend);
3250 Register param_count = rcx;
3333 param_count = rcx;
3503 // -- GpParamRegisters = rax, rdx, rcx, rbx, r9
3533 __ movq(rcx, MemOperand(start_int_section, -2 * kSystemPointerSize));
3715 ReloadParentContinuation(masm, wasm_instance, return_reg, rbx, rcx);
3996 Register continuation = rcx;
4010 // live: [rax, rbx, rcx]
4033 Register caller = rcx;
4045 // live: [rax, rcx]
4220 // Windows 64-bit ABI passes arguments in rcx, rdx, r8, r9. It requires the
4224 const Register kCCallArg0 = rcx;
4231 // GCC / Clang passes arguments in rdi, rsi, rdx, rcx, r8, r9. Simple results
4238 const Register kCCallArg3 = rcx;
4355 __ movq(rcx, masm->ExternalReferenceAsOperand(
4357 __ IncsspqIfSupported(rcx, kScratchRegister);
4402 // Since we must use rcx for shifts below, use some other register (rax)
4409 __ pushq(rcx);
4415 __ movl(rcx, exponent_operand);
4417 __ andl(rcx, Immediate(HeapNumber::kExponentMask));
4418 __ shrl(rcx, Immediate(HeapNumber::kExponentShift));
4419 __ leal(result_reg, MemOperand(rcx, -HeapNumber::kExponentBias));
4426 __ subl(rcx, Immediate(delta));
4428 __ cmpl(rcx, Immediate(31));
4449 __ popq(rcx);
4549 Register map = rcx;
4587 __ PopReturnAddressTo(rcx);
4592 __ PushReturnAddressFrom(rcx);
4624 // -- rcx : arguments count (not including the receiver)
4636 Register argc = rcx;
4919 // Compute a pointer to the unwinding limit in register rcx; that is
4921 __ movq(rcx, Operand(rbx, FrameDescription::frame_size_offset()));
4922 __ addq(rcx, rsp);
4935 __ cmpq(rcx, rsp);
4960 // Inner loop state: rbx = current FrameDescription*, rcx = loop index.
4962 __ movq(rcx, Operand(rbx, FrameDescription::frame_size_offset()));
4965 __ subq(rcx, Immediate(sizeof(intptr_t)));
4966 __ Push(Operand(rbx, rcx, times_1, FrameDescription::frame_content_offset()));
4968 __ testq(rcx, rcx);