254 // What kind of ciObject is this? 255 bool is_instance_klass() const { return true; } 256 bool is_java_klass() const { return true; } 257 258 virtual ciKlass* exact_klass() { 259 if (is_loaded() && is_final() && !is_interface()) { 260 return this; 261 } 262 return NULL; 263 } 264 265 ciInstanceKlass* unsafe_anonymous_host(); 266 267 bool can_be_instantiated() { 268 assert(is_loaded(), "must be loaded"); 269 return !is_interface() && !is_abstract(); 270 } 271 272 // Dump the current state of this klass for compilation replay. 273 virtual void dump_replay_data(outputStream* out); 274 }; 275 276 #endif // SHARE_VM_CI_CIINSTANCEKLASS_HPP | 254 // What kind of ciObject is this? 255 bool is_instance_klass() const { return true; } 256 bool is_java_klass() const { return true; } 257 258 virtual ciKlass* exact_klass() { 259 if (is_loaded() && is_final() && !is_interface()) { 260 return this; 261 } 262 return NULL; 263 } 264 265 ciInstanceKlass* unsafe_anonymous_host(); 266 267 bool can_be_instantiated() { 268 assert(is_loaded(), "must be loaded"); 269 return !is_interface() && !is_abstract(); 270 } 271 272 // Dump the current state of this klass for compilation replay. 273 virtual void dump_replay_data(outputStream* out); 274 275 #ifdef ASSERT 276 bool debug_final_field_at(int offset); 277 bool debug_stable_field_at(int offset); 278 #endif 279 }; 280 281 #endif // SHARE_VM_CI_CIINSTANCEKLASS_HPP |