# HG changeset patch # User kvn # Date 1213982229 25200 # Node ID 312de898447e83f43c83cdfdd5fd100631860ea2 # Parent 061f70214421f48f3f4e9d1b5fc0f8e29883a508 6714694: assertion in 64bit server vm (store->find_edge(load) != -1,"missing precedence edge") with COOPs Summary: The method raise_LCA_above_marks() terminates LCA search early. Reviewed-by: rasbold, never diff -r 061f70214421 -r 312de898447e hotspot/src/share/vm/opto/gcm.cpp --- a/hotspot/src/share/vm/opto/gcm.cpp Tue Jun 17 11:32:42 2008 -0700 +++ b/hotspot/src/share/vm/opto/gcm.cpp Fri Jun 20 10:17:09 2008 -0700 @@ -307,7 +307,6 @@ // Test and set the visited bit. if (mid->raise_LCA_visited() == mark) continue; // already visited - mid->set_raise_LCA_visited(mark); // Don't process the current LCA, otherwise the search may terminate early if (mid != LCA && mid->raise_LCA_mark() == mark) { @@ -317,6 +316,8 @@ assert(early->dominates(LCA), "early is high enough"); // Resume searching at that point, skipping intermediate levels. worklist.push(LCA); + if (LCA == mid) + continue; // Don't mark as visited to avoid early termination. } else { // Keep searching through this block's predecessors. for (uint j = 1, jmax = mid->num_preds(); j < jmax; j++) { @@ -324,6 +325,7 @@ worklist.push(mid_parent); } } + mid->set_raise_LCA_visited(mark); } return LCA; } diff -r 061f70214421 -r 312de898447e hotspot/test/compiler/6714694/Tester.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspot/test/compiler/6714694/Tester.java Fri Jun 20 10:17:09 2008 -0700 @@ -0,0 +1,820 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 6714694 + * @summary assertion in 64bit server vm (store->find_edge(load) != -1,"missing precedence edge") with COOPs + * @run main/othervm -Xcomp Tester + */ + +/* Complexity upper bound: 38602 ops */ + +interface Tester_Interface_0 { +} + + +abstract class Tester_Class_1 implements Tester_Interface_0 { + static int var_1 = (false ? (short)'b' : (short)-2.4256387E38F) | (byte)('g' * -7.660532860983624E307); + float var_2; + byte var_3; + static boolean var_4 = true; + double var_5 = 8.818325751338691E307; + Object var_6; + static short var_7; + final static char var_8 = 'x'; + final static float var_9 = 2.2030989E38F; + + + public Tester_Class_1() + { + var_6 = (var_6 = (var_6 = "xkx")); + switch (var_7 = (var_3 = (byte)var_5)) + { + case 113: + + case 114: + Object var_12; + var_4 = 4.9121917E37F < 1957795258; + var_4 |= (var_4 ^= !var_4) ^ (var_4 |= var_4); + var_3 = (var_3 = (var_3 = (byte)+6010964363045275648L)); + break; + + case 102: + + } + final float var_13 = 1.2443151E38F; + var_3 = (byte)(var_1 |= (var_7 = (var_3 = (byte)var_5))); + var_2 = (long)(var_7 = (var_3 = (byte)var_8)) - (var_7 = (byte)386742565); + var_4 &= var_4; + 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)); + var_6 = "uqflj"; + { + switch (((new String[var_3 = (byte)var_5])[var_3 = (byte)8097442298927900672L]).charAt(1540148550)) + { + case 'l': + + } + var_2 = (var_7 = (byte)2.9859440663042714E307); + { + Object var_14; + } + var_3 = (var_3 = (var_3 = (byte)3.3634427195550136E307)); + var_5 += '_'; + } + var_6 = "tempfdjen"; + 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)); + var_4 ^= false; + if (1.6435436003809043E307 != var_9) + { + boolean var_15 = true; + } + else + { + var_4 = false; + } + { + 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]; + } + var_7 = (var_4 = var_4) ? (short)2.756967E37F : (short)'K'; + byte var_17; + } + + + + abstract public Tester_Interface_0 func_0(double[][] arg_0, final Object arg_1); + + + final double func_0(final float arg_0, final short arg_1, final boolean arg_2) + { + var_6 = (var_6 = "lmshbl"); + 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))]); + var_5 %= (var_3 = (byte)1909375874); + var_1 /= (char)(short)'i'; + { + "vgar".length(); + } + int var_10; + { + var_3 = (var_4 &= true) ? (byte)(var_5 *= 6375499657746206720L) : (byte)+ (var_5 /= var_9); + var_7 = (var_4 = true) ? (byte)(false ? (short)749593632 : (byte)8.692758043260743E307) : (byte)var_1; + ((new Tester_Class_1[(byte)1.2890904018345944E308])[(byte)var_1]).var_3 = (var_3 = (byte)arg_0); + var_4 = true ^ var_4; + } + { + var_1 ^= (var_3 = (var_3 = (var_3 = (byte)'U'))); + } + var_3 = (var_3 = (var_3 = (var_3 = (byte)arg_1))); + char var_11; + var_1 += (var_2 = (var_7 = arg_1)); + { + var_7 = (var_7 = arg_1); + } + var_7 = arg_1; + var_6 = (new char[(byte)1985094111797788672L][var_3 = (byte)3112604683090268160L])[var_3 = (byte)~ (var_3 = (byte)(var_5 += var_1))]; + var_3 = (var_3 = (var_3 = (var_3 = (byte)3694858000202921984L))); + var_1 /= ~ ((byte)1311538336); + (((var_4 |= arg_2 ? !true && arg_2 : false) ? arg_2 : arg_2) ? "iih".substring(~ (var_3 = (byte)3.5401308E37F), 'g' * arg_1) : "gynskmvoj").trim(); + var_3 = (var_3 = arg_2 ? (byte)+ ~5247392660383928320L : (byte)8392160279007184896L); + var_3 = (var_3 = (var_3 = (byte)var_8)); + return (var_5 += 7.157559E37F) + (var_11 = 'V'); + } + + public String toString() + { + String result = "[\n"; + result += "Tester_Class_1.var_7 = "; result += Tester.Printer.print(var_7); + result += "\n"; + result += "Tester_Class_1.var_3 = "; result += Tester.Printer.print(var_3); + result += "\n"; + result += "Tester_Class_1.var_8 = "; result += Tester.Printer.print(var_8); + result += "\n"; + result += "Tester_Class_1.var_1 = "; result += Tester.Printer.print(var_1); + result += "\n"; + result += "Tester_Class_1.var_4 = "; result += Tester.Printer.print(var_4); + result += "\n"; + result += "Tester_Class_1.var_5 = "; result += Tester.Printer.print(var_5); + result += "\n"; + result += "Tester_Class_1.var_2 = "; result += Tester.Printer.print(var_2); + result += "\n"; + result += "Tester_Class_1.var_9 = "; result += Tester.Printer.print(var_9); + result += "\n"; + result += "Tester_Class_1.var_6 = "; result += Tester.Printer.print(var_6); + result += ""; + result += "\n]"; + return result; + } +} + + +class Tester_Class_2 extends Tester_Class_1 implements Tester_Interface_0 { + 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" : ""; + static String var_19 = "acxfj"; + + + public Tester_Class_2() + { + Tester_Class_1.var_4 = !Tester_Class_1.var_4; + var_1++; + var_2 = (byte)2.4009747E38F; + new String(); + var_6 = (var_19 = "hsshyw"); + var_19 = var_19; + } + + + public Tester_Interface_0 func_0(double[][] arg_0, final Object arg_1) + { + var_5 = 4.0352057E37F; + (((false && ! ((Tester_Class_1.var_4 |= !true) ^ (Tester_Class_1.var_4 ^ false))) ^ (var_4 &= true) ? var_4 : (var_4 ^= true)) ? "spskwj" : "xcqianm").length(); + ((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; + var_7 = (short)(byte)(short)8775325134193811456L; + var_4 ^= (var_4 &= !false); + ((Tester_Class_1)arg_1).var_3 = (var_3 = (byte)(var_5 %= 8.933448E37F)); + Tester_Class_1 var_20 = Tester_Class_1.var_4 ? (Tester_Class_1)arg_1 : (Tester_Class_1)arg_1; + { + var_19.endsWith(var_19); + var_6 = var_20; + (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)); + } + final boolean var_21 = Tester_Class_1.var_4; + var_20.var_3 = (var_3 = (var_20.var_3 = (byte)'t')); + boolean var_22 = true; + Tester_Class_1.var_4 |= (var_4 = var_21); + var_19 = "ocn"; + var_19 = var_19; + var_1 *= Tester_Class_1.var_8; + var_20 = var_22 ? var_20 : var_20; + var_7 = var_21 ? (byte)+ ((byte)var_1) : ((var_20 = (var_20 = var_20)).var_3 = (var_3 = (var_3 = (byte)'L'))); + return true ? (var_20 = var_20) : (new Tester_Interface_0[(byte)5618282952859970560L])[var_3 = (byte)Tester_Class_1.var_8]; + } + + + public boolean equals(Object obj) + { + Tester_Class_1.var_7 = (var_7 = (((Tester_Class_1)obj).var_3 = (byte)var_9)); + { + final Tester_Class_1 var_23 = (Tester_Class_1)obj; + } + ++Tester_Class_1.var_1; + 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)); + ((Tester_Class_1)obj).var_6 = var_18.replace(Tester_Class_1.var_8, Tester_Class_1.var_8); + ((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); + var_1 &= var_8; + var_7 = var_4 ? (var_3 = (byte)var_8) : (byte)var_5; + var_19 = var_18; + ("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))); + return true; + } + + + public String toString() + { + String result = "[\n"; + result += "Tester_Class_2.var_7 = "; result += Tester.Printer.print(var_7); + result += "\n"; + result += "Tester_Class_2.var_8 = "; result += Tester.Printer.print(var_8); + result += "\n"; + result += "Tester_Class_2.var_3 = "; result += Tester.Printer.print(var_3); + result += "\n"; + result += "Tester_Class_2.var_18 = "; result += Tester.Printer.print(var_18); + result += "\n"; + result += "Tester_Class_2.var_19 = "; result += Tester.Printer.print(var_19); + result += "\n"; + result += "Tester_Class_2.var_1 = "; result += Tester.Printer.print(var_1); + result += "\n"; + result += "Tester_Class_2.var_4 = "; result += Tester.Printer.print(var_4); + result += "\n"; + result += "Tester_Class_2.var_5 = "; result += Tester.Printer.print(var_5); + result += "\n"; + result += "Tester_Class_2.var_2 = "; result += Tester.Printer.print(var_2); + result += "\n"; + result += "Tester_Class_2.var_9 = "; result += Tester.Printer.print(var_9); + result += "\n"; + result += "Tester_Class_2.var_6 = "; result += Tester.Printer.print(var_6); + result += ""; + result += "\n]"; + return result; + } +} + + +class Tester_Class_3 extends Tester_Class_2 implements Tester_Interface_0 { + long var_24 = 9026266006808413184L; + char var_25; + 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))); + static Tester_Class_2 var_27; + 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)))); + static boolean var_29 = false; + static Object[][] var_30; + int var_31 = 750583762; + Tester_Class_2 var_32; + final static long var_33 = 3050784555932008448L; + + + public Tester_Class_3() + { + byte[] var_34; + var_4 &= (Tester_Class_1.var_4 = true); + Tester_Class_1.var_1--; + switch (var_28 >>= ~ ((byte)var_28)) + { + case 9: + + case 26: + Tester_Class_1.var_4 ^= Tester_Class_1.var_4; + (Tester_Class_2.var_19 = "pwtic").indexOf(Tester_Class_2.var_18); + var_26.indexOf(var_19); + ((Tester_Class_1)(new Tester_Interface_0[(byte)var_5])[var_24 <= var_31 ? (byte)'^' : (byte)var_24]).var_2 = 5611775846881101824L; + var_29 |= (Tester_Class_2.var_4 ^= var_29); + Tester_Class_2 var_35; + var_24 <<= (var_31 >>= (var_25 = var_8)); + break; + + case 28: + + } + new String(); + var_5 %= (var_25 = 'n'); + ((Tester_Class_2)(Tester_Class_1)(((Tester_Class_1)(var_6 = Tester_Class_2.var_18)).var_6 = (var_26 = ""))).var_2 = var_31; + --var_1; + } + + + + + public String toString() + { + String result = "[\n"; + result += "Tester_Class_3.var_8 = "; result += Tester.Printer.print(var_8); + result += "\n"; + result += "Tester_Class_3.var_25 = "; result += Tester.Printer.print(var_25); + result += "\n"; + result += "Tester_Class_3.var_1 = "; result += Tester.Printer.print(var_1); + result += "\n"; + result += "Tester_Class_3.var_31 = "; result += Tester.Printer.print(var_31); + result += "\n"; + result += "Tester_Class_3.var_30 = "; result += Tester.Printer.print(var_30); + result += "\n"; + result += "Tester_Class_3.var_24 = "; result += Tester.Printer.print(var_24); + result += "\n"; + result += "Tester_Class_3.var_33 = "; result += Tester.Printer.print(var_33); + result += "\n"; + result += "Tester_Class_3.var_5 = "; result += Tester.Printer.print(var_5); + result += "\n"; + result += "Tester_Class_3.var_2 = "; result += Tester.Printer.print(var_2); + result += "\n"; + result += "Tester_Class_3.var_9 = "; result += Tester.Printer.print(var_9); + result += "\n"; + result += "Tester_Class_3.var_7 = "; result += Tester.Printer.print(var_7); + result += "\n"; + result += "Tester_Class_3.var_28 = "; result += Tester.Printer.print(var_28); + result += "\n"; + result += "Tester_Class_3.var_3 = "; result += Tester.Printer.print(var_3); + result += "\n"; + result += "Tester_Class_3.var_18 = "; result += Tester.Printer.print(var_18); + result += "\n"; + result += "Tester_Class_3.var_19 = "; result += Tester.Printer.print(var_19); + result += "\n"; + result += "Tester_Class_3.var_26 = "; result += Tester.Printer.print(var_26); + result += "\n"; + result += "Tester_Class_3.var_4 = "; result += Tester.Printer.print(var_4); + result += "\n"; + result += "Tester_Class_3.var_29 = "; result += Tester.Printer.print(var_29); + result += "\n"; + result += "Tester_Class_3.var_27 = "; result += Tester.Printer.print(var_27); + result += "\n"; + result += "Tester_Class_3.var_32 = "; result += Tester.Printer.print(var_32); + result += "\n"; + result += "Tester_Class_3.var_6 = "; result += Tester.Printer.print(var_6); + result += ""; + result += "\n]"; + return result; + } +} + +public class Tester { + static double var_36 = 2.679028326789642E307; + float var_37; + String var_38 = Tester_Class_2.var_18; + static Tester_Interface_0 var_39; + static char var_40 = 'D'; + Tester_Class_1 var_41; + static int var_42; + final static boolean var_43 = false; + + + final static Tester_Class_2 func_0(Tester_Class_1 arg_0, final Tester_Class_2 arg_1) + { + "ooots".replaceFirst("rdxor", ((new Tester_Class_3[arg_1.var_3 = (byte)2.7836305E38F])[arg_0.var_3 = (byte)+ + +1.4958218616334936E307]).var_26); + if (true) + { + arg_0 = (Tester_Class_3)arg_0; + ((Tester_Class_3)arg_0).var_25 = var_40; + 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)); + } + else + { + var_39 = (Tester_Class_3.var_27 = (Tester_Class_3)arg_1); + } + Tester_Class_3.var_19 = "onndgsil"; + var_39 = arg_0; + 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); + } + + private final static float func_1(final short arg_0, int[][] arg_1, final long arg_2) + { + Tester_Class_2.var_1 *= arg_0; + double var_45 = 6.841391103184752E307; + long var_46; + Tester_Class_2.var_1--; + --var_40; + ++var_40; + ++Tester_Class_3.var_1; + Tester_Class_1.var_4 = false; + var_36 %= 'X'; + ++Tester_Class_2.var_1; + Tester_Class_1.var_1++; + return 3.2422038E38F; + } + + private final static char func_2(double arg_0, final byte arg_1, int arg_2) + { + --Tester_Class_3.var_1; + if (Tester_Class_1.var_4) + { + if (var_43) + { + Tester_Class_3.var_1++; + } + else + { + var_40 <<= 1329560515532651520L; + } + (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; + Tester_Class_2.var_19 = Tester_Class_3.var_19; + --var_40; + final long var_47 = ~Tester_Class_3.var_33 << var_40--; + ((Tester_Class_3)(new Tester_Class_2[arg_1][arg_1])[arg_1][arg_1]).var_24 *= (var_36 *= (long)arg_1 * ~arg_1); + Tester_Class_2.var_19 = Tester_Class_2.var_19; + ++((new Tester_Class_3[arg_1])[arg_1]).var_24; + } + else + { + var_40++; + } + var_40 <<= var_40; + if (true) + { + ++arg_2; + } + else + { + Tester_Class_2.var_7 = arg_1; + } + boolean var_48 = true; + var_36 /= arg_1; + final short var_49 = 15276; + Tester_Interface_0 var_50; + ((Tester_Class_2.var_19 = (Tester_Class_2.var_19 = Tester_Class_2.var_19)) + "xhi").toString(); + arg_2++; + return var_40; + } + + public final static char func_4(final boolean arg_0) + { + float var_52 = 2.8063675E38F; + var_40--; + Object var_53; + Tester_Class_3.var_29 |= (Tester_Class_3.var_29 &= true); + if (!Tester_Class_1.var_4) + { + --var_40; + } + else + { + var_52 %= 2027756834; + } + int var_54 = Tester_Class_1.var_1++; + var_40--; + long var_55; + byte var_56 = 97; + var_36 *= 9.75628909363086E307 % + -1.9812653793936264E306; + int var_57; + boolean var_58 = Tester_Class_1.var_4 ^= var_43; + return 'J'; + } + + static float func_5(final Object arg_0, float arg_1, final Tester_Class_2 arg_2) + { + var_39 = arg_2; + Tester_Class_3.var_27 = arg_2; + arg_1 %= 1.7777554E38F; + var_39 = (Tester_Class_3.var_27 = arg_2); + Tester_Class_3 var_59; + { + var_40 -= arg_1 - ~ (((Tester_Class_3)arg_2).var_3 = (byte)1455854212); + } + 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]; + Tester_Class_3.var_27 = (Tester_Class_2)(var_39 = arg_2); + ((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; + return Tester_Class_1.var_9; + } + + private static void func_6(char arg_0, final Tester_Class_3 arg_1, String arg_2, final double arg_3) + { + ((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; + double var_61; + (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); + } + + private final char func_7(int arg_0) + { + Tester_Class_2.var_4 &= var_43; + float var_62 = Tester_Class_3.var_9; + --var_40; + int var_63 = Tester_Class_1.var_1++; + { + "nncjfoit".indexOf((new int[(byte)'\\'])[(byte)var_36]); + if (var_43) + { + ((new Tester_Class_3[(byte)var_40][(byte)Tester_Class_2.var_1])[(byte)5046997225818337280L][(byte)var_63]).var_24 >>>= var_40; + } + else + { + --var_40; + } + --Tester_Class_2.var_1; + --var_63; + } + { + final byte var_64 = Tester_Class_1.var_4 ? (byte)'M' : (byte)(var_62 -= + ((byte)Tester_Class_1.var_8)); + float var_65; + var_62 *= ((Tester_Class_3)(new Tester_Interface_0[var_64])[var_64]).var_24++; + var_36 /= var_64; + { + double var_66; + } + var_40 += 3500240160155094016L; + ((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)))); + ++Tester_Class_3.var_1; + } + --arg_0; + { + arg_0++; + } + Tester_Class_2.var_1++; + 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))); + var_36 %= (var_62 = (byte)900943133); + var_36 = Tester_Class_3.var_33; + var_62 += (var_40 /= (byte)6766658341842315264L % (byte)'p') * (short)2019461672; + --var_40; + if (true) + { + var_62 *= 365879806965555200L; + } + else + { + var_36 -= ~9163555887358003200L; + } + Tester_Class_1.var_4 = Tester_Class_1.var_4; + { + var_40 <<= var_63; + } + var_40++; + String var_67; + return Tester_Class_1.var_8; + } + + private final static Tester_Interface_0 func_8(char arg_0, final Tester_Class_2 arg_1, final String arg_2) + { + ((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); + 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)'['))))]; + } + + private final int func_9(Tester_Class_3 arg_0, char arg_1) + { + final float var_68 = Tester_Class_3.var_9; + Tester_Class_2.var_18.toLowerCase(); + double var_69; + { + Tester_Class_3.var_29 ^= !false || Tester_Class_2.var_4; + } + Tester_Class_1 var_70; + (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)); + "hv".codePointBefore(--Tester_Class_2.var_1); + var_41 = arg_0; + return ~ (((arg_0 = arg_0).var_24 &= arg_1) == 3.0764282E38F ? (byte)457565863 : ((arg_0 = arg_0).var_3 = (byte)arg_0.var_28)); + } + + private static void func_10(double arg_0, final Tester_Class_3 arg_1, double arg_2) + { + arg_1.var_32 = 'g' != 1.520646515461986E307 ? (arg_1.var_32 = arg_1) : arg_1; + Tester_Class_2.var_19.startsWith(Tester_Class_2.var_19 = Tester_Class_3.var_18); + Tester_Class_1.var_4 ^= true & (arg_1.var_3 = (arg_1.var_3 = (byte)- ((byte)1.4509185661781193E308))) > (arg_1.var_2 = var_40); + var_36 += Tester_Class_3.var_9; + } + + Tester_Interface_0 func_12(final Object arg_0, float arg_1) + { + switch (((Tester_Class_3)arg_0).var_3 = (byte)arg_1) + { + case 4: + var_41 = (Tester_Class_3)(var_39 = (Tester_Class_3.var_27 = (Tester_Class_3.var_27 = (Tester_Class_3)arg_0))); + double var_72 = (double)3858573493713776640L; + byte var_73 = (var_41 = (Tester_Class_2)arg_0).var_3 = (((Tester_Class_3)arg_0).var_3 = (byte)var_72); + break; + + case 13: + (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; + break; + + default: + var_40 <<= (byte)157510337; + break; + + case 26: + + case 122: + + } + Tester_Interface_0 var_74; + long var_75; + var_41 = (var_41 = (var_41 = (Tester_Class_2)arg_0)); + arg_1 *= 1601420762; + var_74 = (var_41 = Tester_Class_1.var_4 ? (Tester_Class_3)arg_0 : (Tester_Class_2)arg_0); + (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; + var_40 >>>= (byte)6.643183E36F / - ((byte)1.277596E37F); + { + ((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--; + } + var_38 = "qad"; + 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; + return var_39 = (Tester_Class_3)((var_41 = (Tester_Class_3)arg_0).var_6 = Tester_Class_2.var_18); + } + + protected final String func_13() + { + float var_77; + var_38 = (Tester_Class_2.var_19 = var_38); + Tester_Class_2.var_4 ^= !var_43 | (Tester_Class_3.var_29 ^= Tester_Class_1.var_4); + Tester_Class_3.var_1--; + Tester_Class_2.var_1++; + return Tester_Class_2.var_18; + } + + public static String execute() + { + try { + Tester t = new Tester(); + try { t.test(); } + catch(Throwable e) { } + try { return t.toString(); } + catch (Throwable e) { return "Error during result conversion to String"; } + } catch (Throwable e) { return "Error during test execution"; } + } + + public static void main(String[] args) + { + try { + Tester t = new Tester(); + try { t.test(); } + catch(Throwable e) { } + try { System.out.println(t); } + catch(Throwable e) { } + } catch (Throwable e) { } + } + + private void test() + { + int var_78 = 0; + var_39 = (new Tester_Class_1[(byte)var_40])[(byte)Tester_Class_3.var_33]; + while (var_43 && (var_78 < 70 && true)) + { + var_40 *= ~ ~Tester_Class_3.var_33 % Tester_Class_3.var_9; + var_78++; + var_39 = new Tester_Class_3(); + var_39 = (var_41 = (Tester_Class_3.var_27 = new Tester_Class_2())); + } + 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(); + Tester_Class_2 var_80; + } + public String toString() + { + String result = "[\n"; + result += "Tester.var_40 = "; result += Printer.print(var_40); + result += "\n"; + result += "Tester.var_42 = "; result += Printer.print(var_42); + result += "\n"; + result += "Tester.var_36 = "; result += Printer.print(var_36); + result += "\n"; + result += "Tester.var_37 = "; result += Printer.print(var_37); + result += "\n"; + result += "Tester.var_39 = "; result += Printer.print(var_39); + result += "\n"; + result += "Tester.var_38 = "; result += Printer.print(var_38); + result += "\n"; + result += "Tester.var_43 = "; result += Printer.print(var_43); + result += "\n"; + result += "Tester.var_41 = "; result += Printer.print(var_41); + result += ""; + result += "\n]"; + return result; + } + static class Printer + { + public static String print(boolean arg) { return String.valueOf(arg); } + public static String print(byte arg) { return String.valueOf(arg); } + public static String print(short arg) { return String.valueOf(arg); } + public static String print(char arg) { return String.valueOf((int)arg); } + public static String print(int arg) { return String.valueOf(arg); } + public static String print(long arg) { return String.valueOf(arg); } + public static String print(float arg) { return String.valueOf(arg); } + public static String print(double arg) { return String.valueOf(arg); } + + + public static String print(Object arg) + { + return print_r(new java.util.Stack(), arg); + } + + private static String print_r(java.util.Stack visitedObjects, Object arg) + { + String result = ""; + if (arg == null) + result += "null"; + else + if (arg.getClass().isArray()) + { + for (int i = 0; i < visitedObjects.size(); i++) + if (visitedObjects.elementAt(i) == arg) return ""; + + visitedObjects.push(arg); + + final String delimiter = ", "; + result += "["; + + if (arg instanceof Object[]) + { + Object[] array = (Object[]) arg; + for (int i = 0; i < array.length; i++) + { + result += print_r(visitedObjects, array[i]); + if (i < array.length - 1) result += delimiter; + } + } + else + if (arg instanceof boolean[]) + { + boolean[] array = (boolean[]) arg; + for (int i = 0; i < array.length; i++) + { + result += print(array[i]); + if (i < array.length - 1) result += delimiter; + } + } + else + if (arg instanceof byte[]) + { + byte[] array = (byte[]) arg; + for (int i = 0; i < array.length; i++) + { + result += print(array[i]); + if (i < array.length - 1) result += delimiter; + } + } + else + if (arg instanceof short[]) + { + short[] array = (short[]) arg; + for (int i = 0; i < array.length; i++) + { + result += print(array[i]); + if (i < array.length - 1) result += delimiter; + } + } + else + if (arg instanceof char[]) + { + char[] array = (char[]) arg; + for (int i = 0; i < array.length; i++) + { + result += print(array[i]); + if (i < array.length - 1) result += delimiter; + } + } + else + if (arg instanceof int[]) + { + int[] array = (int[]) arg; + for (int i = 0; i < array.length; i++) + { + result += print(array[i]); + if (i < array.length - 1) result += delimiter; + } + } + else + if (arg instanceof long[]) + { + long[] array = (long[]) arg; + for (int i = 0; i < array.length; i++) + { + result += print(array[i]); + if (i < array.length - 1) result += delimiter; + } + } + else + if (arg instanceof float[]) + { + float[] array = (float[]) arg; + for (int i = 0; i < array.length; i++) + { + result += print(array[i]); + if (i < array.length - 1) result += delimiter; + } + } + else + if (arg instanceof double[]) + { + double[] array = (double[]) arg; + for (int i = 0; i < array.length; i++) + { + result += print(array[i]); + if (i < array.length - 1) result += delimiter; + } + } + + result += "]"; + visitedObjects.pop(); + + } else + { + result += arg.toString(); + } + + return result; + } + } +} + +