130 static void dump_open_archive_heap_objects(GrowableArray<MemRegion> * open_archive) NOT_CDS_JAVA_HEAP_RETURN;
131 static void set_open_archive_heap_region_mapped() {
132 CDS_JAVA_HEAP_ONLY(_open_archive_heap_region_mapped = true);
133 NOT_CDS_JAVA_HEAP_RETURN;
134 }
135 static bool open_archive_heap_region_mapped() {
136 CDS_JAVA_HEAP_ONLY(return _open_archive_heap_region_mapped);
137 NOT_CDS_JAVA_HEAP_RETURN_(false);
138 }
139
140 static ReservedSpace* shared_rs() {
141 CDS_ONLY(return &_shared_rs);
142 NOT_CDS(return NULL);
143 }
144 static void commit_shared_space_to(char* newtop) NOT_CDS_RETURN;
145 static size_t core_spaces_size() {
146 return _core_spaces_size;
147 }
148 static void initialize_dumptime_shared_and_meta_spaces() NOT_CDS_RETURN;
149 static void initialize_runtime_shared_and_meta_spaces() NOT_CDS_RETURN;
150
151 // Delta of this object from the bottom of the archive.
152 static uintx object_delta(void* obj) {
153 assert(DumpSharedSpaces, "supported only for dumping");
154 assert(shared_rs()->contains(obj), "must be");
155 address base_address = address(shared_rs()->base());
156 uintx delta = address(obj) - base_address;
157 return delta;
158 }
159
160 static void set_archive_loading_failed() {
161 _archive_loading_failed = true;
162 }
163 static bool map_shared_spaces(FileMapInfo* mapinfo) NOT_CDS_RETURN_(false);
164 static void initialize_shared_spaces() NOT_CDS_RETURN;
165
166 // Return true if given address is in the shared metaspace regions (i.e., excluding any
167 // mapped shared heap regions.)
168 static bool is_in_shared_metaspace(const void* p) {
169 // If no shared metaspace regions are mapped, MetaspceObj::_shared_metaspace_{base,top} will
233 size_t byte_size = Array<T>::byte_sizeof(length, sizeof(T));
234 Array<T>* array = (Array<T>*)read_only_space_alloc(byte_size);
235 array->initialize(length);
236 return array;
237 #else
238 return NULL;
239 #endif
240 }
241
242 static address cds_i2i_entry_code_buffers(size_t total_size);
243
244 static address cds_i2i_entry_code_buffers() {
245 return _cds_i2i_entry_code_buffers;
246 }
247 static size_t cds_i2i_entry_code_buffers_size() {
248 return _cds_i2i_entry_code_buffers_size;
249 }
250 static void relocate_klass_ptr(oop o);
251
252 static Klass* get_relocated_klass(Klass *k);
253 };
254 #endif // SHARE_VM_MEMORY_METASPACESHARED_HPP
|
130 static void dump_open_archive_heap_objects(GrowableArray<MemRegion> * open_archive) NOT_CDS_JAVA_HEAP_RETURN;
131 static void set_open_archive_heap_region_mapped() {
132 CDS_JAVA_HEAP_ONLY(_open_archive_heap_region_mapped = true);
133 NOT_CDS_JAVA_HEAP_RETURN;
134 }
135 static bool open_archive_heap_region_mapped() {
136 CDS_JAVA_HEAP_ONLY(return _open_archive_heap_region_mapped);
137 NOT_CDS_JAVA_HEAP_RETURN_(false);
138 }
139
140 static ReservedSpace* shared_rs() {
141 CDS_ONLY(return &_shared_rs);
142 NOT_CDS(return NULL);
143 }
144 static void commit_shared_space_to(char* newtop) NOT_CDS_RETURN;
145 static size_t core_spaces_size() {
146 return _core_spaces_size;
147 }
148 static void initialize_dumptime_shared_and_meta_spaces() NOT_CDS_RETURN;
149 static void initialize_runtime_shared_and_meta_spaces() NOT_CDS_RETURN;
150 static void post_initialize(TRAPS) NOT_CDS_RETURN;
151
152 // Delta of this object from the bottom of the archive.
153 static uintx object_delta(void* obj) {
154 assert(DumpSharedSpaces, "supported only for dumping");
155 assert(shared_rs()->contains(obj), "must be");
156 address base_address = address(shared_rs()->base());
157 uintx delta = address(obj) - base_address;
158 return delta;
159 }
160
161 static void set_archive_loading_failed() {
162 _archive_loading_failed = true;
163 }
164 static bool map_shared_spaces(FileMapInfo* mapinfo) NOT_CDS_RETURN_(false);
165 static void initialize_shared_spaces() NOT_CDS_RETURN;
166
167 // Return true if given address is in the shared metaspace regions (i.e., excluding any
168 // mapped shared heap regions.)
169 static bool is_in_shared_metaspace(const void* p) {
170 // If no shared metaspace regions are mapped, MetaspceObj::_shared_metaspace_{base,top} will
234 size_t byte_size = Array<T>::byte_sizeof(length, sizeof(T));
235 Array<T>* array = (Array<T>*)read_only_space_alloc(byte_size);
236 array->initialize(length);
237 return array;
238 #else
239 return NULL;
240 #endif
241 }
242
243 static address cds_i2i_entry_code_buffers(size_t total_size);
244
245 static address cds_i2i_entry_code_buffers() {
246 return _cds_i2i_entry_code_buffers;
247 }
248 static size_t cds_i2i_entry_code_buffers_size() {
249 return _cds_i2i_entry_code_buffers_size;
250 }
251 static void relocate_klass_ptr(oop o);
252
253 static Klass* get_relocated_klass(Klass *k);
254
255 private:
256 static void read_extra_data(const char* filename, TRAPS) NOT_CDS_RETURN;
257 };
258 #endif // SHARE_VM_MEMORY_METASPACESHARED_HPP
|