aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/oops/instanceKlass.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/share/vm/oops/instanceKlass.hpp')
-rw-r--r--src/share/vm/oops/instanceKlass.hpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/share/vm/oops/instanceKlass.hpp b/src/share/vm/oops/instanceKlass.hpp
index ad59ab063..ddbdbd680 100644
--- a/src/share/vm/oops/instanceKlass.hpp
+++ b/src/share/vm/oops/instanceKlass.hpp
@@ -538,6 +538,12 @@ class InstanceKlass: public Klass {
}
}
+ // Oop that keeps the metadata for this class from being unloaded
+ // in places where the metadata is stored in other places, like nmethods
+ oop klass_holder() const {
+ return is_anonymous() ? java_mirror() : class_loader();
+ }
+
// signers
objArrayOop signers() const { return _signers; }
void set_signers(objArrayOop s) { klass_oop_store((oop*)&_signers, s); }