1 /*
   2  * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   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
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  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  *
  27  * @summary converted from VM Testbase jit/inline/inline007.
  28  * VM Testbase keywords: [jit, quick]
  29  * VM Testbase readme:
  30  * Inline007 is similar to inline004 in that it tests inlining.
  31  * Inline004 still functions, but is not testing inlining, in
  32  * JDK 1.2e.
  33  *
  34  * @library /vmTestbase
  35  *          /test/lib
  36  * @run driver jdk.test.lib.FileInstaller . .
  37  * @build jit.inline.inline007.inline007
  38  * @run driver ExecDriver --java jit.inline.inline007.inline007
  39  */
  40 
  41 package jit.inline.inline007;
  42 
  43 
  44 import java.io.ByteArrayOutputStream;
  45 import java.io.IOException;
  46 
  47 import nsk.share.TestFailure;
  48 import nsk.share.GoldChecker;
  49 
  50 class inline007_1 {
  51         final protected static int[] inlineObj = { 1, 2 };
  52         protected static int   inlineInt = 3;           /* Not final */
  53 }
  54 
  55 class inline007Sup extends inline007_1 {
  56         private int i1 = 0;
  57         Object obj1 = inline007_1.inlineObj;
  58         Object obj2 = inline007_1.inlineObj;
  59         Object obj3 = inline007_1.inlineObj;
  60 
  61         static int MPAT_Const4_fs_0() {
  62                 return 1;
  63         }
  64         static Object MPAT_Const4_fs_1() {
  65                 return null;
  66         }
  67         static int MPAT_GetStatic4_fs_0() {
  68                 return inlineInt;
  69         }
  70         static Object MPAT_GetStatic4_fs_1() {
  71                 return inlineObj;
  72         }
  73         int MPAT_Const4_fi_0() {
  74                 return 1;
  75         }
  76         Object MPAT_Const4_fi_1() {
  77                 return null;
  78         }
  79         int MPAT_GetField4_fi_0() {
  80                 return i1;
  81         }
  82         Object MPAT_GetField4_fi_1() {
  83                 return obj1;
  84         }
  85         void MPAT_PutField4_fi_0(int ival) {
  86                 i1 = ival;
  87                 return;
  88         }
  89         void MPAT_PutField4_fi_1(Object oval) {
  90                 obj1 = oval;
  91                 return;
  92         }
  93         void MPAT_PutField4Const4_fi() {
  94                 i1 = -1;
  95                 return;
  96         }
  97         int MPAT_GetStatic4_fi_0() {
  98                 return inlineInt;
  99         }
 100         Object MPAT_GetStatic4_fi_1() {
 101                 return inlineObj;
 102         }
 103         Object MPAT_Handle_fi() {
 104                 return this;
 105         }
 106 }
 107 
 108 class inline007Sub extends inline007Sup {
 109         private int i1 = 0;
 110         Object obj1 = inline007_1.inlineObj;
 111         Object obj2 = inline007_1.inlineObj;
 112         Object obj3 = inline007_1.inlineObj;
 113 
 114         static int MPAT_Const4_fs_0() {
 115                 return 1;
 116         }
 117         static Object MPAT_Const4_fs_1() {
 118                 return null;
 119         }
 120         static int MPAT_GetStatic4_fs_0() {
 121                 return inlineInt;
 122         }
 123         static Object MPAT_GetStatic4_fs_1() {
 124                 return inlineObj;
 125         }
 126         int MPAT_Const4_fi_0() {
 127                 return 1;
 128         }
 129         Object MPAT_Const4_fi_1() {
 130                 return null;
 131         }
 132         int MPAT_GetField4_fi_0() {
 133                 return i1;
 134         }
 135         Object MPAT_GetField4_fi_1() {
 136                 return obj1;
 137         }
 138         void MPAT_PutField4_fi_0(int ival) {
 139                 i1 = ival;
 140                 return;
 141         }
 142         void MPAT_PutField4_fi_1(Object oval) {
 143                 obj1 = oval;
 144                 return;
 145         }
 146         void MPAT_PutField4Const4_fi() {
 147                 i1 = -1;
 148                 return;
 149         }
 150         int MPAT_GetStatic4_fi_0() {
 151                 return inlineInt;
 152         }
 153         Object MPAT_GetStatic4_fi_1() {
 154                 return inlineObj;
 155         }
 156         Object MPAT_Handle_fi() {
 157                 return this;
 158         }
 159 }
 160 
 161 class inline007 extends inline007_1 {
 162         public static final GoldChecker goldChecker = new GoldChecker( "inline007" );
 163 
 164         static int[] myIters = new int[14];
 165         static int[] errFlag = new int[14];
 166         static int pFlag = 0;
 167         final static int ITERS=5;
 168         int intTarg1 = 0;
 169         int intTarg2 = 0;
 170         Object objTarg1 = null;
 171         Object objTarg2 = null;
 172         inline007Sub inline007sub = new inline007Sub();
 173         inline007Sup inline007sup = inline007sub;
 174 
 175         private void runFinals () {
 176                 int jcount = 0;
 177                 int icount = 0;
 178 
 179                 if (pFlag==2) inline007.goldChecker.print("MPAT_Const4_fs_0");
 180                 try {
 181                         for (jcount=0; jcount<ITERS; jcount++) {
 182                                 intTarg1 = inline007Sub.MPAT_Const4_fs_0();
 183                                 intTarg2 = inline007Sup.MPAT_Const4_fs_0();
 184                                 if (intTarg1 != intTarg2) errFlag[icount]++;
 185                         }
 186                 } catch (Exception e) {
 187                         if (pFlag==2) inline007.goldChecker.print(": iteration="+(jcount+1)+": "+e);
 188                 } finally {
 189                         myIters[icount] = jcount;
 190                         if (jcount != ITERS) errFlag[icount]++;
 191                         if (pFlag==2) inline007.goldChecker.println();
 192                 }
 193                 icount++;
 194 
 195                 if (pFlag==2) inline007.goldChecker.print("MPAT_Const4_fs_1");
 196                 try {
 197                         for (jcount=0; jcount<ITERS; jcount++) {
 198                                 objTarg2 = inline007Sub.MPAT_Const4_fs_1();
 199                                 objTarg1 = inline007Sup.MPAT_Const4_fs_1();
 200                                 if (objTarg2 != objTarg1) errFlag[icount]++;
 201                         }
 202                 } catch (Exception e) {
 203                         if (pFlag==2) inline007.goldChecker.print(": iteration="+(jcount+1)+": "+e);
 204                 } finally {
 205                         myIters[icount] = jcount;
 206                         if (jcount != ITERS) errFlag[icount]++;
 207                         if (pFlag==2) inline007.goldChecker.println();
 208                 }
 209                 icount++;
 210 
 211 
 212                 if (pFlag==2) inline007.goldChecker.print("MPAT_GetStatic4_fs_0");
 213                 try {
 214                         for (jcount=0; jcount<ITERS; jcount++) {
 215                                 intTarg2 = inline007Sub.MPAT_GetStatic4_fs_0();
 216                                 intTarg1 = inline007Sup.MPAT_GetStatic4_fs_0();
 217                                 if (intTarg1 != intTarg2) errFlag[icount]++;
 218                         }
 219                 } catch (Exception e) {
 220                         if (pFlag==2) inline007.goldChecker.print(": iteration="+(jcount+1)+": "+e);
 221                 } finally {
 222                         myIters[icount] = jcount;
 223                         if (jcount != ITERS) errFlag[icount]++;
 224                         if (pFlag==2) inline007.goldChecker.println();
 225                 }
 226                 icount++;
 227 
 228 
 229                 if (pFlag==2) inline007.goldChecker.print("MPAT_GetStatic4_fs_1");
 230                 try {
 231                         for (jcount=0; jcount<ITERS; jcount++) {
 232                                 objTarg2 = inline007Sub.MPAT_GetStatic4_fs_1();
 233                                 objTarg1 = inline007Sup.MPAT_GetStatic4_fs_1();
 234                                 if (objTarg1 != objTarg2) errFlag[icount]++;
 235                         }
 236                 } catch (Exception e) {
 237                         if (pFlag==2) inline007.goldChecker.print(": iteration="+(jcount+1)+": "+e);
 238                 } finally {
 239                         myIters[icount] = jcount;
 240                         if (jcount != ITERS) errFlag[icount]++;
 241                         if (pFlag==2) inline007.goldChecker.println();
 242                 }
 243                 icount++;
 244 
 245 
 246                 /* Check inlining of instance methods */
 247                 if (pFlag==2) inline007.goldChecker.print("MPAT_Const4_fi_0");
 248                 try {
 249                         for (jcount=0; jcount<ITERS; jcount++) {
 250                                 intTarg1 = inline007sub.MPAT_Const4_fi_0();
 251                                 intTarg2 = inline007sup.MPAT_Const4_fi_0();
 252                                 if (intTarg1 != intTarg2) errFlag[icount]++;
 253                         }
 254                 } catch (Exception e) {
 255                         if (pFlag==2) inline007.goldChecker.print(": iteration="+(jcount+1)+": "+e);
 256                 } finally {
 257                         myIters[icount] = jcount;
 258                         if (jcount != ITERS) errFlag[icount]++;
 259                         if (pFlag==2) inline007.goldChecker.println();
 260                 }
 261                 icount++;
 262 
 263                 if (pFlag==2) inline007.goldChecker.print("MPAT_Const4_fi_1");
 264                 try {
 265                         for (jcount=0; jcount<ITERS; jcount++) {
 266                                 objTarg1 = inline007sub.MPAT_Const4_fi_1();
 267                                 objTarg2 = inline007sup.MPAT_Const4_fi_1();
 268                                 if (objTarg1 != objTarg2) errFlag[icount]++;
 269                         }
 270                 } catch (Exception e) {
 271                         if (pFlag==2) inline007.goldChecker.print(": iteration="+(jcount+1)+": "+e);
 272                 } finally {
 273                         myIters[icount] = jcount;
 274                         if (jcount != ITERS) errFlag[icount]++;
 275                         if (pFlag==2) inline007.goldChecker.println();
 276                 }
 277                 icount++;
 278 
 279                 if (pFlag==2) inline007.goldChecker.print("MPAT_GetStatic4_fi_0");
 280                 try {
 281                         for (jcount=0; jcount<ITERS; jcount++) {
 282                                 intTarg2 = inline007sub.MPAT_GetStatic4_fi_0();
 283                                 intTarg1 = inline007sup.MPAT_GetStatic4_fi_0();
 284                                 if (intTarg1 != intTarg2) errFlag[icount]++;
 285                         }
 286                 } catch (Exception e) {
 287                         if (pFlag==2) inline007.goldChecker.print(": iteration="+(jcount+1)+": "+e);
 288                 } finally {
 289                         myIters[icount] = jcount;
 290                         if (jcount != ITERS) errFlag[icount]++;
 291                         if (pFlag==2) inline007.goldChecker.println();
 292                 }
 293                 if (pFlag==2) inline007.goldChecker.print("MPAT_GetStatic4_fi_1");
 294                 try {
 295                         for (jcount=0; jcount<ITERS; jcount++) {
 296                                 objTarg2 = inline007sub.MPAT_GetStatic4_fi_1();
 297                                 objTarg1 = inline007sup.MPAT_GetStatic4_fi_1();
 298                                 if (objTarg1 != objTarg2) errFlag[icount]++;
 299                         }
 300                 } catch (Exception e) {
 301                         if (pFlag==2) inline007.goldChecker.print(": iteration="+(jcount+1)+": "+e);
 302                 } finally {
 303                         myIters[icount] = jcount;
 304                         if (jcount != ITERS) errFlag[icount]++;
 305                         if (pFlag==2) inline007.goldChecker.println();
 306                 }
 307                 icount++;
 308 
 309                 if (pFlag==2) inline007.goldChecker.print("MPAT_GetField4_fi_0");
 310                 try {
 311                         for (jcount=0; jcount<ITERS; jcount++) {
 312                                 intTarg1 = inline007sub.MPAT_GetField4_fi_0();
 313                                 intTarg2 = inline007sup.MPAT_GetField4_fi_0();
 314                                 if (intTarg1 != intTarg2) errFlag[icount]++;
 315                         }
 316                 } catch (Exception e) {
 317                         if (pFlag==2) inline007.goldChecker.print(": iteration="+(jcount+1)+": "+e);
 318                 } finally {
 319                         myIters[icount] = jcount;
 320                         if (jcount != ITERS) errFlag[icount]++;
 321                         if (pFlag==2) inline007.goldChecker.println();
 322                 }
 323                 icount++;
 324 
 325                 if (pFlag==2) inline007.goldChecker.print("MPAT_GetField4_fi_1");
 326                 try {
 327                         for (jcount=0; jcount<ITERS; jcount++) {
 328                                 objTarg2 = inline007sub.MPAT_GetField4_fi_1();
 329                                 objTarg1 = inline007sup.MPAT_GetField4_fi_1();
 330                                 if (objTarg1 != objTarg2) errFlag[icount]++;
 331                         }
 332                 } catch (Exception e) {
 333                         if (pFlag==2) inline007.goldChecker.print(": iteration="+(jcount+1)+": "+e);
 334                 } finally {
 335                         myIters[icount] = jcount;
 336                         if (jcount != ITERS) errFlag[icount]++;
 337                         if (pFlag==2) inline007.goldChecker.println();
 338                 }
 339                 icount++;
 340 
 341                 if (pFlag==2) inline007.goldChecker.print("MPAT_PutField4_fi_0");
 342                 try {
 343                         for (jcount=0; jcount<ITERS; jcount++) {
 344                                 inline007sub.MPAT_PutField4_fi_0(10);
 345                                 intTarg1 = inline007sup.MPAT_GetField4_fi_0();
 346                                 if (intTarg1 != 10) errFlag[icount]++;
 347                         }
 348                 } catch (Exception e) {
 349                         if (pFlag==2) inline007.goldChecker.print(": iteration="+(jcount+1)+": "+e);
 350                 } finally {
 351                         myIters[icount] = jcount;
 352                         if (jcount != ITERS) errFlag[icount]++;
 353                         if (pFlag==2) inline007.goldChecker.println();
 354                 }
 355                 icount++;
 356 
 357                 if (pFlag==2) inline007.goldChecker.print("MPAT_PutField4_fi_1");
 358                 try {
 359                         for (jcount=0; jcount<ITERS; jcount++) {
 360                                 inline007sub.MPAT_PutField4_fi_1("String1");
 361                                 objTarg1 = inline007sub.MPAT_GetField4_fi_1();
 362                                 if (objTarg1 != "String1") errFlag[icount]++;
 363                         }
 364                 } catch (Exception e) {
 365                         if (pFlag==2) inline007.goldChecker.print(": iteration="+(jcount+1)+": "+e);
 366                 } finally {
 367                         myIters[icount] = jcount;
 368                         if (jcount != ITERS) errFlag[icount]++;
 369                         if (pFlag==2) inline007.goldChecker.println();
 370                 }
 371                 icount++;
 372 
 373                 if (pFlag==2) inline007.goldChecker.print("MPAT_PutField4Const4_fi");
 374                 try {
 375                         for (jcount=0; jcount<ITERS; jcount++) {
 376                                 inline007sub.MPAT_PutField4Const4_fi();
 377                                 intTarg2 = inline007sup.MPAT_GetField4_fi_0();
 378                                 if (intTarg2 != -1) errFlag[icount]++;
 379                         }
 380                 } catch (Exception e) {
 381                         if (pFlag==2) inline007.goldChecker.print(": iteration="+(jcount+1)+": "+e);
 382                 } finally {
 383                         myIters[icount] = jcount;
 384                         if (pFlag==2) inline007.goldChecker.println();
 385                 }
 386                 icount++;
 387 
 388                 if (pFlag==2) inline007.goldChecker.print("MPAT_Handle_fi");
 389                 try {
 390                         for (jcount=0; jcount<ITERS; jcount++) {
 391                                 objTarg1 = inline007sub.MPAT_Handle_fi();
 392                                 objTarg2 = inline007sup.MPAT_Handle_fi();
 393                         }
 394                 } catch (Exception e) {
 395                         if (pFlag==2) inline007.goldChecker.print(": iteration="+(jcount+1)+": "+e);
 396                 } finally {
 397                         myIters[icount] = jcount;
 398                         if (jcount != ITERS) errFlag[icount]++;
 399                         if (pFlag==2) inline007.goldChecker.println();
 400                 }
 401                 icount++;
 402         }
 403 
 404 
 405         public static int result() {
 406                 int ierr = 0;
 407                 String state = null;
 408                 ByteArrayOutputStream baos = new ByteArrayOutputStream(80);
 409                 byte[] ba = new byte[80];
 410                 String s = null;
 411 
 412                 String[] label = new String[14];
 413                 label[0]  = new String("Const4 class method (int)       ");
 414                 label[1]  = new String("Const4 class method (ref)       ");
 415                 label[2]  = new String("GetStatic4 class method (int)   ");
 416                 label[3]  = new String("GetStatic4 class method (ref)   ");
 417                 label[4]  = new String("Const4 instance method (int)    ");
 418                 label[5]  = new String("Const4 instance method (ref)    ");
 419                 label[6]  = new String("GetStatic4 instance method (int)");
 420                 label[7]  = new String("GetStatic4 instance method (ref)");
 421                 label[8] = new String("GetField4 instance method (int) ");
 422                 label[9] = new String("GetField4 instance method (ref) ");
 423                 label[10] = new String("PutField4 instance method (int) ");
 424                 label[11] = new String("PutField4 instance method (ref) ");
 425                 label[12] = new String("PutField4Const4 instance method ");
 426                 label[13] = new String("Handle instance method          ");
 427                                                                 // Report headers
 428                 baos.reset();
 429                 try {
 430                         for (int i=0; i<ba.length; i++) ba[i]=(byte)' ';
 431                         s = "Pattern";
 432                         for (int i=0; i<s.length(); i++)
 433                                 ba[i]=(byte)s.charAt(i);
 434                         baos.write(ba,0,32);
 435                 }
 436                 catch (IndexOutOfBoundsException e){
 437                 }
 438                 try {
 439                         for (int i=0; i<ba.length; i++) ba[i]=(byte)' ';
 440                         baos.write(ba,0,3);
 441                         s = "Errors";
 442                         for (int i=0; i<s.length(); i++)
 443                                 ba[i]=(byte)s.charAt(i);
 444                         baos.write(ba,0,6);
 445                 }
 446                 catch (IndexOutOfBoundsException e){
 447                 }
 448                 try {
 449                         for (int i=0; i<ba.length; i++) ba[i]=(byte)' ';
 450                         baos.write(ba,0,3);
 451                         s = "Iterations";
 452                         for (int i=0; i<s.length(); i++)
 453                                 ba[i]=(byte)s.charAt(i);
 454                         baos.write(ba,0,10);
 455                 }
 456                 catch (IndexOutOfBoundsException e){
 457                 }
 458                 try {
 459                         for (int i=0; i<ba.length; i++) ba[i]=(byte)' ';
 460                         baos.write(ba,0,3);
 461                         s = "State";
 462                         for (int i=0; i<s.length(); i++)
 463                                 ba[i]=(byte)s.charAt(i);
 464                         baos.write(ba,0,5);
 465                 }
 466                 catch (IndexOutOfBoundsException e){
 467                 }
 468                 inline007.goldChecker.print(baos.toString());
 469                 inline007.goldChecker.println();
 470 
 471                                                                 // Report header underlining
 472                 baos.reset();
 473                 try {
 474                         for (int i=0; i<ba.length; i++) ba[i]=(byte)' ';
 475                         s = "Pattern";
 476                         for (int i=0; i<s.length(); i++)
 477                                 ba[i]=(byte)'=';
 478                         baos.write(ba,0,32);
 479                 }
 480                 catch (IndexOutOfBoundsException e){
 481                 }
 482                 try {
 483                         for (int i=0; i<ba.length; i++) ba[i]=(byte)' ';
 484                         baos.write(ba,0,3);
 485                         s = "Errors";
 486                         for (int i=0; i<s.length(); i++)
 487                                 ba[i]=(byte)'=';
 488                         baos.write(ba,0,6);
 489                 }
 490                 catch (IndexOutOfBoundsException e){
 491                 }
 492                 try {
 493                         for (int i=0; i<ba.length; i++) ba[i]=(byte)' ';
 494                         baos.write(ba,0,3);
 495                         s = "Iterations";
 496                         for (int i=0; i<s.length(); i++)
 497                                 ba[i]=(byte)'=';
 498                         baos.write(ba,0,10);
 499                 }
 500                 catch (IndexOutOfBoundsException e){
 501                 }
 502                 try {
 503                         for (int i=0; i<ba.length; i++) ba[i]=(byte)' ';
 504                         baos.write(ba,0,3);
 505                         s = "State";
 506                         for (int i=0; i<s.length(); i++)
 507                                 ba[i]=(byte)'=';
 508                         baos.write(ba,0,5);
 509                 }
 510                 catch (IndexOutOfBoundsException e){
 511                 }
 512                 inline007.goldChecker.print(baos.toString());
 513                 inline007.goldChecker.println();
 514 
 515                 for (int icount=0; icount<14; icount++) {
 516                         if (myIters[icount] == ITERS && errFlag[icount] == 0)
 517                                 state="PASS";
 518                         else {
 519                                 ierr++;
 520                                 state="FAIL";
 521                         }
 522                         baos.reset();
 523                         try {
 524                                 for (int i=0; i<ba.length; i++) ba[i]=(byte)' ';
 525                                 for (int i=0; i<label[icount].length(); i++)
 526                                         ba[i]=(byte)label[icount].charAt(i);
 527                                 baos.write(ba,0,32);
 528                         }
 529                         catch (IndexOutOfBoundsException e){
 530                                 inline007.goldChecker.println("0: "+e);
 531                         }
 532                         try {
 533                                 for (int i=0; i<ba.length; i++) ba[i]=(byte)' ';
 534                                 baos.write(ba,0,3);
 535                                 s = Integer.toString(errFlag[icount]);
 536                                 for (int i=0; i<s.length(); i++)
 537                                         ba[i]=(byte)s.charAt(i);
 538                                 baos.write(ba,0,6);
 539                         }
 540                         catch (IndexOutOfBoundsException e){
 541                                 inline007.goldChecker.println("1: "+e);
 542                         }
 543                         try {
 544                                 for (int i=0; i<ba.length; i++) ba[i]=(byte)' ';
 545                                 baos.write(ba,0,3);
 546                                 s = Integer.toString(myIters[icount]);
 547                                 for (int i=0; i<s.length(); i++)
 548                                         ba[i]=(byte)s.charAt(i);
 549                                 baos.write(ba,0,10);
 550                         }
 551                         catch (IndexOutOfBoundsException e){
 552                                 inline007.goldChecker.println("1: "+e);
 553                         }
 554                         try {
 555                                 for (int i=0; i<ba.length; i++) ba[i]=(byte)' ';
 556                                 baos.write(ba,0,3);
 557                                 for (int i=0; i<state.length(); i++)
 558                                         ba[i]=(byte)state.charAt(i);
 559                                 baos.write(ba,0,5);
 560                         }
 561                         catch (IndexOutOfBoundsException e){
 562                                 inline007.goldChecker.println("3: "+e);
 563                         }
 564                         inline007.goldChecker.print(baos.toString());
 565                         inline007.goldChecker.println();
 566                 }
 567                 return ierr;
 568         }
 569 
 570         public static void main( String args[] ) {
 571                 int ierr;
 572                 inline007 myInline_n = new inline007();
 573                 inline007 myInline_f = new inline007();
 574 
 575                 if (args.length > 0 && args[0].equals("-help")) {
 576                         inline007.goldChecker.println("usage: java inline007 [-print | -report]");
 577                         inline007.goldChecker.check();
 578                         return;
 579                 }
 580                 if (args.length > 0 && args[0].equals("-print"))
 581                         pFlag = 2;
 582                 if (args.length > 0 && args[0].equals("-report"))
 583                         pFlag = 1;
 584                 for (int ii=0; ii<14; ii++) myIters[ii]=ITERS;
 585                 if (pFlag==2) inline007.goldChecker.println("inline007");
 586 
 587                                 /* Give the JIT an initial look at all the methods */
 588                 myInline_f.runFinals();
 589                 ierr = inline007.result();
 590                 if (ierr == 0) {
 591                         inline007.goldChecker.println("PASSED.");
 592                 }
 593                 else {
 594                         inline007.goldChecker.println("FAILED. (ierr = " + ierr + ")");
 595                 }
 596                 inline007.goldChecker.check();
 597         }
 598 }