< prev index next >

src/hotspot/share/ci/ciInstanceKlass.hpp

Print this page

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




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

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