src/cpu/x86/vm/sharedRuntime_x86_64.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
*** old/src/cpu/x86/vm/sharedRuntime_x86_64.cpp Fri Jul 10 17:44:17 2009
--- new/src/cpu/x86/vm/sharedRuntime_x86_64.cpp Fri Jul 10 17:44:16 2009
*** 1300,1325 ****
--- 1300,1322 ----
// 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;
+ assert_different_registers(ic_reg, receiver, rscratch1);
__ verify_oop(receiver);
__ push(tmp); // spill (any other registers free here???)
! __ load_klass(tmp, receiver);
__ cmpq(ic_reg, tmp);
+ __ load_klass(rscratch1, receiver);
! __ cmpq(ic_reg, rscratch1);
__ 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;
src/cpu/x86/vm/sharedRuntime_x86_64.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File