< prev index next >

src/hotspot/share/ci/ciInstanceKlass.hpp

Print this page

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
< prev index next >