comparison src/share/vm/ci/ciInstanceKlass.hpp @ 3668:46f211fe010c

Removed global handle usage in ci interface.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Fri, 18 Nov 2011 13:30:47 +0100
parents 06f017f7daa7
children 957c266d8bc5
comparison
equal deleted inserted replaced
3667:e755289380e3 3668:46f211fe010c
69 ciInstanceKlass* _implementors[implementors_limit]; 69 ciInstanceKlass* _implementors[implementors_limit];
70 jint _nof_implementors; 70 jint _nof_implementors;
71 71
72 GrowableArray<ciField*>* _non_static_fields; 72 GrowableArray<ciField*>* _non_static_fields;
73 73
74 public:
75 virtual void cleanup() {
76 ciObject::cleanup();
77 if (!_is_shared) {
78 if (JNIHandles::is_global_handle(_loader)) {
79 JNIHandles::destroy_global(_loader);
80 }
81 if (JNIHandles::is_global_handle(_protection_domain)) {
82 JNIHandles::destroy_global(_protection_domain);
83 }
84 }
85 }
86
87 protected: 74 protected:
88 ciInstanceKlass(KlassHandle h_k); 75 ciInstanceKlass(KlassHandle h_k);
89 ciInstanceKlass(ciSymbol* name, jobject loader, jobject protection_domain); 76 ciInstanceKlass(ciSymbol* name, jobject loader, jobject protection_domain);
90 77
91 instanceKlass* get_instanceKlass() const { 78 instanceKlass* get_instanceKlass() const {