updated to u102

This commit is contained in:
Jiri Vanek 2016-08-25 14:00:52 +02:00
parent 3e33782eea
commit 57c769a539
6 changed files with 16 additions and 148 deletions

2
.gitignore vendored
View File

@ -61,3 +61,5 @@
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u92-b14.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u101-b14.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u101-b14-shenandoah-merge-2016-07-25.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u102-b14.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u102-b14.tar.xz

View File

@ -1,21 +0,0 @@
# HG changeset patch
# User omajid
# Date 1451403643 18000
# Tue Dec 29 10:40:43 2015 -0500
# Node ID 0be28a33e12dfc9ae1e4be381530643f691d351a
# Parent f4c9545cd8a56a5fab74c95de3573623ba2b83c4
6961123, PR2972: setWMClass fails to null-terminate WM_CLASS string
Reviewed-by: serb
diff -r f4c9545cd8a5 -r 0be28a33e12d src/solaris/classes/sun/awt/X11/XBaseWindow.java
--- openjdk/jdk/src/solaris/classes/sun/awt/X11/XBaseWindow.java Thu Aug 28 05:20:02 2014 -0700
+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XBaseWindow.java Tue Dec 29 10:40:43 2015 -0500
@@ -673,7 +673,7 @@
XToolkit.awtLock();
try {
XAtom xa = XAtom.get(XAtom.XA_WM_CLASS);
- xa.setProperty8(getWindow(), cl[0] + '\0' + cl[1]);
+ xa.setProperty8(getWindow(), cl[0] + '\0' + cl[1] + '\0');
} finally {
XToolkit.awtUnlock();
}

View File

@ -1,114 +0,0 @@
# HG changeset patch
# User thartmann
# Date 1455606693 -3600
# Tue Feb 16 08:11:33 2016 +0100
# Node ID 7bb48ba4de4fb35c10c526146f65da74a3a16c7a
# Parent d15bc25b259dcffd2566f90ff09fd263e87e0304
8148752, PR2943: Compiled StringBuilder code throws StringIndexOutOfBoundsException
Summary: Fixed handling of long/double MH arguments in GraphBuilder::try_method_handle_inline().
Reviewed-by: roland, shade, vlivanov, kvn, twisti
diff -r d15bc25b259d -r 7bb48ba4de4f src/share/vm/opto/callGenerator.cpp
--- openjdk/hotspot/src/share/vm/opto/callGenerator.cpp Wed Apr 20 04:04:43 2016 +0100
+++ openjdk/hotspot/src/share/vm/opto/callGenerator.cpp Tue Feb 16 08:11:33 2016 +0100
@@ -829,17 +829,18 @@
}
}
// Cast reference arguments to its type.
- for (int i = 0; i < signature->count(); i++) {
+ for (int i = 0, j = 0; i < signature->count(); i++) {
ciType* t = signature->type_at(i);
if (t->is_klass()) {
- Node* arg = kit.argument(receiver_skip + i);
+ Node* arg = kit.argument(receiver_skip + j);
const TypeOopPtr* arg_type = arg->bottom_type()->isa_oopptr();
const Type* sig_type = TypeOopPtr::make_from_klass(t->as_klass());
if (arg_type != NULL && !arg_type->higher_equal(sig_type)) {
Node* cast_obj = gvn.transform(new (C) CheckCastPPNode(kit.control(), arg, sig_type));
- kit.set_argument(receiver_skip + i, cast_obj);
+ kit.set_argument(receiver_skip + j, cast_obj);
}
}
+ j += t->size(); // long and double take two slots
}
// Try to get the most accurate receiver type
diff -r d15bc25b259d -r 7bb48ba4de4f test/compiler/jsr292/LongReferenceCastingTest.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ openjdk/hotspot/test/compiler/jsr292/LongReferenceCastingTest.java Tue Feb 16 08:11:33 2016 +0100
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 2016, Oracle and/or its affiliates. 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.
+ *
+ */
+
+import java.lang.invoke.*;
+
+/**
+ * @test
+ * @bug 8148752
+ * @summary Test correct casting of MH arguments during inlining.
+ * @run main LongReferenceCastingTest
+ */
+public class LongReferenceCastingTest {
+ static final String MY_STRING = "myString";
+ static final MethodHandle MH;
+
+ static {
+ try {
+ MethodHandles.Lookup lookup = MethodHandles.lookup();
+ MethodType mt = MethodType.methodType(String.class, long.class, Object.class, String.class);
+ MH = lookup.findVirtual(LongReferenceCastingTest.class, "myMethod", mt);
+ } catch (Exception e) {
+ throw new Error(e);
+ }
+ }
+
+ public String myMethod(long l, Object o, String s) {
+ // The long argument occupies two stack slots, causing C2 to treat it as
+ // two arguments and casting the fist one two long and the second one to Object.
+ // As a result, Object o is casted to String and the o.toString() call is
+ // inlined as String::toString(). We fail at runtime because 'o' is not a String.
+ return o.toString();
+ }
+
+ public String toString() {
+ return MY_STRING;
+ }
+
+ public static void main(String[] args) throws Exception {
+ LongReferenceCastingTest test = new LongReferenceCastingTest();
+ try {
+ for (int i = 0; i < 20_000; ++i) {
+ if (!test.invoke().equals(MY_STRING)) {
+ throw new RuntimeException("Invalid string");
+ }
+ }
+ } catch (Throwable t) {
+ throw new RuntimeException("Test failed", t);
+ }
+ }
+
+ public String invoke() throws Throwable {
+ return (String) MH.invokeExact(this, 0L, (Object)this, MY_STRING);
+ }
+}

View File

@ -170,7 +170,7 @@
# note, following three variables are sedded from update_sources if used correctly. Hardcode them rather there.
%global project aarch64-port
%global repo jdk8u
%global revision aarch64-jdk8u101-b14
%global revision aarch64-jdk8u102-b14
# eg # jdk8u60-b27 -> jdk8u60 or # aarch64-jdk8u60-b27 -> aarch64-jdk8u60 (dont forget spec escape % by %%)
%global whole_update %(VERSION=%{revision}; echo ${VERSION%%-*})
# eg jdk8u60 -> 60 or aarch64-jdk8u60 -> 60
@ -785,7 +785,7 @@ Obsoletes: java-1.7.0-openjdk-accessibility%1
Name: java-%{javaver}-%{origin}
Version: %{javaver}.%{updatever}
Release: 3.%{buildver}%{?dist}
Release: 1.%{buildver}%{?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
@ -841,7 +841,7 @@ Source20: repackReproduciblePolycies.sh
Source100: config.guess
Source101: config.sub
# shenandoah hotpost
Source999: aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u101-b14-shenandoah-merge-2016-07-25.tar.xz
Source999: aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u102-b14.tar.xz
# RPM/distribution specific patches
@ -921,10 +921,6 @@ Patch531: 8157306-pr3121-rh1360863.patch
Patch532: 8162384-pr3122-rh1358661.patch
# Patches upstream and appearing in 8u102
# S8148752, PR2943, RH1330188: Compiled StringBuilder code throws StringIndexOutOfBoundsException
Patch519: 8148752-pr2943-rh1330188.patch
# S6961123, PR2972, RH1339740: Java application name in GNOME Shell contains funny characters
Patch520: 6961123-pr2972-rh1339740.patch
# S8159244, PR3074: Partially initialized string object created by C2's string concat optimization may escape
Patch527: 8159244-pr3074.patch
@ -1271,9 +1267,7 @@ sh %{SOURCE12}
%patch516
%patch517
%patch518
%patch519
%patch400
%patch520
%patch521
%patch522
%patch523
@ -1873,6 +1867,13 @@ require "copy_jdk_configs.lua"
%endif
%changelog
* Thu Aug 25 2016 jvanek <jvanek@redhat.com> - 1:1.8.0.102-1.b14
- updated to aarch64-jdk8u102-b14 (from aarch64-port/jdk8u)
- updated to aarch64-shenandoah-jdk8u102-b14 (from aarch64-port/jdk8u-shenandoah) of hotspot
- used aarch64-port-jdk8u-aarch64-jdk8u102-b14.tar.xz as new sources
- used aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u102-b14.tar.xz as new sources for hotspot
- removed upstreamed patches 519 and 520
* Mon Aug 01 2016 Andrew Hughes <gnu.andrew@redhat.com> - 1:1.8.0.101-3.b14
- Replace patch for S8162384 with upstream version. Document correctly along with SystemTap RH1204159 patch.
- Resolves: rhbz#1358661

View File

@ -1,3 +1,3 @@
94ca5a45c3cb3b85c4577d0891166007 systemtap-tapset.tar.gz
837e9490d2ffb85644e6b083f8006e7a aarch64-port-jdk8u-aarch64-jdk8u101-b14.tar.xz
40b2e99945101cf8cd6cad5eafc47a82 aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u101-b14-shenandoah-merge-2016-07-25.tar.xz
fd982589a6345c6dd3698256bed45d3d aarch64-port-jdk8u-aarch64-jdk8u102-b14.tar.xz
76ebec7a595c567a66b9d15fdc530a56 aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u102-b14.tar.xz

View File

@ -24,7 +24,7 @@ if [ "x$REPO_NAME" = "x" ] ; then
REPO_NAME="jdk8u"
fi
if [ "x$VERSION" = "x" ] ; then
VERSION="aarch64-jdk8u101-b14"
VERSION="aarch64-jdk8u102-b14"
fi
if [ "x$COMPRESSION" = "x" ] ; then
@ -102,7 +102,7 @@ if [ "x$VERSION" = "xtip" ] ; then
VERSION="tip"
else
#hardcoding version for anything else except tip
VERSION="aarch64-shenandoah-jdk8u101-b14-shenandoah-merge-2016-07-25"
VERSION="aarch64-shenandoah-jdk8u102-b14"
fi
MAIN_REPO_NAME=$REPO_NAME
REPO_NAME=jdk8u-shenandoah