< prev index next >

src/hotspot/share/classfile/javaClasses.hpp

Print this page

        

*** 227,236 **** --- 227,237 ---- macro(java_lang_Class, oop_size, int_signature, false) \ macro(java_lang_Class, static_oop_field_count, int_signature, false) \ macro(java_lang_Class, protection_domain, object_signature, false) \ macro(java_lang_Class, signers, object_signature, false) \ macro(java_lang_Class, source_file, object_signature, false) \ + macro(java_lang_Class, classData, object_signature, false) class java_lang_Class : AllStatic { friend class VMStructs; friend class JVMCIVMStructs;
*** 249,258 **** --- 250,260 ---- static int _class_loader_offset; static int _module_offset; static int _component_mirror_offset; static int _name_offset; static int _source_file_offset; + static int _classData_offset; static bool offsets_computed; static int classRedefinedCount_offset; static GrowableArray<Klass*>* _fixup_mirror_list;
*** 260,278 **** static void set_init_lock(oop java_class, oop init_lock); static void set_protection_domain(oop java_class, oop protection_domain); static void set_class_loader(oop java_class, oop class_loader); static void set_component_mirror(oop java_class, oop comp_mirror); ! static void initialize_mirror_fields(Klass* k, Handle mirror, Handle protection_domain, TRAPS); static void set_mirror_module_field(Klass* K, Handle mirror, Handle module, TRAPS); public: static void allocate_fixup_lists(); static void compute_offsets(); // Instance creation static void create_mirror(Klass* k, Handle class_loader, Handle module, ! Handle protection_domain, TRAPS); static void fixup_mirror(Klass* k, TRAPS); static oop create_basic_type_mirror(const char* basic_type_name, BasicType type, TRAPS); // Archiving static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; --- 262,281 ---- static void set_init_lock(oop java_class, oop init_lock); static void set_protection_domain(oop java_class, oop protection_domain); static void set_class_loader(oop java_class, oop class_loader); static void set_component_mirror(oop java_class, oop comp_mirror); ! static void initialize_mirror_fields(Klass* k, Handle mirror, Handle protection_domain, ! Handle classData, TRAPS); static void set_mirror_module_field(Klass* K, Handle mirror, Handle module, TRAPS); public: static void allocate_fixup_lists(); static void compute_offsets(); // Instance creation static void create_mirror(Klass* k, Handle class_loader, Handle module, ! Handle protection_domain, Handle classData, TRAPS); static void fixup_mirror(Klass* k, TRAPS); static oop create_basic_type_mirror(const char* basic_type_name, BasicType type, TRAPS); // Archiving static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
*** 314,323 **** --- 317,328 ---- static oop protection_domain(oop java_class); static oop init_lock(oop java_class); static oop component_mirror(oop java_class); static objArrayOop signers(oop java_class); static void set_signers(oop java_class, objArrayOop signers); + static oop class_data(oop java_class); + static void set_class_data(oop java_class, oop classData); static oop class_loader(oop java_class); static void set_module(oop java_class, oop module); static oop module(oop java_class);
*** 1124,1143 **** static bool is_method(oop obj); // Relevant integer codes (keep these in synch. with MethodHandleNatives.Constants): enum { ! MN_IS_METHOD = 0x00010000, // method (not constructor) ! MN_IS_CONSTRUCTOR = 0x00020000, // constructor ! MN_IS_FIELD = 0x00040000, // field ! MN_IS_TYPE = 0x00080000, // nested type ! MN_CALLER_SENSITIVE = 0x00100000, // @CallerSensitive annotation detected ! MN_REFERENCE_KIND_SHIFT = 24, // refKind ! MN_REFERENCE_KIND_MASK = 0x0F000000 >> MN_REFERENCE_KIND_SHIFT, // The SEARCH_* bits are not for MN.flags but for the matchFlags argument of MHN.getMembers: ! MN_SEARCH_SUPERCLASSES = 0x00100000, // walk super classes ! MN_SEARCH_INTERFACES = 0x00200000 // walk implemented interfaces }; // Accessors for code generation: static int clazz_offset_in_bytes() { return _clazz_offset; } static int type_offset_in_bytes() { return _type_offset; } --- 1129,1152 ---- static bool is_method(oop obj); // Relevant integer codes (keep these in synch. with MethodHandleNatives.Constants): enum { ! MN_IS_METHOD = 0x00010000, // method (not constructor) ! MN_IS_CONSTRUCTOR = 0x00020000, // constructor ! MN_IS_FIELD = 0x00040000, // field ! MN_IS_TYPE = 0x00080000, // nested type ! MN_CALLER_SENSITIVE = 0x00100000, // @CallerSensitive annotation detected ! MN_REFERENCE_KIND_SHIFT = 24, // refKind ! MN_REFERENCE_KIND_MASK = 0x0F000000 >> MN_REFERENCE_KIND_SHIFT, // The SEARCH_* bits are not for MN.flags but for the matchFlags argument of MHN.getMembers: ! MN_SEARCH_SUPERCLASSES = 0x00100000, // walk super classes ! MN_SEARCH_INTERFACES = 0x00200000, // walk implemented interfaces ! MN_NESTMATE_CLASS = 0x00000001, ! MN_NONFINDABLE_CLASS = 0x00000002, ! MN_WEAK_CLASS = 0x00000004, ! MN_ACCESS_VM_ANNOTATIONS = 0x00100000 }; // Accessors for code generation: static int clazz_offset_in_bytes() { return _clazz_offset; } static int type_offset_in_bytes() { return _type_offset; }
< prev index next >