8212995: Placing the Integer.IntegerCache and cached Integer objects in the closed archive heap region

Support shareable archive object subgraphs in closed archive heap regions.

Reviewed-by: iklam, ccheung
This commit is contained in:
Jiangli Zhou 2018-11-03 15:40:19 -04:00
parent e3a2417b63
commit 80ad2c7e71
9 changed files with 284 additions and 174 deletions

View file

@ -78,7 +78,6 @@ static CompactHashtable<
// --------------------------------------------------------------------------
StringTable* StringTable::_the_table = NULL;
volatile bool StringTable::_shared_string_mapped = false;
volatile bool StringTable::_alt_hash = false;
static juint murmur_seed = 0;
@ -871,7 +870,7 @@ void StringTable::serialize_shared_table_header(SerializeClosure* soc) {
if (soc->writing()) {
// Sanity. Make sure we don't use the shared table at dump time
_shared_table.reset();
} else if (!_shared_string_mapped) {
} else if (!HeapShared::closed_archive_heap_region_mapped()) {
_shared_table.reset();
}
}