#75 Update to aarch64-shenandoah-jdk8u212-b04-shenandoah-merge-2019-04-30.
Merged 2 months ago by ahughes. Opened 2 months ago by ahughes.
rpms/ ahughes/java-1.8.0-openjdk master  into  master

file modified
+1

@@ -137,3 +137,4 @@ 

  /aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u212-b02.tar.xz

  /aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u212-b03.tar.xz

  /aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u212-b04.tar.xz

+ /aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u212-b04-shenandoah-merge-2019-04-30.tar.xz

file modified
+13 -7

@@ -226,7 +226,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-jdk8u212-b04

+ %global shenandoah_revision    	aarch64-shenandoah-jdk8u212-b04-shenandoah-merge-2019-04-30

  # Define old aarch64/jdk8u tree variables for compatibility

  %global project         %{shenandoah_project}

  %global repo            %{shenandoah_repo}

@@ -234,12 +234,14 @@ 

  # Define IcedTea version used for SystemTap tapsets and desktop files

  %global icedteaver      3.11.0

  

+ # e.g. aarch64-shenandoah-jdk8u212-b04-shenandoah-merge-2019-04-30 -> aarch64-shenandoah-jdk8u212-b04

+ %global version_tag     %(VERSION=%{revision}; echo ${VERSION%%-shenandoah*})

  # eg # jdk8u60-b27 -> jdk8u60 or # aarch64-jdk8u60-b27 -> aarch64-jdk8u60  (dont forget spec escape % by %%)

- %global whole_update    %(VERSION=%{revision}; echo ${VERSION%%-*})

+ %global whole_update    %(VERSION=%{version_tag}; echo ${VERSION%%-*})

  # eg  jdk8u60 -> 60 or aarch64-jdk8u60 -> 60

  %global updatever       %(VERSION=%{whole_update}; echo ${VERSION##*u})

  # eg jdk8u60-b27 -> b27

- %global buildver        %(VERSION=%{revision}; echo ${VERSION##*-})

+ %global buildver        %(VERSION=%{version_tag}; echo ${VERSION##*-})

  # priority must be 7 digits in total. The expression is workarounding tip

  %global priority        %(TIP=1800%{updatever};  echo ${TIP/tip/999})

  

@@ -986,7 +988,7 @@ 

  

  Name:    java-%{javaver}-%{origin}

  Version: %{javaver}.%{updatever}.%{buildver}

- Release: 4%{?dist}

+ Release: 5%{?dist}

  # java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons

  # and this change was brought into RHEL-4. java-1.5.0-ibm packages

  # also included the epoch in their virtual provides. This created a

@@ -1228,8 +1230,6 @@ 

  # and should be upstreamed to the appropriate

  # trees.

  #############################################

- # PR3634: Shenandoah still broken on s390 with aarch64-shenandoah-jdk8u181-b16

- Patch582: pr3634-fix_shenandoah_for_size_t_on_s390.patch

  

  #############################################

  #

@@ -1621,7 +1621,6 @@ 

  %endif

  

  # Shenandoah patches

- %patch582

  

  %patch1000

  

@@ -2270,6 +2269,13 @@ 

  %endif

  

  %changelog

+ * Fri Jun 14 2019 Andrew John Hughes <gnu.andrew@redhat.com> - 1:1.8.0.212.b04-5

+ - Update to aarch64-shenandoah-jdk8u212-b04-shenandoah-merge-2019-04-30.

+ - Update version logic to handle -shenandoah* tag suffix.

+ - Drop PR3634 as applied upstream.

+ - Adjust 8214206 fix for S390 as BinaryMagnitudeSeq moved to shenandoahNumberSeq.cpp

+ - Update 8214206 to use log2_long rather than casting to intptr_t, which may be smaller than size_t.

+ 

  * Wed May 22 2019 Andrew John Hughes <gnu.andrew@redhat.com> - 1:1.8.0.212.b04-4

  - Remove additions to EXTRA_CFLAGS and EXTRA_CPP_FLAGS which are now made by upstream.

  - Remove -mstackrealign addition which is handled by PR3533 & PR3591 patches.

@@ -1,14 +0,0 @@ 

- diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp

- --- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp

- +++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp

- @@ -524,8 +524,8 @@

-      region_size = max_heap_size / ShenandoahTargetNumRegions;

-  

-      // Now make sure that we don't go over or under our limits.

- -    region_size = MAX2(ShenandoahMinRegionSize, region_size);

- -    region_size = MIN2(ShenandoahMaxRegionSize, region_size);

- +    region_size = MAX2<size_t>(ShenandoahMinRegionSize, region_size);

- +    region_size = MIN2<size_t>(ShenandoahMaxRegionSize, region_size);

-  

-    } else {

-      if (ShenandoahHeapRegionSize > initial_heap_size / MIN_NUM_REGIONS) {

file modified
+14 -14

@@ -7,10 +7,22 @@ 

       address base = create_new_base_array(num_target_elems, target_elem_size_in_bytes);

  -    initialize_base(base, num_target_elems, bias, target_elem_size_in_bytes, log2_intptr(mapping_granularity_in_bytes));

  +    initialize_base(base, num_target_elems, bias, target_elem_size_in_bytes,

- +                    log2_intptr((uintptr_t) mapping_granularity_in_bytes));

+ +                    log2_long(mapping_granularity_in_bytes));

     }

   

     size_t bias() const { return _bias; }

+ diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahNumberSeq.cpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahNumberSeq.cpp

+ --- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahNumberSeq.cpp

+ +++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahNumberSeq.cpp

+ @@ -135,7 +135,7 @@

+  void BinaryMagnitudeSeq::add(size_t val) {

+    Atomic::add(val, &_sum);

+  

+ -  int mag = log2_intptr(val) + 1;

+ +  int mag = log2_long(val) + 1;

+  

+    // Defensively saturate for product bits:

+    if (mag < 0) {

  diff --git openjdk.orig/hotspot/src/share/vm/runtime/os.cpp openjdk/hotspot/src/share/vm/runtime/os.cpp

  --- openjdk.orig/hotspot/src/share/vm/runtime/os.cpp

  +++ openjdk/hotspot/src/share/vm/runtime/os.cpp

@@ -19,19 +31,7 @@ 

   

   void os::set_memory_serialize_page(address page) {

  -  int count = log2_intptr(sizeof(class JavaThread)) - log2_int(64);

- +  int count = log2_intptr((uintptr_t) sizeof(class JavaThread)) - log2_int(64);

+ +  int count = log2_long(sizeof(class JavaThread)) - log2_int(64);

     _mem_serialize_page = (volatile int32_t *)page;

     // We initialize the serialization page shift count here

     // We assume a cache line size of 64 bytes

- diff --git openjdk.orig/hotspot/src/share/vm/utilities/numberSeq.cpp openjdk/hotspot/src/share/vm/utilities/numberSeq.cpp

- --- openjdk.orig/hotspot/src/share/vm/utilities/numberSeq.cpp

- +++ openjdk/hotspot/src/share/vm/utilities/numberSeq.cpp

- @@ -369,7 +369,7 @@

-  void BinaryMagnitudeSeq::add(size_t val) {

-    Atomic::add(val, &_sum);

-  

- -  int mag = log2_intptr(val) + 1;

- +  int mag = log2_intptr((uintptr_t) val) + 1;

-  

-    // Defensively saturate for product bits:

-    if (mag < 0) {

file modified
+1 -1

@@ -1,2 +1,2 @@ 

  SHA512 (tapsets-icedtea-3.11.0.tar.xz) = f98420b2f9d7a0fc0af3a7e6a817c4330169db9378d9c38db56b0dd8281a3f1ff7747b4da0c66194695ca85a470b7963902d863d301e5e290dbfe11f6b6f2b5e

- SHA512 (aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u212-b04.tar.xz) = ebcb028fdbcd414bc13d8dc5e331b4a6be2026e19eed5c903eecc02929fde8829fca8aa430220319df7f772f5c4d9689739d5f41ce35c4e542641ab2bfcd6c51

+ SHA512 (aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u212-b04-shenandoah-merge-2019-04-30.tar.xz) = 8ef6029cfa053fce7e0f73aab72b287a4505b06d6e2f1153e5c903a48ba89147fc187987f58d6eb737ede9d5c76a8925f22c34a4f5c3d757674c06fccf77c21b

Update version logic to handle -shenandoah* tag suffix.
Drop PR3634 as applied upstream.
Adjust 8214206 fix for S390 as BinaryMagnitudeSeq moved to shenandoahNumberSeq.cpp
Update 8214206 to use log2_long rather than casting to intptr_t, which may be smaller than size_t.

This one can go to the branches, unlike subsequent EA builds.

Looks good to me.

Aside:
Patch s390-8214206_fix.patch seems to be an odd ball in terms of naming convention. We should rename that to jdk8214206-s390_ambig_log2_intptr_calls.patch or something.

Pull-Request has been merged by ahughes

2 months ago

Yeah. I wasn't expecting that patch to be there long enough to bother with the convoluted naming.