< prev index next > src/hotspot/share/code/compiledIC.hpp
Print this page
bool set_to_monomorphic(CompiledICInfo& info);
void clear_ic_stub();
// Returns true if successful and false otherwise. The call can fail if memory
// allocation in the code cache fails, or ic stub refill is required.
! bool set_to_megamorphic(CallInfo* call_info, Bytecodes::Code bytecode, bool& needs_ic_stub_refill, TRAPS);
static void compute_monomorphic_entry(const methodHandle& method, Klass* receiver_klass,
bool is_optimized, bool static_bound, bool caller_is_nmethod,
! CompiledICInfo& info, TRAPS);
// Location
address instruction_address() const { return _call->instruction_address(); }
// Misc
bool set_to_monomorphic(CompiledICInfo& info);
void clear_ic_stub();
// Returns true if successful and false otherwise. The call can fail if memory
// allocation in the code cache fails, or ic stub refill is required.
! bool set_to_megamorphic(CallInfo* call_info, Bytecodes::Code bytecode, bool& needs_ic_stub_refill, bool caller_is_c1, TRAPS);
static void compute_monomorphic_entry(const methodHandle& method, Klass* receiver_klass,
bool is_optimized, bool static_bound, bool caller_is_nmethod,
! bool caller_is_c1, CompiledICInfo& info, TRAPS);
// Location
address instruction_address() const { return _call->instruction_address(); }
// Misc
//
//
// -----<----- Clean ----->-----
// / \
// / \
! // compilled code <------------> interpreted code
//
// Clean: Calls directly to runtime method for fixup
// Compiled code: Calls directly to compiled code
// Interpreted code: Calls to stub that set Method* reference
//
//
//
// -----<----- Clean ----->-----
// / \
// / \
! // compiled code <------------> interpreted code
//
// Clean: Calls directly to runtime method for fixup
// Compiled code: Calls directly to compiled code
// Interpreted code: Calls to stub that set Method* reference
//
static int to_interp_stub_size();
static int to_trampoline_stub_size();
static int reloc_to_interp_stub();
// Compute entry point given a method
! static void compute_entry(const methodHandle& m, bool caller_is_nmethod, StaticCallInfo& info);
void compute_entry_for_continuation_entry(const methodHandle& m, StaticCallInfo& info);
public:
// Clean static call (will force resolving on next use)
virtual address destination() const = 0;
static int to_interp_stub_size();
static int to_trampoline_stub_size();
static int reloc_to_interp_stub();
// Compute entry point given a method
! static void compute_entry(const methodHandle& m, CompiledMethod* caller_nm, StaticCallInfo& info);
void compute_entry_for_continuation_entry(const methodHandle& m, StaticCallInfo& info);
public:
// Clean static call (will force resolving on next use)
virtual address destination() const = 0;
< prev index next >