changeset 2972:ca45ee064071

Bump shenandoah to aarch64-shenandoah-jdk8u272-b10. Upstream changes: - [backport] 8241007: Shenandoah: remove ShenandoahCriticalControlThreadPriority support - [backport] 8241574: Shenandoah: remove ShenandoahAssertToSpaceClosure - [backport] 8242375: Shenandoah: Remove ShenandoahHeuristic::record_gc_start/end methods - [backport] 8244509: Shenandoah: refactor ShenandoahBarrierC2Support::test_* methods - [backport] 8244667: Shenandoah: SBC2Support::test_gc_state takes loop for wrong control - [backport] 8245464: Shenandoah: allocate collection set bitmap at lower addresses - [backport] 8245465: Shenandoah: test_in_cset can use more efficient encoding - [backport] 8245773: Shenandoah: Windows assertion failure after JDK-8245464 - [backport] 8247367: Shenandoah: pacer should wait on lock instead of exponential backoff - [backport] 8247593: Shenandoah: should not block pacing reporters - [backport] 8247751: Shenandoah: options tests should run with smaller heaps - [backport] 8247754: Shenandoah: mxbeans tests can be shorter - [backport] 8247757: Shenandoah: split heavy tests by heuristics to improve parallelism - [backport] 8247860: Shenandoah: add update watermark line in rich assert failure message - [backport] 8248041: Shenandoah: pre-Full GC root updates may miss some roots - [backport] 8248652: Shenandoah: SATB buffer handling may assume no forwarded objects - [backport] 8249560: Shenandoah: Fix racy GC request handling - [backport] 8249649: Shenandoah: provide per-cycle pacing stats - [backport] 8249801: Shenandoah: Clear soft-refs on requested GC cycle - [backport] 8249953: Shenandoah: gc/shenandoah/mxbeans tests should account for corner cases - JDK-8057003: Large reference arrays cause extremely long synchronization times - JDK-8060721: Test runtime/SharedArchiveFile/LimitSharedSizes.java fails in jdk 9 fcs new platforms/compiler - JDK-8064319: Need to enable -XX:+TraceExceptions in release builds - JDK-8080462: Update SunPKCS11 provider with PKCS11 v2.40 support - JDK-8184762: ZapStackSegments should use optimized memset - JDK-8193234: When using -Xcheck:jni an internally allocated buffer can leak - JDK-8219919: RuntimeStub name lost with PrintFrameConverterAssembly - JDK-8220313: [TESTBUG] Update base image for Docker testing to OL 7.6 - JDK-8222079: Don't use memset to initialize fields decode_env constructor in disassembler.cpp - JDK-8226575: OperatingSystemMXBean should be made container aware - JDK-8233624: Enhance JNI linkage - JDK-8236196: Improve string pooling - JDK-8240124: Better VM Interning - JDK-8240676: Meet not symmetric failure when running lucene on jdk8 - JDK-8241114: Better range handling - JDK-8243302: Advanced class supports - JDK-8244151: Update MUSCLE PC/SC-Lite headers to the latest release 1.8.26 - JDK-8244955: Additional Fix for JDK-8240124 - JDK-8245412: Better class definitions - JDK-8247979: aarch64: missing side effect of killing flags for clearArray_reg_reg - JDK-8249158: THREAD_START and THREAD_END event posted in primordial phase - JDK-8250627: Use -XX:+/-UseContainerSupport for enabling/disabling Java container metrics - JDK-8251120: [8u] HotSpot build assumes ENABLE_JFR is set to either true or false - JDK-8252084: Minimal VM fails to bootcycle: undefined symbol: AgeTableTracer::is_tenuring_distribution_event_enabled - JDK-8252096: Shenandoah: adjust SerialPageShiftCount for x86_32 and JFR - JDK-8252366: Shenandoah: revert/cleanup changes in graphKit.cpp - JDK-8252573: 8u: Windows build failed after 8222079 backport - JDK-8254673: Call to JvmtiExport::post_vm_start() was removed by the fix for JDK-8249158 - JDK-8254937: Revert JDK-8148854 for 8u272 - Shenandoah: enable low-frequency STW class unloading - Shenandoah: fix forceful pacer claim - Shenandoah: hook statistics printing to PrintGCDetails, not PrintGC - Shenandoah: pacer should use proper Atomics for intptr_t - Shenandoah: Zero build fails after recent Atomic cleanup in Pacer ChangeLog: 2020-10-25 Andrew John Hughes <gnu_andrew@member.fsf.org> Bump shenandoah to aarch64-shenandoah-jdk8u272-b10. * patches/hotspot/shenandoah/8251120-pr3793.patch: Removed as applied upstream. * Makefile.am: (ICEDTEA_PATCHES): Only apply JDK-8251120/PR3793 on AArch32 builds as it is included upstream in Shenandoah now. * NEWS: Updated. * hotspot.map.in: Bump shenandoah to aarch64-shenandoah-jdk8u272-b10. * patches/hotspot/aarch32/8062808-pr3548.patch, * patches/hotspot/aarch32/8251120-pr3793.patch, * patches/hotspot/aarch32/pr3593.patch: Take copies of the Shenandoah patches, so they can be changed without breaking AArch32 builds. * patches/hotspot/shenandoah/8062808-pr3548.patch: Adjusted following constantPool.hpp context change in JDK-8243302. * patches/hotspot/shenandoah/pr3593.patch, Adjust PR3593 following g1StringDedupTable.cpp context change in JDK-8240124 & JDK-8244955.
author Andrew John Hughes <gnu_andrew@member.fsf.org>
date Mon, 26 Oct 2020 06:49:22 +0000
parents 33e96de14d15
children 1f9e270d63c5
files ChangeLog Makefile.am NEWS hotspot.map.in patches/hotspot/aarch32/8062808-pr3548.patch patches/hotspot/aarch32/8251120-pr3793.patch patches/hotspot/aarch32/pr3593.patch patches/hotspot/shenandoah/8062808-pr3548.patch patches/hotspot/shenandoah/8251120-pr3793.patch patches/hotspot/shenandoah/pr3593.patch
diffstat 10 files changed, 596 insertions(+), 181 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon Oct 26 06:46:01 2020 +0000
+++ b/ChangeLog	Mon Oct 26 06:49:22 2020 +0000
@@ -1,3 +1,27 @@
+2020-10-25  Andrew John Hughes  <gnu_andrew@member.fsf.org>
+
+	Bump shenandoah to aarch64-shenandoah-jdk8u272-b10.
+	* patches/hotspot/shenandoah/8251120-pr3793.patch:
+	Removed as applied upstream.
+	* Makefile.am:
+	(ICEDTEA_PATCHES): Only apply JDK-8251120/PR3793
+	on AArch32 builds as it is included upstream in
+	Shenandoah now.
+	* NEWS: Updated.
+	* hotspot.map.in: Bump shenandoah to
+	aarch64-shenandoah-jdk8u272-b10.
+	* patches/hotspot/aarch32/8062808-pr3548.patch,
+	* patches/hotspot/aarch32/8251120-pr3793.patch,
+	* patches/hotspot/aarch32/pr3593.patch:
+	Take copies of the Shenandoah patches, so they can
+	be changed without breaking AArch32 builds.
+	* patches/hotspot/shenandoah/8062808-pr3548.patch:
+	Adjusted following constantPool.hpp context change
+	in JDK-8243302.
+	* patches/hotspot/shenandoah/pr3593.patch,
+	Adjust PR3593 following g1StringDedupTable.cpp
+	context change in JDK-8240124 & JDK-8244955.
+
 2020-10-19  Andrew John Hughes  <gnu_andrew@member.fsf.org>
 
 	PR3795: ECDSAUtils for XML digital signatures
--- a/Makefile.am	Mon Oct 26 06:46:01 2020 +0000
+++ b/Makefile.am	Mon Oct 26 06:49:22 2020 +0000
@@ -350,7 +350,8 @@
 if WITH_AARCH32_HSBUILD
 ICEDTEA_PATCHES += \
 	patches/hotspot/$(HSBUILD)/pr3548-aarch32.patch \
-	patches/hotspot/$(HSBUILD)/8078628-pr3208.patch
+	patches/hotspot/$(HSBUILD)/8078628-pr3208.patch \
+	patches/hotspot/$(HSBUILD)/8251120-pr3793.patch
 endif
 
 ICEDTEA_PATCHES += \
@@ -381,7 +382,6 @@
 	patches/hotspot/$(HSBUILD)/8076475-pr3696.patch \
 	patches/hotspot/$(HSBUILD)/pr3728.patch \
 	patches/hotspot/$(HSBUILD)/8222286-pr3727-s390.patch \
-	patches/hotspot/$(HSBUILD)/8251120-pr3793.patch \
 	patches/hotspot/$(HSBUILD)/8152358-pr3800.patch \
 	patches/hotspot/$(HSBUILD)/pr3798.patch
 
--- a/NEWS	Mon Oct 26 06:46:01 2020 +0000
+++ b/NEWS	Mon Oct 26 06:49:22 2020 +0000
@@ -347,6 +347,7 @@
   - [backport] 8240873: Shenandoah: Short-cut arraycopy barriers
   - [backport] 8240915: Shenandoah: Remove unused fields in init mark tasks
   - [backport] 8240948: Shenandoah: cleanup not-forwarded-objects paths after JDK-8240868
+  - [backport] 8241007: Shenandoah: remove ShenandoahCriticalControlThreadPriority support
   - [backport] 8241062: Shenandoah: rich asserts trigger "empty statement" inspection
   - [backport] 8241081: Shenandoah: Do not modify update-watermark concurrently
   - [backport] 8241093: Shenandoah: editorial changes in flag descriptions
@@ -356,6 +357,7 @@
   - [backport] 8241435: Shenandoah: avoid disabling pacing with "aggressive"
   - [backport] 8241520: Shenandoah: simplify region sequence numbers handling
   - [backport] 8241534: Shenandoah: region status should include update watermark
+  - [backport] 8241574: Shenandoah: remove ShenandoahAssertToSpaceClosure
   - [backport] 8241583: Shenandoah: turn heap lock asserts into macros
   - [backport] 8241668: Shenandoah: make ShenandoahHeapRegion not derive from ContiguousSpace
   - [backport] 8241673: Shenandoah: refactor anti-false-sharing padding
@@ -398,6 +400,7 @@
   - [backport] 8242316: Shenandoah: Turn NULL-check into assert in SATB slow-path entry
   - [backport] 8242353: Shenandoah: micro-optimize region liveness handling
   - [backport] 8242365: Shenandoah: use uint16_t instead of jushort for liveness cache
+  - [backport] 8242375: Shenandoah: Remove ShenandoahHeuristic::record_gc_start/end methods
   - [backport] 8242641: Shenandoah: clear live data and update TAMS optimistically
   - [backport] 8243238: Shenandoah: explicit GC request should wait for a complete GC cycle
   - [backport] 8243301: Shenandoah: ditch ShenandoahAllowMixedAllocs
@@ -414,7 +417,9 @@
   - [backport] 8244200: Shenandoah: build breakages after JDK-8241743
   - [backport] 8244226: Shenandoah: per-cycle statistics contain worker data from previous cycles
   - [backport] 8244326: Shenandoah: global statistics should not accept bogus samples
+  - [backport] 8244509: Shenandoah: refactor ShenandoahBarrierC2Support::test_* methods
   - [backport] 8244551: Shenandoah: Fix racy update of update_watermark
+  - [backport] 8244667: Shenandoah: SBC2Support::test_gc_state takes loop for wrong control
   - [backport] 8244730: Shenandoah: gc/shenandoah/options/TestHeuristicsUnlock.java should only verify the heuristics
   - [backport] 8244732: Shenandoah: move heuristics code to gc/shenandoah/heuristics
   - [backport] 8244737: Shenandoah: move mode code to gc/shenandoah/mode
@@ -422,41 +427,88 @@
   - [backport] 8244740: Shenandoah: rename ShenandoahNormalMode to ShenandoahSATBMode
   - [backport] 8245461: Shenandoah: refine mode name()-s
   - [backport] 8245463: Shenandoah: refine ShenandoahPhaseTimings constructor arguments
+  - [backport] 8245464: Shenandoah: allocate collection set bitmap at lower addresses
+  - [backport] 8245465: Shenandoah: test_in_cset can use more efficient encoding
   - [backport] 8245726: Shenandoah: lift/cleanup ShenandoahHeuristics names and properties
   - [backport] 8245754: Shenandoah: ditch ShenandoahAlwaysPreTouch
   - [backport] 8245757: Shenandoah: AlwaysPreTouch should not disable heap resizing or uncommits
+  - [backport] 8245773: Shenandoah: Windows assertion failure after JDK-8245464
   - [backport] 8245812: Shenandoah: compute root phase parallelism
   - [backport] 8245814: Shenandoah: reconsider format specifiers for stats
   - [backport] 8245825: Shenandoah: Remove diagnostic flag ShenandoahConcurrentScanCodeRoots
   - [backport] 8246162: Shenandoah: full GC does not mark code roots when class unloading is off
   - [backport] 8247310: Shenandoah: pacer should not affect interrupt status
   - [backport] 8247358: Shenandoah: reconsider free budget slice for marking
+  - [backport] 8247367: Shenandoah: pacer should wait on lock instead of exponential backoff
   - [backport] 8247474: Shenandoah: Windows build warning after JDK-8247310
   - [backport] 8247560: Shenandoah: heap iteration holds root locks all the time
+  - [backport] 8247593: Shenandoah: should not block pacing reporters
+  - [backport] 8247751: Shenandoah: options tests should run with smaller heaps
+  - [backport] 8247754: Shenandoah: mxbeans tests can be shorter
+  - [backport] 8247757: Shenandoah: split heavy tests by heuristics to improve parallelism
+  - [backport] 8247860: Shenandoah: add update watermark line in rich assert failure message
+  - [backport] 8248041: Shenandoah: pre-Full GC root updates may miss some roots
+  - [backport] 8248652: Shenandoah: SATB buffer handling may assume no forwarded objects
+  - [backport] 8249560: Shenandoah: Fix racy GC request handling
+  - [backport] 8249649: Shenandoah: provide per-cycle pacing stats
+  - [backport] 8249801: Shenandoah: Clear soft-refs on requested GC cycle
+  - [backport] 8249953: Shenandoah: gc/shenandoah/mxbeans tests should account for corner cases
   - Fix slowdebug build after JDK-8230853 backport
+  - JDK-8057003: Large reference arrays cause extremely long synchronization times
+  - JDK-8060721: Test runtime/SharedArchiveFile/LimitSharedSizes.java fails in jdk 9 fcs new platforms/compiler
+  - JDK-8064319: Need to enable -XX:+TraceExceptions in release builds
   - JDK-8161072: AArch64: jtreg compiler/uncommontrap/TestDeoptOOM failure
   - JDK-8171537: aarch64: compiler/c1/Test6849574.java generates guarantee failure in C1
+  - JDK-8184762: ZapStackSegments should use optimized memset
+  - JDK-8193234: When using -Xcheck:jni an internally allocated buffer can leak
   - JDK-8203481: Incorrect constraint for unextended_sp in frame:safe_for_sender
   - JDK-8203699: java/lang/invoke/SpecialInterfaceCall fails with SIGILL on aarch64
   - JDK-8209413: AArch64: NPE in clhsdb jstack command
   - JDK-8216989: CardTableBarrierSetAssembler::gen_write_ref_array_post_barrier() does not check for zero length on AARCH64
   - JDK-8217368: AArch64: C2 recursive stack locking optimisation not triggered
+  - JDK-8219919: RuntimeStub name lost with PrintFrameConverterAssembly
+  - JDK-8220313: [TESTBUG] Update base image for Docker testing to OL 7.6
   - JDK-8221658: aarch64: add necessary predicate for ubfx patterns
+  - JDK-8222079: Don't use memset to initialize fields decode_env constructor in disassembler.cpp
+  - JDK-8226575: OperatingSystemMXBean should be made container aware
+  - JDK-8233624: Enhance JNI linkage
+  - JDK-8236196: Improve string pooling
   - JDK-8237512: AArch64: aarch64TestHook leaks a BufferBlob
+  - JDK-8240124: Better VM Interning
+  - JDK-8240676: Meet not symmetric failure when running lucene on jdk8
+  - JDK-8241114: Better range handling
+  - JDK-8243302: Advanced class supports
+  - JDK-8244151: Update MUSCLE PC/SC-Lite headers to the latest release 1.8.26
+  - JDK-8244955: Additional Fix for JDK-8240124
+  - JDK-8245412: Better class definitions
   - JDK-8246482: Build failures with +JFR -PCH
+  - JDK-8247979: aarch64: missing side effect of killing flags for clearArray_reg_reg
   - JDK-8248219: aarch64: missing memory barrier in fast_storefield and fast_accessfield
+  - JDK-8249158: THREAD_START and THREAD_END event posted in primordial phase
+  - JDK-8250627: Use -XX:+/-UseContainerSupport for enabling/disabling Java container metrics
+  - JDK-8252084: Minimal VM fails to bootcycle: undefined symbol: AgeTableTracer::is_tenuring_distribution_event_enabled
+  - JDK-8252096: Shenandoah: adjust SerialPageShiftCount for x86_32 and JFR
+  - JDK-8252366: Shenandoah: revert/cleanup changes in graphKit.cpp
+  - JDK-8252573: 8u: Windows build failed after 8222079 backport
+  - JDK-8254673: Call to JvmtiExport::post_vm_start() was removed by the fix for JDK-8249158
+  - JDK-8254937: Revert JDK-8148854 for 8u272
   - Shenandoah: add JFR roots to root processor after JFR integration
   - Shenandoah: add root statistics for string dedup table/queues
+  - Shenandoah: enable low-frequency STW class unloading
   - Shenandoah: fix build failures after JDK-8244737 backport
   - Shenandoah: Fix build failure with +JFR -PCH
+  - Shenandoah: fix forceful pacer claim
   - Shenandoah: fix formats in ShenandoahStringSymbolTableUnlinkTask
   - Shenandoah: fix runtime linking failure due to non-compiled shenandoahBarrierSetC1
+  - Shenandoah: hook statistics printing to PrintGCDetails, not PrintGC
   - Shenandoah: JNI weak roots are always cleared before Full GC mark
   - Shenandoah: missing SystemDictionary roots in ShenandoahHeapIterationRootScanner
   - Shenandoah: move barrier sets to their proper locations
   - Shenandoah: move parallelCleaning.* to shenandoah/
+  - Shenandoah: pacer should use proper Atomics for intptr_t
   - Shenandoah: properly deallocates class loader metadata
   - Shenandoah: specialize String Table scans for better pause performance
+  - Shenandoah: Zero build fails after recent Atomic cleanup in Pacer
 * AArch64 port
   - JDK-8183925, PR3797: [AArch64] Decouple crash protection from watcher thread
   - JDK-8199712, PR3797: [AArch64] Flight Recorder
--- a/hotspot.map.in	Mon Oct 26 06:46:01 2020 +0000
+++ b/hotspot.map.in	Mon Oct 26 06:49:22 2020 +0000
@@ -1,4 +1,4 @@
 # version type(drop/hg) url changeset sha256sum
 default drop https://icedtea.classpath.org/download/drops/icedtea8/@ICEDTEA_RELEASE@ 9cc00eb32cbd ebb11a30796657254bdc365a72a9363ff022863d08db8103eab9434e9101e090
-shenandoah drop https://icedtea.classpath.org/download/drops/icedtea8/@ICEDTEA_RELEASE@ f9a4ff26a4bd 12a4c7c306d6ba24cc9a197b3625b25661214d5ac167ec0dba972823d5035fd2
+shenandoah drop https://icedtea.classpath.org/download/drops/icedtea8/@ICEDTEA_RELEASE@ efc167880db9 1718e537f195adba5f98e30d115cc15db530d3f91e88cdbaaf307ea4220f7cc9
 aarch32 drop https://icedtea.classpath.org/download/drops/icedtea8/@ICEDTEA_RELEASE@ f700065950de 4f24a61e3422be5cb406bdcf3391a89f50f3f097f444bebf79b2057f80f14e6d
--- a/patches/hotspot/aarch32/8062808-pr3548.patch	Mon Oct 26 06:46:01 2020 +0000
+++ b/patches/hotspot/aarch32/8062808-pr3548.patch	Mon Oct 26 06:49:22 2020 +0000
@@ -1,1 +1,191 @@
-../shenandoah/8062808-pr3548.patch
\ No newline at end of file
+# HG changeset patch
+# User stefank
+# Date 1525453613 -3600
+#      Fri May 04 18:06:53 2018 +0100
+# Node ID 07a1135a327362f157955d470fad5df07cc35164
+# Parent  de79964656fc652f2085dac4fe99bcc128b5a3b1
+8062808, PR3548: Turn on the -Wreturn-type warning
+Reviewed-by: mgerdin, tschatzl, coleenp, jrose, kbarrett
+
+diff --git openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make
+--- openjdk.orig/hotspot/make/linux/makefiles/gcc.make
++++ openjdk/hotspot/make/linux/makefiles/gcc.make
+@@ -210,7 +210,7 @@
+   WARNINGS_ARE_ERRORS += -Wno-return-type -Wno-empty-body -Qunused-arguments -Wno-uninitialized
+ endif
+ 
+-WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wunused-value
++WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wunused-value -Wreturn-type
+ 
+ ifeq ($(USE_CLANG),)
+   # Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit
+diff --git openjdk.orig/hotspot/src/cpu/x86/vm/x86_32.ad openjdk/hotspot/src/cpu/x86/vm/x86_32.ad
+--- openjdk.orig/hotspot/src/cpu/x86/vm/x86_32.ad
++++ openjdk/hotspot/src/cpu/x86/vm/x86_32.ad
+@@ -1250,6 +1250,7 @@
+ 
+ 
+   Unimplemented();
++  return 0; // Mute compiler
+ }
+ 
+ #ifndef PRODUCT
+diff --git openjdk.orig/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
+--- openjdk.orig/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
++++ openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
+@@ -541,6 +541,7 @@
+   err.report_and_die();
+ 
+   ShouldNotReachHere();
++  return true; // Mute compiler
+ }
+ 
+ void os::Linux::init_thread_fpu_state(void) {
+diff --git openjdk.orig/hotspot/src/share/vm/classfile/defaultMethods.cpp openjdk/hotspot/src/share/vm/classfile/defaultMethods.cpp
+--- openjdk.orig/hotspot/src/share/vm/classfile/defaultMethods.cpp
++++ openjdk/hotspot/src/share/vm/classfile/defaultMethods.cpp
+@@ -506,7 +506,7 @@
+   ss.write((const char*)name->bytes(), name->utf8_length());
+   ss.write((const char*)signature->bytes(), signature->utf8_length());
+   ss.print(" is abstract");
+-  return SymbolTable::new_symbol(ss.base(), (int)ss.size(), CHECK_NULL);
++  return SymbolTable::new_symbol(ss.base(), (int)ss.size(), THREAD);
+ }
+ 
+ Symbol* MethodFamily::generate_conflicts_message(GrowableArray<Method*>* methods, TRAPS) const {
+@@ -521,7 +521,7 @@
+     ss.print(".");
+     ss.write((const char*)name->bytes(), name->utf8_length());
+   }
+-  return SymbolTable::new_symbol(ss.base(), (int)ss.size(), CHECK_NULL);
++  return SymbolTable::new_symbol(ss.base(), (int)ss.size(), THREAD);
+ }
+ 
+ 
+diff --git openjdk.orig/hotspot/src/share/vm/classfile/symbolTable.cpp openjdk/hotspot/src/share/vm/classfile/symbolTable.cpp
+--- openjdk.orig/hotspot/src/share/vm/classfile/symbolTable.cpp
++++ openjdk/hotspot/src/share/vm/classfile/symbolTable.cpp
+@@ -249,7 +249,7 @@
+   MutexLocker ml(SymbolTable_lock, THREAD);
+ 
+   // Otherwise, add to symbol to table
+-  return the_table()->basic_add(index, (u1*)name, len, hashValue, true, CHECK_NULL);
++  return the_table()->basic_add(index, (u1*)name, len, hashValue, true, THREAD);
+ }
+ 
+ Symbol* SymbolTable::lookup(const Symbol* sym, int begin, int end, TRAPS) {
+@@ -288,7 +288,7 @@
+   // Grab SymbolTable_lock first.
+   MutexLocker ml(SymbolTable_lock, THREAD);
+ 
+-  return the_table()->basic_add(index, (u1*)buffer, len, hashValue, true, CHECK_NULL);
++  return the_table()->basic_add(index, (u1*)buffer, len, hashValue, true, THREAD);
+ }
+ 
+ Symbol* SymbolTable::lookup_only(const char* name, int len,
+diff --git openjdk.orig/hotspot/src/share/vm/classfile/systemDictionary.cpp openjdk/hotspot/src/share/vm/classfile/systemDictionary.cpp
+--- openjdk.orig/hotspot/src/share/vm/classfile/systemDictionary.cpp
++++ openjdk/hotspot/src/share/vm/classfile/systemDictionary.cpp
+@@ -229,15 +229,15 @@
+                  class_name->as_C_string(),
+                  class_loader.is_null() ? "null" : class_loader->klass()->name()->as_C_string()));
+   if (FieldType::is_array(class_name)) {
+-    return resolve_array_class_or_null(class_name, class_loader, protection_domain, CHECK_NULL);
++    return resolve_array_class_or_null(class_name, class_loader, protection_domain, THREAD);
+   } else if (FieldType::is_obj(class_name)) {
+     ResourceMark rm(THREAD);
+     // Ignore wrapping L and ;.
+     TempNewSymbol name = SymbolTable::new_symbol(class_name->as_C_string() + 1,
+                                    class_name->utf8_length() - 2, CHECK_NULL);
+-    return resolve_instance_class_or_null(name, class_loader, protection_domain, CHECK_NULL);
++    return resolve_instance_class_or_null(name, class_loader, protection_domain, THREAD);
+   } else {
+-    return resolve_instance_class_or_null(class_name, class_loader, protection_domain, CHECK_NULL);
++    return resolve_instance_class_or_null(class_name, class_loader, protection_domain, THREAD);
+   }
+ }
+ 
+diff --git openjdk.orig/hotspot/src/share/vm/memory/heapInspection.hpp openjdk/hotspot/src/share/vm/memory/heapInspection.hpp
+--- openjdk.orig/hotspot/src/share/vm/memory/heapInspection.hpp
++++ openjdk/hotspot/src/share/vm/memory/heapInspection.hpp
+@@ -367,7 +367,7 @@
+       _csv_format(csv_format), _print_help(print_help),
+       _print_class_stats(print_class_stats), _columns(columns) {}
+   void heap_inspection(outputStream* st) NOT_SERVICES_RETURN;
+-  size_t populate_table(KlassInfoTable* cit, BoolObjectClosure* filter = NULL) NOT_SERVICES_RETURN;
++  size_t populate_table(KlassInfoTable* cit, BoolObjectClosure* filter = NULL) NOT_SERVICES_RETURN_(0);
+   static void find_instances_at_safepoint(Klass* k, GrowableArray<oop>* result) NOT_SERVICES_RETURN;
+  private:
+   void iterate_over_heap(KlassInfoTable* cit, BoolObjectClosure* filter = NULL);
+diff --git openjdk.orig/hotspot/src/share/vm/memory/metaspaceShared.hpp openjdk/hotspot/src/share/vm/memory/metaspaceShared.hpp
+--- openjdk.orig/hotspot/src/share/vm/memory/metaspaceShared.hpp
++++ openjdk/hotspot/src/share/vm/memory/metaspaceShared.hpp
+@@ -93,7 +93,7 @@
+   static void preload_and_dump(TRAPS) NOT_CDS_RETURN;
+   static int preload_and_dump(const char * class_list_path,
+                               GrowableArray<Klass*>* class_promote_order,
+-                              TRAPS) NOT_CDS_RETURN;
++                              TRAPS) NOT_CDS_RETURN_(0);
+ 
+   static ReservedSpace* shared_rs() {
+     CDS_ONLY(return _shared_rs);
+diff --git openjdk.orig/hotspot/src/share/vm/oops/constantPool.hpp openjdk/hotspot/src/share/vm/oops/constantPool.hpp
+--- openjdk.orig/hotspot/src/share/vm/oops/constantPool.hpp
++++ openjdk/hotspot/src/share/vm/oops/constantPool.hpp
+@@ -352,7 +352,7 @@
+ 
+   Klass* klass_at(int which, TRAPS) {
+     constantPoolHandle h_this(THREAD, this);
+-    return klass_at_impl(h_this, which, CHECK_NULL);
++    return klass_at_impl(h_this, which, THREAD);
+   }
+ 
+   Symbol* klass_name_at(int which);  // Returns the name, w/o resolving.
+diff --git openjdk.orig/hotspot/src/share/vm/prims/jvm.cpp openjdk/hotspot/src/share/vm/prims/jvm.cpp
+--- openjdk.orig/hotspot/src/share/vm/prims/jvm.cpp
++++ openjdk/hotspot/src/share/vm/prims/jvm.cpp
+@@ -4244,7 +4244,7 @@
+     JVM_DTraceProvider* providers))
+   JVMWrapper("JVM_DTraceActivate");
+   return DTraceJSDT::activate(
+-    version, module_name, providers_count, providers, CHECK_0);
++    version, module_name, providers_count, providers, THREAD);
+ JVM_END
+ 
+ JVM_ENTRY(jboolean,JVM_DTraceIsProbeEnabled(JNIEnv* env, jmethodID method))
+diff --git openjdk.orig/hotspot/src/share/vm/runtime/reflection.cpp openjdk/hotspot/src/share/vm/runtime/reflection.cpp
+--- openjdk.orig/hotspot/src/share/vm/runtime/reflection.cpp
++++ openjdk/hotspot/src/share/vm/runtime/reflection.cpp
+@@ -1093,7 +1093,7 @@
+   } else {
+     if (rtype == T_BOOLEAN || rtype == T_BYTE || rtype == T_CHAR || rtype == T_SHORT)
+       narrow((jvalue*) result.get_value_addr(), rtype, CHECK_NULL);
+-    return box((jvalue*) result.get_value_addr(), rtype, CHECK_NULL);
++    return box((jvalue*) result.get_value_addr(), rtype, THREAD);
+   }
+ }
+ 
+diff --git openjdk.orig/hotspot/src/share/vm/runtime/sharedRuntime.cpp openjdk/hotspot/src/share/vm/runtime/sharedRuntime.cpp
+--- openjdk.orig/hotspot/src/share/vm/runtime/sharedRuntime.cpp
++++ openjdk/hotspot/src/share/vm/runtime/sharedRuntime.cpp
+@@ -1046,7 +1046,7 @@
+   // last java frame on stack (which includes native call frames)
+   vframeStream vfst(thread, true);  // Do not skip and javaCalls
+ 
+-  return find_callee_info_helper(thread, vfst, bc, callinfo, CHECK_(Handle()));
++  return find_callee_info_helper(thread, vfst, bc, callinfo, THREAD);
+ }
+ 
+ 
+diff --git openjdk.orig/hotspot/src/share/vm/services/memTracker.hpp openjdk/hotspot/src/share/vm/services/memTracker.hpp
+--- openjdk.orig/hotspot/src/share/vm/services/memTracker.hpp
++++ openjdk/hotspot/src/share/vm/services/memTracker.hpp
+@@ -64,7 +64,7 @@
+     const NativeCallStack& stack, MEMFLAGS flag = mtNone) { }
+   static inline void record_virtual_memory_commit(void* addr, size_t size, const NativeCallStack& stack) { }
+   static inline Tracker get_virtual_memory_uncommit_tracker() { return Tracker(); }
+-  static inline Tracker get_virtual_memory_release_tracker() { }
++  static inline Tracker get_virtual_memory_release_tracker() { return Tracker(); }
+   static inline void record_virtual_memory_type(void* addr, MEMFLAGS flag) { }
+   static inline void record_thread_stack(void* addr, size_t size) { }
+   static inline void release_thread_stack(void* addr, size_t size) { }
--- a/patches/hotspot/aarch32/8251120-pr3793.patch	Mon Oct 26 06:46:01 2020 +0000
+++ b/patches/hotspot/aarch32/8251120-pr3793.patch	Mon Oct 26 06:49:22 2020 +0000
@@ -1,1 +1,106 @@
-../shenandoah/8251120-pr3793.patch
\ No newline at end of file
+# HG changeset patch
+# User andrew
+# Date 1598596701 -3600
+#      Fri Aug 28 07:38:21 2020 +0100
+# Node ID 7323b2187a50e3d04cdc3b0e35bac32875e34e09
+# Parent  b73ff161ed0a57a46fdb3ed51291e39c67d880f5
+8251120, PR3793: [8u] HotSpot build assumes ENABLE_JFR is set to either true or false
+Summary: Only test for ENABLE_JFR being true, and assume undefined == false
+Reviewed-by: neugens
+
+diff --git openjdk.orig/hotspot/make/aix/makefiles/buildtree.make openjdk/hotspot/make/aix/makefiles/buildtree.make
+--- openjdk.orig/hotspot/make/aix/makefiles/buildtree.make
++++ openjdk/hotspot/make/aix/makefiles/buildtree.make
+@@ -111,7 +111,7 @@
+ endif
+ endif
+ 
+-ifeq ($(ENABLE_JFR),false)
++ifneq ($(ENABLE_JFR),true)
+ ALWAYS_EXCLUDE_DIRS += -o -name jfr
+ endif
+ 
+diff --git openjdk.orig/hotspot/make/aix/makefiles/vm.make openjdk/hotspot/make/aix/makefiles/vm.make
+--- openjdk.orig/hotspot/make/aix/makefiles/vm.make
++++ openjdk/hotspot/make/aix/makefiles/vm.make
+@@ -147,7 +147,7 @@
+ LIBJVM_DEBUGINFO   = lib$(JVM).debuginfo
+ LIBJVM_DIZ         = lib$(JVM).diz
+ 
+-ifeq ($(ENABLE_JFR),false)
++ifneq ($(ENABLE_JFR),true)
+ EXCLUDE_JFR_PATHS:= -o -name jfr -prune
+ endif
+ 
+diff --git openjdk.orig/hotspot/make/bsd/makefiles/buildtree.make openjdk/hotspot/make/bsd/makefiles/buildtree.make
+--- openjdk.orig/hotspot/make/bsd/makefiles/buildtree.make
++++ openjdk/hotspot/make/bsd/makefiles/buildtree.make
+@@ -113,7 +113,7 @@
+ endif
+ endif
+ 
+-ifeq ($(ENABLE_JFR),false)
++ifneq ($(ENABLE_JFR),true)
+ ALWAYS_EXCLUDE_DIRS += -o -name jfr
+ endif
+ 
+diff --git openjdk.orig/hotspot/make/bsd/makefiles/vm.make openjdk/hotspot/make/bsd/makefiles/vm.make
+--- openjdk.orig/hotspot/make/bsd/makefiles/vm.make
++++ openjdk/hotspot/make/bsd/makefiles/vm.make
+@@ -165,7 +165,7 @@
+   LIBJVM_DIZ         = lib$(JVM).diz
+ endif
+ 
+-ifeq ($(ENABLE_JFR),false)
++ifneq ($(ENABLE_JFR),true)
+ EXCLUDE_JFR_PATHS:= -o -name jfr -prune
+ endif
+ SPECIAL_PATHS:=adlc c1 gc_implementation opto shark libadt
+diff --git openjdk.orig/hotspot/make/linux/makefiles/buildtree.make openjdk/hotspot/make/linux/makefiles/buildtree.make
+--- openjdk.orig/hotspot/make/linux/makefiles/buildtree.make
++++ openjdk/hotspot/make/linux/makefiles/buildtree.make
+@@ -112,7 +112,7 @@
+ endif
+ endif
+ 
+-ifeq ($(ENABLE_JFR),false)
++ifneq ($(ENABLE_JFR),true)
+ ALWAYS_EXCLUDE_DIRS += -o -name jfr
+ endif
+ 
+diff --git openjdk.orig/hotspot/make/linux/makefiles/vm.make openjdk/hotspot/make/linux/makefiles/vm.make
+--- openjdk.orig/hotspot/make/linux/makefiles/vm.make
++++ openjdk/hotspot/make/linux/makefiles/vm.make
+@@ -158,7 +158,7 @@
+ LIBJVM_DEBUGINFO   = lib$(JVM).debuginfo
+ LIBJVM_DIZ         = lib$(JVM).diz
+ 
+-ifeq ($(ENABLE_JFR),false)
++ifneq ($(ENABLE_JFR),true)
+ EXCLUDE_JFR_PATHS:= -o -name jfr -prune
+ endif
+ SPECIAL_PATHS:=adlc c1 gc_implementation opto shark libadt
+diff --git openjdk.orig/hotspot/make/solaris/makefiles/buildtree.make openjdk/hotspot/make/solaris/makefiles/buildtree.make
+--- openjdk.orig/hotspot/make/solaris/makefiles/buildtree.make
++++ openjdk/hotspot/make/solaris/makefiles/buildtree.make
+@@ -103,7 +103,7 @@
+ endif
+ endif
+ 
+-ifeq ($(ENABLE_JFR),false)
++ifneq ($(ENABLE_JFR),true)
+ ALWAYS_EXCLUDE_DIRS += -o -name jfr
+ endif
+ 
+diff --git openjdk.orig/hotspot/make/solaris/makefiles/vm.make openjdk/hotspot/make/solaris/makefiles/vm.make
+--- openjdk.orig/hotspot/make/solaris/makefiles/vm.make
++++ openjdk/hotspot/make/solaris/makefiles/vm.make
+@@ -172,7 +172,7 @@
+ 
+ LIBJVM_DEBUGINFO   = lib$(JVM).debuginfo
+ LIBJVM_DIZ         = lib$(JVM).diz
+-ifeq ($(ENABLE_JFR),false)
++ifneq ($(ENABLE_JFR),true)
+ EXCLUDE_JFR_PATHS:= -o -name jfr -prune
+ endif
+ SPECIAL_PATHS:=adlc c1 dist gc_implementation opto shark libadt
--- a/patches/hotspot/aarch32/pr3593.patch	Mon Oct 26 06:46:01 2020 +0000
+++ b/patches/hotspot/aarch32/pr3593.patch	Mon Oct 26 06:49:22 2020 +0000
@@ -1,1 +1,151 @@
-../shenandoah/pr3593.patch
\ No newline at end of file
+# HG changeset patch
+# User andrew
+# Date 1526788009 -3600
+#      Sun May 20 04:46:49 2018 +0100
+# Node ID 999983606f5c61b093c6f6316a7b26c4cd4ca79e
+# Parent  7f6e1069a5719c8908b53774d3560ce851c7cd70
+PR3593: s390 needs to use '%z' format specifier for size_t arguments as size_t != int
+
+diff -Nru openjdk.orig/hotspot/src/share/vm/asm/codeBuffer.cpp openjdk/hotspot/src/share/vm/asm/codeBuffer.cpp
+--- openjdk.orig/hotspot/src/share/vm/asm/codeBuffer.cpp	2019-01-16 07:13:59.000000000 +0000
++++ openjdk/hotspot/src/share/vm/asm/codeBuffer.cpp	2019-01-31 04:10:34.516469599 +0000
+@@ -977,7 +977,7 @@
+     for (int n = (int) CodeBuffer::SECT_FIRST; n < (int) CodeBuffer::SECT_LIMIT; n++) {
+       CodeSection* sect = code_section(n);
+       if (!sect->is_allocated() || sect->is_empty())  continue;
+-      xtty->print_cr("<sect index='%d' size='" SIZE_FORMAT "' free='" SIZE_FORMAT "'/>",
++      xtty->print_cr("<sect index='%d' size='" INTX_FORMAT "' free='" INTX_FORMAT "'/>",
+                      n, sect->limit() - sect->start(), sect->limit() - sect->end());
+     }
+     xtty->print_cr("</blob>");
+diff -Nru openjdk.orig/hotspot/src/share/vm/code/codeCache.cpp openjdk/hotspot/src/share/vm/code/codeCache.cpp
+--- openjdk.orig/hotspot/src/share/vm/code/codeCache.cpp	2019-01-16 07:13:59.000000000 +0000
++++ openjdk/hotspot/src/share/vm/code/codeCache.cpp	2019-01-31 04:10:34.516469599 +0000
+@@ -192,7 +192,7 @@
+     }
+     if (PrintCodeCacheExtension) {
+       ResourceMark rm;
+-      tty->print_cr("code cache extended to [" INTPTR_FORMAT ", " INTPTR_FORMAT "] (" SSIZE_FORMAT " bytes)",
++      tty->print_cr("code cache extended to [" INTPTR_FORMAT ", " INTPTR_FORMAT "] (" INTX_FORMAT " bytes)",
+                     (intptr_t)_heap->low_boundary(), (intptr_t)_heap->high(),
+                     (address)_heap->high() - (address)_heap->low_boundary());
+     }
+diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp
+--- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp	2019-01-31 04:09:27.637523788 +0000
++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp	2019-01-31 04:11:36.563491574 +0000
+@@ -598,7 +598,7 @@
+     "   [Table]\n"
+     "      [Memory Usage: " G1_STRDEDUP_BYTES_FORMAT_NS "]\n"
+     "      [Size: " SIZE_FORMAT ", Min: " SIZE_FORMAT ", Max: " SIZE_FORMAT "]\n"
+-    "      [Entries: " UINTX_FORMAT ", Load: " G1_STRDEDUP_PERCENT_FORMAT_NS ", Cached: " UINTX_FORMAT ", Added: " UINTX_FORMAT ", Removed: " UINTX_FORMAT "]\n"
++    "      [Entries: " UINTX_FORMAT ", Load: " G1_STRDEDUP_PERCENT_FORMAT_NS ", Cached: " SIZE_FORMAT ", Added: " UINTX_FORMAT ", Removed: " UINTX_FORMAT "]\n"
+     "      [Resize Count: " UINTX_FORMAT ", Shrink Threshold: " UINTX_FORMAT "(" G1_STRDEDUP_PERCENT_FORMAT_NS "), Grow Threshold: " UINTX_FORMAT "(" G1_STRDEDUP_PERCENT_FORMAT_NS ")]\n"
+     "      [Rehash Count: " UINTX_FORMAT ", Rehash Threshold: " UINTX_FORMAT ", Hash Seed: 0x%x]\n"
+     "      [Age Threshold: " UINTX_FORMAT "]",
+diff -Nru openjdk.orig/hotspot/src/share/vm/memory/blockOffsetTable.cpp openjdk/hotspot/src/share/vm/memory/blockOffsetTable.cpp
+--- openjdk.orig/hotspot/src/share/vm/memory/blockOffsetTable.cpp	2019-01-16 07:13:59.000000000 +0000
++++ openjdk/hotspot/src/share/vm/memory/blockOffsetTable.cpp	2019-01-31 04:10:34.516469599 +0000
+@@ -57,7 +57,7 @@
+     gclog_or_tty->print_cr("BlockOffsetSharedArray::BlockOffsetSharedArray: ");
+     gclog_or_tty->print_cr("  "
+                   "  rs.base(): " INTPTR_FORMAT
+-                  "  rs.size(): " INTPTR_FORMAT
++                  "  rs.size(): " SIZE_FORMAT
+                   "  rs end(): " INTPTR_FORMAT,
+                   p2i(rs.base()), rs.size(), p2i(rs.base() + rs.size()));
+     gclog_or_tty->print_cr("  "
+diff -Nru openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp
+--- openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp	2019-01-31 04:09:27.641523725 +0000
++++ openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp	2019-01-31 04:10:34.516469599 +0000
+@@ -1056,7 +1056,8 @@
+     size_t expected = msp.scale_by_NewRatio_aligned(initial_heap_size);
+     assert(msp.initial_gen0_size() == expected, err_msg("%zu != %zu", msp.initial_gen0_size(), expected));
+     assert(FLAG_IS_ERGO(NewSize) && NewSize == expected,
+-        err_msg("NewSize should have been set ergonomically to %zu, but was %zu", expected, NewSize));
++        err_msg("NewSize should have been set ergonomically to " SIZE_FORMAT ", but was " UINTX_FORMAT,
++		expected, NewSize));
+   }
+ 
+ private:
+diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp openjdk/hotspot/src/share/vm/runtime/arguments.cpp
+--- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp	2019-01-31 04:09:27.641523725 +0000
++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp	2019-01-31 04:10:34.520469536 +0000
+@@ -1291,14 +1291,14 @@
+     }
+     if (PrintGCDetails && Verbose) {
+       // Too early to use gclog_or_tty
+-      tty->print_cr("CMS ergo set MaxNewSize: " SIZE_FORMAT, MaxNewSize);
++      tty->print_cr("CMS ergo set MaxNewSize: " UINTX_FORMAT, MaxNewSize);
+     }
+ 
+     // Code along this path potentially sets NewSize and OldSize
+     if (PrintGCDetails && Verbose) {
+       // Too early to use gclog_or_tty
+-      tty->print_cr("CMS set min_heap_size: " SIZE_FORMAT
+-           " initial_heap_size:  " SIZE_FORMAT
++      tty->print_cr("CMS set min_heap_size: " UINTX_FORMAT
++           " initial_heap_size:  " UINTX_FORMAT
+            " max_heap: " SIZE_FORMAT,
+            min_heap_size(), InitialHeapSize, max_heap);
+     }
+@@ -1314,7 +1314,7 @@
+         FLAG_SET_ERGO(uintx, NewSize, MIN2(preferred_max_new_size, NewSize));
+         if (PrintGCDetails && Verbose) {
+           // Too early to use gclog_or_tty
+-          tty->print_cr("CMS ergo set NewSize: " SIZE_FORMAT, NewSize);
++          tty->print_cr("CMS ergo set NewSize: " UINTX_FORMAT, NewSize);
+         }
+       }
+       // Unless explicitly requested otherwise, size old gen
+@@ -1324,7 +1324,7 @@
+           FLAG_SET_ERGO(uintx, OldSize, MIN2(NewRatio*NewSize, (uintx) (max_heap - NewSize)));
+           if (PrintGCDetails && Verbose) {
+             // Too early to use gclog_or_tty
+-            tty->print_cr("CMS ergo set OldSize: " SIZE_FORMAT, OldSize);
++            tty->print_cr("CMS ergo set OldSize: " UINTX_FORMAT, OldSize);
+           }
+         }
+       }
+@@ -2043,7 +2043,7 @@
+ 
+       if (PrintGCDetails && Verbose) {
+         // Cannot use gclog_or_tty yet.
+-        tty->print_cr("  Initial heap size " SIZE_FORMAT, (uintx)reasonable_initial);
++        tty->print_cr("  Initial heap size " SIZE_FORMAT, (size_t)reasonable_initial);
+       }
+       FLAG_SET_ERGO(uintx, InitialHeapSize, (uintx)reasonable_initial);
+     }
+@@ -2053,7 +2053,7 @@
+       set_min_heap_size(MIN2((uintx)reasonable_minimum, InitialHeapSize));
+       if (PrintGCDetails && Verbose) {
+         // Cannot use gclog_or_tty yet.
+-        tty->print_cr("  Minimum heap size " SIZE_FORMAT, min_heap_size());
++        tty->print_cr("  Minimum heap size " UINTX_FORMAT, min_heap_size());
+       }
+     }
+   }
+diff -Nru openjdk.orig/hotspot/src/share/vm/utilities/globalDefinitions.hpp openjdk/hotspot/src/share/vm/utilities/globalDefinitions.hpp
+--- openjdk.orig/hotspot/src/share/vm/utilities/globalDefinitions.hpp	2019-01-31 04:09:26.369543774 +0000
++++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions.hpp	2019-01-31 04:10:34.520469536 +0000
+@@ -1389,12 +1389,21 @@
+ 
+ #define INTPTR_FORMAT_W(width)   "%" #width PRIxPTR
+ 
++#if defined(S390) && !defined(_LP64)
++#define SSIZE_FORMAT          "%z"   PRIdPTR
++#define SIZE_FORMAT           "%z"   PRIuPTR
++#define SIZE_FORMAT_HEX       "0x%z" PRIxPTR
++#define SSIZE_FORMAT_W(width) "%"   #width "z" PRIdPTR
++#define SIZE_FORMAT_W(width)  "%"   #width "z" PRIuPTR
++#define SIZE_FORMAT_HEX_W(width) "0x%" #width "z" PRIxPTR
++#else   // !S390
+ #define SSIZE_FORMAT          "%"   PRIdPTR
+ #define SIZE_FORMAT           "%"   PRIuPTR
+ #define SIZE_FORMAT_HEX       "0x%" PRIxPTR
+ #define SSIZE_FORMAT_W(width) "%"   #width PRIdPTR
+ #define SIZE_FORMAT_W(width)  "%"   #width PRIuPTR
+ #define SIZE_FORMAT_HEX_W(width) "0x%" #width PRIxPTR
++#endif  // S390
+ 
+ #define INTX_FORMAT           "%" PRIdPTR
+ #define UINTX_FORMAT          "%" PRIuPTR
--- a/patches/hotspot/shenandoah/8062808-pr3548.patch	Mon Oct 26 06:46:01 2020 +0000
+++ b/patches/hotspot/shenandoah/8062808-pr3548.patch	Mon Oct 26 06:49:22 2020 +0000
@@ -7,10 +7,10 @@
 8062808, PR3548: Turn on the -Wreturn-type warning
 Reviewed-by: mgerdin, tschatzl, coleenp, jrose, kbarrett
 
-diff --git openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make
---- openjdk.orig/hotspot/make/linux/makefiles/gcc.make
-+++ openjdk/hotspot/make/linux/makefiles/gcc.make
-@@ -210,7 +210,7 @@
+diff -Nru openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make
+--- openjdk.orig/hotspot/make/linux/makefiles/gcc.make	2020-10-26 03:45:26.495908686 +0000
++++ openjdk/hotspot/make/linux/makefiles/gcc.make	2020-10-26 03:51:46.461937909 +0000
+@@ -214,7 +214,7 @@
    WARNINGS_ARE_ERRORS += -Wno-return-type -Wno-empty-body -Qunused-arguments -Wno-uninitialized
  endif
  
@@ -19,10 +19,10 @@
  
  ifeq ($(USE_CLANG),)
    # Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit
-diff --git openjdk.orig/hotspot/src/cpu/x86/vm/x86_32.ad openjdk/hotspot/src/cpu/x86/vm/x86_32.ad
---- openjdk.orig/hotspot/src/cpu/x86/vm/x86_32.ad
-+++ openjdk/hotspot/src/cpu/x86/vm/x86_32.ad
-@@ -1250,6 +1250,7 @@
+diff -Nru openjdk.orig/hotspot/src/cpu/x86/vm/x86_32.ad openjdk/hotspot/src/cpu/x86/vm/x86_32.ad
+--- openjdk.orig/hotspot/src/cpu/x86/vm/x86_32.ad	2020-10-17 05:31:10.000000000 +0100
++++ openjdk/hotspot/src/cpu/x86/vm/x86_32.ad	2020-10-26 03:51:46.463937930 +0000
+@@ -1255,6 +1255,7 @@
  
  
    Unimplemented();
@@ -30,9 +30,9 @@
  }
  
  #ifndef PRODUCT
-diff --git openjdk.orig/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
---- openjdk.orig/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
-+++ openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
+diff -Nru openjdk.orig/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
+--- openjdk.orig/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp	2020-10-26 03:45:26.348907127 +0000
++++ openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp	2020-10-26 03:51:46.464937941 +0000
 @@ -541,6 +541,7 @@
    err.report_and_die();
  
@@ -41,9 +41,9 @@
  }
  
  void os::Linux::init_thread_fpu_state(void) {
-diff --git openjdk.orig/hotspot/src/share/vm/classfile/defaultMethods.cpp openjdk/hotspot/src/share/vm/classfile/defaultMethods.cpp
---- openjdk.orig/hotspot/src/share/vm/classfile/defaultMethods.cpp
-+++ openjdk/hotspot/src/share/vm/classfile/defaultMethods.cpp
+diff -Nru openjdk.orig/hotspot/src/share/vm/classfile/defaultMethods.cpp openjdk/hotspot/src/share/vm/classfile/defaultMethods.cpp
+--- openjdk.orig/hotspot/src/share/vm/classfile/defaultMethods.cpp	2020-10-17 05:31:10.000000000 +0100
++++ openjdk/hotspot/src/share/vm/classfile/defaultMethods.cpp	2020-10-26 03:51:46.465937952 +0000
 @@ -506,7 +506,7 @@
    ss.write((const char*)name->bytes(), name->utf8_length());
    ss.write((const char*)signature->bytes(), signature->utf8_length());
@@ -62,9 +62,9 @@
  }
  
  
-diff --git openjdk.orig/hotspot/src/share/vm/classfile/symbolTable.cpp openjdk/hotspot/src/share/vm/classfile/symbolTable.cpp
---- openjdk.orig/hotspot/src/share/vm/classfile/symbolTable.cpp
-+++ openjdk/hotspot/src/share/vm/classfile/symbolTable.cpp
+diff -Nru openjdk.orig/hotspot/src/share/vm/classfile/symbolTable.cpp openjdk/hotspot/src/share/vm/classfile/symbolTable.cpp
+--- openjdk.orig/hotspot/src/share/vm/classfile/symbolTable.cpp	2020-10-17 05:31:10.000000000 +0100
++++ openjdk/hotspot/src/share/vm/classfile/symbolTable.cpp	2020-10-26 03:51:46.465937952 +0000
 @@ -249,7 +249,7 @@
    MutexLocker ml(SymbolTable_lock, THREAD);
  
@@ -83,10 +83,10 @@
  }
  
  Symbol* SymbolTable::lookup_only(const char* name, int len,
-diff --git openjdk.orig/hotspot/src/share/vm/classfile/systemDictionary.cpp openjdk/hotspot/src/share/vm/classfile/systemDictionary.cpp
---- openjdk.orig/hotspot/src/share/vm/classfile/systemDictionary.cpp
-+++ openjdk/hotspot/src/share/vm/classfile/systemDictionary.cpp
-@@ -229,15 +229,15 @@
+diff -Nru openjdk.orig/hotspot/src/share/vm/classfile/systemDictionary.cpp openjdk/hotspot/src/share/vm/classfile/systemDictionary.cpp
+--- openjdk.orig/hotspot/src/share/vm/classfile/systemDictionary.cpp	2020-10-17 05:31:10.000000000 +0100
++++ openjdk/hotspot/src/share/vm/classfile/systemDictionary.cpp	2020-10-26 03:51:46.467937973 +0000
+@@ -236,15 +236,15 @@
                   class_name->as_C_string(),
                   class_loader.is_null() ? "null" : class_loader->klass()->name()->as_C_string()));
    if (FieldType::is_array(class_name)) {
@@ -105,9 +105,9 @@
    }
  }
  
-diff --git openjdk.orig/hotspot/src/share/vm/memory/heapInspection.hpp openjdk/hotspot/src/share/vm/memory/heapInspection.hpp
---- openjdk.orig/hotspot/src/share/vm/memory/heapInspection.hpp
-+++ openjdk/hotspot/src/share/vm/memory/heapInspection.hpp
+diff -Nru openjdk.orig/hotspot/src/share/vm/memory/heapInspection.hpp openjdk/hotspot/src/share/vm/memory/heapInspection.hpp
+--- openjdk.orig/hotspot/src/share/vm/memory/heapInspection.hpp	2020-10-17 05:31:10.000000000 +0100
++++ openjdk/hotspot/src/share/vm/memory/heapInspection.hpp	2020-10-26 03:51:46.467937973 +0000
 @@ -367,7 +367,7 @@
        _csv_format(csv_format), _print_help(print_help),
        _print_class_stats(print_class_stats), _columns(columns) {}
@@ -117,9 +117,9 @@
    static void find_instances_at_safepoint(Klass* k, GrowableArray<oop>* result) NOT_SERVICES_RETURN;
   private:
    void iterate_over_heap(KlassInfoTable* cit, BoolObjectClosure* filter = NULL);
-diff --git openjdk.orig/hotspot/src/share/vm/memory/metaspaceShared.hpp openjdk/hotspot/src/share/vm/memory/metaspaceShared.hpp
---- openjdk.orig/hotspot/src/share/vm/memory/metaspaceShared.hpp
-+++ openjdk/hotspot/src/share/vm/memory/metaspaceShared.hpp
+diff -Nru openjdk.orig/hotspot/src/share/vm/memory/metaspaceShared.hpp openjdk/hotspot/src/share/vm/memory/metaspaceShared.hpp
+--- openjdk.orig/hotspot/src/share/vm/memory/metaspaceShared.hpp	2020-10-17 05:31:10.000000000 +0100
++++ openjdk/hotspot/src/share/vm/memory/metaspaceShared.hpp	2020-10-26 03:51:46.468937983 +0000
 @@ -93,7 +93,7 @@
    static void preload_and_dump(TRAPS) NOT_CDS_RETURN;
    static int preload_and_dump(const char * class_list_path,
@@ -129,10 +129,10 @@
  
    static ReservedSpace* shared_rs() {
      CDS_ONLY(return _shared_rs);
-diff --git openjdk.orig/hotspot/src/share/vm/oops/constantPool.hpp openjdk/hotspot/src/share/vm/oops/constantPool.hpp
---- openjdk.orig/hotspot/src/share/vm/oops/constantPool.hpp
-+++ openjdk/hotspot/src/share/vm/oops/constantPool.hpp
-@@ -352,7 +352,7 @@
+diff -Nru openjdk.orig/hotspot/src/share/vm/oops/constantPool.hpp openjdk/hotspot/src/share/vm/oops/constantPool.hpp
+--- openjdk.orig/hotspot/src/share/vm/oops/constantPool.hpp	2020-10-17 05:31:10.000000000 +0100
++++ openjdk/hotspot/src/share/vm/oops/constantPool.hpp	2020-10-26 03:52:24.750343919 +0000
+@@ -353,7 +353,7 @@
  
    Klass* klass_at(int which, TRAPS) {
      constantPoolHandle h_this(THREAD, this);
@@ -140,11 +140,11 @@
 +    return klass_at_impl(h_this, which, THREAD);
    }
  
-   Symbol* klass_name_at(int which);  // Returns the name, w/o resolving.
-diff --git openjdk.orig/hotspot/src/share/vm/prims/jvm.cpp openjdk/hotspot/src/share/vm/prims/jvm.cpp
---- openjdk.orig/hotspot/src/share/vm/prims/jvm.cpp
-+++ openjdk/hotspot/src/share/vm/prims/jvm.cpp
-@@ -4244,7 +4244,7 @@
+   Symbol* klass_name_at(int which) const;  // Returns the name, w/o resolving.
+diff -Nru openjdk.orig/hotspot/src/share/vm/prims/jvm.cpp openjdk/hotspot/src/share/vm/prims/jvm.cpp
+--- openjdk.orig/hotspot/src/share/vm/prims/jvm.cpp	2020-10-17 05:31:10.000000000 +0100
++++ openjdk/hotspot/src/share/vm/prims/jvm.cpp	2020-10-26 03:51:46.470938005 +0000
+@@ -4375,7 +4375,7 @@
      JVM_DTraceProvider* providers))
    JVMWrapper("JVM_DTraceActivate");
    return DTraceJSDT::activate(
@@ -153,9 +153,9 @@
  JVM_END
  
  JVM_ENTRY(jboolean,JVM_DTraceIsProbeEnabled(JNIEnv* env, jmethodID method))
-diff --git openjdk.orig/hotspot/src/share/vm/runtime/reflection.cpp openjdk/hotspot/src/share/vm/runtime/reflection.cpp
---- openjdk.orig/hotspot/src/share/vm/runtime/reflection.cpp
-+++ openjdk/hotspot/src/share/vm/runtime/reflection.cpp
+diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/reflection.cpp openjdk/hotspot/src/share/vm/runtime/reflection.cpp
+--- openjdk.orig/hotspot/src/share/vm/runtime/reflection.cpp	2020-10-17 05:31:10.000000000 +0100
++++ openjdk/hotspot/src/share/vm/runtime/reflection.cpp	2020-10-26 03:51:46.471938015 +0000
 @@ -1093,7 +1093,7 @@
    } else {
      if (rtype == T_BOOLEAN || rtype == T_BYTE || rtype == T_CHAR || rtype == T_SHORT)
@@ -165,10 +165,10 @@
    }
  }
  
-diff --git openjdk.orig/hotspot/src/share/vm/runtime/sharedRuntime.cpp openjdk/hotspot/src/share/vm/runtime/sharedRuntime.cpp
---- openjdk.orig/hotspot/src/share/vm/runtime/sharedRuntime.cpp
-+++ openjdk/hotspot/src/share/vm/runtime/sharedRuntime.cpp
-@@ -1046,7 +1046,7 @@
+diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/sharedRuntime.cpp openjdk/hotspot/src/share/vm/runtime/sharedRuntime.cpp
+--- openjdk.orig/hotspot/src/share/vm/runtime/sharedRuntime.cpp	2020-10-17 05:31:10.000000000 +0100
++++ openjdk/hotspot/src/share/vm/runtime/sharedRuntime.cpp	2020-10-26 03:51:46.472938026 +0000
+@@ -1045,7 +1045,7 @@
    // last java frame on stack (which includes native call frames)
    vframeStream vfst(thread, true);  // Do not skip and javaCalls
  
@@ -177,9 +177,9 @@
  }
  
  
-diff --git openjdk.orig/hotspot/src/share/vm/services/memTracker.hpp openjdk/hotspot/src/share/vm/services/memTracker.hpp
---- openjdk.orig/hotspot/src/share/vm/services/memTracker.hpp
-+++ openjdk/hotspot/src/share/vm/services/memTracker.hpp
+diff -Nru openjdk.orig/hotspot/src/share/vm/services/memTracker.hpp openjdk/hotspot/src/share/vm/services/memTracker.hpp
+--- openjdk.orig/hotspot/src/share/vm/services/memTracker.hpp	2020-10-17 05:31:10.000000000 +0100
++++ openjdk/hotspot/src/share/vm/services/memTracker.hpp	2020-10-26 03:51:46.473938037 +0000
 @@ -64,7 +64,7 @@
      const NativeCallStack& stack, MEMFLAGS flag = mtNone) { }
    static inline void record_virtual_memory_commit(void* addr, size_t size, const NativeCallStack& stack) { }
--- a/patches/hotspot/shenandoah/8251120-pr3793.patch	Mon Oct 26 06:46:01 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-# HG changeset patch
-# User andrew
-# Date 1598596701 -3600
-#      Fri Aug 28 07:38:21 2020 +0100
-# Node ID 7323b2187a50e3d04cdc3b0e35bac32875e34e09
-# Parent  b73ff161ed0a57a46fdb3ed51291e39c67d880f5
-8251120, PR3793: [8u] HotSpot build assumes ENABLE_JFR is set to either true or false
-Summary: Only test for ENABLE_JFR being true, and assume undefined == false
-Reviewed-by: neugens
-
-diff --git openjdk.orig/hotspot/make/aix/makefiles/buildtree.make openjdk/hotspot/make/aix/makefiles/buildtree.make
---- openjdk.orig/hotspot/make/aix/makefiles/buildtree.make
-+++ openjdk/hotspot/make/aix/makefiles/buildtree.make
-@@ -111,7 +111,7 @@
- endif
- endif
- 
--ifeq ($(ENABLE_JFR),false)
-+ifneq ($(ENABLE_JFR),true)
- ALWAYS_EXCLUDE_DIRS += -o -name jfr
- endif
- 
-diff --git openjdk.orig/hotspot/make/aix/makefiles/vm.make openjdk/hotspot/make/aix/makefiles/vm.make
---- openjdk.orig/hotspot/make/aix/makefiles/vm.make
-+++ openjdk/hotspot/make/aix/makefiles/vm.make
-@@ -147,7 +147,7 @@
- LIBJVM_DEBUGINFO   = lib$(JVM).debuginfo
- LIBJVM_DIZ         = lib$(JVM).diz
- 
--ifeq ($(ENABLE_JFR),false)
-+ifneq ($(ENABLE_JFR),true)
- EXCLUDE_JFR_PATHS:= -o -name jfr -prune
- endif
- 
-diff --git openjdk.orig/hotspot/make/bsd/makefiles/buildtree.make openjdk/hotspot/make/bsd/makefiles/buildtree.make
---- openjdk.orig/hotspot/make/bsd/makefiles/buildtree.make
-+++ openjdk/hotspot/make/bsd/makefiles/buildtree.make
-@@ -113,7 +113,7 @@
- endif
- endif
- 
--ifeq ($(ENABLE_JFR),false)
-+ifneq ($(ENABLE_JFR),true)
- ALWAYS_EXCLUDE_DIRS += -o -name jfr
- endif
- 
-diff --git openjdk.orig/hotspot/make/bsd/makefiles/vm.make openjdk/hotspot/make/bsd/makefiles/vm.make
---- openjdk.orig/hotspot/make/bsd/makefiles/vm.make
-+++ openjdk/hotspot/make/bsd/makefiles/vm.make
-@@ -165,7 +165,7 @@
-   LIBJVM_DIZ         = lib$(JVM).diz
- endif
- 
--ifeq ($(ENABLE_JFR),false)
-+ifneq ($(ENABLE_JFR),true)
- EXCLUDE_JFR_PATHS:= -o -name jfr -prune
- endif
- SPECIAL_PATHS:=adlc c1 gc_implementation opto shark libadt
-diff --git openjdk.orig/hotspot/make/linux/makefiles/buildtree.make openjdk/hotspot/make/linux/makefiles/buildtree.make
---- openjdk.orig/hotspot/make/linux/makefiles/buildtree.make
-+++ openjdk/hotspot/make/linux/makefiles/buildtree.make
-@@ -112,7 +112,7 @@
- endif
- endif
- 
--ifeq ($(ENABLE_JFR),false)
-+ifneq ($(ENABLE_JFR),true)
- ALWAYS_EXCLUDE_DIRS += -o -name jfr
- endif
- 
-diff --git openjdk.orig/hotspot/make/linux/makefiles/vm.make openjdk/hotspot/make/linux/makefiles/vm.make
---- openjdk.orig/hotspot/make/linux/makefiles/vm.make
-+++ openjdk/hotspot/make/linux/makefiles/vm.make
-@@ -158,7 +158,7 @@
- LIBJVM_DEBUGINFO   = lib$(JVM).debuginfo
- LIBJVM_DIZ         = lib$(JVM).diz
- 
--ifeq ($(ENABLE_JFR),false)
-+ifneq ($(ENABLE_JFR),true)
- EXCLUDE_JFR_PATHS:= -o -name jfr -prune
- endif
- SPECIAL_PATHS:=adlc c1 gc_implementation opto shark libadt
-diff --git openjdk.orig/hotspot/make/solaris/makefiles/buildtree.make openjdk/hotspot/make/solaris/makefiles/buildtree.make
---- openjdk.orig/hotspot/make/solaris/makefiles/buildtree.make
-+++ openjdk/hotspot/make/solaris/makefiles/buildtree.make
-@@ -103,7 +103,7 @@
- endif
- endif
- 
--ifeq ($(ENABLE_JFR),false)
-+ifneq ($(ENABLE_JFR),true)
- ALWAYS_EXCLUDE_DIRS += -o -name jfr
- endif
- 
-diff --git openjdk.orig/hotspot/make/solaris/makefiles/vm.make openjdk/hotspot/make/solaris/makefiles/vm.make
---- openjdk.orig/hotspot/make/solaris/makefiles/vm.make
-+++ openjdk/hotspot/make/solaris/makefiles/vm.make
-@@ -172,7 +172,7 @@
- 
- LIBJVM_DEBUGINFO   = lib$(JVM).debuginfo
- LIBJVM_DIZ         = lib$(JVM).diz
--ifeq ($(ENABLE_JFR),false)
-+ifneq ($(ENABLE_JFR),true)
- EXCLUDE_JFR_PATHS:= -o -name jfr -prune
- endif
- SPECIAL_PATHS:=adlc c1 dist gc_implementation opto shark libadt
--- a/patches/hotspot/shenandoah/pr3593.patch	Mon Oct 26 06:46:01 2020 +0000
+++ b/patches/hotspot/shenandoah/pr3593.patch	Mon Oct 26 06:49:22 2020 +0000
@@ -7,8 +7,8 @@
 PR3593: s390 needs to use '%z' format specifier for size_t arguments as size_t != int
 
 diff -Nru openjdk.orig/hotspot/src/share/vm/asm/codeBuffer.cpp openjdk/hotspot/src/share/vm/asm/codeBuffer.cpp
---- openjdk.orig/hotspot/src/share/vm/asm/codeBuffer.cpp	2019-01-16 07:13:59.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/asm/codeBuffer.cpp	2019-01-31 04:10:34.516469599 +0000
+--- openjdk.orig/hotspot/src/share/vm/asm/codeBuffer.cpp	2020-10-17 05:31:10.000000000 +0100
++++ openjdk/hotspot/src/share/vm/asm/codeBuffer.cpp	2020-10-26 04:00:54.102745171 +0000
 @@ -977,7 +977,7 @@
      for (int n = (int) CodeBuffer::SECT_FIRST; n < (int) CodeBuffer::SECT_LIMIT; n++) {
        CodeSection* sect = code_section(n);
@@ -19,9 +19,9 @@
      }
      xtty->print_cr("</blob>");
 diff -Nru openjdk.orig/hotspot/src/share/vm/code/codeCache.cpp openjdk/hotspot/src/share/vm/code/codeCache.cpp
---- openjdk.orig/hotspot/src/share/vm/code/codeCache.cpp	2019-01-16 07:13:59.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/code/codeCache.cpp	2019-01-31 04:10:34.516469599 +0000
-@@ -192,7 +192,7 @@
+--- openjdk.orig/hotspot/src/share/vm/code/codeCache.cpp	2020-10-17 05:31:10.000000000 +0100
++++ openjdk/hotspot/src/share/vm/code/codeCache.cpp	2020-10-26 04:00:54.103745182 +0000
+@@ -199,7 +199,7 @@
      }
      if (PrintCodeCacheExtension) {
        ResourceMark rm;
@@ -31,20 +31,20 @@
                      (address)_heap->high() - (address)_heap->low_boundary());
      }
 diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp
---- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp	2019-01-31 04:09:27.637523788 +0000
-+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp	2019-01-31 04:11:36.563491574 +0000
-@@ -598,7 +598,7 @@
+--- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp	2020-10-26 03:56:19.253830644 +0000
++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp	2020-10-26 04:01:43.844272631 +0000
+@@ -597,7 +597,7 @@
      "   [Table]\n"
      "      [Memory Usage: " G1_STRDEDUP_BYTES_FORMAT_NS "]\n"
      "      [Size: " SIZE_FORMAT ", Min: " SIZE_FORMAT ", Max: " SIZE_FORMAT "]\n"
 -    "      [Entries: " UINTX_FORMAT ", Load: " G1_STRDEDUP_PERCENT_FORMAT_NS ", Cached: " UINTX_FORMAT ", Added: " UINTX_FORMAT ", Removed: " UINTX_FORMAT "]\n"
 +    "      [Entries: " UINTX_FORMAT ", Load: " G1_STRDEDUP_PERCENT_FORMAT_NS ", Cached: " SIZE_FORMAT ", Added: " UINTX_FORMAT ", Removed: " UINTX_FORMAT "]\n"
      "      [Resize Count: " UINTX_FORMAT ", Shrink Threshold: " UINTX_FORMAT "(" G1_STRDEDUP_PERCENT_FORMAT_NS "), Grow Threshold: " UINTX_FORMAT "(" G1_STRDEDUP_PERCENT_FORMAT_NS ")]\n"
-     "      [Rehash Count: " UINTX_FORMAT ", Rehash Threshold: " UINTX_FORMAT ", Hash Seed: 0x%x]\n"
+     "      [Rehash Count: " UINTX_FORMAT ", Rehash Threshold: " UINTX_FORMAT ", Hash Seed: " UINT64_FORMAT "]\n"
      "      [Age Threshold: " UINTX_FORMAT "]",
 diff -Nru openjdk.orig/hotspot/src/share/vm/memory/blockOffsetTable.cpp openjdk/hotspot/src/share/vm/memory/blockOffsetTable.cpp
---- openjdk.orig/hotspot/src/share/vm/memory/blockOffsetTable.cpp	2019-01-16 07:13:59.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/memory/blockOffsetTable.cpp	2019-01-31 04:10:34.516469599 +0000
+--- openjdk.orig/hotspot/src/share/vm/memory/blockOffsetTable.cpp	2020-10-17 05:31:10.000000000 +0100
++++ openjdk/hotspot/src/share/vm/memory/blockOffsetTable.cpp	2020-10-26 04:00:54.105745203 +0000
 @@ -57,7 +57,7 @@
      gclog_or_tty->print_cr("BlockOffsetSharedArray::BlockOffsetSharedArray: ");
      gclog_or_tty->print_cr("  "
@@ -55,8 +55,8 @@
                    p2i(rs.base()), rs.size(), p2i(rs.base() + rs.size()));
      gclog_or_tty->print_cr("  "
 diff -Nru openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp
---- openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp	2019-01-31 04:09:27.641523725 +0000
-+++ openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp	2019-01-31 04:10:34.516469599 +0000
+--- openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp	2020-10-26 03:56:19.255830665 +0000
++++ openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp	2020-10-26 04:00:54.106745214 +0000
 @@ -1056,7 +1056,8 @@
      size_t expected = msp.scale_by_NewRatio_aligned(initial_heap_size);
      assert(msp.initial_gen0_size() == expected, err_msg("%zu != %zu", msp.initial_gen0_size(), expected));
@@ -68,9 +68,9 @@
  
  private:
 diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp openjdk/hotspot/src/share/vm/runtime/arguments.cpp
---- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp	2019-01-31 04:09:27.641523725 +0000
-+++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp	2019-01-31 04:10:34.520469536 +0000
-@@ -1291,14 +1291,14 @@
+--- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp	2020-10-26 03:56:19.261830729 +0000
++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp	2020-10-26 04:00:54.108745235 +0000
+@@ -1312,14 +1312,14 @@
      }
      if (PrintGCDetails && Verbose) {
        // Too early to use gclog_or_tty
@@ -88,7 +88,7 @@
             " max_heap: " SIZE_FORMAT,
             min_heap_size(), InitialHeapSize, max_heap);
      }
-@@ -1314,7 +1314,7 @@
+@@ -1335,7 +1335,7 @@
          FLAG_SET_ERGO(uintx, NewSize, MIN2(preferred_max_new_size, NewSize));
          if (PrintGCDetails && Verbose) {
            // Too early to use gclog_or_tty
@@ -97,7 +97,7 @@
          }
        }
        // Unless explicitly requested otherwise, size old gen
-@@ -1324,7 +1324,7 @@
+@@ -1345,7 +1345,7 @@
            FLAG_SET_ERGO(uintx, OldSize, MIN2(NewRatio*NewSize, (uintx) (max_heap - NewSize)));
            if (PrintGCDetails && Verbose) {
              // Too early to use gclog_or_tty
@@ -106,7 +106,7 @@
            }
          }
        }
-@@ -2043,7 +2043,7 @@
+@@ -2074,7 +2074,7 @@
  
        if (PrintGCDetails && Verbose) {
          // Cannot use gclog_or_tty yet.
@@ -115,7 +115,7 @@
        }
        FLAG_SET_ERGO(uintx, InitialHeapSize, (uintx)reasonable_initial);
      }
-@@ -2053,7 +2053,7 @@
+@@ -2084,7 +2084,7 @@
        set_min_heap_size(MIN2((uintx)reasonable_minimum, InitialHeapSize));
        if (PrintGCDetails && Verbose) {
          // Cannot use gclog_or_tty yet.
@@ -125,9 +125,9 @@
      }
    }
 diff -Nru openjdk.orig/hotspot/src/share/vm/utilities/globalDefinitions.hpp openjdk/hotspot/src/share/vm/utilities/globalDefinitions.hpp
---- openjdk.orig/hotspot/src/share/vm/utilities/globalDefinitions.hpp	2019-01-31 04:09:26.369543774 +0000
-+++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions.hpp	2019-01-31 04:10:34.520469536 +0000
-@@ -1389,12 +1389,21 @@
+--- openjdk.orig/hotspot/src/share/vm/utilities/globalDefinitions.hpp	2020-10-17 05:31:10.000000000 +0100
++++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions.hpp	2020-10-26 04:00:54.109745246 +0000
+@@ -1456,12 +1456,21 @@
  
  #define INTPTR_FORMAT_W(width)   "%" #width PRIxPTR