Mercurial > hg > graal-jvmci-8
diff src/share/vm/ci/ciInstanceKlass.hpp @ 1478:5571b97fc1ec
More JNI global handle clean ups.
author | Thomas Wuerthinger <wuerthinger@ssw.jku.at> |
---|---|
date | Fri, 26 Nov 2010 19:45:05 +0100 |
parents | dd57230ba8fe |
children | 2d26b0046e0d |
line wrap: on
line diff
--- a/src/share/vm/ci/ciInstanceKlass.hpp Fri Nov 26 13:52:15 2010 +0100 +++ b/src/share/vm/ci/ciInstanceKlass.hpp Fri Nov 26 19:45:05 2010 +0100 @@ -63,6 +63,19 @@ GrowableArray<ciField*>* _non_static_fields; +public: + virtual void cleanup() { + ciObject::cleanup(); + if (!_is_shared) { + if (JNIHandles::is_global_handle(_loader)) { + JNIHandles::destroy_global(_loader); + } + if (JNIHandles::is_global_handle(_protection_domain)) { + JNIHandles::destroy_global(_protection_domain); + } + } + } + protected: ciInstanceKlass(KlassHandle h_k); ciInstanceKlass(ciSymbol* name, jobject loader, jobject protection_domain);