< prev index next >
src/share/vm/memory/metaspaceShared.hpp
Print this page
*** 51,60 ****
--- 51,61 ----
public:
MetaspaceSharedStats() {
memset(this, 0, sizeof(*this));
}
CompactHashtableStats symbol;
+ CompactHashtableStats string;
};
// Class Data Sharing Support
class MetaspaceShared : AllStatic {
*** 88,98 ****
enum {
ro = 0, // read-only shared space in the heap
rw = 1, // read-write shared space in the heap
md = 2, // miscellaneous data for initializing tables, etc.
mc = 3, // miscellaneous code - vtable replacement.
! n_regions = 4
};
// Accessor functions to save shared space created for metadata, which has
// extra space allocated at the end for miscellaneous data and code.
static void set_max_alignment(int alignment) {
--- 89,102 ----
enum {
ro = 0, // read-only shared space in the heap
rw = 1, // read-write shared space in the heap
md = 2, // miscellaneous data for initializing tables, etc.
mc = 3, // miscellaneous code - vtable replacement.
! max_strings = 2, // max number of string regions in string space
! num_non_strings = 4, // number of non-string regions
! first_string = num_non_strings, // index of first string region
! n_regions = max_strings + num_non_strings // total number of regions
};
// Accessor functions to save shared space created for metadata, which has
// extra space allocated at the end for miscellaneous data and code.
static void set_max_alignment(int alignment) {
*** 122,135 ****
--- 126,142 ----
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;
+ static void fixup_shared_string_regions() 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);
+ static bool is_string_region(int idx) NOT_CDS_RETURN_(false);
+
static void generate_vtable_methods(void** vtbl_list,
void** vtable,
char** md_top, char* md_end,
char** mc_top, char* mc_end);
static void serialize(SerializeClosure* sc);
< prev index next >