< prev index next >

test/runtime/logging/ItablesTest.java

Print this page




  30  * @compile ClassB.java
  31  *          ItablesVtableTest.java
  32  * @modules java.base/jdk.internal.misc
  33  *          java.management
  34  * @run driver ItablesTest
  35  */
  36 
  37 import jdk.test.lib.process.ProcessTools;
  38 import jdk.test.lib.process.OutputAnalyzer;
  39 import jdk.test.lib.Platform;
  40 
  41 public class ItablesTest {
  42     public static void main(String[] args) throws Exception {
  43         if (Platform.isDebugBuild()) {
  44             ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:itables=trace", "ClassB");
  45             OutputAnalyzer output = new OutputAnalyzer(pb.start());
  46             output.shouldContain(": Initializing itables for ClassB");
  47             output.shouldContain(": Initializing itable indices for interface ");
  48             output.shouldContain("itable index ");
  49             output.shouldContain("target: ClassB.Method1()V, method_holder: ClassB target_method flags: public");
  50             output.shouldContain("invokeinterface resolved method: caller-class");
  51             output.shouldContain("invokespecial resolved method: caller-class:ClassB");
  52             output.shouldContain("invokespecial selected method: resolved-class:ClassB");
  53             output.shouldContain("invokeinterface selected method: receiver-class");
  54             output.shouldHaveExitValue(0);
  55 
  56             pb = ProcessTools.createJavaProcessBuilder("-Xlog:itables=trace", "ItablesVtableTest");
  57             output = new OutputAnalyzer(pb.start());
  58             output.shouldContain("vtable index ");
  59             output.shouldHaveExitValue(0);
  60         }
  61     }
  62 }


  30  * @compile ClassB.java
  31  *          ItablesVtableTest.java
  32  * @modules java.base/jdk.internal.misc
  33  *          java.management
  34  * @run driver ItablesTest
  35  */
  36 
  37 import jdk.test.lib.process.ProcessTools;
  38 import jdk.test.lib.process.OutputAnalyzer;
  39 import jdk.test.lib.Platform;
  40 
  41 public class ItablesTest {
  42     public static void main(String[] args) throws Exception {
  43         if (Platform.isDebugBuild()) {
  44             ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:itables=trace", "ClassB");
  45             OutputAnalyzer output = new OutputAnalyzer(pb.start());
  46             output.shouldContain(": Initializing itables for ClassB");
  47             output.shouldContain(": Initializing itable indices for interface ");
  48             output.shouldContain("itable index ");
  49             output.shouldContain("target: ClassB.Method1()V, method_holder: ClassB target_method flags: public");
  50             output.shouldContain("invokeinterface resolved interface method: caller-class");
  51             output.shouldContain("invokespecial resolved method: caller-class:ClassB");
  52             output.shouldContain("invokespecial selected method: resolved-class:ClassB");
  53             output.shouldContain("invokeinterface selected method: receiver-class");
  54             output.shouldHaveExitValue(0);
  55 
  56             pb = ProcessTools.createJavaProcessBuilder("-Xlog:itables=trace", "ItablesVtableTest");
  57             output = new OutputAnalyzer(pb.start());
  58             output.shouldContain("vtable index ");
  59             output.shouldHaveExitValue(0);
  60         }
  61     }
  62 }
< prev index next >