CodeCacheExpansionSize too small for Zero on ppc32/ppc64
Tobias Hartmann
tobias.hartmann at oracle.com
Tue Nov 28 14:15:12 UTC 2017
Hi Adrian,
seems like this is due to my fix for JDK-8179026 [1] which now enforces the CodeCacheExpansionSize to be >=
os::vm_page_size(). I did this because in CodeCache::initialize() we align the size anyway:
CodeCacheExpansionSize = align_up(CodeCacheExpansionSize, os::vm_page_size());
Since other platforms define 32*K as their default value as well, it might be best to just set the lower limit to 32*K
instead of os::vm_page_size() and let above alignment code take care of adjusting the size.
Thanks,
Tobias
[1] http://hg.openjdk.java.net/jdk/hs/rev/7f40c1cdde28
On 28.11.2017 14:36, John Paul Adrian Glaubitz wrote:
> Hi!
>
> During my recent tests, I noticed that Zero fails to build on both ppc32
> and ppc64 with the following error message:
>
> Optimizing the exploded image
> /home/glaubitz/openjdk/hs/build/linux-ppc64-normal-zero-release/jdk/bin/java -Xms64M -Xmx1600M -XX:ThreadStackSize=1536
> -XX:+UseSerialGC -Xms32M -Xmx512M -XX:TieredStopAtLevel=1 -cp
> /home/glaubitz/openjdk/hs/build/linux-ppc64-normal-zero-release/buildtools/tools_jigsaw_classes --add-exports
> java.base/jdk.internal.module=ALL-UNNAMED build.tools.jigsaw.AddPackagesAttribute
> /home/glaubitz/openjdk/hs/build/linux-ppc64-normal-zero-release/jdk
> uintx CodeCacheExpansionSize=32768 is outside the allowed range [ 65536 ... 18446744073709551615 ]
> Error: Could not create the Java Virtual Machine.
> Error: A fatal exception has occurred. Program will exit.
> ExplodedImageOptimize.gmk:40: recipe for target
> '/home/glaubitz/openjdk/hs/build/linux-ppc64-normal-zero-release/jdk/_packages_attribute.done' failed
> make[3]: *** [/home/glaubitz/openjdk/hs/build/linux-ppc64-normal-zero-release/jdk/_packages_attribute.done] Error 1
> make[3]: Leaving directory '/home/glaubitz/openjdk/hs/make'
> make/Main.gmk:361: recipe for target 'exploded-image-optimize' failed
> make[2]: *** [exploded-image-optimize] Error 2
> make[2]: Leaving directory '/home/glaubitz/openjdk/hs
>
> Looking at ./src/hotspot/share/runtime/globals.hpp, CodeCacheExpansionSize
> is set to be 32768 bytes:
>
> define_pd_global(intx, CodeCacheExpansionSize, 32*K);
>
> Interestingly, I have not run into this issue with Zero on x86_64 or SPARC
> with other architectures currently being tested. Could it be that the
> value of CodeCacheExpansionSize has a minimum limit on ppc*? If yes, should
> we just increase it to 64k?
>
> Or maybe we have to find the place where it enforces the value on ppc* to
> be unconditionally 64k?
>
> Thanks,
> Adrian
>
More information about the hotspot-dev
mailing list