updated to aarch64-shenandoah-jdk8u272-b10 (from aarch64-port/jdk8u-shenandoah)
- deleted: 8046294-Generate-the-4-byte-timestamp-randomly.patch - deleted: 8148754-C2-loop-unrolling-fails-due-to-unexpected-gr.patch - deleted: 8151788.patch - deleted: 8161072.patch - deleted: 8171537.patch - deleted: 8203481-Incorrect-constraint-for-unextended_sp-in-frame-safe_for_sender.patch - deleted: 8203699-java-lang-invoke-SpecialInte.patch - modified: Extend-CDS-to-support-app-class-metadata-sharing.patch - deleted: Test-SSLSocketSSLEngineTemplate.java-intermittent-fa.patch - modified: fast-serializer-jdk8.patch - deleted: fix-CompactibleFreeListSpace-block_size-crash.patch - deleted: fix-incorrect-klass-field-in-oop-with-weak-memory-model.patch
This commit is contained in:
parent
9f73e476b3
commit
a40b4b5540
@ -1,87 +0,0 @@
|
||||
diff --git a/jdk/src/share/classes/sun/security/ssl/RandomCookie.java b/jdk/src/share/classes/sun/security/ssl/RandomCookie.java
|
||||
index 5f414c408..ce27f0df4 100644
|
||||
--- a/jdk/src/share/classes/sun/security/ssl/RandomCookie.java
|
||||
+++ b/jdk/src/share/classes/sun/security/ssl/RandomCookie.java
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
- * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
|
||||
+ * Copyright (c) 1996, 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
|
||||
@@ -41,21 +41,8 @@ final class RandomCookie {
|
||||
byte random_bytes[]; // exactly 32 bytes
|
||||
|
||||
RandomCookie(SecureRandom generator) {
|
||||
- long temp = System.currentTimeMillis() / 1000;
|
||||
- int gmt_unix_time;
|
||||
- if (temp < Integer.MAX_VALUE) {
|
||||
- gmt_unix_time = (int) temp;
|
||||
- } else {
|
||||
- gmt_unix_time = Integer.MAX_VALUE; // Whoops!
|
||||
- }
|
||||
-
|
||||
random_bytes = new byte[32];
|
||||
generator.nextBytes(random_bytes);
|
||||
-
|
||||
- random_bytes[0] = (byte)(gmt_unix_time >> 24);
|
||||
- random_bytes[1] = (byte)(gmt_unix_time >> 16);
|
||||
- random_bytes[2] = (byte)(gmt_unix_time >> 8);
|
||||
- random_bytes[3] = (byte)gmt_unix_time;
|
||||
}
|
||||
|
||||
RandomCookie(HandshakeInStream m) throws IOException {
|
||||
@@ -68,22 +55,15 @@ final class RandomCookie {
|
||||
}
|
||||
|
||||
void print(PrintStream s) {
|
||||
- int i, gmt_unix_time;
|
||||
-
|
||||
- gmt_unix_time = random_bytes[0] << 24;
|
||||
- gmt_unix_time += random_bytes[1] << 16;
|
||||
- gmt_unix_time += random_bytes[2] << 8;
|
||||
- gmt_unix_time += random_bytes[3];
|
||||
-
|
||||
- s.print("GMT: " + gmt_unix_time + " ");
|
||||
- s.print("bytes = { ");
|
||||
-
|
||||
- for (i = 4; i < 32; i++) {
|
||||
- if (i != 4) {
|
||||
- s.print(", ");
|
||||
+ s.print("random_bytes = {");
|
||||
+ for (int i = 0; i < 32; i++) {
|
||||
+ int k = random_bytes[i] & 0xFF;
|
||||
+ if (i != 0) {
|
||||
+ s.print(' ');
|
||||
}
|
||||
- s.print(random_bytes[i] & 0x0ff);
|
||||
+ s.print(Utilities.hexDigits[k >>> 4]);
|
||||
+ s.print(Utilities.hexDigits[k & 0xf]);
|
||||
}
|
||||
- s.println(" }");
|
||||
+ s.println("}");
|
||||
}
|
||||
}
|
||||
diff --git a/jdk/src/share/classes/sun/security/ssl/Utilities.java b/jdk/src/share/classes/sun/security/ssl/Utilities.java
|
||||
index aefb02c9a..9b267f6e1 100644
|
||||
--- a/jdk/src/share/classes/sun/security/ssl/Utilities.java
|
||||
+++ b/jdk/src/share/classes/sun/security/ssl/Utilities.java
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
+ * Copyright (c) 2012, 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
|
||||
@@ -33,6 +33,11 @@ import sun.net.util.IPAddressUtil;
|
||||
* A utility class to share the static methods.
|
||||
*/
|
||||
final class Utilities {
|
||||
+ /**
|
||||
+ * hex digits
|
||||
+ */
|
||||
+ static final char[] hexDigits = "0123456789ABCDEF".toCharArray();
|
||||
+
|
||||
/**
|
||||
* Puts {@code hostname} into the {@code serverNames} list.
|
||||
* <P>
|
||||
@ -1,180 +0,0 @@
|
||||
From be0206e834bab370da41cf9ec9e6b9be710e1987 Mon Sep 17 00:00:00 2001
|
||||
Date: Fri, 19 Apr 2019 17:40:19 +0000
|
||||
Subject: [PATCH] 8148754: C2 loop unrolling fails due to unexpected graph shape
|
||||
|
||||
Summary: C2 loop unrolling fails due to unexpected graph shape
|
||||
Bug url: https://bugs.openjdk.java.net/browse/JDK-8148754
|
||||
---
|
||||
hotspot/src/share/vm/opto/loopTransform.cpp | 44 ++++++++-------------
|
||||
hotspot/src/share/vm/opto/loopnode.cpp | 36 +++++++++++++++++
|
||||
hotspot/src/share/vm/opto/loopnode.hpp | 3 ++
|
||||
hotspot/src/share/vm/opto/superword.cpp | 18 +++------
|
||||
4 files changed, 61 insertions(+), 40 deletions(-)
|
||||
|
||||
diff --git a/hotspot/src/share/vm/opto/loopTransform.cpp b/hotspot/src/share/vm/opto/loopTransform.cpp
|
||||
index e3637b652..f6783b910 100644
|
||||
--- a/hotspot/src/share/vm/opto/loopTransform.cpp
|
||||
+++ b/hotspot/src/share/vm/opto/loopTransform.cpp
|
||||
@@ -1222,21 +1222,14 @@ void PhaseIdealLoop::do_unroll( IdealLoopTree *loop, Node_List &old_new, bool ad
|
||||
|
||||
Node *opaq = NULL;
|
||||
if (adjust_min_trip) { // If not maximally unrolling, need adjustment
|
||||
- // Search for zero-trip guard.
|
||||
- assert( loop_head->is_main_loop(), "" );
|
||||
- assert( ctrl->Opcode() == Op_IfTrue || ctrl->Opcode() == Op_IfFalse, "" );
|
||||
- Node *iff = ctrl->in(0);
|
||||
- assert( iff->Opcode() == Op_If, "" );
|
||||
- Node *bol = iff->in(1);
|
||||
- assert( bol->Opcode() == Op_Bool, "" );
|
||||
- Node *cmp = bol->in(1);
|
||||
- assert( cmp->Opcode() == Op_CmpI, "" );
|
||||
- opaq = cmp->in(2);
|
||||
- // Occasionally it's possible for a zero-trip guard Opaque1 node to be
|
||||
- // optimized away and then another round of loop opts attempted.
|
||||
- // We can not optimize this particular loop in that case.
|
||||
- if (opaq->Opcode() != Op_Opaque1)
|
||||
- return; // Cannot find zero-trip guard! Bail out!
|
||||
+ // Check the shape of the graph at the loop entry. If an inappropriate
|
||||
+ // graph shape is encountered, the compiler bails out loop unrolling;
|
||||
+ // compilation of the method will still succeed.
|
||||
+ if (!is_canonical_main_loop_entry(loop_head)) {
|
||||
+ return;
|
||||
+ }
|
||||
+ // get a not shared opaque' node for Zero-trip test
|
||||
+ opaq = ctrl->in(0)->in(1)->in(1)->in(2);
|
||||
// Zero-trip test uses an 'opaque' node which is not shared.
|
||||
assert(opaq->outcnt() == 1 && opaq->in(1) == limit, "");
|
||||
}
|
||||
@@ -1806,7 +1799,6 @@ void PhaseIdealLoop::do_range_check( IdealLoopTree *loop, Node_List &old_new ) {
|
||||
#endif
|
||||
assert(RangeCheckElimination, "");
|
||||
CountedLoopNode *cl = loop->_head->as_CountedLoop();
|
||||
- assert(cl->is_main_loop(), "");
|
||||
|
||||
// protect against stride not being a constant
|
||||
if (!cl->stride_is_con())
|
||||
@@ -1818,20 +1810,18 @@ void PhaseIdealLoop::do_range_check( IdealLoopTree *loop, Node_List &old_new ) {
|
||||
// to not ever trip end tests
|
||||
Node *main_limit = cl->limit();
|
||||
|
||||
+ // Check graph shape. Cannot optimize a loop if zero-trip
|
||||
+ // Opaque1 node is optimized away and then another round
|
||||
+ // of loop opts attempted.
|
||||
+ if (!is_canonical_main_loop_entry(cl)) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
// Need to find the main-loop zero-trip guard
|
||||
Node *ctrl = cl->in(LoopNode::EntryControl);
|
||||
- assert(ctrl->Opcode() == Op_IfTrue || ctrl->Opcode() == Op_IfFalse, "");
|
||||
Node *iffm = ctrl->in(0);
|
||||
- assert(iffm->Opcode() == Op_If, "");
|
||||
- Node *bolzm = iffm->in(1);
|
||||
- assert(bolzm->Opcode() == Op_Bool, "");
|
||||
- Node *cmpzm = bolzm->in(1);
|
||||
- assert(cmpzm->is_Cmp(), "");
|
||||
- Node *opqzm = cmpzm->in(2);
|
||||
- // Can not optimize a loop if zero-trip Opaque1 node is optimized
|
||||
- // away and then another round of loop opts attempted.
|
||||
- if (opqzm->Opcode() != Op_Opaque1)
|
||||
- return;
|
||||
+ // get the zero-trip Opaque1 node for testing the main limits
|
||||
+ Node *opqzm = iffm->in(1)->in(1)->in(2);
|
||||
assert(opqzm->in(1) == main_limit, "do not understand situation");
|
||||
|
||||
// Find the pre-loop limit; we will expand it's iterations to
|
||||
diff --git a/hotspot/src/share/vm/opto/loopnode.cpp b/hotspot/src/share/vm/opto/loopnode.cpp
|
||||
index 37c56681d..e2c0645cf 100644
|
||||
--- a/hotspot/src/share/vm/opto/loopnode.cpp
|
||||
+++ b/hotspot/src/share/vm/opto/loopnode.cpp
|
||||
@@ -3284,6 +3284,42 @@ Node* PhaseIdealLoop::compute_lca_of_uses(Node* n, Node* early, bool verify) {
|
||||
return LCA;
|
||||
}
|
||||
|
||||
+// Check the shape of the graph at the loop entry. In some cases,
|
||||
+// the shape of the graph does not match the shape outlined below.
|
||||
+// That is caused by the Opaque1 node "protecting" the shape of
|
||||
+// the graph being removed by, for example, the IGVN performed
|
||||
+// in PhaseIdealLoop::build_and_optimize().
|
||||
+//
|
||||
+// After the Opaque1 node has been removed, optimizations (e.g., split-if,
|
||||
+// loop unswitching, and IGVN, or a combination of them) can freely change
|
||||
+// the graph's shape. As a result, the graph shape outlined below cannot
|
||||
+// be guaranteed anymore.
|
||||
+bool PhaseIdealLoop::is_canonical_main_loop_entry(CountedLoopNode* cl) {
|
||||
+ assert(cl->is_main_loop(), "check should be applied to main loops");
|
||||
+ Node* ctrl = cl->in(LoopNode::EntryControl);
|
||||
+ if (ctrl == NULL || (!ctrl->is_IfTrue() && !ctrl->is_IfFalse())) {
|
||||
+ return false;
|
||||
+ }
|
||||
+ Node* iffm = ctrl->in(0);
|
||||
+ if (iffm == NULL || !iffm->is_If()) {
|
||||
+ return false;
|
||||
+ }
|
||||
+ Node* bolzm = iffm->in(1);
|
||||
+ if (bolzm == NULL || !bolzm->is_Bool()) {
|
||||
+ return false;
|
||||
+ }
|
||||
+ Node* cmpzm = bolzm->in(1);
|
||||
+ if (cmpzm == NULL || !cmpzm->is_Cmp()) {
|
||||
+ return false;
|
||||
+ }
|
||||
+ // get the compare node, if null or not return false
|
||||
+ Node* opqzm = cmpzm->in(2);
|
||||
+ if (opqzm == NULL || opqzm->Opcode() != Op_Opaque1) {
|
||||
+ return false;
|
||||
+ }
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
//------------------------------get_late_ctrl----------------------------------
|
||||
// Compute latest legal control.
|
||||
Node *PhaseIdealLoop::get_late_ctrl( Node *n, Node *early ) {
|
||||
diff --git a/hotspot/src/share/vm/opto/loopnode.hpp b/hotspot/src/share/vm/opto/loopnode.hpp
|
||||
index 150d1be0f..558b10504 100644
|
||||
--- a/hotspot/src/share/vm/opto/loopnode.hpp
|
||||
+++ b/hotspot/src/share/vm/opto/loopnode.hpp
|
||||
@@ -621,6 +621,9 @@ private:
|
||||
bool cast_incr_before_loop(Node* incr, Node* ctrl, Node* loop);
|
||||
|
||||
public:
|
||||
+
|
||||
+ static bool is_canonical_main_loop_entry(CountedLoopNode* cl);
|
||||
+
|
||||
bool has_node( Node* n ) const {
|
||||
guarantee(n != NULL, "No Node.");
|
||||
return _nodes[n->_idx] != NULL;
|
||||
diff --git a/hotspot/src/share/vm/opto/superword.cpp b/hotspot/src/share/vm/opto/superword.cpp
|
||||
index 0bc171b5c..a14210ee2 100644
|
||||
--- a/hotspot/src/share/vm/opto/superword.cpp
|
||||
+++ b/hotspot/src/share/vm/opto/superword.cpp
|
||||
@@ -2209,21 +2209,13 @@ void SuperWord::align_initial_loop_index(MemNode* align_to_ref) {
|
||||
//----------------------------get_pre_loop_end---------------------------
|
||||
// Find pre loop end from main loop. Returns null if none.
|
||||
CountedLoopEndNode* SuperWord::get_pre_loop_end(CountedLoopNode* cl) {
|
||||
- Node* ctrl = cl->in(LoopNode::EntryControl);
|
||||
- if (!ctrl->is_IfTrue() && !ctrl->is_IfFalse()) return NULL;
|
||||
- Node* iffm = ctrl->in(0);
|
||||
- if (!iffm->is_If()) return NULL;
|
||||
- Node* bolzm = iffm->in(1);
|
||||
- if (!bolzm->is_Bool()) return NULL;
|
||||
- Node* cmpzm = bolzm->in(1);
|
||||
- if (!cmpzm->is_Cmp()) return NULL;
|
||||
- Node* opqzm = cmpzm->in(2);
|
||||
- // Can not optimize a loop if zero-trip Opaque1 node is optimized
|
||||
- // away and then another round of loop opts attempted.
|
||||
- if (opqzm->Opcode() != Op_Opaque1) {
|
||||
+ // The loop cannot be optimized if the graph shape at
|
||||
+ // the loop entry is inappropriate.
|
||||
+ if (!PhaseIdealLoop::is_canonical_main_loop_entry(cl)) {
|
||||
return NULL;
|
||||
}
|
||||
- Node* p_f = iffm->in(0);
|
||||
+
|
||||
+ Node* p_f = cl->in(LoopNode::EntryControl)->in(0)->in(0);
|
||||
if (!p_f->is_IfFalse()) return NULL;
|
||||
if (!p_f->in(0)->is_CountedLoopEnd()) return NULL;
|
||||
CountedLoopEndNode* pre_end = p_f->in(0)->as_CountedLoopEnd();
|
||||
--
|
||||
2.19.0
|
||||
|
||||
@ -1,93 +0,0 @@
|
||||
From bf24abe7a9499638a43dfd03fecfbfb763430a63 Mon Sep 17 00:00:00 2001
|
||||
Date: Thu, 27 Jun 2019 11:24:39 +0000
|
||||
Subject: [PATCH] Backport of JDK-8151788
|
||||
|
||||
summary: NullPointerException from ntlm.Client.type3
|
||||
LLT:
|
||||
Bug url: https://bugs.openjdk.java.net/browse/JDK-8151788
|
||||
---
|
||||
.../classes/com/sun/security/ntlm/NTLM.java | 2 +-
|
||||
.../www/protocol/http/NULLTargetInfoTest.java | 58 +++++++++++++++++++
|
||||
2 files changed, 59 insertions(+), 1 deletion(-)
|
||||
create mode 100644 jdk/test/sun/net/www/protocol/http/NULLTargetInfoTest.java
|
||||
|
||||
diff --git a/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java b/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java
|
||||
index da18e2199a..249cd226c4 100644
|
||||
--- a/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java
|
||||
+++ b/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java
|
||||
@@ -167,7 +167,7 @@ class NTLM {
|
||||
|
||||
byte[] readSecurityBuffer(int offset) throws NTLMException {
|
||||
int pos = readInt(offset+4);
|
||||
- if (pos == 0) return null;
|
||||
+ if (pos == 0) return new byte[0];
|
||||
try {
|
||||
return Arrays.copyOfRange(
|
||||
internal, pos, pos + readShort(offset));
|
||||
diff --git a/jdk/test/sun/net/www/protocol/http/NULLTargetInfoTest.java b/jdk/test/sun/net/www/protocol/http/NULLTargetInfoTest.java
|
||||
new file mode 100644
|
||||
index 0000000000..d8e88554f8
|
||||
--- /dev/null
|
||||
+++ b/jdk/test/sun/net/www/protocol/http/NULLTargetInfoTest.java
|
||||
@@ -0,0 +1,58 @@
|
||||
+/*
|
||||
+ * 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.
|
||||
+ */
|
||||
+
|
||||
+/*
|
||||
+ * @test
|
||||
+ * @bug 8151788
|
||||
+ * @summary NullPointerException from ntlm.Client.type3
|
||||
+ * @modules java.base/com.sun.security.ntlm
|
||||
+ * @run main NULLTargetInfoTest
|
||||
+ */
|
||||
+import com.sun.security.ntlm.Client;
|
||||
+
|
||||
+public class NULLTargetInfoTest {
|
||||
+
|
||||
+ public static void main(String[] args) throws Exception {
|
||||
+ Client c = new Client(null, "host", "user", "domain", "pass".toCharArray());
|
||||
+ c.type1();
|
||||
+ // this input does have the 0x800000 bit(NTLMSSP_NEGOTIATE_TARGET_INFO) set
|
||||
+ // but after offset 40 all eight bytes are all zero which means there is no
|
||||
+ // security buffer for target info.
|
||||
+ byte[] type2 = hex(
|
||||
+ "4E 54 4C 4D 53 53 50 00 02 00 00 00 00 00 00 00"
|
||||
+ + "00 00 00 00 05 82 89 00 0B 87 81 B6 2D 6E 8B C1"
|
||||
+ + "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00");
|
||||
+ byte[] nonce = new byte[10];
|
||||
+ c.type3(type2, nonce);
|
||||
+ }
|
||||
+
|
||||
+ private static byte[] hex(String str) {
|
||||
+ str = str.replaceAll("\\s", "");
|
||||
+ byte[] response = new byte[str.length() / 2];
|
||||
+ int index = 0;
|
||||
+ for (int i = 0; i < str.length(); i += 2) {
|
||||
+ response[index++] = Integer.valueOf(str.substring(i, i + 2), 16).byteValue();
|
||||
+ }
|
||||
+ return response;
|
||||
+ }
|
||||
+}
|
||||
--
|
||||
2.19.0-rc1
|
||||
|
||||
@ -1,57 +0,0 @@
|
||||
From e42367ab7ce5d66823ef32ea00dbc5e44e3b20d1 Mon Sep 17 00:00:00 2001
|
||||
Date: Tue, 28 May 2019 21:38:21 +0000
|
||||
Subject: [PATCH] 8161072: AArch64: jtreg compiler/uncommontrap/TestDeoptOOM failure
|
||||
|
||||
Summary:
|
||||
Bug url: https://bugs.openjdk.java.net/browse/JDK-8161072
|
||||
|
||||
---
|
||||
.../cpu/aarch64/vm/templateInterpreter_aarch64.cpp | 25 +++++++++++-----------
|
||||
1 file changed, 12 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/hotspot/src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp b/hotspot/src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp
|
||||
index 8dede4b74..566ddd173 100644
|
||||
--- a/hotspot/src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp
|
||||
+++ b/hotspot/src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp
|
||||
@@ -223,19 +223,6 @@ address TemplateInterpreterGenerator::generate_deopt_entry_for(TosState state,
|
||||
__ restore_locals();
|
||||
__ restore_constant_pool_cache();
|
||||
__ get_method(rmethod);
|
||||
-
|
||||
- // handle exceptions
|
||||
- {
|
||||
- Label L;
|
||||
- __ ldr(rscratch1, Address(rthread, Thread::pending_exception_offset()));
|
||||
- __ cbz(rscratch1, L);
|
||||
- __ call_VM(noreg,
|
||||
- CAST_FROM_FN_PTR(address,
|
||||
- InterpreterRuntime::throw_pending_exception));
|
||||
- __ should_not_reach_here();
|
||||
- __ bind(L);
|
||||
- }
|
||||
-
|
||||
__ get_dispatch();
|
||||
|
||||
// Calculate stack limit
|
||||
@@ -253,6 +240,18 @@ address TemplateInterpreterGenerator::generate_deopt_entry_for(TosState state,
|
||||
// NULL last_sp until next java call
|
||||
__ str(zr, Address(rfp, frame::interpreter_frame_last_sp_offset * wordSize));
|
||||
|
||||
+ // handle exceptions
|
||||
+ {
|
||||
+ Label L;
|
||||
+ __ ldr(rscratch1, Address(rthread, Thread::pending_exception_offset()));
|
||||
+ __ cbz(rscratch1, L);
|
||||
+ __ call_VM(noreg,
|
||||
+ CAST_FROM_FN_PTR(address,
|
||||
+ InterpreterRuntime::throw_pending_exception));
|
||||
+ __ should_not_reach_here();
|
||||
+ __ bind(L);
|
||||
+ }
|
||||
+
|
||||
__ dispatch_next(state, step);
|
||||
return entry;
|
||||
}
|
||||
--
|
||||
2.12.3
|
||||
|
||||
@ -1,26 +0,0 @@
|
||||
From 26c54187c40901643d0cf65a985c98ddcee40bf0 Mon Sep 17 00:00:00 2001
|
||||
Date: Fri, 19 Apr 2019 17:42:56 +0000
|
||||
Subject: [PATCH] 8171537: aarch64: compiler/c1/Test6849574.java generates guarantee failure in C1
|
||||
|
||||
Bug url: https://bugs.openjdk.java.net/browse/JDK-8171537
|
||||
|
||||
---
|
||||
hotspot/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/hotspot/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp b/hotspot/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp
|
||||
index 6e225870e..e536ce649 100644
|
||||
--- a/hotspot/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp
|
||||
+++ b/hotspot/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp
|
||||
@@ -3199,7 +3199,7 @@ void LIR_Assembler::peephole(LIR_List *lir) {
|
||||
}
|
||||
|
||||
void LIR_Assembler::atomic_op(LIR_Code code, LIR_Opr src, LIR_Opr data, LIR_Opr dest, LIR_Opr tmp_op) {
|
||||
- Address addr = as_Address(src->as_address_ptr(), noreg);
|
||||
+ Address addr = as_Address(src->as_address_ptr(), as_reg(tmp_op));
|
||||
BasicType type = src->type();
|
||||
bool is_oop = type == T_OBJECT || type == T_ARRAY;
|
||||
|
||||
--
|
||||
2.19.0
|
||||
|
||||
@ -1,28 +0,0 @@
|
||||
diff --git a/hotspot/src/cpu/aarch64/vm/frame_aarch64.cpp b/hotspot/src/cpu/aarch64/vm/frame_aarch64.cpp
|
||||
index 65a441240..1e534d3da 100644
|
||||
--- a/hotspot/src/cpu/aarch64/vm/frame_aarch64.cpp
|
||||
+++ b/hotspot/src/cpu/aarch64/vm/frame_aarch64.cpp
|
||||
@@ -71,10 +71,20 @@ bool frame::safe_for_sender(JavaThread *thread) {
|
||||
return false;
|
||||
}
|
||||
|
||||
- // unextended sp must be within the stack and above or equal sp
|
||||
- bool unextended_sp_safe = (unextended_sp < thread->stack_base()) &&
|
||||
- (unextended_sp >= sp);
|
||||
+ // When we are running interpreted code the machine stack pointer, SP, is
|
||||
+ // set low enough so that the Java expression stack can grow and shrink
|
||||
+ // without ever exceeding the machine stack bounds. So, ESP >= SP.
|
||||
|
||||
+ // When we call out of an interpreted method, SP is incremented so that
|
||||
+ // the space between SP and ESP is removed. The SP saved in the callee's
|
||||
+ // frame is the SP *before* this increment. So, when we walk a stack of
|
||||
+ // interpreter frames the sender's SP saved in a frame might be less than
|
||||
+ // the SP at the point of call.
|
||||
+
|
||||
+ // So unextended sp must be within the stack but we need not to check
|
||||
+ // that unextended sp >= sp
|
||||
+
|
||||
+ bool unextended_sp_safe = (unextended_sp < thread->stack_base());
|
||||
if (!unextended_sp_safe) {
|
||||
return false;
|
||||
}
|
||||
@ -1,40 +0,0 @@
|
||||
From f9f94ca5422ae79bf4ed90f41b7698febc6bed24 Mon Sep 17 00:00:00 2001
|
||||
Date: Fri, 12 Jul 2019 15:26:27 +0000
|
||||
Subject: [PATCH] Backport of JDK-8203699: java/lang/invoke/SpecialInterfaceCall fails with SIGILL on aarch64
|
||||
|
||||
summary: Get super_klass value into r0 to make check in VerifyMethodHandles success
|
||||
LLT: jdk/test/java/lang/invoke/lookup/TestDefenderMethodLookup.java
|
||||
Bug url: https://bugs.openjdk.java.net/browse/JDK-8203699
|
||||
|
||||
---
|
||||
.../src/cpu/aarch64/vm/macroAssembler_aarch64.cpp | 6 +-
|
||||
1 files changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/hotspot/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp b/hotspot/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp
|
||||
index 42b732f37a..4659d628db 100644
|
||||
--- a/hotspot/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp
|
||||
+++ b/hotspot/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp
|
||||
@@ -1208,7 +1208,6 @@ void MacroAssembler::check_klass_subtype_slow_path(Register sub_klass,
|
||||
assert(sub_klass != r0, "killed reg"); // killed by mov(r0, super)
|
||||
assert(sub_klass != r2, "killed reg"); // killed by lea(r2, &pst_counter)
|
||||
|
||||
- // Get super_klass value into r0 (even if it was in r5 or r2).
|
||||
RegSet pushed_registers;
|
||||
if (!IS_A_TEMP(r2)) pushed_registers += r2;
|
||||
if (!IS_A_TEMP(r5)) pushed_registers += r5;
|
||||
@@ -1219,6 +1218,11 @@ void MacroAssembler::check_klass_subtype_slow_path(Register sub_klass,
|
||||
|
||||
push(pushed_registers, sp);
|
||||
|
||||
+ // Get super_klass value into r0 (even if it was in r5 or r2)
|
||||
+ if (super_klass != r0) {
|
||||
+ mov(r0, super_klass);
|
||||
+ }
|
||||
+
|
||||
#ifndef PRODUCT
|
||||
mov(rscratch2, (address)&SharedRuntime::_partial_subtype_ctr);
|
||||
Address pst_counter_addr(rscratch2);
|
||||
diff --git a/jdk/test/java/lang/invoke/lookup/TestDefenderMethodLookup.java b/jdk/test/java/lang/invoke/lookup/TestDefenderMethodLookup.java
|
||||
--
|
||||
2.12.3
|
||||
|
||||
@ -174,9 +174,9 @@ index 28dd5aad..271b33a5 100644
|
||||
if (_cm->verbose_medium()) {
|
||||
gclog_or_tty->print_cr("[%u] stolen " PTR_FORMAT " successfully",
|
||||
_worker_id, p2i((void*) obj));
|
||||
@@ -4605,7 +4605,7 @@ CMTask::CMTask(uint worker_id,
|
||||
: _g1h(G1CollectedHeap::heap()),
|
||||
@@ -4612,7 +4614,7 @@ CMTask::CMTask(uint worker_id,
|
||||
_worker_id(worker_id), _cm(cm),
|
||||
_objArray_processor(this),
|
||||
_claimed(false),
|
||||
- _nextMarkBitMap(NULL), _hash_seed(17),
|
||||
+ _nextMarkBitMap(NULL),
|
||||
|
||||
@ -68,15 +68,15 @@ index 5c6b094..61140d3 100644
|
||||
unsigned int d_hash = dictionary()->compute_hash(name, loader_data);
|
||||
int d_index = dictionary()->hash_to_index(d_hash);
|
||||
unsigned int p_hash = placeholders()->compute_hash(name, loader_data);
|
||||
@@ -1072,6 +1084,19 @@ Klass* SystemDictionary::parse_stream(Symbol* class_name,
|
||||
@@ -1074,6 +1086,19 @@ Klass* SystemDictionary::parse_stream(Symbol* class_name,
|
||||
return k();
|
||||
}
|
||||
|
||||
|
||||
+static char* convert_into_package_name(char* name) {
|
||||
+ char* index = strrchr(name, '/');
|
||||
+ if (index == NULL) {
|
||||
+ return NULL;
|
||||
+ } else {
|
||||
+ } else {
|
||||
+ *index = '\0'; // chop to just the package name
|
||||
+ while ((index = strchr(name, '/')) != NULL) {
|
||||
+ *index = '.'; // replace '/' with '.' in package name
|
||||
@ -85,26 +85,25 @@ index 5c6b094..61140d3 100644
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
// Add a klass to the system from a stream (called by jni_DefineClass and
|
||||
// JVM_DefineClass).
|
||||
// Note: class_name can be NULL. In that case we do not know the name of
|
||||
@@ -1125,12 +1150,10 @@ Klass* SystemDictionary::resolve_from_stream(Symbol* class_name,
|
||||
// JVM_DefineClass or jni_DefineClass unless you're the bootclassloader
|
||||
ResourceMark rm(THREAD);
|
||||
char* name = parsed_name->as_C_string();
|
||||
- char* index = strrchr(name, '/');
|
||||
- assert(index != NULL, "must be");
|
||||
- *index = '\0'; // chop to just the package name
|
||||
- while ((index = strchr(name, '/')) != NULL) {
|
||||
- *index = '.'; // replace '/' with '.' in package name
|
||||
- }
|
||||
static bool is_prohibited_package_slow(Symbol* class_name) {
|
||||
// Caller has ResourceMark
|
||||
int length;
|
||||
@@ -1147,12 +1172,9 @@ Klass* SystemDictionary::resolve_from_stream(Symbol* class_name,
|
||||
// It is illegal to define classes in the "java." package from
|
||||
// JVM_DefineClass or jni_DefineClass unless you're the bootclassloader
|
||||
char* name = parsed_name->as_C_string();
|
||||
- char* index = strrchr(name, '/');
|
||||
- assert(index != NULL, "must be");
|
||||
- *index = '\0'; // chop to just the package name
|
||||
- while ((index = strchr(name, '/')) != NULL) {
|
||||
- *index = '.'; // replace '/' with '.' in package name
|
||||
- }
|
||||
+ name = convert_into_package_name(name);
|
||||
+ assert(name != NULL, "must be");
|
||||
+
|
||||
+ name = convert_into_package_name(name);
|
||||
+ assert(name != NULL, "must be");
|
||||
+
|
||||
const char* fmt = "Prohibited package name: %s";
|
||||
size_t len = strlen(fmt) + strlen(name);
|
||||
char* message = NEW_RESOURCE_ARRAY(char, len);
|
||||
const char* fmt = "Prohibited package name: %s";
|
||||
size_t len = strlen(fmt) + strlen(name);
|
||||
char* message = NEW_RESOURCE_ARRAY(char, len);
|
||||
@@ -1217,12 +1240,62 @@ Klass* SystemDictionary::find_shared_class(Symbol* class_name) {
|
||||
|
||||
instanceKlassHandle SystemDictionary::load_shared_class(
|
||||
|
||||
@ -1,42 +0,0 @@
|
||||
From 82b702f9680471ba548866aa17756f76d980ee0a Mon Sep 17 00:00:00 2001
|
||||
Date: Fri, 28 Aug 2020 09:13:33 +0800
|
||||
Subject: [PATCH] Test SSLSocketSSLEngineTemplate.java intermittent failed with
|
||||
"Data length error"
|
||||
|
||||
Summary: <java.rmi>: Test SSLSocketSSLEngineTemplate.java intermittent failed with "Data length error"
|
||||
LLT: jdk8u/jdk/test/sun/security/ssl/templates/SSLSocketSSLEngineTemplate.java
|
||||
Bug url:
|
||||
---
|
||||
.../security/ssl/templates/SSLSocketSSLEngineTemplate.java | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
diff --git a/jdk/test/sun/security/ssl/templates/SSLSocketSSLEngineTemplate.java b/jdk/test/sun/security/ssl/templates/SSLSocketSSLEngineTemplate.java
|
||||
index 661941677..181bbc8fd 100644
|
||||
--- a/jdk/test/sun/security/ssl/templates/SSLSocketSSLEngineTemplate.java
|
||||
+++ b/jdk/test/sun/security/ssl/templates/SSLSocketSSLEngineTemplate.java
|
||||
@@ -154,6 +154,8 @@ public class SSLSocketSSLEngineTemplate {
|
||||
SSLSocketSSLEngineTemplate test =
|
||||
new SSLSocketSSLEngineTemplate(protocol);
|
||||
test.runTest(true);
|
||||
+ // invalid session
|
||||
+ test.invalidSession();
|
||||
test.runTest(false);
|
||||
}
|
||||
|
||||
@@ -488,4 +490,13 @@ public class SSLSocketSSLEngineTemplate {
|
||||
System.out.println(str);
|
||||
}
|
||||
}
|
||||
+
|
||||
+ /*
|
||||
+ * invalid session
|
||||
+ */
|
||||
+ private void invalidSession() {
|
||||
+ if (sslSocket != null && sslSocket.getSession() != null) {
|
||||
+ sslSocket.getSession().invalidate();
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
--
|
||||
2.12.3
|
||||
|
||||
Binary file not shown.
@ -92,12 +92,12 @@ diff --git a/jdk/src/share/classes/java/io/ObjectInputStream.java b/jdk/src/shar
|
||||
index 5d30f2a01..b67f01719 100644
|
||||
--- a/jdk/src/share/classes/java/io/ObjectInputStream.java
|
||||
+++ b/jdk/src/share/classes/java/io/ObjectInputStream.java
|
||||
@@ -49,6 +49,7 @@ import sun.misc.SharedSecrets;
|
||||
import sun.misc.JavaOISAccess;
|
||||
@@ -52,6 +52,7 @@ import sun.misc.JavaOISAccess;
|
||||
import sun.util.logging.PlatformLogger;
|
||||
import sun.security.action.GetBooleanAction;
|
||||
import sun.security.action.GetIntegerAction;
|
||||
+import sun.misc.Unsafe;
|
||||
|
||||
|
||||
/**
|
||||
* An ObjectInputStream deserializes primitive data and objects previously
|
||||
@@ -284,6 +285,22 @@ public class ObjectInputStream
|
||||
|
||||
@ -1,13 +0,0 @@
|
||||
diff --git a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
|
||||
index 1a915aa..e5a5501 100644
|
||||
--- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
|
||||
+++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
|
||||
@@ -998,7 +998,7 @@ size_t CompactibleFreeListSpace::block_size(const HeapWord* p) const {
|
||||
|
||||
// Ensure klass read before size.
|
||||
Klass* k = oop(p)->klass_or_null_acquire();
|
||||
- if (k != NULL) {
|
||||
+ if (k != NULL && Metaspace::contains(k)) {
|
||||
assert(k->is_klass(), "Should really be klass oop.");
|
||||
oop o = (oop)p;
|
||||
assert(o->is_oop(true /* ignore mark word */), "Should be an oop.");
|
||||
@ -1,32 +0,0 @@
|
||||
diff --git a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
|
||||
index b7b3da6..1a915aa 100644
|
||||
--- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
|
||||
+++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
|
||||
@@ -994,6 +994,8 @@ size_t CompactibleFreeListSpace::block_size(const HeapWord* p) const {
|
||||
return res;
|
||||
}
|
||||
} else {
|
||||
+ OrderAccess::acquire();
|
||||
+
|
||||
// Ensure klass read before size.
|
||||
Klass* k = oop(p)->klass_or_null_acquire();
|
||||
if (k != NULL) {
|
||||
@@ -1044,6 +1046,8 @@ const {
|
||||
return res;
|
||||
}
|
||||
} else {
|
||||
+ OrderAccess::acquire();
|
||||
+
|
||||
// Ensure klass read before size.
|
||||
Klass* k = oop(p)->klass_or_null_acquire();
|
||||
if (k != NULL) {
|
||||
@@ -1098,6 +1102,9 @@ bool CompactibleFreeListSpace::block_is_obj(const HeapWord* p) const {
|
||||
// assert(CollectedHeap::use_parallel_gc_threads() || _bt.block_start(p) == p,
|
||||
// "Should be a block boundary");
|
||||
if (FreeChunk::indicatesFreeChunk(p)) return false;
|
||||
+
|
||||
+ OrderAccess::acquire();
|
||||
+
|
||||
Klass* k = oop(p)->klass_or_null_acquire();
|
||||
if (k != NULL) {
|
||||
// Ignore mark word because it may have been used to
|
||||
@ -1,5 +1,5 @@
|
||||
#!/bin/bash
|
||||
# Generates the 'source tarball' for JDK 8 projects.
|
||||
# Generates the 'source tarball' for jdk8u projects.
|
||||
#
|
||||
# Example:
|
||||
# When used from local repo set REPO_ROOT pointing to file:// with your repo
|
||||
@ -111,31 +111,31 @@ do
|
||||
hg clone ${REPO_ROOT}/${subrepo} -r ${VERSION}
|
||||
done
|
||||
|
||||
if [ -d jdk ]; then
|
||||
echo "Removing EC source code we don't build"
|
||||
rm -vf jdk/src/share/native/sun/security/ec/impl/ec2.h
|
||||
rm -vf jdk/src/share/native/sun/security/ec/impl/ec2_163.c
|
||||
rm -vf jdk/src/share/native/sun/security/ec/impl/ec2_193.c
|
||||
rm -vf jdk/src/share/native/sun/security/ec/impl/ec2_233.c
|
||||
rm -vf jdk/src/share/native/sun/security/ec/impl/ec2_aff.c
|
||||
rm -vf jdk/src/share/native/sun/security/ec/impl/ec2_mont.c
|
||||
rm -vf jdk/src/share/native/sun/security/ec/impl/ecp_192.c
|
||||
rm -vf jdk/src/share/native/sun/security/ec/impl/ecp_224.c
|
||||
|
||||
echo "Syncing EC list with NSS"
|
||||
|
||||
if [ "x$PR3756" = "x" ] ; then
|
||||
# get pr3756.patch (from http://icedtea.classpath.org/hg/icedtea8) from most correct tag
|
||||
# Do not push it or publish it (see http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3756)
|
||||
wget http://icedtea.classpath.org/hg/icedtea8/raw-file/tip/patches/pr3756.patch
|
||||
patch -Np1 < pr3756.patch
|
||||
rm pr3756.patch
|
||||
else
|
||||
echo "Applying ${PR3756}"
|
||||
patch -Np1 < $PR3756
|
||||
fi;
|
||||
fi
|
||||
find . -name '*.orig' -exec rm -vf '{}' ';'
|
||||
#if [ -d jdk ]; then
|
||||
#echo "Removing EC source code we don't build"
|
||||
#rm -vf jdk/src/share/native/sun/security/ec/impl/ec2.h
|
||||
#rm -vf jdk/src/share/native/sun/security/ec/impl/ec2_163.c
|
||||
#rm -vf jdk/src/share/native/sun/security/ec/impl/ec2_193.c
|
||||
#rm -vf jdk/src/share/native/sun/security/ec/impl/ec2_233.c
|
||||
#rm -vf jdk/src/share/native/sun/security/ec/impl/ec2_aff.c
|
||||
#rm -vf jdk/src/share/native/sun/security/ec/impl/ec2_mont.c
|
||||
#rm -vf jdk/src/share/native/sun/security/ec/impl/ecp_192.c
|
||||
#rm -vf jdk/src/share/native/sun/security/ec/impl/ecp_224.c
|
||||
#
|
||||
#echo "Syncing EC list with NSS"
|
||||
#
|
||||
#if [ "x$PR3756" = "x" ] ; then
|
||||
## get pr3756.patch (from http://icedtea.classpath.org/hg/icedtea8) from most correct tag
|
||||
## Do not push it or publish it (see http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3756)
|
||||
# wget http://icedtea.classpath.org/hg/icedtea8/raw-file/tip/patches/pr3756.patch
|
||||
# patch -Np1 < pr3756.patch
|
||||
# rm pr3756.patch
|
||||
#else
|
||||
# echo "Applying ${PR3756}"
|
||||
# patch -Np1 < $PR3756
|
||||
#fi;
|
||||
#fi
|
||||
#find . -name '*.orig' -exec rm -vf '{}' ';'
|
||||
|
||||
popd
|
||||
echo "Compressing remaining forest"
|
||||
@ -150,5 +150,3 @@ mv ${TARBALL_NAME} ..
|
||||
|
||||
popd
|
||||
echo "Done. You may want to remove the uncompressed version."
|
||||
|
||||
|
||||
|
||||
@ -77,7 +77,7 @@
|
||||
%global bootstrap_build 0
|
||||
%endif
|
||||
|
||||
%global release_targets images zip-docs
|
||||
%global release_targets images docs-zip
|
||||
# No docs nor bootcycle for debug builds
|
||||
%global debug_targets images
|
||||
|
||||
@ -148,7 +148,7 @@
|
||||
# Define old aarch64/jdk8u tree variables for compatibility
|
||||
%global project aarch64-port
|
||||
%global repo jdk8u-shenandoah
|
||||
%global revision aarch64-shenandoah-jdk8u265-b01
|
||||
%global revision aarch64-shenandoah-jdk8u272-b10
|
||||
%global full_revision %{project}-%{repo}-%{revision}
|
||||
# Define IcedTea version used for SystemTap tapsets and desktop files
|
||||
%global icedteaver 3.15.0
|
||||
@ -915,7 +915,7 @@ Provides: java-%{javaver}-%{origin}-accessibility%{?1} = %{epoch}:%{version}-%{r
|
||||
|
||||
Name: java-%{javaver}-%{origin}
|
||||
Version: %{javaver}.%{updatever}.%{buildver}
|
||||
Release: 6
|
||||
Release: 0
|
||||
# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons
|
||||
# and this change was brought into RHEL-4. java-1.5.0-ibm packages
|
||||
# also included the epoch in their virtual provides. This created a
|
||||
@ -973,12 +973,9 @@ Patch1: 8160300.patch
|
||||
Patch8: replace-vector-to-improve-performance-of-xml.validat.patch
|
||||
Patch9: AARCH64-fix-itable-stub-code-size-limit.patch
|
||||
Patch10: 8221658.patch
|
||||
Patch11: 8148754-C2-loop-unrolling-fails-due-to-unexpected-gr.patch
|
||||
Patch12: add-debuginfo-for-libsaproc-on-aarch64.patch
|
||||
Patch13: 8171537.patch
|
||||
Patch18: fix-vendor-info.patch
|
||||
Patch21: 8202952-C2-Unexpected-dead-nodes-after-matching.patch
|
||||
Patch22: 8161072.patch
|
||||
Patch24: 8134883.patch
|
||||
Patch25: FromCardCache-default-card-index-can-cause.patch
|
||||
Patch26: disable-UseLSE-on-ARMv8.1-by-default.patch
|
||||
@ -987,7 +984,6 @@ Patch28: 8194246.patch
|
||||
Patch29: 8214345.patch
|
||||
Patch30: 8191483.patch
|
||||
Patch31: 8141356.patch
|
||||
Patch32: 8151788.patch
|
||||
Patch33: 8166253.patch
|
||||
Patch34: 8191955.patch
|
||||
Patch35: 8186042-OopmapCache-implementation.patch
|
||||
@ -995,13 +991,10 @@ Patch36: 8060463.patch
|
||||
Patch37: 8131600.patch
|
||||
Patch38: 8138971.patch
|
||||
Patch40: 8129626.patch
|
||||
Patch41: 8203699-java-lang-invoke-SpecialInte.patch
|
||||
Patch45: 8191129.patch
|
||||
Patch46: 8182036.patch
|
||||
Patch47: 8166197.patch
|
||||
Patch48: 8158946-JDK-8165808-JDK-8166583-JDK-.patch
|
||||
Patch51: add-with-company-name-option.patch
|
||||
Patch56: 8160369.patch
|
||||
Patch57: 8031085.patch
|
||||
Patch58: Reduce-the-probability-of-the-crash-related-to-ciObj.patch
|
||||
Patch62: 8165857-CMS-_overflow_list-is-missing-volatile-speci.patch
|
||||
@ -1012,7 +1005,6 @@ Patch70: 8164948.patch
|
||||
Patch72: inline-optimize-for-aarch64.patch
|
||||
|
||||
# 8u242
|
||||
Patch73: PS-GC-adding-acquire_size-method-for-PSParallelCompa.patch
|
||||
Patch74: 8191915-java.lang.Math.multiplyExact-not-throw-an-ex.patch
|
||||
Patch75: Add-ability-to-configure-third-port-for-remote-JMX.patch
|
||||
Patch76: 8203196-C1-emits-incorrect-code-due-to-integer-overf.patch
|
||||
@ -1037,8 +1029,6 @@ Patch95: 8205921-Optimizing-best-of-2-work-stealing-queue-selection.patch
|
||||
# 8u265
|
||||
Patch96: fix-Long-cache-range-and-remove-VM-option-java.lang.IntegerCache.high-by-default.patch
|
||||
Patch97: leaf-optimize-in-ParallelScanvageGC.patch
|
||||
Patch98: 8046294-Generate-the-4-byte-timestamp-randomly.patch
|
||||
Patch100: 8203481-Incorrect-constraint-for-unextended_sp-in-frame-safe_for_sender.patch
|
||||
Patch102: fix-LongCache-s-range-when-BoxTypeCachedMax-number-is-bigger-than-Integer.MAX_VALUE.patch
|
||||
Patch103: Ddot-intrinsic-implement.patch
|
||||
Patch104: 8234003-Improve-IndexSet-iteration.patch
|
||||
@ -1047,17 +1037,13 @@ Patch106: fast-serializer-jdk8.patch
|
||||
Patch107: 6896810-Pin.java-fails-with-OOME-during-System.out.p.patch
|
||||
Patch108: 8231631-sun-net-ftp-FtpURLConnectionLeak.java-fails-.patch
|
||||
Patch109: Test8167409.sh-fails-to-run-with-32bit-jdk-on-64bit-.patch
|
||||
Patch110: Test-SSLSocketSSLEngineTemplate.java-intermittent-fa.patch
|
||||
Patch111: The-runok-method-retrying-another-port-does-not-take.patch
|
||||
Patch112: 8048210-8056152-fix-assert-fail-for-an-InnocuousThre.patch
|
||||
Patch113: 8160425-Vectorization-with-signalling-NaN-returns-wr.patch
|
||||
Patch114: 8181503-Can-t-compile-hotspot-with-c-11.patch
|
||||
Patch115: 8243670-Unexpected-test-result-caused-by-C2-MergeMem.patch
|
||||
Patch116: fix-crash-in-JVMTI-debug.patch
|
||||
Patch117: fix-incorrect-klass-field-in-oop-with-weak-memory-model.patch
|
||||
Patch118: Fix-LineBuffer-vappend-when-buffer-too-small.patch
|
||||
Patch119: make-disable-precompiled-headers-work.patch
|
||||
Patch120: fix-CompactibleFreeListSpace-block_size-crash.patch
|
||||
Patch121: Remove-unused-GenericTaskQueueSet-T-F-tasks.patch
|
||||
Patch122: optimize-jmap-F-dump-xxx.patch
|
||||
Patch123: recreate-.java_pid-file-when-deleted-for-attach-mechanism.patch
|
||||
@ -1088,7 +1074,6 @@ Patch539: pr2888-openjdk_should_check_for_system_cacerts_database_eg_etc_pki_jav
|
||||
# to OpenJDK 8u.
|
||||
#############################################
|
||||
# S8154313: Generated javadoc scattered all over the place
|
||||
Patch578: jdk8154313-generated_javadoc_scattered_all_over_the_place.patch
|
||||
# 8035341: Allow using a system installed libpng
|
||||
# Patch202: jdk8035341-allow_using_system_installed_libpng.patch
|
||||
# 8042159: Allow using a system-installed lcms2
|
||||
@ -1404,12 +1389,9 @@ pushd %{top_level_dir_name}
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
%patch13 -p1
|
||||
%patch18 -p1
|
||||
%patch21 -p1
|
||||
%patch22 -p1
|
||||
%patch24 -p1
|
||||
%patch25 -p1
|
||||
%patch26 -p1
|
||||
@ -1418,7 +1400,6 @@ pushd %{top_level_dir_name}
|
||||
%patch29 -p1
|
||||
%patch30 -p1
|
||||
%patch31 -p1
|
||||
%patch32 -p1
|
||||
%patch33 -p1
|
||||
%patch34 -p1
|
||||
%patch35 -p1
|
||||
@ -1426,13 +1407,10 @@ pushd %{top_level_dir_name}
|
||||
%patch37 -p1
|
||||
%patch38 -p1
|
||||
%patch40 -p1
|
||||
%patch41 -p1
|
||||
%patch45 -p1
|
||||
%patch46 -p1
|
||||
%patch47 -p1
|
||||
%patch48 -p1
|
||||
%patch51 -p1
|
||||
%patch56 -p1
|
||||
%patch57 -p1
|
||||
%patch58 -p1
|
||||
%patch62 -p1
|
||||
@ -1441,7 +1419,6 @@ pushd %{top_level_dir_name}
|
||||
%patch68 -p1
|
||||
%patch70 -p1
|
||||
%patch72 -p1
|
||||
%patch73 -p1
|
||||
%patch74 -p1
|
||||
%patch75 -p1
|
||||
%patch76 -p1
|
||||
@ -1460,8 +1437,6 @@ pushd %{top_level_dir_name}
|
||||
%patch95 -p1
|
||||
%patch96 -p1
|
||||
%patch97 -p1
|
||||
%patch98 -p1
|
||||
%patch100 -p1
|
||||
%patch102 -p1
|
||||
%patch103 -p1
|
||||
%patch104 -p1
|
||||
@ -1470,17 +1445,13 @@ pushd %{top_level_dir_name}
|
||||
%patch107 -p1
|
||||
%patch108 -p1
|
||||
%patch109 -p1
|
||||
%patch110 -p1
|
||||
%patch111 -p1
|
||||
%patch112 -p1
|
||||
%patch113 -p1
|
||||
%patch114 -p1
|
||||
%patch115 -p1
|
||||
%patch116 -p1
|
||||
%patch117 -p1
|
||||
%patch118 -p1
|
||||
%patch119 -p1
|
||||
%patch120 -p1
|
||||
%patch121 -p1
|
||||
%patch122 -p1
|
||||
%patch123 -p1
|
||||
@ -1496,9 +1467,6 @@ popd
|
||||
# %patch202
|
||||
# %patch203
|
||||
|
||||
# Upstreamable fixes
|
||||
%patch578
|
||||
|
||||
# RPM-only fixes
|
||||
%patch1000
|
||||
|
||||
@ -2107,6 +2075,21 @@ require "copy_jdk_configs.lua"
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Oct 23 2020 <guoge1@huawei.com> - 1:1.8.0.272-b10.0
|
||||
- updated to aarch64-shenandoah-jdk8u272-b10 (from aarch64-port/jdk8u-shenandoah)
|
||||
- deleted: 8046294-Generate-the-4-byte-timestamp-randomly.patch
|
||||
- deleted: 8148754-C2-loop-unrolling-fails-due-to-unexpected-gr.patch
|
||||
- deleted: 8151788.patch
|
||||
- deleted: 8161072.patch
|
||||
- deleted: 8171537.patch
|
||||
- deleted: 8203481-Incorrect-constraint-for-unextended_sp-in-frame-safe_for_sender.patch
|
||||
- deleted: 8203699-java-lang-invoke-SpecialInte.patch
|
||||
- modified: Extend-CDS-to-support-app-class-metadata-sharing.patch
|
||||
- deleted: Test-SSLSocketSSLEngineTemplate.java-intermittent-fa.patch
|
||||
- modified: fast-serializer-jdk8.patch
|
||||
- deleted: fix-CompactibleFreeListSpace-block_size-crash.patch
|
||||
- deleted: fix-incorrect-klass-field-in-oop-with-weak-memory-model.patch
|
||||
|
||||
* Mon Sep 21 2020 noah <hedongbo@huawei.com> -:1.8.0.265-b10.6
|
||||
- add add-DumpSharedSpace-guarantee-when-create-anonymous-classes.patch
|
||||
|
||||
|
||||
@ -1,68 +0,0 @@
|
||||
--- jdk8/make/Javadoc.gmk 2016-04-01 16:53:41.069477682 +0200
|
||||
+++ jdk8/make/Javadoc.gmk 2016-04-01 16:53:41.014477059 +0200
|
||||
@@ -220,6 +220,12 @@
|
||||
JRE_API_DOCSDIR = $(DOCSDIR)/jre/api
|
||||
PLATFORM_DOCSDIR = $(DOCSDIR)/platform
|
||||
|
||||
+
|
||||
+JAVADOC_ARCHIVE_NAME := jdk-$(FULL_VERSION)-docs.zip
|
||||
+JAVADOC_ARCHIVE_ASSEMBLY_DIR := $(DOCSTMPDIR)/zip-docs
|
||||
+JAVADOC_ARCHIVE_DIR := $(OUTPUT_ROOT)/bundles
|
||||
+JAVADOC_ARCHIVE := $(JAVADOC_ARCHIVE_DIR)/$(JAVADOC_ARCHIVE_NAME)
|
||||
+
|
||||
# The non-core api javadocs need to be able to access the root of the core
|
||||
# api directory, so for jdk/api or jre/api to get to the core api/
|
||||
# directory we would use this:
|
||||
@@ -319,6 +325,37 @@
|
||||
all: docs
|
||||
docs: coredocs otherdocs
|
||||
|
||||
+#
|
||||
+# Optional target which bundles all generated javadocs into a zip
|
||||
+# archive. The dependency on docs is handled in Main.gmk. Incremental
|
||||
+# building of docs is currently broken so if you invoke zip-docs after
|
||||
+# docs, the docs are always rebuilt.
|
||||
+#
|
||||
+
|
||||
+zip-docs: $(JAVADOC_ARCHIVE)
|
||||
+
|
||||
+#
|
||||
+# Add the core docs as prerequisite to the archive to trigger a rebuild
|
||||
+# if the core docs were rebuilt. Ideally any doc rebuild should trigger
|
||||
+# this, but the way prerequisites are currently setup in this file, that
|
||||
+# is hard to achieve.
|
||||
+#
|
||||
+
|
||||
+$(JAVADOC_ARCHIVE): $(COREAPI_INDEX_FILE)
|
||||
+ @$(ECHO) "Compressing javadoc to single $(JAVADOC_ARCHIVE_NAME)" ;
|
||||
+ $(MKDIR) -p $(JAVADOC_ARCHIVE_DIR) ;
|
||||
+ $(RM) -r $(JAVADOC_ARCHIVE_ASSEMBLY_DIR) ;
|
||||
+ $(MKDIR) -p $(JAVADOC_ARCHIVE_ASSEMBLY_DIR);
|
||||
+ all_roots=`$(FIND) $(DOCSDIR) | $(GREP) index.html `; \
|
||||
+ pushd $(JAVADOC_ARCHIVE_ASSEMBLY_DIR); \
|
||||
+ for index_file in $${all_roots} ; do \
|
||||
+ target_dir=`dirname $${index_file}`; \
|
||||
+ name=`$(ECHO) $${target_dir} | $(SED) "s;/spec;;" | $(SED) "s;.*/;;"`; \
|
||||
+ $(LN) -s $${target_dir} $${name}; \
|
||||
+ done; \
|
||||
+ $(ZIP) -q -r $(JAVADOC_ARCHIVE) * ; \
|
||||
+ popd ;
|
||||
+
|
||||
#################################################################
|
||||
# Production Targets -- USE THESE TARGETS WHEN:
|
||||
# a) You're generating docs outside of release engineering's
|
||||
--- jdk8/make/Main.gmk 2016-04-01 16:53:41.311480424 +0200
|
||||
+++ jdk8/make/Main.gmk 2016-04-01 16:53:41.266479914 +0200
|
||||
@@ -165,6 +165,12 @@
|
||||
@($(CD) $(SRC_ROOT)/make && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f Javadoc.gmk docs)
|
||||
@$(call TargetExit)
|
||||
|
||||
+zip-docs: docs zip-docs-only
|
||||
+zip-docs-only: start-make
|
||||
+ @$(call TargetEnter)
|
||||
+ @($(CD) $(SRC_ROOT)/make && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f Javadoc.gmk zip-docs)
|
||||
+ @$(call TargetExit)
|
||||
+
|
||||
sign-jars: jdk sign-jars-only
|
||||
sign-jars-only: start-make
|
||||
@$(call TargetEnter)
|
||||
4
sources
4
sources
@ -1,2 +1,2 @@
|
||||
SHA512 (tapsets-icedtea-3.15.0.tar.xz) = c752a197cb3d812d50c35e11e4722772be40096c81d2a57933e0d9b8a3c708b9c157b8108a4e33a06ca7bb81648170994408c75d6f69d5ff12785d0c31009671
|
||||
SHA512 (aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u262-b10.tar.xz) = ed4e67d3b6254113cbe93f47feae2dbbc205995b7a0ec613c87d1c9fc037c9275f332bcdb9c4b7a158e27dfbecb4772671b64084e47f5d1b25ba4677b27c7096
|
||||
SHA512 (tapsets-icedtea-3.15.0.tar.xz) = 36eed87c370306c715d7a9d0906a7d719d6d956d38d03fb8f2d528d22e0067cabb3a7df10e8a7c5b65b70f2c12b9a8e7078a78a3cac478b6031d42f36415b05f
|
||||
SHA512 (aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u272-b10.tar.xz) = b9c84cf37cf5cadfaa0283de37a468bd87c633a91159ed67317b2ee04b125baad0b62d9354e01c9c972e4364934e12aea061757df36313114582c54d29377150
|
||||
|
||||
@ -31,11 +31,10 @@ if [ "x$REPO_NAME" = "x" ] ; then
|
||||
REPO_NAME="jdk8u-shenandoah"
|
||||
fi
|
||||
if [ "x$VERSION" = "x" ] ; then
|
||||
VERSION="aarch64-shenandoah-jdk8u262-b10"
|
||||
VERSION="aarch64-shenandoah-jdk8u272-b10"
|
||||
fi
|
||||
|
||||
if [ "x$COMPRESSION" = "x" ] ; then
|
||||
# rhel 5 needs tar.gz
|
||||
COMPRESSION=xz
|
||||
fi
|
||||
if [ "x$FILE_NAME_ROOT" = "x" ] ; then
|
||||
@ -82,7 +81,7 @@ spec_date=`date +"%a %b %d %Y"`
|
||||
revision_helper=`echo ${MAIN_VERSION%-*}`
|
||||
updatever=`echo ${revision_helper##*u}`
|
||||
buildver=`echo ${MAIN_VERSION##*-}`
|
||||
echo "* $spec_date $user_full_name <$user_name@redhat.com> - 1:1.8.0.$updatever-$RELEASE.$buildver"
|
||||
echo "* $spec_date $user_full_name <$user_name@huawei.com> - 1:1.8.0.$updatever-$RELEASE.$buildver"
|
||||
echo "- updated to $MAIN_VERSION (from $PROJECT_NAME/$MAIN_REPO_NAME)"
|
||||
echo "- updated to $VERSION (from $PROJECT_NAME/$REPO_NAME) of hotspot"
|
||||
echo "- used $FILENAME as new sources"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user