mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 23:04:50 +02:00
8233913: Remove implicit conversion from Method* to methodHandle
Fix call sites to use existing THREAD local or pass down THREAD local for shallower callsites. Make linkResolver methods return Method* for caller to handleize if needed. Reviewed-by: iklam, thartmann, hseigel
This commit is contained in:
parent
25d3cf9216
commit
ed21b56269
82 changed files with 610 additions and 572 deletions
|
@ -897,7 +897,7 @@ void InterpreterRuntime::resolve_invoke(JavaThread* thread, Bytecodes::Code byte
|
|||
// (see also CallInfo::set_interface for details)
|
||||
assert(info.call_kind() == CallInfo::vtable_call ||
|
||||
info.call_kind() == CallInfo::direct_call, "");
|
||||
methodHandle rm = info.resolved_method();
|
||||
Method* rm = info.resolved_method();
|
||||
assert(rm->is_final() || info.has_vtable_index(),
|
||||
"should have been set already");
|
||||
} else if (!info.resolved_method()->has_itable_index()) {
|
||||
|
@ -921,25 +921,26 @@ void InterpreterRuntime::resolve_invoke(JavaThread* thread, Bytecodes::Code byte
|
|||
// methods must be checked for every call.
|
||||
InstanceKlass* sender = pool->pool_holder();
|
||||
sender = sender->is_unsafe_anonymous() ? sender->unsafe_anonymous_host() : sender;
|
||||
methodHandle resolved_method(THREAD, info.resolved_method());
|
||||
|
||||
switch (info.call_kind()) {
|
||||
case CallInfo::direct_call:
|
||||
cp_cache_entry->set_direct_call(
|
||||
bytecode,
|
||||
info.resolved_method(),
|
||||
resolved_method,
|
||||
sender->is_interface());
|
||||
break;
|
||||
case CallInfo::vtable_call:
|
||||
cp_cache_entry->set_vtable_call(
|
||||
bytecode,
|
||||
info.resolved_method(),
|
||||
resolved_method,
|
||||
info.vtable_index());
|
||||
break;
|
||||
case CallInfo::itable_call:
|
||||
cp_cache_entry->set_itable_call(
|
||||
bytecode,
|
||||
info.resolved_klass(),
|
||||
info.resolved_method(),
|
||||
resolved_method,
|
||||
info.itable_index());
|
||||
break;
|
||||
default: ShouldNotReachHere();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue