src/share/vm/memory/metaspaceShared.hpp
Print this page
rev 6841 : mq
rev 6842 : mq
*** 36,46 ****
class MetaspaceShared : AllStatic {
// CDS support
static ReservedSpace* _shared_rs;
static int _max_alignment;
!
public:
enum {
vtbl_list_size = 17, // number of entries in the shared space vtable list.
num_virtuals = 200 // maximum number of virtual functions
// If virtual functions are added to Metadata,
--- 36,49 ----
class MetaspaceShared : AllStatic {
// CDS support
static ReservedSpace* _shared_rs;
static int _max_alignment;
! static bool _link_classes_made_progress;
! static bool _check_classes_made_progress;
! static bool _has_error_classes;
! static bool _archive_loading_failed;
public:
enum {
vtbl_list_size = 17, // number of entries in the shared space vtable list.
num_virtuals = 200 // maximum number of virtual functions
// If virtual functions are added to Metadata,
*** 65,85 ****
--- 68,95 ----
static int max_alignment() {
CDS_ONLY(return _max_alignment);
NOT_CDS(return 0);
}
+ static void prepare_for_dumping() NOT_CDS_RETURN;
static void preload_and_dump(TRAPS) NOT_CDS_RETURN;
+ static int preload_and_dump(const char * class_list_path,
+ GrowableArray<Klass*>* class_promote_order,
+ TRAPS) NOT_CDS_RETURN;
static ReservedSpace* shared_rs() {
CDS_ONLY(return _shared_rs);
NOT_CDS(return NULL);
}
static void set_shared_rs(ReservedSpace* rs) {
CDS_ONLY(_shared_rs = rs;)
}
+ static void set_archive_loading_failed() {
+ _archive_loading_failed = true;
+ }
static bool map_shared_spaces(FileMapInfo* mapinfo) NOT_CDS_RETURN_(false);
static void initialize_shared_spaces() NOT_CDS_RETURN;
// Return true if given address is in the mapped shared space.
static bool is_in_shared_space(const void* p) NOT_CDS_RETURN_(false);
*** 95,101 ****
--- 105,116 ----
// sharing is enabled. Simply returns true if sharing is not enabled
// or if the remapping has already been done by a prior call.
static bool remap_shared_readonly_as_readwrite() NOT_CDS_RETURN_(true);
static void print_shared_spaces();
+
+ static bool try_link_class(InstanceKlass* ik, TRAPS);
+ static void link_one_shared_class(Klass* obj, TRAPS);
+ static void check_one_shared_class(Klass* obj);
+ static void link_and_cleanup_shared_classes(TRAPS);
};
#endif // SHARE_VM_MEMORY_METASPACE_SHARED_HPP