# HG changeset patch # User stuefe # Date 1572347239 -3600 # Node ID d888a9d9f9a51ff9181f6e350dd118a220c504bd # Parent 55ce65813b62e43878cd18082ab2c0b35f696538 Add experimental switch to force ccs to a specific address diff -r 55ce65813b62 -r d888a9d9f9a5 src/hotspot/share/memory/metaspace.cpp --- a/src/hotspot/share/memory/metaspace.cpp Tue Oct 29 08:56:10 2019 +0100 +++ b/src/hotspot/share/memory/metaspace.cpp Tue Oct 29 12:07:19 2019 +0100 @@ -824,6 +824,10 @@ #ifdef _LP64 if (using_class_space()) { char* base = (char*)align_up(CompressedOops::end(), _reserve_alignment); + if (ForceCompressedClassSpaceStartAddress != 0) { + base = (char*)ForceCompressedClassSpaceStartAddress; + log_debug(gc, metaspace)("Forcing class space start address to " PTR_FORMAT ".", p2i(base)); + } allocate_metaspace_compressed_klass_ptrs(base, 0); } #endif // _LP64 diff -r 55ce65813b62 -r d888a9d9f9a5 src/hotspot/share/runtime/globals.hpp --- a/src/hotspot/share/runtime/globals.hpp Tue Oct 29 08:56:10 2019 +0100 +++ b/src/hotspot/share/runtime/globals.hpp Tue Oct 29 12:07:19 2019 +0100 @@ -1610,6 +1610,9 @@ "class pointers are used") \ range(1*M, 3*G) \ \ + experimental(uintx, ForceCompressedClassSpaceStartAddress, 0, \ + "Force class space start address to a given value.") \ + \ product(ccstr, MetaspaceReclaimStrategy, "balanced", \ "options: balanced, aggressive, none") \ \