< prev index next >

src/hotspot/share/ci/ciInstanceKlass.hpp

Print this page

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