[aarch64-port-dev ] RFR (XS) 8252096: Shenandoah: adjust SerialPageShiftCount for x86_32 and JFR
Roman Kennke
rkennke at redhat.com
Wed Aug 26 17:05:40 UTC 2020
Looks ok to me.
Thanks,
Roman
Am Donnerstag, den 20.08.2020, 15:03 +0200 schrieb Aleksey Shipilev:
> Hi,
>
> Once I added bootcycle-images to x86_32 test configurations, this
> failure was discovered:
>
> # Internal Error (/home/shade/trunks/shenandoah-
> jdk8/hotspot/src/share/vm/runtime/os.cpp:1280),
> pid=490815, tid=0xf5fefb40
> # assert(SerializePageShiftCount == count) failed: thread size
> changed, fix SerializePageShiftCount
> constant
>
> It happens when all three things hold true:
> - JFR is enabled at build time
> - Shenandoah is enabled at build time (i.e. the build config is
> not "minimal1")
> - 32-bit VM is being built
>
> Therefore, it only affects aarch64-port/jdk8u-shenandoah, and here is
> the minimal fix that adjusts
> the constant when all three things are in effect at the same time:
>
> diff -r ed70d5208f5f src/share/vm/utilities/globalDefinitions.hpp
> --- a/src/share/vm/utilities/globalDefinitions.hpp Mon Jun 22
> 20:26:02 2020 +0800
> +++ b/src/share/vm/utilities/globalDefinitions.hpp Thu Aug 20
> 13:03:44 2020 +0200
> @@ -143,12 +143,18 @@
> // log2_intptr(sizeof(class JavaThread)) - log2_intptr(64);
> // see os::set_memory_serialize_page()
> #ifdef _LP64
> const int SerializePageShiftCount = 4;
> #else
> +#if INCLUDE_JFR && INCLUDE_ALL_GCS
> +// JavaThread already has quite a few Shenandoah fields. Adding many
> JFR fields
> +// trips sizeof(JavaThread) > 1024. Need to adjust it here.
> +const int SerializePageShiftCount = 4;
> +#else
> const int SerializePageShiftCount = 3;
> #endif
> +#endif
>
> // An opaque struct of heap-word width, so that HeapWord* can be a
> generic
> // pointer into the heap. We require that object sizes be measured
> in
> // units of heap words, so that that
> // HeapWord* hw;
>
>
> Testing: Linux {x86_64, x86_32} x {zero, minimal1, server} x
> {default, jfr} bootcycle-images build
>
More information about the aarch64-port-dev
mailing list