view patches/hotspot/shenandoah/pr3593.patch @ 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 264e472a8d18
children
line wrap: on
line source

# 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	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);
       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	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;
-      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	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: " 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	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("  "
                   "  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	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));
     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	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
-      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);
     }
@@ -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
-          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
@@ -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
-            tty->print_cr("CMS ergo set OldSize: " SIZE_FORMAT, OldSize);
+            tty->print_cr("CMS ergo set OldSize: " UINTX_FORMAT, OldSize);
           }
         }
       }
@@ -2074,7 +2074,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);
     }
@@ -2084,7 +2084,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	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
 
+#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