8152636: TestHasNegatives.java fails after Jigsaw changes were integrated
authoriignatyev
Wed, 30 Mar 2016 00:25:39 +0300
changeset 36841 94b23329b108
parent 36840 29d9167ccc82
child 36843 d29f1021e64c
8152636: TestHasNegatives.java fails after Jigsaw changes were integrated Reviewed-by: kvn
hotspot/test/compiler/intrinsics/string/TestHasNegatives.java
hotspot/test/compiler/patches/java.base/java/lang/Helper.java
--- 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);
+  }
+}