hotspot/test/runtime/logging/ItablesTest.java
changeset 35858 6e704583a38f
parent 35463 b32e362563bb
child 36392 f2f1892bfa98
equal deleted inserted replaced
35536:8bc68eee47dd 35858:6e704583a38f
     1 /*
     1 /*
     2  * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
    25  * @test
    25  * @test
    26  * @bug 8141564
    26  * @bug 8141564
    27  * @summary itables=trace should have logging from each of the statements
    27  * @summary itables=trace should have logging from each of the statements
    28  *          in the code
    28  *          in the code
    29  * @library /testlibrary
    29  * @library /testlibrary
    30  * @ignore 8146435
       
    31  * @compile ClassB.java
    30  * @compile ClassB.java
       
    31  *          ItablesVtableTest.java
    32  * @modules java.base/sun.misc
    32  * @modules java.base/sun.misc
    33  *          java.management
    33  *          java.management
    34  * @run driver ItablesTest
    34  * @run driver ItablesTest
    35  */
    35  */
    36 
    36 
    37 import jdk.test.lib.*;
    37 import jdk.test.lib.*;
    38 
    38 
    39 public class ItablesTest {
    39 public class ItablesTest {
    40     public static void main(String[] args) throws Exception {
    40     public static void main(String[] args) throws Exception {
    41         if (Platform.isDebugBuild()) {
    41         if (Platform.isDebugBuild()) {
    42             ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
    42             ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:itables=trace", "ClassB");
    43                 "-Xlog:itables=trace", "ClassB");
       
    44             OutputAnalyzer output = new OutputAnalyzer(pb.start());
    43             OutputAnalyzer output = new OutputAnalyzer(pb.start());
    45             output.shouldContain(": Initializing itables for ClassB");
    44             output.shouldContain(": Initializing itables for ClassB");
    46             output.shouldContain(": Initializing itable indices for interface ");
    45             output.shouldContain(": Initializing itable indices for interface ");
    47             output.shouldContain("vtable index ");
       
    48             output.shouldContain("itable index ");
    46             output.shouldContain("itable index ");
    49             output.shouldContain("target: ClassB.Method1()V, method_holder: ClassB target_method flags: public");
    47             output.shouldContain("target: ClassB.Method1()V, method_holder: ClassB target_method flags: public");
    50             output.shouldContain("invokeinterface resolved method: caller-class");
    48             output.shouldContain("invokeinterface resolved method: caller-class");
    51             output.shouldContain("invokespecial resolved method: caller-class:ClassB");
    49             output.shouldContain("invokespecial resolved method: caller-class:ClassB");
    52             output.shouldContain("invokespecial selected method: resolved-class:ClassB");
    50             output.shouldContain("invokespecial selected method: resolved-class:ClassB");
    53             output.shouldContain("invokeinterface selected method: receiver-class");
    51             output.shouldContain("invokeinterface selected method: receiver-class");
    54             output.shouldContain("Resolving: klass: ");
    52             output.shouldContain("Resolving: klass: ");
    55             output.shouldHaveExitValue(0);
    53             output.shouldHaveExitValue(0);
       
    54 
       
    55             pb = ProcessTools.createJavaProcessBuilder("-Xlog:itables=trace", "ItablesVtableTest");
       
    56             output = new OutputAnalyzer(pb.start());
       
    57             output.shouldContain("vtable index ");
       
    58             output.shouldHaveExitValue(0);
    56         }
    59         }
    57     }
    60     }
    58 }
    61 }