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
|