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