mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 07:14:30 +02:00
8169867: Method::restore_unshareable_info does not invoke Method::link_method
Reviewed-by: jiangli, kvn, thartmann
This commit is contained in:
parent
f9087dae6d
commit
7624f76c84
4 changed files with 95 additions and 21 deletions
|
@ -2600,6 +2600,7 @@ AdapterHandlerEntry* AdapterHandlerLibrary::new_entry(AdapterFingerPrint* finger
|
|||
AdapterHandlerEntry* AdapterHandlerLibrary::get_adapter(const methodHandle& method) {
|
||||
AdapterHandlerEntry* entry = get_adapter0(method);
|
||||
if (method->is_shared()) {
|
||||
// See comments around Method::link_method()
|
||||
MutexLocker mu(AdapterHandlerLibrary_lock);
|
||||
if (method->adapter() == NULL) {
|
||||
method->update_adapter_trampoline(entry);
|
||||
|
@ -2609,6 +2610,7 @@ AdapterHandlerEntry* AdapterHandlerLibrary::get_adapter(const methodHandle& meth
|
|||
CodeBuffer buffer(trampoline, (int)SharedRuntime::trampoline_size());
|
||||
MacroAssembler _masm(&buffer);
|
||||
SharedRuntime::generate_trampoline(&_masm, entry->get_c2i_entry());
|
||||
assert(*(int*)trampoline != 0, "Instruction(s) for trampoline must not be encoded as zeros.");
|
||||
|
||||
if (PrintInterpreter) {
|
||||
Disassembler::decode(buffer.insts_begin(), buffer.insts_end());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue