521 ClassState init_state() const { return AtomicAccess::load_acquire(&_init_state); }
522 const char* init_state_name() const;
523 bool is_rewritten() const { return _misc_flags.rewritten(); }
524
525 // is this a sealed class
526 bool is_sealed() const;
527
528 // defineClass specified verification
529 bool should_verify_class() const { return _misc_flags.should_verify_class(); }
530 void set_should_verify_class(bool value) { _misc_flags.set_should_verify_class(value); }
531
532 // marking
533 bool is_marked_dependent() const { return _misc_flags.is_marked_dependent(); }
534 void set_is_marked_dependent(bool value) { _misc_flags.set_is_marked_dependent(value); }
535
536 // initialization (virtuals from Klass)
537 bool should_be_initialized() const; // means that initialize should be called
538 void initialize_with_aot_initialized_mirror(TRAPS);
539 void assert_no_clinit_will_run_for_aot_initialized_class() const NOT_DEBUG_RETURN;
540 void initialize(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;
|
521 ClassState init_state() const { return AtomicAccess::load_acquire(&_init_state); }
522 const char* init_state_name() const;
523 bool is_rewritten() const { return _misc_flags.rewritten(); }
524
525 // is this a sealed class
526 bool is_sealed() const;
527
528 // defineClass specified verification
529 bool should_verify_class() const { return _misc_flags.should_verify_class(); }
530 void set_should_verify_class(bool value) { _misc_flags.set_should_verify_class(value); }
531
532 // marking
533 bool is_marked_dependent() const { return _misc_flags.is_marked_dependent(); }
534 void set_is_marked_dependent(bool value) { _misc_flags.set_is_marked_dependent(value); }
535
536 // initialization (virtuals from Klass)
537 bool should_be_initialized() const; // means that initialize should be called
538 void initialize_with_aot_initialized_mirror(TRAPS);
539 void assert_no_clinit_will_run_for_aot_initialized_class() const NOT_DEBUG_RETURN;
540 void initialize(TRAPS);
541 void initialize_preemptable(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;
|