src/cpu/ppc/vm/compiledIC_ppc.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
*** old/src/cpu/ppc/vm/compiledIC_ppc.cpp Thu Nov 3 14:15:57 2016
--- new/src/cpu/ppc/vm/compiledIC_ppc.cpp Thu Nov 3 14:15:56 2016
*** 35,45 ****
--- 35,45 ----
#include "opto/matcher.hpp"
#endif
// ----------------------------------------------------------------------------
! // A PPC CompiledStaticCall looks like this:
! // A PPC CompiledDirectStaticCall looks like this:
//
// >>>> consts
//
// [call target1]
// [IC cache]
*** 161,177 ****
--- 161,177 ----
// Used for optimization in Compile::Shorten_branches.
int CompiledStaticCall::reloc_to_interp_stub() {
return 5;
}
! void CompiledStaticCall::set_to_interpreted(methodHandle callee, address entry) {
! address stub = find_stub();
! void CompiledDirectStaticCall::set_to_interpreted(const methodHandle& callee, address entry) {
! address stub = find_stub(/*is_aot*/ false);
guarantee(stub != NULL, "stub not found");
if (TraceICs) {
ResourceMark rm;
! tty->print_cr("CompiledStaticCall@" INTPTR_FORMAT ": set_to_interpreted %s",
! tty->print_cr("CompiledDirectStaticCall@" INTPTR_FORMAT ": set_to_interpreted %s",
p2i(instruction_address()),
callee->name_and_sig_as_C_string());
}
// Creation also verifies the object.
*** 194,204 ****
--- 194,204 ----
// Update jump to call.
set_destination_mt_safe(stub);
}
! void CompiledStaticCall::set_stub_to_clean(static_stub_Relocation* static_stub) {
! void CompiledDirectStaticCall::set_stub_to_clean(static_stub_Relocation* static_stub) {
assert (CompiledIC_lock->is_locked() || SafepointSynchronize::is_at_safepoint(), "mt unsafe call");
// Reset stub.
address stub = static_stub->addr();
assert(stub != NULL, "stub not found");
// Creation also verifies the object.
*** 210,228 ****
--- 210,228 ----
//-----------------------------------------------------------------------------
// Non-product mode code
#ifndef PRODUCT
! void CompiledStaticCall::verify() {
! void CompiledDirectStaticCall::verify() {
// Verify call.
! NativeCall::verify();
! _call->verify();
if (os::is_MP()) {
! _call->verify_alignment();
}
// Verify stub.
! address stub = find_stub(/*is_aot*/ false);
assert(stub != NULL, "no stub found for static call");
// Creation also verifies the object.
NativeMovConstReg* method_holder = nativeMovConstReg_at(stub + IC_pos_in_java_to_interp_stub);
NativeJump* jump = nativeJump_at(method_holder->next_instruction_address());
src/cpu/ppc/vm/compiledIC_ppc.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File