diff --git a/.gitignore b/.gitignore index 956b2b5..6baa99c 100644 --- a/.gitignore +++ b/.gitignore @@ -223,3 +223,4 @@ /aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u292-b03-4curve.tar.xz /aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u292-b04-4curve.tar.xz /aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u292-b05-4curve.tar.xz +/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u292-b05-shenandoah-merge-2021-03-11-4curve.tar.xz diff --git a/NEWS b/NEWS index 835e478..e3183b6 100644 --- a/NEWS +++ b/NEWS @@ -103,8 +103,41 @@ Live versions of these release notes can be found at: - JDK-8261766: [8u] hotspot needs to recognise cl.exe 19.16 to build with VS2017 - JDK-8262073: assert(allocates2(pc)) failed: not in CodeBuffer memory - JDK-8262075: sun/security/krb5/auto/UseCacheAndStoreKey.java timed out intermittently +* Shenandoah - Normalise whitespace in AArch64 sources prior to merge of upstreamed version in 8u292-b01. - Revert differences against upstream 8u + - [backport] 8202976: Add C1 lea patching support for x86 + - [backport] 8221507: Implement JFR Events for Shenandoah + - [backport] 8224573: Fix windows build after JDK-8221507 + - [backport] 8228369: Shenandoah: Refactor LRB C1 stubs + - [backport] 8229474: Shenandoah: Cleanup CM::update_roots() + - [backport] 8229709: x86_32 build and test failures after JDK-8228369 (Shenandoah: Refactor LRB C1 stubs) + - [backport] 8231087: Shenandoah: Self-fixing load reference barriers for C1/C2 + - [backport] 8232747: Shenandoah: Concurrent GC should deactivate SATB before processing weak roots + - [backport] 8232992: Shenandoah: Implement self-fixing interpreter LRB + - [backport] 8233021: Shenandoah: SBSC2::is_shenandoah_lrb_call should match all LRB shapes + - [backport] 8233165: Shenandoah:SBSA::gen_load_reference_barrier_stub() should use pointer register for address on aarch64 + - [backport] 8233574: Shenandoah: build is broken without jfr + - [backport] 8237837: Shenandoah: assert(mem == __null) failed: only one safepoint + - [backport] 8238153: CTW: C2 (Shenandoah) compilation fails with "Unknown node in get_load_addr: CreateEx" + - [backport] 8238851: Shenandoah: C1: Resolve into registers of correct type + - [backport] 8240315: Shenandoah: Rename ShLBN::get_barrier_strength() + - [backport] 8240751: Shenandoah: fold ShenandoahTracer definition + - [backport] 8241765: Shenandoah: AARCH64 need to save/restore call clobbered registers before calling keepalive barrier + - [backport] 8244510: Shenandoah: invert SHC2Support::is_in_cset condition + - [backport] 8244663: Shenandoah: C2 assertion fails in Matcher::collect_null_checks + - [backport] 8244721: CTW: C2 (Shenandoah) compilation fails with "unexpected infinite loop graph shape" + - [backport] 8251451: Shenandoah: Remark ObjectSynchronizer roots with I-U + - [backport] 8252660: Shenandoah: support manageable SoftMaxHeapSize option + - [backport] 8253224: Shenandoah: ShenandoahStrDedupQueue destructor calls virtual num_queues() + - [backport] 8253778: ShenandoahSafepoint::is_at_shenandoah_safepoint should not access VMThread state from other threads + - [backport] 8255457: Shenandoah: cleanup ShenandoahMarkTask + - [backport] 8255760: Shenandoah: match constants style in ShenandoahMarkTask fallback + - [backport] 8256806: Shenandoah: optimize shenandoah/jni/TestPinnedGarbage.java test + - [backport] 8257641: Shenandoah: Query is_at_shenandoah_safepoint() from control thread should return false + - Fix register allocation for thread register is 32bit LRB + - Fix Shenandoah bindings in ADLC formssel + - Shenandoah: Backed out weak roots cleaning during full gc Notes on individual issues: =========================== diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec index 491bcba..b468e71 100644 --- a/java-1.8.0-openjdk.spec +++ b/java-1.8.0-openjdk.spec @@ -296,7 +296,7 @@ # note, following three variables are sedded from update_sources if used correctly. Hardcode them rather there. %global shenandoah_project aarch64-port %global shenandoah_repo jdk8u-shenandoah -%global shenandoah_revision aarch64-shenandoah-jdk8u292-b05 +%global shenandoah_revision aarch64-shenandoah-jdk8u292-b05-shenandoah-merge-2021-03-11 # Define old aarch64/jdk8u tree variables for compatibility %global project %{shenandoah_project} %global repo %{shenandoah_repo} @@ -311,7 +311,7 @@ %global updatever %(VERSION=%{whole_update}; echo ${VERSION##*u}) # eg jdk8u60-b27 -> b27 %global buildver %(VERSION=%{version_tag}; echo ${VERSION##*-}) -%global rpmrelease 1 +%global rpmrelease 2 # Define milestone (EA for pre-releases, GA ("fcs") for releases) # Release will be (where N is usually a number starting at 1): # - 0.N%%{?extraver}%%{?dist} for EA releases, @@ -2622,6 +2622,12 @@ require "copy_jdk_configs.lua" %endif %changelog +* Thu Mar 18 2021 Andrew Hughes - 1:1.8.0.292.b05-0.2.ea +- Update to aarch64-shenandoah-jdk8u292-b05-shenandoah-merge-2021-03-11 (EA) +- Update release notes for 8u292-b05-shenandoah-merge-2021-03-11. +- Extend s390 patch to fix issue caused by JDK-8252660 backport and lack of JDK-8188813 in 8u. +- Revise JDK-8252660 s390 failure to make _soft_max_size a jlong so pointer types are accurate. + * Thu Mar 18 2021 Andrew Hughes - 1:1.8.0.292.b05-0.1.ea - Re-organise S/390 patches for upstream submission, separating 8u upstream from Shenandoah fixes. - Add new formatting case found in memprofiler.cpp on debug builds to PR3593 patch. diff --git a/s390-8214206_fix.patch b/s390-8214206_fix.patch index fd5b7c5..1b78a9b 100644 --- a/s390-8214206_fix.patch +++ b/s390-8214206_fix.patch @@ -20,3 +20,27 @@ diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenan // Defensively saturate for product bits: if (mag < 0) { +diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ++++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp +@@ -659,7 +659,7 @@ + } + + size_t ShenandoahHeap::soft_max_capacity() const { +- size_t v = OrderAccess::load_acquire((volatile size_t*)&_soft_max_size); ++ size_t v = OrderAccess::load_acquire((volatile jlong*)&_soft_max_size); + assert(min_capacity() <= v && v <= max_capacity(), + err_msg("Should be in bounds: " SIZE_FORMAT " <= " SIZE_FORMAT " <= " SIZE_FORMAT, + min_capacity(), v, max_capacity())); +diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp ++++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp +@@ -155,7 +155,7 @@ + private: + size_t _initial_size; + size_t _minimum_size; +- volatile size_t _soft_max_size; ++ volatile jlong _soft_max_size; + shenandoah_padding(0); + volatile jlong _used; + volatile size_t _committed; diff --git a/sources b/sources index b0c0d1b..9c386e5 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (tapsets-icedtea-3.15.0.tar.xz) = c752a197cb3d812d50c35e11e4722772be40096c81d2a57933e0d9b8a3c708b9c157b8108a4e33a06ca7bb81648170994408c75d6f69d5ff12785d0c31009671 -SHA512 (aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u292-b05-4curve.tar.xz) = 6267e958e05c36d010578ea1b773b5575f11c085c4c1036a96f984c44df17d70cb46a5d6db75fb509a900f6918da7bfbbe5e24530691f393069471c7f2b51993 +SHA512 (aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u292-b05-shenandoah-merge-2021-03-11-4curve.tar.xz) = fc31d0933b5bf73b91b0e54e7683310b15debcbfe10e41f632a65b9fa4bc5345241107d4b4b99a18bd3e41b0843fbfa06348e267cb19a7e0739b8a2b291b2953