diff --git a/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u262-b10.tar.xz b/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u265-b01.tar.xz similarity index 81% rename from aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u262-b10.tar.xz rename to aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u265-b01.tar.xz index fd2956756e6bf6ecc096aeaaac4ee53ea93e1a72..56b80535fbcb144a65d2706ba3c001ced15695c8 100644 Binary files a/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u262-b10.tar.xz and b/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u265-b01.tar.xz differ diff --git a/fix-Long-cache-range-and-remove-VM-option-java.lang.IntegerCache.high-by-default.patch b/fix-Long-cache-range-and-remove-VM-option-java.lang.IntegerCache.high-by-default.patch new file mode 100644 index 0000000000000000000000000000000000000000..f8bbc6cbc8323de45434c51ef293265288e5a488 --- /dev/null +++ b/fix-Long-cache-range-and-remove-VM-option-java.lang.IntegerCache.high-by-default.patch @@ -0,0 +1,68 @@ +diff --git a/hotspot/src/share/vm/opto/c2_globals.hpp b/hotspot/src/share/vm/opto/c2_globals.hpp +index 8e6d3f4cd..1b5fbdd35 100644 +--- a/hotspot/src/share/vm/opto/c2_globals.hpp ++++ b/hotspot/src/share/vm/opto/c2_globals.hpp +@@ -467,7 +467,7 @@ + product(intx, AutoBoxCacheMax, 128, \ + "Sets max value cached by the java.lang.Integer autobox cache") \ + \ +- product(intx, BoxTypeCachedMax, 128, \ ++ product(intx, BoxTypeCachedMax, 127, \ + "Sets max value cached by the java.lang.Long and Integer autobox cache") \ + \ + experimental(bool, AggressiveUnboxing, false, \ +diff --git a/hotspot/src/share/vm/runtime/arguments.cpp b/hotspot/src/share/vm/runtime/arguments.cpp +index 0f6decc0b..a04dcacf9 100644 +--- a/hotspot/src/share/vm/runtime/arguments.cpp ++++ b/hotspot/src/share/vm/runtime/arguments.cpp +@@ -2178,20 +2178,16 @@ void Arguments::set_bytecode_flags() { + + // set Integer and Long box type cached MAX num flag : -XX:BoxTypeCachedMax= + void Arguments::set_boxtype_cached_max_flags() { +- int size = 1024; +- char buffer[size]; +- jio_snprintf(buffer, size, "java.lang.Long.LongCache.high=" INTX_FORMAT, BoxTypeCachedMax); +- add_property(buffer); +- +- if (AggressiveOpts || !FLAG_IS_DEFAULT(AutoBoxCacheMax)) { +- if (FLAG_IS_DEFAULT(AutoBoxCacheMax)) { +- FLAG_SET_DEFAULT(AutoBoxCacheMax, 20000); ++ if (!AggressiveOpts) { ++ if (!FLAG_IS_DEFAULT(BoxTypeCachedMax)) { ++ int size = 1024; ++ char buffer[size]; ++ jio_snprintf(buffer, size, "java.lang.Long.LongCache.high=" INTX_FORMAT, BoxTypeCachedMax); ++ add_property(buffer); ++ jio_snprintf(buffer, size, "java.lang.Integer.IntegerCache.high=" INTX_FORMAT, BoxTypeCachedMax); ++ add_property(buffer); + } +- jio_snprintf(buffer, size, "java.lang.Integer.IntegerCache.high=" INTX_FORMAT, AutoBoxCacheMax); +- } else { +- jio_snprintf(buffer, size, "java.lang.Integer.IntegerCache.high=" INTX_FORMAT, BoxTypeCachedMax); + } +- add_property(buffer); + } + + // Aggressive optimization flags -XX:+AggressiveOpts +diff --git a/jdk/src/share/classes/java/lang/Long.java b/jdk/src/share/classes/java/lang/Long.java +index d56f4c6be..58c2cc3ba 100644 +--- a/jdk/src/share/classes/java/lang/Long.java ++++ b/jdk/src/share/classes/java/lang/Long.java +@@ -820,14 +820,14 @@ public final class Long extends Number implements Comparable { + int h = 0; + try { + int i = Integer.parseInt(longCacheHighPropValue); +- i = Math.max(i, 128); ++ i = Math.max(i, 127); + // Maximum array size is Integer.MAX_VALUE + h = Math.min(i, Integer.MAX_VALUE/2 -1); + } catch( NumberFormatException nfe) { + // If the property cannot be parsed into an int, ignore it. + } + high = h; +- low = -h+1; ++ low = -h - 1; + cache = new Long[(high - low) + 1]; + int j = low; + for(int k = 0; k < cache.length; k++) + diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec index 2f3fbba1278cc0834096163c9033b9c7a2bb723f..268ef8b9c3c874352e5dacce062e8212783a183c 100644 --- a/java-1.8.0-openjdk.spec +++ b/java-1.8.0-openjdk.spec @@ -148,7 +148,7 @@ # Define old aarch64/jdk8u tree variables for compatibility %global project aarch64-port %global repo jdk8u-shenandoah -%global revision aarch64-shenandoah-jdk8u262-b10 +%global revision aarch64-shenandoah-jdk8u265-b01 %global full_revision %{project}-%{repo}-%{revision} # Define IcedTea version used for SystemTap tapsets and desktop files %global icedteaver 3.15.0 @@ -915,7 +915,7 @@ Provides: java-%{javaver}-%{origin}-accessibility%{?1} = %{epoch}:%{version}-%{r Name: java-%{javaver}-%{origin} Version: %{javaver}.%{updatever}.%{buildver} -Release: 1 +Release: 0 # 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 @@ -1035,6 +1035,9 @@ Patch93: fast-serializer-jdk8.patch Patch94: 8182397-race-in-field-updates.patch Patch95: 8205921-Optimizing-best-of-2-work-stealing-queue-selection.patch +# 8u265 +Patch96: fix-Long-cache-range-and-remove-VM-option-java.lang.IntegerCache.high-by-default.patch + ############################################# # # Upstreamable patches @@ -1428,6 +1431,7 @@ pushd %{top_level_dir_name} %patch93 -p1 %patch94 -p1 %patch95 -p1 +%patch96 -p1 popd @@ -2047,6 +2051,10 @@ require "copy_jdk_configs.lua" %endif %changelog +* Tue Aug 25 2020 noah - 1:1.8.0.265-b10.0 +- Update to aarch64-shenandoah-jdk8u-8u265-b01 +- add fix-Long-cache-range-and-remove-VM-option-java.lang.IntegerCache.high-by-default.patch + * Mon Jul 21 2020 noah - 1:1.8.0.262-b10.1 - add 8205921-Optimizing-best-of-2-work-stealing-queue-selection.patch