diff -r 6e61beb13680 -r 78b2e8f46dd4 src/hotspot/share/memory/metaspace.cpp --- a/src/hotspot/share/memory/metaspace.cpp Thu Sep 19 16:28:40 2019 +0200 +++ b/src/hotspot/share/memory/metaspace.cpp Wed Sep 25 12:40:57 2019 +0200 @@ -716,6 +716,10 @@ ChunkManager* cm = new ChunkManager("class space chunk manager", vsl); ChunkManager::set_chunkmanager_class(cm); + if (metaspace::Settings::separate_micro_cld_allocations()) { + ChunkManager* cm2 = new ChunkManager("microcld class space chunk manager", vsl); + ChunkManager::set_chunkmanager_microclds_class(cm2); + } } @@ -737,17 +741,7 @@ void Metaspace::ergo_initialize() { // Must happen before using any setting from Settings::--- - metaspace::Settings::strategy_t strat = metaspace::Settings::strategy_balanced_reclaim; - if (strcmp(MetaspaceReclaimStrategy, "balanced") == 0) { - strat = metaspace::Settings::strategy_balanced_reclaim; - } else if (strcmp(MetaspaceReclaimStrategy, "aggressive") == 0) { - strat = metaspace::Settings::strategy_aggressive_reclaim; - } else if (strcmp(MetaspaceReclaimStrategy, "none") == 0) { - strat = metaspace::Settings::strategy_no_reclaim; - } else { - vm_exit_during_initialization("Invalid value for MetaspaceReclaimStrategy: \"%s\".", MetaspaceReclaimStrategy); - } - metaspace::Settings::initialize(strat); + metaspace::Settings::ergo_initialize(); if (DumpSharedSpaces) { // Using large pages when dumping the shared archive is currently not implemented. @@ -840,11 +834,16 @@ } // Initialize non-class virtual space list, and its chunk manager: - VirtualSpaceList* vsl = new VirtualSpaceList("Non-Class VirtualSpaceList", CommitLimiter::globalLimiter()); + VirtualSpaceList* vsl = new VirtualSpaceList("non-class virtualspacelist", CommitLimiter::globalLimiter()); VirtualSpaceList::set_vslist_nonclass(vsl); - ChunkManager* cm = new ChunkManager("Non-Class ChunkManager", vsl); + ChunkManager* cm = new ChunkManager("non-class chunkmanager", vsl); ChunkManager::set_chunkmanager_nonclass(cm); + if (metaspace::Settings::separate_micro_cld_allocations()) { + ChunkManager* cm2 = new ChunkManager("microcld non-class chunk manager", vsl); + ChunkManager::set_chunkmanager_microclds_nonclass(cm2); + } + _tracer = new MetaspaceTracer(); _initialized = true;