92
93 public:
94
95 static void ergo_initialize();
96 static void global_initialize();
97 static void post_initialize();
98
99 // Alignment, in bytes, of metaspace mappings
100 static size_t reserve_alignment() { return reserve_alignment_words() * BytesPerWord; }
101 // Alignment, in words, of metaspace mappings
102 static size_t reserve_alignment_words();
103
104 // The granularity at which Metaspace is committed and uncommitted.
105 // (Todo: Why does this have to be exposed?)
106 static size_t commit_alignment() { return commit_alignment_words() * BytesPerWord; }
107 static size_t commit_alignment_words();
108
109 // The largest possible single allocation
110 static size_t max_allocation_word_size();
111
112 static MetaWord* allocate(ClassLoaderData* loader_data, size_t word_size,
113 MetaspaceObj::Type type, TRAPS);
114
115 // Non-TRAPS version of allocate which can be called by a non-Java thread, that returns
116 // NULL on failure.
117 static MetaWord* allocate(ClassLoaderData* loader_data, size_t word_size,
118 MetaspaceObj::Type type);
119
120 static bool contains(const void* ptr);
121 static bool contains_non_shared(const void* ptr);
122
123 // Free empty virtualspaces
124 static void purge();
125
126 static void report_metadata_oome(ClassLoaderData* loader_data, size_t word_size,
127 MetaspaceObj::Type type, MetadataType mdtype, TRAPS);
128
129 static const char* metadata_type_name(Metaspace::MetadataType mdtype);
130
131 static void print_compressed_class_space(outputStream* st) NOT_LP64({});
|
92
93 public:
94
95 static void ergo_initialize();
96 static void global_initialize();
97 static void post_initialize();
98
99 // Alignment, in bytes, of metaspace mappings
100 static size_t reserve_alignment() { return reserve_alignment_words() * BytesPerWord; }
101 // Alignment, in words, of metaspace mappings
102 static size_t reserve_alignment_words();
103
104 // The granularity at which Metaspace is committed and uncommitted.
105 // (Todo: Why does this have to be exposed?)
106 static size_t commit_alignment() { return commit_alignment_words() * BytesPerWord; }
107 static size_t commit_alignment_words();
108
109 // The largest possible single allocation
110 static size_t max_allocation_word_size();
111
112 // The largest allowed size for class space
113 LP64_ONLY(static size_t max_class_space_size();)
114
115 static MetaWord* allocate(ClassLoaderData* loader_data, size_t word_size,
116 MetaspaceObj::Type type, TRAPS);
117
118 // Non-TRAPS version of allocate which can be called by a non-Java thread, that returns
119 // NULL on failure.
120 static MetaWord* allocate(ClassLoaderData* loader_data, size_t word_size,
121 MetaspaceObj::Type type);
122
123 static bool contains(const void* ptr);
124 static bool contains_non_shared(const void* ptr);
125
126 // Free empty virtualspaces
127 static void purge();
128
129 static void report_metadata_oome(ClassLoaderData* loader_data, size_t word_size,
130 MetaspaceObj::Type type, MetadataType mdtype, TRAPS);
131
132 static const char* metadata_type_name(Metaspace::MetadataType mdtype);
133
134 static void print_compressed_class_space(outputStream* st) NOT_LP64({});
|