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