275 // What kind of ciObject is this?
276 bool is_instance_klass() const { return true; }
277
278 virtual ciKlass* exact_klass() {
279 if (is_loaded() && is_final() && !is_interface()) {
280 return this;
281 }
282 return nullptr;
283 }
284
285 bool can_be_instantiated() {
286 assert(is_loaded(), "must be loaded");
287 return !is_interface() && !is_abstract();
288 }
289
290 bool has_trusted_loader() const {
291 return _has_trusted_loader;
292 }
293 GrowableArray<ciInstanceKlass*>* transitive_interfaces() const;
294
295 // Replay support
296
297 // Dump the current state of this klass for compilation replay.
298 virtual void dump_replay_data(outputStream* out);
299
300 static void dump_replay_instanceKlass(outputStream* out, InstanceKlass* ik);
301
302
303 // Return stable class name suitable for replay file.
304 const char *replay_name() const;
305
306 #ifdef ASSERT
307 bool debug_final_field_at(int offset);
308 bool debug_stable_field_at(int offset);
309 #endif
310 };
311
312 #endif // SHARE_CI_CIINSTANCEKLASS_HPP
|
275 // What kind of ciObject is this?
276 bool is_instance_klass() const { return true; }
277
278 virtual ciKlass* exact_klass() {
279 if (is_loaded() && is_final() && !is_interface()) {
280 return this;
281 }
282 return nullptr;
283 }
284
285 bool can_be_instantiated() {
286 assert(is_loaded(), "must be loaded");
287 return !is_interface() && !is_abstract();
288 }
289
290 bool has_trusted_loader() const {
291 return _has_trusted_loader;
292 }
293 GrowableArray<ciInstanceKlass*>* transitive_interfaces() const;
294
295 int hash_offset_in_bytes() const {
296 return get_instanceKlass()->hash_offset_in_bytes(nullptr, markWord(0));
297 }
298
299 // Replay support
300
301 // Dump the current state of this klass for compilation replay.
302 virtual void dump_replay_data(outputStream* out);
303
304 static void dump_replay_instanceKlass(outputStream* out, InstanceKlass* ik);
305
306
307 // Return stable class name suitable for replay file.
308 const char *replay_name() const;
309
310 #ifdef ASSERT
311 bool debug_final_field_at(int offset);
312 bool debug_stable_field_at(int offset);
313 #endif
314 };
315
316 #endif // SHARE_CI_CIINSTANCEKLASS_HPP
|