< prev index next > src/hotspot/share/memory/filemap.hpp
Print this page
bool _allow_archiving_with_java_agent; // setting of the AllowArchivingWithJavaAgent option
bool _use_optimized_module_handling;// No module-relation VM options were specified, so we can skip
// some expensive operations.
bool _use_full_module_graph; // Can we use the full archived module graph?
size_t _ptrmap_size_in_bits; // Size of pointer relocation bitmap
-
+ narrowOop _heap_obj_roots; // An objArray that stores all the roots of archived heap objects
char* from_mapped_offset(size_t offset) const {
return mapped_base_address() + offset;
}
void set_mapped_offset(char* p, size_t *offset) {
assert(p >= mapped_base_address(), "sanity");
// FIXME: These should really return int
jshort max_used_path_index() const { return _max_used_path_index; }
jshort app_module_paths_start_index() const { return _app_module_paths_start_index; }
jshort app_class_paths_start_index() const { return _app_class_paths_start_index; }
jshort num_module_paths() const { return _num_module_paths; }
+ narrowOop heap_obj_roots() const { return _heap_obj_roots; }
void set_has_platform_or_app_classes(bool v) { _has_platform_or_app_classes = v; }
void set_cloned_vtables(char* p) { set_mapped_offset(p, &_cloned_vtables_offset); }
void set_serialized_data(char* p) { set_mapped_offset(p, &_serialized_data_offset); }
void set_base_archive_name_size(size_t s) { _base_archive_name_size = s; }
void set_base_archive_is_default(bool b) { _base_archive_is_default = b; }
void set_header_size(size_t s) { _header_size = s; }
void set_ptrmap_size_in_bits(size_t s) { _ptrmap_size_in_bits = s; }
void set_mapped_base_address(char* p) { _mapped_base_address = p; }
+ void set_heap_obj_roots(narrowOop r) { _heap_obj_roots = r; }
+
void set_i2i_entry_code_buffers(address p, size_t s) {
set_mapped_offset((char*)p, &_i2i_entry_code_buffers_offset);
_i2i_entry_code_buffers_size = s;
}
< prev index next >