test/compiler/6714694/Tester.java

Mon, 28 Jul 2014 15:06:38 -0700

author
fzhinkin
date
Mon, 28 Jul 2014 15:06:38 -0700
changeset 6997
dbb05f6d93c4
parent 1907
c18cbe5936b8
child 6876
710a3c8b516e
permissions
-rw-r--r--

8051344: JVM crashed in Compile::start() during method parsing w/ UseRTMDeopt turned on
Summary: call rtm_deopt() only if there were no compilation bailouts before.
Reviewed-by: kvn

     1 /*
     2  * Copyright (c) 2008, 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  */
    24 /*
    25  * @test
    26  * @bug 6714694
    27  * @summary assertion in 64bit server vm (store->find_edge(load) != -1,"missing precedence edge") with COOPs
    28  * @run main/othervm -Xcomp Tester
    29  */
    31 /* Complexity upper bound: 38602 ops */
    33 interface Tester_Interface_0 {
    34 }
    37 abstract class Tester_Class_1 implements Tester_Interface_0 {
    38     static int var_1 = (false ? (short)'b' : (short)-2.4256387E38F) | (byte)('g' * -7.660532860983624E307);
    39     float var_2;
    40     byte var_3;
    41     static boolean var_4 = true;
    42     double var_5 = 8.818325751338691E307;
    43     Object var_6;
    44     static short var_7;
    45     final static char var_8 = 'x';
    46     final static float var_9 = 2.2030989E38F;
    49     public Tester_Class_1()
    50     {
    51         var_6 = (var_6 = (var_6 = "xkx"));
    52         switch (var_7 = (var_3 = (byte)var_5))
    53         {
    54             case 113:
    56             case 114:
    57                 Object var_12;
    58                 var_4 = 4.9121917E37F < 1957795258;
    59                 var_4 |= (var_4 ^= !var_4) ^ (var_4 |= var_4);
    60                 var_3 = (var_3 = (var_3 = (byte)+6010964363045275648L));
    61                 break;
    63             case 102:
    65         }
    66         final float var_13 = 1.2443151E38F;
    67         var_3 = (byte)(var_1 |= (var_7 = (var_3 = (byte)var_5)));
    68         var_2 = (long)(var_7 = (var_3 = (byte)var_8)) - (var_7 = (byte)386742565);
    69         var_4 &= var_4;
    70         var_2 = (long)((var_3 = (var_3 = (byte)var_8)) / ((var_4 ^= (var_5 /= var_9) <= (var_1 &= var_1)) ? (var_7 = (short)6872886933545336832L) : (byte)var_8));
    71         var_6 = "uqflj";
    72         {
    73             switch (((new String[var_3 = (byte)var_5])[var_3 = (byte)8097442298927900672L]).charAt(1540148550))
    74             {
    75                 case 'l':
    77             }
    78             var_2 = (var_7 = (byte)2.9859440663042714E307);
    79             {
    80                 Object var_14;
    81             }
    82             var_3 = (var_3 = (var_3 = (byte)3.3634427195550136E307));
    83             var_5 += '_';
    84         }
    85         var_6 = "tempfdjen";
    86         var_3 = (((var_4 ^= new String("jmwiwmk").endsWith("rtlstmnuo")) ? !true : !false) ? true : (var_4 = false)) ? (var_3 = (byte)var_5) : (var_3 = (var_3 = (byte)var_5));
    87         var_4 ^= false;
    88         if (1.6435436003809043E307 != var_9)
    89         {
    90             boolean var_15 = true;
    91         }
    92         else
    93         {
    94             var_4 = false;
    95         }
    96         {
    97             Object var_16 = ((new Tester_Class_1[(byte)71832757][(byte)1.0694914E38F])[(byte)1315653071][(byte)(var_7 = (var_7 = (byte)var_8))]).var_6 = new int[(byte)var_8][var_3 = (byte)1933656747];
    98         }
    99         var_7 = (var_4 = var_4) ? (short)2.756967E37F : (short)'K';
   100         byte var_17;
   101     }
   105     abstract public Tester_Interface_0 func_0(double[][] arg_0, final Object arg_1);
   108     final double func_0(final float arg_0, final short arg_1, final boolean arg_2)
   109     {
   110         var_6 = (var_6 = "lmshbl");
   111         var_3 = (var_3 = (new byte[(new byte[(byte)arg_1])[var_3 = (byte)arg_0]])[var_3 = (var_3 = (byte)(var_1 >>>= var_1))]);
   112         var_5 %= (var_3 = (byte)1909375874);
   113         var_1 /= (char)(short)'i';
   114         {
   115             "vgar".length();
   116         }
   117         int var_10;
   118         {
   119             var_3 = (var_4 &= true) ? (byte)(var_5 *= 6375499657746206720L) : (byte)+ (var_5 /= var_9);
   120             var_7 = (var_4 = true) ? (byte)(false ? (short)749593632 : (byte)8.692758043260743E307) : (byte)var_1;
   121             ((new Tester_Class_1[(byte)1.2890904018345944E308])[(byte)var_1]).var_3 = (var_3 = (byte)arg_0);
   122             var_4 = true ^ var_4;
   123         }
   124         {
   125             var_1 ^= (var_3 = (var_3 = (var_3 = (byte)'U')));
   126         }
   127         var_3 = (var_3 = (var_3 = (var_3 = (byte)arg_1)));
   128         char var_11;
   129         var_1 += (var_2 = (var_7 = arg_1));
   130         {
   131             var_7 = (var_7 = arg_1);
   132         }
   133         var_7 = arg_1;
   134         var_6 = (new char[(byte)1985094111797788672L][var_3 = (byte)3112604683090268160L])[var_3 = (byte)~ (var_3 = (byte)(var_5 += var_1))];
   135         var_3 = (var_3 = (var_3 = (var_3 = (byte)3694858000202921984L)));
   136         var_1 /= ~ ((byte)1311538336);
   137         (((var_4 |= arg_2 ? !true && arg_2 : false) ? arg_2 : arg_2) ? "iih".substring(~ (var_3 = (byte)3.5401308E37F), 'g' * arg_1) : "gynskmvoj").trim();
   138         var_3 = (var_3 = arg_2 ? (byte)+ ~5247392660383928320L : (byte)8392160279007184896L);
   139         var_3 = (var_3 = (var_3 = (byte)var_8));
   140         return (var_5 += 7.157559E37F) + (var_11 = 'V');
   141     }
   143     public String toString()
   144     {
   145         String result =  "[\n";
   146         result += "Tester_Class_1.var_7 = "; result += Tester.Printer.print(var_7);
   147         result += "\n";
   148         result += "Tester_Class_1.var_3 = "; result += Tester.Printer.print(var_3);
   149         result += "\n";
   150         result += "Tester_Class_1.var_8 = "; result += Tester.Printer.print(var_8);
   151         result += "\n";
   152         result += "Tester_Class_1.var_1 = "; result += Tester.Printer.print(var_1);
   153         result += "\n";
   154         result += "Tester_Class_1.var_4 = "; result += Tester.Printer.print(var_4);
   155         result += "\n";
   156         result += "Tester_Class_1.var_5 = "; result += Tester.Printer.print(var_5);
   157         result += "\n";
   158         result += "Tester_Class_1.var_2 = "; result += Tester.Printer.print(var_2);
   159         result += "\n";
   160         result += "Tester_Class_1.var_9 = "; result += Tester.Printer.print(var_9);
   161         result += "\n";
   162         result += "Tester_Class_1.var_6 = "; result += Tester.Printer.print(var_6);
   163         result += "";
   164         result += "\n]";
   165         return result;
   166     }
   167 }
   170 class Tester_Class_2 extends Tester_Class_1 implements Tester_Interface_0 {
   171     final static String var_18 = false | Tester_Class_1.var_4 | (Tester_Class_1.var_4 &= (Tester_Class_1.var_4 |= (Tester_Class_1.var_4 = var_4))) ? "tbobyhqne" : "";
   172     static String var_19 = "acxfj";
   175     public Tester_Class_2()
   176     {
   177         Tester_Class_1.var_4 = !Tester_Class_1.var_4;
   178         var_1++;
   179         var_2 = (byte)2.4009747E38F;
   180         new String();
   181         var_6 = (var_19 = "hsshyw");
   182         var_19 = var_19;
   183     }
   186     public Tester_Interface_0 func_0(double[][] arg_0, final Object arg_1)
   187     {
   188         var_5 = 4.0352057E37F;
   189         (((false && ! ((Tester_Class_1.var_4 |= !true) ^ (Tester_Class_1.var_4 ^ false))) ^ (var_4 &= true) ? var_4 : (var_4 ^= true)) ? "spskwj" : "xcqianm").length();
   190         ((var_4 |= (Tester_Class_1.var_4 ^= Tester_Class_1.var_4) ? (Tester_Class_1.var_4 &= false) : (Tester_Class_1.var_4 |= Tester_Class_1.var_4)) ? (Tester_Class_1)(var_6 = new double[(byte)6.628342687109622E307]) : (Tester_Class_1)arg_1).var_6 = arg_0;
   191         var_7 = (short)(byte)(short)8775325134193811456L;
   192         var_4 ^= (var_4 &= !false);
   193         ((Tester_Class_1)arg_1).var_3 = (var_3 = (byte)(var_5 %= 8.933448E37F));
   194         Tester_Class_1 var_20 = Tester_Class_1.var_4 ? (Tester_Class_1)arg_1 : (Tester_Class_1)arg_1;
   195         {
   196             var_19.endsWith(var_19);
   197             var_6 = var_20;
   198             (var_20 = (var_20 = var_20)).var_2 = (short)('p' <= 1986176769 % (int)2242661265280256000L % 2664882044098145280L ? ~ (var_3 = (byte)1.1892553447967157E308) & ~1806805036550279168L : (var_7 = (byte)var_8));
   199         }
   200         final boolean var_21 = Tester_Class_1.var_4;
   201         var_20.var_3 = (var_3 = (var_20.var_3 = (byte)'t'));
   202         boolean var_22 = true;
   203         Tester_Class_1.var_4 |= (var_4 = var_21);
   204         var_19 = "ocn";
   205         var_19 = var_19;
   206         var_1 *= Tester_Class_1.var_8;
   207         var_20 = var_22 ? var_20 : var_20;
   208         var_7 = var_21 ? (byte)+ ((byte)var_1) : ((var_20 = (var_20 = var_20)).var_3 = (var_3 = (var_3 = (byte)'L')));
   209         return true ? (var_20 = var_20) : (new Tester_Interface_0[(byte)5618282952859970560L])[var_3 = (byte)Tester_Class_1.var_8];
   210     }
   213     public boolean equals(Object obj)
   214     {
   215         Tester_Class_1.var_7 = (var_7 = (((Tester_Class_1)obj).var_3 = (byte)var_9));
   216         {
   217             final Tester_Class_1 var_23 = (Tester_Class_1)obj;
   218         }
   219         ++Tester_Class_1.var_1;
   220         var_5 = (Tester_Class_1.var_7 = var_4 ? (Tester_Class_1.var_7 = (((Tester_Class_1)obj).var_3 = (byte)Tester_Class_1.var_8)) : (var_7 = (byte)var_9));
   221         ((Tester_Class_1)obj).var_6 = var_18.replace(Tester_Class_1.var_8, Tester_Class_1.var_8);
   222         ((new Tester_Class_1[((Tester_Class_1)(obj = new char[var_3 = (byte)Tester_Class_1.var_8])).var_3 = (((Tester_Class_1)obj).var_3 = (byte)(var_1 %= 787509251458841600L))])[(new byte[var_3 = (byte)Tester_Class_1.var_1])[((Tester_Class_1)obj).var_3 = (byte)1.2382548E38F]]).var_3 = (((Tester_Class_1)obj).var_3 = var_4 ? (byte)Tester_Class_1.var_8 : (byte)4.1085164E36F);
   223         var_1 &= var_8;
   224         var_7 = var_4 ? (var_3 = (byte)var_8) : (byte)var_5;
   225         var_19 = var_18;
   226         ("o".compareTo("kwlfk") > (var_2 = 5289241662482067456L) ? (Tester_Class_1)obj : (Tester_Class_1)obj).var_5 -= (((Tester_Class_1)obj).var_3 = (((Tester_Class_1)obj).var_3 = (((Tester_Class_1)obj).var_3 = (byte)var_9)));
   227         return true;
   228     }
   231     public String toString()
   232     {
   233         String result =  "[\n";
   234         result += "Tester_Class_2.var_7 = "; result += Tester.Printer.print(var_7);
   235         result += "\n";
   236         result += "Tester_Class_2.var_8 = "; result += Tester.Printer.print(var_8);
   237         result += "\n";
   238         result += "Tester_Class_2.var_3 = "; result += Tester.Printer.print(var_3);
   239         result += "\n";
   240         result += "Tester_Class_2.var_18 = "; result += Tester.Printer.print(var_18);
   241         result += "\n";
   242         result += "Tester_Class_2.var_19 = "; result += Tester.Printer.print(var_19);
   243         result += "\n";
   244         result += "Tester_Class_2.var_1 = "; result += Tester.Printer.print(var_1);
   245         result += "\n";
   246         result += "Tester_Class_2.var_4 = "; result += Tester.Printer.print(var_4);
   247         result += "\n";
   248         result += "Tester_Class_2.var_5 = "; result += Tester.Printer.print(var_5);
   249         result += "\n";
   250         result += "Tester_Class_2.var_2 = "; result += Tester.Printer.print(var_2);
   251         result += "\n";
   252         result += "Tester_Class_2.var_9 = "; result += Tester.Printer.print(var_9);
   253         result += "\n";
   254         result += "Tester_Class_2.var_6 = "; result += Tester.Printer.print(var_6);
   255         result += "";
   256         result += "\n]";
   257         return result;
   258     }
   259 }
   262 class Tester_Class_3 extends Tester_Class_2 implements Tester_Interface_0 {
   263     long var_24 = 9026266006808413184L;
   264     char var_25;
   265     String var_26 = ((var_4 ^= Tester_Class_1.var_4) ? (!true ? false : (var_4 |= true)) : (Tester_Class_2.var_4 ^= var_4)) ? "dkmhvhl" : (var_19 = (Tester_Class_2.var_19 = (Tester_Class_2.var_19 = var_18)));
   266     static Tester_Class_2 var_27;
   267     short var_28 = Tester_Class_2.var_7 = (short)(Tester_Class_2.var_1 &= (var_3 = (var_3 = (var_3 = (byte)Tester_Class_2.var_9))));
   268     static boolean var_29 = false;
   269     static Object[][] var_30;
   270     int var_31 = 750583762;
   271     Tester_Class_2 var_32;
   272     final static long var_33 = 3050784555932008448L;
   275     public Tester_Class_3()
   276     {
   277         byte[] var_34;
   278         var_4 &= (Tester_Class_1.var_4 = true);
   279         Tester_Class_1.var_1--;
   280         switch (var_28 >>= ~ ((byte)var_28))
   281         {
   282             case 9:
   284             case 26:
   285                 Tester_Class_1.var_4 ^= Tester_Class_1.var_4;
   286                 (Tester_Class_2.var_19 = "pwtic").indexOf(Tester_Class_2.var_18);
   287                 var_26.indexOf(var_19);
   288                 ((Tester_Class_1)(new Tester_Interface_0[(byte)var_5])[var_24 <= var_31 ? (byte)'^' : (byte)var_24]).var_2 = 5611775846881101824L;
   289                 var_29 |= (Tester_Class_2.var_4 ^= var_29);
   290                 Tester_Class_2 var_35;
   291                 var_24 <<= (var_31 >>= (var_25 = var_8));
   292                 break;
   294             case 28:
   296         }
   297         new String();
   298         var_5 %= (var_25 = 'n');
   299         ((Tester_Class_2)(Tester_Class_1)(((Tester_Class_1)(var_6 = Tester_Class_2.var_18)).var_6 = (var_26 = ""))).var_2 = var_31;
   300         --var_1;
   301     }
   306     public String toString()
   307     {
   308         String result =  "[\n";
   309         result += "Tester_Class_3.var_8 = "; result += Tester.Printer.print(var_8);
   310         result += "\n";
   311         result += "Tester_Class_3.var_25 = "; result += Tester.Printer.print(var_25);
   312         result += "\n";
   313         result += "Tester_Class_3.var_1 = "; result += Tester.Printer.print(var_1);
   314         result += "\n";
   315         result += "Tester_Class_3.var_31 = "; result += Tester.Printer.print(var_31);
   316         result += "\n";
   317         result += "Tester_Class_3.var_30 = "; result += Tester.Printer.print(var_30);
   318         result += "\n";
   319         result += "Tester_Class_3.var_24 = "; result += Tester.Printer.print(var_24);
   320         result += "\n";
   321         result += "Tester_Class_3.var_33 = "; result += Tester.Printer.print(var_33);
   322         result += "\n";
   323         result += "Tester_Class_3.var_5 = "; result += Tester.Printer.print(var_5);
   324         result += "\n";
   325         result += "Tester_Class_3.var_2 = "; result += Tester.Printer.print(var_2);
   326         result += "\n";
   327         result += "Tester_Class_3.var_9 = "; result += Tester.Printer.print(var_9);
   328         result += "\n";
   329         result += "Tester_Class_3.var_7 = "; result += Tester.Printer.print(var_7);
   330         result += "\n";
   331         result += "Tester_Class_3.var_28 = "; result += Tester.Printer.print(var_28);
   332         result += "\n";
   333         result += "Tester_Class_3.var_3 = "; result += Tester.Printer.print(var_3);
   334         result += "\n";
   335         result += "Tester_Class_3.var_18 = "; result += Tester.Printer.print(var_18);
   336         result += "\n";
   337         result += "Tester_Class_3.var_19 = "; result += Tester.Printer.print(var_19);
   338         result += "\n";
   339         result += "Tester_Class_3.var_26 = "; result += Tester.Printer.print(var_26);
   340         result += "\n";
   341         result += "Tester_Class_3.var_4 = "; result += Tester.Printer.print(var_4);
   342         result += "\n";
   343         result += "Tester_Class_3.var_29 = "; result += Tester.Printer.print(var_29);
   344         result += "\n";
   345         result += "Tester_Class_3.var_27 = "; result += Tester.Printer.print(var_27);
   346         result += "\n";
   347         result += "Tester_Class_3.var_32 = "; result += Tester.Printer.print(var_32);
   348         result += "\n";
   349         result += "Tester_Class_3.var_6 = "; result += Tester.Printer.print(var_6);
   350         result += "";
   351         result += "\n]";
   352         return result;
   353     }
   354 }
   356 public class Tester {
   357     static double var_36 = 2.679028326789642E307;
   358     float var_37;
   359     String var_38 = Tester_Class_2.var_18;
   360     static Tester_Interface_0 var_39;
   361     static char var_40 = 'D';
   362     Tester_Class_1 var_41;
   363     static int var_42;
   364     final static boolean var_43 = false;
   367     final static Tester_Class_2 func_0(Tester_Class_1 arg_0, final Tester_Class_2 arg_1)
   368     {
   369         "ooots".replaceFirst("rdxor", ((new Tester_Class_3[arg_1.var_3 = (byte)2.7836305E38F])[arg_0.var_3 = (byte)+ + +1.4958218616334936E307]).var_26);
   370         if (true)
   371         {
   372             arg_0 = (Tester_Class_3)arg_0;
   373             ((Tester_Class_3)arg_0).var_25 = var_40;
   374             final Tester_Class_2 var_44 = (Tester_Class_2)((Tester_Class_3.var_29 |= var_43) ? arg_0 : (arg_0.var_6 = Tester_Class_3.var_18));
   375         }
   376         else
   377         {
   378             var_39 = (Tester_Class_3.var_27 = (Tester_Class_3)arg_1);
   379         }
   380         Tester_Class_3.var_19 = "onndgsil";
   381         var_39 = arg_0;
   382         return (Tester_Class_2.var_4 &= Tester_Class_2.var_4 ^ true) ? (((Tester_Class_3)arg_0).var_32 = (Tester_Class_3)arg_1) : (((Tester_Class_3)arg_0).var_32 = (Tester_Class_3)arg_1);
   383     }
   385     private final static float func_1(final short arg_0, int[][] arg_1, final long arg_2)
   386     {
   387         Tester_Class_2.var_1 *= arg_0;
   388         double var_45 = 6.841391103184752E307;
   389         long var_46;
   390         Tester_Class_2.var_1--;
   391         --var_40;
   392         ++var_40;
   393         ++Tester_Class_3.var_1;
   394         Tester_Class_1.var_4 = false;
   395         var_36 %= 'X';
   396         ++Tester_Class_2.var_1;
   397         Tester_Class_1.var_1++;
   398         return 3.2422038E38F;
   399     }
   401     private final static char func_2(double arg_0, final byte arg_1, int arg_2)
   402     {
   403         --Tester_Class_3.var_1;
   404         if (Tester_Class_1.var_4)
   405         {
   406             if (var_43)
   407             {
   408                 Tester_Class_3.var_1++;
   409             }
   410             else
   411             {
   412                 var_40 <<= 1329560515532651520L;
   413             }
   414             (false & Tester_Class_2.var_4 ? (new Tester_Class_1[arg_1])[arg_1] : (new Tester_Class_1[arg_1][arg_1])[arg_1][arg_1]).var_3 = arg_1;
   415             Tester_Class_2.var_19 = Tester_Class_3.var_19;
   416             --var_40;
   417             final long var_47 = ~Tester_Class_3.var_33 << var_40--;
   418             ((Tester_Class_3)(new Tester_Class_2[arg_1][arg_1])[arg_1][arg_1]).var_24 *= (var_36 *= (long)arg_1 * ~arg_1);
   419             Tester_Class_2.var_19 = Tester_Class_2.var_19;
   420             ++((new Tester_Class_3[arg_1])[arg_1]).var_24;
   421         }
   422         else
   423         {
   424             var_40++;
   425         }
   426         var_40 <<= var_40;
   427         if (true)
   428         {
   429             ++arg_2;
   430         }
   431         else
   432         {
   433             Tester_Class_2.var_7 = arg_1;
   434         }
   435         boolean var_48 = true;
   436         var_36 /= arg_1;
   437         final short var_49 = 15276;
   438         Tester_Interface_0 var_50;
   439         ((Tester_Class_2.var_19 = (Tester_Class_2.var_19 = Tester_Class_2.var_19)) + "xhi").toString();
   440         arg_2++;
   441         return var_40;
   442     }
   444     public final static char func_4(final boolean arg_0)
   445     {
   446         float var_52 = 2.8063675E38F;
   447         var_40--;
   448         Object var_53;
   449         Tester_Class_3.var_29 |= (Tester_Class_3.var_29 &= true);
   450         if (!Tester_Class_1.var_4)
   451         {
   452             --var_40;
   453         }
   454         else
   455         {
   456             var_52 %= 2027756834;
   457         }
   458         int var_54 = Tester_Class_1.var_1++;
   459         var_40--;
   460         long var_55;
   461         byte var_56 = 97;
   462         var_36 *= 9.75628909363086E307 % + -1.9812653793936264E306;
   463         int var_57;
   464         boolean var_58 = Tester_Class_1.var_4 ^= var_43;
   465         return 'J';
   466     }
   468     static float func_5(final Object arg_0, float arg_1, final Tester_Class_2 arg_2)
   469     {
   470         var_39 = arg_2;
   471         Tester_Class_3.var_27 = arg_2;
   472         arg_1 %= 1.7777554E38F;
   473         var_39 = (Tester_Class_3.var_27 = arg_2);
   474         Tester_Class_3 var_59;
   475         {
   476             var_40 -= arg_1 - ~ (((Tester_Class_3)arg_2).var_3 = (byte)1455854212);
   477         }
   478         Object var_60 = Tester_Class_1.var_4 ? arg_0 : new String[arg_2.var_3 = (byte)arg_1][(byte)((Tester_Class_3)arg_0).var_28];
   479         Tester_Class_3.var_27 = (Tester_Class_2)(var_39 = arg_2);
   480         ((Tester_Class_3.var_4 |= var_43) ? (var_59 = (var_59 = (var_59 = (Tester_Class_3)var_60))) : (var_59 = (Tester_Class_3)arg_2)).var_24 ^= Tester_Class_3.var_1;
   481         return Tester_Class_1.var_9;
   482     }
   484     private static void func_6(char arg_0, final Tester_Class_3 arg_1, String arg_2, final double arg_3)
   485     {
   486         ((new Tester_Class_1[(byte)arg_1.var_28])[(arg_1.var_32 = arg_1).var_3 = (byte)var_40]).var_2 = Tester_Class_3.var_9;
   487         double var_61;
   488         (true ? (arg_1.var_32 = arg_1) : (arg_1.var_32 = (Tester_Class_3.var_27 = (arg_1.var_32 = arg_1)))).var_6 = var_43 | (Tester_Class_2.var_4 = !Tester_Class_3.var_4) ? (arg_1.var_26 = arg_2) : (Tester_Class_2.var_19 = Tester_Class_2.var_18);
   489     }
   491     private final char func_7(int arg_0)
   492     {
   493         Tester_Class_2.var_4 &= var_43;
   494         float var_62 = Tester_Class_3.var_9;
   495         --var_40;
   496         int var_63 = Tester_Class_1.var_1++;
   497         {
   498             "nncjfoit".indexOf((new int[(byte)'\\'])[(byte)var_36]);
   499             if (var_43)
   500             {
   501                 ((new Tester_Class_3[(byte)var_40][(byte)Tester_Class_2.var_1])[(byte)5046997225818337280L][(byte)var_63]).var_24 >>>= var_40;
   502             }
   503             else
   504             {
   505                 --var_40;
   506             }
   507             --Tester_Class_2.var_1;
   508             --var_63;
   509         }
   510         {
   511             final byte var_64 = Tester_Class_1.var_4 ? (byte)'M' : (byte)(var_62 -= + ((byte)Tester_Class_1.var_8));
   512             float var_65;
   513             var_62 *= ((Tester_Class_3)(new Tester_Interface_0[var_64])[var_64]).var_24++;
   514             var_36 /= var_64;
   515             {
   516                 double var_66;
   517             }
   518             var_40 += 3500240160155094016L;
   519             ((new Tester_Class_1[var_64][var_64])[var_64][var_64]).var_3 = (byte)(Tester_Class_2.var_7 = (Tester_Class_1.var_7 = (Tester_Class_1.var_7 = (Tester_Class_1.var_7 = var_64))));
   520             ++Tester_Class_3.var_1;
   521         }
   522         --arg_0;
   523         {
   524             arg_0++;
   525         }
   526         Tester_Class_2.var_1++;
   527         var_40 &= (short)((byte)Tester_Class_2.var_8 >> (((new Tester_Class_3[(byte)var_36])[(byte)(var_40 = Tester_Class_3.var_8)]).var_3 = (byte)((byte)3.3531374E38F * var_40)));
   528         var_36 %= (var_62 = (byte)900943133);
   529         var_36 = Tester_Class_3.var_33;
   530         var_62 += (var_40 /= (byte)6766658341842315264L % (byte)'p') * (short)2019461672;
   531         --var_40;
   532         if (true)
   533         {
   534             var_62 *= 365879806965555200L;
   535         }
   536         else
   537         {
   538             var_36 -= ~9163555887358003200L;
   539         }
   540         Tester_Class_1.var_4 = Tester_Class_1.var_4;
   541         {
   542             var_40 <<= var_63;
   543         }
   544         var_40++;
   545         String var_67;
   546         return Tester_Class_1.var_8;
   547     }
   549     private final static Tester_Interface_0 func_8(char arg_0, final Tester_Class_2 arg_1, final String arg_2)
   550     {
   551         ((new Tester[(byte)((Tester_Class_3)arg_1).var_28])[((Tester_Class_1)(var_39 = arg_1)).var_3 = ((Tester_Class_3.var_27 = (Tester_Class_3)arg_1).var_3 = (byte)+ -9.9100855E36F)]).var_38 = (var_43 ? "k" : Tester_Class_2.var_19).substring(350785312);
   552         return (new Tester_Interface_0[(byte)'l'])[((Tester_Class_1)(var_39 = (Tester_Class_3.var_27 = (Tester_Class_3)arg_1))).var_3 = ((Tester_Class_3.var_27 = arg_1).var_3 = (((Tester_Class_3)arg_1).var_3 = (arg_1.var_3 = (arg_1.var_3 = (byte)'['))))];
   553     }
   555     private final int func_9(Tester_Class_3 arg_0, char arg_1)
   556     {
   557         final float var_68 = Tester_Class_3.var_9;
   558         Tester_Class_2.var_18.toLowerCase();
   559         double var_69;
   560         {
   561             Tester_Class_3.var_29 ^= !false || Tester_Class_2.var_4;
   562         }
   563         Tester_Class_1 var_70;
   564         (Tester_Class_3.var_27 = (Tester_Class_2)(var_70 = arg_0)).var_6 = (Tester_Class_2)((var_41 = arg_0).var_6 = (arg_0.var_6 = arg_0));
   565         "hv".codePointBefore(--Tester_Class_2.var_1);
   566         var_41 = arg_0;
   567         return ~ (((arg_0 = arg_0).var_24 &= arg_1) == 3.0764282E38F ? (byte)457565863 : ((arg_0 = arg_0).var_3 = (byte)arg_0.var_28));
   568     }
   570     private static void func_10(double arg_0, final Tester_Class_3 arg_1, double arg_2)
   571     {
   572         arg_1.var_32 = 'g' != 1.520646515461986E307 ? (arg_1.var_32 = arg_1) : arg_1;
   573         Tester_Class_2.var_19.startsWith(Tester_Class_2.var_19 = Tester_Class_3.var_18);
   574         Tester_Class_1.var_4 ^= true & (arg_1.var_3 = (arg_1.var_3 = (byte)- ((byte)1.4509185661781193E308))) > (arg_1.var_2 = var_40);
   575         var_36 += Tester_Class_3.var_9;
   576     }
   578     Tester_Interface_0 func_12(final Object arg_0, float arg_1)
   579     {
   580         switch (((Tester_Class_3)arg_0).var_3 = (byte)arg_1)
   581         {
   582             case 4:
   583                 var_41 = (Tester_Class_3)(var_39 = (Tester_Class_3.var_27 = (Tester_Class_3.var_27 = (Tester_Class_3)arg_0)));
   584                 double var_72 = (double)3858573493713776640L;
   585                 byte var_73 = (var_41 = (Tester_Class_2)arg_0).var_3 = (((Tester_Class_3)arg_0).var_3 = (byte)var_72);
   586                 break;
   588             case 13:
   589                 (Tester_Class_3.var_27 = (((Tester_Class_3)arg_0).var_32 = (Tester_Class_3)(Tester_Class_2)arg_0)).var_3 = (Tester_Class_2.var_1 *= ((Tester_Class_3)arg_0).var_24) == (byte)Tester_Class_3.var_33 ? (byte)188693954866039808L : (byte)Tester_Class_2.var_8;
   590                 break;
   592             default:
   593                 var_40 <<= (byte)157510337;
   594                 break;
   596             case 26:
   598             case 122:
   600         }
   601         Tester_Interface_0 var_74;
   602         long var_75;
   603         var_41 = (var_41 = (var_41 = (Tester_Class_2)arg_0));
   604         arg_1 *= 1601420762;
   605         var_74 = (var_41 = Tester_Class_1.var_4 ? (Tester_Class_3)arg_0 : (Tester_Class_2)arg_0);
   606         (Tester_Class_1.var_4 ? (Tester_Class_3)(var_39 = (Tester_Class_3)arg_0) : (true ? (Tester_Class_3)arg_0 : (Tester_Class_3)arg_0)).var_28 *= 1066935145;
   607         var_40 >>>= (byte)6.643183E36F / - ((byte)1.277596E37F);
   608         {
   609             ((Tester_Class_3)(((Tester_Class_3)((Tester_Class_3.var_29 ^= (Tester_Class_3.var_29 &= var_43)) ? (Tester_Class_2)arg_0 : (Tester_Class_2)arg_0)).var_32 = (Tester_Class_3.var_27 = (Tester_Class_2)arg_0))).var_28--;
   610         }
   611         var_38 = "qad";
   612         byte var_76 = ((Tester_Class_2)(var_39 = (Tester_Class_3)arg_0)).var_3 = true ? ((var_41 = (var_41 = (Tester_Class_3)arg_0)).var_3 = (byte)1.7128118638075888E308) : (byte)1.6562746603631249E308;
   613         return var_39 = (Tester_Class_3)((var_41 = (Tester_Class_3)arg_0).var_6 = Tester_Class_2.var_18);
   614     }
   616     protected final String func_13()
   617     {
   618         float var_77;
   619         var_38 = (Tester_Class_2.var_19 = var_38);
   620         Tester_Class_2.var_4 ^= !var_43 | (Tester_Class_3.var_29 ^= Tester_Class_1.var_4);
   621         Tester_Class_3.var_1--;
   622         Tester_Class_2.var_1++;
   623         return Tester_Class_2.var_18;
   624     }
   626     public static String execute()
   627     {
   628         try {
   629             Tester t = new Tester();
   630             try { t.test(); }
   631             catch(Throwable e) { }
   632             try { return t.toString(); }
   633             catch (Throwable e) { return "Error during result conversion to String"; }
   634         } catch (Throwable e) { return "Error during test execution"; }
   635     }
   637     public static void main(String[] args)
   638     {
   639         try {
   640             Tester t = new Tester();
   641             try { t.test(); }
   642             catch(Throwable e) { }
   643             try { System.out.println(t); }
   644             catch(Throwable e) { }
   645         } catch (Throwable e) { }
   646     }
   648     private void test()
   649     {
   650         int var_78 = 0;
   651         var_39 = (new Tester_Class_1[(byte)var_40])[(byte)Tester_Class_3.var_33];
   652         while (var_43 && (var_78 < 70 && true))
   653         {
   654             var_40 *= ~ ~Tester_Class_3.var_33 % Tester_Class_3.var_9;
   655             var_78++;
   656             var_39 = new Tester_Class_3();
   657             var_39 = (var_41 = (Tester_Class_3.var_27 = new Tester_Class_2()));
   658         }
   659         final Tester_Class_3 var_79 = (Tester_Class_1.var_4 ? ~Tester_Class_3.var_33 : var_36) == 1433764895112462336L ? new Tester_Class_3() : new Tester_Class_3();
   660         Tester_Class_2 var_80;
   661     }
   662     public String toString()
   663     {
   664         String result =  "[\n";
   665         result += "Tester.var_40 = "; result += Printer.print(var_40);
   666         result += "\n";
   667         result += "Tester.var_42 = "; result += Printer.print(var_42);
   668         result += "\n";
   669         result += "Tester.var_36 = "; result += Printer.print(var_36);
   670         result += "\n";
   671         result += "Tester.var_37 = "; result += Printer.print(var_37);
   672         result += "\n";
   673         result += "Tester.var_39 = "; result += Printer.print(var_39);
   674         result += "\n";
   675         result += "Tester.var_38 = "; result += Printer.print(var_38);
   676         result += "\n";
   677         result += "Tester.var_43 = "; result += Printer.print(var_43);
   678         result += "\n";
   679         result += "Tester.var_41 = "; result += Printer.print(var_41);
   680         result += "";
   681         result += "\n]";
   682         return result;
   683     }
   684     static class Printer
   685     {
   686         public static String print(boolean arg) { return String.valueOf(arg); }
   687         public static String print(byte arg)    { return String.valueOf(arg); }
   688         public static String print(short arg)   { return String.valueOf(arg); }
   689         public static String print(char arg)    { return String.valueOf((int)arg); }
   690         public static String print(int arg)     { return String.valueOf(arg); }
   691         public static String print(long arg)    { return String.valueOf(arg); }
   692         public static String print(float arg)   { return String.valueOf(arg); }
   693         public static String print(double arg)  { return String.valueOf(arg); }
   696         public static String print(Object arg)
   697         {
   698             return print_r(new java.util.Stack(), arg);
   699         }
   701         private static String print_r(java.util.Stack visitedObjects, Object arg)
   702         {
   703             String result = "";
   704             if (arg == null)
   705                 result += "null";
   706             else
   707             if (arg.getClass().isArray())
   708             {
   709                 for (int i = 0; i < visitedObjects.size(); i++)
   710                     if (visitedObjects.elementAt(i) == arg) return "<recursive>";
   712                 visitedObjects.push(arg);
   714                 final String delimiter = ", ";
   715                 result += "[";
   717                 if (arg instanceof Object[])
   718                 {
   719                     Object[] array = (Object[]) arg;
   720                     for (int i = 0; i < array.length; i++)
   721                     {
   722                         result += print_r(visitedObjects, array[i]);
   723                         if (i < array.length - 1) result += delimiter;
   724                     }
   725                 }
   726                 else
   727                 if (arg instanceof boolean[])
   728                 {
   729                     boolean[] array = (boolean[]) arg;
   730                     for (int i = 0; i < array.length; i++)
   731                     {
   732                         result += print(array[i]);
   733                         if (i < array.length - 1) result += delimiter;
   734                     }
   735                 }
   736                 else
   737                 if (arg instanceof byte[])
   738                 {
   739                     byte[] array = (byte[]) arg;
   740                     for (int i = 0; i < array.length; i++)
   741                     {
   742                         result += print(array[i]);
   743                         if (i < array.length - 1) result += delimiter;
   744                     }
   745                 }
   746                 else
   747                 if (arg instanceof short[])
   748                 {
   749                     short[] array = (short[]) arg;
   750                     for (int i = 0; i < array.length; i++)
   751                     {
   752                         result += print(array[i]);
   753                         if (i < array.length - 1) result += delimiter;
   754                     }
   755                 }
   756                 else
   757                 if (arg instanceof char[])
   758                 {
   759                     char[] array = (char[]) arg;
   760                     for (int i = 0; i < array.length; i++)
   761                     {
   762                         result += print(array[i]);
   763                         if (i < array.length - 1) result += delimiter;
   764                     }
   765                 }
   766                 else
   767                 if (arg instanceof int[])
   768                 {
   769                      int[] array = (int[]) arg;
   770                      for (int i = 0; i < array.length; i++)
   771                      {
   772                         result += print(array[i]);
   773                         if (i < array.length - 1) result += delimiter;
   774                      }
   775                 }
   776                 else
   777                 if (arg instanceof long[])
   778                 {
   779                     long[] array = (long[]) arg;
   780                     for (int i = 0; i < array.length; i++)
   781                     {
   782                         result += print(array[i]);
   783                         if (i < array.length - 1) result += delimiter;
   784                     }
   785                 }
   786                 else
   787                 if (arg instanceof float[])
   788                 {
   789                     float[] array = (float[]) arg;
   790                     for (int i = 0; i < array.length; i++)
   791                     {
   792                         result += print(array[i]);
   793                         if (i < array.length - 1) result += delimiter;
   794                     }
   795                 }
   796                 else
   797                 if (arg instanceof double[])
   798                 {
   799                     double[] array = (double[]) arg;
   800                     for (int i = 0; i < array.length; i++)
   801                     {
   802                         result += print(array[i]);
   803                         if (i < array.length - 1) result += delimiter;
   804                     }
   805                 }
   807                 result += "]";
   808                 visitedObjects.pop();
   810             } else
   811             {
   812                 result += arg.toString();
   813             }
   815             return result;
   816         }
   817     }
   818 }

mercurial