779
780 static void compute_offsets();
781
782 public:
783 static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
784
785 // Allocation
786 static Handle create(Handle loader, Handle module_name, TRAPS);
787
788 // Testers
789 static bool is_instance(oop obj);
790
791 // Accessors
792 static oop loader(oop module);
793 static void set_loader(oop module, oop value);
794
795 static oop name(oop module);
796 static void set_name(oop module, oop value);
797
798 static ModuleEntry* module_entry(oop module);
799 static void set_module_entry(oop module, ModuleEntry* module_entry);
800
801 friend class JavaClasses;
802 };
803
804 // Interface to jdk.internal.reflect.ConstantPool objects
805 class reflect_ConstantPool {
806 private:
807 // Note that to reduce dependencies on the JDK we compute these
808 // offsets at run-time.
809 static int _oop_offset;
810
811 static void compute_offsets();
812
813 public:
814 static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
815
816 // Allocation
817 static Handle create(TRAPS);
818
1690
1691 class JavaClasses : AllStatic {
1692 private:
1693
1694 static InjectedField _injected_fields[];
1695
1696 static bool check_offset(const char *klass_name, int offset, const char *field_name, const char* field_sig) PRODUCT_RETURN0;
1697 public:
1698 enum InjectedFieldID {
1699 ALL_INJECTED_FIELDS(DECLARE_INJECTED_FIELD_ENUM)
1700 MAX_enum
1701 };
1702
1703 static int compute_injected_offset(InjectedFieldID id);
1704
1705 static void compute_offsets();
1706 static void check_offsets() PRODUCT_RETURN;
1707 static void serialize_offsets(SerializeClosure* soc) NOT_CDS_RETURN;
1708 static InjectedField* get_injected(Symbol* class_name, int* field_count);
1709 static bool is_supported_for_archiving(oop obj) NOT_CDS_JAVA_HEAP_RETURN_(false);
1710 };
1711
1712 #undef DECLARE_INJECTED_FIELD_ENUM
1713
1714 #undef CHECK_INIT
1715 #endif // SHARE_CLASSFILE_JAVACLASSES_HPP
|
779
780 static void compute_offsets();
781
782 public:
783 static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
784
785 // Allocation
786 static Handle create(Handle loader, Handle module_name, TRAPS);
787
788 // Testers
789 static bool is_instance(oop obj);
790
791 // Accessors
792 static oop loader(oop module);
793 static void set_loader(oop module, oop value);
794
795 static oop name(oop module);
796 static void set_name(oop module, oop value);
797
798 static ModuleEntry* module_entry(oop module);
799 static ModuleEntry* module_entry_raw(oop module);
800 static void set_module_entry(oop module, ModuleEntry* module_entry);
801
802 friend class JavaClasses;
803 };
804
805 // Interface to jdk.internal.reflect.ConstantPool objects
806 class reflect_ConstantPool {
807 private:
808 // Note that to reduce dependencies on the JDK we compute these
809 // offsets at run-time.
810 static int _oop_offset;
811
812 static void compute_offsets();
813
814 public:
815 static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
816
817 // Allocation
818 static Handle create(TRAPS);
819
1691
1692 class JavaClasses : AllStatic {
1693 private:
1694
1695 static InjectedField _injected_fields[];
1696
1697 static bool check_offset(const char *klass_name, int offset, const char *field_name, const char* field_sig) PRODUCT_RETURN0;
1698 public:
1699 enum InjectedFieldID {
1700 ALL_INJECTED_FIELDS(DECLARE_INJECTED_FIELD_ENUM)
1701 MAX_enum
1702 };
1703
1704 static int compute_injected_offset(InjectedFieldID id);
1705
1706 static void compute_offsets();
1707 static void check_offsets() PRODUCT_RETURN;
1708 static void serialize_offsets(SerializeClosure* soc) NOT_CDS_RETURN;
1709 static InjectedField* get_injected(Symbol* class_name, int* field_count);
1710 static bool is_supported_for_archiving(oop obj) NOT_CDS_JAVA_HEAP_RETURN_(false);
1711 static void compute_offset(int &dest_offset,
1712 InstanceKlass* ik, Symbol* name_symbol, Symbol* signature_symbol,
1713 bool is_static = false);
1714 static void compute_offset(int& dest_offset, InstanceKlass* ik,
1715 const char* name_string, Symbol* signature_symbol,
1716 bool is_static = false);
1717 };
1718
1719 #undef DECLARE_INJECTED_FIELD_ENUM
1720
1721 #undef CHECK_INIT
1722 #endif // SHARE_CLASSFILE_JAVACLASSES_HPP
|