< prev index next >

src/hotspot/share/ci/ciInstanceKlass.hpp

Print this page

102 
103   void print_impl(outputStream* st);
104 
105   ciConstantPoolCache* field_cache();
106 
107   bool is_shared() { return _is_shared; }
108 
109   void compute_shared_init_state();
110   bool compute_shared_has_subklass();
111   int  compute_nonstatic_fields();
112   GrowableArray<ciField*>* compute_nonstatic_fields_impl(GrowableArray<ciField*>* super_fields);
113   bool compute_has_trusted_loader();
114 
115   // Update the init_state for shared klasses
116   void update_if_shared(InstanceKlass::ClassState expected) {
117     if (_is_shared && _init_state != expected) {
118       if (is_loaded()) compute_shared_init_state();
119     }
120   }
121 


122 public:
123   // Has this klass been initialized?
124   bool                   is_initialized() {
125     update_if_shared(InstanceKlass::fully_initialized);
126     return _init_state == InstanceKlass::fully_initialized;
127   }
128   bool                   is_not_initialized() {
129     update_if_shared(InstanceKlass::fully_initialized);
130     return _init_state < InstanceKlass::being_initialized;
131   }
132   // Is this klass being initialized?
133   bool                   is_being_initialized() {
134     update_if_shared(InstanceKlass::being_initialized);
135     return _init_state == InstanceKlass::being_initialized;
136   }
137   // Has this klass been linked?
138   bool                   is_linked() {
139     update_if_shared(InstanceKlass::linked);
140     return _init_state >= InstanceKlass::linked;
141   }

102 
103   void print_impl(outputStream* st);
104 
105   ciConstantPoolCache* field_cache();
106 
107   bool is_shared() { return _is_shared; }
108 
109   void compute_shared_init_state();
110   bool compute_shared_has_subklass();
111   int  compute_nonstatic_fields();
112   GrowableArray<ciField*>* compute_nonstatic_fields_impl(GrowableArray<ciField*>* super_fields);
113   bool compute_has_trusted_loader();
114 
115   // Update the init_state for shared klasses
116   void update_if_shared(InstanceKlass::ClassState expected) {
117     if (_is_shared && _init_state != expected) {
118       if (is_loaded()) compute_shared_init_state();
119     }
120   }
121 
122   static InstanceKlass::ClassState compute_init_state(InstanceKlass* ik);
123 
124 public:
125   // Has this klass been initialized?
126   bool                   is_initialized() {
127     update_if_shared(InstanceKlass::fully_initialized);
128     return _init_state == InstanceKlass::fully_initialized;
129   }
130   bool                   is_not_initialized() {
131     update_if_shared(InstanceKlass::fully_initialized);
132     return _init_state < InstanceKlass::being_initialized;
133   }
134   // Is this klass being initialized?
135   bool                   is_being_initialized() {
136     update_if_shared(InstanceKlass::being_initialized);
137     return _init_state == InstanceKlass::being_initialized;
138   }
139   // Has this klass been linked?
140   bool                   is_linked() {
141     update_if_shared(InstanceKlass::linked);
142     return _init_state >= InstanceKlass::linked;
143   }
< prev index next >