< prev index next > src/hotspot/share/oops/instanceKlass.hpp
Print this page
/*
! * Copyright (c) 1997, 2025, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
/*
! * Copyright (c) 1997, 2026, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
bool is_reentrant_initialization(Thread *thread) { return thread == _init_thread; }
ClassState init_state() const { return AtomicAccess::load_acquire(&_init_state); }
const char* init_state_name() const;
bool is_rewritten() const { return _misc_flags.rewritten(); }
+ static const char* state2name(ClassState state);
+
// is this a sealed class
bool is_sealed() const;
// defineClass specified verification
bool should_verify_class() const { return _misc_flags.should_verify_class(); }
bool is_marked_dependent() const { return _misc_flags.is_marked_dependent(); }
void set_is_marked_dependent(bool value) { _misc_flags.set_is_marked_dependent(value); }
// initialization (virtuals from Klass)
bool should_be_initialized() const override; // means that initialize should be called
! void initialize_with_aot_initialized_mirror(TRAPS);
void assert_no_clinit_will_run_for_aot_initialized_class() const NOT_DEBUG_RETURN;
void initialize(TRAPS) override;
void initialize_preemptable(TRAPS) override;
void link_class(TRAPS);
bool link_class_or_fail(TRAPS); // returns false on failure
bool is_marked_dependent() const { return _misc_flags.is_marked_dependent(); }
void set_is_marked_dependent(bool value) { _misc_flags.set_is_marked_dependent(value); }
// initialization (virtuals from Klass)
bool should_be_initialized() const override; // means that initialize should be called
! void initialize_with_aot_initialized_mirror(bool early_init, TRAPS);
void assert_no_clinit_will_run_for_aot_initialized_class() const NOT_DEBUG_RETURN;
void initialize(TRAPS) override;
void initialize_preemptable(TRAPS) override;
void link_class(TRAPS);
bool link_class_or_fail(TRAPS); // returns false on failure
Array<AnnotationArray*>* fields_type_annotations() const {
return (_annotations != nullptr) ? _annotations->fields_type_annotations() : nullptr;
}
// allocation
instanceOop allocate_instance(TRAPS);
! static instanceOop allocate_instance(oop cls, TRAPS);
// additional member function to return a handle
instanceHandle allocate_instance_handle(TRAPS);
// Helper function
Array<AnnotationArray*>* fields_type_annotations() const {
return (_annotations != nullptr) ? _annotations->fields_type_annotations() : nullptr;
}
// allocation
instanceOop allocate_instance(TRAPS);
! static instanceOop allocate_instance(oop cls, const char* who, TRAPS);
// additional member function to return a handle
instanceHandle allocate_instance_handle(TRAPS);
// Helper function
< prev index next >