< prev index next >

src/hotspot/share/ci/ciInstanceKlass.hpp

Print this page

282   // What kind of ciObject is this?
283   bool is_instance_klass() const { return true; }
284 
285   virtual ciKlass* exact_klass() {
286     if (is_loaded() && is_final() && !is_interface()) {
287       return this;
288     }
289     return nullptr;
290   }
291 
292   bool can_be_instantiated() {
293     assert(is_loaded(), "must be loaded");
294     return !is_interface() && !is_abstract();
295   }
296 
297   bool has_trusted_loader() const {
298     return _has_trusted_loader;
299   }
300   GrowableArray<ciInstanceKlass*>* transitive_interfaces() const;
301 




302   // Replay support
303 
304   // Dump the current state of this klass for compilation replay.
305   virtual void dump_replay_data(outputStream* out);
306 
307   static void dump_replay_instanceKlass(outputStream* out, InstanceKlass* ik);
308 
309 
310   // Return stable class name suitable for replay file.
311   const char *replay_name() const;
312 
313 #ifdef ASSERT
314   bool debug_final_field_at(int offset);
315   bool debug_stable_field_at(int offset);
316 #endif
317 };
318 
319 #endif // SHARE_CI_CIINSTANCEKLASS_HPP

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