520 ClassState init_state() const { return Atomic::load_acquire(&_init_state); }
521 const char* init_state_name() const;
522 bool is_rewritten() const { return _misc_flags.rewritten(); }
523
524 // is this a sealed class
525 bool is_sealed() const;
526
527 // defineClass specified verification
528 bool should_verify_class() const { return _misc_flags.should_verify_class(); }
529 void set_should_verify_class(bool value) { _misc_flags.set_should_verify_class(value); }
530
531 // marking
532 bool is_marked_dependent() const { return _misc_flags.is_marked_dependent(); }
533 void set_is_marked_dependent(bool value) { _misc_flags.set_is_marked_dependent(value); }
534
535 // initialization (virtuals from Klass)
536 bool should_be_initialized() const; // means that initialize should be called
537 void initialize_with_aot_initialized_mirror(TRAPS);
538 void assert_no_clinit_will_run_for_aot_initialized_class() const NOT_DEBUG_RETURN;
539 void initialize(TRAPS);
540 void link_class(TRAPS);
541 bool link_class_or_fail(TRAPS); // returns false on failure
542 void rewrite_class(TRAPS);
543 void link_methods(TRAPS);
544 Method* class_initializer() const;
545 bool interface_needs_clinit_execution_as_super(bool also_check_supers=true) const;
546
547 // reference type
548 ReferenceType reference_type() const { return (ReferenceType)_reference_type; }
549
550 // this class cp index
551 u2 this_class_index() const { return _this_class_index; }
552 void set_this_class_index(u2 index) { _this_class_index = index; }
553
554 static ByteSize reference_type_offset() { return byte_offset_of(InstanceKlass, _reference_type); }
555
556 // find local field, returns true if found
557 bool find_local_field(Symbol* name, Symbol* sig, fieldDescriptor* fd) const;
558 // find field in direct superinterfaces, returns the interface in which the field is defined
559 Klass* find_interface_field(Symbol* name, Symbol* sig, fieldDescriptor* fd) const;
|
520 ClassState init_state() const { return Atomic::load_acquire(&_init_state); }
521 const char* init_state_name() const;
522 bool is_rewritten() const { return _misc_flags.rewritten(); }
523
524 // is this a sealed class
525 bool is_sealed() const;
526
527 // defineClass specified verification
528 bool should_verify_class() const { return _misc_flags.should_verify_class(); }
529 void set_should_verify_class(bool value) { _misc_flags.set_should_verify_class(value); }
530
531 // marking
532 bool is_marked_dependent() const { return _misc_flags.is_marked_dependent(); }
533 void set_is_marked_dependent(bool value) { _misc_flags.set_is_marked_dependent(value); }
534
535 // initialization (virtuals from Klass)
536 bool should_be_initialized() const; // means that initialize should be called
537 void initialize_with_aot_initialized_mirror(TRAPS);
538 void assert_no_clinit_will_run_for_aot_initialized_class() const NOT_DEBUG_RETURN;
539 void initialize(TRAPS);
540 void initialize_preemptable(TRAPS);
541 void link_class(TRAPS);
542 bool link_class_or_fail(TRAPS); // returns false on failure
543 void rewrite_class(TRAPS);
544 void link_methods(TRAPS);
545 Method* class_initializer() const;
546 bool interface_needs_clinit_execution_as_super(bool also_check_supers=true) const;
547
548 // reference type
549 ReferenceType reference_type() const { return (ReferenceType)_reference_type; }
550
551 // this class cp index
552 u2 this_class_index() const { return _this_class_index; }
553 void set_this_class_index(u2 index) { _this_class_index = index; }
554
555 static ByteSize reference_type_offset() { return byte_offset_of(InstanceKlass, _reference_type); }
556
557 // find local field, returns true if found
558 bool find_local_field(Symbol* name, Symbol* sig, fieldDescriptor* fd) const;
559 // find field in direct superinterfaces, returns the interface in which the field is defined
560 Klass* find_interface_field(Symbol* name, Symbol* sig, fieldDescriptor* fd) const;
|