8152636: TestHasNegatives.java fails after Jigsaw changes were integrated
Reviewed-by: kvn
--- a/hotspot/test/compiler/intrinsics/string/TestHasNegatives.java Tue Mar 29 21:33:26 2016 +0300
+++ b/hotspot/test/compiler/intrinsics/string/TestHasNegatives.java Wed Mar 30 00:25:39 2016 +0300
@@ -26,18 +26,19 @@
/*
* @test
* @bug 8054307
- * @ignore 8152636
* @summary Validates StringCoding.hasNegatives intrinsic with a small range of tests.
- * @run main/bootclasspath java.lang.TestHasNegatives
+ * @library /compiler/patches
+ * @build java.base/java.lang.Helper
+ * @build compiler.intrinsics.string.TestHasNegatives
+ * @run main compiler.intrinsics.string.TestHasNegatives
*/
-package java.lang;
+package compiler.intrinsics.string;
-import java.lang.StringCoding;
+import java.lang.Helper;
/*
* @summary Validates StringCoding.hasNegatives intrinsic with a small
- * range of tests. Must be run with modified bootclasspath
- * to allow existence in java.lang package.
+ * range of tests.
*/
public class TestHasNegatives {
@@ -95,7 +96,7 @@
if (len + off > tBa.length)
continue;
initialize(off, len, ng);
- r = StringCoding.hasNegatives(tBa, off, len);
+ r = Helper.StringCodingHasNegatives(tBa, off, len);
if (r ^ ((ng == 0) ? false : true)) {
throw new Exception("Failed test hasNegatives " + "offset: " + off + " "
+ "length: " + len + " " + "return: " + r + " " + "negatives: "
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/test/compiler/patches/java.base/java/lang/Helper.java Wed Mar 30 00:25:39 2016 +0300
@@ -0,0 +1,36 @@
+/*
+ * 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. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * 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.
+ */
+
+package java.lang;
+
+/**
+ * A helper class to get access to package-private members
+ */
+public class Helper {
+ @jdk.internal.vm.annotation.ForceInline
+ public static boolean StringCodingHasNegatives(byte[] ba, int off, int len) {
+ return StringCoding.hasNegatives(ba, off, len);
+ }
+}