291 // What kind of ciObject is this?
292 bool is_instance_klass() const { return true; }
293
294 virtual ciKlass* exact_klass() {
295 if (is_loaded() && is_final() && !is_interface()) {
296 return this;
297 }
298 return nullptr;
299 }
300
301 bool can_be_instantiated() {
302 assert(is_loaded(), "must be loaded");
303 return !is_interface() && !is_abstract();
304 }
305
306 bool has_trusted_loader() const {
307 return _has_trusted_loader;
308 }
309 GrowableArray<ciInstanceKlass*>* transitive_interfaces() const;
310
311 // Replay support
312
313 // Dump the current state of this klass for compilation replay.
314 virtual void dump_replay_data(outputStream* out);
315
316 static void dump_replay_instanceKlass(outputStream* out, InstanceKlass* ik);
317
318
319 // Return stable class name suitable for replay file.
320 const char *replay_name() const;
321
322 #ifdef ASSERT
323 bool debug_final_field_at(int offset);
324 bool debug_stable_field_at(int offset);
325 #endif
326 };
327
328 #endif // SHARE_CI_CIINSTANCEKLASS_HPP
|
291 // What kind of ciObject is this?
292 bool is_instance_klass() const { return true; }
293
294 virtual ciKlass* exact_klass() {
295 if (is_loaded() && is_final() && !is_interface()) {
296 return this;
297 }
298 return nullptr;
299 }
300
301 bool can_be_instantiated() {
302 assert(is_loaded(), "must be loaded");
303 return !is_interface() && !is_abstract();
304 }
305
306 bool has_trusted_loader() const {
307 return _has_trusted_loader;
308 }
309 GrowableArray<ciInstanceKlass*>* transitive_interfaces() const;
310
311 int hash_offset_in_bytes() const {
312 return get_instanceKlass()->hash_offset_in_bytes(nullptr, markWord(0));
313 }
314
315 // Replay support
316
317 // Dump the current state of this klass for compilation replay.
318 virtual void dump_replay_data(outputStream* out);
319
320 static void dump_replay_instanceKlass(outputStream* out, InstanceKlass* ik);
321
322
323 // Return stable class name suitable for replay file.
324 const char *replay_name() const;
325
326 #ifdef ASSERT
327 bool debug_final_field_at(int offset);
328 bool debug_stable_field_at(int offset);
329 #endif
330 };
331
332 #endif // SHARE_CI_CIINSTANCEKLASS_HPP
|