[aarch64-port-dev ] RFR(XXS) JDK-8154379: MIN_STACK_SHADOW_PAGES should equal DEFAULT_STACK_SHADOW_PAGES on aarch64
Edward Nevill
edward.nevill at gmail.com
Wed Apr 20 11:53:05 UTC 2016
Hi Chris,
On Tue, 2016-04-19 at 09:25 -0700, Chris Plummer wrote:
> Hello,
>
> Please review the following diff. I would appreciate it if someone could
> verify that the open aarch64 port still runs properly after this change.
> Testing with just "bin/java" should be enough.
>
> https://bugs.openjdk.java.net/browse/JDK-8154379
>
> diff --git a/src/cpu/aarch64/vm/globals_aarch64.hpp
> b/src/cpu/aarch64/vm/globals_aarch64.hpp
> --- a/src/cpu/aarch64/vm/globals_aarch64.hpp
> +++ b/src/cpu/aarch64/vm/globals_aarch64.hpp
> @@ -50,7 +50,7 @@
>
> #define MIN_STACK_YELLOW_PAGES 1
> #define MIN_STACK_RED_PAGES 1
> -#define MIN_STACK_SHADOW_PAGES 1
> +#define MIN_STACK_SHADOW_PAGES DEFAULT_STACK_SHADOW_PAGES
> #define MIN_STACK_RESERVED_PAGES (0)
>
> define_pd_global(intx, StackYellowPages, DEFAULT_STACK_YELLOW_PAGES);
I have patched this and tested it extensively (*).
However I wonder if the correct fix is not to back out the following changeset completely? I have also tested this extensively (*).
--- cut here ---
# HG changeset patch
# User enevill
# Date 1445940528 0
# Tue Oct 27 10:08:48 2015 +0000
# Node ID 0ecd612047de30414112300f6d315e4fce5c55ee
# Parent e7b4c40ebb110615f2ad3be549fd3f2adf0c44a4
8140582: aarch64: jvm fails to initialise after 8078556
Summary: jvm fails to initialise on aarch64 systems with pagesize > 4K
Reviewed-by: duke
diff -r e7b4c40ebb11 -r 0ecd612047de src/cpu/aarch64/vm/globals_aarch64.hpp
--- a/src/cpu/aarch64/vm/globals_aarch64.hpp Tue Oct 27 01:45:01 2015 -0400
+++ b/src/cpu/aarch64/vm/globals_aarch64.hpp Tue Oct 27 10:08:48 2015 +0000
@@ -59,9 +59,9 @@
#define DEFAULT_STACK_RED_PAGES (1)
#define DEFAULT_STACK_SHADOW_PAGES (4 DEBUG_ONLY(+5))
-#define MIN_STACK_YELLOW_PAGES DEFAULT_STACK_YELLOW_PAGES
-#define MIN_STACK_RED_PAGES DEFAULT_STACK_RED_PAGES
-#define MIN_STACK_SHADOW_PAGES DEFAULT_STACK_SHADOW_PAGES
+#define MIN_STACK_YELLOW_PAGES 1
+#define MIN_STACK_RED_PAGES 1
+#define MIN_STACK_SHADOW_PAGES 1
define_pd_global(intx, StackYellowPages, DEFAULT_STACK_YELLOW_PAGES);
define_pd_global(intx, StackRedPages, DEFAULT_STACK_RED_PAGES);
--- cut here ---
Backing this out reverts the MIN YELLOW/RED/SHADOW to DEFAULT YELLOW/RED/SHADOW which seems the correct thing to do.
The above changeset ( https://bugs.openjdk.java.net/browse/JDK-8140582 ) was to workaround problems introduced by ( https://bugs.openjdk.java.net/browse/JDK-8078556 )
However this has been resolved by ( https://bugs.openjdk.java.net/browse/JDK-8139864 ) so the above change should not be necessary and can be back out.
All the best,
Ed.
(*) I ran java DhryStone
More information about the aarch64-port-dev
mailing list