10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24 /**
25 * @test
26 * @bug 8140650
27 * @summary Method::is_accessor should cover getters and setters for all types
28 * @modules java.base/jdk.internal.misc
29 * @library /testlibrary
30 * @run main/othervm InlineAccessors
31 */
32 import java.lang.invoke.*;
33 import jdk.test.lib.*;
34 import static jdk.test.lib.Asserts.*;
35
36 public class InlineAccessors {
37 public static void main(String[] args) throws Exception {
38 // try some sanity checks first
39 doTest();
40
41 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
42 "-XX:+IgnoreUnrecognizedVMOptions", "-showversion",
43 "-server", "-XX:-TieredCompilation", "-Xbatch", "-Xcomp",
44 "-XX:+PrintCompilation", "-XX:+UnlockDiagnosticVMOptions", "-XX:+PrintInlining",
45 "InlineAccessors$Launcher");
46
47 OutputAnalyzer analyzer = new OutputAnalyzer(pb.start());
48
49 analyzer.shouldHaveExitValue(0);
50
51 // The test is applicable only to C2 (present in Server VM).
52 if (analyzer.getStderr().contains("Server VM")) {
53 analyzer.shouldContain("InlineAccessors::setBool (6 bytes) accessor");
54 analyzer.shouldContain("InlineAccessors::setByte (6 bytes) accessor");
55 analyzer.shouldContain("InlineAccessors::setChar (6 bytes) accessor");
56 analyzer.shouldContain("InlineAccessors::setShort (6 bytes) accessor");
57 analyzer.shouldContain("InlineAccessors::setInt (6 bytes) accessor");
58 analyzer.shouldContain("InlineAccessors::setFloat (6 bytes) accessor");
59 analyzer.shouldContain("InlineAccessors::setLong (6 bytes) accessor");
60 analyzer.shouldContain("InlineAccessors::setDouble (6 bytes) accessor");
61 analyzer.shouldContain("InlineAccessors::setObject (6 bytes) accessor");
62 analyzer.shouldContain("InlineAccessors::setArray (6 bytes) accessor");
63
64 analyzer.shouldContain("InlineAccessors::getBool (5 bytes) accessor");
65 analyzer.shouldContain("InlineAccessors::getByte (5 bytes) accessor");
|
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24 /**
25 * @test
26 * @bug 8140650
27 * @summary Method::is_accessor should cover getters and setters for all types
28 * @modules java.base/jdk.internal.misc
29 * @library /testlibrary
30 *
31 * @run driver compiler.inlining.InlineAccessors
32 */
33
34 package compiler.inlining;
35
36 import jdk.test.lib.OutputAnalyzer;
37 import jdk.test.lib.ProcessTools;
38
39 public class InlineAccessors {
40 public static void main(String[] args) throws Exception {
41 // try some sanity checks first
42 doTest();
43
44 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
45 "-XX:+IgnoreUnrecognizedVMOptions", "-showversion",
46 "-server", "-XX:-TieredCompilation", "-Xbatch", "-Xcomp",
47 "-XX:+PrintCompilation", "-XX:+UnlockDiagnosticVMOptions", "-XX:+PrintInlining",
48 Launcher.class.getName());
49
50 OutputAnalyzer analyzer = new OutputAnalyzer(pb.start());
51
52 analyzer.shouldHaveExitValue(0);
53
54 // The test is applicable only to C2 (present in Server VM).
55 if (analyzer.getStderr().contains("Server VM")) {
56 analyzer.shouldContain("InlineAccessors::setBool (6 bytes) accessor");
57 analyzer.shouldContain("InlineAccessors::setByte (6 bytes) accessor");
58 analyzer.shouldContain("InlineAccessors::setChar (6 bytes) accessor");
59 analyzer.shouldContain("InlineAccessors::setShort (6 bytes) accessor");
60 analyzer.shouldContain("InlineAccessors::setInt (6 bytes) accessor");
61 analyzer.shouldContain("InlineAccessors::setFloat (6 bytes) accessor");
62 analyzer.shouldContain("InlineAccessors::setLong (6 bytes) accessor");
63 analyzer.shouldContain("InlineAccessors::setDouble (6 bytes) accessor");
64 analyzer.shouldContain("InlineAccessors::setObject (6 bytes) accessor");
65 analyzer.shouldContain("InlineAccessors::setArray (6 bytes) accessor");
66
67 analyzer.shouldContain("InlineAccessors::getBool (5 bytes) accessor");
68 analyzer.shouldContain("InlineAccessors::getByte (5 bytes) accessor");
|