Lines Matching refs:rcx

141         __ get_thread(rcx);
145 rcx /* thread */,
159 rcx /* thread */,
359 __ get_cpool_and_tags(rcx, rax);
385 __ movl(rcx, wide);
386 call_VM(rax, CAST_FROM_FN_PTR(address, InterpreterRuntime::ldc), rcx);
394 __ fld_s( Address(rcx, rbx, Address::times_ptr, base_offset));
416 __ movl(rax, Address(rcx, rbx, Address::times_ptr, base_offset));
420 __ movptr(rax, Address(rcx, rbx, Address::times_ptr, base_offset));
446 const Register cache = rcx;
455 const Register con_klass_temp = rcx; // same as cache
477 __ get_cpool_and_tags(rcx, rax);
485 __ fld_d( Address(rcx, rbx, Address::times_ptr, base_offset));
491 __ movptr(rax, Address(rcx, rbx, Address::times_ptr, base_offset + 0 * wordSize));
492 NOT_LP64(__ movptr(rdx, Address(rcx, rbx, Address::times_ptr, base_offset + 1 * wordSize)));
521 __ movl(rcx, Bytecodes::_fast_iload2);
526 __ movl(rcx, Bytecodes::_fast_icaload);
530 __ movl(rcx, Bytecodes::_fast_iload);
533 // rcx: fast bytecode
535 patch_bytecode(Bytecodes::_iload, rcx, rbx, false);
817 __ movl(rcx, Bytecodes::_fast_iaccess_0);
823 __ movl(rcx, Bytecodes::_fast_aaccess_0);
829 __ movl(rcx, Bytecodes::_fast_faccess_0);
834 __ movl(rcx, Bytecodes::_fast_aload_0);
837 // rcx: fast bytecode
839 patch_bytecode(Bytecodes::_aload_0, rcx, rbx, false);
934 // rcx: array
936 index_check(rcx, rbx); // prefer index in rbx,
938 __ movptr(Address(rcx, rbx, Address::times_8, arrayOopDesc::base_offset_in_bytes(T_LONG) + 0 * wordSize), rax);
939 NOT_LP64(__ movl(Address(rcx, rbx, Address::times_8, arrayOopDesc::base_offset_in_bytes(T_LONG) + 1 * wordSize), rdx));
970 __ movl(rcx, at_tos_p1()); // Index
973 Address element_address(rdx, rcx, Address::times_4, arrayOopDesc::base_offset_in_bytes(T_OBJECT));
974 index_check_without_pop(rdx, rcx); // kills rbx,
1102 __ load_ptr( 1, rcx); // load a
1104 __ store_ptr(0, rcx); // store a
1114 __ load_ptr( 2, rcx); // load a
1119 __ store_ptr(2, rcx); // store a in b
1140 __ load_ptr( 0, rcx); // load c
1143 __ push_ptr(rcx); // push c
1145 __ store_ptr(3, rcx); // store c in b
1147 __ load_ptr( 4, rcx); // load a
1148 __ store_ptr(2, rcx); // store a in 2nd c
1159 __ load_ptr( 0, rcx); // load d
1162 __ push_ptr(rcx); // push d
1166 __ store_ptr(4, rcx); // store d in b
1168 __ load_ptr( 5, rcx); // load a
1170 __ store_ptr(3, rcx); // store a in c
1180 __ load_ptr( 1, rcx); // load a
1182 __ store_ptr(0, rcx); // store a in b
1197 case shl : __ mov(rcx, rax); __ pop_i(rax); __ shll (rax); break; // implicit masking of lower 5 bits by Intel shift instr.
1198 case shr : __ mov(rcx, rax); __ pop_i(rax); __ sarl (rax); break; // implicit masking of lower 5 bits by Intel shift instr.
1199 case ushr : __ mov(rcx, rax); __ pop_i(rax); __ shrl (rax); break; // implicit masking of lower 5 bits by Intel shift instr.
1207 __ pop_l(rbx, rcx);
1209 case add : __ addl(rax, rbx); __ adcl(rdx, rcx); break;
1210 case sub : __ subl(rbx, rax); __ sbbl(rcx, rdx);
1211 __ mov (rax, rbx); __ mov (rdx, rcx); break;
1212 case _and : __ andl(rax, rbx); __ andl(rdx, rcx); break;
1213 case _or : __ orl (rax, rbx); __ orl (rdx, rcx); break;
1214 case _xor : __ xorl(rax, rbx); __ xorl(rdx, rcx); break;
1222 __ mov(rcx, rax);
1224 // Note: could xor rax, and rcx and compare with (-1 ^ min_int). If
1228 __ corrected_idivl(rcx);
1234 __ mov(rcx, rax);
1236 // Note: could xor rax, and rcx and compare with (-1 ^ min_int). If
1240 __ corrected_idivl(rcx);
1247 __ pop_l(rbx, rcx);
1248 __ push(rcx); __ push(rbx);
1257 __ pop_l(rbx, rcx);
1258 __ push(rcx); __ push(rbx);
1271 __ pop_l(rbx, rcx);
1272 __ push(rcx); __ push(rbx);
1285 __ movl(rcx, rax); // get shift count
1293 __ mov(rcx, rax); // get shift count
1301 __ mov(rcx, rax); // get shift count
1331 const Address access_flags (rcx, methodOopDesc::access_flags_offset());
1332 __ get_method(rcx);
1333 __ movl(rcx, access_flags);
1334 __ testl(rcx, JVM_ACC_STRICT);
1350 const Address access_flags (rcx, methodOopDesc::access_flags_offset());
1351 __ get_method(rcx);
1352 __ movl(rcx, access_flags);
1353 __ testl(rcx, JVM_ACC_STRICT);
1466 // (Note: use push(rcx)/pop(rcx) for 1/2-word stack-ptr manipulation)
1475 __ pop(rcx); // adjust rsp
1482 __ pop(rcx); // adjust rsp
1483 __ pop(rcx);
1507 __ pop(rcx); // adjust rsp
1508 __ pop(rcx);
1515 __ pop(rcx); // adjust rsp
1516 __ pop(rcx);
1519 __ push(rcx); // reserve space for argument
1524 __ push(rcx); // reserve space for argument
1532 __ push(rcx); // reserve space for argument
1533 __ push(rcx);
1538 __ push(rcx); // reserve space for argument
1539 __ push(rcx);
1544 __ push(rcx); // reserve space for f2ieee()
1546 __ pop(rcx); // adjust rsp
1557 __ pop_l(rbx, rcx); // get x = rcx:rbx
1558 __ lcmp2int(rcx, rbx, rdx, rax);// rcx := cmp(x, y)
1559 __ mov(rax, rcx);
1570 __ pop(rcx);
1576 __ get_method(rcx); // ECX holds method
1599 __ subptr(rax, Address(rcx, methodOopDesc::const_offset()));
1622 // rcx: method
1635 __ movptr(rbx, Address(rcx, in_bytes(methodOopDesc::method_data_offset())));
1647 __ increment_mask_and_jump(Address(rcx, be_offset), increment, mask,
1651 __ movl(rax, Address(rcx, be_offset)); // load backedge counter
1653 __ movl(Address(rcx, be_offset), rax); // store counter
1655 __ movl(rax, Address(rcx, inv_offset)); // load invocation counter
1657 __ addl(rax, Address(rcx, be_offset)); // add both counters
1732 __ movl(rcx, Address(rax, nmethod::entry_bci_offset()));
1733 __ cmpl(rcx, InvalidOSREntryBci);
1742 const Register thread = rcx;
1746 __ mov(rcx, rax);
1823 __ profile_ret(rbx, rcx);
1836 __ profile_ret(rbx, rcx);
1851 __ movl(rcx, Address(rbx, 1 * wordSize));
1853 __ bswapl(rcx);
1856 __ cmpl(rax, rcx);
1861 __ subl(rax, rcx);
1863 __ profile_switch_case(rax, rbx, rcx);
1893 __ movl(rcx, Address(rbx, wordSize));
1894 __ bswapl(rcx);
1898 __ cmpl(rax, Address(rbx, rcx, Address::times_8, 2 * wordSize));
1901 __ decrementl(rcx);
1909 __ movl(rdx, Address(rbx, rcx, Address::times_8, 3 * wordSize));
1910 __ profile_switch_case(rcx, rax, rbx);
1950 const Register i = rcx;
2170 const Register cache = rcx;
2254 const Register cache = rcx;
2256 const Register obj = rcx;
2281 patch_bytecode(Bytecodes::_fast_bgetfield, rcx, rbx);
2294 patch_bytecode(Bytecodes::_fast_igetfield, rcx, rbx);
2306 patch_bytecode(Bytecodes::_fast_agetfield, rcx, rbx);
2318 patch_bytecode(Bytecodes::_fast_cgetfield, rcx, rbx);
2330 patch_bytecode(Bytecodes::_fast_sgetfield, rcx, rbx);
2359 patch_bytecode(Bytecodes::_fast_fgetfield, rcx, rbx);
2371 patch_bytecode(Bytecodes::_fast_dgetfield, rcx, rbx);
2423 __ movl(rcx, Address(rax, rdx, Address::times_ptr, in_bytes(cp_base_offset +
2426 __ shrl(rcx, ConstantPoolCacheEntry::tos_state_shift);
2427 // Make sure we don't need to mask rcx after the above shift
2429 __ cmpl(rcx, ltos);
2431 __ cmpl(rcx, dtos);
2448 __ mov(rcx, rsp);
2451 // rcx: jvalue object on the stack
2453 rbx, rax, rcx);
2463 const Register cache = rcx;
2465 const Register obj = rcx;
2498 patch_bytecode(Bytecodes::_fast_bputfield, rcx, rbx, true, byte_no);
2513 patch_bytecode(Bytecodes::_fast_iputfield, rcx, rbx, true, byte_no);
2528 patch_bytecode(Bytecodes::_fast_aputfield, rcx, rbx, true, byte_no);
2543 patch_bytecode(Bytecodes::_fast_cputfield, rcx, rbx, true, byte_no);
2558 patch_bytecode(Bytecodes::_fast_sputfield, rcx, rbx, true, byte_no);
2595 patch_bytecode(Bytecodes::_fast_lputfield, rcx, rbx, true, byte_no);
2610 patch_bytecode(Bytecodes::_fast_fputfield, rcx, rbx, true, byte_no);
2627 patch_bytecode(Bytecodes::_fast_dputfield, rcx, rbx, true, byte_no);
2662 __ mov32(rcx, ExternalAddress((address)JvmtiExport::get_field_modification_count_addr()));
2663 __ testl(rcx,rcx);
2685 __ mov(rcx, rsp); // points to jvalue on the stack
2691 // rcx: jvalue object on the stack
2692 __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::post_field_modification), rbx, rax, rcx);
2716 __ get_cache_and_index_at_bcp(rcx, rbx, 1);
2720 __ movl(rdx, Address(rcx, rbx, Address::times_ptr, in_bytes(base +
2724 __ movptr(rbx, Address(rcx, rbx, Address::times_ptr, in_bytes(base + ConstantPoolCacheEntry::f2_offset())));
2739 pop_and_check_object(rcx);
2742 const Address lo(rcx, rbx, Address::times_1, 0*wordSize);
2743 const Address hi(rcx, rbx, Address::times_1, 1*wordSize);
2777 pop_and_check_object(rcx);
2810 __ mov32(rcx, ExternalAddress((address) JvmtiExport::get_field_access_count_addr()));
2811 __ testl(rcx,rcx);
2814 __ get_cache_entry_pointer_at_bcp(rcx, rdx, 1);
2818 // rcx: cache entry pointer
2819 __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::post_field_access), rax, rcx);
2825 __ get_cache_and_index_at_bcp(rcx, rbx, 1);
2827 __ movptr(rbx, Address(rcx,
2863 __ get_cache_and_index_at_bcp(rcx, rdx, 2);
2864 __ movptr(rbx, Address(rcx,
2914 assert(recv == noreg || recv == rcx, "");
2917 if (recv == noreg) recv = rcx;
2985 assert(recv == rcx, "");
3031 rcx, rdx); // recv, flags
3034 // rcx: receiver
3037 invokevirtual_helper(rbx, rcx, rdx);
3045 rcx); // get receiver also for null check
3046 __ verify_oop(rcx);
3047 __ null_check(rcx);
3077 rcx, rdx); // recv, flags
3081 // rcx: receiver
3093 invokevirtual_helper(rbx, rcx, rdx);
3098 __ null_check(rcx, oopDesc::klass_offset_in_bytes());
3099 __ load_klass(rdx, rcx);
3114 // rcx: receiver
3123 // rcx: receiver
3157 const Register rcx_recv = rcx;
3229 __ get_cpool_and_tags(rcx, rax);
3239 __ movptr(rcx, Address(rcx, rdx, Address::times_ptr, sizeof(constantPoolOopDesc)));
3240 __ push(rcx); // save the contexts of klass for initializing the header
3244 __ cmpb(Address(rcx, instanceKlass::init_state_offset()), instanceKlass::fully_initialized);
3248 __ movl(rdx, Address(rcx, Klass::layout_helper_offset()));
3263 const Register thread = rcx;
3322 __ xorl(rcx, rcx); // use zero reg to clear memory (shorter code)
3339 __ movptr(Address(rax, rdx, Address::times_8, sizeof(oopDesc) - 1*oopSize), rcx);
3340 NOT_LP64(__ movptr(Address(rax, rdx, Address::times_8, sizeof(oopDesc) - 2*oopSize), rcx));
3348 __ pop(rcx); // get saved klass back in the register.
3349 __ movptr(rbx, Address(rcx, Klass::prototype_header_offset()));
3354 __ pop(rcx); // get saved klass back in the register.
3356 __ store_klass(rax, rcx); // klass
3372 __ pop(rcx); // restore stack pointer to what it was when we came in.
3395 __ get_constant_pool(rcx);
3396 call_VM(rax, CAST_FROM_FN_PTR(address, InterpreterRuntime::anewarray), rcx, rdx, rax);
3414 __ get_cpool_and_tags(rcx, rdx); // ECX=cpool, EDX=tags array
3428 __ movptr(rax, Address(rcx, rbx, Address::times_ptr, sizeof(constantPoolOopDesc)));
3450 __ profile_null_seen(rcx);
3465 __ get_cpool_and_tags(rcx, rdx); // ECX=cpool, EDX=tags array
3480 __ movptr(rax, Address(rcx, rbx, Address::times_ptr, sizeof(constantPoolOopDesc)));
3499 __ profile_null_seen(rcx);
3520 __ get_method(rcx);
3521 __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::get_original_bytecode_at), rcx, rsi);
3525 __ get_method(rcx);
3526 __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::_breakpoint), rcx, rsi);
3578 __ movptr(rcx, monitor_block_top); // points to current entry, starting with top-most entry
3584 __ cmpptr(Address(rcx, BasicObjectLock::obj_offset_in_bytes()), (int32_t)NULL_WORD); // check if current entry is used
3585 __ cmovptr(Assembler::equal, rdx, rcx); // if not used then remember entry in rdx
3586 __ cmpptr(rax, Address(rcx, BasicObjectLock::obj_offset_in_bytes())); // check if current entry is for same object
3588 __ addptr(rcx, entry_size); // otherwise advance to next entry
3590 __ cmpptr(rcx, rbx); // check if bottom reached
3604 __ mov(rcx, rsp); // set start value for copy loop
3609 __ movptr(rbx, Address(rcx, entry_size)); // load expression stack word from old location
3610 __ movptr(Address(rcx, 0), rbx); // and store it at new location
3611 __ addptr(rcx, wordSize); // advance to next word
3613 __ cmpptr(rcx, rdx); // check if bottom reached
3669 // rcx: points to monitor entry