8098821: Crash in system dictionary initialization with shared strings

Map string regions after the compressed class base is known

Co-authored-by: Mikhailo Seledtsov <mikhailo.seledtsov@oracle.com>
Reviewed-by: iklam, dcubed
This commit is contained in:
Coleen Phillimore 2015-06-17 21:44:48 +00:00
parent a6a13b5344
commit ac072b303d
5 changed files with 49 additions and 28 deletions

View file

@ -97,6 +97,8 @@ public:
int _narrow_oop_shift; // compressed oop encoding shift
uintx _max_heap_size; // java max heap size during dumping
Universe::NARROW_OOP_MODE _narrow_oop_mode; // compressed oop encoding mode
int _narrow_klass_shift; // save narrow klass base and shift
address _narrow_klass_base;
struct space_info {
int _crc; // crc checksum of the current space
@ -178,6 +180,8 @@ public:
Universe::NARROW_OOP_MODE narrow_oop_mode() { return _header->_narrow_oop_mode; }
int narrow_oop_shift() { return _header->_narrow_oop_shift; }
uintx max_heap_size() { return _header->_max_heap_size; }
address narrow_klass_base() const { return _header->_narrow_klass_base; }
int narrow_klass_shift() const { return _header->_narrow_klass_shift; }
size_t space_capacity(int i) { return _header->_space[i]._capacity; }
struct FileMapHeader* header() { return _header; }