Finished updtae to u92, added many known regression fixes
This commit is contained in:
parent
07077ab8b1
commit
418a52c266
21
6961123-pr2972-rh1339740.patch
Normal file
21
6961123-pr2972-rh1339740.patch
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# 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();
|
||||||
|
}
|
45
8044762-pr2960.patch
Normal file
45
8044762-pr2960.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# User dsamersoff
|
||||||
|
# Date 1403087398 25200
|
||||||
|
# Wed Jun 18 03:29:58 2014 -0700
|
||||||
|
# Node ID 13411144d46b50d0087f35eca2b8e827aae558f1
|
||||||
|
# Parent 10c9f8461c297a200ef57970c1f4c32d4081d790
|
||||||
|
8044762, PR2960: com/sun/jdi/OptionTest.java test time out
|
||||||
|
Summary: gdata could be NULL in debugInit_exit
|
||||||
|
Reviewed-by: dcubed
|
||||||
|
|
||||||
|
diff -r 10c9f8461c29 -r 13411144d46b src/share/back/debugInit.c
|
||||||
|
--- openjdk/jdk/src/share/back/debugInit.c Fri May 20 19:42:05 2016 +0100
|
||||||
|
+++ openjdk/jdk/src/share/back/debugInit.c Wed Jun 18 03:29:58 2014 -0700
|
||||||
|
@@ -1307,22 +1307,26 @@
|
||||||
|
if ( error != JVMTI_ERROR_NONE ) {
|
||||||
|
exit_code = 1;
|
||||||
|
if ( docoredump ) {
|
||||||
|
+ LOG_MISC(("Dumping core as requested by command line"));
|
||||||
|
finish_logging(exit_code);
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+
|
||||||
|
if ( msg==NULL ) {
|
||||||
|
msg = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
LOG_MISC(("Exiting with error %s(%d): %s", jvmtiErrorText(error), error, msg));
|
||||||
|
|
||||||
|
- gdata->vmDead = JNI_TRUE;
|
||||||
|
+ if (gdata != NULL) {
|
||||||
|
+ gdata->vmDead = JNI_TRUE;
|
||||||
|
|
||||||
|
- /* Let's try and cleanup the JVMTI, if we even have one */
|
||||||
|
- if ( gdata->jvmti != NULL ) {
|
||||||
|
- /* Dispose of jvmti (gdata->jvmti becomes NULL) */
|
||||||
|
- disposeEnvironment(gdata->jvmti);
|
||||||
|
+ /* Let's try and cleanup the JVMTI, if we even have one */
|
||||||
|
+ if ( gdata->jvmti != NULL ) {
|
||||||
|
+ /* Dispose of jvmti (gdata->jvmti becomes NULL) */
|
||||||
|
+ disposeEnvironment(gdata->jvmti);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Finish up logging. We reach here if JDWP is doing the exiting. */
|
@ -1,56 +1,14 @@
|
|||||||
# HG changeset patch
|
# HG changeset patch
|
||||||
# User dsamersoff
|
# User dsamersoff
|
||||||
# Date 1403087398 25200
|
|
||||||
# Node ID 7eb9656224049bee9ca32cca8217fb12e8686b76
|
|
||||||
# Parent 66c61047f119f2919f4087f49189ee7171e7205d
|
|
||||||
8044762: com/sun/jdi/OptionTest.java test time out
|
|
||||||
Summary: gdata could be NULL in debugInit_exit
|
|
||||||
Reviewed-by: dcubed
|
|
||||||
# HG changeset patch
|
|
||||||
# User dsamersoff
|
|
||||||
# Date 1409228402 25200
|
# Date 1409228402 25200
|
||||||
# Node ID 66199a53c7f9b21032666a7e3655daab408d9881
|
# Thu Aug 28 05:20:02 2014 -0700
|
||||||
# Parent 7eb9656224049bee9ca32cca8217fb12e8686b76
|
# Node ID f4c9545cd8a56a5fab74c95de3573623ba2b83c4
|
||||||
8049226: com/sun/jdi/OptionTest.java test times out again
|
# Parent 13411144d46b50d0087f35eca2b8e827aae558f1
|
||||||
|
8049226, PR2960: com/sun/jdi/OptionTest.java test times out again
|
||||||
Summary: Don't call jni_FatalError if transport initialization fails
|
Summary: Don't call jni_FatalError if transport initialization fails
|
||||||
Reviewed-by: sspitsyn, sla
|
Reviewed-by: sspitsyn, sla
|
||||||
|
|
||||||
diff -r 66c61047f119 -r 7eb965622404 src/share/back/debugInit.c
|
diff -r 13411144d46b -r f4c9545cd8a5 src/share/back/debugInit.c
|
||||||
--- openjdk/jdk/src/share/back/debugInit.c Mon May 16 09:54:50 2016 +0300
|
|
||||||
+++ openjdk/jdk/src/share/back/debugInit.c Wed Jun 18 03:29:58 2014 -0700
|
|
||||||
@@ -1307,22 +1307,26 @@
|
|
||||||
if ( error != JVMTI_ERROR_NONE ) {
|
|
||||||
exit_code = 1;
|
|
||||||
if ( docoredump ) {
|
|
||||||
+ LOG_MISC(("Dumping core as requested by command line"));
|
|
||||||
finish_logging(exit_code);
|
|
||||||
abort();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+
|
|
||||||
if ( msg==NULL ) {
|
|
||||||
msg = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
LOG_MISC(("Exiting with error %s(%d): %s", jvmtiErrorText(error), error, msg));
|
|
||||||
|
|
||||||
- gdata->vmDead = JNI_TRUE;
|
|
||||||
+ if (gdata != NULL) {
|
|
||||||
+ gdata->vmDead = JNI_TRUE;
|
|
||||||
|
|
||||||
- /* Let's try and cleanup the JVMTI, if we even have one */
|
|
||||||
- if ( gdata->jvmti != NULL ) {
|
|
||||||
- /* Dispose of jvmti (gdata->jvmti becomes NULL) */
|
|
||||||
- disposeEnvironment(gdata->jvmti);
|
|
||||||
+ /* Let's try and cleanup the JVMTI, if we even have one */
|
|
||||||
+ if ( gdata->jvmti != NULL ) {
|
|
||||||
+ /* Dispose of jvmti (gdata->jvmti becomes NULL) */
|
|
||||||
+ disposeEnvironment(gdata->jvmti);
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Finish up logging. We reach here if JDWP is doing the exiting. */
|
|
||||||
diff -r 7eb965622404 -r 66199a53c7f9 src/share/back/debugInit.c
|
|
||||||
--- openjdk/jdk/src/share/back/debugInit.c Wed Jun 18 03:29:58 2014 -0700
|
--- openjdk/jdk/src/share/back/debugInit.c Wed Jun 18 03:29:58 2014 -0700
|
||||||
+++ openjdk/jdk/src/share/back/debugInit.c Thu Aug 28 05:20:02 2014 -0700
|
+++ openjdk/jdk/src/share/back/debugInit.c Thu Aug 28 05:20:02 2014 -0700
|
||||||
@@ -1013,7 +1013,7 @@
|
@@ -1013,7 +1013,7 @@
|
||||||
@ -139,7 +97,7 @@ diff -r 7eb965622404 -r 66199a53c7f9 src/share/back/debugInit.c
|
|||||||
+ // Last chance to die, this kills the entire process.
|
+ // Last chance to die, this kills the entire process.
|
||||||
+ forceExit(EXIT_JVMTI_ERROR);
|
+ forceExit(EXIT_JVMTI_ERROR);
|
||||||
}
|
}
|
||||||
diff -r 7eb965622404 -r 66199a53c7f9 src/share/back/log_messages.c
|
diff -r 13411144d46b -r f4c9545cd8a5 src/share/back/log_messages.c
|
||||||
--- openjdk/jdk/src/share/back/log_messages.c Wed Jun 18 03:29:58 2014 -0700
|
--- openjdk/jdk/src/share/back/log_messages.c Wed Jun 18 03:29:58 2014 -0700
|
||||||
+++ openjdk/jdk/src/share/back/log_messages.c Thu Aug 28 05:20:02 2014 -0700
|
+++ openjdk/jdk/src/share/back/log_messages.c Thu Aug 28 05:20:02 2014 -0700
|
||||||
@@ -230,7 +230,7 @@
|
@@ -230,7 +230,7 @@
|
||||||
@ -151,7 +109,7 @@ diff -r 7eb965622404 -r 66199a53c7f9 src/share/back/log_messages.c
|
|||||||
{
|
{
|
||||||
#ifdef JDWP_LOGGING
|
#ifdef JDWP_LOGGING
|
||||||
MUTEX_LOCK(my_mutex);
|
MUTEX_LOCK(my_mutex);
|
||||||
diff -r 7eb965622404 -r 66199a53c7f9 src/share/back/log_messages.h
|
diff -r 13411144d46b -r f4c9545cd8a5 src/share/back/log_messages.h
|
||||||
--- openjdk/jdk/src/share/back/log_messages.h Wed Jun 18 03:29:58 2014 -0700
|
--- openjdk/jdk/src/share/back/log_messages.h Wed Jun 18 03:29:58 2014 -0700
|
||||||
+++ openjdk/jdk/src/share/back/log_messages.h Thu Aug 28 05:20:02 2014 -0700
|
+++ openjdk/jdk/src/share/back/log_messages.h Thu Aug 28 05:20:02 2014 -0700
|
||||||
@@ -29,7 +29,7 @@
|
@@ -29,7 +29,7 @@
|
||||||
@ -163,4 +121,3 @@ diff -r 7eb965622404 -r 66199a53c7f9 src/share/back/log_messages.h
|
|||||||
|
|
||||||
#define LOG_NULL ((void)0)
|
#define LOG_NULL ((void)0)
|
||||||
|
|
||||||
|
|
114
8148752-pr2943-rh1330188.patch
Normal file
114
8148752-pr2943-rh1330188.patch
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
# 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);
|
||||||
|
+ }
|
||||||
|
+}
|
47
8154210.patch
Normal file
47
8154210.patch
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# User aph
|
||||||
|
# Date 1461121375 -3600
|
||||||
|
# Wed Apr 20 04:02:55 2016 +0100
|
||||||
|
# Node ID 5605c859f0ec47d6f507cc83e783554a4210ccf6
|
||||||
|
# Parent 7458e5178c8646a9b4f76ac3d13b222abed3f16f
|
||||||
|
8154210: Zero: Better byte behaviour
|
||||||
|
Summary: Complete support for 8132051 on Zero and fix failure on 64-bit big-endian systems
|
||||||
|
Reviewed-by: andrew, chrisphi
|
||||||
|
|
||||||
|
diff -r 7458e5178c86 -r 5605c859f0ec src/cpu/zero/vm/cppInterpreter_zero.cpp
|
||||||
|
--- openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp Tue May 17 03:03:36 2016 +0100
|
||||||
|
+++ openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp Wed Apr 20 04:02:55 2016 +0100
|
||||||
|
@@ -220,9 +220,16 @@
|
||||||
|
// Push our result
|
||||||
|
for (int i = 0; i < result_slots; i++) {
|
||||||
|
// Adjust result to smaller
|
||||||
|
- intptr_t res = result[-i];
|
||||||
|
+ union {
|
||||||
|
+ intptr_t res;
|
||||||
|
+ jint res_jint;
|
||||||
|
+ };
|
||||||
|
+ res = result[-i];
|
||||||
|
if (result_slots == 1) {
|
||||||
|
- res = narrow(method->result_type(), res);
|
||||||
|
+ BasicType t = method->result_type();
|
||||||
|
+ if (is_subword_type(t)) {
|
||||||
|
+ res_jint = (jint)narrow(t, res_jint);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
stack->push(res);
|
||||||
|
}
|
||||||
|
diff -r 7458e5178c86 -r 5605c859f0ec src/share/vm/interpreter/bytecodeInterpreter.cpp
|
||||||
|
--- openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp Tue May 17 03:03:36 2016 +0100
|
||||||
|
+++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp Wed Apr 20 04:02:55 2016 +0100
|
||||||
|
@@ -593,8 +593,9 @@
|
||||||
|
/* 0xDC */ &&opc_default, &&opc_default, &&opc_default, &&opc_default,
|
||||||
|
|
||||||
|
/* 0xE0 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default,
|
||||||
|
-/* 0xE4 */ &&opc_default, &&opc_fast_aldc, &&opc_fast_aldc_w, &&opc_return_register_finalizer,
|
||||||
|
-/* 0xE8 */ &&opc_invokehandle,&&opc_default, &&opc_default, &&opc_default,
|
||||||
|
+/* 0xE4 */ &&opc_default, &&opc_default, &&opc_fast_aldc, &&opc_fast_aldc_w,
|
||||||
|
+/* 0xE8 */ &&opc_return_register_finalizer,
|
||||||
|
+ &&opc_invokehandle, &&opc_default, &&opc_default,
|
||||||
|
/* 0xEC */ &&opc_default, &&opc_default, &&opc_default, &&opc_default,
|
||||||
|
|
||||||
|
/* 0xF0 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default,
|
@ -803,7 +803,7 @@ URL: http://openjdk.java.net/
|
|||||||
|
|
||||||
# aarch64-port now contains integration forest of both aarch64 and normal jdk
|
# aarch64-port now contains integration forest of both aarch64 and normal jdk
|
||||||
# Source from upstream OpenJDK8 project. To regenerate, use
|
# Source from upstream OpenJDK8 project. To regenerate, use
|
||||||
# VERSION=aarch64-jdk8u91-b14 FILE_NAME_ROOT=aarch64-port-jdk8u-${VERSION}
|
# VERSION=aarch64-jdk8u92-b14 FILE_NAME_ROOT=aarch64-port-jdk8u-${VERSION}
|
||||||
# REPO_ROOT=<path to checked-out repository> generate_source_tarball.sh
|
# REPO_ROOT=<path to checked-out repository> generate_source_tarball.sh
|
||||||
# where the source is obtained from http://hg.openjdk.java.net/%%{project}/%%{repo}
|
# where the source is obtained from http://hg.openjdk.java.net/%%{project}/%%{repo}
|
||||||
Source0: %{project}-%{repo}-%{revision}.tar.xz
|
Source0: %{project}-%{repo}-%{revision}.tar.xz
|
||||||
@ -863,13 +863,19 @@ Patch512: no_strict_overflow.patch
|
|||||||
# PR2127: SunEC provider crashes when built using system NSS
|
# PR2127: SunEC provider crashes when built using system NSS
|
||||||
# PR2815: Race condition in SunEC provider with system NSS
|
# PR2815: Race condition in SunEC provider with system NSS
|
||||||
# PR2899: Don't use WithSeed versions of NSS functions as they don't fully process the seed
|
# PR2899: Don't use WithSeed versions of NSS functions as they don't fully process the seed
|
||||||
|
# PR2934: SunEC provider throwing KeyException with current NSS
|
||||||
Patch513: pr1983-jdk.patch
|
Patch513: pr1983-jdk.patch
|
||||||
Patch514: pr1983-root.patch
|
Patch514: pr1983-root.patch
|
||||||
Patch515: pr2127.patch
|
Patch515: pr2127.patch
|
||||||
Patch516: pr2815.patch
|
Patch516: pr2815.patch
|
||||||
Patch517: pr2899.patch
|
Patch517: pr2899.patch
|
||||||
Patch518: httpsFix1329342.patch
|
Patch518: pr2934.patch
|
||||||
Patch519: jdwpCrash.abrt.patch
|
# S8150954, RH1176206, PR2866: Taking screenshots on x11 composite desktop produces wrong result
|
||||||
|
# In progress: http://mail.openjdk.java.net/pipermail/awt-dev/2016-March/010742.html
|
||||||
|
Patch508: rh1176206-jdk.patch
|
||||||
|
Patch509: rh1176206-root.patch
|
||||||
|
# RH1337583, PR2974: PKCS#10 certificate requests now use CRLF line endings rather than system line endings
|
||||||
|
Patch523: pr2974-rh1337583.patch
|
||||||
|
|
||||||
# Arch-specific upstreamable patches
|
# Arch-specific upstreamable patches
|
||||||
# PR2415: JVM -Xmx requirement is too high on s390
|
# PR2415: JVM -Xmx requirement is too high on s390
|
||||||
@ -878,6 +884,8 @@ Patch100: %{name}-s390-java-opts.patch
|
|||||||
Patch102: %{name}-size_t.patch
|
Patch102: %{name}-size_t.patch
|
||||||
# Use "%z" for size_t on s390 as size_t != intptr_t
|
# Use "%z" for size_t on s390 as size_t != intptr_t
|
||||||
Patch103: s390-size_t_format_flags.patch
|
Patch103: s390-size_t_format_flags.patch
|
||||||
|
# PR2991, RH1341258: JVM on PPC64 LE crashes due to an illegal instruction in JITed code
|
||||||
|
Patch524: pr2991-rh1341258.patch
|
||||||
|
|
||||||
# Patches which need backporting to 8u
|
# Patches which need backporting to 8u
|
||||||
# S8073139, RH1191652; fix name of ppc64le architecture
|
# S8073139, RH1191652; fix name of ppc64le architecture
|
||||||
@ -899,14 +907,20 @@ Patch605: soundFontPatch.patch
|
|||||||
# S8148351, PR2842: Only display resolved symlink for compiler, do not change path
|
# S8148351, PR2842: Only display resolved symlink for compiler, do not change path
|
||||||
Patch506: pr2842-01.patch
|
Patch506: pr2842-01.patch
|
||||||
Patch507: pr2842-02.patch
|
Patch507: pr2842-02.patch
|
||||||
# S8150954, RH1176206, PR2866: Taking screenshots on x11 composite desktop produces wrong result
|
|
||||||
# In progress: http://mail.openjdk.java.net/pipermail/awt-dev/2016-March/010742.html
|
|
||||||
Patch508: rh1176206-jdk.patch
|
|
||||||
Patch509: rh1176206-root.patch
|
|
||||||
|
|
||||||
# Patches which need adding to aarch64/8u
|
# 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
|
||||||
|
|
||||||
# Patches upstream and appearing in 8u76
|
# Patches upstream and appearing in 8u112
|
||||||
|
# S8044762, PR2960: com/sun/jdi/OptionTest.java test time out
|
||||||
|
Patch521: 8044762-pr2960.patch
|
||||||
|
# S8049226, PR2960: com/sun/jdi/OptionTest.java test times out again
|
||||||
|
Patch522: 8049226-pr2960.patch
|
||||||
|
# 8154210: Zero: Better byte behaviour
|
||||||
|
Patch606: 8154210.patch
|
||||||
|
|
||||||
# Patches ineligible for 8u
|
# Patches ineligible for 8u
|
||||||
# 8043805: Allow using a system-installed libjpeg
|
# 8043805: Allow using a system-installed libjpeg
|
||||||
@ -915,8 +929,8 @@ Patch201: system-libjpeg.patch
|
|||||||
# Local fixes
|
# Local fixes
|
||||||
# see http://mail.openjdk.java.net/pipermail/build-dev/2016-March/016852.html thread
|
# see http://mail.openjdk.java.net/pipermail/build-dev/2016-March/016852.html thread
|
||||||
Patch400: jdk8-archivedJavadoc.patch
|
Patch400: jdk8-archivedJavadoc.patch
|
||||||
# already in shenandoah repo: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/06556235f193
|
# PR1834, RH1022017: Reduce curves reported by SSL to those in NSS
|
||||||
# proposed for shenandoah integration forest: http://mail.openjdk.java.net/pipermail/aarch64-port-dev/2016-May/003461.html
|
Patch525: pr1834-rh1022017.patch
|
||||||
|
|
||||||
# Non-OpenJDK fixes
|
# Non-OpenJDK fixes
|
||||||
Patch300: jstack-pr1845.patch
|
Patch300: jstack-pr1845.patch
|
||||||
@ -1216,7 +1230,11 @@ sh %{SOURCE12}
|
|||||||
%patch102
|
%patch102
|
||||||
%patch103
|
%patch103
|
||||||
|
|
||||||
|
# ppc64le fixes
|
||||||
|
%patch524
|
||||||
|
|
||||||
# Zero fixes.
|
# Zero fixes.
|
||||||
|
%patch606
|
||||||
|
|
||||||
%patch603
|
%patch603
|
||||||
%patch601
|
%patch601
|
||||||
@ -1239,6 +1257,11 @@ sh %{SOURCE12}
|
|||||||
%patch518
|
%patch518
|
||||||
%patch519
|
%patch519
|
||||||
%patch400
|
%patch400
|
||||||
|
%patch520
|
||||||
|
%patch521
|
||||||
|
%patch522
|
||||||
|
%patch523
|
||||||
|
%patch525
|
||||||
|
|
||||||
# Extract systemtap tapsets
|
# Extract systemtap tapsets
|
||||||
%if %{with_systemtap}
|
%if %{with_systemtap}
|
||||||
@ -1827,6 +1850,14 @@ require "copy_jdk_configs.lua"
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Jun 07 2016 Jiri Vanek <jvanek@redhat.com> - 1:1.8.0.92-1.b14
|
||||||
|
- updated to u92
|
||||||
|
- removed upstreamed patches 8132051-aarch64.patch, 8143855.patch, criticalShenandoahFix.patch, rhbz1206656_fix_current_stack_pointer.patch
|
||||||
|
- 8132051-zero.patch, remove_aarch64_template_for_gcc6.patch
|
||||||
|
- jdwpCrash.abrt.patch renamed to 8044762-pr2960.patch
|
||||||
|
- httpsFix1329342.patch renamed to pr2934.patch
|
||||||
|
- added known regresisonos fixes for u92 scheduled for next u (519-525)
|
||||||
|
|
||||||
* Thu May 19 2016 jvanek <jvanek@redhat.com> - 1:1.8.0.91-7.b14
|
* Thu May 19 2016 jvanek <jvanek@redhat.com> - 1:1.8.0.91-7.b14
|
||||||
- added patch519, jdwpCrash.abrt.patch to fix trasnportation error
|
- added patch519, jdwpCrash.abrt.patch to fix trasnportation error
|
||||||
|
|
||||||
|
44
pr1834-rh1022017.patch
Normal file
44
pr1834-rh1022017.patch
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
diff -r a5c3d9643077 src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java
|
||||||
|
--- openjdk/jdk/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java Tue Feb 10 16:24:28 2015 +0000
|
||||||
|
+++ openjdk/jdk/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java Thu May 14 04:01:02 2015 +0100
|
||||||
|
@@ -37,25 +37,11 @@
|
||||||
|
// the extension value to send in the ClientHello message
|
||||||
|
static final SupportedEllipticCurvesExtension DEFAULT;
|
||||||
|
|
||||||
|
- private static final boolean fips;
|
||||||
|
-
|
||||||
|
static {
|
||||||
|
- int[] ids;
|
||||||
|
- fips = SunJSSE.isFIPS();
|
||||||
|
- if (fips == false) {
|
||||||
|
- ids = new int[] {
|
||||||
|
- // NIST curves first
|
||||||
|
- // prefer NIST P-256, rest in order of increasing key length
|
||||||
|
- 23, 1, 3, 19, 21, 6, 7, 9, 10, 24, 11, 12, 25, 13, 14,
|
||||||
|
- // non-NIST curves
|
||||||
|
- 15, 16, 17, 2, 18, 4, 5, 20, 8, 22,
|
||||||
|
- };
|
||||||
|
- } else {
|
||||||
|
- ids = new int[] {
|
||||||
|
- // same as above, but allow only NIST curves in FIPS mode
|
||||||
|
- 23, 1, 3, 19, 21, 6, 7, 9, 10, 24, 11, 12, 25, 13, 14,
|
||||||
|
- };
|
||||||
|
- }
|
||||||
|
+ int[] ids = new int[] {
|
||||||
|
+ // NSS currently only supports these three NIST curves
|
||||||
|
+ 23, 24, 25
|
||||||
|
+ };
|
||||||
|
DEFAULT = new SupportedEllipticCurvesExtension(ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -150,10 +136,6 @@
|
||||||
|
if ((index <= 0) || (index >= NAMED_CURVE_OID_TABLE.length)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
- if (fips == false) {
|
||||||
|
- // in non-FIPS mode, we support all valid indices
|
||||||
|
- return true;
|
||||||
|
- }
|
||||||
|
return DEFAULT.contains(index);
|
||||||
|
}
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
# HG changeset patch
|
# HG changeset patch
|
||||||
# User andrew
|
# User andrew
|
||||||
# Date 1461349033 -3600
|
# Date 1461349033 -3600
|
||||||
|
# Fri Apr 22 19:17:13 2016 +0100
|
||||||
# Node ID dab76de2f91cf1791c03560a3f45aaa69f8351fd
|
# Node ID dab76de2f91cf1791c03560a3f45aaa69f8351fd
|
||||||
# Parent 3fa42705acab6d69b6141f47ebba4f85739a338c
|
# Parent 3fa42705acab6d69b6141f47ebba4f85739a338c
|
||||||
PR2934: SunEC provider throwing KeyException with current NSS
|
PR2934: SunEC provider throwing KeyException with current NSS
|
||||||
@ -88,4 +88,3 @@ diff -r 3fa42705acab -r dab76de2f91c src/share/native/sun/security/ec/ecc_impl.h
|
|||||||
#define ECDSA_VerifyDigest(a,b,c,d) ECDSA_VerifyDigest(a,b,c)
|
#define ECDSA_VerifyDigest(a,b,c,d) ECDSA_VerifyDigest(a,b,c)
|
||||||
#define ECDH_Derive(a,b,c,d,e,f) ECDH_Derive(a,b,c,d,e)
|
#define ECDH_Derive(a,b,c,d,e,f) ECDH_Derive(a,b,c,d,e)
|
||||||
#else
|
#else
|
||||||
|
|
148
pr2974-rh1337583.patch
Normal file
148
pr2974-rh1337583.patch
Normal file
@ -0,0 +1,148 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# User andrew
|
||||||
|
# Date 1464316115 -3600
|
||||||
|
# Fri May 27 03:28:35 2016 +0100
|
||||||
|
# Node ID 794541fbbdc323f7da8a5cee75611f977eee66ee
|
||||||
|
# Parent 0be28a33e12dfc9ae1e4be381530643f691d351a
|
||||||
|
PR2974: PKCS#10 certificate requests now use CRLF line endings rather than system line endings
|
||||||
|
Summary: Add -systemlineendings option to keytool to allow system line endings to be used again.
|
||||||
|
|
||||||
|
diff -r 0be28a33e12d -r 794541fbbdc3 src/share/classes/sun/security/pkcs10/PKCS10.java
|
||||||
|
--- openjdk/jdk/src/share/classes/sun/security/pkcs10/PKCS10.java Tue Dec 29 10:40:43 2015 -0500
|
||||||
|
+++ openjdk/jdk/src/share/classes/sun/security/pkcs10/PKCS10.java Fri May 27 03:28:35 2016 +0100
|
||||||
|
@@ -30,6 +30,7 @@
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.math.BigInteger;
|
||||||
|
|
||||||
|
+import java.security.AccessController;
|
||||||
|
import java.security.cert.CertificateException;
|
||||||
|
import java.security.NoSuchAlgorithmException;
|
||||||
|
import java.security.InvalidKeyException;
|
||||||
|
@@ -39,6 +40,7 @@
|
||||||
|
|
||||||
|
import java.util.Base64;
|
||||||
|
|
||||||
|
+import sun.security.action.GetPropertyAction;
|
||||||
|
import sun.security.util.*;
|
||||||
|
import sun.security.x509.AlgorithmId;
|
||||||
|
import sun.security.x509.X509Key;
|
||||||
|
@@ -76,6 +78,14 @@
|
||||||
|
* @author Hemma Prafullchandra
|
||||||
|
*/
|
||||||
|
public class PKCS10 {
|
||||||
|
+
|
||||||
|
+ private static final byte[] sysLineEndings;
|
||||||
|
+
|
||||||
|
+ static {
|
||||||
|
+ sysLineEndings =
|
||||||
|
+ AccessController.doPrivileged(new GetPropertyAction("line.separator")).getBytes();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
/**
|
||||||
|
* Constructs an unsigned PKCS #10 certificate request. Before this
|
||||||
|
* request may be used, it must be encoded and signed. Then it
|
||||||
|
@@ -286,13 +296,39 @@
|
||||||
|
*/
|
||||||
|
public void print(PrintStream out)
|
||||||
|
throws IOException, SignatureException {
|
||||||
|
+ print(out, false);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Prints an E-Mailable version of the certificate request on the print
|
||||||
|
+ * stream passed. The format is a common base64 encoded one, supported
|
||||||
|
+ * by most Certificate Authorities because Netscape web servers have
|
||||||
|
+ * used this for some time. Some certificate authorities expect some
|
||||||
|
+ * more information, in particular contact information for the web
|
||||||
|
+ * server administrator.
|
||||||
|
+ *
|
||||||
|
+ * @param out the print stream where the certificate request
|
||||||
|
+ * will be printed.
|
||||||
|
+ * @param systemLineEndings true if the request should be terminated
|
||||||
|
+ * using the system line endings.
|
||||||
|
+ * @exception IOException when an output operation failed
|
||||||
|
+ * @exception SignatureException when the certificate request was
|
||||||
|
+ * not yet signed.
|
||||||
|
+ */
|
||||||
|
+ public void print(PrintStream out, boolean systemLineEndings)
|
||||||
|
+ throws IOException, SignatureException {
|
||||||
|
+ byte[] lineEndings;
|
||||||
|
+
|
||||||
|
if (encoded == null)
|
||||||
|
throw new SignatureException("Cert request was not signed");
|
||||||
|
|
||||||
|
+ if (systemLineEndings)
|
||||||
|
+ lineEndings = sysLineEndings;
|
||||||
|
+ else
|
||||||
|
+ lineEndings = new byte[] {'\r', '\n'}; // CRLF
|
||||||
|
|
||||||
|
- byte[] CRLF = new byte[] {'\r', '\n'};
|
||||||
|
out.println("-----BEGIN NEW CERTIFICATE REQUEST-----");
|
||||||
|
- out.println(Base64.getMimeEncoder(64, CRLF).encodeToString(encoded));
|
||||||
|
+ out.println(Base64.getMimeEncoder(64, lineEndings).encodeToString(encoded));
|
||||||
|
out.println("-----END NEW CERTIFICATE REQUEST-----");
|
||||||
|
}
|
||||||
|
|
||||||
|
diff -r 0be28a33e12d -r 794541fbbdc3 src/share/classes/sun/security/tools/keytool/Main.java
|
||||||
|
--- openjdk/jdk/src/share/classes/sun/security/tools/keytool/Main.java Tue Dec 29 10:40:43 2015 -0500
|
||||||
|
+++ openjdk/jdk/src/share/classes/sun/security/tools/keytool/Main.java Fri May 27 03:28:35 2016 +0100
|
||||||
|
@@ -117,6 +117,7 @@
|
||||||
|
private String infilename = null;
|
||||||
|
private String outfilename = null;
|
||||||
|
private String srcksfname = null;
|
||||||
|
+ private boolean systemLineEndings = false;
|
||||||
|
|
||||||
|
// User-specified providers are added before any command is called.
|
||||||
|
// However, they are not removed before the end of the main() method.
|
||||||
|
@@ -163,7 +164,7 @@
|
||||||
|
CERTREQ("Generates.a.certificate.request",
|
||||||
|
ALIAS, SIGALG, FILEOUT, KEYPASS, KEYSTORE, DNAME,
|
||||||
|
STOREPASS, STORETYPE, PROVIDERNAME, PROVIDERCLASS,
|
||||||
|
- PROVIDERARG, PROVIDERPATH, V, PROTECTED),
|
||||||
|
+ PROVIDERARG, PROVIDERPATH, SYSTEMLINEENDINGS, V, PROTECTED),
|
||||||
|
CHANGEALIAS("Changes.an.entry.s.alias",
|
||||||
|
ALIAS, DESTALIAS, KEYPASS, KEYSTORE, STOREPASS,
|
||||||
|
STORETYPE, PROVIDERNAME, PROVIDERCLASS, PROVIDERARG,
|
||||||
|
@@ -296,6 +297,7 @@
|
||||||
|
STARTDATE("startdate", "<startdate>", "certificate.validity.start.date.time"),
|
||||||
|
STOREPASS("storepass", "<arg>", "keystore.password"),
|
||||||
|
STORETYPE("storetype", "<storetype>", "keystore.type"),
|
||||||
|
+ SYSTEMLINEENDINGS("systemlineendings", null, "system.line.endings"),
|
||||||
|
TRUSTCACERTS("trustcacerts", null, "trust.certificates.from.cacerts"),
|
||||||
|
V("v", null, "verbose.output"),
|
||||||
|
VALIDITY("validity", "<valDays>", "validity.number.of.days");
|
||||||
|
@@ -537,6 +539,8 @@
|
||||||
|
protectedPath = true;
|
||||||
|
} else if (collator.compare(flags, "-srcprotected") == 0) {
|
||||||
|
srcprotectedPath = true;
|
||||||
|
+ } else if (collator.compare(flags, "-systemlineendings") == 0) {
|
||||||
|
+ systemLineEndings = true;
|
||||||
|
} else {
|
||||||
|
System.err.println(rb.getString("Illegal.option.") + flags);
|
||||||
|
tinyHelp();
|
||||||
|
@@ -1335,7 +1339,7 @@
|
||||||
|
|
||||||
|
// Sign the request and base-64 encode it
|
||||||
|
request.encodeAndSign(subject, signature);
|
||||||
|
- request.print(out);
|
||||||
|
+ request.print(out, systemLineEndings);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@@ -4191,4 +4195,3 @@
|
||||||
|
return new Pair<>(a,b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
-
|
||||||
|
diff -r 0be28a33e12d -r 794541fbbdc3 src/share/classes/sun/security/tools/keytool/Resources.java
|
||||||
|
--- openjdk/jdk/src/share/classes/sun/security/tools/keytool/Resources.java Tue Dec 29 10:40:43 2015 -0500
|
||||||
|
+++ openjdk/jdk/src/share/classes/sun/security/tools/keytool/Resources.java Fri May 27 03:28:35 2016 +0100
|
||||||
|
@@ -168,6 +168,8 @@
|
||||||
|
"keystore password"}, //-storepass
|
||||||
|
{"keystore.type",
|
||||||
|
"keystore type"}, //-storetype
|
||||||
|
+ {"system.line.endings",
|
||||||
|
+ "use system line endings rather than CRLF to terminate output"}, //-systemlineendings
|
||||||
|
{"trust.certificates.from.cacerts",
|
||||||
|
"trust certificates from cacerts"}, //-trustcacerts
|
||||||
|
{"verbose.output",
|
248
pr2991-rh1341258.patch
Normal file
248
pr2991-rh1341258.patch
Normal file
@ -0,0 +1,248 @@
|
|||||||
|
diff -r 3fc29347b27f src/cpu/ppc/vm/ppc.ad
|
||||||
|
--- openjdk/hotspot/src/cpu/ppc/vm/ppc.ad Fri May 20 19:42:15 2016 +0100
|
||||||
|
+++ openjdk/hotspot/src/cpu/ppc/vm/ppc.ad Thu Jun 02 17:36:55 2016 +0100
|
||||||
|
@@ -2516,8 +2516,13 @@
|
||||||
|
MacroAssembler _masm(&cbuf);
|
||||||
|
int Idisp = $mem$$disp + frame_slots_bias($mem$$base, ra_);
|
||||||
|
// Operand 'ds' requires 4-alignment.
|
||||||
|
- assert((Idisp & 0x3) == 0, "unaligned offset");
|
||||||
|
- __ ld($dst$$Register, Idisp, $mem$$base$$Register);
|
||||||
|
+ if (Idisp & 0x3) {
|
||||||
|
+ __ addi($dst$$Register, $mem$$base$$Register, Idisp);
|
||||||
|
+ __ ld($dst$$Register, 0, $dst$$Register);
|
||||||
|
+ } else {
|
||||||
|
+ __ ld($dst$$Register, Idisp, $mem$$base$$Register);
|
||||||
|
+ __ nop();
|
||||||
|
+ }
|
||||||
|
%}
|
||||||
|
|
||||||
|
// Load acquire.
|
||||||
|
@@ -2526,11 +2531,30 @@
|
||||||
|
MacroAssembler _masm(&cbuf);
|
||||||
|
int Idisp = $mem$$disp + frame_slots_bias($mem$$base, ra_);
|
||||||
|
// Operand 'ds' requires 4-alignment.
|
||||||
|
- assert((Idisp & 0x3) == 0, "unaligned offset");
|
||||||
|
- __ ld($dst$$Register, Idisp, $mem$$base$$Register);
|
||||||
|
+ if (Idisp & 0x3) {
|
||||||
|
+ __ addi($dst$$Register, $mem$$base$$Register, Idisp);
|
||||||
|
+ __ ld($dst$$Register, 0, $dst$$Register);
|
||||||
|
+ } else {
|
||||||
|
+ __ ld($dst$$Register, Idisp, $mem$$base$$Register);
|
||||||
|
+ __ nop();
|
||||||
|
+ }
|
||||||
|
__ twi_0($dst$$Register);
|
||||||
|
__ isync();
|
||||||
|
%}
|
||||||
|
+
|
||||||
|
+ enc_class enc_lwa(iRegLdst dst, memoryAlg4 mem) %{
|
||||||
|
+ // TODO: PPC port $archOpcode(ppc64Opcode_ld);
|
||||||
|
+ MacroAssembler _masm(&cbuf);
|
||||||
|
+ int Idisp = $mem$$disp + frame_slots_bias($mem$$base, ra_);
|
||||||
|
+ // Operand 'ds' requires 4-alignment.
|
||||||
|
+ if (Idisp & 0x3) {
|
||||||
|
+ __ addi($dst$$Register, $mem$$base$$Register, Idisp);
|
||||||
|
+ __ lwa($dst$$Register, 0, $dst$$Register);
|
||||||
|
+ } else {
|
||||||
|
+ __ lwa($dst$$Register, Idisp, $mem$$base$$Register);
|
||||||
|
+ __ nop();
|
||||||
|
+ }
|
||||||
|
+ %}
|
||||||
|
|
||||||
|
enc_class enc_lfd(RegF dst, memory mem) %{
|
||||||
|
// TODO: PPC port $archOpcode(ppc64Opcode_lfd);
|
||||||
|
@@ -2857,8 +2881,13 @@
|
||||||
|
MacroAssembler _masm(&cbuf);
|
||||||
|
int Idisp = $mem$$disp + frame_slots_bias($mem$$base, ra_);
|
||||||
|
// Operand 'ds' requires 4-alignment.
|
||||||
|
- assert((Idisp & 0x3) == 0, "unaligned offset");
|
||||||
|
- __ std($src$$Register, Idisp, $mem$$base$$Register);
|
||||||
|
+ if (Idisp & 0x3) {
|
||||||
|
+ __ addi($src$$Register, $mem$$base$$Register, Idisp);
|
||||||
|
+ __ std($src$$Register, Idisp, $src$$Register);
|
||||||
|
+ } else {
|
||||||
|
+ __ std($src$$Register, Idisp, $mem$$base$$Register);
|
||||||
|
+ __ nop();
|
||||||
|
+ }
|
||||||
|
%}
|
||||||
|
|
||||||
|
enc_class enc_stfs(RegF src, memory mem) %{
|
||||||
|
@@ -5467,12 +5496,8 @@
|
||||||
|
ins_cost(MEMORY_REF_COST);
|
||||||
|
|
||||||
|
format %{ "LWA $dst, $mem \t// loadI2L" %}
|
||||||
|
- size(4);
|
||||||
|
- ins_encode %{
|
||||||
|
- // TODO: PPC port $archOpcode(ppc64Opcode_lwa);
|
||||||
|
- int Idisp = $mem$$disp + frame_slots_bias($mem$$base, ra_);
|
||||||
|
- __ lwa($dst$$Register, Idisp, $mem$$base$$Register);
|
||||||
|
- %}
|
||||||
|
+ size(8);
|
||||||
|
+ ins_encode( enc_lwa(dst, mem) );
|
||||||
|
ins_pipe(pipe_class_memory);
|
||||||
|
%}
|
||||||
|
|
||||||
|
@@ -5484,11 +5509,18 @@
|
||||||
|
format %{ "LWA $dst, $mem \t// loadI2L acquire"
|
||||||
|
"TWI $dst\n\t"
|
||||||
|
"ISYNC" %}
|
||||||
|
- size(12);
|
||||||
|
+ size(16);
|
||||||
|
ins_encode %{
|
||||||
|
// TODO: PPC port $archOpcode(ppc64Opcode_lwa);
|
||||||
|
int Idisp = $mem$$disp + frame_slots_bias($mem$$base, ra_);
|
||||||
|
- __ lwa($dst$$Register, Idisp, $mem$$base$$Register);
|
||||||
|
+ // Operand 'ds' requires 4-alignment.
|
||||||
|
+ if (Idisp & 0x3) {
|
||||||
|
+ __ addi($dst$$Register, $mem$$base$$Register, Idisp);
|
||||||
|
+ __ lwa($dst$$Register, 0, $dst$$Register);
|
||||||
|
+ } else {
|
||||||
|
+ __ lwa($dst$$Register, Idisp, $mem$$base$$Register);
|
||||||
|
+ __ nop();
|
||||||
|
+ }
|
||||||
|
__ twi_0($dst$$Register);
|
||||||
|
__ isync();
|
||||||
|
%}
|
||||||
|
@@ -5502,7 +5534,7 @@
|
||||||
|
ins_cost(MEMORY_REF_COST);
|
||||||
|
|
||||||
|
format %{ "LD $dst, $mem \t// long" %}
|
||||||
|
- size(4);
|
||||||
|
+ size(8);
|
||||||
|
ins_encode( enc_ld(dst, mem) );
|
||||||
|
ins_pipe(pipe_class_memory);
|
||||||
|
%}
|
||||||
|
@@ -5515,7 +5547,7 @@
|
||||||
|
format %{ "LD $dst, $mem \t// long acquire\n\t"
|
||||||
|
"TWI $dst\n\t"
|
||||||
|
"ISYNC" %}
|
||||||
|
- size(12);
|
||||||
|
+ size(16);
|
||||||
|
ins_encode( enc_ld_ac(dst, mem) );
|
||||||
|
ins_pipe(pipe_class_memory);
|
||||||
|
%}
|
||||||
|
@@ -5527,7 +5559,7 @@
|
||||||
|
ins_cost(MEMORY_REF_COST);
|
||||||
|
|
||||||
|
format %{ "LD $dst, $mem \t// unaligned long" %}
|
||||||
|
- size(4);
|
||||||
|
+ size(8);
|
||||||
|
ins_encode( enc_ld(dst, mem) );
|
||||||
|
ins_pipe(pipe_class_memory);
|
||||||
|
%}
|
||||||
|
@@ -5541,7 +5573,7 @@
|
||||||
|
ins_cost(MEMORY_REF_COST);
|
||||||
|
|
||||||
|
format %{ "LD $dst, $mem \t// load 8-byte Vector" %}
|
||||||
|
- size(4);
|
||||||
|
+ size(8);
|
||||||
|
ins_encode( enc_ld(dst, mem) );
|
||||||
|
ins_pipe(pipe_class_memory);
|
||||||
|
%}
|
||||||
|
@@ -5601,7 +5633,7 @@
|
||||||
|
ins_cost(MEMORY_REF_COST);
|
||||||
|
|
||||||
|
format %{ "LD $dst, $mem \t// ptr" %}
|
||||||
|
- size(4);
|
||||||
|
+ size(8);
|
||||||
|
ins_encode( enc_ld(dst, mem) );
|
||||||
|
ins_pipe(pipe_class_memory);
|
||||||
|
%}
|
||||||
|
@@ -5614,7 +5646,7 @@
|
||||||
|
format %{ "LD $dst, $mem \t// ptr acquire\n\t"
|
||||||
|
"TWI $dst\n\t"
|
||||||
|
"ISYNC" %}
|
||||||
|
- size(12);
|
||||||
|
+ size(16);
|
||||||
|
ins_encode( enc_ld_ac(dst, mem) );
|
||||||
|
ins_pipe(pipe_class_memory);
|
||||||
|
%}
|
||||||
|
@@ -5626,7 +5658,7 @@
|
||||||
|
ins_cost(MEMORY_REF_COST);
|
||||||
|
|
||||||
|
format %{ "LD $dst, $mem \t// ptr + p2x" %}
|
||||||
|
- size(4);
|
||||||
|
+ size(8);
|
||||||
|
ins_encode( enc_ld(dst, mem) );
|
||||||
|
ins_pipe(pipe_class_memory);
|
||||||
|
%}
|
||||||
|
@@ -5648,7 +5680,7 @@
|
||||||
|
ins_cost(MEMORY_REF_COST);
|
||||||
|
|
||||||
|
format %{ "LD $dst, $mem \t// klass ptr" %}
|
||||||
|
- size(4);
|
||||||
|
+ size(8);
|
||||||
|
ins_encode( enc_ld(dst, mem) );
|
||||||
|
ins_pipe(pipe_class_memory);
|
||||||
|
%}
|
||||||
|
@@ -6521,7 +6553,7 @@
|
||||||
|
ins_cost(MEMORY_REF_COST);
|
||||||
|
|
||||||
|
format %{ "STD $src, $mem \t// long" %}
|
||||||
|
- size(4);
|
||||||
|
+ size(8);
|
||||||
|
ins_encode( enc_std(src, mem) );
|
||||||
|
ins_pipe(pipe_class_memory);
|
||||||
|
%}
|
||||||
|
@@ -6535,7 +6567,7 @@
|
||||||
|
ins_cost(MEMORY_REF_COST);
|
||||||
|
|
||||||
|
format %{ "STD $mem, $src \t// packed8B" %}
|
||||||
|
- size(4);
|
||||||
|
+ size(8);
|
||||||
|
ins_encode( enc_std(src, mem) );
|
||||||
|
ins_pipe(pipe_class_memory);
|
||||||
|
%}
|
||||||
|
@@ -6568,7 +6600,7 @@
|
||||||
|
ins_cost(MEMORY_REF_COST);
|
||||||
|
|
||||||
|
format %{ "STD $src, $dst \t// ptr" %}
|
||||||
|
- size(4);
|
||||||
|
+ size(8);
|
||||||
|
ins_encode( enc_std(src, dst) );
|
||||||
|
ins_pipe(pipe_class_memory);
|
||||||
|
%}
|
||||||
|
@@ -7521,7 +7553,7 @@
|
||||||
|
format %{ "LD $dst, $mem \t// loadPLocked\n\t"
|
||||||
|
"TWI $dst\n\t"
|
||||||
|
"ISYNC" %}
|
||||||
|
- size(12);
|
||||||
|
+ size(16);
|
||||||
|
ins_encode( enc_ld_ac(dst, mem) );
|
||||||
|
ins_pipe(pipe_class_memory);
|
||||||
|
%}
|
||||||
|
@@ -9287,7 +9319,7 @@
|
||||||
|
ins_cost(MEMORY_REF_COST);
|
||||||
|
|
||||||
|
format %{ "LD $dst, $src \t// long" %}
|
||||||
|
- size(4);
|
||||||
|
+ size(8);
|
||||||
|
ins_encode( enc_ld(dst, src) );
|
||||||
|
ins_pipe(pipe_class_memory);
|
||||||
|
%}
|
||||||
|
@@ -9298,7 +9330,7 @@
|
||||||
|
ins_cost(MEMORY_REF_COST);
|
||||||
|
|
||||||
|
format %{ "STD $src, $dst \t// long" %}
|
||||||
|
- size(4);
|
||||||
|
+ size(8);
|
||||||
|
ins_encode( enc_std(src, dst) ); // rs=rt
|
||||||
|
ins_pipe(pipe_class_memory);
|
||||||
|
%}
|
||||||
|
@@ -9372,7 +9404,7 @@
|
||||||
|
instruct moveD2L_stack_reg(iRegLdst dst, stackSlotD src) %{
|
||||||
|
match(Set dst (MoveD2L src));
|
||||||
|
ins_cost(MEMORY_REF_COST);
|
||||||
|
- size(4);
|
||||||
|
+ size(8);
|
||||||
|
format %{ "LD $dst, $src \t// MoveD2L" %}
|
||||||
|
ins_encode( enc_ld(dst, src) );
|
||||||
|
ins_pipe(pipe_class_memory);
|
||||||
|
@@ -9407,7 +9439,7 @@
|
||||||
|
ins_cost(MEMORY_REF_COST);
|
||||||
|
|
||||||
|
format %{ "STD $src, $dst \t// MoveL2D" %}
|
||||||
|
- size(4);
|
||||||
|
+ size(8);
|
||||||
|
ins_encode( enc_std(src, dst) );
|
||||||
|
ins_pipe(pipe_class_memory);
|
||||||
|
%}
|
Loading…
Reference in New Issue
Block a user