--- old/test/runtime/logging/ExceptionsTest.java 2016-01-20 11:48:38.569124093 -0500 +++ new/test/runtime/logging/ExceptionsTest.java 2016-01-20 11:48:38.432240702 -0500 @@ -52,28 +52,28 @@ } public static void main(String[] args) throws Exception { - ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( - "-Xlog:exceptions=info", "-Xcomp", - "-XX:CompileCommand=compileonly,ExceptionsTest$InternalClass::compileMe", - InternalClass.class.getName()); + ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:exceptions=info", + "-Xcomp", + "-XX:CompileCommand=compileonly,ExceptionsTest$InternalClass::compileMe", + InternalClass.class.getName()); analyzeOutputOn(pb); - pb = ProcessTools.createJavaProcessBuilder( - "-XX:+TraceExceptions", "-Xcomp", - "-XX:CompileCommand=compileonly,ExceptionsTest$InternalClass::compileMe", - InternalClass.class.getName()); + pb = ProcessTools.createJavaProcessBuilder("-XX:+TraceExceptions", + "-Xcomp", + "-XX:CompileCommand=compileonly,ExceptionsTest$InternalClass::compileMe", + InternalClass.class.getName()); analyzeOutputOn(pb); - pb = ProcessTools.createJavaProcessBuilder( - "-Xlog:exceptions=off", "-Xcomp", - "-XX:CompileCommand=compileonly,ExceptionsTest$InternalClass::compileMe", - InternalClass.class.getName()); + pb = ProcessTools.createJavaProcessBuilder("-Xlog:exceptions=off", + "-Xcomp", + "-XX:CompileCommand=compileonly,ExceptionsTest$InternalClass::compileMe", + InternalClass.class.getName()); analyzeOutputOff(pb); - pb = ProcessTools.createJavaProcessBuilder( - "-XX:-TraceExceptions", "-Xcomp", - "-XX:CompileCommand=compileonly,ExceptionsTest$InternalClass::compileMe", - InternalClass.class.getName()); + pb = ProcessTools.createJavaProcessBuilder("-XX:-TraceExceptions", + "-Xcomp", + "-XX:CompileCommand=compileonly,ExceptionsTest$InternalClass::compileMe", + InternalClass.class.getName()); analyzeOutputOff(pb); } --- /dev/null 2016-01-04 11:24:38.855231233 -0500 +++ new/test/runtime/logging/ItablesVtableTest.java 2016-01-20 11:48:38.426238173 -0500 @@ -0,0 +1,42 @@ +/* + * 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. + * + * 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. + */ + +interface Interface1 { + public void foo(); + public int hashCode(); +} + +public class ItablesVtableTest implements Interface1 { + public void foo() { + System.out.println("ItablesVtableTest foo"); + } + public int hashCode() { + return 55; + } + + public static void main(String[] unused) { + ItablesVtableTest c = new ItablesVtableTest(); + c.foo(); + System.out.println("Interface1 hashCode " + c.hashCode()); + } +} --- old/test/runtime/logging/VtablesTest.java 2016-01-20 11:48:38.568008890 -0500 +++ new/test/runtime/logging/VtablesTest.java 2016-01-20 11:48:38.429586590 -0500 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * 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 @@ -41,8 +41,7 @@ public class VtablesTest { public static void main(String[] args) throws Exception { if (Platform.isDebugBuild()) { - ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( - "-Xlog:vtables=trace", "ClassB"); + ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:vtables=trace", "ClassB"); OutputAnalyzer output = new OutputAnalyzer(pb.start()); output.shouldContain("copy vtable from ClassA to ClassB"); output.shouldContain("Initializing: ClassB"); --- old/test/runtime/logging/ClassResolutionTest.java 2016-01-20 11:48:38.573550971 -0500 +++ new/test/runtime/logging/ClassResolutionTest.java 2016-01-20 11:48:38.440895569 -0500 @@ -58,26 +58,28 @@ public static void main(String... args) throws Exception { // (1) classresolve should turn on. - ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( - "-Xlog:classresolve=info", ClassResolutionTestMain.class.getName()); + ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:classresolve=info", + ClassResolutionTestMain.class.getName()); OutputAnalyzer o = new OutputAnalyzer(pb.start()); o.shouldContain("[classresolve] ClassResolutionTest$ClassResolutionTestMain$Thing1Handler ClassResolutionTest$ClassResolutionTestMain$Thing1"); // (2) classresolve should turn off. - pb = ProcessTools.createJavaProcessBuilder( - "-Xlog", "-Xlog:classresolve=off", ClassResolutionTestMain.class.getName()); + pb = ProcessTools.createJavaProcessBuilder("-Xlog", + "-Xlog:classresolve=off", + ClassResolutionTestMain.class.getName()); o = new OutputAnalyzer(pb.start()); o.shouldNotContain("[classresolve]"); // (3) TraceClassResolution should turn on. - pb = ProcessTools.createJavaProcessBuilder( - "-XX:+TraceClassResolution", ClassResolutionTestMain.class.getName()); + pb = ProcessTools.createJavaProcessBuilder("-XX:+TraceClassResolution", + ClassResolutionTestMain.class.getName()); o = new OutputAnalyzer(pb.start()); o.shouldContain("[classresolve] ClassResolutionTest$ClassResolutionTestMain$Thing1Handler ClassResolutionTest$ClassResolutionTestMain$Thing1"); // (4) TraceClassResolution should turn off. - pb = ProcessTools.createJavaProcessBuilder( - "-Xlog", "-XX:-TraceClassResolution", ClassResolutionTestMain.class.getName()); + pb = ProcessTools.createJavaProcessBuilder("-Xlog", + "-XX:-TraceClassResolution", + ClassResolutionTestMain.class.getName()); o = new OutputAnalyzer(pb.start()); o.shouldNotContain("[classresolve]"); --- old/test/runtime/logging/ItablesTest.java 2016-01-20 11:48:38.572545413 -0500 +++ new/test/runtime/logging/ItablesTest.java 2016-01-20 11:48:38.434965528 -0500 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * 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 @@ -27,8 +27,8 @@ * @summary itables=trace should have logging from each of the statements * in the code * @library /testlibrary - * @ignore 8146435 * @compile ClassB.java + * ItablesVtableTest.java * @modules java.base/sun.misc * java.management * @run driver ItablesTest @@ -39,12 +39,10 @@ public class ItablesTest { public static void main(String[] args) throws Exception { if (Platform.isDebugBuild()) { - ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( - "-Xlog:itables=trace", "ClassB"); + ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:itables=trace", "ClassB"); OutputAnalyzer output = new OutputAnalyzer(pb.start()); output.shouldContain(": Initializing itables for ClassB"); output.shouldContain(": Initializing itable indices for interface "); - output.shouldContain("vtable index "); output.shouldContain("itable index "); output.shouldContain("target: ClassB.Method1()V, method_holder: ClassB target_method flags: public"); output.shouldContain("invokeinterface resolved method: caller-class"); @@ -53,6 +51,11 @@ output.shouldContain("invokeinterface selected method: receiver-class"); output.shouldContain("Resolving: klass: "); output.shouldHaveExitValue(0); + + pb = ProcessTools.createJavaProcessBuilder("-Xlog:itables=trace", "ItablesVtableTest"); + output = new OutputAnalyzer(pb.start()); + output.shouldContain("vtable index "); + output.shouldHaveExitValue(0); } } } --- old/test/runtime/logging/ClassInitializationTest.java 2016-01-20 11:48:38.575173967 -0500 +++ new/test/runtime/logging/ClassInitializationTest.java 2016-01-20 11:48:38.442740348 -0500 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 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 @@ -40,7 +40,10 @@ public static void main(String... args) throws Exception { // (1) - ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:classinit=info", "-Xverify:all", "-Xmx64m", "BadMap50"); + ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:classinit=info", + "-Xverify:all", + "-Xmx64m", + "BadMap50"); OutputAnalyzer out = new OutputAnalyzer(pb.start()); out.shouldContain("Start class verification for:"); out.shouldContain("End class verification for:"); @@ -50,16 +53,29 @@ // (2) if (Platform.isDebugBuild()) { - pb = ProcessTools.createJavaProcessBuilder("-Xlog:classinit=info", "-Xverify:all", "-XX:+EagerInitialization", "-Xmx64m", "-version"); - out = new OutputAnalyzer(pb.start()); - out.shouldContain("[Initialized").shouldContain("without side effects]"); - out.shouldHaveExitValue(0); + pb = ProcessTools.createJavaProcessBuilder("-Xlog:classinit=info", + "-Xverify:all", + "-XX:+EagerInitialization", + "-Xmx64m", + InnerClass.class.getName()); + out = new OutputAnalyzer(pb.start()); + out.shouldContain("[Initialized").shouldContain("without side effects]"); + out.shouldHaveExitValue(0); } // (3) Ensure that VerboseVerification still triggers appropriate messages. - pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockDiagnosticVMOptions", "-XX:+VerboseVerification", "-Xverify:all", "-Xmx64m", "BadMap50"); + pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockDiagnosticVMOptions", + "-XX:+VerboseVerification", + "-Xverify:all", + "-Xmx64m", + "BadMap50"); out = new OutputAnalyzer(pb.start()); out.shouldContain("End class verification for:"); out.shouldContain("Verification for BadMap50 failed"); out.shouldContain("Fail over class verification to old verifier for: BadMap50"); } + public static class InnerClass { + public static void main(String[] args) throws Exception { + System.out.println("Inner Class"); + } + } } --- old/test/runtime/logging/VMOperationTest.java 2016-01-20 11:48:38.589834665 -0500 +++ new/test/runtime/logging/VMOperationTest.java 2016-01-20 11:48:38.427712349 -0500 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 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 @@ -38,9 +38,10 @@ public class VMOperationTest { public static void main(String[] args) throws Exception { - ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( - "-Xlog:vmoperation=debug", "-Xmx64m", "-Xms64m", - InternalClass.class.getName()); + ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:vmoperation=debug", + "-Xmx64m", + "-Xms64m", + InternalClass.class.getName()); OutputAnalyzer output = new OutputAnalyzer(pb.start()); output.shouldContain("VM_Operation ("); output.shouldHaveExitValue(0); --- old/test/runtime/logging/DefaultMethodsTest.java 2016-01-20 11:48:38.580938405 -0500 +++ new/test/runtime/logging/DefaultMethodsTest.java 2016-01-20 11:48:38.444507310 -0500 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 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 @@ -26,7 +26,6 @@ * @bug 8139564 * @summary defaultmethods=debug should have logging from each of the statements in the code * @library /testlibrary - * @ignore 8146435 * @modules java.base/sun.misc * java.management * @build jdk.test.lib.OutputAnalyzer jdk.test.lib.ProcessTools @@ -38,8 +37,8 @@ public class DefaultMethodsTest { public static void main(String[] args) throws Exception { - ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( - "-Xlog:defaultmethods=debug", "-version"); + ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:defaultmethods=debug", + InnerClass.class.getName()); OutputAnalyzer output = new OutputAnalyzer(pb.start()); output.shouldContain("Slots that need filling:"); output.shouldContain("requires default method processing"); @@ -51,5 +50,11 @@ output.shouldContain("default methods"); output.shouldHaveExitValue(0); } + + public static class InnerClass { + public static void main(String[] args) throws Exception { + System.out.println("Inner Class"); + } + } } --- old/test/runtime/logging/ClassB.java 2016-01-20 11:48:38.587588090 -0500 +++ new/test/runtime/logging/ClassB.java 2016-01-20 11:48:38.447269141 -0500 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * 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 --- old/test/runtime/logging/MonitorInflationTest.java 2016-01-20 11:48:38.575954406 -0500 +++ new/test/runtime/logging/MonitorInflationTest.java 2016-01-20 11:48:38.439234009 -0500 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 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 @@ -51,20 +51,20 @@ } public static void main(String[] args) throws Exception { - ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( - "-Xlog:monitorinflation=debug", InnerClass.class.getName()); + ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:monitorinflation=debug", + InnerClass.class.getName()); analyzeOutputOn(pb); - pb = ProcessTools.createJavaProcessBuilder( - "-XX:+TraceMonitorInflation", InnerClass.class.getName()); + pb = ProcessTools.createJavaProcessBuilder("-XX:+TraceMonitorInflation", + InnerClass.class.getName()); analyzeOutputOn(pb); - pb = ProcessTools.createJavaProcessBuilder( - "-Xlog:monitorinflation=off", InnerClass.class.getName()); + pb = ProcessTools.createJavaProcessBuilder("-Xlog:monitorinflation=off", + InnerClass.class.getName()); analyzeOutputOff(pb); - pb = ProcessTools.createJavaProcessBuilder( - "-XX:-TraceMonitorInflation", InnerClass.class.getName()); + pb = ProcessTools.createJavaProcessBuilder("-XX:-TraceMonitorInflation", + InnerClass.class.getName()); analyzeOutputOff(pb); } --- old/test/runtime/logging/SafepointTest.java 2016-01-20 11:48:38.582563434 -0500 +++ new/test/runtime/logging/SafepointTest.java 2016-01-20 11:48:38.436640050 -0500 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 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 @@ -38,8 +38,8 @@ public class SafepointTest { public static void main(String[] args) throws Exception { - ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( - "-Xlog:safepoint=trace", InnerClass.class.getName()); + ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:safepoint=trace", + InnerClass.class.getName()); OutputAnalyzer output = new OutputAnalyzer(pb.start()); output.shouldContain("Safepoint synchronization initiated. ("); output.shouldContain("Entering safepoint region: ");