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