< prev index next >

src/hotspot/share/oops/instanceKlass.hpp

Print this page

        

*** 237,252 **** // code source was found to be matching the value recorded by AOT. _misc_is_scratch_class = 1 << 11, // class is the redefined scratch class _misc_is_shared_boot_class = 1 << 12, // defining class loader is boot class loader _misc_is_shared_platform_class = 1 << 13, // defining class loader is platform class loader _misc_is_shared_app_class = 1 << 14, // defining class loader is app class loader ! _misc_has_resolved_methods = 1 << 15 // resolved methods table entries added for this class }; u2 loader_type_bits() { return _misc_is_shared_boot_class|_misc_is_shared_platform_class|_misc_is_shared_app_class; } ! u2 _misc_flags; u2 _minor_version; // minor version number of class file u2 _major_version; // major version number of class file Thread* _init_thread; // Pointer to current thread doing initialization (to handle recusive initialization) OopMapCache* volatile _oop_map_cache; // OopMapCache for all methods in the klass (allocated lazily) JNIid* _jni_ids; // First JNI identifier for static fields in this class --- 237,253 ---- // code source was found to be matching the value recorded by AOT. _misc_is_scratch_class = 1 << 11, // class is the redefined scratch class _misc_is_shared_boot_class = 1 << 12, // defining class loader is boot class loader _misc_is_shared_platform_class = 1 << 13, // defining class loader is platform class loader _misc_is_shared_app_class = 1 << 14, // defining class loader is app class loader ! _misc_has_resolved_methods = 1 << 15, // resolved methods table entries added for this class ! _misc_is_nonfindable = 1 << 16 // is a non findable class, not stored in the SystemDictionary. }; u2 loader_type_bits() { return _misc_is_shared_boot_class|_misc_is_shared_platform_class|_misc_is_shared_app_class; } ! u4 _misc_flags; u2 _minor_version; // minor version number of class file u2 _major_version; // major version number of class file Thread* _init_thread; // Pointer to current thread doing initialization (to handle recusive initialization) OopMapCache* volatile _oop_map_cache; // OopMapCache for all methods in the klass (allocated lazily) JNIid* _jni_ids; // First JNI identifier for static fields in this class
*** 443,452 **** --- 444,455 ---- void set_nest_members(Array<u2>* m) { _nest_members = m; } // nest-host index jushort nest_host_index() const { return _nest_host_index; } void set_nest_host_index(u2 i) { _nest_host_index = i; } + // dynamic nest member support + void set_nest_host(InstanceKlass* host, TRAPS); private: // Called to verify that k is a member of this nest - does not look at k's nest-host bool has_nest_member(InstanceKlass* k, TRAPS) const; public:
*** 662,671 **** --- 665,685 ---- } else { _misc_flags &= ~_misc_is_unsafe_anonymous; } } + bool is_nonfindable() const { + return (_misc_flags & _misc_is_nonfindable) != 0; + } + void set_is_nonfindable(bool value) { + if (value) { + _misc_flags |= _misc_is_nonfindable; + } else { + _misc_flags &= ~_misc_is_nonfindable; + } + } + bool is_contended() const { return (_misc_flags & _misc_is_contended) != 0; } void set_is_contended(bool value) { if (value) {
*** 753,764 **** _misc_flags &= ~_misc_has_passed_fingerprint_check; } } bool supers_have_passed_fingerprint_checks(); ! static bool should_store_fingerprint(bool is_unsafe_anonymous); ! bool should_store_fingerprint() const { return should_store_fingerprint(is_unsafe_anonymous()); } bool has_stored_fingerprint() const; uint64_t get_stored_fingerprint() const; void store_fingerprint(uint64_t fingerprint); bool is_scratch_class() const { --- 767,778 ---- _misc_flags &= ~_misc_has_passed_fingerprint_check; } } bool supers_have_passed_fingerprint_checks(); ! static bool should_store_fingerprint(bool is_nonfindable); ! bool should_store_fingerprint() const { return should_store_fingerprint(is_nonfindable() || is_unsafe_anonymous()); } bool has_stored_fingerprint() const; uint64_t get_stored_fingerprint() const; void store_fingerprint(uint64_t fingerprint); bool is_scratch_class() const {
*** 1027,1050 **** // Sizing (in words) static int header_size() { return sizeof(InstanceKlass)/wordSize; } static int size(int vtable_length, int itable_length, int nonstatic_oop_map_size, ! bool is_interface, bool is_unsafe_anonymous, bool has_stored_fingerprint) { return align_metadata_size(header_size() + vtable_length + itable_length + nonstatic_oop_map_size + (is_interface ? (int)sizeof(Klass*)/wordSize : 0) + ! (is_unsafe_anonymous ? (int)sizeof(Klass*)/wordSize : 0) + (has_stored_fingerprint ? (int)sizeof(uint64_t*)/wordSize : 0)); } int size() const { return size(vtable_length(), itable_length(), nonstatic_oop_map_size(), is_interface(), ! is_unsafe_anonymous(), has_stored_fingerprint()); } #if INCLUDE_SERVICES virtual void collect_statistics(KlassSizeStats *sz) const; #endif --- 1041,1064 ---- // Sizing (in words) static int header_size() { return sizeof(InstanceKlass)/wordSize; } static int size(int vtable_length, int itable_length, int nonstatic_oop_map_size, ! bool is_interface, bool is_nonfindable, bool has_stored_fingerprint) { return align_metadata_size(header_size() + vtable_length + itable_length + nonstatic_oop_map_size + (is_interface ? (int)sizeof(Klass*)/wordSize : 0) + ! (is_nonfindable ? (int)sizeof(Klass*)/wordSize : 0) + (has_stored_fingerprint ? (int)sizeof(uint64_t*)/wordSize : 0)); } int size() const { return size(vtable_length(), itable_length(), nonstatic_oop_map_size(), is_interface(), ! (is_nonfindable() || is_unsafe_anonymous()), has_stored_fingerprint()); } #if INCLUDE_SERVICES virtual void collect_statistics(KlassSizeStats *sz) const; #endif
< prev index next >