# HG changeset patch # User thartmann # Date 1564385647 -7200 # Node ID 1fdace0fb2f4eb89291c46059c99ba3f6dd9d469 # Parent 9af2749af9fc0e06a230d7c5974929c0db9a0be5 8223769: Assert triggers with -XX:+StressReflectiveCode Summary: Fixed too strong assert. Reviewed-by: kvn, thartmann Contributed-by: Christian Hagedorn diff -r 9af2749af9fc -r 1fdace0fb2f4 src/hotspot/share/opto/arraycopynode.cpp --- a/src/hotspot/share/opto/arraycopynode.cpp Sun Jul 28 23:14:07 2019 -0400 +++ b/src/hotspot/share/opto/arraycopynode.cpp Mon Jul 29 09:34:07 2019 +0200 @@ -136,7 +136,7 @@ // array must be too. assert((get_length_if_constant(phase) == -1) == !ary_src->size()->is_con() || - phase->is_IterGVN(), "inconsistent"); + phase->is_IterGVN() || StressReflectiveCode, "inconsistent"); if (ary_src->size()->is_con()) { return ary_src->size()->get_con(); diff -r 9af2749af9fc -r 1fdace0fb2f4 test/hotspot/jtreg/compiler/arguments/TestStressReflectiveCode.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/hotspot/jtreg/compiler/arguments/TestStressReflectiveCode.java Mon Jul 29 09:34:07 2019 +0200 @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2019, 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 8223769 + * @summary Test running with StressReflectiveCode enabled. + * @run main/othervm -Xcomp -XX:+IgnoreUnrecognizedVMOptions -XX:+StressReflectiveCode + * compiler.arguments.TestStressReflectiveCode + */ + +package compiler.arguments; + +public class TestStressReflectiveCode { + + public static void main(String[] args) { + VALUES.clone(); + } + + private static final int[] VALUES = new int[]{3, 4, 5}; +} +