src/cpu/x86/vm/sharedRuntime_x86_64.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
6859338 Cdiff src/cpu/x86/vm/sharedRuntime_x86_64.cpp
src/cpu/x86/vm/sharedRuntime_x86_64.cpp
Print this page
*** 1300,1325 ****
// as far as the interpreter and the compiler(s) are concerned.
const Register ic_reg = rax;
const Register receiver = j_rarg0;
- const Register tmp = rdx;
Label ok;
Label exception_pending;
__ verify_oop(receiver);
! __ push(tmp); // spill (any other registers free here???)
! __ load_klass(tmp, receiver);
! __ cmpq(ic_reg, tmp);
__ jcc(Assembler::equal, ok);
- __ pop(tmp);
__ jump(RuntimeAddress(SharedRuntime::get_ic_miss_stub()));
__ bind(ok);
- __ pop(tmp);
// Verified entry point must be aligned
__ align(8);
int vep_offset = ((intptr_t)__ pc()) - start;
--- 1300,1322 ----
// as far as the interpreter and the compiler(s) are concerned.
const Register ic_reg = rax;
const Register receiver = j_rarg0;
Label ok;
Label exception_pending;
+ assert_different_registers(ic_reg, receiver, rscratch1);
__ verify_oop(receiver);
! __ load_klass(rscratch1, receiver);
! __ cmpq(ic_reg, rscratch1);
__ jcc(Assembler::equal, ok);
__ jump(RuntimeAddress(SharedRuntime::get_ic_miss_stub()));
__ bind(ok);
// Verified entry point must be aligned
__ align(8);
int vep_offset = ((intptr_t)__ pc()) - start;
src/cpu/x86/vm/sharedRuntime_x86_64.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File