< prev index next >

test/compiler/jsr292/MHInlineTest.java

Print this page

        

*** 24,62 **** /** * @test * @bug 8062280 * @summary C2: inlining failure due to access checks being too strict * @modules java.base/jdk.internal.misc ! * @library /testlibrary ! * @run main/othervm MHInlineTest */ ! import java.lang.invoke.*; ! import jdk.test.lib.*; ! import static jdk.test.lib.Asserts.*; public class MHInlineTest { public static void main(String[] args) throws Exception { ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( "-XX:+IgnoreUnrecognizedVMOptions", "-showversion", "-server", "-XX:-TieredCompilation", "-Xbatch", "-XX:+PrintCompilation", "-XX:+UnlockDiagnosticVMOptions", "-XX:+PrintInlining", ! "-XX:CompileCommand=dontinline,MHInlineTest::test*", ! "MHInlineTest$Launcher"); OutputAnalyzer analyzer = new OutputAnalyzer(pb.start()); analyzer.shouldHaveExitValue(0); // The test is applicable only to C2 (present in Server VM). if (analyzer.getStderr().contains("Server VM")) { ! analyzer.shouldContain("MHInlineTest$B::public_x (3 bytes) inline (hot)"); ! analyzer.shouldContain("MHInlineTest$B::protected_x (3 bytes) inline (hot)"); ! analyzer.shouldContain("MHInlineTest$B::package_x (3 bytes) inline (hot)"); ! analyzer.shouldContain("MHInlineTest$A::package_final_x (3 bytes) inline (hot)"); ! analyzer.shouldContain("MHInlineTest$B::private_x (3 bytes) inline (hot)"); ! analyzer.shouldContain("MHInlineTest$B::private_static_x (3 bytes) inline (hot)"); ! analyzer.shouldContain("MHInlineTest$A::package_static_x (3 bytes) inline (hot)"); } } static class A { public static final MethodHandles.Lookup LOOKUP = MethodHandles.lookup(); --- 24,71 ---- /** * @test * @bug 8062280 * @summary C2: inlining failure due to access checks being too strict * @modules java.base/jdk.internal.misc ! * @library /testlibrary / ! * ! * @run main/othervm compiler.jsr292.MHInlineTest */ ! ! package compiler.jsr292; ! ! import jdk.test.lib.OutputAnalyzer; ! import jdk.test.lib.ProcessTools; ! ! import java.lang.invoke.MethodHandle; ! import java.lang.invoke.MethodHandles; ! import java.lang.invoke.MethodType; ! ! import static jdk.test.lib.Asserts.assertEquals; public class MHInlineTest { public static void main(String[] args) throws Exception { ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( "-XX:+IgnoreUnrecognizedVMOptions", "-showversion", "-server", "-XX:-TieredCompilation", "-Xbatch", "-XX:+PrintCompilation", "-XX:+UnlockDiagnosticVMOptions", "-XX:+PrintInlining", ! "-XX:CompileCommand=dontinline,compiler.jsr292.MHInlineTest::test*", ! Launcher.class.getName()); OutputAnalyzer analyzer = new OutputAnalyzer(pb.start()); analyzer.shouldHaveExitValue(0); // The test is applicable only to C2 (present in Server VM). if (analyzer.getStderr().contains("Server VM")) { ! analyzer.shouldContain("compiler.jsr292.MHInlineTest$B::public_x (3 bytes) inline (hot)"); ! analyzer.shouldContain("compiler.jsr292.MHInlineTest$B::protected_x (3 bytes) inline (hot)"); ! analyzer.shouldContain("compiler.jsr292.MHInlineTest$B::package_x (3 bytes) inline (hot)"); ! analyzer.shouldContain("compiler.jsr292.MHInlineTest$A::package_final_x (3 bytes) inline (hot)"); ! analyzer.shouldContain("compiler.jsr292.MHInlineTest$B::private_x (3 bytes) inline (hot)"); ! analyzer.shouldContain("compiler.jsr292.MHInlineTest$B::private_static_x (3 bytes) inline (hot)"); ! analyzer.shouldContain("compiler.jsr292.MHInlineTest$A::package_static_x (3 bytes) inline (hot)"); } } static class A { public static final MethodHandles.Lookup LOOKUP = MethodHandles.lookup();
< prev index next >