[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