/* * Copyright (c) 2008, 2018, 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. */ /* * @test * * @summary converted from VM Testbase jit/inline/inline003. * VM Testbase keywords: [jit, quick] * * @library /vmTestbase * /test/lib * @run driver jdk.test.lib.FileInstaller . . * @build jit.inline.inline003.inline003 * @run driver ExecDriver --java jit.inline.inline003.inline003 */ package jit.inline.inline003; import java.io.ByteArrayOutputStream; import java.io.IOException; import nsk.share.TestFailure; import nsk.share.GoldChecker; class inline003_1 { final protected static int[] inlineClassObj1 = { 1, 2 }; protected static int[] inlineClassObj2 = { 3, 4}; final protected static int[] trash = { 10, 11}; } class inline003 extends inline003_1 { public static final GoldChecker goldChecker = new GoldChecker( "inline003" ); final private static int ITERS=4; private static int pFlag = 0; private static int[] myIters = new int[15]; final private static int[] inlineClassObj3 = { 4, 5 }; private static int[] inlineClassObj4 = { 5, 6 }; final private static int[] inlineObj5 = { 6, 7 }; final private static int[] inlineObj6 = { 7, 8 }; final private static int[] inlineObj7 = { 8, 9 }; final private static int[] inlineObj8 = { 9, 10 }; private Object inlineInstanceObj1 = inline003.inlineObj5; private Object inlineInstanceObj2 = inline003.inlineObj6; private Object inlineInstanceObj3 = inline003.inlineObj7; private Object inlineInstanceObj4 = inline003.inlineObj8; private final static Object MPAT_Const4_fs00() { return null; } private final static Object MPAT_GetStatic4_fsc1() { return inlineClassObj1; } private final static Object MPAT_GetStatic4_fsc2() { return inlineClassObj2; } private final static Object MPAT_GetStatic4_fsc3() { return inlineClassObj3; } private final static Object MPAT_GetStatic4_fsc4() { return inlineClassObj4; } private final Object MPAT_GetStatic4_fnc1() { return inlineClassObj1; } private final Object MPAT_GetStatic4_fnc2() { return inlineClassObj2; } private final Object MPAT_GetStatic4_fnc3() { return inlineClassObj3; } private final Object MPAT_GetStatic4_fnc4() { return inlineClassObj4; } private final Object MPAT_Const4_fn00() { return null; } private final Object MPAT_GetField4_fni1() { return inlineInstanceObj1; } private final Object MPAT_GetField4_fni2() { return inlineInstanceObj2; } private final Object MPAT_GetField4_fni3() { return inlineInstanceObj3; } private final Object MPAT_GetField4_fni4() { return inlineInstanceObj4; } private final Object MPAT_Handle_fi() { return this; } private void runFinals () { int jcount=0; Object locObj = null; if (pFlag==2) inline003.goldChecker.print("MPAT_Const4_fs00"); try { jcount = 0; for (jcount=0; jcount= 1) { baos.reset(); try { for (int i=0; i 0 && args[0].equals("-help")) { inline003.goldChecker.println("usage: java inline003 [-print]"); inline003.goldChecker.check(); return; } pFlag = 1; if (args.length > 0 && args[0].equals("-print")) pFlag = 2; for (int ii=0; ii<15; ii++) myIters[ii]=ITERS; if (pFlag==2) inline003.goldChecker.println("inline003"); /* Give the JIT an initial look at all the methods */ myInline_f.runFinals(); ierr = inline003.result(); if (ierr == 0) { inline003.goldChecker.println("PASSED."); } else { inline003.goldChecker.println("FAILED. (ierr = " + ierr + ")"); } inline003.goldChecker.check(); } }