I3SCCW: incorrect patch modification cause jtreg test fail
- The problem was introduced by updating baseline to 8u292 - Change the log time
This commit is contained in:
parent
7e30be0f15
commit
aad339a179
@ -9,10 +9,10 @@ Bug url: https://bugs.openjdk.java.net/browse/JDK-8080289 https://bugs.openjdk.j
|
|||||||
hotspot/src/share/vm/opto/loopnode.cpp | 2 +-
|
hotspot/src/share/vm/opto/loopnode.cpp | 2 +-
|
||||||
hotspot/src/share/vm/opto/loopnode.hpp | 4 +-
|
hotspot/src/share/vm/opto/loopnode.hpp | 4 +-
|
||||||
hotspot/src/share/vm/opto/loopopts.cpp | 191 +++++++++++
|
hotspot/src/share/vm/opto/loopopts.cpp | 191 +++++++++++
|
||||||
hotspot/src/share/vm/opto/memnode.cpp | 58 ++--
|
hotspot/src/share/vm/opto/memnode.cpp | 60 ++--
|
||||||
hotspot/src/share/vm/opto/phaseX.hpp | 9 +-
|
hotspot/src/share/vm/opto/phaseX.hpp | 9 +-
|
||||||
.../loopopts/TestMoveStoresOutOfLoops.java | 310 ++++++++++++++++++
|
.../loopopts/TestMoveStoresOutOfLoops.java | 310 ++++++++++++++++++
|
||||||
6 files changed, 545 insertions(+), 29 deletions(-)
|
6 files changed, 547 insertions(+), 29 deletions(-)
|
||||||
create mode 100644 hotspot/test/compiler/loopopts/TestMoveStoresOutOfLoops.java
|
create mode 100644 hotspot/test/compiler/loopopts/TestMoveStoresOutOfLoops.java
|
||||||
|
|
||||||
diff --git a/hotspot/src/share/vm/opto/loopnode.cpp b/hotspot/src/share/vm/opto/loopnode.cpp
|
diff --git a/hotspot/src/share/vm/opto/loopnode.cpp b/hotspot/src/share/vm/opto/loopnode.cpp
|
||||||
@ -270,7 +270,7 @@ diff --git a/hotspot/src/share/vm/opto/memnode.cpp b/hotspot/src/share/vm/opto/m
|
|||||||
index 3ecbe1ce0..1bab75927 100644
|
index 3ecbe1ce0..1bab75927 100644
|
||||||
--- a/hotspot/src/share/vm/opto/memnode.cpp
|
--- a/hotspot/src/share/vm/opto/memnode.cpp
|
||||||
+++ b/hotspot/src/share/vm/opto/memnode.cpp
|
+++ b/hotspot/src/share/vm/opto/memnode.cpp
|
||||||
@@ -2313,33 +2313,39 @@ Node *StoreNode::Ideal(PhaseGVN *phase, bool can_reshape) {
|
@@ -2313,33 +2313,41 @@ Node *StoreNode::Ideal(PhaseGVN *phase, bool can_reshape) {
|
||||||
// unsafe if I have intervening uses... Also disallowed for StoreCM
|
// unsafe if I have intervening uses... Also disallowed for StoreCM
|
||||||
// since they must follow each StoreP operation. Redundant StoreCMs
|
// since they must follow each StoreP operation. Redundant StoreCMs
|
||||||
// are eliminated just before matching in final_graph_reshape.
|
// are eliminated just before matching in final_graph_reshape.
|
||||||
@ -315,7 +315,9 @@ index 3ecbe1ce0..1bab75927 100644
|
|||||||
+ st->Opcode() == Op_StoreVector ||
|
+ st->Opcode() == Op_StoreVector ||
|
||||||
+ Opcode() == Op_StoreVector ||
|
+ Opcode() == Op_StoreVector ||
|
||||||
+ phase->C->get_alias_index(adr_type()) == Compile::AliasIdxRaw ||
|
+ phase->C->get_alias_index(adr_type()) == Compile::AliasIdxRaw ||
|
||||||
+ (Opcode() == Op_StoreL && st->Opcode() == Op_StoreI), // expanded ClearArrayNode
|
+ (Opcode() == Op_StoreL && st->Opcode() == Op_StoreI) || // expanded ClearArrayNode
|
||||||
|
+ (Opcode() == Op_StoreI && st->Opcode() == Op_StoreL) || // initialization by arraycopy
|
||||||
|
+ (is_mismatched_access() || mem->as_Store()->is_mismatched_access()),
|
||||||
+ err_msg_res("no mismatched stores, except on raw memory: %s %s", NodeClassNames[Opcode()], NodeClassNames[st->Opcode()]));
|
+ err_msg_res("no mismatched stores, except on raw memory: %s %s", NodeClassNames[Opcode()], NodeClassNames[st->Opcode()]));
|
||||||
+
|
+
|
||||||
+ if (st->in(MemNode::Address)->eqv_uncast(address) &&
|
+ if (st->in(MemNode::Address)->eqv_uncast(address) &&
|
||||||
|
|||||||
@ -1,32 +1,28 @@
|
|||||||
From ad7ec63def37ef080e98394f7ea76acb28e4574c Mon Sep 17 00:00:00 2001
|
From bc0b4ef15436f98b4e7fc87342320b5b4f10ef3c Mon Sep 17 00:00:00 2001
|
||||||
From: zhangyipeng <zhangyipeng7@huawei.com>
|
Date: Fri, 22 Jan 2021 14:30:40 +0800
|
||||||
Date: Tue, 9 Mar 2021 17:24:33 +0800
|
Subject: Backport of JDK-8182036
|
||||||
Subject: [PATCH] [Backport]8182036: 2-Load from initializing arraycopy
|
|
||||||
uses wrong memory state
|
|
||||||
|
|
||||||
Reference: https://bugs.openjdk.java.net/browse/JDK-8182036, https://bugs.openjdk.java.net/browse/JDK-8233023
|
summary: Load from initializing arraycopy uses wrong memory state
|
||||||
|
LLT:
|
||||||
|
Bug url: https://bugs.openjdk.java.net/browse/JDK-8182036
|
||||||
Signed-off-by: He Xuejin <hexuejin2@huawei.com>
|
|
||||||
---
|
---
|
||||||
hotspot/src/share/vm/opto/memnode.cpp | 4 +++-
|
hotspot/src/share/vm/opto/library_call.cpp | 3 ++-
|
||||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/hotspot/src/share/vm/opto/memnode.cpp b/hotspot/src/share/vm/opto/memnode.cpp
|
diff --git a/hotspot/src/share/vm/opto/library_call.cpp b/hotspot/src/share/vm/opto/library_call.cpp
|
||||||
index 317c21d2d..4a8fb1074 100644
|
index cd1b1e5c0..89ebabe6f 100644
|
||||||
--- a/hotspot/src/share/vm/opto/memnode.cpp
|
--- a/hotspot/src/share/vm/opto/library_call.cpp
|
||||||
+++ b/hotspot/src/share/vm/opto/memnode.cpp
|
+++ b/hotspot/src/share/vm/opto/library_call.cpp
|
||||||
@@ -2329,7 +2329,9 @@ Node *StoreNode::Ideal(PhaseGVN *phase, bool can_reshape) {
|
@@ -5703,7 +5703,8 @@ LibraryCallKit::generate_block_arraycopy(const TypePtr* adr_type,
|
||||||
st->Opcode() == Op_StoreVector ||
|
((src_off ^ dest_off) & (BytesPerLong-1)) == 0) {
|
||||||
Opcode() == Op_StoreVector ||
|
Node* sptr = basic_plus_adr(src, src_off);
|
||||||
phase->C->get_alias_index(adr_type()) == Compile::AliasIdxRaw ||
|
Node* dptr = basic_plus_adr(dest, dest_off);
|
||||||
- (Opcode() == Op_StoreL && st->Opcode() == Op_StoreI), // expanded ClearArrayNode
|
- Node* sval = make_load(control(), sptr, TypeInt::INT, T_INT, adr_type, MemNode::unordered);
|
||||||
+ (Opcode() == Op_StoreL && st->Opcode() == Op_StoreI) || // expanded ClearArrayNode
|
+ const TypePtr* s_adr_type = _gvn.type(sptr)->is_ptr();
|
||||||
+ (Opcode() == Op_StoreI && st->Opcode() == Op_StoreL) || // initialization by arraycopy
|
+ Node* sval = make_load(control(), sptr, TypeInt::INT, T_INT, s_adr_type, MemNode::unordered);
|
||||||
+ (is_mismatched_access() || mem->as_Store()->is_mismatched_access()),
|
store_to_memory(control(), dptr, sval, T_INT, adr_type, MemNode::unordered);
|
||||||
err_msg_res("no mismatched stores, except on raw memory: %s %s", NodeClassNames[Opcode()], NodeClassNames[st->Opcode()]));
|
src_off += BytesPerInt;
|
||||||
|
dest_off += BytesPerInt;
|
||||||
if (st->in(MemNode::Address)->eqv_uncast(address) &&
|
|
||||||
--
|
--
|
||||||
2.19.0
|
2.19.0
|
||||||
|
|
||||||
|
|||||||
@ -2166,7 +2166,7 @@ require "copy_jdk_configs.lua"
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Tue Apr 20 2021 eapen <zhangyipeng7@huawei.com> - 1:1.8.0.292-b10.0
|
* Tue May 18 2021 eapen <zhangyipeng7@huawei.com> - 1:1.8.0.292-b10.0
|
||||||
- update to jdk8u292-b10
|
- update to jdk8u292-b10
|
||||||
- split sync-patch to multi patches
|
- split sync-patch to multi patches
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user