Updated to security u101-b14
This commit is contained in:
parent
d0dfa9547e
commit
da1227ef56
2
.gitignore
vendored
2
.gitignore
vendored
@ -59,3 +59,5 @@
|
|||||||
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u71-b15-beta02.tar.xz
|
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u71-b15-beta02.tar.xz
|
||||||
/aarch64-port-jdk8u-aarch64-jdk8u92-b14.tar.xz
|
/aarch64-port-jdk8u-aarch64-jdk8u92-b14.tar.xz
|
||||||
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u92-b14.tar.xz
|
/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
|
||||||
|
150
6260348-pr3066.patch
Normal file
150
6260348-pr3066.patch
Normal file
@ -0,0 +1,150 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# User ssadetsky
|
||||||
|
# Date 1467220169 -3600
|
||||||
|
# Wed Jun 29 18:09:29 2016 +0100
|
||||||
|
# Node ID 9fffaa63c49d93bff70b96af9a86b7635bce44be
|
||||||
|
# Parent d0462c26152fc8bd5f79db7f1670777e807ef2b3
|
||||||
|
6260348, PR3066: GTK+ L&F JTextComponent not respecting desktop caret blink rate
|
||||||
|
Reviewed-by: alexsch, azvegint
|
||||||
|
|
||||||
|
diff -r d0462c26152f -r 9fffaa63c49d src/share/classes/com/sun/java/swing/plaf/gtk/GTKEngine.java
|
||||||
|
--- openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKEngine.java Tue Jun 28 19:44:50 2016 +0100
|
||||||
|
+++ openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKEngine.java Wed Jun 29 18:09:29 2016 +0100
|
||||||
|
@@ -1,5 +1,5 @@
|
||||||
|
/*
|
||||||
|
- * Copyright (c) 2005, 2007, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
+ * Copyright (c) 2005, 2015, 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
|
||||||
|
@@ -93,7 +93,9 @@
|
||||||
|
*/
|
||||||
|
static enum Settings {
|
||||||
|
GTK_FONT_NAME,
|
||||||
|
- GTK_ICON_SIZES
|
||||||
|
+ GTK_ICON_SIZES,
|
||||||
|
+ GTK_CURSOR_BLINK,
|
||||||
|
+ GTK_CURSOR_BLINK_TIME
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Custom regions are needed for representing regions that don't exist
|
||||||
|
diff -r d0462c26152f -r 9fffaa63c49d src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java
|
||||||
|
--- openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java Tue Jun 28 19:44:50 2016 +0100
|
||||||
|
+++ openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java Wed Jun 29 18:09:29 2016 +0100
|
||||||
|
@@ -1,5 +1,5 @@
|
||||||
|
/*
|
||||||
|
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
+ * Copyright (c) 2002, 2015, 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
|
||||||
|
@@ -371,7 +371,17 @@
|
||||||
|
int vProgWidth = 22 - (progXThickness * 2);
|
||||||
|
int vProgHeight = 80 - (progYThickness * 2);
|
||||||
|
|
||||||
|
- Integer caretBlinkRate = Integer.valueOf(500);
|
||||||
|
+ Integer caretBlinkRate;
|
||||||
|
+ if (Boolean.FALSE.equals(GTKEngine.INSTANCE.getSetting(
|
||||||
|
+ GTKEngine.Settings.GTK_CURSOR_BLINK))) {
|
||||||
|
+ caretBlinkRate = Integer.valueOf(0);
|
||||||
|
+ } else {
|
||||||
|
+ caretBlinkRate = (Integer) GTKEngine.INSTANCE.getSetting(
|
||||||
|
+ GTKEngine.Settings.GTK_CURSOR_BLINK_TIME);
|
||||||
|
+ if (caretBlinkRate == null) {
|
||||||
|
+ caretBlinkRate = Integer.valueOf(500);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
Insets zeroInsets = new InsetsUIResource(0, 0, 0, 0);
|
||||||
|
|
||||||
|
Double defaultCaretAspectRatio = new Double(0.025);
|
||||||
|
diff -r d0462c26152f -r 9fffaa63c49d src/solaris/native/sun/awt/gtk2_interface.c
|
||||||
|
--- openjdk/jdk/src/solaris/native/sun/awt/gtk2_interface.c Tue Jun 28 19:44:50 2016 +0100
|
||||||
|
+++ openjdk/jdk/src/solaris/native/sun/awt/gtk2_interface.c Wed Jun 29 18:09:29 2016 +0100
|
||||||
|
@@ -1316,9 +1316,6 @@
|
||||||
|
{
|
||||||
|
result = gtk2_widgets[_GTK_COMBO_BOX_TEXT_FIELD_TYPE] =
|
||||||
|
(*fp_gtk_entry_new)();
|
||||||
|
-
|
||||||
|
- GtkSettings* settings = fp_gtk_widget_get_settings(result);
|
||||||
|
- fp_g_object_set(settings, "gtk-cursor-blink", FALSE, NULL);
|
||||||
|
}
|
||||||
|
result = gtk2_widgets[_GTK_COMBO_BOX_TEXT_FIELD_TYPE];
|
||||||
|
break;
|
||||||
|
@@ -1363,10 +1360,6 @@
|
||||||
|
{
|
||||||
|
gtk2_widgets[_GTK_ENTRY_TYPE] =
|
||||||
|
(*fp_gtk_entry_new)();
|
||||||
|
-
|
||||||
|
- GtkSettings* settings =
|
||||||
|
- fp_gtk_widget_get_settings(gtk2_widgets[_GTK_ENTRY_TYPE]);
|
||||||
|
- fp_g_object_set(settings, "gtk-cursor-blink", FALSE, NULL);
|
||||||
|
}
|
||||||
|
result = gtk2_widgets[_GTK_ENTRY_TYPE];
|
||||||
|
break;
|
||||||
|
@@ -1558,9 +1551,6 @@
|
||||||
|
{
|
||||||
|
result = gtk2_widgets[_GTK_SPIN_BUTTON_TYPE] =
|
||||||
|
(*fp_gtk_spin_button_new)(NULL, 0, 0);
|
||||||
|
-
|
||||||
|
- GtkSettings* settings = fp_gtk_widget_get_settings(result);
|
||||||
|
- fp_g_object_set(settings, "gtk-cursor-blink", FALSE, NULL);
|
||||||
|
}
|
||||||
|
result = gtk2_widgets[_GTK_SPIN_BUTTON_TYPE];
|
||||||
|
break;
|
||||||
|
@@ -2510,14 +2500,20 @@
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
-/*
|
||||||
|
+
|
||||||
|
jobject get_integer_property(JNIEnv *env, GtkSettings* settings, const gchar* key)
|
||||||
|
{
|
||||||
|
- gint intval = NULL;
|
||||||
|
-
|
||||||
|
+ gint intval = NULL;
|
||||||
|
(*fp_g_object_get)(settings, key, &intval, NULL);
|
||||||
|
return create_Integer(env, intval);
|
||||||
|
-}*/
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+jobject get_boolean_property(JNIEnv *env, GtkSettings* settings, const gchar* key)
|
||||||
|
+{
|
||||||
|
+ gint intval = NULL;
|
||||||
|
+ (*fp_g_object_get)(settings, key, &intval, NULL);
|
||||||
|
+ return create_Boolean(env, intval);
|
||||||
|
+}
|
||||||
|
|
||||||
|
jobject gtk2_get_setting(JNIEnv *env, Setting property)
|
||||||
|
{
|
||||||
|
@@ -2529,6 +2525,10 @@
|
||||||
|
return get_string_property(env, settings, "gtk-font-name");
|
||||||
|
case GTK_ICON_SIZES:
|
||||||
|
return get_string_property(env, settings, "gtk-icon-sizes");
|
||||||
|
+ case GTK_CURSOR_BLINK:
|
||||||
|
+ return get_boolean_property(env, settings, "gtk-cursor-blink");
|
||||||
|
+ case GTK_CURSOR_BLINK_TIME:
|
||||||
|
+ return get_integer_property(env, settings, "gtk-cursor-blink-time");
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
diff -r d0462c26152f -r 9fffaa63c49d src/solaris/native/sun/awt/gtk2_interface.h
|
||||||
|
--- openjdk/jdk/src/solaris/native/sun/awt/gtk2_interface.h Tue Jun 28 19:44:50 2016 +0100
|
||||||
|
+++ openjdk/jdk/src/solaris/native/sun/awt/gtk2_interface.h Wed Jun 29 18:09:29 2016 +0100
|
||||||
|
@@ -1,5 +1,5 @@
|
||||||
|
/*
|
||||||
|
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
+ * Copyright (c) 2005, 2015, 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
|
||||||
|
@@ -140,7 +140,9 @@
|
||||||
|
typedef enum _Setting
|
||||||
|
{
|
||||||
|
GTK_FONT_NAME,
|
||||||
|
- GTK_ICON_SIZES
|
||||||
|
+ GTK_ICON_SIZES,
|
||||||
|
+ GTK_CURSOR_BLINK,
|
||||||
|
+ GTK_CURSOR_BLINK_TIME
|
||||||
|
} Setting;
|
||||||
|
|
||||||
|
/* GTK types, here to eliminate need for GTK headers at compile time */
|
32
8158260-pr2991-rh1341258.patch
Normal file
32
8158260-pr2991-rh1341258.patch
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# User simonis
|
||||||
|
# Date 1466155884 -7200
|
||||||
|
# Fri Jun 17 11:31:24 2016 +0200
|
||||||
|
# Node ID 74081c30fede694b547c8b3386b9887ff14e8775
|
||||||
|
# Parent 3fc29347b27fdd2075e6ec6d80bb26ab2bf667c1
|
||||||
|
8158260, PR2991, RH1341258: PPC64: unaligned Unsafe.getInt can lead to the generation of illegal instructions
|
||||||
|
Summary: Adjust instruction generation.
|
||||||
|
Reviewed-by: goetz
|
||||||
|
Contributed-by: gromero@linux.vnet.ibm.com, horii@jp.ibm.com
|
||||||
|
|
||||||
|
diff -r 3fc29347b27f -r 74081c30fede 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 Fri Jun 17 11:31:24 2016 +0200
|
||||||
|
@@ -5461,7 +5461,7 @@
|
||||||
|
%}
|
||||||
|
|
||||||
|
// Match loading integer and casting it to long.
|
||||||
|
-instruct loadI2L(iRegLdst dst, memory mem) %{
|
||||||
|
+instruct loadI2L(iRegLdst dst, memoryAlg4 mem) %{
|
||||||
|
match(Set dst (ConvI2L (LoadI mem)));
|
||||||
|
predicate(_kids[0]->_leaf->as_Load()->is_unordered());
|
||||||
|
ins_cost(MEMORY_REF_COST);
|
||||||
|
@@ -5477,7 +5477,7 @@
|
||||||
|
%}
|
||||||
|
|
||||||
|
// Match loading integer and casting it to long - acquire.
|
||||||
|
-instruct loadI2L_ac(iRegLdst dst, memory mem) %{
|
||||||
|
+instruct loadI2L_ac(iRegLdst dst, memoryAlg4 mem) %{
|
||||||
|
match(Set dst (ConvI2L (LoadI mem)));
|
||||||
|
ins_cost(3*MEMORY_REF_COST);
|
||||||
|
|
115
8159244-pr3074.patch
Normal file
115
8159244-pr3074.patch
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# User thartmann
|
||||||
|
# Date 1468206230 -3600
|
||||||
|
# Mon Jul 11 04:03:50 2016 +0100
|
||||||
|
# Node ID 7c89f7f3f2c57d64970cc2ae3a81d24765830118
|
||||||
|
# Parent 4b40867e627dd9043bc67a4795caa9834ef69478
|
||||||
|
8159244, PR3074: Partially initialized string object created by C2's string concat optimization may escape
|
||||||
|
Summary: Emit release barrier after String creation to prevent partially initialized object from escaping.
|
||||||
|
Reviewed-by: kvn
|
||||||
|
|
||||||
|
diff -r 4b40867e627d -r 7c89f7f3f2c5 src/share/vm/opto/stringopts.cpp
|
||||||
|
--- openjdk/hotspot/src/share/vm/opto/stringopts.cpp Fri Jun 17 11:31:24 2016 +0200
|
||||||
|
+++ openjdk/hotspot/src/share/vm/opto/stringopts.cpp Mon Jul 11 04:03:50 2016 +0100
|
||||||
|
@@ -1,5 +1,5 @@
|
||||||
|
/*
|
||||||
|
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
+ * Copyright (c) 2009, 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
|
||||||
|
@@ -1640,6 +1640,12 @@
|
||||||
|
kit.store_String_length(kit.control(), result, length);
|
||||||
|
}
|
||||||
|
kit.store_String_value(kit.control(), result, char_array);
|
||||||
|
+
|
||||||
|
+ // The value field is final. Emit a barrier here to ensure that the effect
|
||||||
|
+ // of the initialization is committed to memory before any code publishes
|
||||||
|
+ // a reference to the newly constructed object (see Parse::do_exits()).
|
||||||
|
+ assert(AllocateNode::Ideal_allocation(result, _gvn) != NULL, "should be newly allocated");
|
||||||
|
+ kit.insert_mem_bar(Op_MemBarRelease, result);
|
||||||
|
} else {
|
||||||
|
result = C->top();
|
||||||
|
}
|
||||||
|
diff -r 4b40867e627d -r 7c89f7f3f2c5 test/compiler/stringopts/TestStringObjectInitialization.java
|
||||||
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
||||||
|
+++ openjdk/hotspot/test/compiler/stringopts/TestStringObjectInitialization.java Mon Jul 11 04:03:50 2016 +0100
|
||||||
|
@@ -0,0 +1,78 @@
|
||||||
|
+/*
|
||||||
|
+ * 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.util.Arrays;
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * @test
|
||||||
|
+ * @bug 8159244
|
||||||
|
+ * @requires vm.gc == "Parallel" | vm.gc == "null"
|
||||||
|
+ * @summary Verifies that no partially initialized String object escapes from
|
||||||
|
+ * C2's String concat optimization in a highly concurrent setting.
|
||||||
|
+ * This test triggers the bug in about 1 out of 10 runs.
|
||||||
|
+ * @compile -XDstringConcat=inline TestStringObjectInitialization.java
|
||||||
|
+ * @run main/othervm/timeout=300 -XX:+IgnoreUnrecognizedVMOptions -XX:-UseCompressedOops -XX:-CompactStrings
|
||||||
|
+ * -XX:-UseG1GC -XX:+UseParallelGC TestStringObjectInitialization
|
||||||
|
+ */
|
||||||
|
+public class TestStringObjectInitialization {
|
||||||
|
+
|
||||||
|
+ String myString;
|
||||||
|
+
|
||||||
|
+ public static void main(String[] args) throws Exception {
|
||||||
|
+ TestStringObjectInitialization t = new TestStringObjectInitialization();
|
||||||
|
+ // Create some threads that concurrently update 'myString'
|
||||||
|
+ for (int i = 0; i < 100; ++i) {
|
||||||
|
+ (new Thread(new Runner(t))).start();
|
||||||
|
+ }
|
||||||
|
+ Thread last = new Thread(new Runner(t));
|
||||||
|
+ last.start();
|
||||||
|
+ last.join();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ private void add(String message) {
|
||||||
|
+ // String escapes to other threads here
|
||||||
|
+ myString += message;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public void run(String s, String[] sArray) {
|
||||||
|
+ // Trigger C2's string concatenation optimization
|
||||||
|
+ add(s + Arrays.toString(sArray) + " const ");
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+class Runner implements Runnable {
|
||||||
|
+ private TestStringObjectInitialization test;
|
||||||
|
+
|
||||||
|
+ public Runner(TestStringObjectInitialization t) {
|
||||||
|
+ test = t;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public void run(){
|
||||||
|
+ String[] array = {"a", "b", "c"};
|
||||||
|
+ for (int i = 0; i < 10000; ++i) {
|
||||||
|
+ test.run("a", array);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
24
corba_typo_fix.patch
Normal file
24
corba_typo_fix.patch
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
diff -r 5c43ac1f2a59 src/share/classes/javax/rmi/CORBA/Util.java
|
||||||
|
--- openjdk.orig/corba/src/share/classes/javax/rmi/CORBA/Util.java Fri Jul 01 04:11:22 2016 +0100
|
||||||
|
+++ openjdk/corba/src/share/classes/javax/rmi/CORBA/Util.java Mon Jul 04 16:04:39 2016 +0100
|
||||||
|
@@ -413,8 +413,18 @@
|
||||||
|
// check that a serialization permission has been
|
||||||
|
// set to allow the loading of the Util delegate
|
||||||
|
// which provides access to custom ValueHandler
|
||||||
|
- sm.checkPermission(new SerializablePermission(
|
||||||
|
- "enableCustomValueHanlder"));
|
||||||
|
+ try {
|
||||||
|
+ sm.checkPermission(new SerializablePermission(
|
||||||
|
+ "enableCustomValueHandler"));
|
||||||
|
+ } catch (SecurityException ex1) {
|
||||||
|
+ // Fallback: See if the permission is mis-spelt
|
||||||
|
+ try {
|
||||||
|
+ sm.checkPermission(new SerializablePermission(
|
||||||
|
+ "enableCustomValueHanlder"));
|
||||||
|
+ } catch (SecurityException ex2) {
|
||||||
|
+ throw ex1; // Throw original exception
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
55
hotspot-8157306.changeset
Normal file
55
hotspot-8157306.changeset
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# User aph
|
||||||
|
# Date 1466704739 0
|
||||||
|
# Thu Jun 23 17:58:59 2016 +0000
|
||||||
|
# Node ID 89b3911c92aef18f2fd24ab4a31fbb47954462fa
|
||||||
|
# Parent 9febe12cbce4c6aa428a78f6a78906909e2954a4
|
||||||
|
8157306: Random infrequent null pointer exceptions in javac
|
||||||
|
Reviewed-by: kvn
|
||||||
|
|
||||||
|
diff --git openjdk/hotspot/src/share/vm/opto/block.cpp b/src/share/vm/opto/block.cpp
|
||||||
|
--- openjdk/hotspot/src/share/vm/opto/block.cpp
|
||||||
|
+++ openjdk/hotspot/src/share/vm/opto/block.cpp
|
||||||
|
@@ -1212,6 +1212,9 @@
|
||||||
|
if (j >= 1 && n->is_Mach() && n->as_Mach()->ideal_Opcode() == Op_CreateEx) {
|
||||||
|
assert(j == 1 || block->get_node(j-1)->is_Phi(), "CreateEx must be first instruction in block");
|
||||||
|
}
|
||||||
|
+ if (n->needs_anti_dependence_check()) {
|
||||||
|
+ verify_anti_dependences(block, n);
|
||||||
|
+ }
|
||||||
|
for (uint k = 0; k < n->req(); k++) {
|
||||||
|
Node *def = n->in(k);
|
||||||
|
if (def && def != n) {
|
||||||
|
diff --git a/src/share/vm/opto/block.hpp b/src/share/vm/opto/block.hpp
|
||||||
|
--- openjdk/hotspot/src/share/vm/opto/block.hpp
|
||||||
|
+++ openjdk/hotspot/src/share/vm/opto/block.hpp
|
||||||
|
@@ -481,9 +481,9 @@
|
||||||
|
MachNode* _goto;
|
||||||
|
|
||||||
|
Block* insert_anti_dependences(Block* LCA, Node* load, bool verify = false);
|
||||||
|
- void verify_anti_dependences(Block* LCA, Node* load) {
|
||||||
|
+ void verify_anti_dependences(Block* LCA, Node* load) const {
|
||||||
|
assert(LCA == get_block_for_node(load), "should already be scheduled");
|
||||||
|
- insert_anti_dependences(LCA, load, true);
|
||||||
|
+ const_cast<PhaseCFG*>(this)->insert_anti_dependences(LCA, load, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool move_to_next(Block* bx, uint b_index);
|
||||||
|
diff --git a/src/share/vm/opto/lcm.cpp b/src/share/vm/opto/lcm.cpp
|
||||||
|
--- openjdk/hotspot/src/share/vm/opto/lcm.cpp
|
||||||
|
+++ openjdk/hotspot/src/share/vm/opto/lcm.cpp
|
||||||
|
@@ -1293,11 +1293,12 @@
|
||||||
|
Block *sb = block->_succs[i];
|
||||||
|
// Clone the entire area; ignoring the edge fixup for now.
|
||||||
|
for( uint j = end; j > beg; j-- ) {
|
||||||
|
- // It is safe here to clone a node with anti_dependence
|
||||||
|
- // since clones dominate on each path.
|
||||||
|
Node *clone = block->get_node(j-1)->clone();
|
||||||
|
sb->insert_node(clone, 1);
|
||||||
|
map_node_to_block(clone, sb);
|
||||||
|
+ if (clone->needs_anti_dependence_check()) {
|
||||||
|
+ insert_anti_dependences(sb, clone);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -170,7 +170,7 @@
|
|||||||
# note, following three variables are sedded from update_sources if used correctly. Hardcode them rather there.
|
# note, following three variables are sedded from update_sources if used correctly. Hardcode them rather there.
|
||||||
%global project aarch64-port
|
%global project aarch64-port
|
||||||
%global repo jdk8u
|
%global repo jdk8u
|
||||||
%global revision aarch64-jdk8u92-b14
|
%global revision aarch64-jdk8u101-b14
|
||||||
# eg # jdk8u60-b27 -> jdk8u60 or # aarch64-jdk8u60-b27 -> aarch64-jdk8u60 (dont forget spec escape % by %%)
|
# 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=%{revision}; echo ${VERSION%%-*})
|
||||||
# eg jdk8u60 -> 60 or aarch64-jdk8u60 -> 60
|
# eg jdk8u60 -> 60 or aarch64-jdk8u60 -> 60
|
||||||
@ -178,7 +178,7 @@
|
|||||||
# eg jdk8u60-b27 -> b27
|
# eg jdk8u60-b27 -> b27
|
||||||
%global buildver %(VERSION=%{revision}; echo ${VERSION##*-})
|
%global buildver %(VERSION=%{revision}; echo ${VERSION##*-})
|
||||||
# priority must be 7 digits in total. The expression is workarounding tip
|
# priority must be 7 digits in total. The expression is workarounding tip
|
||||||
%global priority %(TIP=18000%{updatever}; echo ${TIP/tip/99})
|
%global priority %(TIP=1800%{updatever}; echo ${TIP/tip/999})
|
||||||
|
|
||||||
%global javaver 1.8.0
|
%global javaver 1.8.0
|
||||||
|
|
||||||
@ -785,7 +785,7 @@ Obsoletes: java-1.7.0-openjdk-accessibility%1
|
|||||||
|
|
||||||
Name: java-%{javaver}-%{origin}
|
Name: java-%{javaver}-%{origin}
|
||||||
Version: %{javaver}.%{updatever}
|
Version: %{javaver}.%{updatever}
|
||||||
Release: 5.%{buildver}%{?dist}
|
Release: 1.%{buildver}%{?dist}
|
||||||
# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons,
|
# 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
|
# 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
|
# also included the epoch in their virtual provides. This created a
|
||||||
@ -805,7 +805,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-jdk8u92-b14 FILE_NAME_ROOT=aarch64-port-jdk8u-${VERSION}
|
# VERSION=aarch64-jdk8u101-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
|
||||||
@ -841,7 +841,7 @@ Source20: repackReproduciblePolycies.sh
|
|||||||
Source100: config.guess
|
Source100: config.guess
|
||||||
Source101: config.sub
|
Source101: config.sub
|
||||||
# shenandoah hotpost
|
# shenandoah hotpost
|
||||||
Source999: aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u92-b14.tar.xz
|
Source999: aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u101-b14-shenandoah-merge-2016-07-25.tar.xz
|
||||||
|
|
||||||
# RPM/distribution specific patches
|
# RPM/distribution specific patches
|
||||||
|
|
||||||
@ -878,6 +878,8 @@ Patch508: rh1176206-jdk.patch
|
|||||||
Patch509: rh1176206-root.patch
|
Patch509: rh1176206-root.patch
|
||||||
# RH1337583, PR2974: PKCS#10 certificate requests now use CRLF line endings rather than system line endings
|
# RH1337583, PR2974: PKCS#10 certificate requests now use CRLF line endings rather than system line endings
|
||||||
Patch523: pr2974-rh1337583.patch
|
Patch523: pr2974-rh1337583.patch
|
||||||
|
# PR3083, RH1346460: Regression in SSL debug output without an ECC provider
|
||||||
|
Patch528: pr3083-rh1346460.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
|
||||||
@ -886,8 +888,6 @@ 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
|
||||||
@ -909,12 +909,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
|
||||||
|
# S8158260, PR2991, RH1341258: JVM on PPC64 LE crashes due to an illegal instruction in JITed code
|
||||||
|
Patch524: 8158260-pr2991-rh1341258.patch
|
||||||
|
# S8154313: Generated javadoc scattered all over the place
|
||||||
|
Patch400: 8154313.patch
|
||||||
|
# S6260348, PR3066: GTK+ L&F JTextComponent not respecting desktop caret blink rate
|
||||||
|
Patch526: 6260348-pr3066.patch
|
||||||
|
|
||||||
# Patches upstream and appearing in 8u102
|
# Patches upstream and appearing in 8u102
|
||||||
# S8148752, PR2943, RH1330188: Compiled StringBuilder code throws StringIndexOutOfBoundsException
|
# S8148752, PR2943, RH1330188: Compiled StringBuilder code throws StringIndexOutOfBoundsException
|
||||||
Patch519: 8148752-pr2943-rh1330188.patch
|
Patch519: 8148752-pr2943-rh1330188.patch
|
||||||
# S6961123, PR2972, RH1339740: Java application name in GNOME Shell contains funny characters
|
# S6961123, PR2972, RH1339740: Java application name in GNOME Shell contains funny characters
|
||||||
Patch520: 6961123-pr2972-rh1339740.patch
|
Patch520: 6961123-pr2972-rh1339740.patch
|
||||||
|
# S8159244, PR3074: Partially initialized string object created by C2's string concat optimization may escape
|
||||||
|
Patch527: 8159244-pr3074.patch
|
||||||
|
|
||||||
# Patches upstream and appearing in 8u112
|
# Patches upstream and appearing in 8u112
|
||||||
# S8044762, PR2960: com/sun/jdi/OptionTest.java test time out
|
# S8044762, PR2960: com/sun/jdi/OptionTest.java test time out
|
||||||
@ -929,10 +937,11 @@ Patch606: 8154210.patch
|
|||||||
Patch201: system-libjpeg.patch
|
Patch201: system-libjpeg.patch
|
||||||
|
|
||||||
# Local fixes
|
# Local fixes
|
||||||
# see http://mail.openjdk.java.net/pipermail/build-dev/2016-March/016852.html thread
|
Patch531: hotspot-8157306.changeset
|
||||||
Patch400: jdk8-archivedJavadoc.patch
|
|
||||||
# PR1834, RH1022017: Reduce curves reported by SSL to those in NSS
|
# PR1834, RH1022017: Reduce curves reported by SSL to those in NSS
|
||||||
Patch525: pr1834-rh1022017.patch
|
Patch525: pr1834-rh1022017.patch
|
||||||
|
# Temporary fix for typo in CORBA security patch
|
||||||
|
Patch529: corba_typo_fix.patch
|
||||||
|
|
||||||
# Non-OpenJDK fixes
|
# Non-OpenJDK fixes
|
||||||
Patch300: jstack-pr1845.patch
|
Patch300: jstack-pr1845.patch
|
||||||
@ -1264,6 +1273,13 @@ sh %{SOURCE12}
|
|||||||
%patch522
|
%patch522
|
||||||
%patch523
|
%patch523
|
||||||
%patch525
|
%patch525
|
||||||
|
%patch526
|
||||||
|
%patch527
|
||||||
|
%patch528
|
||||||
|
%patch529
|
||||||
|
%ifarch %{aarch64}
|
||||||
|
%patch531
|
||||||
|
%endif
|
||||||
|
|
||||||
# Extract systemtap tapsets
|
# Extract systemtap tapsets
|
||||||
%if %{with_systemtap}
|
%if %{with_systemtap}
|
||||||
@ -1852,6 +1868,16 @@ require "copy_jdk_configs.lua"
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jul 25 2016 jvanek <jvanek@redhat.com> - 1:1.8.0.101-1.b14
|
||||||
|
- updated to aarch64-jdk8u101-b14 (from aarch64-port/jdk8u)
|
||||||
|
- updated to aarch64-shenandoah-jdk8u101-b14-shenandoah-merge-2016-07-25 (from aarch64-port/jdk8u-shenandoah) of hotspot
|
||||||
|
- used aarch64-port-jdk8u-aarch64-jdk8u101-b14.tar.xz as new sources
|
||||||
|
- used aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u101-b14-shenandoah-merge-2016-07-25.tar.xz as new sources for hotspot
|
||||||
|
- priority lowered for ine zero digit, tip moved to 999
|
||||||
|
- added 6260348-pr3066.patch, pr3083-rh1346460.patch, 8159244-pr3074.patch, corba_typo_fix.patch
|
||||||
|
renamed: jdk8-archivedJavadoc.patch -> 8154313.patch, pr2991-rh1341258.patch -> 8158260-pr2991-rh1341258.patch
|
||||||
|
- not added 8147771-additional_hunk.patch, already in b14
|
||||||
|
|
||||||
* Tue Jul 12 2016 Jiri Vanek <jvanek@redhat.com> - 1:1.8.0.92-5.b14
|
* Tue Jul 12 2016 Jiri Vanek <jvanek@redhat.com> - 1:1.8.0.92-5.b14
|
||||||
- added Provides: /usr/bin/jjs
|
- added Provides: /usr/bin/jjs
|
||||||
|
|
||||||
|
@ -1,248 +0,0 @@
|
|||||||
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);
|
|
||||||
%}
|
|
152
pr3083-rh1346460.patch
Normal file
152
pr3083-rh1346460.patch
Normal file
@ -0,0 +1,152 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# User andrew
|
||||||
|
# Date 1467652889 -3600
|
||||||
|
# Mon Jul 04 18:21:29 2016 +0100
|
||||||
|
# Node ID a4541d1d8609cadb08d3e31b40b9184ff32dd6c3
|
||||||
|
# Parent bc6eab2038c603afb2eb2b4644f3b900c8fd0c46
|
||||||
|
PR3083, RH1346460: Regression in SSL debug output without an ECC provider
|
||||||
|
Summary: Return null rather than throwing an exception when there's no ECC provider.
|
||||||
|
|
||||||
|
diff -r bc6eab2038c6 -r a4541d1d8609 src/share/classes/sun/security/util/Debug.java
|
||||||
|
--- openjdk/jdk/src/share/classes/sun/security/util/Debug.java Mon Jul 04 17:08:12 2016 +0100
|
||||||
|
+++ openjdk/jdk/src/share/classes/sun/security/util/Debug.java Mon Jul 04 18:21:29 2016 +0100
|
||||||
|
@@ -73,6 +73,7 @@
|
||||||
|
System.err.println("certpath PKIX CertPathBuilder and");
|
||||||
|
System.err.println(" CertPathValidator debugging");
|
||||||
|
System.err.println("combiner SubjectDomainCombiner debugging");
|
||||||
|
+ System.err.println("ecc Elliptic Curve Cryptography debugging");
|
||||||
|
System.err.println("gssloginconfig");
|
||||||
|
System.err.println(" GSS LoginConfigImpl debugging");
|
||||||
|
System.err.println("configfile JAAS ConfigFile loading");
|
||||||
|
diff -r bc6eab2038c6 -r a4541d1d8609 src/share/classes/sun/security/util/ECUtil.java
|
||||||
|
--- openjdk/jdk/src/share/classes/sun/security/util/ECUtil.java Mon Jul 04 17:08:12 2016 +0100
|
||||||
|
+++ openjdk/jdk/src/share/classes/sun/security/util/ECUtil.java Mon Jul 04 18:21:29 2016 +0100
|
||||||
|
@@ -41,6 +41,9 @@
|
||||||
|
|
||||||
|
public class ECUtil {
|
||||||
|
|
||||||
|
+ /* Are we debugging ? */
|
||||||
|
+ private static final Debug debug = Debug.getInstance("ecc");
|
||||||
|
+
|
||||||
|
// Used by SunPKCS11 and SunJSSE.
|
||||||
|
public static ECPoint decodePoint(byte[] data, EllipticCurve curve)
|
||||||
|
throws IOException {
|
||||||
|
@@ -90,6 +93,10 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
private static AlgorithmParameters getECParameters(Provider p) {
|
||||||
|
+ return getECParameters(p, false);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ private static AlgorithmParameters getECParameters(Provider p, boolean throwException) {
|
||||||
|
try {
|
||||||
|
if (p != null) {
|
||||||
|
return AlgorithmParameters.getInstance("EC", p);
|
||||||
|
@@ -97,13 +104,21 @@
|
||||||
|
|
||||||
|
return AlgorithmParameters.getInstance("EC");
|
||||||
|
} catch (NoSuchAlgorithmException nsae) {
|
||||||
|
- throw new RuntimeException(nsae);
|
||||||
|
+ if (throwException) {
|
||||||
|
+ throw new RuntimeException(nsae);
|
||||||
|
+ } else {
|
||||||
|
+ // ECC provider is optional so just return null
|
||||||
|
+ if (debug != null) {
|
||||||
|
+ debug.println("Provider unavailable: " + nsae);
|
||||||
|
+ }
|
||||||
|
+ return null;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static byte[] encodeECParameterSpec(Provider p,
|
||||||
|
ECParameterSpec spec) {
|
||||||
|
- AlgorithmParameters parameters = getECParameters(p);
|
||||||
|
+ AlgorithmParameters parameters = getECParameters(p, true);
|
||||||
|
|
||||||
|
try {
|
||||||
|
parameters.init(spec);
|
||||||
|
@@ -122,11 +137,16 @@
|
||||||
|
public static ECParameterSpec getECParameterSpec(Provider p,
|
||||||
|
ECParameterSpec spec) {
|
||||||
|
AlgorithmParameters parameters = getECParameters(p);
|
||||||
|
+ if (parameters == null)
|
||||||
|
+ return null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
parameters.init(spec);
|
||||||
|
return parameters.getParameterSpec(ECParameterSpec.class);
|
||||||
|
} catch (InvalidParameterSpecException ipse) {
|
||||||
|
+ if (debug != null) {
|
||||||
|
+ debug.println("Invalid parameter specification: " + ipse);
|
||||||
|
+ }
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -135,34 +155,49 @@
|
||||||
|
byte[] params)
|
||||||
|
throws IOException {
|
||||||
|
AlgorithmParameters parameters = getECParameters(p);
|
||||||
|
+ if (parameters == null)
|
||||||
|
+ return null;
|
||||||
|
|
||||||
|
parameters.init(params);
|
||||||
|
|
||||||
|
try {
|
||||||
|
return parameters.getParameterSpec(ECParameterSpec.class);
|
||||||
|
} catch (InvalidParameterSpecException ipse) {
|
||||||
|
+ if (debug != null) {
|
||||||
|
+ debug.println("Invalid parameter specification: " + ipse);
|
||||||
|
+ }
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ECParameterSpec getECParameterSpec(Provider p, String name) {
|
||||||
|
AlgorithmParameters parameters = getECParameters(p);
|
||||||
|
+ if (parameters == null)
|
||||||
|
+ return null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
parameters.init(new ECGenParameterSpec(name));
|
||||||
|
return parameters.getParameterSpec(ECParameterSpec.class);
|
||||||
|
} catch (InvalidParameterSpecException ipse) {
|
||||||
|
+ if (debug != null) {
|
||||||
|
+ debug.println("Invalid parameter specification: " + ipse);
|
||||||
|
+ }
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ECParameterSpec getECParameterSpec(Provider p, int keySize) {
|
||||||
|
AlgorithmParameters parameters = getECParameters(p);
|
||||||
|
+ if (parameters == null)
|
||||||
|
+ return null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
parameters.init(new ECKeySizeParameterSpec(keySize));
|
||||||
|
return parameters.getParameterSpec(ECParameterSpec.class);
|
||||||
|
} catch (InvalidParameterSpecException ipse) {
|
||||||
|
+ if (debug != null) {
|
||||||
|
+ debug.println("Invalid parameter specification: " + ipse);
|
||||||
|
+ }
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -171,11 +206,16 @@
|
||||||
|
public static String getCurveName(Provider p, ECParameterSpec spec) {
|
||||||
|
ECGenParameterSpec nameSpec;
|
||||||
|
AlgorithmParameters parameters = getECParameters(p);
|
||||||
|
+ if (parameters == null)
|
||||||
|
+ return null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
parameters.init(spec);
|
||||||
|
nameSpec = parameters.getParameterSpec(ECGenParameterSpec.class);
|
||||||
|
} catch (InvalidParameterSpecException ipse) {
|
||||||
|
+ if (debug != null) {
|
||||||
|
+ debug.println("Invalid parameter specification: " + ipse);
|
||||||
|
+ }
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
4
sources
4
sources
@ -1,3 +1,3 @@
|
|||||||
94ca5a45c3cb3b85c4577d0891166007 systemtap-tapset.tar.gz
|
94ca5a45c3cb3b85c4577d0891166007 systemtap-tapset.tar.gz
|
||||||
aa905556a4feff9164dba5d0616775ff aarch64-port-jdk8u-aarch64-jdk8u92-b14.tar.xz
|
837e9490d2ffb85644e6b083f8006e7a aarch64-port-jdk8u-aarch64-jdk8u101-b14.tar.xz
|
||||||
88891d2571519b45e65abf9ab8402104 aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u92-b14.tar.xz
|
40b2e99945101cf8cd6cad5eafc47a82 aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u101-b14-shenandoah-merge-2016-07-25.tar.xz
|
||||||
|
@ -24,7 +24,7 @@ if [ "x$REPO_NAME" = "x" ] ; then
|
|||||||
REPO_NAME="jdk8u"
|
REPO_NAME="jdk8u"
|
||||||
fi
|
fi
|
||||||
if [ "x$VERSION" = "x" ] ; then
|
if [ "x$VERSION" = "x" ] ; then
|
||||||
VERSION="aarch64-jdk8u92-b14"
|
VERSION="aarch64-jdk8u101-b14"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "x$COMPRESSION" = "x" ] ; then
|
if [ "x$COMPRESSION" = "x" ] ; then
|
||||||
@ -102,7 +102,7 @@ if [ "x$VERSION" = "xtip" ] ; then
|
|||||||
VERSION="tip"
|
VERSION="tip"
|
||||||
else
|
else
|
||||||
#hardcoding version for anything else except tip
|
#hardcoding version for anything else except tip
|
||||||
VERSION="aarch64-shenandoah-jdk8u92-b14"
|
VERSION="aarch64-shenandoah-jdk8u101-b14-shenandoah-merge-2016-07-25"
|
||||||
fi
|
fi
|
||||||
MAIN_REPO_NAME=$REPO_NAME
|
MAIN_REPO_NAME=$REPO_NAME
|
||||||
REPO_NAME=jdk8u-shenandoah
|
REPO_NAME=jdk8u-shenandoah
|
||||||
|
Loading…
Reference in New Issue
Block a user