Mercurial > hg > icedtea8
changeset 2842:07b69c72159c icedtea-3.9.0pre02
Bump aarch32 to jdk8u172-b11-aarch32-180511.
Upstream changes:
- S8031304: Add dcmd to print all loaded dynamic libraries.
- S8035496: G1 ARM: missing remset entry noticed by VerifyAfterGC for vm/gc/concurrent/lp50yp10rp70mr30st0
- S8044107: Add Diagnostic Command to list all ClassLoaders
- S8055755: Information about loaded dynamic libraries is wrong on MacOSX
- S8059036: Implement Diagnostic Commands for heap and finalizerinfo
- S8087291: InitialBootClassLoaderMetaspaceSize and CompressedClassSpaceSize should be checked consistent from MaxMetaspaceSize
- S8139673: NMT stack traces in output should show mtcomponent
- S8170358: [REDO] 8k class metaspace chunks misallocated from 4k chunk Freelist
- S8170395: Metaspace initialization queries the wrong chunk freelist
- S8184991: NMT detail diff should take memory type into account
- S8187331: VirtualSpaceList tracks free space on wrong node
- S8187629: NMT: Memory miscounting in compiler (C2)
- S8187685: NMT: Tracking compiler memory usage of thread's resource area
- S8187822: C2 conditonal move optimization might create broken graph
- S8189599: InitialBootClassLoaderMetaspaceSize and CompressedClassSpaceSize should be checked consistent from MaxMetaspaceSize
- S8190442: Backout changes for JDK-8087291 from 8u-dev as it didn't use main CR id
ChangeLog:
2018-09-01 Andrew John Hughes <gnu_andrew@member.fsf.org>
Bump aarch32 to jdk8u172-b11-aarch32-180511.
* patches/hotspot/aarch32/8035496-pr3487.patch,
* patches/hotspot/aarch32/8187822-pr3478-rh1494230.patch:
Removed as applied upstream.
* Makefile.am:
(ICEDTEA_PATCHES): Remove upstreamed patches.
* hotspot.map.in: Bump aarch32 to
jdk8u172-b11-aarch32-180511.
author | Andrew John Hughes <gnu_andrew@member.fsf.org> |
---|---|
date | Sat, 01 Sep 2018 21:06:12 +0100 |
parents | 37a025f6ea9a |
children | 17f5a2d00f97 |
files | ChangeLog Makefile.am hotspot.map.in patches/hotspot/aarch32/8035496-pr3487.patch patches/hotspot/aarch32/8187822-pr3478-rh1494230.patch |
diffstat | 5 files changed, 13 insertions(+), 165 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Fri Aug 31 20:55:12 2018 +0100 +++ b/ChangeLog Sat Sep 01 21:06:12 2018 +0100 @@ -1,3 +1,14 @@ +2018-09-01 Andrew John Hughes <gnu_andrew@member.fsf.org> + + Bump aarch32 to jdk8u172-b11-aarch32-180511. + * patches/hotspot/aarch32/8035496-pr3487.patch, + * patches/hotspot/aarch32/8187822-pr3478-rh1494230.patch: + Removed as applied upstream. + * Makefile.am: + (ICEDTEA_PATCHES): Remove upstreamed patches. + * hotspot.map.in: Bump aarch32 to + jdk8u172-b11-aarch32-180511. + 2018-08-29 Andrew John Hughes <gnu_andrew@member.fsf.org> Bump shenandoah to
--- a/Makefile.am Fri Aug 31 20:55:12 2018 +0100 +++ b/Makefile.am Sat Sep 01 21:06:12 2018 +0100 @@ -353,10 +353,8 @@ if WITH_AARCH32_HSBUILD ICEDTEA_PATCHES += \ patches/hotspot/$(HSBUILD)/pr3548-aarch32.patch \ - patches/hotspot/$(HSBUILD)/8035496-pr3487.patch \ patches/hotspot/$(HSBUILD)/8165489-pr3589.patch \ - patches/hotspot/$(HSBUILD)/8187577-pr3578.patch \ - patches/hotspot/$(HSBUILD)/8187822-pr3478-rh1494230.patch + patches/hotspot/$(HSBUILD)/8187577-pr3578.patch endif ICEDTEA_PATCHES += \
--- a/hotspot.map.in Fri Aug 31 20:55:12 2018 +0100 +++ b/hotspot.map.in Sat Sep 01 21:06:12 2018 +0100 @@ -1,4 +1,4 @@ # version type(drop/hg) url changeset sha256sum default drop http://icedtea.classpath.org/download/drops/icedtea8/@ICEDTEA_RELEASE@ 88515137e73f 011370479a1f927c0cd9383c3b987f0e1c8ce9697d5bba02a5100da5dd2794a7 shenandoah drop http://icedtea.classpath.org/download/drops/icedtea8/@ICEDTEA_RELEASE@ 923b7475c897 509febb41f786879c091500ec98e6a8dfbca16e419b2bbdcaecb7f522558cae5 -aarch32 drop http://icedtea.classpath.org/download/drops/icedtea8/@ICEDTEA_RELEASE@ bd08b7f27e11 6a27c6f81817a4edf633572198a7d4f829f2239a98bdd1daf805688794af3951 +aarch32 drop http://icedtea.classpath.org/download/drops/icedtea8/@ICEDTEA_RELEASE@ e749b2f34b5e f69d992385d607b46ddb78373f7964c1a3b30f95c809e4669b804cf2f0f137ad
--- a/patches/hotspot/aarch32/8035496-pr3487.patch Fri Aug 31 20:55:12 2018 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -# HG changeset patch -# User bdelsart -# Date 1393242561 -3600 -# Mon Feb 24 12:49:21 2014 +0100 -# Node ID f7ae197522b1f3b59c8f1c73ccb07641e82ec08a -# Parent e2d13b496321f87a9232573d5671af86311af99f -8035496, PR3487: G1 ARM: missing remset entry noticed by VerifyAfterGC for vm/gc/concurrent/lp50yp10rp70mr30st0 -Summary: release_store used when registering a PerRegionTable. Also reviewed-by: vitalyd@gmail.com -Reviewed-by: jmasa, tschatzl, brutisso - -diff --git a/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp b/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ---- openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp -+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp -@@ -514,7 +514,15 @@ - - PerRegionTable* first_prt = _fine_grain_regions[ind]; - prt->set_collision_list_next(first_prt); -- _fine_grain_regions[ind] = prt; -+ // The assignment into _fine_grain_regions allows the prt to -+ // start being used concurrently. In addition to -+ // collision_list_next which must be visible (else concurrent -+ // parsing of the list, if any, may fail to see other entries), -+ // the content of the prt must be visible (else for instance -+ // some mark bits may not yet seem cleared or a 'later' update -+ // performed by a concurrent thread could be undone when the -+ // zeroing becomes visible). This requires store ordering. -+ OrderAccess::release_store_ptr((volatile PerRegionTable*)&_fine_grain_regions[ind], prt); - _n_fine_entries++; - - if (G1HRRSUseSparseTable) {
--- a/patches/hotspot/aarch32/8187822-pr3478-rh1494230.patch Fri Aug 31 20:55:12 2018 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,131 +0,0 @@ -# HG changeset patch -# User roland -# Date 1506521867 -7200 -# Wed Sep 27 16:17:47 2017 +0200 -# Node ID 542f4e30fdffc87e5e098d81d69e7aa52d3c763c -# Parent 302eb515bf52ceacf17b6e620db2d2b862dfefa2 -8187822, PR8187822, RH1494230: C2 conditonal move optimization might create broken graph -Reviewed-by: kvn - -diff --git a/src/share/vm/opto/loopopts.cpp b/src/share/vm/opto/loopopts.cpp ---- openjdk/hotspot/src/share/vm/opto/loopopts.cpp -+++ openjdk/hotspot/src/share/vm/opto/loopopts.cpp -@@ -309,6 +309,7 @@ - } - return NULL; - } -+ assert(m->is_Phi() || is_dominator(get_ctrl(m), n_ctrl), "m has strange control"); - } - - return n_ctrl; -@@ -609,6 +610,7 @@ - // Now replace all Phis with CMOV's - Node *cmov_ctrl = iff->in(0); - uint flip = (lp->Opcode() == Op_IfTrue); -+ Node_List wq; - while (1) { - PhiNode* phi = NULL; - for (DUIterator_Fast imax, i = region->fast_outs(imax); i < imax; i++) { -@@ -623,17 +625,21 @@ - if (PrintOpto && VerifyLoopOptimizations) tty->print_cr("CMOV"); - #endif - // Move speculative ops -- for (uint j = 1; j < region->req(); j++) { -- Node *proj = region->in(j); -- Node *inp = phi->in(j); -- if (get_ctrl(inp) == proj) { // Found local op -+ wq.push(phi); -+ while (wq.size() > 0) { -+ Node *n = wq.pop(); -+ for (uint j = 1; j < n->req(); j++) { -+ Node* m = n->in(j); -+ if (m != NULL && !is_dominator(get_ctrl(m), cmov_ctrl)) { - #ifndef PRODUCT -- if (PrintOpto && VerifyLoopOptimizations) { -- tty->print(" speculate: "); -- inp->dump(); -+ if (PrintOpto && VerifyLoopOptimizations) { -+ tty->print(" speculate: "); -+ m->dump(); -+ } -+#endif -+ set_ctrl(m, cmov_ctrl); -+ wq.push(m); - } --#endif -- set_ctrl(inp, cmov_ctrl); - } - } - Node *cmov = CMoveNode::make( C, cmov_ctrl, iff->in(1), phi->in(1+flip), phi->in(2-flip), _igvn.type(phi) ); -diff --git a/test/compiler/loopopts/TestCMovSplitThruPhi.java b/test/compiler/loopopts/TestCMovSplitThruPhi.java -new file mode 100644 ---- /dev/null -+++ openjdk/hotspot/test/compiler/loopopts/TestCMovSplitThruPhi.java -@@ -0,0 +1,67 @@ -+/* -+ * Copyright (c) 2017, Red Hat, Inc. All rights reserved. -+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -+ * -+ * This code is free software; you can redistribute it and/or modify it -+ * under the terms of the GNU General Public License version 2 only, as -+ * published by the Free Software Foundation. -+ * -+ * This code is distributed in the hope that it will be useful, but WITHOUT -+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -+ * version 2 for more details (a copy is included in the LICENSE file that -+ * accompanied this code). -+ * -+ * You should have received a copy of the GNU General Public License version -+ * 2 along with this work; if not, write to the Free Software Foundation, -+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -+ * -+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -+ * or visit www.oracle.com if you need additional information or have any -+ * questions. -+ */ -+ -+/** -+ * @test -+ * @bug 8187822 -+ * @summary C2 conditonal move optimization might create broken graph -+ * @run main/othervm -XX:-UseOnStackReplacement -XX:-BackgroundCompilation -XX:CompileCommand=dontinline,TestCMovSplitThruPhi::not_inlined -XX:CompileOnly=TestCMovSplitThruPhi::test -XX:-LoopUnswitching TestCMovSplitThruPhi -+ * -+ */ -+ -+public class TestCMovSplitThruPhi { -+ static int f; -+ -+ static int test(boolean flag1, boolean flag2, boolean flag3, boolean flag4) { -+ int v3 = 0; -+ if (flag4) { -+ for (int i = 0; i < 10; i++) { -+ int v1 = 0; -+ if (flag1) { -+ v1 = not_inlined(); -+ } -+ // AddI below will be candidate for split through Phi -+ int v2 = v1; -+ if (flag2) { -+ v2 = f + v1; -+ } -+ // test above will be converted to CMovI -+ if (flag3) { -+ v3 = v2 * 2; -+ break; -+ } -+ } -+ } -+ return v3; -+ } -+ -+ private static int not_inlined() { -+ return 0; -+ } -+ -+ public static void main(String[] args) { -+ for (int i = 0; i < 20000; i++) { -+ test((i % 2) == 0, (i % 2) == 0, (i % 100) == 1, (i % 1000) == 1); -+ } -+ } -+}