Mercurial > hg > openjdk > jdk9 > hotspot
changeset 11799:a71e5434ccd6
8136818: Test compiler/arraycopy/TestEliminatedArrayCopyDeopt.java fails with "m1 failed"
Summary: Added missing Op_StoreB check to ArrayCopyNode::may_modify_helper().
Reviewed-by: kvn
author | thartmann |
---|---|
date | Thu, 04 Aug 2016 10:34:34 +0200 |
parents | a2e73f79284b |
children | 5494c1901ce0 |
files | src/share/vm/opto/arraycopynode.cpp test/compiler/arraycopy/TestEliminatedArrayCopyDeopt.java |
diffstat | 2 files changed, 6 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/opto/arraycopynode.cpp Thu Aug 04 08:58:22 2016 +0200 +++ b/src/share/vm/opto/arraycopynode.cpp Thu Aug 04 10:34:34 2016 +0200 @@ -630,6 +630,12 @@ } bool ArrayCopyNode::may_modify_helper(const TypeOopPtr *t_oop, Node* n, PhaseTransform *phase, ArrayCopyNode*& ac) { + if (n->Opcode() == Op_StoreCM || + n->Opcode() == Op_StoreB) { + // Ignore card mark stores + n = n->in(MemNode::Memory); + } + if (n->is_Proj()) { n = n->in(0); if (n->is_Call() && n->as_Call()->may_modify(t_oop, phase)) { @@ -657,9 +663,6 @@ } } } - } else if (n->Opcode() == Op_StoreCM) { - // Ignore card mark stores - return may_modify_helper(t_oop, n->in(MemNode::Memory), phase, ac); } }
--- a/test/compiler/arraycopy/TestEliminatedArrayCopyDeopt.java Thu Aug 04 08:58:22 2016 +0200 +++ b/test/compiler/arraycopy/TestEliminatedArrayCopyDeopt.java Thu Aug 04 10:34:34 2016 +0200 @@ -25,7 +25,6 @@ * @test * @bug 8130847 8156760 * @summary Eliminated instance/array written to by an array copy variant must be correctly initialized when reallocated at a deopt - * @ignore 8136818 * @run main/othervm -XX:-BackgroundCompilation -XX:-UseOnStackReplacement * compiler.arraycopy.TestEliminatedArrayCopyDeopt * @run main/othervm -XX:-BackgroundCompilation -XX:-UseOnStackReplacement