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
|