61 f(java_lang_AssertionStatusDirectives) \
62 f(java_lang_ref_SoftReference) \
63 f(java_lang_invoke_MethodHandle) \
64 f(java_lang_invoke_DirectMethodHandle) \
65 f(java_lang_invoke_MemberName) \
66 f(java_lang_invoke_ResolvedMethodName) \
67 f(java_lang_invoke_LambdaForm) \
68 f(java_lang_invoke_MethodType) \
69 f(java_lang_invoke_CallSite) \
70 f(java_lang_invoke_MethodHandleNatives_CallSiteContext) \
71 f(java_security_AccessControlContext) \
72 f(java_lang_reflect_AccessibleObject) \
73 f(java_lang_reflect_Method) \
74 f(java_lang_reflect_Constructor) \
75 f(java_lang_reflect_Field) \
76 f(java_nio_Buffer) \
77 f(reflect_ConstantPool) \
78 f(reflect_UnsafeStaticFieldAccessorImpl) \
79 f(java_lang_reflect_Parameter) \
80 f(java_lang_Module) \
81 f(java_lang_StackTraceElement) \
82 f(java_lang_StackFrameInfo) \
83 f(java_lang_LiveStackFrameInfo) \
84 f(java_util_concurrent_locks_AbstractOwnableSynchronizer) \
85 //end
86
87 #define BASIC_JAVA_CLASSES_DO(f) \
88 BASIC_JAVA_CLASSES_DO_PART1(f) \
89 BASIC_JAVA_CLASSES_DO_PART2(f)
90
91 // Interface to java.lang.String objects
92
93 class java_lang_String : AllStatic {
94 private:
95 static int value_offset;
96 static int hash_offset;
97 static int coder_offset;
98
99 static bool initialized;
100
758
759 static int index(oop reflect);
760 static void set_index(oop reflect, int value);
761
762 static int modifiers(oop reflect);
763 static void set_modifiers(oop reflect, int value);
764
765 static oop executable(oop constructor);
766 static void set_executable(oop constructor, oop value);
767
768 friend class JavaClasses;
769 };
770
771 #define MODULE_INJECTED_FIELDS(macro) \
772 macro(java_lang_Module, module_entry, intptr_signature, false)
773
774 class java_lang_Module {
775 private:
776 static int loader_offset;
777 static int name_offset;
778 static int _module_entry_offset;
779 static void compute_offsets();
780
781 public:
782 static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
783
784 // Allocation
785 static Handle create(Handle loader, Handle module_name, TRAPS);
786
787 // Testers
788 static bool is_instance(oop obj);
789
790 // Accessors
791 static oop loader(oop module);
792 static void set_loader(oop module, oop value);
793
794 static oop name(oop module);
795 static void set_name(oop module, oop value);
796
797 static ModuleEntry* module_entry(oop module);
798 static void set_module_entry(oop module, ModuleEntry* module_entry);
799
800 friend class JavaClasses;
801 };
802
803 // Interface to jdk.internal.reflect.ConstantPool objects
804 class reflect_ConstantPool {
805 private:
806 // Note that to reduce dependencies on the JDK we compute these
807 // offsets at run-time.
808 static int _oop_offset;
809
810 static void compute_offsets();
811
812 public:
813 static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
814
815 // Allocation
816 static Handle create(TRAPS);
817
818 // Accessors
|
61 f(java_lang_AssertionStatusDirectives) \
62 f(java_lang_ref_SoftReference) \
63 f(java_lang_invoke_MethodHandle) \
64 f(java_lang_invoke_DirectMethodHandle) \
65 f(java_lang_invoke_MemberName) \
66 f(java_lang_invoke_ResolvedMethodName) \
67 f(java_lang_invoke_LambdaForm) \
68 f(java_lang_invoke_MethodType) \
69 f(java_lang_invoke_CallSite) \
70 f(java_lang_invoke_MethodHandleNatives_CallSiteContext) \
71 f(java_security_AccessControlContext) \
72 f(java_lang_reflect_AccessibleObject) \
73 f(java_lang_reflect_Method) \
74 f(java_lang_reflect_Constructor) \
75 f(java_lang_reflect_Field) \
76 f(java_nio_Buffer) \
77 f(reflect_ConstantPool) \
78 f(reflect_UnsafeStaticFieldAccessorImpl) \
79 f(java_lang_reflect_Parameter) \
80 f(java_lang_Module) \
81 f(java_lang_module_ModuleDescriptor) \
82 f(java_lang_module_ModuleDescriptor_Version) \
83 f(java_lang_StackTraceElement) \
84 f(java_lang_StackFrameInfo) \
85 f(java_lang_LiveStackFrameInfo) \
86 f(java_util_concurrent_locks_AbstractOwnableSynchronizer) \
87 //end
88
89 #define BASIC_JAVA_CLASSES_DO(f) \
90 BASIC_JAVA_CLASSES_DO_PART1(f) \
91 BASIC_JAVA_CLASSES_DO_PART2(f)
92
93 // Interface to java.lang.String objects
94
95 class java_lang_String : AllStatic {
96 private:
97 static int value_offset;
98 static int hash_offset;
99 static int coder_offset;
100
101 static bool initialized;
102
760
761 static int index(oop reflect);
762 static void set_index(oop reflect, int value);
763
764 static int modifiers(oop reflect);
765 static void set_modifiers(oop reflect, int value);
766
767 static oop executable(oop constructor);
768 static void set_executable(oop constructor, oop value);
769
770 friend class JavaClasses;
771 };
772
773 #define MODULE_INJECTED_FIELDS(macro) \
774 macro(java_lang_Module, module_entry, intptr_signature, false)
775
776 class java_lang_Module {
777 private:
778 static int loader_offset;
779 static int name_offset;
780 static int module_descriptor_offset;
781 static int _module_entry_offset;
782 static void compute_offsets();
783
784 public:
785 static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
786
787 // Allocation
788 static Handle create(Handle loader, Handle module_name, TRAPS);
789
790 // Testers
791 static bool is_instance(oop obj);
792
793 // Accessors
794 static oop loader(oop module);
795 static void set_loader(oop module, oop value);
796
797 static oop name(oop module);
798 static void set_name(oop module, oop value);
799
800 static oop module_descriptor(oop module);
801
802 static ModuleEntry* module_entry(oop module);
803 static void set_module_entry(oop module, ModuleEntry* module_entry);
804
805 friend class JavaClasses;
806 };
807
808 class java_lang_module_ModuleDescriptor {
809 private:
810 static int version_offset;
811 static int raw_version_offset;
812 static void compute_offsets();
813
814 public:
815 static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
816
817 // Testers
818 static bool is_instance(oop obj);
819
820 // Accessors
821 static oop version(oop module_descriptor);
822 static oop raw_version(oop module_descriptor);
823
824 friend class JavaClasses;
825 };
826
827 class java_lang_module_ModuleDescriptor_Version {
828 private:
829 static int version_offset;
830 static void compute_offsets();
831
832 public:
833 static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
834
835 // Testers
836 static bool is_instance(oop obj);
837
838 // Accessors
839 static oop version(oop module_descriptor_version);
840
841 friend class JavaClasses;
842 };
843
844 // Interface to jdk.internal.reflect.ConstantPool objects
845 class reflect_ConstantPool {
846 private:
847 // Note that to reduce dependencies on the JDK we compute these
848 // offsets at run-time.
849 static int _oop_offset;
850
851 static void compute_offsets();
852
853 public:
854 static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
855
856 // Allocation
857 static Handle create(TRAPS);
858
859 // Accessors
|