src/cpu/x86/vm/vtableStubs_x86_64.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/cpu/x86/vm/vtableStubs_x86_64.cpp	Thu Apr 24 15:53:06 2014
--- new/src/cpu/x86/vm/vtableStubs_x86_64.cpp	Thu Apr 24 15:53:06 2014

*** 63,73 **** --- 63,73 ---- __ incrementl(ExternalAddress((address) SharedRuntime::nof_megamorphic_calls_addr())); } #endif // get receiver (need to skip return address on top of stack) ! assert(VtableStub::receiver_location() == j_rarg0->as_VMReg(), "receiver expected in j_rarg0"); ! assert(VtableStub::receiver_location() == j_rarg0.as_VMReg(), "receiver expected in j_rarg0"); // Free registers (non-args) are rax, rbx // get receiver klass address npe_addr = __ pc();
*** 152,162 **** --- 152,162 ---- // Free registers (non-args) are rax (interface), rbx // get receiver (need to skip return address on top of stack) ! assert(VtableStub::receiver_location() == j_rarg0->as_VMReg(), "receiver expected in j_rarg0"); ! assert(VtableStub::receiver_location() == j_rarg0.as_VMReg(), "receiver expected in j_rarg0"); // get receiver klass (also an implicit null-check) address npe_addr = __ pc(); // Most registers are in use; we'll use rax, rbx, r10, r11 // (various calling sequences use r[cd]x, r[sd]i, r[89]; stay away from them)

src/cpu/x86/vm/vtableStubs_x86_64.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File