Skip to content
This repository has been archived by the owner on Sep 2, 2022. It is now read-only.

Commit

Permalink
Browse files Browse the repository at this point in the history
8258380: [JVMCI] don't clear InstalledCode reference when unloading J…
…VMCI nmethods

Reviewed-by: kvn, eosterlund
  • Loading branch information
Tom Rodriguez committed Dec 15, 2020
1 parent e7aa5fe commit 1f556d2
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 1 deletion.
1 change: 0 additions & 1 deletion src/hotspot/share/code/nmethod.cpp
Expand Up @@ -1270,7 +1270,6 @@ void nmethod::make_unloaded() {
JVMCINMethodData* nmethod_data = jvmci_nmethod_data();
if (nmethod_data != NULL) {
nmethod_data->invalidate_nmethod_mirror(this);
nmethod_data->clear_nmethod_mirror(this);
}
#endif
}
Expand Down
6 changes: 6 additions & 0 deletions src/hotspot/share/jvmci/jvmciRuntime.cpp
Expand Up @@ -714,6 +714,12 @@ void JVMCINMethodData::invalidate_nmethod_mirror(nmethod* nm) {
HotSpotJVMCI::InstalledCode::set_entryPoint(jvmciEnv, nmethod_mirror, 0);
}
}

if (_nmethod_mirror_index != -1 && nm->is_unloaded()) {
// Drop the reference to the nmethod mirror object but don't clear the actual oop reference. Otherwise
// it would appear that the nmethod didn't need to be unloaded in the first place.
_nmethod_mirror_index = -1;
}
}

JVMCIRuntime::JVMCIRuntime(int id) {
Expand Down

1 comment on commit 1f556d2

@openjdk-notifier
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.