< prev index next >

src/hotspot/share/ci/ciInstanceKlass.hpp

Print this page

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




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

278   // What kind of ciObject is this?
279   bool is_instance_klass() const { return true; }
280 
281   virtual ciKlass* exact_klass() {
282     if (is_loaded() && is_final() && !is_interface()) {
283       return this;
284     }
285     return nullptr;
286   }
287 
288   bool can_be_instantiated() {
289     assert(is_loaded(), "must be loaded");
290     return !is_interface() && !is_abstract();
291   }
292 
293   bool has_trusted_loader() const {
294     return _has_trusted_loader;
295   }
296   GrowableArray<ciInstanceKlass*>* transitive_interfaces() const;
297 
298   int hash_offset_in_bytes() const {
299     return get_instanceKlass()->hash_offset_in_bytes(nullptr, markWord(0));
300   }
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
< prev index next >