# HG changeset patch # User Lukas Stadler # Date 1282010376 25200 # Node ID 760213a60e8be6d9d485f68399b0654e106a73df # Parent 3483ec571caf2cc6bc5eec2f4d4f88843476d4cc * rewrite of the code installation * partial support for safepoints * macro-based CiTargetMethod interface * code stub support diff -r 3483ec571caf -r 760213a60e8b .cproject --- a/.cproject Mon Aug 02 15:44:38 2010 -0700 +++ b/.cproject Mon Aug 16 18:59:36 2010 -0700 @@ -69,10 +69,10 @@ - + diff -r 3483ec571caf -r 760213a60e8b .hgignore --- a/.hgignore Mon Aug 02 15:44:38 2010 -0700 +++ b/.hgignore Mon Aug 16 18:59:36 2010 -0700 @@ -7,6 +7,7 @@ .swp$ .class$ .log$ +output.txt$ /nbproject/private/ ^src/share/tools/hsdis/build/ ^src/share/tools/IdealGraphVisualizer/[a-zA-Z0-9]*/build/ diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotTest/.classpath --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/c1x4hotspotsrc/HotSpotTest/.classpath Mon Aug 16 18:59:36 2010 -0700 @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotTest/.project --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/c1x4hotspotsrc/HotSpotTest/.project Mon Aug 16 18:59:36 2010 -0700 @@ -0,0 +1,17 @@ + + + HotSpotTest + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotTest/.settings/org.eclipse.jdt.core.prefs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/c1x4hotspotsrc/HotSpotTest/.settings/org.eclipse.jdt.core.prefs Mon Aug 16 18:59:36 2010 -0700 @@ -0,0 +1,12 @@ +#Fri Jul 09 15:51:33 PDT 2010 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotTest/src/C1XCompiledTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/c1x4hotspotsrc/HotSpotTest/src/C1XCompiledTest.java Mon Aug 16 18:59:36 2010 -0700 @@ -0,0 +1,34 @@ +public class C1XCompiledTest { + + static class A { + int j; + } + + static class B extends A { + int k; + } + + static class C extends B { + int l; + } + + static long c = 5; + static long j = 1000; + + public long doCalc(int[] a) { + return a.length; + } + + public long doCalc(int a, int b, Object o) { + if (o instanceof A) { + return 0; + } else { + long k = 5; + for (int i = 0; i < 10; i++) { + k += c; + } + j += k; + return a + b + k; + } + } +} diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotTest/src/C1XTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/c1x4hotspotsrc/HotSpotTest/src/C1XTest.java Mon Aug 16 18:59:36 2010 -0700 @@ -0,0 +1,23 @@ +import java.io.IOException; + +public class C1XTest { + + public static void main(String[] args) throws IOException { + /* + * new C1XCompiledTest.C(); System.out.println("--- instanceof A"); + * System.out.println(new C1XCompiledTest().doCalc(10, 3, + * C1XTest.class)); System.out.println("B instanceof A"); + * System.out.println(new C1XCompiledTest().doCalc(10, 3, new + * C1XCompiledTest.B())); System.out.println("A instanceof A"); + * System.out.println(new C1XCompiledTest().doCalc(10, 3, new + * C1XCompiledTest.A())); System.out.println("end"); + */ + new C1XCompiledTest.B(); + System.out.println(new C1XCompiledTest().doCalc(10, 3, C1XTest.class)); + /* + * for (int l = 0; l < 4; l++) { try { System.out.println(new + * C1XCompiledTest().doCalc(new int[l])); } catch (Throwable t) { + * t.printStackTrace(); }} + */ + } +} diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotTest/src/jttTests.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/c1x4hotspotsrc/HotSpotTest/src/jttTests.java Mon Aug 16 18:59:36 2010 -0700 @@ -0,0 +1,23860 @@ + +import com.sun.hotspot.c1x.logging.Logger; + +public class jttTests { + + public static void main(String[] args) { + runTests(128, 128); + Logger.info("total: " + executed + " tests executed, " + passed + " passed, " + failed + " failed"); + } + + private static int testNumber; + private static String testName; + + private static int executed = 0; + private static int passed = 0; + private static int failed = 0; + + + public static boolean runTests(int start, int end) { + while (start <= end) { + testNumber = start; + if (!runTest(start)) { + return false; + } + start++; + } + return true; + } + + static void begin(String testName) { + jttTests.testName = testName; + executed++; + } + + static void pass() { + Logger.info("# " + testNumber + ": " + testName + " passed"); + passed++; + } + + static void fail(String runString) { + Logger.info("# " + testNumber + ": " + testName + " failed for " +runString); + failed++; + } + + static void fail(String runString, Throwable thrown) { + Logger.info("# " + testNumber + ": " + testName + " failed for " +runString +", exception " + thrown); + failed++; + } + + // Checkstyle: stop + // GENERATED TEST RUNS + public static boolean runTest(int num) { + switch (num) { + case 0: + jtt_bytecode_BC_aaload(); + break; + case 1: + jtt_bytecode_BC_aaload_1(); + break; + case 2: + jtt_bytecode_BC_aastore(); + break; + case 3: + jtt_bytecode_BC_aload_0(); + break; + case 4: + jtt_bytecode_BC_aload_1(); + break; + case 5: + jtt_bytecode_BC_aload_2(); + break; + case 6: + jtt_bytecode_BC_aload_3(); + break; + case 7: + jtt_bytecode_BC_anewarray(); + break; + case 8: + jtt_bytecode_BC_areturn(); + break; + case 9: + jtt_bytecode_BC_arraylength(); + break; + case 10: + //jtt_bytecode_BC_athrow(); + break; + case 11: + jtt_bytecode_BC_baload(); + break; + case 12: + jtt_bytecode_BC_bastore(); + break; + case 13: + jtt_bytecode_BC_caload(); + break; + case 14: + jtt_bytecode_BC_castore(); + break; + case 15: + //jtt_bytecode_BC_checkcast01(); + break; + case 16: + //jtt_bytecode_BC_checkcast02(); + break; + case 17: + jtt_bytecode_BC_d2f(); + break; + case 18: + //jtt_bytecode_BC_d2i01(); + break; + case 19: + //jtt_bytecode_BC_d2i02(); + break; + case 20: + //jtt_bytecode_BC_d2l01(); + break; + case 21: + //jtt_bytecode_BC_d2l02(); + break; + case 22: + jtt_bytecode_BC_dadd(); + break; + case 23: + jtt_bytecode_BC_daload(); + break; + case 24: + jtt_bytecode_BC_dastore(); + break; + case 25: + jtt_bytecode_BC_dcmp01(); + break; + case 26: + jtt_bytecode_BC_dcmp02(); + break; + case 27: + jtt_bytecode_BC_dcmp03(); + break; + case 28: + jtt_bytecode_BC_dcmp04(); + break; + case 29: + jtt_bytecode_BC_dcmp05(); + break; + case 30: + jtt_bytecode_BC_dcmp06(); + break; + case 31: + jtt_bytecode_BC_dcmp07(); + break; + case 32: + jtt_bytecode_BC_dcmp08(); + break; + case 33: + jtt_bytecode_BC_dcmp09(); + break; + case 34: + jtt_bytecode_BC_dcmp10(); + break; + case 35: + jtt_bytecode_BC_ddiv(); + break; + case 36: + jtt_bytecode_BC_dmul(); + break; + case 37: + jtt_bytecode_BC_dneg(); + break; + case 38: + //jtt_bytecode_BC_drem(); + break; + case 39: + jtt_bytecode_BC_dreturn(); + break; + case 40: + jtt_bytecode_BC_dsub(); + break; + case 41: + jtt_bytecode_BC_f2d(); + break; + case 42: + jtt_bytecode_BC_f2i01(); + break; + case 43: + jtt_bytecode_BC_f2i02(); + break; + case 44: + jtt_bytecode_BC_f2l01(); + break; + case 45: + jtt_bytecode_BC_f2l02(); + break; + case 46: + jtt_bytecode_BC_fadd(); + break; + case 47: + jtt_bytecode_BC_faload(); + break; + case 48: + jtt_bytecode_BC_fastore(); + break; + case 49: + jtt_bytecode_BC_fcmp01(); + break; + case 50: + jtt_bytecode_BC_fcmp02(); + break; + case 51: + jtt_bytecode_BC_fcmp03(); + break; + case 52: + jtt_bytecode_BC_fcmp04(); + break; + case 53: + jtt_bytecode_BC_fcmp05(); + break; + case 54: + jtt_bytecode_BC_fcmp06(); + break; + case 55: + jtt_bytecode_BC_fcmp07(); + break; + case 56: + jtt_bytecode_BC_fcmp08(); + break; + case 57: + jtt_bytecode_BC_fcmp09(); + break; + case 58: + jtt_bytecode_BC_fcmp10(); + break; + case 59: + jtt_bytecode_BC_fdiv(); + break; + case 60: + jtt_bytecode_BC_fload(); + break; + case 61: + jtt_bytecode_BC_fload_2(); + break; + case 62: + jtt_bytecode_BC_fmul(); + break; + case 63: + jtt_bytecode_BC_fneg(); + break; + case 64: + //jtt_bytecode_BC_frem(); + break; + case 65: + jtt_bytecode_BC_freturn(); + break; + case 66: + jtt_bytecode_BC_fsub(); + break; + case 67: + jtt_bytecode_BC_getfield(); + break; + case 68: + jtt_bytecode_BC_getstatic_b(); + break; + case 69: + jtt_bytecode_BC_getstatic_c(); + break; + case 70: + jtt_bytecode_BC_getstatic_d(); + break; + case 71: + jtt_bytecode_BC_getstatic_f(); + break; + case 72: + jtt_bytecode_BC_getstatic_i(); + break; + case 73: + jtt_bytecode_BC_getstatic_l(); + break; + case 74: + jtt_bytecode_BC_getstatic_s(); + break; + case 75: + jtt_bytecode_BC_getstatic_z(); + break; + case 76: + jtt_bytecode_BC_i2b(); + break; + case 77: + jtt_bytecode_BC_i2c(); + break; + case 78: + jtt_bytecode_BC_i2d(); + break; + case 79: + jtt_bytecode_BC_i2f(); + break; + case 80: + jtt_bytecode_BC_i2l(); + break; + case 81: + jtt_bytecode_BC_i2s(); + break; + case 82: + jtt_bytecode_BC_iadd(); + break; + case 83: + jtt_bytecode_BC_iadd2(); + break; + case 84: + jtt_bytecode_BC_iadd3(); + break; + case 85: + jtt_bytecode_BC_iaload(); + break; + case 86: + jtt_bytecode_BC_iand(); + break; + case 87: + jtt_bytecode_BC_iastore(); + break; + case 88: + jtt_bytecode_BC_iconst(); + break; + case 89: + jtt_bytecode_BC_idiv(); + break; + case 90: + jtt_bytecode_BC_idiv2(); + break; + case 91: + jtt_bytecode_BC_ifeq(); + break; + case 92: + jtt_bytecode_BC_ifeq_2(); + break; + case 93: + jtt_bytecode_BC_ifeq_3(); + break; + case 94: + jtt_bytecode_BC_ifge(); + break; + case 95: + jtt_bytecode_BC_ifge_2(); + break; + case 96: + jtt_bytecode_BC_ifge_3(); + break; + case 97: + jtt_bytecode_BC_ifgt(); + break; + case 98: + jtt_bytecode_BC_ificmplt1(); + break; + case 99: + jtt_bytecode_BC_ificmplt2(); + break; + case 100: + jtt_bytecode_BC_ificmpne1(); + break; + case 101: + jtt_bytecode_BC_ificmpne2(); + break; + case 102: + jtt_bytecode_BC_ifle(); + break; + case 103: + jtt_bytecode_BC_iflt(); + break; + case 104: + jtt_bytecode_BC_ifne(); + break; + case 105: + jtt_bytecode_BC_ifnonnull(); + break; + case 106: + jtt_bytecode_BC_ifnonnull_2(); + break; + case 107: + jtt_bytecode_BC_ifnonnull_3(); + break; + case 108: + jtt_bytecode_BC_ifnull(); + break; + case 109: + jtt_bytecode_BC_ifnull_2(); + break; + case 110: + jtt_bytecode_BC_ifnull_3(); + break; + case 111: + jtt_bytecode_BC_iinc_1(); + break; + case 112: + jtt_bytecode_BC_iinc_2(); + break; + case 113: + jtt_bytecode_BC_iinc_3(); + break; + case 114: + jtt_bytecode_BC_iinc_4(); + break; + case 115: + jtt_bytecode_BC_iload_0(); + break; + case 116: + jtt_bytecode_BC_iload_0_1(); + break; + case 117: + jtt_bytecode_BC_iload_0_2(); + break; + case 118: + jtt_bytecode_BC_iload_1(); + break; + case 119: + jtt_bytecode_BC_iload_1_1(); + break; + case 120: + jtt_bytecode_BC_iload_2(); + break; + case 121: + jtt_bytecode_BC_iload_3(); + break; + case 122: + jtt_bytecode_BC_imul(); + break; + case 123: + jtt_bytecode_BC_ineg(); + break; + case 124: + jtt_bytecode_BC_instanceof(); + break; + case 125: + jtt_bytecode_BC_invokeinterface(); + break; + case 126: + jtt_bytecode_BC_invokespecial(); + break; + case 127: + jtt_bytecode_BC_invokespecial2(); + break; + case 128: + jtt_bytecode_BC_invokestatic(); + break; + case 129: + jtt_bytecode_BC_invokevirtual(); + break; + case 130: + jtt_bytecode_BC_ior(); + break; + case 131: + jtt_bytecode_BC_irem(); + break; + case 132: + jtt_bytecode_BC_irem2(); + break; + case 133: + jtt_bytecode_BC_ireturn(); + break; + case 134: + jtt_bytecode_BC_ishl(); + break; + case 135: + jtt_bytecode_BC_ishr(); + break; + case 136: + jtt_bytecode_BC_isub(); + break; + case 137: + jtt_bytecode_BC_iushr(); + break; + case 138: + jtt_bytecode_BC_ixor(); + break; + case 139: + jtt_bytecode_BC_l2d(); + break; + case 140: + jtt_bytecode_BC_l2f(); + break; + case 141: + jtt_bytecode_BC_l2i(); + break; + case 142: + jtt_bytecode_BC_ladd(); + break; + case 143: + jtt_bytecode_BC_ladd2(); + break; + case 144: + jtt_bytecode_BC_laload(); + break; + case 145: + jtt_bytecode_BC_land(); + break; + case 146: + jtt_bytecode_BC_lastore(); + break; + case 147: + jtt_bytecode_BC_lcmp(); + break; + case 148: + jtt_bytecode_BC_ldc_01(); + break; + case 149: + jtt_bytecode_BC_ldc_02(); + break; + case 150: + jtt_bytecode_BC_ldc_03(); + break; + case 151: + jtt_bytecode_BC_ldc_04(); + break; + case 152: + jtt_bytecode_BC_ldc_05(); + break; + case 153: + jtt_bytecode_BC_ldc_06(); + break; + case 154: + jtt_bytecode_BC_ldiv(); + break; + case 155: + jtt_bytecode_BC_ldiv2(); + break; + case 156: + jtt_bytecode_BC_lload_0(); + break; + case 157: + jtt_bytecode_BC_lload_01(); + break; + case 158: + jtt_bytecode_BC_lload_1(); + break; + case 159: + jtt_bytecode_BC_lload_2(); + break; + case 160: + jtt_bytecode_BC_lload_3(); + break; + case 161: + jtt_bytecode_BC_lmul(); + break; + case 162: + jtt_bytecode_BC_lneg(); + break; + case 163: + jtt_bytecode_BC_lookupswitch01(); + break; + case 164: + jtt_bytecode_BC_lookupswitch02(); + break; + case 165: + jtt_bytecode_BC_lookupswitch03(); + break; + case 166: + jtt_bytecode_BC_lookupswitch04(); + break; + case 167: + jtt_bytecode_BC_lor(); + break; + case 168: + jtt_bytecode_BC_lrem(); + break; + case 169: + jtt_bytecode_BC_lrem2(); + break; + case 170: + jtt_bytecode_BC_lreturn(); + break; + case 171: + jtt_bytecode_BC_lshl(); + break; + case 172: + jtt_bytecode_BC_lshr(); + break; + case 173: + jtt_bytecode_BC_lsub(); + break; + case 174: + jtt_bytecode_BC_lushr(); + break; + case 175: + jtt_bytecode_BC_lxor(); + break; + case 176: + jtt_bytecode_BC_monitorenter(); + break; + case 177: + jtt_bytecode_BC_monitorenter02(); + break; + case 178: + jtt_bytecode_BC_multianewarray01(); + break; + case 179: + jtt_bytecode_BC_multianewarray02(); + break; + case 180: + jtt_bytecode_BC_multianewarray03(); + break; + case 181: + jtt_bytecode_BC_multianewarray04(); + break; + case 182: + jtt_bytecode_BC_new(); + break; + case 183: + jtt_bytecode_BC_newarray(); + break; + case 184: + jtt_bytecode_BC_putfield(); + break; + case 185: + jtt_bytecode_BC_putstatic(); + break; + case 186: + jtt_bytecode_BC_saload(); + break; + case 187: + jtt_bytecode_BC_sastore(); + break; + case 188: + jtt_bytecode_BC_tableswitch(); + break; + case 189: + jtt_bytecode_BC_tableswitch2(); + break; + case 190: + jtt_bytecode_BC_tableswitch3(); + break; + case 191: + jtt_bytecode_BC_tableswitch4(); + break; + case 192: + jtt_bytecode_BC_wide01(); + break; + case 193: + jtt_bytecode_BC_wide02(); + break; + case 194: + jtt_optimize_ArrayLength01(); + break; + case 195: + jtt_optimize_BC_idiv_16(); + break; + case 196: + jtt_optimize_BC_idiv_4(); + break; + case 197: + jtt_optimize_BC_imul_16(); + break; + case 198: + jtt_optimize_BC_imul_4(); + break; + case 199: + jtt_optimize_BC_ldiv_16(); + break; + case 200: + jtt_optimize_BC_ldiv_4(); + break; + case 201: + jtt_optimize_BC_lmul_16(); + break; + case 202: + jtt_optimize_BC_lmul_4(); + break; + case 203: + jtt_optimize_BC_lshr_C16(); + break; + case 204: + jtt_optimize_BC_lshr_C24(); + break; + case 205: + jtt_optimize_BC_lshr_C32(); + break; + case 206: + jtt_optimize_BlockSkip01(); + break; + case 207: + jtt_optimize_Cmov01(); + break; + case 208: + jtt_optimize_DeadCode01(); + break; + case 209: + jtt_optimize_Fold_Cast01(); + break; + case 210: + jtt_optimize_Fold_Convert01(); + break; + case 211: + jtt_optimize_Fold_Convert02(); + break; + case 212: + jtt_optimize_Fold_Convert03(); + break; + case 213: + jtt_optimize_Fold_Convert04(); + break; + case 214: + jtt_optimize_Fold_Double01(); + break; + case 215: + jtt_optimize_Fold_Double02(); + break; + case 216: + jtt_optimize_Fold_Float01(); + break; + case 217: + jtt_optimize_Fold_Float02(); + break; + case 218: + jtt_optimize_Fold_InstanceOf01(); + break; + case 219: + jtt_optimize_Fold_Int01(); + break; + case 220: + jtt_optimize_Fold_Int02(); + break; + case 221: + jtt_optimize_Fold_Long01(); + break; + case 222: + jtt_optimize_Fold_Long02(); + break; + case 223: + jtt_optimize_Fold_Math01(); + break; + case 224: + jtt_optimize_Inline01(); + break; + case 225: + jtt_optimize_Inline02(); + break; + case 226: + jtt_optimize_List_reorder_bug(); + break; + case 227: + jtt_optimize_NCE_01(); + break; + case 228: + jtt_optimize_NCE_02(); + break; + case 229: + jtt_optimize_NCE_03(); + break; + case 230: + jtt_optimize_NCE_04(); + break; + case 231: + jtt_optimize_NCE_FlowSensitive01(); + break; + case 232: + jtt_optimize_NCE_FlowSensitive02(); + break; + case 233: + jtt_optimize_NCE_FlowSensitive03(); + break; + case 234: + jtt_optimize_NCE_FlowSensitive04(); + break; + case 235: + jtt_optimize_Narrow_byte01(); + break; + case 236: + jtt_optimize_Narrow_byte02(); + break; + case 237: + jtt_optimize_Narrow_byte03(); + break; + case 238: + jtt_optimize_Narrow_char01(); + break; + case 239: + jtt_optimize_Narrow_char02(); + break; + case 240: + jtt_optimize_Narrow_char03(); + break; + case 241: + jtt_optimize_Narrow_short01(); + break; + case 242: + jtt_optimize_Narrow_short02(); + break; + case 243: + jtt_optimize_Narrow_short03(); + break; + case 244: + jtt_optimize_Phi01(); + break; + case 245: + jtt_optimize_Phi02(); + break; + case 246: + jtt_optimize_Phi03(); + break; + case 247: + jtt_optimize_Reduce_Convert01(); + break; + case 248: + jtt_optimize_Reduce_Double01(); + break; + case 249: + jtt_optimize_Reduce_Float01(); + break; + case 250: + jtt_optimize_Reduce_Int01(); + break; + case 251: + jtt_optimize_Reduce_Int02(); + break; + case 252: + jtt_optimize_Reduce_Int03(); + break; + case 253: + jtt_optimize_Reduce_Int04(); + break; + case 254: + jtt_optimize_Reduce_IntShift01(); + break; + case 255: + jtt_optimize_Reduce_IntShift02(); + break; + case 256: + jtt_optimize_Reduce_Long01(); + break; + case 257: + jtt_optimize_Reduce_Long02(); + break; + case 258: + jtt_optimize_Reduce_Long03(); + break; + case 259: + jtt_optimize_Reduce_Long04(); + break; + case 260: + jtt_optimize_Reduce_LongShift01(); + break; + case 261: + jtt_optimize_Reduce_LongShift02(); + break; + case 262: + jtt_optimize_Switch01(); + break; + case 263: + jtt_optimize_Switch02(); + break; + case 264: + jtt_optimize_TypeCastElem(); + break; + case 265: + jtt_optimize_VN_Cast01(); + break; + case 266: + jtt_optimize_VN_Cast02(); + break; + case 267: + jtt_optimize_VN_Convert01(); + break; + case 268: + jtt_optimize_VN_Convert02(); + break; + case 269: + jtt_optimize_VN_Double01(); + break; + case 270: + jtt_optimize_VN_Double02(); + break; + case 271: + jtt_optimize_VN_Field01(); + break; + case 272: + jtt_optimize_VN_Field02(); + break; + case 273: + jtt_optimize_VN_Float01(); + break; + case 274: + jtt_optimize_VN_Float02(); + break; + case 275: + jtt_optimize_VN_InstanceOf01(); + break; + case 276: + jtt_optimize_VN_InstanceOf02(); + break; + case 277: + jtt_optimize_VN_InstanceOf03(); + break; + case 278: + jtt_optimize_VN_Int01(); + break; + case 279: + jtt_optimize_VN_Int02(); + break; + case 280: + jtt_optimize_VN_Int03(); + break; + case 281: + jtt_optimize_VN_Long01(); + break; + case 282: + jtt_optimize_VN_Long02(); + break; + case 283: + jtt_optimize_VN_Long03(); + break; + case 284: + jtt_optimize_VN_Loop01(); + break; + case 285: + jtt_except_BC_aaload0(); + break; + case 286: + jtt_except_BC_aaload1(); + break; + case 287: + jtt_except_BC_aastore0(); + break; + case 288: + jtt_except_BC_aastore1(); + break; + case 289: + jtt_except_BC_anewarray(); + break; + case 290: + jtt_except_BC_arraylength(); + break; + case 291: + jtt_except_BC_athrow0(); + break; + case 292: + jtt_except_BC_athrow1(); + break; + case 293: + jtt_except_BC_athrow2(); + break; + case 294: + jtt_except_BC_athrow3(); + break; + case 295: + jtt_except_BC_baload(); + break; + case 296: + jtt_except_BC_bastore(); + break; + case 297: + jtt_except_BC_caload(); + break; + case 298: + jtt_except_BC_castore(); + break; + case 299: + jtt_except_BC_checkcast(); + break; + case 300: + jtt_except_BC_checkcast1(); + break; + case 301: + jtt_except_BC_checkcast2(); + break; + case 302: + jtt_except_BC_checkcast3(); + break; + case 303: + jtt_except_BC_checkcast4(); + break; + case 304: + jtt_except_BC_checkcast5(); + break; + case 305: + jtt_except_BC_checkcast6(); + break; + case 306: + jtt_except_BC_daload(); + break; + case 307: + jtt_except_BC_dastore(); + break; + case 308: + jtt_except_BC_faload(); + break; + case 309: + jtt_except_BC_fastore(); + break; + case 310: + jtt_except_BC_getfield(); + break; + case 311: + jtt_except_BC_iaload(); + break; + case 312: + jtt_except_BC_iastore(); + break; + case 313: + jtt_except_BC_idiv(); + break; + case 314: + jtt_except_BC_idiv2(); + break; + case 315: + jtt_except_BC_invokespecial01(); + break; + case 316: + jtt_except_BC_invokevirtual01(); + break; + case 317: + jtt_except_BC_invokevirtual02(); + break; + case 318: + jtt_except_BC_irem(); + break; + case 319: + jtt_except_BC_laload(); + break; + case 320: + jtt_except_BC_lastore(); + break; + case 321: + jtt_except_BC_ldiv(); + break; + case 322: + jtt_except_BC_ldiv2(); + break; + case 323: + jtt_except_BC_lrem(); + break; + case 324: + jtt_except_BC_monitorenter(); + break; + case 325: + jtt_except_BC_multianewarray(); + break; + case 326: + jtt_except_BC_newarray(); + break; + case 327: + jtt_except_BC_putfield(); + break; + case 328: + jtt_except_BC_saload(); + break; + case 329: + jtt_except_BC_sastore(); + break; + case 330: + jtt_except_Catch_Loop01(); + break; + case 331: + jtt_except_Catch_Loop02(); + break; + case 332: + jtt_except_Catch_NASE_1(); + break; + case 333: + jtt_except_Catch_NASE_2(); + break; + case 334: + jtt_except_Catch_NPE_00(); + break; + case 335: + jtt_except_Catch_NPE_01(); + break; + case 336: + jtt_except_Catch_NPE_02(); + break; + case 337: + jtt_except_Catch_NPE_03(); + break; + case 338: + jtt_except_Catch_NPE_04(); + break; + case 339: + jtt_except_Catch_NPE_05(); + break; + case 340: + jtt_except_Catch_NPE_06(); + break; + case 341: + jtt_except_Catch_NPE_07(); + break; + case 342: + jtt_except_Catch_NPE_08(); + break; + case 343: + jtt_except_Catch_NPE_09(); + break; + case 344: + jtt_except_Catch_NPE_10(); + break; + case 345: + jtt_except_Catch_NPE_11(); + break; + case 346: + jtt_except_Catch_StackOverflowError_01(); + break; + case 347: + jtt_except_Catch_StackOverflowError_02(); + break; + case 348: + jtt_except_Catch_StackOverflowError_03(); + break; + case 349: + jtt_except_Catch_Two01(); + break; + case 350: + jtt_except_Catch_Two02(); + break; + case 351: + jtt_except_Catch_Two03(); + break; + case 352: + jtt_except_Except_Synchronized01(); + break; + case 353: + jtt_except_Except_Synchronized02(); + break; + case 354: + jtt_except_Except_Synchronized03(); + break; + case 355: + jtt_except_Except_Synchronized04(); + break; + case 356: + jtt_except_Except_Synchronized05(); + break; + case 357: + jtt_except_Finally01(); + break; + case 358: + jtt_except_Finally02(); + break; + case 359: + jtt_except_StackTrace_AIOOBE_00(); + break; + case 360: + jtt_except_StackTrace_CCE_00(); + break; + case 361: + jtt_except_StackTrace_NPE_00(); + break; + case 362: + jtt_except_StackTrace_NPE_01(); + break; + case 363: + jtt_except_StackTrace_NPE_02(); + break; + case 364: + jtt_except_StackTrace_NPE_03(); + break; + case 365: + jtt_except_Throw_InCatch01(); + break; + case 366: + jtt_except_Throw_InCatch02(); + break; + case 367: + jtt_except_Throw_InCatch03(); + break; + case 368: + jtt_except_Throw_NPE_01(); + break; + case 369: + jtt_except_Throw_Synchronized01(); + break; + case 370: + jtt_except_Throw_Synchronized02(); + break; + case 371: + jtt_except_Throw_Synchronized03(); + break; + case 372: + jtt_except_Throw_Synchronized04(); + break; + case 373: + jtt_except_Throw_Synchronized05(); + break; + case 374: + jtt_lang_Boxed_TYPE_01(); + break; + case 375: + jtt_lang_Bridge_method01(); + break; + case 376: + jtt_lang_ClassLoader_loadClass01(); + break; + case 377: + jtt_lang_Class_Literal01(); + break; + case 378: + jtt_lang_Class_asSubclass01(); + break; + case 379: + jtt_lang_Class_cast01(); + break; + case 380: + jtt_lang_Class_cast02(); + break; + case 381: + jtt_lang_Class_forName01(); + break; + case 382: + jtt_lang_Class_forName02(); + break; + case 383: + jtt_lang_Class_forName03(); + break; + case 384: + jtt_lang_Class_forName04(); + break; + case 385: + jtt_lang_Class_forName05(); + break; + case 386: + jtt_lang_Class_getComponentType01(); + break; + case 387: + jtt_lang_Class_getInterfaces01(); + break; + case 388: + jtt_lang_Class_getName01(); + break; + case 389: + jtt_lang_Class_getName02(); + break; + case 390: + jtt_lang_Class_getSimpleName01(); + break; + case 391: + jtt_lang_Class_getSimpleName02(); + break; + case 392: + jtt_lang_Class_getSuperClass01(); + break; + case 393: + jtt_lang_Class_isArray01(); + break; + case 394: + jtt_lang_Class_isAssignableFrom01(); + break; + case 395: + jtt_lang_Class_isAssignableFrom02(); + break; + case 396: + jtt_lang_Class_isAssignableFrom03(); + break; + case 397: + jtt_lang_Class_isInstance01(); + break; + case 398: + jtt_lang_Class_isInstance02(); + break; + case 399: + jtt_lang_Class_isInstance03(); + break; + case 400: + jtt_lang_Class_isInstance04(); + break; + case 401: + jtt_lang_Class_isInstance05(); + break; + case 402: + jtt_lang_Class_isInstance06(); + break; + case 403: + jtt_lang_Class_isInterface01(); + break; + case 404: + jtt_lang_Class_isPrimitive01(); + break; + case 405: + jtt_lang_Double_toString(); + break; + case 406: + jtt_lang_Float_01(); + break; + case 407: + jtt_lang_Float_02(); + break; + case 408: + jtt_lang_Int_greater01(); + break; + case 409: + jtt_lang_Int_greater02(); + break; + case 410: + jtt_lang_Int_greater03(); + break; + case 411: + jtt_lang_Int_greaterEqual01(); + break; + case 412: + jtt_lang_Int_greaterEqual02(); + break; + case 413: + jtt_lang_Int_greaterEqual03(); + break; + case 414: + jtt_lang_Int_less01(); + break; + case 415: + jtt_lang_Int_less02(); + break; + case 416: + jtt_lang_Int_less03(); + break; + case 417: + jtt_lang_Int_lessEqual01(); + break; + case 418: + jtt_lang_Int_lessEqual02(); + break; + case 419: + jtt_lang_Int_lessEqual03(); + break; + case 420: + jtt_lang_JDK_ClassLoaders01(); + break; + case 421: + jtt_lang_JDK_ClassLoaders02(); + break; + case 422: + jtt_lang_Long_greater01(); + break; + case 423: + jtt_lang_Long_greater02(); + break; + case 424: + jtt_lang_Long_greater03(); + break; + case 425: + jtt_lang_Long_greaterEqual01(); + break; + case 426: + jtt_lang_Long_greaterEqual02(); + break; + case 427: + jtt_lang_Long_greaterEqual03(); + break; + case 428: + jtt_lang_Long_less01(); + break; + case 429: + jtt_lang_Long_less02(); + break; + case 430: + jtt_lang_Long_less03(); + break; + case 431: + jtt_lang_Long_lessEqual01(); + break; + case 432: + jtt_lang_Long_lessEqual02(); + break; + case 433: + jtt_lang_Long_lessEqual03(); + break; + case 434: + jtt_lang_Long_reverseBytes01(); + break; + case 435: + jtt_lang_Long_reverseBytes02(); + break; + case 436: + jtt_lang_Math_pow(); + break; + case 437: + jtt_lang_Object_clone01(); + break; + case 438: + jtt_lang_Object_clone02(); + break; + case 439: + jtt_lang_Object_equals01(); + break; + case 440: + jtt_lang_Object_getClass01(); + break; + case 441: + jtt_lang_Object_hashCode01(); + break; + case 442: + jtt_lang_Object_notify01(); + break; + case 443: + jtt_lang_Object_notify02(); + break; + case 444: + jtt_lang_Object_notifyAll01(); + break; + case 445: + jtt_lang_Object_notifyAll02(); + break; + case 446: + jtt_lang_Object_toString01(); + break; + case 447: + jtt_lang_Object_toString02(); + break; + case 448: + jtt_lang_Object_wait01(); + break; + case 449: + jtt_lang_Object_wait02(); + break; + case 450: + jtt_lang_Object_wait03(); + break; + case 451: + jtt_lang_ProcessEnvironment_init(); + break; + case 452: + jtt_lang_StringCoding_Scale(); + break; + case 453: + jtt_lang_String_intern01(); + break; + case 454: + jtt_lang_String_intern02(); + break; + case 455: + jtt_lang_String_intern03(); + break; + case 456: + jtt_lang_String_valueOf01(); + break; + case 457: + jtt_lang_System_identityHashCode01(); + break; + case 458: + jtt_micro_ArrayCompare01(); + break; + case 459: + jtt_micro_ArrayCompare02(); + break; + case 460: + jtt_micro_BC_invokevirtual2(); + break; + case 461: + jtt_micro_BigByteParams01(); + break; + case 462: + jtt_micro_BigDoubleParams02(); + break; + case 463: + jtt_micro_BigFloatParams01(); + break; + case 464: + jtt_micro_BigFloatParams02(); + break; + case 465: + jtt_micro_BigIntParams01(); + break; + case 466: + jtt_micro_BigIntParams02(); + break; + case 467: + jtt_micro_BigInterfaceParams01(); + break; + case 468: + jtt_micro_BigLongParams02(); + break; + case 469: + jtt_micro_BigMixedParams01(); + break; + case 470: + jtt_micro_BigMixedParams02(); + break; + case 471: + jtt_micro_BigMixedParams03(); + break; + case 472: + jtt_micro_BigObjectParams01(); + break; + case 473: + jtt_micro_BigObjectParams02(); + break; + case 474: + jtt_micro_BigParamsAlignment(); + break; + case 475: + jtt_micro_BigShortParams01(); + break; + case 476: + jtt_micro_BigVirtualParams01(); + break; + case 477: + jtt_micro_Bubblesort(); + break; + case 478: + jtt_micro_Fibonacci(); + break; + case 479: + jtt_micro_InvokeVirtual_01(); + break; + case 480: + jtt_micro_InvokeVirtual_02(); + break; + case 481: + jtt_micro_Matrix01(); + break; + case 482: + jtt_micro_StrangeFrames(); + break; + case 483: + jtt_micro_String_format01(); + break; + case 484: + jtt_micro_String_format02(); + break; + case 485: + jtt_micro_VarArgs_String01(); + break; + case 486: + jtt_micro_VarArgs_boolean01(); + break; + case 487: + jtt_micro_VarArgs_byte01(); + break; + case 488: + jtt_micro_VarArgs_char01(); + break; + case 489: + jtt_micro_VarArgs_double01(); + break; + case 490: + jtt_micro_VarArgs_float01(); + break; + case 491: + jtt_micro_VarArgs_int01(); + break; + case 492: + jtt_micro_VarArgs_long01(); + break; + case 493: + jtt_micro_VarArgs_short01(); + break; + case 494: + jtt_reflect_Array_get01(); + break; + case 495: + jtt_reflect_Array_get02(); + break; + case 496: + jtt_reflect_Array_get03(); + break; + case 497: + jtt_reflect_Array_getBoolean01(); + break; + case 498: + jtt_reflect_Array_getByte01(); + break; + case 499: + jtt_reflect_Array_getChar01(); + break; + case 500: + jtt_reflect_Array_getDouble01(); + break; + case 501: + jtt_reflect_Array_getFloat01(); + break; + case 502: + jtt_reflect_Array_getInt01(); + break; + case 503: + jtt_reflect_Array_getLength01(); + break; + case 504: + jtt_reflect_Array_getLong01(); + break; + case 505: + jtt_reflect_Array_getShort01(); + break; + case 506: + jtt_reflect_Array_newInstance01(); + break; + case 507: + jtt_reflect_Array_newInstance02(); + break; + case 508: + jtt_reflect_Array_newInstance03(); + break; + case 509: + jtt_reflect_Array_newInstance04(); + break; + case 510: + jtt_reflect_Array_newInstance05(); + break; + case 511: + jtt_reflect_Array_newInstance06(); + break; + case 512: + jtt_reflect_Array_set01(); + break; + case 513: + jtt_reflect_Array_set02(); + break; + case 514: + jtt_reflect_Array_set03(); + break; + case 515: + jtt_reflect_Array_setBoolean01(); + break; + case 516: + jtt_reflect_Array_setByte01(); + break; + case 517: + jtt_reflect_Array_setChar01(); + break; + case 518: + jtt_reflect_Array_setDouble01(); + break; + case 519: + jtt_reflect_Array_setFloat01(); + break; + case 520: + jtt_reflect_Array_setInt01(); + break; + case 521: + jtt_reflect_Array_setLong01(); + break; + case 522: + jtt_reflect_Array_setShort01(); + break; + case 523: + jtt_reflect_Class_getDeclaredField01(); + break; + case 524: + jtt_reflect_Class_getDeclaredMethod01(); + break; + case 525: + jtt_reflect_Class_getField01(); + break; + case 526: + jtt_reflect_Class_getField02(); + break; + case 527: + jtt_reflect_Class_getMethod01(); + break; + case 528: + jtt_reflect_Class_getMethod02(); + break; + case 529: + jtt_reflect_Class_newInstance01(); + break; + case 530: + jtt_reflect_Class_newInstance02(); + break; + case 531: + jtt_reflect_Class_newInstance03(); + break; + case 532: + jtt_reflect_Class_newInstance06(); + break; + case 533: + jtt_reflect_Class_newInstance07(); + break; + case 534: + jtt_reflect_Field_get01(); + break; + case 535: + jtt_reflect_Field_get02(); + break; + case 536: + jtt_reflect_Field_get03(); + break; + case 537: + jtt_reflect_Field_get04(); + break; + case 538: + jtt_reflect_Field_getType01(); + break; + case 539: + jtt_reflect_Field_set01(); + break; + case 540: + jtt_reflect_Field_set02(); + break; + case 541: + jtt_reflect_Field_set03(); + break; + case 542: + jtt_reflect_Invoke_except01(); + break; + case 543: + jtt_reflect_Invoke_main01(); + break; + case 544: + jtt_reflect_Invoke_main02(); + break; + case 545: + jtt_reflect_Invoke_main03(); + break; + case 546: + jtt_reflect_Invoke_virtual01(); + break; + case 547: + jtt_reflect_Method_getParameterTypes01(); + break; + case 548: + jtt_reflect_Method_getReturnType01(); + break; + case 549: + jtt_reflect_Reflection_getCallerClass01(); + break; + case 550: + jtt_threads_Monitor_contended01(); + break; + case 551: + jtt_threads_Monitor_notowner01(); + break; + case 552: + jtt_threads_Monitorenter01(); + break; + case 553: + jtt_threads_Monitorenter02(); + break; + case 554: + jtt_threads_Object_wait01(); + break; + case 555: + jtt_threads_Object_wait02(); + break; + case 556: + jtt_threads_Object_wait03(); + break; + case 557: + jtt_threads_Object_wait04(); + break; + case 558: + jtt_threads_ThreadLocal01(); + break; + case 559: + jtt_threads_ThreadLocal02(); + break; + case 560: + jtt_threads_ThreadLocal03(); + break; + case 561: + jtt_threads_Thread_currentThread01(); + break; + case 562: + jtt_threads_Thread_getState01(); + break; + case 563: + jtt_threads_Thread_getState02(); + break; + case 564: + jtt_threads_Thread_holdsLock01(); + break; + case 565: + jtt_threads_Thread_isAlive01(); + break; + case 566: + jtt_threads_Thread_isInterrupted01(); + break; + case 567: + jtt_threads_Thread_isInterrupted02(); + break; + case 568: + jtt_threads_Thread_isInterrupted03(); + break; + case 569: + jtt_threads_Thread_isInterrupted04(); + break; + case 570: + jtt_threads_Thread_isInterrupted05(); + break; + case 571: + jtt_threads_Thread_join01(); + break; + case 572: + jtt_threads_Thread_join02(); + break; + case 573: + jtt_threads_Thread_join03(); + break; + case 574: + jtt_threads_Thread_new01(); + break; + case 575: + jtt_threads_Thread_new02(); + break; + case 576: + jtt_threads_Thread_setPriority01(); + break; + case 577: + jtt_threads_Thread_sleep01(); + break; + case 578: + jtt_threads_Thread_start01(); + break; + case 579: + jtt_threads_Thread_yield01(); + break; + case 580: + jtt_jdk_Class_getName(); + break; + case 581: + jtt_jdk_EnumMap01(); + break; + case 582: + jtt_jdk_EnumMap02(); + break; + case 583: + jtt_jdk_System_currentTimeMillis01(); + break; + case 584: + jtt_jdk_System_currentTimeMillis02(); + break; + case 585: + jtt_jdk_System_nanoTime01(); + break; + case 586: + jtt_jdk_System_nanoTime02(); + break; + case 587: + jtt_jdk_UnsafeAccess01(); + break; + } + return true; + } + + static void jtt_bytecode_BC_aaload() { + begin("jtt.bytecode.BC_aaload"); + String runString = null; + try { + // (0) == null + runString = "(0)"; + if (null != jtt.bytecode.BC_aaload.test(0)) { + fail(runString); + return; + } + // (1) == null + runString = "(1)"; + if (null != jtt.bytecode.BC_aaload.test(1)) { + fail(runString); + return; + } + // (2) == "" + runString = "(2)"; + if (!"".equals(jtt.bytecode.BC_aaload.test(2))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_aaload_1() { + begin("jtt.bytecode.BC_aaload_1"); + String runString = null; + try { + // (0) == null + runString = "(0)"; + if (null != jtt.bytecode.BC_aaload_1.test(0)) { + fail(runString); + return; + } + // (1) == null + runString = "(1)"; + if (null != jtt.bytecode.BC_aaload_1.test(1)) { + fail(runString); + return; + } + // (2) == "" + runString = "(2)"; + if (!"".equals(jtt.bytecode.BC_aaload_1.test(2))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_aastore() { + begin("jtt.bytecode.BC_aastore"); + String runString = null; + try { + // (true,0) == 0 + runString = "(true,0)"; + if (0 != jtt.bytecode.BC_aastore.test(true, 0)) { + fail(runString); + return; + } + // (true,1) == 1 + runString = "(true,1)"; + if (1 != jtt.bytecode.BC_aastore.test(true, 1)) { + fail(runString); + return; + } + // (true,2) == 2 + runString = "(true,2)"; + if (2 != jtt.bytecode.BC_aastore.test(true, 2)) { + fail(runString); + return; + } + // (false,1) == 1 + runString = "(false,1)"; + if (1 != jtt.bytecode.BC_aastore.test(false, 1)) { + fail(runString); + return; + } + // (false,2) == 2 + runString = "(false,2)"; + if (2 != jtt.bytecode.BC_aastore.test(false, 2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_aload_0() { + begin("jtt.bytecode.BC_aload_0"); + String runString = null; + try { + // (null) == null + runString = "(null)"; + if (null != jtt.bytecode.BC_aload_0.test(null)) { + fail(runString); + return; + } + // ("x") == "x" + runString = "(\"x\")"; + if (!"x".equals(jtt.bytecode.BC_aload_0.test("x"))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_aload_1() { + begin("jtt.bytecode.BC_aload_1"); + String runString = null; + try { + // (1,null) == null + runString = "(1,null)"; + if (null != jtt.bytecode.BC_aload_1.test(1, null)) { + fail(runString); + return; + } + // (1,"x") == "x" + runString = "(1,\"x\")"; + if (!"x".equals(jtt.bytecode.BC_aload_1.test(1, "x"))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_aload_2() { + begin("jtt.bytecode.BC_aload_2"); + String runString = null; + try { + // (1,1,null) == null + runString = "(1,1,null)"; + if (null != jtt.bytecode.BC_aload_2.test(1, 1, null)) { + fail(runString); + return; + } + // (1,1,"x") == "x" + runString = "(1,1,\"x\")"; + if (!"x".equals(jtt.bytecode.BC_aload_2.test(1, 1, "x"))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_aload_3() { + begin("jtt.bytecode.BC_aload_3"); + String runString = null; + try { + // (1,1,1,"x") == "x" + runString = "(1,1,1,\"x\")"; + if (!"x".equals(jtt.bytecode.BC_aload_3.test(1, 1, 1, "x"))) { + fail(runString); + return; + } + // (1,1,1,null) == null + runString = "(1,1,1,null)"; + if (null != jtt.bytecode.BC_aload_3.test(1, 1, 1, null)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_anewarray() { + begin("jtt.bytecode.BC_anewarray"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.bytecode.BC_anewarray.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.bytecode.BC_anewarray.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_areturn() { + begin("jtt.bytecode.BC_areturn"); + String runString = null; + try { + // (null) == null + runString = "(null)"; + if (null != jtt.bytecode.BC_areturn.test(null)) { + fail(runString); + return; + } + // ("") == "" + runString = "(\"\")"; + if (!"".equals(jtt.bytecode.BC_areturn.test(""))) { + fail(runString); + return; + } + // ("this") == "this" + runString = "(\"this\")"; + if (!"this".equals(jtt.bytecode.BC_areturn.test("this"))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_arraylength() { + begin("jtt.bytecode.BC_arraylength"); + String runString = null; + try { + // (1) == 3 + runString = "(1)"; + if (3 != jtt.bytecode.BC_arraylength.test(1)) { + fail(runString); + return; + } + // (2) == 4 + runString = "(2)"; + if (4 != jtt.bytecode.BC_arraylength.test(2)) { + fail(runString); + return; + } + // (3) == 5 + runString = "(3)"; + if (5 != jtt.bytecode.BC_arraylength.test(3)) { + fail(runString); + return; + } + // (4) == 5 + runString = "(4)"; + if (5 != jtt.bytecode.BC_arraylength.test(4)) { + fail(runString); + return; + } + // (5) == 42 + runString = "(5)"; + if (42 != jtt.bytecode.BC_arraylength.test(5)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_athrow() { + begin("jtt.bytecode.BC_athrow"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.bytecode.BC_athrow.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.bytecode.BC_athrow.test(1)) { + fail(runString); + return; + } + // (2) == !java.lang.Throwable + try { + runString = "(2)"; + jtt.bytecode.BC_athrow.test(2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.Throwable.class) { + fail(runString, e); + return; + } + } + // (3) == 3 + runString = "(3)"; + if (3 != jtt.bytecode.BC_athrow.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_baload() { + begin("jtt.bytecode.BC_baload"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.bytecode.BC_baload.test(0)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.bytecode.BC_baload.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.bytecode.BC_baload.test(2)) { + fail(runString); + return; + } + // (3) == false + runString = "(3)"; + if (false != jtt.bytecode.BC_baload.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_bastore() { + begin("jtt.bytecode.BC_bastore"); + String runString = null; + try { + // (0,true) == true + runString = "(0,true)"; + if (true != jtt.bytecode.BC_bastore.test(0, true)) { + fail(runString); + return; + } + // (1,false) == false + runString = "(1,false)"; + if (false != jtt.bytecode.BC_bastore.test(1, false)) { + fail(runString); + return; + } + // (2,true) == true + runString = "(2,true)"; + if (true != jtt.bytecode.BC_bastore.test(2, true)) { + fail(runString); + return; + } + // (3,false) == false + runString = "(3,false)"; + if (false != jtt.bytecode.BC_bastore.test(3, false)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_caload() { + begin("jtt.bytecode.BC_caload"); + String runString = null; + try { + // (0) == '\0' + runString = "(0)"; + if ((char) 0 != jtt.bytecode.BC_caload.test(0)) { + fail(runString); + return; + } + // (1) == 'a' + runString = "(1)"; + if ((char) 97 != jtt.bytecode.BC_caload.test(1)) { + fail(runString); + return; + } + // (2) == ' ' + runString = "(2)"; + if ((char) 32 != jtt.bytecode.BC_caload.test(2)) { + fail(runString); + return; + } + // (3) == '\23420' + runString = "(3)"; + if ((char) 10000 != jtt.bytecode.BC_caload.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_castore() { + begin("jtt.bytecode.BC_castore"); + String runString = null; + try { + // (0,'a') == 'a' + runString = "(0,'a')"; + if ((char) 97 != jtt.bytecode.BC_castore.test(0, (char) 97)) { + fail(runString); + return; + } + // (1,'A') == 'A' + runString = "(1,'A')"; + if ((char) 65 != jtt.bytecode.BC_castore.test(1, (char) 65)) { + fail(runString); + return; + } + // (2,'*') == '*' + runString = "(2,'*')"; + if ((char) 42 != jtt.bytecode.BC_castore.test(2, (char) 42)) { + fail(runString); + return; + } + // (3,'x') == 'x' + runString = "(3,'x')"; + if ((char) 120 != jtt.bytecode.BC_castore.test(3, (char) 120)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_checkcast01() { + begin("jtt.bytecode.BC_checkcast01"); + String runString = null; + try { + // (0) == -1 + runString = "(0)"; + if (-1 != jtt.bytecode.BC_checkcast01.test(0)) { + fail(runString); + return; + } + // (1) == -1 + runString = "(1)"; + if (-1 != jtt.bytecode.BC_checkcast01.test(1)) { + fail(runString); + return; + } + // (4) == 4 + runString = "(4)"; + if (4 != jtt.bytecode.BC_checkcast01.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_checkcast02() { + begin("jtt.bytecode.BC_checkcast02"); + String runString = null; + try { + // (0) == -1 + runString = "(0)"; + if (-1 != jtt.bytecode.BC_checkcast02.test(0)) { + fail(runString); + return; + } + // (1) == -1 + runString = "(1)"; + if (-1 != jtt.bytecode.BC_checkcast02.test(1)) { + fail(runString); + return; + } + // (2) == -1 + runString = "(2)"; + if (-1 != jtt.bytecode.BC_checkcast02.test(2)) { + fail(runString); + return; + } + // (3) == -1 + runString = "(3)"; + if (-1 != jtt.bytecode.BC_checkcast02.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_d2f() { + begin("jtt.bytecode.BC_d2f"); + String runString = null; + try { + // (0.0) == 0.0 + runString = "(0.0)"; + if (0.0f != jtt.bytecode.BC_d2f.test(0.0)) { + fail(runString); + return; + } + // (1.0) == 1.0 + runString = "(1.0)"; + if (1.0f != jtt.bytecode.BC_d2f.test(1.0)) { + fail(runString); + return; + } + // (-1.06) == -1.06 + runString = "(-1.06)"; + if (-1.06f != jtt.bytecode.BC_d2f.test(-1.06)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_d2i01() { + begin("jtt.bytecode.BC_d2i01"); + String runString = null; + try { + // (0.0) == 0 + runString = "(0.0)"; + if (0 != jtt.bytecode.BC_d2i01.test(0.0)) { + fail(runString); + return; + } + // (1.0) == 1 + runString = "(1.0)"; + if (1 != jtt.bytecode.BC_d2i01.test(1.0)) { + fail(runString); + return; + } + // (-1.06) == -1 + runString = "(-1.06)"; + if (-1 != jtt.bytecode.BC_d2i01.test(-1.06)) { + fail(runString); + return; + } + // (-156.82743) == -156 + runString = "(-156.82743)"; + if (-156 != jtt.bytecode.BC_d2i01.test(-156.82743)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_d2i02() { + begin("jtt.bytecode.BC_d2i02"); + String runString = null; + try { + // (0) == -2147483648 + runString = "(0)"; + if (-2147483648 != jtt.bytecode.BC_d2i02.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_d2l01() { + begin("jtt.bytecode.BC_d2l01"); + String runString = null; + try { + // (0.0) == 0 + runString = "(0.0)"; + if (0L != jtt.bytecode.BC_d2l01.test(0.0)) { + fail(runString); + return; + } + // (1.0) == 1 + runString = "(1.0)"; + if (1L != jtt.bytecode.BC_d2l01.test(1.0)) { + fail(runString); + return; + } + // (-1.06) == -1 + runString = "(-1.06)"; + if (-1L != jtt.bytecode.BC_d2l01.test(-1.06)) { + fail(runString); + return; + } + // (-156.82743) == -156 + runString = "(-156.82743)"; + if (-156L != jtt.bytecode.BC_d2l01.test(-156.82743)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_d2l02() { + begin("jtt.bytecode.BC_d2l02"); + String runString = null; + try { + // (0) == -9223372036854775808 + runString = "(0)"; + if (-9223372036854775808L != jtt.bytecode.BC_d2l02.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_dadd() { + begin("jtt.bytecode.BC_dadd"); + String runString = null; + try { + // (0.0,0.0) == 0.0 + runString = "(0.0,0.0)"; + if (0.0 != jtt.bytecode.BC_dadd.test(0.0, 0.0)) { + fail(runString); + return; + } + // (1.0,1.0) == 2.0 + runString = "(1.0,1.0)"; + if (2.0 != jtt.bytecode.BC_dadd.test(1.0, 1.0)) { + fail(runString); + return; + } + // (253.11,54.43) == 307.54 + runString = "(253.11,54.43)"; + if (307.54 != jtt.bytecode.BC_dadd.test(253.11, 54.43)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_daload() { + begin("jtt.bytecode.BC_daload"); + String runString = null; + try { + // (0) == 0.0 + runString = "(0)"; + if (0.0 != jtt.bytecode.BC_daload.test(0)) { + fail(runString); + return; + } + // (1) == -1.1 + runString = "(1)"; + if (-1.1 != jtt.bytecode.BC_daload.test(1)) { + fail(runString); + return; + } + // (2) == 4.32 + runString = "(2)"; + if (4.32 != jtt.bytecode.BC_daload.test(2)) { + fail(runString); + return; + } + // (3) == 6.06 + runString = "(3)"; + if (6.06 != jtt.bytecode.BC_daload.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_dastore() { + begin("jtt.bytecode.BC_dastore"); + String runString = null; + try { + // (0,0.01) == 0.01 + runString = "(0,0.01)"; + if (0.01 != jtt.bytecode.BC_dastore.test(0, 0.01)) { + fail(runString); + return; + } + // (1,-1.4) == -1.4 + runString = "(1,-1.4)"; + if (-1.4 != jtt.bytecode.BC_dastore.test(1, -1.4)) { + fail(runString); + return; + } + // (2,0.01) == 0.01 + runString = "(2,0.01)"; + if (0.01 != jtt.bytecode.BC_dastore.test(2, 0.01)) { + fail(runString); + return; + } + // (3,-1.4) == -1.4 + runString = "(3,-1.4)"; + if (-1.4 != jtt.bytecode.BC_dastore.test(3, -1.4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_dcmp01() { + begin("jtt.bytecode.BC_dcmp01"); + String runString = null; + try { + // (0.0,-0.1) == false + runString = "(0.0,-0.1)"; + if (false != jtt.bytecode.BC_dcmp01.test(0.0, -0.1)) { + fail(runString); + return; + } + // (78.0,78.001) == true + runString = "(78.0,78.001)"; + if (true != jtt.bytecode.BC_dcmp01.test(78.0, 78.001)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_dcmp02() { + begin("jtt.bytecode.BC_dcmp02"); + String runString = null; + try { + // (-1.0) == false + runString = "(-1.0)"; + if (false != jtt.bytecode.BC_dcmp02.test(-1.0)) { + fail(runString); + return; + } + // (1.0) == false + runString = "(1.0)"; + if (false != jtt.bytecode.BC_dcmp02.test(1.0)) { + fail(runString); + return; + } + // (0.0) == false + runString = "(0.0)"; + if (false != jtt.bytecode.BC_dcmp02.test(0.0)) { + fail(runString); + return; + } + // (-0.0) == false + runString = "(-0.0)"; + if (false != jtt.bytecode.BC_dcmp02.test(-0.0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_dcmp03() { + begin("jtt.bytecode.BC_dcmp03"); + String runString = null; + try { + // (-1.0) == true + runString = "(-1.0)"; + if (true != jtt.bytecode.BC_dcmp03.test(-1.0)) { + fail(runString); + return; + } + // (1.0) == true + runString = "(1.0)"; + if (true != jtt.bytecode.BC_dcmp03.test(1.0)) { + fail(runString); + return; + } + // (0.0) == false + runString = "(0.0)"; + if (false != jtt.bytecode.BC_dcmp03.test(0.0)) { + fail(runString); + return; + } + // (-0.0) == false + runString = "(-0.0)"; + if (false != jtt.bytecode.BC_dcmp03.test(-0.0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_dcmp04() { + begin("jtt.bytecode.BC_dcmp04"); + String runString = null; + try { + // (-1.0) == false + runString = "(-1.0)"; + if (false != jtt.bytecode.BC_dcmp04.test(-1.0)) { + fail(runString); + return; + } + // (1.0) == false + runString = "(1.0)"; + if (false != jtt.bytecode.BC_dcmp04.test(1.0)) { + fail(runString); + return; + } + // (0.0) == false + runString = "(0.0)"; + if (false != jtt.bytecode.BC_dcmp04.test(0.0)) { + fail(runString); + return; + } + // (-0.0) == false + runString = "(-0.0)"; + if (false != jtt.bytecode.BC_dcmp04.test(-0.0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_dcmp05() { + begin("jtt.bytecode.BC_dcmp05"); + String runString = null; + try { + // (-1.0) == true + runString = "(-1.0)"; + if (true != jtt.bytecode.BC_dcmp05.test(-1.0)) { + fail(runString); + return; + } + // (1.0) == true + runString = "(1.0)"; + if (true != jtt.bytecode.BC_dcmp05.test(1.0)) { + fail(runString); + return; + } + // (0.0) == false + runString = "(0.0)"; + if (false != jtt.bytecode.BC_dcmp05.test(0.0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_dcmp06() { + begin("jtt.bytecode.BC_dcmp06"); + String runString = null; + try { + // (-1.0) == true + runString = "(-1.0)"; + if (true != jtt.bytecode.BC_dcmp06.test(-1.0)) { + fail(runString); + return; + } + // (1.0) == true + runString = "(1.0)"; + if (true != jtt.bytecode.BC_dcmp06.test(1.0)) { + fail(runString); + return; + } + // (0.0) == false + runString = "(0.0)"; + if (false != jtt.bytecode.BC_dcmp06.test(0.0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_dcmp07() { + begin("jtt.bytecode.BC_dcmp07"); + String runString = null; + try { + // (-1.0) == false + runString = "(-1.0)"; + if (false != jtt.bytecode.BC_dcmp07.test(-1.0)) { + fail(runString); + return; + } + // (1.0) == false + runString = "(1.0)"; + if (false != jtt.bytecode.BC_dcmp07.test(1.0)) { + fail(runString); + return; + } + // (0.0) == false + runString = "(0.0)"; + if (false != jtt.bytecode.BC_dcmp07.test(0.0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_dcmp08() { + begin("jtt.bytecode.BC_dcmp08"); + String runString = null; + try { + // (-1.0) == true + runString = "(-1.0)"; + if (true != jtt.bytecode.BC_dcmp08.test(-1.0)) { + fail(runString); + return; + } + // (1.0) == true + runString = "(1.0)"; + if (true != jtt.bytecode.BC_dcmp08.test(1.0)) { + fail(runString); + return; + } + // (0.0) == false + runString = "(0.0)"; + if (false != jtt.bytecode.BC_dcmp08.test(0.0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_dcmp09() { + begin("jtt.bytecode.BC_dcmp09"); + String runString = null; + try { + // (-1.0) == false + runString = "(-1.0)"; + if (false != jtt.bytecode.BC_dcmp09.test(-1.0)) { + fail(runString); + return; + } + // (1.0) == false + runString = "(1.0)"; + if (false != jtt.bytecode.BC_dcmp09.test(1.0)) { + fail(runString); + return; + } + // (0.0) == false + runString = "(0.0)"; + if (false != jtt.bytecode.BC_dcmp09.test(0.0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_dcmp10() { + begin("jtt.bytecode.BC_dcmp10"); + String runString = null; + try { + // (0) == false + runString = "(0)"; + if (false != jtt.bytecode.BC_dcmp10.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.bytecode.BC_dcmp10.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.bytecode.BC_dcmp10.test(2)) { + fail(runString); + return; + } + // (3) == false + runString = "(3)"; + if (false != jtt.bytecode.BC_dcmp10.test(3)) { + fail(runString); + return; + } + // (4) == true + runString = "(4)"; + if (true != jtt.bytecode.BC_dcmp10.test(4)) { + fail(runString); + return; + } + // (5) == true + runString = "(5)"; + if (true != jtt.bytecode.BC_dcmp10.test(5)) { + fail(runString); + return; + } + // (6) == false + runString = "(6)"; + if (false != jtt.bytecode.BC_dcmp10.test(6)) { + fail(runString); + return; + } + // (7) == false + runString = "(7)"; + if (false != jtt.bytecode.BC_dcmp10.test(7)) { + fail(runString); + return; + } + // (8) == false + runString = "(8)"; + if (false != jtt.bytecode.BC_dcmp10.test(8)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ddiv() { + begin("jtt.bytecode.BC_ddiv"); + String runString = null; + try { + // (311.0,10.0) == 31.1 + runString = "(311.0,10.0)"; + if (31.1 != jtt.bytecode.BC_ddiv.test(311.0, 10.0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_dmul() { + begin("jtt.bytecode.BC_dmul"); + String runString = null; + try { + // (311.0,10.0) == 3110.0 + runString = "(311.0,10.0)"; + if (3110.0 != jtt.bytecode.BC_dmul.test(311.0, 10.0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_dneg() { + begin("jtt.bytecode.BC_dneg"); + String runString = null; + try { + // (0.0) == -0.0 + runString = "(0.0)"; + if (-0.0 != jtt.bytecode.BC_dneg.test(0.0)) { + fail(runString); + return; + } + // (-1.01) == 1.01 + runString = "(-1.01)"; + if (1.01 != jtt.bytecode.BC_dneg.test(-1.01)) { + fail(runString); + return; + } + // (7263.8734) == -7263.8734 + runString = "(7263.8734)"; + if (-7263.8734 != jtt.bytecode.BC_dneg.test(7263.8734)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_drem() { + begin("jtt.bytecode.BC_drem"); + String runString = null; + try { + // (311.0,10.0) == 1.0 + runString = "(311.0,10.0)"; + if (1.0 != jtt.bytecode.BC_drem.test(311.0, 10.0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_dreturn() { + begin("jtt.bytecode.BC_dreturn"); + String runString = null; + try { + // (0.0) == 0.0 + runString = "(0.0)"; + if (0.0 != jtt.bytecode.BC_dreturn.test(0.0)) { + fail(runString); + return; + } + // (1.1) == 1.1 + runString = "(1.1)"; + if (1.1 != jtt.bytecode.BC_dreturn.test(1.1)) { + fail(runString); + return; + } + // (-1.4) == -1.4 + runString = "(-1.4)"; + if (-1.4 != jtt.bytecode.BC_dreturn.test(-1.4)) { + fail(runString); + return; + } + // (256.33) == 256.33 + runString = "(256.33)"; + if (256.33 != jtt.bytecode.BC_dreturn.test(256.33)) { + fail(runString); + return; + } + // (1000.001) == 1000.001 + runString = "(1000.001)"; + if (1000.001 != jtt.bytecode.BC_dreturn.test(1000.001)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_dsub() { + begin("jtt.bytecode.BC_dsub"); + String runString = null; + try { + // (0.0,0.0) == 0.0 + runString = "(0.0,0.0)"; + if (0.0 != jtt.bytecode.BC_dsub.test(0.0, 0.0)) { + fail(runString); + return; + } + // (1.0,1.0) == 0.0 + runString = "(1.0,1.0)"; + if (0.0 != jtt.bytecode.BC_dsub.test(1.0, 1.0)) { + fail(runString); + return; + } + // (253.11,54.43) == 198.68 + runString = "(253.11,54.43)"; + if (198.68 != jtt.bytecode.BC_dsub.test(253.11, 54.43)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_f2d() { + begin("jtt.bytecode.BC_f2d"); + String runString = null; + try { + // (0.0) == 0.0 + runString = "(0.0)"; + if (0.0 != jtt.bytecode.BC_f2d.test(0.0f)) { + fail(runString); + return; + } + // (1.0) == 1.0 + runString = "(1.0)"; + if (1.0 != jtt.bytecode.BC_f2d.test(1.0f)) { + fail(runString); + return; + } + // (-2.0) == -2.0 + runString = "(-2.0)"; + if (-2.0 != jtt.bytecode.BC_f2d.test(-2.0f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_f2i01() { + begin("jtt.bytecode.BC_f2i01"); + String runString = null; + try { + // (0.0) == 0 + runString = "(0.0)"; + if (0 != jtt.bytecode.BC_f2i01.test(0.0f)) { + fail(runString); + return; + } + // (1.0) == 1 + runString = "(1.0)"; + if (1 != jtt.bytecode.BC_f2i01.test(1.0f)) { + fail(runString); + return; + } + // (-1.06) == -1 + runString = "(-1.06)"; + if (-1 != jtt.bytecode.BC_f2i01.test(-1.06f)) { + fail(runString); + return; + } + // (-156.82742) == -156 + runString = "(-156.82742)"; + if (-156 != jtt.bytecode.BC_f2i01.test(-156.82742f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_f2i02() { + begin("jtt.bytecode.BC_f2i02"); + String runString = null; + try { + // (0) == -2147483648 + runString = "(0)"; + if (-2147483648 != jtt.bytecode.BC_f2i02.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_f2l01() { + begin("jtt.bytecode.BC_f2l01"); + String runString = null; + try { + // (0.0) == 0 + runString = "(0.0)"; + if (0L != jtt.bytecode.BC_f2l01.test(0.0f)) { + fail(runString); + return; + } + // (1.0) == 1 + runString = "(1.0)"; + if (1L != jtt.bytecode.BC_f2l01.test(1.0f)) { + fail(runString); + return; + } + // (-1.06) == -1 + runString = "(-1.06)"; + if (-1L != jtt.bytecode.BC_f2l01.test(-1.06f)) { + fail(runString); + return; + } + // (-156.82742) == -156 + runString = "(-156.82742)"; + if (-156L != jtt.bytecode.BC_f2l01.test(-156.82742f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_f2l02() { + begin("jtt.bytecode.BC_f2l02"); + String runString = null; + try { + // (0) == -9223372036854775808 + runString = "(0)"; + if (-9223372036854775808L != jtt.bytecode.BC_f2l02.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_fadd() { + begin("jtt.bytecode.BC_fadd"); + String runString = null; + try { + // (0.0,0.0) == 0.0 + runString = "(0.0,0.0)"; + if (0.0f != jtt.bytecode.BC_fadd.test(0.0f, 0.0f)) { + fail(runString); + return; + } + // (1.0,1.0) == 2.0 + runString = "(1.0,1.0)"; + if (2.0f != jtt.bytecode.BC_fadd.test(1.0f, 1.0f)) { + fail(runString); + return; + } + // (253.11,54.43) == 307.54 + runString = "(253.11,54.43)"; + if (307.54f != jtt.bytecode.BC_fadd.test(253.11f, 54.43f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_faload() { + begin("jtt.bytecode.BC_faload"); + String runString = null; + try { + // (0) == 0.0 + runString = "(0)"; + if (0.0f != jtt.bytecode.BC_faload.test(0)) { + fail(runString); + return; + } + // (1) == -1.1 + runString = "(1)"; + if (-1.1f != jtt.bytecode.BC_faload.test(1)) { + fail(runString); + return; + } + // (2) == 4.32 + runString = "(2)"; + if (4.32f != jtt.bytecode.BC_faload.test(2)) { + fail(runString); + return; + } + // (3) == 6.06 + runString = "(3)"; + if (6.06f != jtt.bytecode.BC_faload.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_fastore() { + begin("jtt.bytecode.BC_fastore"); + String runString = null; + try { + // (0,0.01) == 0.01 + runString = "(0,0.01)"; + if (0.01f != jtt.bytecode.BC_fastore.test(0, 0.01f)) { + fail(runString); + return; + } + // (1,-1.4) == -1.4 + runString = "(1,-1.4)"; + if (-1.4f != jtt.bytecode.BC_fastore.test(1, -1.4f)) { + fail(runString); + return; + } + // (2,0.01) == 0.01 + runString = "(2,0.01)"; + if (0.01f != jtt.bytecode.BC_fastore.test(2, 0.01f)) { + fail(runString); + return; + } + // (3,-1.4) == -1.4 + runString = "(3,-1.4)"; + if (-1.4f != jtt.bytecode.BC_fastore.test(3, -1.4f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_fcmp01() { + begin("jtt.bytecode.BC_fcmp01"); + String runString = null; + try { + // (0.0,-0.1) == false + runString = "(0.0,-0.1)"; + if (false != jtt.bytecode.BC_fcmp01.test(0.0f, -0.1f)) { + fail(runString); + return; + } + // (78.0,78.001) == true + runString = "(78.0,78.001)"; + if (true != jtt.bytecode.BC_fcmp01.test(78.0f, 78.001f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_fcmp02() { + begin("jtt.bytecode.BC_fcmp02"); + String runString = null; + try { + // (-1.0) == false + runString = "(-1.0)"; + if (false != jtt.bytecode.BC_fcmp02.test(-1.0f)) { + fail(runString); + return; + } + // (1.0) == false + runString = "(1.0)"; + if (false != jtt.bytecode.BC_fcmp02.test(1.0f)) { + fail(runString); + return; + } + // (0.0) == false + runString = "(0.0)"; + if (false != jtt.bytecode.BC_fcmp02.test(0.0f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_fcmp03() { + begin("jtt.bytecode.BC_fcmp03"); + String runString = null; + try { + // (-1.0) == true + runString = "(-1.0)"; + if (true != jtt.bytecode.BC_fcmp03.test(-1.0f)) { + fail(runString); + return; + } + // (1.0) == true + runString = "(1.0)"; + if (true != jtt.bytecode.BC_fcmp03.test(1.0f)) { + fail(runString); + return; + } + // (0.0) == false + runString = "(0.0)"; + if (false != jtt.bytecode.BC_fcmp03.test(0.0f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_fcmp04() { + begin("jtt.bytecode.BC_fcmp04"); + String runString = null; + try { + // (-1.0) == false + runString = "(-1.0)"; + if (false != jtt.bytecode.BC_fcmp04.test(-1.0f)) { + fail(runString); + return; + } + // (1.0) == false + runString = "(1.0)"; + if (false != jtt.bytecode.BC_fcmp04.test(1.0f)) { + fail(runString); + return; + } + // (0.0) == false + runString = "(0.0)"; + if (false != jtt.bytecode.BC_fcmp04.test(0.0f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_fcmp05() { + begin("jtt.bytecode.BC_fcmp05"); + String runString = null; + try { + // (-1.0) == true + runString = "(-1.0)"; + if (true != jtt.bytecode.BC_fcmp05.test(-1.0f)) { + fail(runString); + return; + } + // (1.0) == true + runString = "(1.0)"; + if (true != jtt.bytecode.BC_fcmp05.test(1.0f)) { + fail(runString); + return; + } + // (0.0) == false + runString = "(0.0)"; + if (false != jtt.bytecode.BC_fcmp05.test(0.0f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_fcmp06() { + begin("jtt.bytecode.BC_fcmp06"); + String runString = null; + try { + // (-1.0) == true + runString = "(-1.0)"; + if (true != jtt.bytecode.BC_fcmp06.test(-1.0f)) { + fail(runString); + return; + } + // (1.0) == true + runString = "(1.0)"; + if (true != jtt.bytecode.BC_fcmp06.test(1.0f)) { + fail(runString); + return; + } + // (0.0) == false + runString = "(0.0)"; + if (false != jtt.bytecode.BC_fcmp06.test(0.0f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_fcmp07() { + begin("jtt.bytecode.BC_fcmp07"); + String runString = null; + try { + // (-1.0) == false + runString = "(-1.0)"; + if (false != jtt.bytecode.BC_fcmp07.test(-1.0f)) { + fail(runString); + return; + } + // (1.0) == false + runString = "(1.0)"; + if (false != jtt.bytecode.BC_fcmp07.test(1.0f)) { + fail(runString); + return; + } + // (0.0) == false + runString = "(0.0)"; + if (false != jtt.bytecode.BC_fcmp07.test(0.0f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_fcmp08() { + begin("jtt.bytecode.BC_fcmp08"); + String runString = null; + try { + // (-1.0) == true + runString = "(-1.0)"; + if (true != jtt.bytecode.BC_fcmp08.test(-1.0f)) { + fail(runString); + return; + } + // (1.0) == true + runString = "(1.0)"; + if (true != jtt.bytecode.BC_fcmp08.test(1.0f)) { + fail(runString); + return; + } + // (0.0) == false + runString = "(0.0)"; + if (false != jtt.bytecode.BC_fcmp08.test(0.0f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_fcmp09() { + begin("jtt.bytecode.BC_fcmp09"); + String runString = null; + try { + // (-1.0) == false + runString = "(-1.0)"; + if (false != jtt.bytecode.BC_fcmp09.test(-1.0f)) { + fail(runString); + return; + } + // (1.0) == false + runString = "(1.0)"; + if (false != jtt.bytecode.BC_fcmp09.test(1.0f)) { + fail(runString); + return; + } + // (0.0) == false + runString = "(0.0)"; + if (false != jtt.bytecode.BC_fcmp09.test(0.0f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_fcmp10() { + begin("jtt.bytecode.BC_fcmp10"); + String runString = null; + try { + // (0) == false + runString = "(0)"; + if (false != jtt.bytecode.BC_fcmp10.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.bytecode.BC_fcmp10.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.bytecode.BC_fcmp10.test(2)) { + fail(runString); + return; + } + // (3) == false + runString = "(3)"; + if (false != jtt.bytecode.BC_fcmp10.test(3)) { + fail(runString); + return; + } + // (4) == true + runString = "(4)"; + if (true != jtt.bytecode.BC_fcmp10.test(4)) { + fail(runString); + return; + } + // (5) == true + runString = "(5)"; + if (true != jtt.bytecode.BC_fcmp10.test(5)) { + fail(runString); + return; + } + // (6) == false + runString = "(6)"; + if (false != jtt.bytecode.BC_fcmp10.test(6)) { + fail(runString); + return; + } + // (7) == false + runString = "(7)"; + if (false != jtt.bytecode.BC_fcmp10.test(7)) { + fail(runString); + return; + } + // (8) == false + runString = "(8)"; + if (false != jtt.bytecode.BC_fcmp10.test(8)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_fdiv() { + begin("jtt.bytecode.BC_fdiv"); + String runString = null; + try { + // (311.0,10.0) == 31.1 + runString = "(311.0,10.0)"; + if (31.1f != jtt.bytecode.BC_fdiv.test(311.0f, 10.0f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_fload() { + begin("jtt.bytecode.BC_fload"); + String runString = null; + try { + // (-1.0) == -1.0 + runString = "(-1.0)"; + if (-1.0f != jtt.bytecode.BC_fload.test(-1.0f)) { + fail(runString); + return; + } + // (-1.01) == -1.01 + runString = "(-1.01)"; + if (-1.01f != jtt.bytecode.BC_fload.test(-1.01f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_fload_2() { + begin("jtt.bytecode.BC_fload_2"); + String runString = null; + try { + // (0.0,-1.0) == -1.0 + runString = "(0.0,-1.0)"; + if (-1.0f != jtt.bytecode.BC_fload_2.test(0.0f, -1.0f)) { + fail(runString); + return; + } + // (0.0,-1.01) == -1.01 + runString = "(0.0,-1.01)"; + if (-1.01f != jtt.bytecode.BC_fload_2.test(0.0f, -1.01f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_fmul() { + begin("jtt.bytecode.BC_fmul"); + String runString = null; + try { + // (311.0,10.0) == 3110.0 + runString = "(311.0,10.0)"; + if (3110.0f != jtt.bytecode.BC_fmul.test(311.0f, 10.0f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_fneg() { + begin("jtt.bytecode.BC_fneg"); + String runString = null; + try { + // (0.0) == -0.0 + runString = "(0.0)"; + if (-0.0f != jtt.bytecode.BC_fneg.test(0.0f)) { + fail(runString); + return; + } + // (-1.01) == 1.01 + runString = "(-1.01)"; + if (1.01f != jtt.bytecode.BC_fneg.test(-1.01f)) { + fail(runString); + return; + } + // (7263.8735) == -7263.8735 + runString = "(7263.8735)"; + if (-7263.8735f != jtt.bytecode.BC_fneg.test(7263.8735f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_frem() { + begin("jtt.bytecode.BC_frem"); + String runString = null; + try { + // (311.0,10.0) == 1.0 + runString = "(311.0,10.0)"; + if (1.0f != jtt.bytecode.BC_frem.test(311.0f, 10.0f)) { + fail(runString); + return; + } + // (12.5,6.0) == 0.5 + runString = "(12.5,6.0)"; + if (0.5f != jtt.bytecode.BC_frem.test(12.5f, 6.0f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_freturn() { + begin("jtt.bytecode.BC_freturn"); + String runString = null; + try { + // (0.0) == 0.0 + runString = "(0.0)"; + if (0.0f != jtt.bytecode.BC_freturn.test(0.0f)) { + fail(runString); + return; + } + // (1.1) == 1.1 + runString = "(1.1)"; + if (1.1f != jtt.bytecode.BC_freturn.test(1.1f)) { + fail(runString); + return; + } + // (-1.4) == -1.4 + runString = "(-1.4)"; + if (-1.4f != jtt.bytecode.BC_freturn.test(-1.4f)) { + fail(runString); + return; + } + // (256.33) == 256.33 + runString = "(256.33)"; + if (256.33f != jtt.bytecode.BC_freturn.test(256.33f)) { + fail(runString); + return; + } + // (1000.001) == 1000.001 + runString = "(1000.001)"; + if (1000.001f != jtt.bytecode.BC_freturn.test(1000.001f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_fsub() { + begin("jtt.bytecode.BC_fsub"); + String runString = null; + try { + // (0.0,0.0) == 0.0 + runString = "(0.0,0.0)"; + if (0.0f != jtt.bytecode.BC_fsub.test(0.0f, 0.0f)) { + fail(runString); + return; + } + // (1.0,1.0) == 0.0 + runString = "(1.0,1.0)"; + if (0.0f != jtt.bytecode.BC_fsub.test(1.0f, 1.0f)) { + fail(runString); + return; + } + // (253.11,54.43) == 198.68 + runString = "(253.11,54.43)"; + if (198.68f != jtt.bytecode.BC_fsub.test(253.11f, 54.43f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_getfield() { + begin("jtt.bytecode.BC_getfield"); + String runString = null; + try { + // (0) == 13 + runString = "(0)"; + if (13 != jtt.bytecode.BC_getfield.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_getstatic_b() { + begin("jtt.bytecode.BC_getstatic_b"); + String runString = null; + try { + // (0) == 11 + runString = "(0)"; + if ((byte) 11 != jtt.bytecode.BC_getstatic_b.test(0)) { + fail(runString); + return; + } + // (1) == 11 + runString = "(1)"; + if ((byte) 11 != jtt.bytecode.BC_getstatic_b.test(1)) { + fail(runString); + return; + } + // (2) == 11 + runString = "(2)"; + if ((byte) 11 != jtt.bytecode.BC_getstatic_b.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_getstatic_c() { + begin("jtt.bytecode.BC_getstatic_c"); + String runString = null; + try { + // (0) == '\13' + runString = "(0)"; + if ((char) 11 != jtt.bytecode.BC_getstatic_c.test(0)) { + fail(runString); + return; + } + // (1) == '\13' + runString = "(1)"; + if ((char) 11 != jtt.bytecode.BC_getstatic_c.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_getstatic_d() { + begin("jtt.bytecode.BC_getstatic_d"); + String runString = null; + try { + // (0) == 11.0 + runString = "(0)"; + if (11.0 != jtt.bytecode.BC_getstatic_d.test(0)) { + fail(runString); + return; + } + // (1) == 11.0 + runString = "(1)"; + if (11.0 != jtt.bytecode.BC_getstatic_d.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_getstatic_f() { + begin("jtt.bytecode.BC_getstatic_f"); + String runString = null; + try { + // (0) == 11.0 + runString = "(0)"; + if (11.0f != jtt.bytecode.BC_getstatic_f.test(0)) { + fail(runString); + return; + } + // (1) == 11.0 + runString = "(1)"; + if (11.0f != jtt.bytecode.BC_getstatic_f.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_getstatic_i() { + begin("jtt.bytecode.BC_getstatic_i"); + String runString = null; + try { + // (0) == 11 + runString = "(0)"; + if (11 != jtt.bytecode.BC_getstatic_i.test(0)) { + fail(runString); + return; + } + // (1) == 11 + runString = "(1)"; + if (11 != jtt.bytecode.BC_getstatic_i.test(1)) { + fail(runString); + return; + } + // (2) == 11 + runString = "(2)"; + if (11 != jtt.bytecode.BC_getstatic_i.test(2)) { + fail(runString); + return; + } + // (3) == 11 + runString = "(3)"; + if (11 != jtt.bytecode.BC_getstatic_i.test(3)) { + fail(runString); + return; + } + // (-4) == 11 + runString = "(-4)"; + if (11 != jtt.bytecode.BC_getstatic_i.test(-4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_getstatic_l() { + begin("jtt.bytecode.BC_getstatic_l"); + String runString = null; + try { + // (0) == 11 + runString = "(0)"; + if (11L != jtt.bytecode.BC_getstatic_l.test(0)) { + fail(runString); + return; + } + // (1) == 11 + runString = "(1)"; + if (11L != jtt.bytecode.BC_getstatic_l.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_getstatic_s() { + begin("jtt.bytecode.BC_getstatic_s"); + String runString = null; + try { + // (0) == 11 + runString = "(0)"; + if ((short) 11 != jtt.bytecode.BC_getstatic_s.test(0)) { + fail(runString); + return; + } + // (1) == 11 + runString = "(1)"; + if ((short) 11 != jtt.bytecode.BC_getstatic_s.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_getstatic_z() { + begin("jtt.bytecode.BC_getstatic_z"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.bytecode.BC_getstatic_z.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.bytecode.BC_getstatic_z.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_i2b() { + begin("jtt.bytecode.BC_i2b"); + String runString = null; + try { + // (-1) == -1 + runString = "(-1)"; + if ((byte) -1 != jtt.bytecode.BC_i2b.test(-1)) { + fail(runString); + return; + } + // (2) == 2 + runString = "(2)"; + if ((byte) 2 != jtt.bytecode.BC_i2b.test(2)) { + fail(runString); + return; + } + // (255) == -1 + runString = "(255)"; + if ((byte) -1 != jtt.bytecode.BC_i2b.test(255)) { + fail(runString); + return; + } + // (128) == -128 + runString = "(128)"; + if ((byte) -128 != jtt.bytecode.BC_i2b.test(128)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_i2c() { + begin("jtt.bytecode.BC_i2c"); + String runString = null; + try { + // (-1) == '\177777' + runString = "(-1)"; + if ((char) 65535 != jtt.bytecode.BC_i2c.test(-1)) { + fail(runString); + return; + } + // (645) == '\1205' + runString = "(645)"; + if ((char) 645 != jtt.bytecode.BC_i2c.test(645)) { + fail(runString); + return; + } + // (65535) == '\177777' + runString = "(65535)"; + if ((char) 65535 != jtt.bytecode.BC_i2c.test(65535)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_i2d() { + begin("jtt.bytecode.BC_i2d"); + String runString = null; + try { + // (0) == 0.0 + runString = "(0)"; + if (0.0 != jtt.bytecode.BC_i2d.test(0)) { + fail(runString); + return; + } + // (1) == 1.0 + runString = "(1)"; + if (1.0 != jtt.bytecode.BC_i2d.test(1)) { + fail(runString); + return; + } + // (-34) == -34.0 + runString = "(-34)"; + if (-34.0 != jtt.bytecode.BC_i2d.test(-34)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_i2f() { + begin("jtt.bytecode.BC_i2f"); + String runString = null; + try { + // (0) == 0.0 + runString = "(0)"; + if (0.0f != jtt.bytecode.BC_i2f.test(0)) { + fail(runString); + return; + } + // (1) == 1.0 + runString = "(1)"; + if (1.0f != jtt.bytecode.BC_i2f.test(1)) { + fail(runString); + return; + } + // (-34) == -34.0 + runString = "(-34)"; + if (-34.0f != jtt.bytecode.BC_i2f.test(-34)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_i2l() { + begin("jtt.bytecode.BC_i2l"); + String runString = null; + try { + // (1) == 1 + runString = "(1)"; + if (1L != jtt.bytecode.BC_i2l.test(1)) { + fail(runString); + return; + } + // (2) == 2 + runString = "(2)"; + if (2L != jtt.bytecode.BC_i2l.test(2)) { + fail(runString); + return; + } + // (3) == 3 + runString = "(3)"; + if (3L != jtt.bytecode.BC_i2l.test(3)) { + fail(runString); + return; + } + // (-1) == -1 + runString = "(-1)"; + if (-1L != jtt.bytecode.BC_i2l.test(-1)) { + fail(runString); + return; + } + // (-2147483647) == -2147483647 + runString = "(-2147483647)"; + if (-2147483647L != jtt.bytecode.BC_i2l.test(-2147483647)) { + fail(runString); + return; + } + // (-2147483648) == -2147483648 + runString = "(-2147483648)"; + if (-2147483648L != jtt.bytecode.BC_i2l.test(-2147483648)) { + fail(runString); + return; + } + // (2147483647) == 2147483647 + runString = "(2147483647)"; + if (2147483647L != jtt.bytecode.BC_i2l.test(2147483647)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_i2s() { + begin("jtt.bytecode.BC_i2s"); + String runString = null; + try { + // (-1) == -1 + runString = "(-1)"; + if ((short) -1 != jtt.bytecode.BC_i2s.test(-1)) { + fail(runString); + return; + } + // (34) == 34 + runString = "(34)"; + if ((short) 34 != jtt.bytecode.BC_i2s.test(34)) { + fail(runString); + return; + } + // (65535) == -1 + runString = "(65535)"; + if ((short) -1 != jtt.bytecode.BC_i2s.test(65535)) { + fail(runString); + return; + } + // (32768) == -32768 + runString = "(32768)"; + if ((short) -32768 != jtt.bytecode.BC_i2s.test(32768)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_iadd() { + begin("jtt.bytecode.BC_iadd"); + String runString = null; + try { + // (1,2) == 3 + runString = "(1,2)"; + if (3 != jtt.bytecode.BC_iadd.test(1, 2)) { + fail(runString); + return; + } + // (0,-1) == -1 + runString = "(0,-1)"; + if (-1 != jtt.bytecode.BC_iadd.test(0, -1)) { + fail(runString); + return; + } + // (33,67) == 100 + runString = "(33,67)"; + if (100 != jtt.bytecode.BC_iadd.test(33, 67)) { + fail(runString); + return; + } + // (1,-1) == 0 + runString = "(1,-1)"; + if (0 != jtt.bytecode.BC_iadd.test(1, -1)) { + fail(runString); + return; + } + // (-2147483648,1) == -2147483647 + runString = "(-2147483648,1)"; + if (-2147483647 != jtt.bytecode.BC_iadd.test(-2147483648, 1)) { + fail(runString); + return; + } + // (2147483647,1) == -2147483648 + runString = "(2147483647,1)"; + if (-2147483648 != jtt.bytecode.BC_iadd.test(2147483647, 1)) { + fail(runString); + return; + } + // (-2147483647,-2) == 2147483647 + runString = "(-2147483647,-2)"; + if (2147483647 != jtt.bytecode.BC_iadd.test(-2147483647, -2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_iadd2() { + begin("jtt.bytecode.BC_iadd2"); + String runString = null; + try { + // (1,2) == 3 + runString = "(1,2)"; + if (3 != jtt.bytecode.BC_iadd2.test((byte) 1, (byte) 2)) { + fail(runString); + return; + } + // (0,-1) == -1 + runString = "(0,-1)"; + if (-1 != jtt.bytecode.BC_iadd2.test((byte) 0, (byte) -1)) { + fail(runString); + return; + } + // (33,67) == 100 + runString = "(33,67)"; + if (100 != jtt.bytecode.BC_iadd2.test((byte) 33, (byte) 67)) { + fail(runString); + return; + } + // (1,-1) == 0 + runString = "(1,-1)"; + if (0 != jtt.bytecode.BC_iadd2.test((byte) 1, (byte) -1)) { + fail(runString); + return; + } + // (-128,1) == -127 + runString = "(-128,1)"; + if (-127 != jtt.bytecode.BC_iadd2.test((byte) -128, (byte) 1)) { + fail(runString); + return; + } + // (127,1) == 128 + runString = "(127,1)"; + if (128 != jtt.bytecode.BC_iadd2.test((byte) 127, (byte) 1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_iadd3() { + begin("jtt.bytecode.BC_iadd3"); + String runString = null; + try { + // (1,2) == 3 + runString = "(1,2)"; + if (3 != jtt.bytecode.BC_iadd3.test((short) 1, (short) 2)) { + fail(runString); + return; + } + // (0,-1) == -1 + runString = "(0,-1)"; + if (-1 != jtt.bytecode.BC_iadd3.test((short) 0, (short) -1)) { + fail(runString); + return; + } + // (33,67) == 100 + runString = "(33,67)"; + if (100 != jtt.bytecode.BC_iadd3.test((short) 33, (short) 67)) { + fail(runString); + return; + } + // (1,-1) == 0 + runString = "(1,-1)"; + if (0 != jtt.bytecode.BC_iadd3.test((short) 1, (short) -1)) { + fail(runString); + return; + } + // (-128,1) == -127 + runString = "(-128,1)"; + if (-127 != jtt.bytecode.BC_iadd3.test((short) -128, (short) 1)) { + fail(runString); + return; + } + // (127,1) == 128 + runString = "(127,1)"; + if (128 != jtt.bytecode.BC_iadd3.test((short) 127, (short) 1)) { + fail(runString); + return; + } + // (-32768,1) == -32767 + runString = "(-32768,1)"; + if (-32767 != jtt.bytecode.BC_iadd3.test((short) -32768, (short) 1)) { + fail(runString); + return; + } + // (32767,1) == 32768 + runString = "(32767,1)"; + if (32768 != jtt.bytecode.BC_iadd3.test((short) 32767, (short) 1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_iaload() { + begin("jtt.bytecode.BC_iaload"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.bytecode.BC_iaload.test(0)) { + fail(runString); + return; + } + // (1) == -1 + runString = "(1)"; + if (-1 != jtt.bytecode.BC_iaload.test(1)) { + fail(runString); + return; + } + // (2) == 4 + runString = "(2)"; + if (4 != jtt.bytecode.BC_iaload.test(2)) { + fail(runString); + return; + } + // (3) == 1000000000 + runString = "(3)"; + if (1000000000 != jtt.bytecode.BC_iaload.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_iand() { + begin("jtt.bytecode.BC_iand"); + String runString = null; + try { + // (1,2) == 0 + runString = "(1,2)"; + if (0 != jtt.bytecode.BC_iand.test(1, 2)) { + fail(runString); + return; + } + // (0,-1) == 0 + runString = "(0,-1)"; + if (0 != jtt.bytecode.BC_iand.test(0, -1)) { + fail(runString); + return; + } + // (31,63) == 31 + runString = "(31,63)"; + if (31 != jtt.bytecode.BC_iand.test(31, 63)) { + fail(runString); + return; + } + // (6,4) == 4 + runString = "(6,4)"; + if (4 != jtt.bytecode.BC_iand.test(6, 4)) { + fail(runString); + return; + } + // (-2147483648,1) == 0 + runString = "(-2147483648,1)"; + if (0 != jtt.bytecode.BC_iand.test(-2147483648, 1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_iastore() { + begin("jtt.bytecode.BC_iastore"); + String runString = null; + try { + // (0,0) == 0 + runString = "(0,0)"; + if (0 != jtt.bytecode.BC_iastore.test(0, 0)) { + fail(runString); + return; + } + // (1,-1) == -1 + runString = "(1,-1)"; + if (-1 != jtt.bytecode.BC_iastore.test(1, -1)) { + fail(runString); + return; + } + // (2,11) == 11 + runString = "(2,11)"; + if (11 != jtt.bytecode.BC_iastore.test(2, 11)) { + fail(runString); + return; + } + // (3,-14) == -14 + runString = "(3,-14)"; + if (-14 != jtt.bytecode.BC_iastore.test(3, -14)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_iconst() { + begin("jtt.bytecode.BC_iconst"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.bytecode.BC_iconst.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.bytecode.BC_iconst.test(1)) { + fail(runString); + return; + } + // (2) == 2 + runString = "(2)"; + if (2 != jtt.bytecode.BC_iconst.test(2)) { + fail(runString); + return; + } + // (3) == 3 + runString = "(3)"; + if (3 != jtt.bytecode.BC_iconst.test(3)) { + fail(runString); + return; + } + // (4) == 4 + runString = "(4)"; + if (4 != jtt.bytecode.BC_iconst.test(4)) { + fail(runString); + return; + } + // (5) == 5 + runString = "(5)"; + if (5 != jtt.bytecode.BC_iconst.test(5)) { + fail(runString); + return; + } + // (6) == 375 + runString = "(6)"; + if (375 != jtt.bytecode.BC_iconst.test(6)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_idiv() { + begin("jtt.bytecode.BC_idiv"); + String runString = null; + try { + // (1,2) == 0 + runString = "(1,2)"; + if (0 != jtt.bytecode.BC_idiv.test(1, 2)) { + fail(runString); + return; + } + // (2,-1) == -2 + runString = "(2,-1)"; + if (-2 != jtt.bytecode.BC_idiv.test(2, -1)) { + fail(runString); + return; + } + // (256,4) == 64 + runString = "(256,4)"; + if (64 != jtt.bytecode.BC_idiv.test(256, 4)) { + fail(runString); + return; + } + // (135,7) == 19 + runString = "(135,7)"; + if (19 != jtt.bytecode.BC_idiv.test(135, 7)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_idiv2() { + begin("jtt.bytecode.BC_idiv2"); + String runString = null; + try { + // (-2147483648,-1) == -2147483648 + runString = "(-2147483648,-1)"; + if (-2147483648 != jtt.bytecode.BC_idiv2.test(-2147483648, -1)) { + fail(runString); + return; + } + // (-2147483648,1) == -2147483648 + runString = "(-2147483648,1)"; + if (-2147483648 != jtt.bytecode.BC_idiv2.test(-2147483648, 1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ifeq() { + begin("jtt.bytecode.BC_ifeq"); + String runString = null; + try { + // (0) == 2 + runString = "(0)"; + if (2 != jtt.bytecode.BC_ifeq.test(0)) { + fail(runString); + return; + } + // (1) == -2 + runString = "(1)"; + if (-2 != jtt.bytecode.BC_ifeq.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ifeq_2() { + begin("jtt.bytecode.BC_ifeq_2"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.bytecode.BC_ifeq_2.test(0)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.bytecode.BC_ifeq_2.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ifeq_3() { + begin("jtt.bytecode.BC_ifeq_3"); + String runString = null; + try { + // (0) == false + runString = "(0)"; + if (false != jtt.bytecode.BC_ifeq_3.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.bytecode.BC_ifeq_3.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ifge() { + begin("jtt.bytecode.BC_ifge"); + String runString = null; + try { + // (0) == 2 + runString = "(0)"; + if (2 != jtt.bytecode.BC_ifge.test(0)) { + fail(runString); + return; + } + // (1) == 2 + runString = "(1)"; + if (2 != jtt.bytecode.BC_ifge.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ifge_2() { + begin("jtt.bytecode.BC_ifge_2"); + String runString = null; + try { + // (0,1) == false + runString = "(0,1)"; + if (false != jtt.bytecode.BC_ifge_2.test(0, 1)) { + fail(runString); + return; + } + // (1,0) == true + runString = "(1,0)"; + if (true != jtt.bytecode.BC_ifge_2.test(1, 0)) { + fail(runString); + return; + } + // (1,1) == true + runString = "(1,1)"; + if (true != jtt.bytecode.BC_ifge_2.test(1, 1)) { + fail(runString); + return; + } + // (0,-100) == true + runString = "(0,-100)"; + if (true != jtt.bytecode.BC_ifge_2.test(0, -100)) { + fail(runString); + return; + } + // (-1,0) == false + runString = "(-1,0)"; + if (false != jtt.bytecode.BC_ifge_2.test(-1, 0)) { + fail(runString); + return; + } + // (-12,-12) == true + runString = "(-12,-12)"; + if (true != jtt.bytecode.BC_ifge_2.test(-12, -12)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ifge_3() { + begin("jtt.bytecode.BC_ifge_3"); + String runString = null; + try { + // (0,1) == true + runString = "(0,1)"; + if (true != jtt.bytecode.BC_ifge_3.test(0, 1)) { + fail(runString); + return; + } + // (1,0) == false + runString = "(1,0)"; + if (false != jtt.bytecode.BC_ifge_3.test(1, 0)) { + fail(runString); + return; + } + // (1,1) == false + runString = "(1,1)"; + if (false != jtt.bytecode.BC_ifge_3.test(1, 1)) { + fail(runString); + return; + } + // (0,-100) == false + runString = "(0,-100)"; + if (false != jtt.bytecode.BC_ifge_3.test(0, -100)) { + fail(runString); + return; + } + // (-1,0) == true + runString = "(-1,0)"; + if (true != jtt.bytecode.BC_ifge_3.test(-1, 0)) { + fail(runString); + return; + } + // (-12,-12) == false + runString = "(-12,-12)"; + if (false != jtt.bytecode.BC_ifge_3.test(-12, -12)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ifgt() { + begin("jtt.bytecode.BC_ifgt"); + String runString = null; + try { + // (0) == -2 + runString = "(0)"; + if (-2 != jtt.bytecode.BC_ifgt.test(0)) { + fail(runString); + return; + } + // (1) == 2 + runString = "(1)"; + if (2 != jtt.bytecode.BC_ifgt.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ificmplt1() { + begin("jtt.bytecode.BC_ificmplt1"); + String runString = null; + try { + // (0) == 12 + runString = "(0)"; + if (12 != jtt.bytecode.BC_ificmplt1.test(0)) { + fail(runString); + return; + } + // (1) == 13 + runString = "(1)"; + if (13 != jtt.bytecode.BC_ificmplt1.test(1)) { + fail(runString); + return; + } + // (2) == 13 + runString = "(2)"; + if (13 != jtt.bytecode.BC_ificmplt1.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ificmplt2() { + begin("jtt.bytecode.BC_ificmplt2"); + String runString = null; + try { + // (0) == 12 + runString = "(0)"; + if (12 != jtt.bytecode.BC_ificmplt2.test(0)) { + fail(runString); + return; + } + // (1) == 12 + runString = "(1)"; + if (12 != jtt.bytecode.BC_ificmplt2.test(1)) { + fail(runString); + return; + } + // (2) == 13 + runString = "(2)"; + if (13 != jtt.bytecode.BC_ificmplt2.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ificmpne1() { + begin("jtt.bytecode.BC_ificmpne1"); + String runString = null; + try { + // (0) == 13 + runString = "(0)"; + if (13 != jtt.bytecode.BC_ificmpne1.test(0)) { + fail(runString); + return; + } + // (1) == 12 + runString = "(1)"; + if (12 != jtt.bytecode.BC_ificmpne1.test(1)) { + fail(runString); + return; + } + // (2) == 13 + runString = "(2)"; + if (13 != jtt.bytecode.BC_ificmpne1.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ificmpne2() { + begin("jtt.bytecode.BC_ificmpne2"); + String runString = null; + try { + // (0) == 13 + runString = "(0)"; + if (13 != jtt.bytecode.BC_ificmpne2.test(0)) { + fail(runString); + return; + } + // (1) == 12 + runString = "(1)"; + if (12 != jtt.bytecode.BC_ificmpne2.test(1)) { + fail(runString); + return; + } + // (2) == 13 + runString = "(2)"; + if (13 != jtt.bytecode.BC_ificmpne2.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ifle() { + begin("jtt.bytecode.BC_ifle"); + String runString = null; + try { + // (0) == 2 + runString = "(0)"; + if (2 != jtt.bytecode.BC_ifle.test(0)) { + fail(runString); + return; + } + // (1) == -2 + runString = "(1)"; + if (-2 != jtt.bytecode.BC_ifle.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_iflt() { + begin("jtt.bytecode.BC_iflt"); + String runString = null; + try { + // (0) == -2 + runString = "(0)"; + if (-2 != jtt.bytecode.BC_iflt.test(0)) { + fail(runString); + return; + } + // (1) == -2 + runString = "(1)"; + if (-2 != jtt.bytecode.BC_iflt.test(1)) { + fail(runString); + return; + } + // (-1) == 2 + runString = "(-1)"; + if (2 != jtt.bytecode.BC_iflt.test(-1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ifne() { + begin("jtt.bytecode.BC_ifne"); + String runString = null; + try { + // (0) == -2 + runString = "(0)"; + if (-2 != jtt.bytecode.BC_ifne.test(0)) { + fail(runString); + return; + } + // (1) == 2 + runString = "(1)"; + if (2 != jtt.bytecode.BC_ifne.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ifnonnull() { + begin("jtt.bytecode.BC_ifnonnull"); + String runString = null; + try { + // (null) == 2 + runString = "(null)"; + if (2 != jtt.bytecode.BC_ifnonnull.test(null)) { + fail(runString); + return; + } + // ("") == -2 + runString = "(\"\")"; + if (-2 != jtt.bytecode.BC_ifnonnull.test("")) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ifnonnull_2() { + begin("jtt.bytecode.BC_ifnonnull_2"); + String runString = null; + try { + // (null) == false + runString = "(null)"; + if (false != jtt.bytecode.BC_ifnonnull_2.test(null)) { + fail(runString); + return; + } + // ("") == true + runString = "(\"\")"; + if (true != jtt.bytecode.BC_ifnonnull_2.test("")) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ifnonnull_3() { + begin("jtt.bytecode.BC_ifnonnull_3"); + String runString = null; + try { + // (null) == 2 + runString = "(null)"; + if (2 != jtt.bytecode.BC_ifnonnull_3.test(null)) { + fail(runString); + return; + } + // ("") == 1 + runString = "(\"\")"; + if (1 != jtt.bytecode.BC_ifnonnull_3.test("")) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ifnull() { + begin("jtt.bytecode.BC_ifnull"); + String runString = null; + try { + // (null) == -2 + runString = "(null)"; + if (-2 != jtt.bytecode.BC_ifnull.test(null)) { + fail(runString); + return; + } + // ("") == 2 + runString = "(\"\")"; + if (2 != jtt.bytecode.BC_ifnull.test("")) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ifnull_2() { + begin("jtt.bytecode.BC_ifnull_2"); + String runString = null; + try { + // (null) == true + runString = "(null)"; + if (true != jtt.bytecode.BC_ifnull_2.test(null)) { + fail(runString); + return; + } + // ("") == false + runString = "(\"\")"; + if (false != jtt.bytecode.BC_ifnull_2.test("")) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ifnull_3() { + begin("jtt.bytecode.BC_ifnull_3"); + String runString = null; + try { + // (null) == 1 + runString = "(null)"; + if (1 != jtt.bytecode.BC_ifnull_3.test(null)) { + fail(runString); + return; + } + // ("") == 2 + runString = "(\"\")"; + if (2 != jtt.bytecode.BC_ifnull_3.test("")) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_iinc_1() { + begin("jtt.bytecode.BC_iinc_1"); + String runString = null; + try { + // (1) == 2 + runString = "(1)"; + if (2 != jtt.bytecode.BC_iinc_1.test(1)) { + fail(runString); + return; + } + // (2) == 3 + runString = "(2)"; + if (3 != jtt.bytecode.BC_iinc_1.test(2)) { + fail(runString); + return; + } + // (4) == 5 + runString = "(4)"; + if (5 != jtt.bytecode.BC_iinc_1.test(4)) { + fail(runString); + return; + } + // (-1) == 0 + runString = "(-1)"; + if (0 != jtt.bytecode.BC_iinc_1.test(-1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_iinc_2() { + begin("jtt.bytecode.BC_iinc_2"); + String runString = null; + try { + // (1) == 3 + runString = "(1)"; + if (3 != jtt.bytecode.BC_iinc_2.test(1)) { + fail(runString); + return; + } + // (2) == 4 + runString = "(2)"; + if (4 != jtt.bytecode.BC_iinc_2.test(2)) { + fail(runString); + return; + } + // (4) == 6 + runString = "(4)"; + if (6 != jtt.bytecode.BC_iinc_2.test(4)) { + fail(runString); + return; + } + // (-2) == 0 + runString = "(-2)"; + if (0 != jtt.bytecode.BC_iinc_2.test(-2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_iinc_3() { + begin("jtt.bytecode.BC_iinc_3"); + String runString = null; + try { + // (1) == 52 + runString = "(1)"; + if (52 != jtt.bytecode.BC_iinc_3.test(1)) { + fail(runString); + return; + } + // (2) == 53 + runString = "(2)"; + if (53 != jtt.bytecode.BC_iinc_3.test(2)) { + fail(runString); + return; + } + // (4) == 55 + runString = "(4)"; + if (55 != jtt.bytecode.BC_iinc_3.test(4)) { + fail(runString); + return; + } + // (-1) == 50 + runString = "(-1)"; + if (50 != jtt.bytecode.BC_iinc_3.test(-1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_iinc_4() { + begin("jtt.bytecode.BC_iinc_4"); + String runString = null; + try { + // (1) == 513 + runString = "(1)"; + if (513 != jtt.bytecode.BC_iinc_4.test(1)) { + fail(runString); + return; + } + // (2) == 514 + runString = "(2)"; + if (514 != jtt.bytecode.BC_iinc_4.test(2)) { + fail(runString); + return; + } + // (4) == 516 + runString = "(4)"; + if (516 != jtt.bytecode.BC_iinc_4.test(4)) { + fail(runString); + return; + } + // (-1) == 511 + runString = "(-1)"; + if (511 != jtt.bytecode.BC_iinc_4.test(-1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_iload_0() { + begin("jtt.bytecode.BC_iload_0"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.bytecode.BC_iload_0.test(0)) { + fail(runString); + return; + } + // (-1) == -1 + runString = "(-1)"; + if (-1 != jtt.bytecode.BC_iload_0.test(-1)) { + fail(runString); + return; + } + // (2) == 2 + runString = "(2)"; + if (2 != jtt.bytecode.BC_iload_0.test(2)) { + fail(runString); + return; + } + // (1000345) == 1000345 + runString = "(1000345)"; + if (1000345 != jtt.bytecode.BC_iload_0.test(1000345)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_iload_0_1() { + begin("jtt.bytecode.BC_iload_0_1"); + String runString = null; + try { + // (0) == 1 + runString = "(0)"; + if (1 != jtt.bytecode.BC_iload_0_1.test(0)) { + fail(runString); + return; + } + // (-1) == 0 + runString = "(-1)"; + if (0 != jtt.bytecode.BC_iload_0_1.test(-1)) { + fail(runString); + return; + } + // (2) == 3 + runString = "(2)"; + if (3 != jtt.bytecode.BC_iload_0_1.test(2)) { + fail(runString); + return; + } + // (1000345) == 1000346 + runString = "(1000345)"; + if (1000346 != jtt.bytecode.BC_iload_0_1.test(1000345)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_iload_0_2() { + begin("jtt.bytecode.BC_iload_0_2"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.bytecode.BC_iload_0_2.test(0)) { + fail(runString); + return; + } + // (-1) == -1 + runString = "(-1)"; + if (-1 != jtt.bytecode.BC_iload_0_2.test(-1)) { + fail(runString); + return; + } + // (2) == 2 + runString = "(2)"; + if (2 != jtt.bytecode.BC_iload_0_2.test(2)) { + fail(runString); + return; + } + // (1000345) == 1000345 + runString = "(1000345)"; + if (1000345 != jtt.bytecode.BC_iload_0_2.test(1000345)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_iload_1() { + begin("jtt.bytecode.BC_iload_1"); + String runString = null; + try { + // (1,0) == 0 + runString = "(1,0)"; + if (0 != jtt.bytecode.BC_iload_1.test(1, 0)) { + fail(runString); + return; + } + // (1,-1) == -1 + runString = "(1,-1)"; + if (-1 != jtt.bytecode.BC_iload_1.test(1, -1)) { + fail(runString); + return; + } + // (1,2) == 2 + runString = "(1,2)"; + if (2 != jtt.bytecode.BC_iload_1.test(1, 2)) { + fail(runString); + return; + } + // (1,1000345) == 1000345 + runString = "(1,1000345)"; + if (1000345 != jtt.bytecode.BC_iload_1.test(1, 1000345)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_iload_1_1() { + begin("jtt.bytecode.BC_iload_1_1"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.bytecode.BC_iload_1_1.test(0)) { + fail(runString); + return; + } + // (-1) == -1 + runString = "(-1)"; + if (-1 != jtt.bytecode.BC_iload_1_1.test(-1)) { + fail(runString); + return; + } + // (2) == 2 + runString = "(2)"; + if (2 != jtt.bytecode.BC_iload_1_1.test(2)) { + fail(runString); + return; + } + // (1000345) == 1000345 + runString = "(1000345)"; + if (1000345 != jtt.bytecode.BC_iload_1_1.test(1000345)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_iload_2() { + begin("jtt.bytecode.BC_iload_2"); + String runString = null; + try { + // (1,1,0) == 0 + runString = "(1,1,0)"; + if (0 != jtt.bytecode.BC_iload_2.test(1, 1, 0)) { + fail(runString); + return; + } + // (1,1,-1) == -1 + runString = "(1,1,-1)"; + if (-1 != jtt.bytecode.BC_iload_2.test(1, 1, -1)) { + fail(runString); + return; + } + // (1,1,2) == 2 + runString = "(1,1,2)"; + if (2 != jtt.bytecode.BC_iload_2.test(1, 1, 2)) { + fail(runString); + return; + } + // (1,1,1000345) == 1000345 + runString = "(1,1,1000345)"; + if (1000345 != jtt.bytecode.BC_iload_2.test(1, 1, 1000345)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_iload_3() { + begin("jtt.bytecode.BC_iload_3"); + String runString = null; + try { + // (1,1,1,0) == 0 + runString = "(1,1,1,0)"; + if (0 != jtt.bytecode.BC_iload_3.test(1, 1, 1, 0)) { + fail(runString); + return; + } + // (1,1,1,-1) == -1 + runString = "(1,1,1,-1)"; + if (-1 != jtt.bytecode.BC_iload_3.test(1, 1, 1, -1)) { + fail(runString); + return; + } + // (1,1,1,2) == 2 + runString = "(1,1,1,2)"; + if (2 != jtt.bytecode.BC_iload_3.test(1, 1, 1, 2)) { + fail(runString); + return; + } + // (1,1,1,1000345) == 1000345 + runString = "(1,1,1,1000345)"; + if (1000345 != jtt.bytecode.BC_iload_3.test(1, 1, 1, 1000345)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_imul() { + begin("jtt.bytecode.BC_imul"); + String runString = null; + try { + // (1,2) == 2 + runString = "(1,2)"; + if (2 != jtt.bytecode.BC_imul.test(1, 2)) { + fail(runString); + return; + } + // (0,-1) == 0 + runString = "(0,-1)"; + if (0 != jtt.bytecode.BC_imul.test(0, -1)) { + fail(runString); + return; + } + // (33,67) == 2211 + runString = "(33,67)"; + if (2211 != jtt.bytecode.BC_imul.test(33, 67)) { + fail(runString); + return; + } + // (1,-1) == -1 + runString = "(1,-1)"; + if (-1 != jtt.bytecode.BC_imul.test(1, -1)) { + fail(runString); + return; + } + // (-2147483648,1) == -2147483648 + runString = "(-2147483648,1)"; + if (-2147483648 != jtt.bytecode.BC_imul.test(-2147483648, 1)) { + fail(runString); + return; + } + // (2147483647,-1) == -2147483647 + runString = "(2147483647,-1)"; + if (-2147483647 != jtt.bytecode.BC_imul.test(2147483647, -1)) { + fail(runString); + return; + } + // (-2147483648,-1) == -2147483648 + runString = "(-2147483648,-1)"; + if (-2147483648 != jtt.bytecode.BC_imul.test(-2147483648, -1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ineg() { + begin("jtt.bytecode.BC_ineg"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.bytecode.BC_ineg.test(0)) { + fail(runString); + return; + } + // (-1) == 1 + runString = "(-1)"; + if (1 != jtt.bytecode.BC_ineg.test(-1)) { + fail(runString); + return; + } + // (7263) == -7263 + runString = "(7263)"; + if (-7263 != jtt.bytecode.BC_ineg.test(7263)) { + fail(runString); + return; + } + // (-2147483648) == -2147483648 + runString = "(-2147483648)"; + if (-2147483648 != jtt.bytecode.BC_ineg.test(-2147483648)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_instanceof() { + begin("jtt.bytecode.BC_instanceof"); + String runString = null; + try { + // (0) == false + runString = "(0)"; + if (false != jtt.bytecode.BC_instanceof.test(0)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.bytecode.BC_instanceof.test(1)) { + fail(runString); + return; + } + // (2) == false + runString = "(2)"; + if (false != jtt.bytecode.BC_instanceof.test(2)) { + fail(runString); + return; + } + // (3) == false + runString = "(3)"; + if (false != jtt.bytecode.BC_instanceof.test(3)) { + fail(runString); + return; + } + // (4) == true + runString = "(4)"; + if (true != jtt.bytecode.BC_instanceof.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_invokeinterface() { + begin("jtt.bytecode.BC_invokeinterface"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.bytecode.BC_invokeinterface.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.bytecode.BC_invokeinterface.test(1)) { + fail(runString); + return; + } + // (2) == 2 + runString = "(2)"; + if (2 != jtt.bytecode.BC_invokeinterface.test(2)) { + fail(runString); + return; + } + // (3) == 3 + runString = "(3)"; + if (3 != jtt.bytecode.BC_invokeinterface.test(3)) { + fail(runString); + return; + } + // (-4) == -4 + runString = "(-4)"; + if (-4 != jtt.bytecode.BC_invokeinterface.test(-4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_invokespecial() { + begin("jtt.bytecode.BC_invokespecial"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.bytecode.BC_invokespecial.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.bytecode.BC_invokespecial.test(1)) { + fail(runString); + return; + } + // (2) == 2 + runString = "(2)"; + if (2 != jtt.bytecode.BC_invokespecial.test(2)) { + fail(runString); + return; + } + // (3) == 3 + runString = "(3)"; + if (3 != jtt.bytecode.BC_invokespecial.test(3)) { + fail(runString); + return; + } + // (-4) == -4 + runString = "(-4)"; + if (-4 != jtt.bytecode.BC_invokespecial.test(-4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_invokespecial2() { + begin("jtt.bytecode.BC_invokespecial2"); + String runString = null; + try { + // (0) == 7 + runString = "(0)"; + if (7 != jtt.bytecode.BC_invokespecial2.test(0)) { + fail(runString); + return; + } + // (1) == 8 + runString = "(1)"; + if (8 != jtt.bytecode.BC_invokespecial2.test(1)) { + fail(runString); + return; + } + // (2) == 9 + runString = "(2)"; + if (9 != jtt.bytecode.BC_invokespecial2.test(2)) { + fail(runString); + return; + } + // (3) == 10 + runString = "(3)"; + if (10 != jtt.bytecode.BC_invokespecial2.test(3)) { + fail(runString); + return; + } + // (-4) == 3 + runString = "(-4)"; + if (3 != jtt.bytecode.BC_invokespecial2.test(-4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_invokestatic() { + begin("jtt.bytecode.BC_invokestatic"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.bytecode.BC_invokestatic.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.bytecode.BC_invokestatic.test(1)) { + fail(runString); + return; + } + // (2) == 2 + runString = "(2)"; + if (2 != jtt.bytecode.BC_invokestatic.test(2)) { + fail(runString); + return; + } + // (3) == 3 + runString = "(3)"; + if (3 != jtt.bytecode.BC_invokestatic.test(3)) { + fail(runString); + return; + } + // (-4) == -4 + runString = "(-4)"; + if (-4 != jtt.bytecode.BC_invokestatic.test(-4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_invokevirtual() { + begin("jtt.bytecode.BC_invokevirtual"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.bytecode.BC_invokevirtual.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.bytecode.BC_invokevirtual.test(1)) { + fail(runString); + return; + } + // (2) == 2 + runString = "(2)"; + if (2 != jtt.bytecode.BC_invokevirtual.test(2)) { + fail(runString); + return; + } + // (3) == 3 + runString = "(3)"; + if (3 != jtt.bytecode.BC_invokevirtual.test(3)) { + fail(runString); + return; + } + // (-4) == -4 + runString = "(-4)"; + if (-4 != jtt.bytecode.BC_invokevirtual.test(-4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ior() { + begin("jtt.bytecode.BC_ior"); + String runString = null; + try { + // (1,2) == 3 + runString = "(1,2)"; + if (3 != jtt.bytecode.BC_ior.test(1, 2)) { + fail(runString); + return; + } + // (0,-1) == -1 + runString = "(0,-1)"; + if (-1 != jtt.bytecode.BC_ior.test(0, -1)) { + fail(runString); + return; + } + // (31,63) == 63 + runString = "(31,63)"; + if (63 != jtt.bytecode.BC_ior.test(31, 63)) { + fail(runString); + return; + } + // (6,4) == 6 + runString = "(6,4)"; + if (6 != jtt.bytecode.BC_ior.test(6, 4)) { + fail(runString); + return; + } + // (-2147483648,1) == -2147483647 + runString = "(-2147483648,1)"; + if (-2147483647 != jtt.bytecode.BC_ior.test(-2147483648, 1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_irem() { + begin("jtt.bytecode.BC_irem"); + String runString = null; + try { + // (1,2) == 1 + runString = "(1,2)"; + if (1 != jtt.bytecode.BC_irem.test(1, 2)) { + fail(runString); + return; + } + // (2,-1) == 0 + runString = "(2,-1)"; + if (0 != jtt.bytecode.BC_irem.test(2, -1)) { + fail(runString); + return; + } + // (256,4) == 0 + runString = "(256,4)"; + if (0 != jtt.bytecode.BC_irem.test(256, 4)) { + fail(runString); + return; + } + // (135,7) == 2 + runString = "(135,7)"; + if (2 != jtt.bytecode.BC_irem.test(135, 7)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_irem2() { + begin("jtt.bytecode.BC_irem2"); + String runString = null; + try { + // (-2147483648,-1) == 0 + runString = "(-2147483648,-1)"; + if (0 != jtt.bytecode.BC_irem2.test(-2147483648, -1)) { + fail(runString); + return; + } + // (-2147483648,1) == 0 + runString = "(-2147483648,1)"; + if (0 != jtt.bytecode.BC_irem2.test(-2147483648, 1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ireturn() { + begin("jtt.bytecode.BC_ireturn"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.bytecode.BC_ireturn.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.bytecode.BC_ireturn.test(1)) { + fail(runString); + return; + } + // (-1) == -1 + runString = "(-1)"; + if (-1 != jtt.bytecode.BC_ireturn.test(-1)) { + fail(runString); + return; + } + // (256) == 256 + runString = "(256)"; + if (256 != jtt.bytecode.BC_ireturn.test(256)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ishl() { + begin("jtt.bytecode.BC_ishl"); + String runString = null; + try { + // (1,2) == 4 + runString = "(1,2)"; + if (4 != jtt.bytecode.BC_ishl.test(1, 2)) { + fail(runString); + return; + } + // (0,-1) == 0 + runString = "(0,-1)"; + if (0 != jtt.bytecode.BC_ishl.test(0, -1)) { + fail(runString); + return; + } + // (31,1) == 62 + runString = "(31,1)"; + if (62 != jtt.bytecode.BC_ishl.test(31, 1)) { + fail(runString); + return; + } + // (6,4) == 96 + runString = "(6,4)"; + if (96 != jtt.bytecode.BC_ishl.test(6, 4)) { + fail(runString); + return; + } + // (-2147483648,1) == 0 + runString = "(-2147483648,1)"; + if (0 != jtt.bytecode.BC_ishl.test(-2147483648, 1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ishr() { + begin("jtt.bytecode.BC_ishr"); + String runString = null; + try { + // (1,2) == 0 + runString = "(1,2)"; + if (0 != jtt.bytecode.BC_ishr.test(1, 2)) { + fail(runString); + return; + } + // (67,2) == 16 + runString = "(67,2)"; + if (16 != jtt.bytecode.BC_ishr.test(67, 2)) { + fail(runString); + return; + } + // (31,1) == 15 + runString = "(31,1)"; + if (15 != jtt.bytecode.BC_ishr.test(31, 1)) { + fail(runString); + return; + } + // (6,4) == 0 + runString = "(6,4)"; + if (0 != jtt.bytecode.BC_ishr.test(6, 4)) { + fail(runString); + return; + } + // (-2147483648,16) == -32768 + runString = "(-2147483648,16)"; + if (-32768 != jtt.bytecode.BC_ishr.test(-2147483648, 16)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_isub() { + begin("jtt.bytecode.BC_isub"); + String runString = null; + try { + // (1,-2) == 3 + runString = "(1,-2)"; + if (3 != jtt.bytecode.BC_isub.test(1, -2)) { + fail(runString); + return; + } + // (0,1) == -1 + runString = "(0,1)"; + if (-1 != jtt.bytecode.BC_isub.test(0, 1)) { + fail(runString); + return; + } + // (33,-67) == 100 + runString = "(33,-67)"; + if (100 != jtt.bytecode.BC_isub.test(33, -67)) { + fail(runString); + return; + } + // (1,1) == 0 + runString = "(1,1)"; + if (0 != jtt.bytecode.BC_isub.test(1, 1)) { + fail(runString); + return; + } + // (-2147483648,-1) == -2147483647 + runString = "(-2147483648,-1)"; + if (-2147483647 != jtt.bytecode.BC_isub.test(-2147483648, -1)) { + fail(runString); + return; + } + // (2147483647,-1) == -2147483648 + runString = "(2147483647,-1)"; + if (-2147483648 != jtt.bytecode.BC_isub.test(2147483647, -1)) { + fail(runString); + return; + } + // (-2147483647,2) == 2147483647 + runString = "(-2147483647,2)"; + if (2147483647 != jtt.bytecode.BC_isub.test(-2147483647, 2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_iushr() { + begin("jtt.bytecode.BC_iushr"); + String runString = null; + try { + // (1,2) == 0 + runString = "(1,2)"; + if (0 != jtt.bytecode.BC_iushr.test(1, 2)) { + fail(runString); + return; + } + // (67,2) == 16 + runString = "(67,2)"; + if (16 != jtt.bytecode.BC_iushr.test(67, 2)) { + fail(runString); + return; + } + // (31,1) == 15 + runString = "(31,1)"; + if (15 != jtt.bytecode.BC_iushr.test(31, 1)) { + fail(runString); + return; + } + // (6,4) == 0 + runString = "(6,4)"; + if (0 != jtt.bytecode.BC_iushr.test(6, 4)) { + fail(runString); + return; + } + // (-2147483648,16) == 32768 + runString = "(-2147483648,16)"; + if (32768 != jtt.bytecode.BC_iushr.test(-2147483648, 16)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ixor() { + begin("jtt.bytecode.BC_ixor"); + String runString = null; + try { + // (1,2) == 3 + runString = "(1,2)"; + if (3 != jtt.bytecode.BC_ixor.test(1, 2)) { + fail(runString); + return; + } + // (0,-1) == -1 + runString = "(0,-1)"; + if (-1 != jtt.bytecode.BC_ixor.test(0, -1)) { + fail(runString); + return; + } + // (31,63) == 32 + runString = "(31,63)"; + if (32 != jtt.bytecode.BC_ixor.test(31, 63)) { + fail(runString); + return; + } + // (6,4) == 2 + runString = "(6,4)"; + if (2 != jtt.bytecode.BC_ixor.test(6, 4)) { + fail(runString); + return; + } + // (-2147483648,1) == -2147483647 + runString = "(-2147483648,1)"; + if (-2147483647 != jtt.bytecode.BC_ixor.test(-2147483648, 1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_l2d() { + begin("jtt.bytecode.BC_l2d"); + String runString = null; + try { + // (0) == 0.0 + runString = "(0)"; + if (0.0 != jtt.bytecode.BC_l2d.test(0L)) { + fail(runString); + return; + } + // (1) == 1.0 + runString = "(1)"; + if (1.0 != jtt.bytecode.BC_l2d.test(1L)) { + fail(runString); + return; + } + // (-74652389) == -7.4652389E7 + runString = "(-74652389)"; + if (-7.4652389E7 != jtt.bytecode.BC_l2d.test(-74652389L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_l2f() { + begin("jtt.bytecode.BC_l2f"); + String runString = null; + try { + // (0) == 0.0 + runString = "(0)"; + if (0.0f != jtt.bytecode.BC_l2f.test(0L)) { + fail(runString); + return; + } + // (1) == 1.0 + runString = "(1)"; + if (1.0f != jtt.bytecode.BC_l2f.test(1L)) { + fail(runString); + return; + } + // (-74652389) == -7.4652392E7 + runString = "(-74652389)"; + if (-7.4652392E7f != jtt.bytecode.BC_l2f.test(-74652389L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_l2i() { + begin("jtt.bytecode.BC_l2i"); + String runString = null; + try { + // (1) == 1 + runString = "(1)"; + if (1 != jtt.bytecode.BC_l2i.test(1L)) { + fail(runString); + return; + } + // (2) == 2 + runString = "(2)"; + if (2 != jtt.bytecode.BC_l2i.test(2L)) { + fail(runString); + return; + } + // (3) == 3 + runString = "(3)"; + if (3 != jtt.bytecode.BC_l2i.test(3L)) { + fail(runString); + return; + } + // (-1) == -1 + runString = "(-1)"; + if (-1 != jtt.bytecode.BC_l2i.test(-1L)) { + fail(runString); + return; + } + // (-2147483647) == -2147483647 + runString = "(-2147483647)"; + if (-2147483647 != jtt.bytecode.BC_l2i.test(-2147483647L)) { + fail(runString); + return; + } + // (-2147483648) == -2147483648 + runString = "(-2147483648)"; + if (-2147483648 != jtt.bytecode.BC_l2i.test(-2147483648L)) { + fail(runString); + return; + } + // (2147483647) == 2147483647 + runString = "(2147483647)"; + if (2147483647 != jtt.bytecode.BC_l2i.test(2147483647L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ladd() { + begin("jtt.bytecode.BC_ladd"); + String runString = null; + try { + // (1,2) == 3 + runString = "(1,2)"; + if (3L != jtt.bytecode.BC_ladd.test(1L, 2L)) { + fail(runString); + return; + } + // (0,-1) == -1 + runString = "(0,-1)"; + if (-1L != jtt.bytecode.BC_ladd.test(0L, -1L)) { + fail(runString); + return; + } + // (33,67) == 100 + runString = "(33,67)"; + if (100L != jtt.bytecode.BC_ladd.test(33L, 67L)) { + fail(runString); + return; + } + // (1,-1) == 0 + runString = "(1,-1)"; + if (0L != jtt.bytecode.BC_ladd.test(1L, -1L)) { + fail(runString); + return; + } + // (-2147483648,1) == -2147483647 + runString = "(-2147483648,1)"; + if (-2147483647L != jtt.bytecode.BC_ladd.test(-2147483648L, 1L)) { + fail(runString); + return; + } + // (2147483647,1) == 2147483648 + runString = "(2147483647,1)"; + if (2147483648L != jtt.bytecode.BC_ladd.test(2147483647L, 1L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ladd2() { + begin("jtt.bytecode.BC_ladd2"); + String runString = null; + try { + // (1,2) == 3 + runString = "(1,2)"; + if (3L != jtt.bytecode.BC_ladd2.test(1, 2)) { + fail(runString); + return; + } + // (0,-1) == -1 + runString = "(0,-1)"; + if (-1L != jtt.bytecode.BC_ladd2.test(0, -1)) { + fail(runString); + return; + } + // (33,67) == 100 + runString = "(33,67)"; + if (100L != jtt.bytecode.BC_ladd2.test(33, 67)) { + fail(runString); + return; + } + // (1,-1) == 0 + runString = "(1,-1)"; + if (0L != jtt.bytecode.BC_ladd2.test(1, -1)) { + fail(runString); + return; + } + // (-2147483648,1) == -2147483647 + runString = "(-2147483648,1)"; + if (-2147483647L != jtt.bytecode.BC_ladd2.test(-2147483648, 1)) { + fail(runString); + return; + } + // (2147483647,1) == 2147483648 + runString = "(2147483647,1)"; + if (2147483648L != jtt.bytecode.BC_ladd2.test(2147483647, 1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_laload() { + begin("jtt.bytecode.BC_laload"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0L != jtt.bytecode.BC_laload.test(0)) { + fail(runString); + return; + } + // (1) == -1 + runString = "(1)"; + if (-1L != jtt.bytecode.BC_laload.test(1)) { + fail(runString); + return; + } + // (2) == 4 + runString = "(2)"; + if (4L != jtt.bytecode.BC_laload.test(2)) { + fail(runString); + return; + } + // (3) == 1000000000000 + runString = "(3)"; + if (1000000000000L != jtt.bytecode.BC_laload.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_land() { + begin("jtt.bytecode.BC_land"); + String runString = null; + try { + // (1,2) == 0 + runString = "(1,2)"; + if (0L != jtt.bytecode.BC_land.test(1L, 2L)) { + fail(runString); + return; + } + // (0,-1) == 0 + runString = "(0,-1)"; + if (0L != jtt.bytecode.BC_land.test(0L, -1L)) { + fail(runString); + return; + } + // (31,63) == 31 + runString = "(31,63)"; + if (31L != jtt.bytecode.BC_land.test(31L, 63L)) { + fail(runString); + return; + } + // (6,4) == 4 + runString = "(6,4)"; + if (4L != jtt.bytecode.BC_land.test(6L, 4L)) { + fail(runString); + return; + } + // (-2147483648,1) == 0 + runString = "(-2147483648,1)"; + if (0L != jtt.bytecode.BC_land.test(-2147483648L, 1L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_lastore() { + begin("jtt.bytecode.BC_lastore"); + String runString = null; + try { + // (0,0) == 0 + runString = "(0,0)"; + if (0L != jtt.bytecode.BC_lastore.test(0, 0L)) { + fail(runString); + return; + } + // (1,-1) == -1 + runString = "(1,-1)"; + if (-1L != jtt.bytecode.BC_lastore.test(1, -1L)) { + fail(runString); + return; + } + // (2,11) == 11 + runString = "(2,11)"; + if (11L != jtt.bytecode.BC_lastore.test(2, 11L)) { + fail(runString); + return; + } + // (3,-14) == -14 + runString = "(3,-14)"; + if (-14L != jtt.bytecode.BC_lastore.test(3, -14L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_lcmp() { + begin("jtt.bytecode.BC_lcmp"); + String runString = null; + try { + // (0,-1) == false + runString = "(0,-1)"; + if (false != jtt.bytecode.BC_lcmp.test(0L, -1L)) { + fail(runString); + return; + } + // (77,78) == true + runString = "(77,78)"; + if (true != jtt.bytecode.BC_lcmp.test(77L, 78L)) { + fail(runString); + return; + } + // (-1,0) == true + runString = "(-1,0)"; + if (true != jtt.bytecode.BC_lcmp.test(-1L, 0L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ldc_01() { + begin("jtt.bytecode.BC_ldc_01"); + String runString = null; + try { + // (0) == -123 + runString = "(0)"; + if (-123 != jtt.bytecode.BC_ldc_01.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ldc_02() { + begin("jtt.bytecode.BC_ldc_02"); + String runString = null; + try { + // (0) == -2.4 + runString = "(0)"; + if (-2.4f != jtt.bytecode.BC_ldc_02.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ldc_03() { + begin("jtt.bytecode.BC_ldc_03"); + String runString = null; + try { + // (0) == -123 + runString = "(0)"; + if (-123L != jtt.bytecode.BC_ldc_03.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ldc_04() { + begin("jtt.bytecode.BC_ldc_04"); + String runString = null; + try { + // (0) == "xyz" + runString = "(0)"; + if (!"xyz".equals(jtt.bytecode.BC_ldc_04.test(0))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ldc_05() { + begin("jtt.bytecode.BC_ldc_05"); + String runString = null; + try { + // (0) == -2.33 + runString = "(0)"; + if (-2.33 != jtt.bytecode.BC_ldc_05.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ldc_06() { + begin("jtt.bytecode.BC_ldc_06"); + String runString = null; + try { + // (0) == "jtt.bytecode.BC_ldc_06" + runString = "(0)"; + if (!"jtt.bytecode.BC_ldc_06" + .equals(jtt.bytecode.BC_ldc_06.test(0))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ldiv() { + begin("jtt.bytecode.BC_ldiv"); + String runString = null; + try { + // (1,2) == 0 + runString = "(1,2)"; + if (0L != jtt.bytecode.BC_ldiv.test(1L, 2L)) { + fail(runString); + return; + } + // (2,-1) == -2 + runString = "(2,-1)"; + if (-2L != jtt.bytecode.BC_ldiv.test(2L, -1L)) { + fail(runString); + return; + } + // (256,4) == 64 + runString = "(256,4)"; + if (64L != jtt.bytecode.BC_ldiv.test(256L, 4L)) { + fail(runString); + return; + } + // (135,7) == 19 + runString = "(135,7)"; + if (19L != jtt.bytecode.BC_ldiv.test(135L, 7L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_ldiv2() { + begin("jtt.bytecode.BC_ldiv2"); + String runString = null; + try { + // (-9223372036854775808,-1) == -9223372036854775808 + runString = "(-9223372036854775808,-1)"; + if (-9223372036854775808L != jtt.bytecode.BC_ldiv2.test( + -9223372036854775808L, -1)) { + fail(runString); + return; + } + // (-9223372036854775808,1) == -9223372036854775808 + runString = "(-9223372036854775808,1)"; + if (-9223372036854775808L != jtt.bytecode.BC_ldiv2.test( + -9223372036854775808L, 1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_lload_0() { + begin("jtt.bytecode.BC_lload_0"); + String runString = null; + try { + // (1) == 1 + runString = "(1)"; + if (1L != jtt.bytecode.BC_lload_0.test(1L)) { + fail(runString); + return; + } + // (-3) == -3 + runString = "(-3)"; + if (-3L != jtt.bytecode.BC_lload_0.test(-3L)) { + fail(runString); + return; + } + // (10000) == 10000 + runString = "(10000)"; + if (10000L != jtt.bytecode.BC_lload_0.test(10000L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_lload_01() { + begin("jtt.bytecode.BC_lload_01"); + String runString = null; + try { + // (1) == 0 + runString = "(1)"; + if (0L != jtt.bytecode.BC_lload_01.test(1)) { + fail(runString); + return; + } + // (-3) == 0 + runString = "(-3)"; + if (0L != jtt.bytecode.BC_lload_01.test(-3)) { + fail(runString); + return; + } + // (100) == 0 + runString = "(100)"; + if (0L != jtt.bytecode.BC_lload_01.test(100)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_lload_1() { + begin("jtt.bytecode.BC_lload_1"); + String runString = null; + try { + // (1,1) == 1 + runString = "(1,1)"; + if (1L != jtt.bytecode.BC_lload_1.test(1, 1L)) { + fail(runString); + return; + } + // (1,-3) == -3 + runString = "(1,-3)"; + if (-3L != jtt.bytecode.BC_lload_1.test(1, -3L)) { + fail(runString); + return; + } + // (1,10000) == 10000 + runString = "(1,10000)"; + if (10000L != jtt.bytecode.BC_lload_1.test(1, 10000L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_lload_2() { + begin("jtt.bytecode.BC_lload_2"); + String runString = null; + try { + // (1,1,1) == 1 + runString = "(1,1,1)"; + if (1L != jtt.bytecode.BC_lload_2.test(1, 1, 1L)) { + fail(runString); + return; + } + // (1,1,-3) == -3 + runString = "(1,1,-3)"; + if (-3L != jtt.bytecode.BC_lload_2.test(1, 1, -3L)) { + fail(runString); + return; + } + // (1,1,10000) == 10000 + runString = "(1,1,10000)"; + if (10000L != jtt.bytecode.BC_lload_2.test(1, 1, 10000L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_lload_3() { + begin("jtt.bytecode.BC_lload_3"); + String runString = null; + try { + // (1,1,1,1) == 1 + runString = "(1,1,1,1)"; + if (1L != jtt.bytecode.BC_lload_3.test(1, 1, 1, 1L)) { + fail(runString); + return; + } + // (1,1,1,-3) == -3 + runString = "(1,1,1,-3)"; + if (-3L != jtt.bytecode.BC_lload_3.test(1, 1, 1, -3L)) { + fail(runString); + return; + } + // (1,1,1,10000) == 10000 + runString = "(1,1,1,10000)"; + if (10000L != jtt.bytecode.BC_lload_3.test(1, 1, 1, 10000L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_lmul() { + begin("jtt.bytecode.BC_lmul"); + String runString = null; + try { + // (1,2) == 2 + runString = "(1,2)"; + if (2L != jtt.bytecode.BC_lmul.test(1L, 2L)) { + fail(runString); + return; + } + // (0,-1) == 0 + runString = "(0,-1)"; + if (0L != jtt.bytecode.BC_lmul.test(0L, -1L)) { + fail(runString); + return; + } + // (33,67) == 2211 + runString = "(33,67)"; + if (2211L != jtt.bytecode.BC_lmul.test(33L, 67L)) { + fail(runString); + return; + } + // (1,-1) == -1 + runString = "(1,-1)"; + if (-1L != jtt.bytecode.BC_lmul.test(1L, -1L)) { + fail(runString); + return; + } + // (-2147483648,1) == -2147483648 + runString = "(-2147483648,1)"; + if (-2147483648L != jtt.bytecode.BC_lmul.test(-2147483648L, 1L)) { + fail(runString); + return; + } + // (2147483647,-1) == -2147483647 + runString = "(2147483647,-1)"; + if (-2147483647L != jtt.bytecode.BC_lmul.test(2147483647L, -1L)) { + fail(runString); + return; + } + // (-2147483648,-1) == 2147483648 + runString = "(-2147483648,-1)"; + if (2147483648L != jtt.bytecode.BC_lmul.test(-2147483648L, -1L)) { + fail(runString); + return; + } + // (1000000,1000000) == 1000000000000 + runString = "(1000000,1000000)"; + if (1000000000000L != jtt.bytecode.BC_lmul.test(1000000L, 1000000L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_lneg() { + begin("jtt.bytecode.BC_lneg"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0L != jtt.bytecode.BC_lneg.test(0L)) { + fail(runString); + return; + } + // (-1) == 1 + runString = "(-1)"; + if (1L != jtt.bytecode.BC_lneg.test(-1L)) { + fail(runString); + return; + } + // (7263) == -7263 + runString = "(7263)"; + if (-7263L != jtt.bytecode.BC_lneg.test(7263L)) { + fail(runString); + return; + } + // (-2147483648) == 2147483648 + runString = "(-2147483648)"; + if (2147483648L != jtt.bytecode.BC_lneg.test(-2147483648L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_lookupswitch01() { + begin("jtt.bytecode.BC_lookupswitch01"); + String runString = null; + try { + // (0) == 42 + runString = "(0)"; + if (42 != jtt.bytecode.BC_lookupswitch01.test(0)) { + fail(runString); + return; + } + // (1) == 42 + runString = "(1)"; + if (42 != jtt.bytecode.BC_lookupswitch01.test(1)) { + fail(runString); + return; + } + // (66) == 42 + runString = "(66)"; + if (42 != jtt.bytecode.BC_lookupswitch01.test(66)) { + fail(runString); + return; + } + // (67) == 0 + runString = "(67)"; + if (0 != jtt.bytecode.BC_lookupswitch01.test(67)) { + fail(runString); + return; + } + // (68) == 42 + runString = "(68)"; + if (42 != jtt.bytecode.BC_lookupswitch01.test(68)) { + fail(runString); + return; + } + // (96) == 42 + runString = "(96)"; + if (42 != jtt.bytecode.BC_lookupswitch01.test(96)) { + fail(runString); + return; + } + // (97) == 1 + runString = "(97)"; + if (1 != jtt.bytecode.BC_lookupswitch01.test(97)) { + fail(runString); + return; + } + // (98) == 42 + runString = "(98)"; + if (42 != jtt.bytecode.BC_lookupswitch01.test(98)) { + fail(runString); + return; + } + // (106) == 42 + runString = "(106)"; + if (42 != jtt.bytecode.BC_lookupswitch01.test(106)) { + fail(runString); + return; + } + // (107) == 2 + runString = "(107)"; + if (2 != jtt.bytecode.BC_lookupswitch01.test(107)) { + fail(runString); + return; + } + // (108) == 42 + runString = "(108)"; + if (42 != jtt.bytecode.BC_lookupswitch01.test(108)) { + fail(runString); + return; + } + // (132) == 42 + runString = "(132)"; + if (42 != jtt.bytecode.BC_lookupswitch01.test(132)) { + fail(runString); + return; + } + // (133) == 3 + runString = "(133)"; + if (3 != jtt.bytecode.BC_lookupswitch01.test(133)) { + fail(runString); + return; + } + // (134) == 42 + runString = "(134)"; + if (42 != jtt.bytecode.BC_lookupswitch01.test(134)) { + fail(runString); + return; + } + // (211) == 42 + runString = "(211)"; + if (42 != jtt.bytecode.BC_lookupswitch01.test(211)) { + fail(runString); + return; + } + // (212) == 4 + runString = "(212)"; + if (4 != jtt.bytecode.BC_lookupswitch01.test(212)) { + fail(runString); + return; + } + // (213) == 42 + runString = "(213)"; + if (42 != jtt.bytecode.BC_lookupswitch01.test(213)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_lookupswitch02() { + begin("jtt.bytecode.BC_lookupswitch02"); + String runString = null; + try { + // (0) == 42 + runString = "(0)"; + if (42 != jtt.bytecode.BC_lookupswitch02.test(0)) { + fail(runString); + return; + } + // (1) == 42 + runString = "(1)"; + if (42 != jtt.bytecode.BC_lookupswitch02.test(1)) { + fail(runString); + return; + } + // (66) == 42 + runString = "(66)"; + if (42 != jtt.bytecode.BC_lookupswitch02.test(66)) { + fail(runString); + return; + } + // (67) == 0 + runString = "(67)"; + if (0 != jtt.bytecode.BC_lookupswitch02.test(67)) { + fail(runString); + return; + } + // (68) == 42 + runString = "(68)"; + if (42 != jtt.bytecode.BC_lookupswitch02.test(68)) { + fail(runString); + return; + } + // (96) == 42 + runString = "(96)"; + if (42 != jtt.bytecode.BC_lookupswitch02.test(96)) { + fail(runString); + return; + } + // (97) == 1 + runString = "(97)"; + if (1 != jtt.bytecode.BC_lookupswitch02.test(97)) { + fail(runString); + return; + } + // (98) == 42 + runString = "(98)"; + if (42 != jtt.bytecode.BC_lookupswitch02.test(98)) { + fail(runString); + return; + } + // (106) == 42 + runString = "(106)"; + if (42 != jtt.bytecode.BC_lookupswitch02.test(106)) { + fail(runString); + return; + } + // (107) == 2 + runString = "(107)"; + if (2 != jtt.bytecode.BC_lookupswitch02.test(107)) { + fail(runString); + return; + } + // (108) == 42 + runString = "(108)"; + if (42 != jtt.bytecode.BC_lookupswitch02.test(108)) { + fail(runString); + return; + } + // (132) == 42 + runString = "(132)"; + if (42 != jtt.bytecode.BC_lookupswitch02.test(132)) { + fail(runString); + return; + } + // (133) == 3 + runString = "(133)"; + if (3 != jtt.bytecode.BC_lookupswitch02.test(133)) { + fail(runString); + return; + } + // (134) == 42 + runString = "(134)"; + if (42 != jtt.bytecode.BC_lookupswitch02.test(134)) { + fail(runString); + return; + } + // (211) == 42 + runString = "(211)"; + if (42 != jtt.bytecode.BC_lookupswitch02.test(211)) { + fail(runString); + return; + } + // (212) == 4 + runString = "(212)"; + if (4 != jtt.bytecode.BC_lookupswitch02.test(212)) { + fail(runString); + return; + } + // (213) == 42 + runString = "(213)"; + if (42 != jtt.bytecode.BC_lookupswitch02.test(213)) { + fail(runString); + return; + } + // (-121) == 42 + runString = "(-121)"; + if (42 != jtt.bytecode.BC_lookupswitch02.test(-121)) { + fail(runString); + return; + } + // (-122) == 5 + runString = "(-122)"; + if (5 != jtt.bytecode.BC_lookupswitch02.test(-122)) { + fail(runString); + return; + } + // (-123) == 42 + runString = "(-123)"; + if (42 != jtt.bytecode.BC_lookupswitch02.test(-123)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_lookupswitch03() { + begin("jtt.bytecode.BC_lookupswitch03"); + String runString = null; + try { + // (0) == 42 + runString = "(0)"; + if (42 != jtt.bytecode.BC_lookupswitch03.test(0)) { + fail(runString); + return; + } + // (1) == 42 + runString = "(1)"; + if (42 != jtt.bytecode.BC_lookupswitch03.test(1)) { + fail(runString); + return; + } + // (66) == 42 + runString = "(66)"; + if (42 != jtt.bytecode.BC_lookupswitch03.test(66)) { + fail(runString); + return; + } + // (67) == 0 + runString = "(67)"; + if (0 != jtt.bytecode.BC_lookupswitch03.test(67)) { + fail(runString); + return; + } + // (68) == 42 + runString = "(68)"; + if (42 != jtt.bytecode.BC_lookupswitch03.test(68)) { + fail(runString); + return; + } + // (96) == 42 + runString = "(96)"; + if (42 != jtt.bytecode.BC_lookupswitch03.test(96)) { + fail(runString); + return; + } + // (97) == 1 + runString = "(97)"; + if (1 != jtt.bytecode.BC_lookupswitch03.test(97)) { + fail(runString); + return; + } + // (98) == 42 + runString = "(98)"; + if (42 != jtt.bytecode.BC_lookupswitch03.test(98)) { + fail(runString); + return; + } + // (106) == 42 + runString = "(106)"; + if (42 != jtt.bytecode.BC_lookupswitch03.test(106)) { + fail(runString); + return; + } + // (107) == 2 + runString = "(107)"; + if (2 != jtt.bytecode.BC_lookupswitch03.test(107)) { + fail(runString); + return; + } + // (108) == 42 + runString = "(108)"; + if (42 != jtt.bytecode.BC_lookupswitch03.test(108)) { + fail(runString); + return; + } + // (132) == 42 + runString = "(132)"; + if (42 != jtt.bytecode.BC_lookupswitch03.test(132)) { + fail(runString); + return; + } + // (133) == 3 + runString = "(133)"; + if (3 != jtt.bytecode.BC_lookupswitch03.test(133)) { + fail(runString); + return; + } + // (134) == 42 + runString = "(134)"; + if (42 != jtt.bytecode.BC_lookupswitch03.test(134)) { + fail(runString); + return; + } + // (211) == 42 + runString = "(211)"; + if (42 != jtt.bytecode.BC_lookupswitch03.test(211)) { + fail(runString); + return; + } + // (212) == 4 + runString = "(212)"; + if (4 != jtt.bytecode.BC_lookupswitch03.test(212)) { + fail(runString); + return; + } + // (213) == 42 + runString = "(213)"; + if (42 != jtt.bytecode.BC_lookupswitch03.test(213)) { + fail(runString); + return; + } + // (-121) == 42 + runString = "(-121)"; + if (42 != jtt.bytecode.BC_lookupswitch03.test(-121)) { + fail(runString); + return; + } + // (-122) == 5 + runString = "(-122)"; + if (5 != jtt.bytecode.BC_lookupswitch03.test(-122)) { + fail(runString); + return; + } + // (-123) == 42 + runString = "(-123)"; + if (42 != jtt.bytecode.BC_lookupswitch03.test(-123)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_lookupswitch04() { + begin("jtt.bytecode.BC_lookupswitch04"); + String runString = null; + try { + // (0) == 42 + runString = "(0)"; + if (42 != jtt.bytecode.BC_lookupswitch04.test(0)) { + fail(runString); + return; + } + // (1) == 42 + runString = "(1)"; + if (42 != jtt.bytecode.BC_lookupswitch04.test(1)) { + fail(runString); + return; + } + // (66) == 42 + runString = "(66)"; + if (42 != jtt.bytecode.BC_lookupswitch04.test(66)) { + fail(runString); + return; + } + // (67) == 0 + runString = "(67)"; + if (0 != jtt.bytecode.BC_lookupswitch04.test(67)) { + fail(runString); + return; + } + // (68) == 42 + runString = "(68)"; + if (42 != jtt.bytecode.BC_lookupswitch04.test(68)) { + fail(runString); + return; + } + // (96) == 42 + runString = "(96)"; + if (42 != jtt.bytecode.BC_lookupswitch04.test(96)) { + fail(runString); + return; + } + // (97) == 1 + runString = "(97)"; + if (1 != jtt.bytecode.BC_lookupswitch04.test(97)) { + fail(runString); + return; + } + // (98) == 42 + runString = "(98)"; + if (42 != jtt.bytecode.BC_lookupswitch04.test(98)) { + fail(runString); + return; + } + // (106) == 42 + runString = "(106)"; + if (42 != jtt.bytecode.BC_lookupswitch04.test(106)) { + fail(runString); + return; + } + // (107) == 2 + runString = "(107)"; + if (2 != jtt.bytecode.BC_lookupswitch04.test(107)) { + fail(runString); + return; + } + // (108) == 42 + runString = "(108)"; + if (42 != jtt.bytecode.BC_lookupswitch04.test(108)) { + fail(runString); + return; + } + // (132) == 42 + runString = "(132)"; + if (42 != jtt.bytecode.BC_lookupswitch04.test(132)) { + fail(runString); + return; + } + // (133) == 3 + runString = "(133)"; + if (3 != jtt.bytecode.BC_lookupswitch04.test(133)) { + fail(runString); + return; + } + // (134) == 42 + runString = "(134)"; + if (42 != jtt.bytecode.BC_lookupswitch04.test(134)) { + fail(runString); + return; + } + // (211) == 42 + runString = "(211)"; + if (42 != jtt.bytecode.BC_lookupswitch04.test(211)) { + fail(runString); + return; + } + // (212) == 4 + runString = "(212)"; + if (4 != jtt.bytecode.BC_lookupswitch04.test(212)) { + fail(runString); + return; + } + // (213) == 42 + runString = "(213)"; + if (42 != jtt.bytecode.BC_lookupswitch04.test(213)) { + fail(runString); + return; + } + // (-121) == 42 + runString = "(-121)"; + if (42 != jtt.bytecode.BC_lookupswitch04.test(-121)) { + fail(runString); + return; + } + // (-122) == 5 + runString = "(-122)"; + if (5 != jtt.bytecode.BC_lookupswitch04.test(-122)) { + fail(runString); + return; + } + // (-123) == 42 + runString = "(-123)"; + if (42 != jtt.bytecode.BC_lookupswitch04.test(-123)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_lor() { + begin("jtt.bytecode.BC_lor"); + String runString = null; + try { + // (1,2) == 3 + runString = "(1,2)"; + if (3L != jtt.bytecode.BC_lor.test(1L, 2L)) { + fail(runString); + return; + } + // (0,-1) == -1 + runString = "(0,-1)"; + if (-1L != jtt.bytecode.BC_lor.test(0L, -1L)) { + fail(runString); + return; + } + // (31,63) == 63 + runString = "(31,63)"; + if (63L != jtt.bytecode.BC_lor.test(31L, 63L)) { + fail(runString); + return; + } + // (6,4) == 6 + runString = "(6,4)"; + if (6L != jtt.bytecode.BC_lor.test(6L, 4L)) { + fail(runString); + return; + } + // (-2147483648,1) == -2147483647 + runString = "(-2147483648,1)"; + if (-2147483647L != jtt.bytecode.BC_lor.test(-2147483648L, 1L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_lrem() { + begin("jtt.bytecode.BC_lrem"); + String runString = null; + try { + // (1,2) == 1 + runString = "(1,2)"; + if (1L != jtt.bytecode.BC_lrem.test(1L, 2L)) { + fail(runString); + return; + } + // (2,-1) == 0 + runString = "(2,-1)"; + if (0L != jtt.bytecode.BC_lrem.test(2L, -1L)) { + fail(runString); + return; + } + // (256,4) == 0 + runString = "(256,4)"; + if (0L != jtt.bytecode.BC_lrem.test(256L, 4L)) { + fail(runString); + return; + } + // (135,7) == 2 + runString = "(135,7)"; + if (2L != jtt.bytecode.BC_lrem.test(135L, 7L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_lrem2() { + begin("jtt.bytecode.BC_lrem2"); + String runString = null; + try { + // (-9223372036854775808,-1) == 0 + runString = "(-9223372036854775808,-1)"; + if (0L != jtt.bytecode.BC_lrem2.test(-9223372036854775808L, -1)) { + fail(runString); + return; + } + // (-9223372036854775808,1) == 0 + runString = "(-9223372036854775808,1)"; + if (0L != jtt.bytecode.BC_lrem2.test(-9223372036854775808L, 1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_lreturn() { + begin("jtt.bytecode.BC_lreturn"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0L != jtt.bytecode.BC_lreturn.test(0L)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1L != jtt.bytecode.BC_lreturn.test(1L)) { + fail(runString); + return; + } + // (-1) == -1 + runString = "(-1)"; + if (-1L != jtt.bytecode.BC_lreturn.test(-1L)) { + fail(runString); + return; + } + // (256) == 256 + runString = "(256)"; + if (256L != jtt.bytecode.BC_lreturn.test(256L)) { + fail(runString); + return; + } + // (1000000000000) == 1000000000000 + runString = "(1000000000000)"; + if (1000000000000L != jtt.bytecode.BC_lreturn.test(1000000000000L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_lshl() { + begin("jtt.bytecode.BC_lshl"); + String runString = null; + try { + // (1,2) == 4 + runString = "(1,2)"; + if (4L != jtt.bytecode.BC_lshl.test(1L, 2)) { + fail(runString); + return; + } + // (0,-1) == 0 + runString = "(0,-1)"; + if (0L != jtt.bytecode.BC_lshl.test(0L, -1)) { + fail(runString); + return; + } + // (31,1) == 62 + runString = "(31,1)"; + if (62L != jtt.bytecode.BC_lshl.test(31L, 1)) { + fail(runString); + return; + } + // (6,4) == 96 + runString = "(6,4)"; + if (96L != jtt.bytecode.BC_lshl.test(6L, 4)) { + fail(runString); + return; + } + // (-2147483648,1) == -4294967296 + runString = "(-2147483648,1)"; + if (-4294967296L != jtt.bytecode.BC_lshl.test(-2147483648L, 1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_lshr() { + begin("jtt.bytecode.BC_lshr"); + String runString = null; + try { + // (1,2) == 0 + runString = "(1,2)"; + if (0L != jtt.bytecode.BC_lshr.test(1L, 2)) { + fail(runString); + return; + } + // (67,2) == 16 + runString = "(67,2)"; + if (16L != jtt.bytecode.BC_lshr.test(67L, 2)) { + fail(runString); + return; + } + // (31,1) == 15 + runString = "(31,1)"; + if (15L != jtt.bytecode.BC_lshr.test(31L, 1)) { + fail(runString); + return; + } + // (6,4) == 0 + runString = "(6,4)"; + if (0L != jtt.bytecode.BC_lshr.test(6L, 4)) { + fail(runString); + return; + } + // (-2147483648,16) == -32768 + runString = "(-2147483648,16)"; + if (-32768L != jtt.bytecode.BC_lshr.test(-2147483648L, 16)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_lsub() { + begin("jtt.bytecode.BC_lsub"); + String runString = null; + try { + // (1,-2) == 3 + runString = "(1,-2)"; + if (3L != jtt.bytecode.BC_lsub.test(1L, -2L)) { + fail(runString); + return; + } + // (0,1) == -1 + runString = "(0,1)"; + if (-1L != jtt.bytecode.BC_lsub.test(0L, 1L)) { + fail(runString); + return; + } + // (33,-67) == 100 + runString = "(33,-67)"; + if (100L != jtt.bytecode.BC_lsub.test(33L, -67L)) { + fail(runString); + return; + } + // (1,1) == 0 + runString = "(1,1)"; + if (0L != jtt.bytecode.BC_lsub.test(1L, 1L)) { + fail(runString); + return; + } + // (-2147483648,-1) == -2147483647 + runString = "(-2147483648,-1)"; + if (-2147483647L != jtt.bytecode.BC_lsub.test(-2147483648L, -1L)) { + fail(runString); + return; + } + // (2147483647,-1) == 2147483648 + runString = "(2147483647,-1)"; + if (2147483648L != jtt.bytecode.BC_lsub.test(2147483647L, -1L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_lushr() { + begin("jtt.bytecode.BC_lushr"); + String runString = null; + try { + // (1,2) == 0 + runString = "(1,2)"; + if (0L != jtt.bytecode.BC_lushr.test(1L, 2)) { + fail(runString); + return; + } + // (67,2) == 16 + runString = "(67,2)"; + if (16L != jtt.bytecode.BC_lushr.test(67L, 2)) { + fail(runString); + return; + } + // (31,1) == 15 + runString = "(31,1)"; + if (15L != jtt.bytecode.BC_lushr.test(31L, 1)) { + fail(runString); + return; + } + // (6,4) == 0 + runString = "(6,4)"; + if (0L != jtt.bytecode.BC_lushr.test(6L, 4)) { + fail(runString); + return; + } + // (-2147483648,16) == 281474976677888 + runString = "(-2147483648,16)"; + if (281474976677888L != jtt.bytecode.BC_lushr + .test(-2147483648L, 16)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_lxor() { + begin("jtt.bytecode.BC_lxor"); + String runString = null; + try { + // (1,2) == 3 + runString = "(1,2)"; + if (3L != jtt.bytecode.BC_lxor.test(1L, 2L)) { + fail(runString); + return; + } + // (0,-1) == -1 + runString = "(0,-1)"; + if (-1L != jtt.bytecode.BC_lxor.test(0L, -1L)) { + fail(runString); + return; + } + // (31,63) == 32 + runString = "(31,63)"; + if (32L != jtt.bytecode.BC_lxor.test(31L, 63L)) { + fail(runString); + return; + } + // (6,4) == 2 + runString = "(6,4)"; + if (2L != jtt.bytecode.BC_lxor.test(6L, 4L)) { + fail(runString); + return; + } + // (-2147483648,1) == -2147483647 + runString = "(-2147483648,1)"; + if (-2147483647L != jtt.bytecode.BC_lxor.test(-2147483648L, 1L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_monitorenter() { + begin("jtt.bytecode.BC_monitorenter"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.bytecode.BC_monitorenter.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.bytecode.BC_monitorenter.test(1)) { + fail(runString); + return; + } + // (-2) == -2 + runString = "(-2)"; + if (-2 != jtt.bytecode.BC_monitorenter.test(-2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_monitorenter02() { + begin("jtt.bytecode.BC_monitorenter02"); + String runString = null; + try { + // (0,1) == 0 + runString = "(0,1)"; + if (0 != jtt.bytecode.BC_monitorenter02.test(0, 1)) { + fail(runString); + return; + } + // (1,1) == 1 + runString = "(1,1)"; + if (1 != jtt.bytecode.BC_monitorenter02.test(1, 1)) { + fail(runString); + return; + } + // (-2,1) == -2 + runString = "(-2,1)"; + if (-2 != jtt.bytecode.BC_monitorenter02.test(-2, 1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_multianewarray01() { + begin("jtt.bytecode.BC_multianewarray01"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.bytecode.BC_multianewarray01.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.bytecode.BC_multianewarray01.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_multianewarray02() { + begin("jtt.bytecode.BC_multianewarray02"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.bytecode.BC_multianewarray02.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.bytecode.BC_multianewarray02.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_multianewarray03() { + begin("jtt.bytecode.BC_multianewarray03"); + String runString = null; + try { + // (1) == 4 + runString = "(1)"; + if (4 != jtt.bytecode.BC_multianewarray03.test(1)) { + fail(runString); + return; + } + // (2) == 8 + runString = "(2)"; + if (8 != jtt.bytecode.BC_multianewarray03.test(2)) { + fail(runString); + return; + } + // (3) == 12 + runString = "(3)"; + if (12 != jtt.bytecode.BC_multianewarray03.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_multianewarray04() { + begin("jtt.bytecode.BC_multianewarray04"); + String runString = null; + try { + // (1) == 41 + runString = "(1)"; + if (41 != jtt.bytecode.BC_multianewarray04.test(1)) { + fail(runString); + return; + } + // (2) == 81 + runString = "(2)"; + if (81 != jtt.bytecode.BC_multianewarray04.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_new() { + begin("jtt.bytecode.BC_new"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.bytecode.BC_new.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_newarray() { + begin("jtt.bytecode.BC_newarray"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.bytecode.BC_newarray.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.bytecode.BC_newarray.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_putfield() { + begin("jtt.bytecode.BC_putfield"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.bytecode.BC_putfield.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.bytecode.BC_putfield.test(1)) { + fail(runString); + return; + } + // (2) == 2 + runString = "(2)"; + if (2 != jtt.bytecode.BC_putfield.test(2)) { + fail(runString); + return; + } + // (-4) == -4 + runString = "(-4)"; + if (-4 != jtt.bytecode.BC_putfield.test(-4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_putstatic() { + begin("jtt.bytecode.BC_putstatic"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.bytecode.BC_putstatic.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.bytecode.BC_putstatic.test(1)) { + fail(runString); + return; + } + // (2) == 2 + runString = "(2)"; + if (2 != jtt.bytecode.BC_putstatic.test(2)) { + fail(runString); + return; + } + // (3) == 3 + runString = "(3)"; + if (3 != jtt.bytecode.BC_putstatic.test(3)) { + fail(runString); + return; + } + // (-4) == -4 + runString = "(-4)"; + if (-4 != jtt.bytecode.BC_putstatic.test(-4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_saload() { + begin("jtt.bytecode.BC_saload"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if ((short) 0 != jtt.bytecode.BC_saload.test(0)) { + fail(runString); + return; + } + // (1) == -1 + runString = "(1)"; + if ((short) -1 != jtt.bytecode.BC_saload.test(1)) { + fail(runString); + return; + } + // (2) == 4 + runString = "(2)"; + if ((short) 4 != jtt.bytecode.BC_saload.test(2)) { + fail(runString); + return; + } + // (3) == 10000 + runString = "(3)"; + if ((short) 10000 != jtt.bytecode.BC_saload.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_sastore() { + begin("jtt.bytecode.BC_sastore"); + String runString = null; + try { + // (0,0) == 0 + runString = "(0,0)"; + if ((short) 0 != jtt.bytecode.BC_sastore.test(0, (short) 0)) { + fail(runString); + return; + } + // (1,-1) == -1 + runString = "(1,-1)"; + if ((short) -1 != jtt.bytecode.BC_sastore.test(1, (short) -1)) { + fail(runString); + return; + } + // (2,11) == 11 + runString = "(2,11)"; + if ((short) 11 != jtt.bytecode.BC_sastore.test(2, (short) 11)) { + fail(runString); + return; + } + // (3,-14) == -14 + runString = "(3,-14)"; + if ((short) -14 != jtt.bytecode.BC_sastore.test(3, (short) -14)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_tableswitch() { + begin("jtt.bytecode.BC_tableswitch"); + String runString = null; + try { + // (-1) == 42 + runString = "(-1)"; + if (42 != jtt.bytecode.BC_tableswitch.test(-1)) { + fail(runString); + return; + } + // (0) == 10 + runString = "(0)"; + if (10 != jtt.bytecode.BC_tableswitch.test(0)) { + fail(runString); + return; + } + // (1) == 20 + runString = "(1)"; + if (20 != jtt.bytecode.BC_tableswitch.test(1)) { + fail(runString); + return; + } + // (2) == 30 + runString = "(2)"; + if (30 != jtt.bytecode.BC_tableswitch.test(2)) { + fail(runString); + return; + } + // (3) == 42 + runString = "(3)"; + if (42 != jtt.bytecode.BC_tableswitch.test(3)) { + fail(runString); + return; + } + // (4) == 40 + runString = "(4)"; + if (40 != jtt.bytecode.BC_tableswitch.test(4)) { + fail(runString); + return; + } + // (5) == 50 + runString = "(5)"; + if (50 != jtt.bytecode.BC_tableswitch.test(5)) { + fail(runString); + return; + } + // (6) == 42 + runString = "(6)"; + if (42 != jtt.bytecode.BC_tableswitch.test(6)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_tableswitch2() { + begin("jtt.bytecode.BC_tableswitch2"); + String runString = null; + try { + // (-1) == 11 + runString = "(-1)"; + if (11 != jtt.bytecode.BC_tableswitch2.test(-1)) { + fail(runString); + return; + } + // (0) == 11 + runString = "(0)"; + if (11 != jtt.bytecode.BC_tableswitch2.test(0)) { + fail(runString); + return; + } + // (1) == 11 + runString = "(1)"; + if (11 != jtt.bytecode.BC_tableswitch2.test(1)) { + fail(runString); + return; + } + // (5) == 55 + runString = "(5)"; + if (55 != jtt.bytecode.BC_tableswitch2.test(5)) { + fail(runString); + return; + } + // (6) == 66 + runString = "(6)"; + if (66 != jtt.bytecode.BC_tableswitch2.test(6)) { + fail(runString); + return; + } + // (7) == 77 + runString = "(7)"; + if (77 != jtt.bytecode.BC_tableswitch2.test(7)) { + fail(runString); + return; + } + // (8) == 11 + runString = "(8)"; + if (11 != jtt.bytecode.BC_tableswitch2.test(8)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_tableswitch3() { + begin("jtt.bytecode.BC_tableswitch3"); + String runString = null; + try { + // (-1) == 11 + runString = "(-1)"; + if (11 != jtt.bytecode.BC_tableswitch3.test(-1)) { + fail(runString); + return; + } + // (-2) == 22 + runString = "(-2)"; + if (22 != jtt.bytecode.BC_tableswitch3.test(-2)) { + fail(runString); + return; + } + // (-3) == 99 + runString = "(-3)"; + if (99 != jtt.bytecode.BC_tableswitch3.test(-3)) { + fail(runString); + return; + } + // (-4) == 99 + runString = "(-4)"; + if (99 != jtt.bytecode.BC_tableswitch3.test(-4)) { + fail(runString); + return; + } + // (1) == 77 + runString = "(1)"; + if (77 != jtt.bytecode.BC_tableswitch3.test(1)) { + fail(runString); + return; + } + // (2) == 99 + runString = "(2)"; + if (99 != jtt.bytecode.BC_tableswitch3.test(2)) { + fail(runString); + return; + } + // (10) == 99 + runString = "(10)"; + if (99 != jtt.bytecode.BC_tableswitch3.test(10)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_tableswitch4() { + begin("jtt.bytecode.BC_tableswitch4"); + String runString = null; + try { + // (-1) == 11 + runString = "(-1)"; + if (11 != jtt.bytecode.BC_tableswitch4.test(-1)) { + fail(runString); + return; + } + // (0) == 11 + runString = "(0)"; + if (11 != jtt.bytecode.BC_tableswitch4.test(0)) { + fail(runString); + return; + } + // (1) == 11 + runString = "(1)"; + if (11 != jtt.bytecode.BC_tableswitch4.test(1)) { + fail(runString); + return; + } + // (-5) == 55 + runString = "(-5)"; + if (55 != jtt.bytecode.BC_tableswitch4.test(-5)) { + fail(runString); + return; + } + // (-4) == 44 + runString = "(-4)"; + if (44 != jtt.bytecode.BC_tableswitch4.test(-4)) { + fail(runString); + return; + } + // (-3) == 33 + runString = "(-3)"; + if (33 != jtt.bytecode.BC_tableswitch4.test(-3)) { + fail(runString); + return; + } + // (-8) == 11 + runString = "(-8)"; + if (11 != jtt.bytecode.BC_tableswitch4.test(-8)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_wide01() { + begin("jtt.bytecode.BC_wide01"); + String runString = null; + try { + // (0) == 11 + runString = "(0)"; + if (11 != jtt.bytecode.BC_wide01.test(0)) { + fail(runString); + return; + } + // (1) == 12 + runString = "(1)"; + if (12 != jtt.bytecode.BC_wide01.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_bytecode_BC_wide02() { + begin("jtt.bytecode.BC_wide02"); + String runString = null; + try { + // (0) == 11 + runString = "(0)"; + if (11 != jtt.bytecode.BC_wide02.test(0)) { + fail(runString); + return; + } + // (1) == 12 + runString = "(1)"; + if (12 != jtt.bytecode.BC_wide02.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_ArrayLength01() { + begin("jtt.optimize.ArrayLength01"); + String runString = null; + try { + // (0) == 5 + runString = "(0)"; + if (5 != jtt.optimize.ArrayLength01.test(0)) { + fail(runString); + return; + } + // (1) == 6 + runString = "(1)"; + if (6 != jtt.optimize.ArrayLength01.test(1)) { + fail(runString); + return; + } + // (2) == 7 + runString = "(2)"; + if (7 != jtt.optimize.ArrayLength01.test(2)) { + fail(runString); + return; + } + // (3) == 8 + runString = "(3)"; + if (8 != jtt.optimize.ArrayLength01.test(3)) { + fail(runString); + return; + } + // (4) == 4 + runString = "(4)"; + if (4 != jtt.optimize.ArrayLength01.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_BC_idiv_16() { + begin("jtt.optimize.BC_idiv_16"); + String runString = null; + try { + // (0,0) == 0 + runString = "(0,0)"; + if (0 != jtt.optimize.BC_idiv_16.test(0, 0)) { + fail(runString); + return; + } + // (0,16) == 1 + runString = "(0,16)"; + if (1 != jtt.optimize.BC_idiv_16.test(0, 16)) { + fail(runString); + return; + } + // (0,17) == 1 + runString = "(0,17)"; + if (1 != jtt.optimize.BC_idiv_16.test(0, 17)) { + fail(runString); + return; + } + // (0,-1) == 0 + runString = "(0,-1)"; + if (0 != jtt.optimize.BC_idiv_16.test(0, -1)) { + fail(runString); + return; + } + // (0,-16) == -1 + runString = "(0,-16)"; + if (-1 != jtt.optimize.BC_idiv_16.test(0, -16)) { + fail(runString); + return; + } + // (0,-17) == -1 + runString = "(0,-17)"; + if (-1 != jtt.optimize.BC_idiv_16.test(0, -17)) { + fail(runString); + return; + } + // (0,-1024) == -64 + runString = "(0,-1024)"; + if (-64 != jtt.optimize.BC_idiv_16.test(0, -1024)) { + fail(runString); + return; + } + // (1,0) == 0 + runString = "(1,0)"; + if (0 != jtt.optimize.BC_idiv_16.test(1, 0)) { + fail(runString); + return; + } + // (1,16) == 1 + runString = "(1,16)"; + if (1 != jtt.optimize.BC_idiv_16.test(1, 16)) { + fail(runString); + return; + } + // (1,17) == 1 + runString = "(1,17)"; + if (1 != jtt.optimize.BC_idiv_16.test(1, 17)) { + fail(runString); + return; + } + // (1,-1) == 0 + runString = "(1,-1)"; + if (0 != jtt.optimize.BC_idiv_16.test(1, -1)) { + fail(runString); + return; + } + // (1,-16) == -1 + runString = "(1,-16)"; + if (-1 != jtt.optimize.BC_idiv_16.test(1, -16)) { + fail(runString); + return; + } + // (1,-17) == -1 + runString = "(1,-17)"; + if (-1 != jtt.optimize.BC_idiv_16.test(1, -17)) { + fail(runString); + return; + } + // (1,-1024) == -64 + runString = "(1,-1024)"; + if (-64 != jtt.optimize.BC_idiv_16.test(1, -1024)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_BC_idiv_4() { + begin("jtt.optimize.BC_idiv_4"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.optimize.BC_idiv_4.test(0)) { + fail(runString); + return; + } + // (4) == 1 + runString = "(4)"; + if (1 != jtt.optimize.BC_idiv_4.test(4)) { + fail(runString); + return; + } + // (5) == 1 + runString = "(5)"; + if (1 != jtt.optimize.BC_idiv_4.test(5)) { + fail(runString); + return; + } + // (-1) == 0 + runString = "(-1)"; + if (0 != jtt.optimize.BC_idiv_4.test(-1)) { + fail(runString); + return; + } + // (-4) == -1 + runString = "(-4)"; + if (-1 != jtt.optimize.BC_idiv_4.test(-4)) { + fail(runString); + return; + } + // (-5) == -1 + runString = "(-5)"; + if (-1 != jtt.optimize.BC_idiv_4.test(-5)) { + fail(runString); + return; + } + // (-256) == -64 + runString = "(-256)"; + if (-64 != jtt.optimize.BC_idiv_4.test(-256)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_BC_imul_16() { + begin("jtt.optimize.BC_imul_16"); + String runString = null; + try { + // (0,0) == 0 + runString = "(0,0)"; + if (0 != jtt.optimize.BC_imul_16.test(0, 0)) { + fail(runString); + return; + } + // (0,16) == 256 + runString = "(0,16)"; + if (256 != jtt.optimize.BC_imul_16.test(0, 16)) { + fail(runString); + return; + } + // (0,17) == 272 + runString = "(0,17)"; + if (272 != jtt.optimize.BC_imul_16.test(0, 17)) { + fail(runString); + return; + } + // (0,-1) == -16 + runString = "(0,-1)"; + if (-16 != jtt.optimize.BC_imul_16.test(0, -1)) { + fail(runString); + return; + } + // (0,-16) == -256 + runString = "(0,-16)"; + if (-256 != jtt.optimize.BC_imul_16.test(0, -16)) { + fail(runString); + return; + } + // (0,-17) == -272 + runString = "(0,-17)"; + if (-272 != jtt.optimize.BC_imul_16.test(0, -17)) { + fail(runString); + return; + } + // (0,2147483647) == -16 + runString = "(0,2147483647)"; + if (-16 != jtt.optimize.BC_imul_16.test(0, 2147483647)) { + fail(runString); + return; + } + // (0,-2147483648) == 0 + runString = "(0,-2147483648)"; + if (0 != jtt.optimize.BC_imul_16.test(0, -2147483648)) { + fail(runString); + return; + } + // (1,0) == 0 + runString = "(1,0)"; + if (0 != jtt.optimize.BC_imul_16.test(1, 0)) { + fail(runString); + return; + } + // (1,16) == 256 + runString = "(1,16)"; + if (256 != jtt.optimize.BC_imul_16.test(1, 16)) { + fail(runString); + return; + } + // (1,17) == 272 + runString = "(1,17)"; + if (272 != jtt.optimize.BC_imul_16.test(1, 17)) { + fail(runString); + return; + } + // (1,-1) == -16 + runString = "(1,-1)"; + if (-16 != jtt.optimize.BC_imul_16.test(1, -1)) { + fail(runString); + return; + } + // (1,-16) == -256 + runString = "(1,-16)"; + if (-256 != jtt.optimize.BC_imul_16.test(1, -16)) { + fail(runString); + return; + } + // (1,-17) == -272 + runString = "(1,-17)"; + if (-272 != jtt.optimize.BC_imul_16.test(1, -17)) { + fail(runString); + return; + } + // (1,2147483647) == -16 + runString = "(1,2147483647)"; + if (-16 != jtt.optimize.BC_imul_16.test(1, 2147483647)) { + fail(runString); + return; + } + // (1,-2147483648) == 0 + runString = "(1,-2147483648)"; + if (0 != jtt.optimize.BC_imul_16.test(1, -2147483648)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_BC_imul_4() { + begin("jtt.optimize.BC_imul_4"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.optimize.BC_imul_4.test(0)) { + fail(runString); + return; + } + // (4) == 16 + runString = "(4)"; + if (16 != jtt.optimize.BC_imul_4.test(4)) { + fail(runString); + return; + } + // (5) == 20 + runString = "(5)"; + if (20 != jtt.optimize.BC_imul_4.test(5)) { + fail(runString); + return; + } + // (-1) == -4 + runString = "(-1)"; + if (-4 != jtt.optimize.BC_imul_4.test(-1)) { + fail(runString); + return; + } + // (-4) == -16 + runString = "(-4)"; + if (-16 != jtt.optimize.BC_imul_4.test(-4)) { + fail(runString); + return; + } + // (-5) == -20 + runString = "(-5)"; + if (-20 != jtt.optimize.BC_imul_4.test(-5)) { + fail(runString); + return; + } + // (-256) == -1024 + runString = "(-256)"; + if (-1024 != jtt.optimize.BC_imul_4.test(-256)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_BC_ldiv_16() { + begin("jtt.optimize.BC_ldiv_16"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0L != jtt.optimize.BC_ldiv_16.test(0L)) { + fail(runString); + return; + } + // (16) == 1 + runString = "(16)"; + if (1L != jtt.optimize.BC_ldiv_16.test(16L)) { + fail(runString); + return; + } + // (17) == 1 + runString = "(17)"; + if (1L != jtt.optimize.BC_ldiv_16.test(17L)) { + fail(runString); + return; + } + // (-1) == 0 + runString = "(-1)"; + if (0L != jtt.optimize.BC_ldiv_16.test(-1L)) { + fail(runString); + return; + } + // (-16) == -1 + runString = "(-16)"; + if (-1L != jtt.optimize.BC_ldiv_16.test(-16L)) { + fail(runString); + return; + } + // (-17) == -1 + runString = "(-17)"; + if (-1L != jtt.optimize.BC_ldiv_16.test(-17L)) { + fail(runString); + return; + } + // (-1024) == -64 + runString = "(-1024)"; + if (-64L != jtt.optimize.BC_ldiv_16.test(-1024L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_BC_ldiv_4() { + begin("jtt.optimize.BC_ldiv_4"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0L != jtt.optimize.BC_ldiv_4.test(0L)) { + fail(runString); + return; + } + // (4) == 1 + runString = "(4)"; + if (1L != jtt.optimize.BC_ldiv_4.test(4L)) { + fail(runString); + return; + } + // (5) == 1 + runString = "(5)"; + if (1L != jtt.optimize.BC_ldiv_4.test(5L)) { + fail(runString); + return; + } + // (-1) == 0 + runString = "(-1)"; + if (0L != jtt.optimize.BC_ldiv_4.test(-1L)) { + fail(runString); + return; + } + // (-4) == -1 + runString = "(-4)"; + if (-1L != jtt.optimize.BC_ldiv_4.test(-4L)) { + fail(runString); + return; + } + // (-5) == -1 + runString = "(-5)"; + if (-1L != jtt.optimize.BC_ldiv_4.test(-5L)) { + fail(runString); + return; + } + // (-256) == -64 + runString = "(-256)"; + if (-64L != jtt.optimize.BC_ldiv_4.test(-256L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_BC_lmul_16() { + begin("jtt.optimize.BC_lmul_16"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0L != jtt.optimize.BC_lmul_16.test(0L)) { + fail(runString); + return; + } + // (16) == 256 + runString = "(16)"; + if (256L != jtt.optimize.BC_lmul_16.test(16L)) { + fail(runString); + return; + } + // (17) == 272 + runString = "(17)"; + if (272L != jtt.optimize.BC_lmul_16.test(17L)) { + fail(runString); + return; + } + // (-1) == -16 + runString = "(-1)"; + if (-16L != jtt.optimize.BC_lmul_16.test(-1L)) { + fail(runString); + return; + } + // (-16) == -256 + runString = "(-16)"; + if (-256L != jtt.optimize.BC_lmul_16.test(-16L)) { + fail(runString); + return; + } + // (-17) == -272 + runString = "(-17)"; + if (-272L != jtt.optimize.BC_lmul_16.test(-17L)) { + fail(runString); + return; + } + // (-1024) == -16384 + runString = "(-1024)"; + if (-16384L != jtt.optimize.BC_lmul_16.test(-1024L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_BC_lmul_4() { + begin("jtt.optimize.BC_lmul_4"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0L != jtt.optimize.BC_lmul_4.test(0L)) { + fail(runString); + return; + } + // (4) == 16 + runString = "(4)"; + if (16L != jtt.optimize.BC_lmul_4.test(4L)) { + fail(runString); + return; + } + // (5) == 20 + runString = "(5)"; + if (20L != jtt.optimize.BC_lmul_4.test(5L)) { + fail(runString); + return; + } + // (-1) == -4 + runString = "(-1)"; + if (-4L != jtt.optimize.BC_lmul_4.test(-1L)) { + fail(runString); + return; + } + // (-4) == -16 + runString = "(-4)"; + if (-16L != jtt.optimize.BC_lmul_4.test(-4L)) { + fail(runString); + return; + } + // (-5) == -20 + runString = "(-5)"; + if (-20L != jtt.optimize.BC_lmul_4.test(-5L)) { + fail(runString); + return; + } + // (-256) == -1024 + runString = "(-256)"; + if (-1024L != jtt.optimize.BC_lmul_4.test(-256L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_BC_lshr_C16() { + begin("jtt.optimize.BC_lshr_C16"); + String runString = null; + try { + // (87224824140) == 1330945 + runString = "(87224824140)"; + if (1330945L != jtt.optimize.BC_lshr_C16.test(87224824140L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_BC_lshr_C24() { + begin("jtt.optimize.BC_lshr_C24"); + String runString = null; + try { + // (87224824140) == 5199 + runString = "(87224824140)"; + if (5199L != jtt.optimize.BC_lshr_C24.test(87224824140L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_BC_lshr_C32() { + begin("jtt.optimize.BC_lshr_C32"); + String runString = null; + try { + // (87224824140) == 20 + runString = "(87224824140)"; + if (20L != jtt.optimize.BC_lshr_C32.test(87224824140L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_BlockSkip01() { + begin("jtt.optimize.BlockSkip01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.optimize.BlockSkip01.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.optimize.BlockSkip01.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.optimize.BlockSkip01.test(2)) { + fail(runString); + return; + } + // (3) == false + runString = "(3)"; + if (false != jtt.optimize.BlockSkip01.test(3)) { + fail(runString); + return; + } + // (4) == false + runString = "(4)"; + if (false != jtt.optimize.BlockSkip01.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Cmov01() { + begin("jtt.optimize.Cmov01"); + String runString = null; + try { + // (-1,-1) == true + runString = "(-1,-1)"; + if (true != jtt.optimize.Cmov01.test(-1, -1)) { + fail(runString); + return; + } + // (1,10) == true + runString = "(1,10)"; + if (true != jtt.optimize.Cmov01.test(1, 10)) { + fail(runString); + return; + } + // (1,0) == false + runString = "(1,0)"; + if (false != jtt.optimize.Cmov01.test(1, 0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_DeadCode01() { + begin("jtt.optimize.DeadCode01"); + String runString = null; + try { + // (0) == 4 + runString = "(0)"; + if (4 != jtt.optimize.DeadCode01.test(0)) { + fail(runString); + return; + } + // (1) == 5 + runString = "(1)"; + if (5 != jtt.optimize.DeadCode01.test(1)) { + fail(runString); + return; + } + // (2) == 6 + runString = "(2)"; + if (6 != jtt.optimize.DeadCode01.test(2)) { + fail(runString); + return; + } + // (3) == 4 + runString = "(3)"; + if (4 != jtt.optimize.DeadCode01.test(3)) { + fail(runString); + return; + } + // (4) == 5 + runString = "(4)"; + if (5 != jtt.optimize.DeadCode01.test(4)) { + fail(runString); + return; + } + // (6) == 7 + runString = "(6)"; + if (7 != jtt.optimize.DeadCode01.test(6)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Fold_Cast01() { + begin("jtt.optimize.Fold_Cast01"); + String runString = null; + try { + // (0) == 9 + runString = "(0)"; + if (9 != jtt.optimize.Fold_Cast01.test(0)) { + fail(runString); + return; + } + // (1) == 9 + runString = "(1)"; + if (9 != jtt.optimize.Fold_Cast01.test(1)) { + fail(runString); + return; + } + // (2) == !java.lang.NullPointerException + try { + runString = "(2)"; + jtt.optimize.Fold_Cast01.test(2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Fold_Convert01() { + begin("jtt.optimize.Fold_Convert01"); + String runString = null; + try { + // (0) == -128 + runString = "(0)"; + if (-128 != jtt.optimize.Fold_Convert01.test(0)) { + fail(runString); + return; + } + // (1) == -32768 + runString = "(1)"; + if (-32768 != jtt.optimize.Fold_Convert01.test(1)) { + fail(runString); + return; + } + // (2) == 65535 + runString = "(2)"; + if (65535 != jtt.optimize.Fold_Convert01.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Fold_Convert02() { + begin("jtt.optimize.Fold_Convert02"); + String runString = null; + try { + // (0) == -2147483648 + runString = "(0)"; + if (-2147483648L != jtt.optimize.Fold_Convert02.test(0)) { + fail(runString); + return; + } + // (1) == -33 + runString = "(1)"; + if (-33L != jtt.optimize.Fold_Convert02.test(1)) { + fail(runString); + return; + } + // (2) == -78 + runString = "(2)"; + if (-78L != jtt.optimize.Fold_Convert02.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Fold_Convert03() { + begin("jtt.optimize.Fold_Convert03"); + String runString = null; + try { + // (0) == 1024.0 + runString = "(0)"; + if (1024.0f != jtt.optimize.Fold_Convert03.test(0)) { + fail(runString); + return; + } + // (1) == -33.0 + runString = "(1)"; + if (-33.0f != jtt.optimize.Fold_Convert03.test(1)) { + fail(runString); + return; + } + // (2) == -78.1 + runString = "(2)"; + if (-78.1f != jtt.optimize.Fold_Convert03.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Fold_Convert04() { + begin("jtt.optimize.Fold_Convert04"); + String runString = null; + try { + // (0) == 1024.0 + runString = "(0)"; + if (1024.0 != jtt.optimize.Fold_Convert04.test(0)) { + fail(runString); + return; + } + // (1) == -1.25 + runString = "(1)"; + if (-1.25 != jtt.optimize.Fold_Convert04.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Fold_Double01() { + begin("jtt.optimize.Fold_Double01"); + String runString = null; + try { + // (0.0) == 10.0 + runString = "(0.0)"; + if (10.0 != jtt.optimize.Fold_Double01.test(0.0)) { + fail(runString); + return; + } + // (1.0) == 11.0 + runString = "(1.0)"; + if (11.0 != jtt.optimize.Fold_Double01.test(1.0)) { + fail(runString); + return; + } + // (2.0) == 12.0 + runString = "(2.0)"; + if (12.0 != jtt.optimize.Fold_Double01.test(2.0)) { + fail(runString); + return; + } + // (3.0) == 13.0 + runString = "(3.0)"; + if (13.0 != jtt.optimize.Fold_Double01.test(3.0)) { + fail(runString); + return; + } + // (4.0) == 14.0 + runString = "(4.0)"; + if (14.0 != jtt.optimize.Fold_Double01.test(4.0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Fold_Double02() { + begin("jtt.optimize.Fold_Double02"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.optimize.Fold_Double02.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.optimize.Fold_Double02.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.optimize.Fold_Double02.test(2)) { + fail(runString); + return; + } + // (3) == false + runString = "(3)"; + if (false != jtt.optimize.Fold_Double02.test(3)) { + fail(runString); + return; + } + // (4) == false + runString = "(4)"; + if (false != jtt.optimize.Fold_Double02.test(4)) { + fail(runString); + return; + } + // (5) == false + runString = "(5)"; + if (false != jtt.optimize.Fold_Double02.test(5)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Fold_Float01() { + begin("jtt.optimize.Fold_Float01"); + String runString = null; + try { + // (0.0) == 10.0 + runString = "(0.0)"; + if (10.0f != jtt.optimize.Fold_Float01.test(0.0f)) { + fail(runString); + return; + } + // (1.0) == 11.0 + runString = "(1.0)"; + if (11.0f != jtt.optimize.Fold_Float01.test(1.0f)) { + fail(runString); + return; + } + // (2.0) == 12.0 + runString = "(2.0)"; + if (12.0f != jtt.optimize.Fold_Float01.test(2.0f)) { + fail(runString); + return; + } + // (3.0) == 13.0 + runString = "(3.0)"; + if (13.0f != jtt.optimize.Fold_Float01.test(3.0f)) { + fail(runString); + return; + } + // (4.0) == 14.0 + runString = "(4.0)"; + if (14.0f != jtt.optimize.Fold_Float01.test(4.0f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Fold_Float02() { + begin("jtt.optimize.Fold_Float02"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.optimize.Fold_Float02.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.optimize.Fold_Float02.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.optimize.Fold_Float02.test(2)) { + fail(runString); + return; + } + // (3) == false + runString = "(3)"; + if (false != jtt.optimize.Fold_Float02.test(3)) { + fail(runString); + return; + } + // (4) == false + runString = "(4)"; + if (false != jtt.optimize.Fold_Float02.test(4)) { + fail(runString); + return; + } + // (5) == false + runString = "(5)"; + if (false != jtt.optimize.Fold_Float02.test(5)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Fold_InstanceOf01() { + begin("jtt.optimize.Fold_InstanceOf01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.optimize.Fold_InstanceOf01.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.optimize.Fold_InstanceOf01.test(1)) { + fail(runString); + return; + } + // (2) == false + runString = "(2)"; + if (false != jtt.optimize.Fold_InstanceOf01.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Fold_Int01() { + begin("jtt.optimize.Fold_Int01"); + String runString = null; + try { + // (0) == 10 + runString = "(0)"; + if (10 != jtt.optimize.Fold_Int01.test(0)) { + fail(runString); + return; + } + // (1) == 11 + runString = "(1)"; + if (11 != jtt.optimize.Fold_Int01.test(1)) { + fail(runString); + return; + } + // (2) == 12 + runString = "(2)"; + if (12 != jtt.optimize.Fold_Int01.test(2)) { + fail(runString); + return; + } + // (3) == 13 + runString = "(3)"; + if (13 != jtt.optimize.Fold_Int01.test(3)) { + fail(runString); + return; + } + // (4) == 14 + runString = "(4)"; + if (14 != jtt.optimize.Fold_Int01.test(4)) { + fail(runString); + return; + } + // (5) == 15 + runString = "(5)"; + if (15 != jtt.optimize.Fold_Int01.test(5)) { + fail(runString); + return; + } + // (6) == 16 + runString = "(6)"; + if (16 != jtt.optimize.Fold_Int01.test(6)) { + fail(runString); + return; + } + // (7) == 17 + runString = "(7)"; + if (17 != jtt.optimize.Fold_Int01.test(7)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Fold_Int02() { + begin("jtt.optimize.Fold_Int02"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.optimize.Fold_Int02.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.optimize.Fold_Int02.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.optimize.Fold_Int02.test(2)) { + fail(runString); + return; + } + // (3) == false + runString = "(3)"; + if (false != jtt.optimize.Fold_Int02.test(3)) { + fail(runString); + return; + } + // (4) == false + runString = "(4)"; + if (false != jtt.optimize.Fold_Int02.test(4)) { + fail(runString); + return; + } + // (5) == false + runString = "(5)"; + if (false != jtt.optimize.Fold_Int02.test(5)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Fold_Long01() { + begin("jtt.optimize.Fold_Long01"); + String runString = null; + try { + // (0) == 10 + runString = "(0)"; + if (10L != jtt.optimize.Fold_Long01.test(0)) { + fail(runString); + return; + } + // (1) == 11 + runString = "(1)"; + if (11L != jtt.optimize.Fold_Long01.test(1)) { + fail(runString); + return; + } + // (2) == 12 + runString = "(2)"; + if (12L != jtt.optimize.Fold_Long01.test(2)) { + fail(runString); + return; + } + // (3) == 13 + runString = "(3)"; + if (13L != jtt.optimize.Fold_Long01.test(3)) { + fail(runString); + return; + } + // (4) == 14 + runString = "(4)"; + if (14L != jtt.optimize.Fold_Long01.test(4)) { + fail(runString); + return; + } + // (5) == 15 + runString = "(5)"; + if (15L != jtt.optimize.Fold_Long01.test(5)) { + fail(runString); + return; + } + // (6) == 16 + runString = "(6)"; + if (16L != jtt.optimize.Fold_Long01.test(6)) { + fail(runString); + return; + } + // (7) == 17 + runString = "(7)"; + if (17L != jtt.optimize.Fold_Long01.test(7)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Fold_Long02() { + begin("jtt.optimize.Fold_Long02"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.optimize.Fold_Long02.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.optimize.Fold_Long02.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.optimize.Fold_Long02.test(2)) { + fail(runString); + return; + } + // (3) == false + runString = "(3)"; + if (false != jtt.optimize.Fold_Long02.test(3)) { + fail(runString); + return; + } + // (4) == false + runString = "(4)"; + if (false != jtt.optimize.Fold_Long02.test(4)) { + fail(runString); + return; + } + // (5) == false + runString = "(5)"; + if (false != jtt.optimize.Fold_Long02.test(5)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Fold_Math01() { + begin("jtt.optimize.Fold_Math01"); + String runString = null; + try { + // (0) == 10.0 + runString = "(0)"; + if (10.0 != jtt.optimize.Fold_Math01.test(0)) { + fail(runString); + return; + } + // (1) == 0.14943813247359922 + runString = "(1)"; + if (0.14943813247359922 != jtt.optimize.Fold_Math01.test(1)) { + fail(runString); + return; + } + // (2) == 0.9887710779360422 + runString = "(2)"; + if (0.9887710779360422 != jtt.optimize.Fold_Math01.test(2)) { + fail(runString); + return; + } + // (3) == 0.15113521805829508 + runString = "(3)"; + if (0.15113521805829508 != jtt.optimize.Fold_Math01.test(3)) { + fail(runString); + return; + } + // (4) == 0.04834938665190287 + runString = "(4)"; + if (0.04834938665190287 != jtt.optimize.Fold_Math01.test(4)) { + fail(runString); + return; + } + // (5) == 12.0 + runString = "(5)"; + if (12.0 != jtt.optimize.Fold_Math01.test(5)) { + fail(runString); + return; + } + // (6) == 1.1474024528375417 + runString = "(6)"; + if (1.1474024528375417 != jtt.optimize.Fold_Math01.test(6)) { + fail(runString); + return; + } + // (7) == -0.8239087409443188 + runString = "(7)"; + if (-0.8239087409443188 != jtt.optimize.Fold_Math01.test(7)) { + fail(runString); + return; + } + // (8) == 106.62882057436371 + runString = "(8)"; + if (106.62882057436371 != jtt.optimize.Fold_Math01.test(8)) { + fail(runString); + return; + } + // (9) == 1.1474024528375417 + runString = "(9)"; + if (1.1474024528375417 != jtt.optimize.Fold_Math01.test(9)) { + fail(runString); + return; + } + // (10) == -1.0 + runString = "(10)"; + if (-1.0 != jtt.optimize.Fold_Math01.test(10)) { + fail(runString); + return; + } + // (11) == 2.0 + runString = "(11)"; + if (2.0 != jtt.optimize.Fold_Math01.test(11)) { + fail(runString); + return; + } + // (12) == 42.0 + runString = "(12)"; + if (42.0 != jtt.optimize.Fold_Math01.test(12)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Inline01() { + begin("jtt.optimize.Inline01"); + String runString = null; + try { + // (0) == 2 + runString = "(0)"; + if (2 != jtt.optimize.Inline01.test(0)) { + fail(runString); + return; + } + // (1) == 3 + runString = "(1)"; + if (3 != jtt.optimize.Inline01.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Inline02() { + begin("jtt.optimize.Inline02"); + String runString = null; + try { + // (0) == 2 + runString = "(0)"; + if (2 != jtt.optimize.Inline02.test(0)) { + fail(runString); + return; + } + // (1) == 5 + runString = "(1)"; + if (5 != jtt.optimize.Inline02.test(1)) { + fail(runString); + return; + } + // (2) == 8 + runString = "(2)"; + if (8 != jtt.optimize.Inline02.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_List_reorder_bug() { + begin("jtt.optimize.List_reorder_bug"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.optimize.List_reorder_bug.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_NCE_01() { + begin("jtt.optimize.NCE_01"); + String runString = null; + try { + // (0) == 45 + runString = "(0)"; + if (45 != jtt.optimize.NCE_01.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_NCE_02() { + begin("jtt.optimize.NCE_02"); + String runString = null; + try { + // (0) == 23 + runString = "(0)"; + if (23 != jtt.optimize.NCE_02.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_NCE_03() { + begin("jtt.optimize.NCE_03"); + String runString = null; + try { + // (0) == 23 + runString = "(0)"; + if (23 != jtt.optimize.NCE_03.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_NCE_04() { + begin("jtt.optimize.NCE_04"); + String runString = null; + try { + // (0) == 23 + runString = "(0)"; + if (23 != jtt.optimize.NCE_04.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_NCE_FlowSensitive01() { + begin("jtt.optimize.NCE_FlowSensitive01"); + String runString = null; + try { + // (null) == null + runString = "(null)"; + if (null != jtt.optimize.NCE_FlowSensitive01.test(null)) { + fail(runString); + return; + } + // ("x") == "x" + runString = "(\"x\")"; + if (!"x".equals(jtt.optimize.NCE_FlowSensitive01.test("x"))) { + fail(runString); + return; + } + // ("yay") == "yay" + runString = "(\"yay\")"; + if (!"yay".equals(jtt.optimize.NCE_FlowSensitive01.test("yay"))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_NCE_FlowSensitive02() { + begin("jtt.optimize.NCE_FlowSensitive02"); + String runString = null; + try { + // (null) == !java.lang.NullPointerException + try { + runString = "(null)"; + jtt.optimize.NCE_FlowSensitive02.test(null); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + // ("x") == "x" + runString = "(\"x\")"; + if (!"x".equals(jtt.optimize.NCE_FlowSensitive02.test("x"))) { + fail(runString); + return; + } + // ("yay") == "yay" + runString = "(\"yay\")"; + if (!"yay".equals(jtt.optimize.NCE_FlowSensitive02.test("yay"))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_NCE_FlowSensitive03() { + begin("jtt.optimize.NCE_FlowSensitive03"); + String runString = null; + try { + // (null) == "null" + runString = "(null)"; + if (!"null".equals(jtt.optimize.NCE_FlowSensitive03.test(null))) { + fail(runString); + return; + } + // ("x") == "x" + runString = "(\"x\")"; + if (!"x".equals(jtt.optimize.NCE_FlowSensitive03.test("x"))) { + fail(runString); + return; + } + // ("yay") == "yay" + runString = "(\"yay\")"; + if (!"yay".equals(jtt.optimize.NCE_FlowSensitive03.test("yay"))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_NCE_FlowSensitive04() { + begin("jtt.optimize.NCE_FlowSensitive04"); + String runString = null; + try { + // (null) == "null" + runString = "(null)"; + if (!"null".equals(jtt.optimize.NCE_FlowSensitive04.test(null))) { + fail(runString); + return; + } + // ("x") == "x" + runString = "(\"x\")"; + if (!"x".equals(jtt.optimize.NCE_FlowSensitive04.test("x"))) { + fail(runString); + return; + } + // ("yay") == "yay" + runString = "(\"yay\")"; + if (!"yay".equals(jtt.optimize.NCE_FlowSensitive04.test("yay"))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Narrow_byte01() { + begin("jtt.optimize.Narrow_byte01"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if ((byte) 0 != jtt.optimize.Narrow_byte01.test((byte) 0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if ((byte) 1 != jtt.optimize.Narrow_byte01.test((byte) 1)) { + fail(runString); + return; + } + // (-1) == -1 + runString = "(-1)"; + if ((byte) -1 != jtt.optimize.Narrow_byte01.test((byte) -1)) { + fail(runString); + return; + } + // (110) == 110 + runString = "(110)"; + if ((byte) 110 != jtt.optimize.Narrow_byte01.test((byte) 110)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Narrow_byte02() { + begin("jtt.optimize.Narrow_byte02"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if ((byte) 0 != jtt.optimize.Narrow_byte02.test((byte) 0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if ((byte) 1 != jtt.optimize.Narrow_byte02.test((byte) 1)) { + fail(runString); + return; + } + // (-1) == -1 + runString = "(-1)"; + if ((byte) -1 != jtt.optimize.Narrow_byte02.test((byte) -1)) { + fail(runString); + return; + } + // (110) == 110 + runString = "(110)"; + if ((byte) 110 != jtt.optimize.Narrow_byte02.test((byte) 110)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Narrow_byte03() { + begin("jtt.optimize.Narrow_byte03"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if ((byte) 0 != jtt.optimize.Narrow_byte03.test((byte) 0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if ((byte) 1 != jtt.optimize.Narrow_byte03.test((byte) 1)) { + fail(runString); + return; + } + // (-1) == -1 + runString = "(-1)"; + if ((byte) -1 != jtt.optimize.Narrow_byte03.test((byte) -1)) { + fail(runString); + return; + } + // (110) == 110 + runString = "(110)"; + if ((byte) 110 != jtt.optimize.Narrow_byte03.test((byte) 110)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Narrow_char01() { + begin("jtt.optimize.Narrow_char01"); + String runString = null; + try { + // ('\0') == '\0' + runString = "('\0')"; + if ((char) 0 != jtt.optimize.Narrow_char01.test((char) 0)) { + fail(runString); + return; + } + // ('\1') == '\1' + runString = "('\1')"; + if ((char) 1 != jtt.optimize.Narrow_char01.test((char) 1)) { + fail(runString); + return; + } + // ('\377') == '\377' + runString = "('\377')"; + if ((char) 255 != jtt.optimize.Narrow_char01.test((char) 255)) { + fail(runString); + return; + } + // ('\176750') == '\176750' + runString = "('\176750')"; + if ((char) 65000 != jtt.optimize.Narrow_char01.test((char) 65000)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Narrow_char02() { + begin("jtt.optimize.Narrow_char02"); + String runString = null; + try { + // ('\0') == '\0' + runString = "('\0')"; + if ((char) 0 != jtt.optimize.Narrow_char02.test((char) 0)) { + fail(runString); + return; + } + // ('\1') == '\1' + runString = "('\1')"; + if ((char) 1 != jtt.optimize.Narrow_char02.test((char) 1)) { + fail(runString); + return; + } + // ('\377') == '\377' + runString = "('\377')"; + if ((char) 255 != jtt.optimize.Narrow_char02.test((char) 255)) { + fail(runString); + return; + } + // ('\176750') == '\176750' + runString = "('\176750')"; + if ((char) 65000 != jtt.optimize.Narrow_char02.test((char) 65000)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Narrow_char03() { + begin("jtt.optimize.Narrow_char03"); + String runString = null; + try { + // ('\0') == '\0' + runString = "('\0')"; + if ((char) 0 != jtt.optimize.Narrow_char03.test((char) 0)) { + fail(runString); + return; + } + // ('\1') == '\1' + runString = "('\1')"; + if ((char) 1 != jtt.optimize.Narrow_char03.test((char) 1)) { + fail(runString); + return; + } + // ('\377') == '\377' + runString = "('\377')"; + if ((char) 255 != jtt.optimize.Narrow_char03.test((char) 255)) { + fail(runString); + return; + } + // ('\176750') == '\176750' + runString = "('\176750')"; + if ((char) 65000 != jtt.optimize.Narrow_char03.test((char) 65000)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Narrow_short01() { + begin("jtt.optimize.Narrow_short01"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if ((short) 0 != jtt.optimize.Narrow_short01.test((short) 0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if ((short) 1 != jtt.optimize.Narrow_short01.test((short) 1)) { + fail(runString); + return; + } + // (-1) == -1 + runString = "(-1)"; + if ((short) -1 != jtt.optimize.Narrow_short01.test((short) -1)) { + fail(runString); + return; + } + // (23110) == 23110 + runString = "(23110)"; + if ((short) 23110 != jtt.optimize.Narrow_short01 + .test((short) 23110)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Narrow_short02() { + begin("jtt.optimize.Narrow_short02"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if ((short) 0 != jtt.optimize.Narrow_short02.test((short) 0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if ((short) 1 != jtt.optimize.Narrow_short02.test((short) 1)) { + fail(runString); + return; + } + // (-1) == -1 + runString = "(-1)"; + if ((short) -1 != jtt.optimize.Narrow_short02.test((short) -1)) { + fail(runString); + return; + } + // (23110) == 23110 + runString = "(23110)"; + if ((short) 23110 != jtt.optimize.Narrow_short02 + .test((short) 23110)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Narrow_short03() { + begin("jtt.optimize.Narrow_short03"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if ((short) 0 != jtt.optimize.Narrow_short03.test((short) 0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if ((short) 1 != jtt.optimize.Narrow_short03.test((short) 1)) { + fail(runString); + return; + } + // (-1) == -1 + runString = "(-1)"; + if ((short) -1 != jtt.optimize.Narrow_short03.test((short) -1)) { + fail(runString); + return; + } + // (23110) == 23110 + runString = "(23110)"; + if ((short) 23110 != jtt.optimize.Narrow_short03 + .test((short) 23110)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Phi01() { + begin("jtt.optimize.Phi01"); + String runString = null; + try { + // (0) == 8 + runString = "(0)"; + if (8 != jtt.optimize.Phi01.test(0)) { + fail(runString); + return; + } + // (1) == 10 + runString = "(1)"; + if (10 != jtt.optimize.Phi01.test(1)) { + fail(runString); + return; + } + // (2) == 12 + runString = "(2)"; + if (12 != jtt.optimize.Phi01.test(2)) { + fail(runString); + return; + } + // (3) == 8 + runString = "(3)"; + if (8 != jtt.optimize.Phi01.test(3)) { + fail(runString); + return; + } + // (4) == 10 + runString = "(4)"; + if (10 != jtt.optimize.Phi01.test(4)) { + fail(runString); + return; + } + // (6) == 14 + runString = "(6)"; + if (14 != jtt.optimize.Phi01.test(6)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Phi02() { + begin("jtt.optimize.Phi02"); + String runString = null; + try { + // (0) == 8 + runString = "(0)"; + if (8 != jtt.optimize.Phi02.test(0)) { + fail(runString); + return; + } + // (1) == 10 + runString = "(1)"; + if (10 != jtt.optimize.Phi02.test(1)) { + fail(runString); + return; + } + // (2) == 12 + runString = "(2)"; + if (12 != jtt.optimize.Phi02.test(2)) { + fail(runString); + return; + } + // (3) == 8 + runString = "(3)"; + if (8 != jtt.optimize.Phi02.test(3)) { + fail(runString); + return; + } + // (4) == 10 + runString = "(4)"; + if (10 != jtt.optimize.Phi02.test(4)) { + fail(runString); + return; + } + // (6) == 14 + runString = "(6)"; + if (14 != jtt.optimize.Phi02.test(6)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Phi03() { + begin("jtt.optimize.Phi03"); + String runString = null; + try { + // (0) == 4 + runString = "(0)"; + if (4 != jtt.optimize.Phi03.test(0)) { + fail(runString); + return; + } + // (1) == 5 + runString = "(1)"; + if (5 != jtt.optimize.Phi03.test(1)) { + fail(runString); + return; + } + // (2) == 6 + runString = "(2)"; + if (6 != jtt.optimize.Phi03.test(2)) { + fail(runString); + return; + } + // (3) == 4 + runString = "(3)"; + if (4 != jtt.optimize.Phi03.test(3)) { + fail(runString); + return; + } + // (4) == 5 + runString = "(4)"; + if (5 != jtt.optimize.Phi03.test(4)) { + fail(runString); + return; + } + // (6) == 7 + runString = "(6)"; + if (7 != jtt.optimize.Phi03.test(6)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Reduce_Convert01() { + begin("jtt.optimize.Reduce_Convert01"); + String runString = null; + try { + // (0) == 10 + runString = "(0)"; + if (10 != jtt.optimize.Reduce_Convert01.test(0)) { + fail(runString); + return; + } + // (1) == 11 + runString = "(1)"; + if (11 != jtt.optimize.Reduce_Convert01.test(1)) { + fail(runString); + return; + } + // (2) == 12 + runString = "(2)"; + if (12 != jtt.optimize.Reduce_Convert01.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Reduce_Double01() { + begin("jtt.optimize.Reduce_Double01"); + String runString = null; + try { + // (0.0) == 10.0 + runString = "(0.0)"; + if (10.0 != jtt.optimize.Reduce_Double01.test(0.0)) { + fail(runString); + return; + } + // (1.0) == 11.0 + runString = "(1.0)"; + if (11.0 != jtt.optimize.Reduce_Double01.test(1.0)) { + fail(runString); + return; + } + // (2.0) == 12.0 + runString = "(2.0)"; + if (12.0 != jtt.optimize.Reduce_Double01.test(2.0)) { + fail(runString); + return; + } + // (3.0) == 13.0 + runString = "(3.0)"; + if (13.0 != jtt.optimize.Reduce_Double01.test(3.0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Reduce_Float01() { + begin("jtt.optimize.Reduce_Float01"); + String runString = null; + try { + // (0.0) == 10.0 + runString = "(0.0)"; + if (10.0f != jtt.optimize.Reduce_Float01.test(0.0f)) { + fail(runString); + return; + } + // (1.0) == 11.0 + runString = "(1.0)"; + if (11.0f != jtt.optimize.Reduce_Float01.test(1.0f)) { + fail(runString); + return; + } + // (2.0) == 12.0 + runString = "(2.0)"; + if (12.0f != jtt.optimize.Reduce_Float01.test(2.0f)) { + fail(runString); + return; + } + // (3.0) == 13.0 + runString = "(3.0)"; + if (13.0f != jtt.optimize.Reduce_Float01.test(3.0f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Reduce_Int01() { + begin("jtt.optimize.Reduce_Int01"); + String runString = null; + try { + // (0) == 10 + runString = "(0)"; + if (10 != jtt.optimize.Reduce_Int01.test(0)) { + fail(runString); + return; + } + // (1) == 11 + runString = "(1)"; + if (11 != jtt.optimize.Reduce_Int01.test(1)) { + fail(runString); + return; + } + // (2) == 12 + runString = "(2)"; + if (12 != jtt.optimize.Reduce_Int01.test(2)) { + fail(runString); + return; + } + // (3) == 13 + runString = "(3)"; + if (13 != jtt.optimize.Reduce_Int01.test(3)) { + fail(runString); + return; + } + // (4) == 14 + runString = "(4)"; + if (14 != jtt.optimize.Reduce_Int01.test(4)) { + fail(runString); + return; + } + // (5) == 15 + runString = "(5)"; + if (15 != jtt.optimize.Reduce_Int01.test(5)) { + fail(runString); + return; + } + // (6) == 16 + runString = "(6)"; + if (16 != jtt.optimize.Reduce_Int01.test(6)) { + fail(runString); + return; + } + // (7) == 17 + runString = "(7)"; + if (17 != jtt.optimize.Reduce_Int01.test(7)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Reduce_Int02() { + begin("jtt.optimize.Reduce_Int02"); + String runString = null; + try { + // (0) == 10 + runString = "(0)"; + if (10 != jtt.optimize.Reduce_Int02.test(0)) { + fail(runString); + return; + } + // (1) == 11 + runString = "(1)"; + if (11 != jtt.optimize.Reduce_Int02.test(1)) { + fail(runString); + return; + } + // (2) == 12 + runString = "(2)"; + if (12 != jtt.optimize.Reduce_Int02.test(2)) { + fail(runString); + return; + } + // (3) == 13 + runString = "(3)"; + if (13 != jtt.optimize.Reduce_Int02.test(3)) { + fail(runString); + return; + } + // (4) == 14 + runString = "(4)"; + if (14 != jtt.optimize.Reduce_Int02.test(4)) { + fail(runString); + return; + } + // (5) == 15 + runString = "(5)"; + if (15 != jtt.optimize.Reduce_Int02.test(5)) { + fail(runString); + return; + } + // (6) == 16 + runString = "(6)"; + if (16 != jtt.optimize.Reduce_Int02.test(6)) { + fail(runString); + return; + } + // (7) == 17 + runString = "(7)"; + if (17 != jtt.optimize.Reduce_Int02.test(7)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Reduce_Int03() { + begin("jtt.optimize.Reduce_Int03"); + String runString = null; + try { + // (0) == 10 + runString = "(0)"; + if (10 != jtt.optimize.Reduce_Int03.test(0)) { + fail(runString); + return; + } + // (1) == 0 + runString = "(1)"; + if (0 != jtt.optimize.Reduce_Int03.test(1)) { + fail(runString); + return; + } + // (2) == 25 + runString = "(2)"; + if (25 != jtt.optimize.Reduce_Int03.test(2)) { + fail(runString); + return; + } + // (3) == 1 + runString = "(3)"; + if (1 != jtt.optimize.Reduce_Int03.test(3)) { + fail(runString); + return; + } + // (4) == 0 + runString = "(4)"; + if (0 != jtt.optimize.Reduce_Int03.test(4)) { + fail(runString); + return; + } + // (5) == 15 + runString = "(5)"; + if (15 != jtt.optimize.Reduce_Int03.test(5)) { + fail(runString); + return; + } + // (6) == 16 + runString = "(6)"; + if (16 != jtt.optimize.Reduce_Int03.test(6)) { + fail(runString); + return; + } + // (7) == 0 + runString = "(7)"; + if (0 != jtt.optimize.Reduce_Int03.test(7)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Reduce_Int04() { + begin("jtt.optimize.Reduce_Int04"); + String runString = null; + try { + // (0) == 40 + runString = "(0)"; + if (40 != jtt.optimize.Reduce_Int04.test(0)) { + fail(runString); + return; + } + // (1) == 655360 + runString = "(1)"; + if (655360 != jtt.optimize.Reduce_Int04.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Reduce_IntShift01() { + begin("jtt.optimize.Reduce_IntShift01"); + String runString = null; + try { + // (0) == 10 + runString = "(0)"; + if (10 != jtt.optimize.Reduce_IntShift01.test(0)) { + fail(runString); + return; + } + // (1) == 11 + runString = "(1)"; + if (11 != jtt.optimize.Reduce_IntShift01.test(1)) { + fail(runString); + return; + } + // (2) == 12 + runString = "(2)"; + if (12 != jtt.optimize.Reduce_IntShift01.test(2)) { + fail(runString); + return; + } + // (3) == 13 + runString = "(3)"; + if (13 != jtt.optimize.Reduce_IntShift01.test(3)) { + fail(runString); + return; + } + // (4) == 14 + runString = "(4)"; + if (14 != jtt.optimize.Reduce_IntShift01.test(4)) { + fail(runString); + return; + } + // (5) == 15 + runString = "(5)"; + if (15 != jtt.optimize.Reduce_IntShift01.test(5)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Reduce_IntShift02() { + begin("jtt.optimize.Reduce_IntShift02"); + String runString = null; + try { + // (0) == 80 + runString = "(0)"; + if (80 != jtt.optimize.Reduce_IntShift02.test(0)) { + fail(runString); + return; + } + // (1) == 11 + runString = "(1)"; + if (11 != jtt.optimize.Reduce_IntShift02.test(1)) { + fail(runString); + return; + } + // (2) == 12 + runString = "(2)"; + if (12 != jtt.optimize.Reduce_IntShift02.test(2)) { + fail(runString); + return; + } + // (3) == 13 + runString = "(3)"; + if (13 != jtt.optimize.Reduce_IntShift02.test(3)) { + fail(runString); + return; + } + // (4) == 64 + runString = "(4)"; + if (64 != jtt.optimize.Reduce_IntShift02.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Reduce_Long01() { + begin("jtt.optimize.Reduce_Long01"); + String runString = null; + try { + // (0) == 10 + runString = "(0)"; + if (10L != jtt.optimize.Reduce_Long01.test(0)) { + fail(runString); + return; + } + // (1) == 11 + runString = "(1)"; + if (11L != jtt.optimize.Reduce_Long01.test(1)) { + fail(runString); + return; + } + // (2) == 12 + runString = "(2)"; + if (12L != jtt.optimize.Reduce_Long01.test(2)) { + fail(runString); + return; + } + // (3) == 13 + runString = "(3)"; + if (13L != jtt.optimize.Reduce_Long01.test(3)) { + fail(runString); + return; + } + // (4) == 14 + runString = "(4)"; + if (14L != jtt.optimize.Reduce_Long01.test(4)) { + fail(runString); + return; + } + // (5) == 15 + runString = "(5)"; + if (15L != jtt.optimize.Reduce_Long01.test(5)) { + fail(runString); + return; + } + // (6) == 16 + runString = "(6)"; + if (16L != jtt.optimize.Reduce_Long01.test(6)) { + fail(runString); + return; + } + // (7) == 17 + runString = "(7)"; + if (17L != jtt.optimize.Reduce_Long01.test(7)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Reduce_Long02() { + begin("jtt.optimize.Reduce_Long02"); + String runString = null; + try { + // (0) == 10 + runString = "(0)"; + if (10L != jtt.optimize.Reduce_Long02.test(0)) { + fail(runString); + return; + } + // (1) == 11 + runString = "(1)"; + if (11L != jtt.optimize.Reduce_Long02.test(1)) { + fail(runString); + return; + } + // (2) == 12 + runString = "(2)"; + if (12L != jtt.optimize.Reduce_Long02.test(2)) { + fail(runString); + return; + } + // (3) == 13 + runString = "(3)"; + if (13L != jtt.optimize.Reduce_Long02.test(3)) { + fail(runString); + return; + } + // (4) == 14 + runString = "(4)"; + if (14L != jtt.optimize.Reduce_Long02.test(4)) { + fail(runString); + return; + } + // (5) == 15 + runString = "(5)"; + if (15L != jtt.optimize.Reduce_Long02.test(5)) { + fail(runString); + return; + } + // (6) == 16 + runString = "(6)"; + if (16L != jtt.optimize.Reduce_Long02.test(6)) { + fail(runString); + return; + } + // (7) == 17 + runString = "(7)"; + if (17L != jtt.optimize.Reduce_Long02.test(7)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Reduce_Long03() { + begin("jtt.optimize.Reduce_Long03"); + String runString = null; + try { + // (0) == 10 + runString = "(0)"; + if (10L != jtt.optimize.Reduce_Long03.test(0)) { + fail(runString); + return; + } + // (1) == 0 + runString = "(1)"; + if (0L != jtt.optimize.Reduce_Long03.test(1)) { + fail(runString); + return; + } + // (2) == 25 + runString = "(2)"; + if (25L != jtt.optimize.Reduce_Long03.test(2)) { + fail(runString); + return; + } + // (3) == 1 + runString = "(3)"; + if (1L != jtt.optimize.Reduce_Long03.test(3)) { + fail(runString); + return; + } + // (4) == 0 + runString = "(4)"; + if (0L != jtt.optimize.Reduce_Long03.test(4)) { + fail(runString); + return; + } + // (5) == 15 + runString = "(5)"; + if (15L != jtt.optimize.Reduce_Long03.test(5)) { + fail(runString); + return; + } + // (6) == 16 + runString = "(6)"; + if (16L != jtt.optimize.Reduce_Long03.test(6)) { + fail(runString); + return; + } + // (7) == 0 + runString = "(7)"; + if (0L != jtt.optimize.Reduce_Long03.test(7)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Reduce_Long04() { + begin("jtt.optimize.Reduce_Long04"); + String runString = null; + try { + // (0) == 40 + runString = "(0)"; + if (40L != jtt.optimize.Reduce_Long04.test(0)) { + fail(runString); + return; + } + // (1) == 85899345920 + runString = "(1)"; + if (85899345920L != jtt.optimize.Reduce_Long04.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Reduce_LongShift01() { + begin("jtt.optimize.Reduce_LongShift01"); + String runString = null; + try { + // (0) == 10 + runString = "(0)"; + if (10L != jtt.optimize.Reduce_LongShift01.test(0)) { + fail(runString); + return; + } + // (1) == 11 + runString = "(1)"; + if (11L != jtt.optimize.Reduce_LongShift01.test(1)) { + fail(runString); + return; + } + // (2) == 12 + runString = "(2)"; + if (12L != jtt.optimize.Reduce_LongShift01.test(2)) { + fail(runString); + return; + } + // (3) == 13 + runString = "(3)"; + if (13L != jtt.optimize.Reduce_LongShift01.test(3)) { + fail(runString); + return; + } + // (4) == 14 + runString = "(4)"; + if (14L != jtt.optimize.Reduce_LongShift01.test(4)) { + fail(runString); + return; + } + // (5) == 15 + runString = "(5)"; + if (15L != jtt.optimize.Reduce_LongShift01.test(5)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Reduce_LongShift02() { + begin("jtt.optimize.Reduce_LongShift02"); + String runString = null; + try { + // (0) == 80 + runString = "(0)"; + if (80L != jtt.optimize.Reduce_LongShift02.test(0)) { + fail(runString); + return; + } + // (1) == 11 + runString = "(1)"; + if (11L != jtt.optimize.Reduce_LongShift02.test(1)) { + fail(runString); + return; + } + // (2) == 12 + runString = "(2)"; + if (12L != jtt.optimize.Reduce_LongShift02.test(2)) { + fail(runString); + return; + } + // (3) == 13 + runString = "(3)"; + if (13L != jtt.optimize.Reduce_LongShift02.test(3)) { + fail(runString); + return; + } + // (4) == 64 + runString = "(4)"; + if (64L != jtt.optimize.Reduce_LongShift02.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Switch01() { + begin("jtt.optimize.Switch01"); + String runString = null; + try { + // (0) == 1 + runString = "(0)"; + if (1 != jtt.optimize.Switch01.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_Switch02() { + begin("jtt.optimize.Switch02"); + String runString = null; + try { + // (0) == 1 + runString = "(0)"; + if (1 != jtt.optimize.Switch02.test(0)) { + fail(runString); + return; + } + // (1) == 2 + runString = "(1)"; + if (2 != jtt.optimize.Switch02.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_TypeCastElem() { + begin("jtt.optimize.TypeCastElem"); + String runString = null; + try { + // (10,13,25) == 27183 + runString = "(10,13,25)"; + if (27183 != jtt.optimize.TypeCastElem.test(10, 13, 25)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_VN_Cast01() { + begin("jtt.optimize.VN_Cast01"); + String runString = null; + try { + // (0) == 18 + runString = "(0)"; + if (18 != jtt.optimize.VN_Cast01.test(0)) { + fail(runString); + return; + } + // (1) == 18 + runString = "(1)"; + if (18 != jtt.optimize.VN_Cast01.test(1)) { + fail(runString); + return; + } + // (2) == !java.lang.NullPointerException + try { + runString = "(2)"; + jtt.optimize.VN_Cast01.test(2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_VN_Cast02() { + begin("jtt.optimize.VN_Cast02"); + String runString = null; + try { + // (0) == 18 + runString = "(0)"; + if (18 != jtt.optimize.VN_Cast02.test(0)) { + fail(runString); + return; + } + // (1) == 18 + runString = "(1)"; + if (18 != jtt.optimize.VN_Cast02.test(1)) { + fail(runString); + return; + } + // (2) == !java.lang.NullPointerException + try { + runString = "(2)"; + jtt.optimize.VN_Cast02.test(2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_VN_Convert01() { + begin("jtt.optimize.VN_Convert01"); + String runString = null; + try { + // (0) == 20 + runString = "(0)"; + if (20 != jtt.optimize.VN_Convert01.test(0)) { + fail(runString); + return; + } + // (1) == 22 + runString = "(1)"; + if (22 != jtt.optimize.VN_Convert01.test(1)) { + fail(runString); + return; + } + // (2) == 24 + runString = "(2)"; + if (24 != jtt.optimize.VN_Convert01.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_VN_Convert02() { + begin("jtt.optimize.VN_Convert02"); + String runString = null; + try { + // (0) == 20 + runString = "(0)"; + if (20 != jtt.optimize.VN_Convert02.test(0)) { + fail(runString); + return; + } + // (1) == 22 + runString = "(1)"; + if (22 != jtt.optimize.VN_Convert02.test(1)) { + fail(runString); + return; + } + // (2) == 24 + runString = "(2)"; + if (24 != jtt.optimize.VN_Convert02.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_VN_Double01() { + begin("jtt.optimize.VN_Double01"); + String runString = null; + try { + // (0.0) == 22.0 + runString = "(0.0)"; + if (22.0 != jtt.optimize.VN_Double01.test(0.0)) { + fail(runString); + return; + } + // (1.0) == 0.0 + runString = "(1.0)"; + if (0.0 != jtt.optimize.VN_Double01.test(1.0)) { + fail(runString); + return; + } + // (2.0) == 144.0 + runString = "(2.0)"; + if (144.0 != jtt.optimize.VN_Double01.test(2.0)) { + fail(runString); + return; + } + // (3.0) == 1.0 + runString = "(3.0)"; + if (1.0 != jtt.optimize.VN_Double01.test(3.0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_VN_Double02() { + begin("jtt.optimize.VN_Double02"); + String runString = null; + try { + // (0.0) == 22.0 + runString = "(0.0)"; + if (22.0 != jtt.optimize.VN_Double02.test(0.0)) { + fail(runString); + return; + } + // (1.0) == 0.0 + runString = "(1.0)"; + if (0.0 != jtt.optimize.VN_Double02.test(1.0)) { + fail(runString); + return; + } + // (2.0) == 144.0 + runString = "(2.0)"; + if (144.0 != jtt.optimize.VN_Double02.test(2.0)) { + fail(runString); + return; + } + // (3.0) == 1.0 + runString = "(3.0)"; + if (1.0 != jtt.optimize.VN_Double02.test(3.0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_VN_Field01() { + begin("jtt.optimize.VN_Field01"); + String runString = null; + try { + // (0) == 18 + runString = "(0)"; + if (18 != jtt.optimize.VN_Field01.test(0)) { + fail(runString); + return; + } + // (1) == 18 + runString = "(1)"; + if (18 != jtt.optimize.VN_Field01.test(1)) { + fail(runString); + return; + } + // (2) == !java.lang.NullPointerException + try { + runString = "(2)"; + jtt.optimize.VN_Field01.test(2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_VN_Field02() { + begin("jtt.optimize.VN_Field02"); + String runString = null; + try { + // (0) == 18 + runString = "(0)"; + if (18 != jtt.optimize.VN_Field02.test(0)) { + fail(runString); + return; + } + // (1) == 18 + runString = "(1)"; + if (18 != jtt.optimize.VN_Field02.test(1)) { + fail(runString); + return; + } + // (2) == !java.lang.NullPointerException + try { + runString = "(2)"; + jtt.optimize.VN_Field02.test(2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_VN_Float01() { + begin("jtt.optimize.VN_Float01"); + String runString = null; + try { + // (0.0) == 22.0 + runString = "(0.0)"; + if (22.0f != jtt.optimize.VN_Float01.test(0.0f)) { + fail(runString); + return; + } + // (1.0) == 0.0 + runString = "(1.0)"; + if (0.0f != jtt.optimize.VN_Float01.test(1.0f)) { + fail(runString); + return; + } + // (2.0) == 144.0 + runString = "(2.0)"; + if (144.0f != jtt.optimize.VN_Float01.test(2.0f)) { + fail(runString); + return; + } + // (3.0) == 1.0 + runString = "(3.0)"; + if (1.0f != jtt.optimize.VN_Float01.test(3.0f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_VN_Float02() { + begin("jtt.optimize.VN_Float02"); + String runString = null; + try { + // (0.0) == 22.0 + runString = "(0.0)"; + if (22.0f != jtt.optimize.VN_Float02.test(0.0f)) { + fail(runString); + return; + } + // (1.0) == 0.0 + runString = "(1.0)"; + if (0.0f != jtt.optimize.VN_Float02.test(1.0f)) { + fail(runString); + return; + } + // (2.0) == 144.0 + runString = "(2.0)"; + if (144.0f != jtt.optimize.VN_Float02.test(2.0f)) { + fail(runString); + return; + } + // (3.0) == 1.0 + runString = "(3.0)"; + if (1.0f != jtt.optimize.VN_Float02.test(3.0f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_VN_InstanceOf01() { + begin("jtt.optimize.VN_InstanceOf01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.optimize.VN_InstanceOf01.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.optimize.VN_InstanceOf01.test(1)) { + fail(runString); + return; + } + // (2) == false + runString = "(2)"; + if (false != jtt.optimize.VN_InstanceOf01.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_VN_InstanceOf02() { + begin("jtt.optimize.VN_InstanceOf02"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.optimize.VN_InstanceOf02.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.optimize.VN_InstanceOf02.test(1)) { + fail(runString); + return; + } + // (2) == false + runString = "(2)"; + if (false != jtt.optimize.VN_InstanceOf02.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_VN_InstanceOf03() { + begin("jtt.optimize.VN_InstanceOf03"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.optimize.VN_InstanceOf03.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.optimize.VN_InstanceOf03.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.optimize.VN_InstanceOf03.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_VN_Int01() { + begin("jtt.optimize.VN_Int01"); + String runString = null; + try { + // (0) == 6 + runString = "(0)"; + if (6 != jtt.optimize.VN_Int01.test(0)) { + fail(runString); + return; + } + // (1) == 0 + runString = "(1)"; + if (0 != jtt.optimize.VN_Int01.test(1)) { + fail(runString); + return; + } + // (2) == 36 + runString = "(2)"; + if (36 != jtt.optimize.VN_Int01.test(2)) { + fail(runString); + return; + } + // (3) == 1 + runString = "(3)"; + if (1 != jtt.optimize.VN_Int01.test(3)) { + fail(runString); + return; + } + // (4) == 0 + runString = "(4)"; + if (0 != jtt.optimize.VN_Int01.test(4)) { + fail(runString); + return; + } + // (5) == 5 + runString = "(5)"; + if (5 != jtt.optimize.VN_Int01.test(5)) { + fail(runString); + return; + } + // (6) == 7 + runString = "(6)"; + if (7 != jtt.optimize.VN_Int01.test(6)) { + fail(runString); + return; + } + // (7) == 0 + runString = "(7)"; + if (0 != jtt.optimize.VN_Int01.test(7)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_VN_Int02() { + begin("jtt.optimize.VN_Int02"); + String runString = null; + try { + // (0) == 10 + runString = "(0)"; + if (10 != jtt.optimize.VN_Int02.test(0)) { + fail(runString); + return; + } + // (1) == 10 + runString = "(1)"; + if (10 != jtt.optimize.VN_Int02.test(1)) { + fail(runString); + return; + } + // (2) == 48 + runString = "(2)"; + if (48 != jtt.optimize.VN_Int02.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_VN_Int03() { + begin("jtt.optimize.VN_Int03"); + String runString = null; + try { + // (0) == 6 + runString = "(0)"; + if (6 != jtt.optimize.VN_Int03.test(0)) { + fail(runString); + return; + } + // (1) == 0 + runString = "(1)"; + if (0 != jtt.optimize.VN_Int03.test(1)) { + fail(runString); + return; + } + // (2) == 36 + runString = "(2)"; + if (36 != jtt.optimize.VN_Int03.test(2)) { + fail(runString); + return; + } + // (3) == 1 + runString = "(3)"; + if (1 != jtt.optimize.VN_Int03.test(3)) { + fail(runString); + return; + } + // (4) == 0 + runString = "(4)"; + if (0 != jtt.optimize.VN_Int03.test(4)) { + fail(runString); + return; + } + // (5) == 5 + runString = "(5)"; + if (5 != jtt.optimize.VN_Int03.test(5)) { + fail(runString); + return; + } + // (6) == 7 + runString = "(6)"; + if (7 != jtt.optimize.VN_Int03.test(6)) { + fail(runString); + return; + } + // (7) == 0 + runString = "(7)"; + if (0 != jtt.optimize.VN_Int03.test(7)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_VN_Long01() { + begin("jtt.optimize.VN_Long01"); + String runString = null; + try { + // (0) == 6 + runString = "(0)"; + if (6L != jtt.optimize.VN_Long01.test(0)) { + fail(runString); + return; + } + // (1) == 0 + runString = "(1)"; + if (0L != jtt.optimize.VN_Long01.test(1)) { + fail(runString); + return; + } + // (2) == 36 + runString = "(2)"; + if (36L != jtt.optimize.VN_Long01.test(2)) { + fail(runString); + return; + } + // (3) == 1 + runString = "(3)"; + if (1L != jtt.optimize.VN_Long01.test(3)) { + fail(runString); + return; + } + // (4) == 0 + runString = "(4)"; + if (0L != jtt.optimize.VN_Long01.test(4)) { + fail(runString); + return; + } + // (5) == 5 + runString = "(5)"; + if (5L != jtt.optimize.VN_Long01.test(5)) { + fail(runString); + return; + } + // (6) == 7 + runString = "(6)"; + if (7L != jtt.optimize.VN_Long01.test(6)) { + fail(runString); + return; + } + // (7) == 0 + runString = "(7)"; + if (0L != jtt.optimize.VN_Long01.test(7)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_VN_Long02() { + begin("jtt.optimize.VN_Long02"); + String runString = null; + try { + // (0) == 10 + runString = "(0)"; + if (10L != jtt.optimize.VN_Long02.test(0)) { + fail(runString); + return; + } + // (1) == 10 + runString = "(1)"; + if (10L != jtt.optimize.VN_Long02.test(1)) { + fail(runString); + return; + } + // (2) == 48 + runString = "(2)"; + if (48L != jtt.optimize.VN_Long02.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_VN_Long03() { + begin("jtt.optimize.VN_Long03"); + String runString = null; + try { + // (0) == 6 + runString = "(0)"; + if (6L != jtt.optimize.VN_Long03.test(0)) { + fail(runString); + return; + } + // (1) == 0 + runString = "(1)"; + if (0L != jtt.optimize.VN_Long03.test(1)) { + fail(runString); + return; + } + // (2) == 36 + runString = "(2)"; + if (36L != jtt.optimize.VN_Long03.test(2)) { + fail(runString); + return; + } + // (3) == 1 + runString = "(3)"; + if (1L != jtt.optimize.VN_Long03.test(3)) { + fail(runString); + return; + } + // (4) == 0 + runString = "(4)"; + if (0L != jtt.optimize.VN_Long03.test(4)) { + fail(runString); + return; + } + // (5) == 5 + runString = "(5)"; + if (5L != jtt.optimize.VN_Long03.test(5)) { + fail(runString); + return; + } + // (6) == 7 + runString = "(6)"; + if (7L != jtt.optimize.VN_Long03.test(6)) { + fail(runString); + return; + } + // (7) == 0 + runString = "(7)"; + if (0L != jtt.optimize.VN_Long03.test(7)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_optimize_VN_Loop01() { + begin("jtt.optimize.VN_Loop01"); + String runString = null; + try { + // (0) == 6 + runString = "(0)"; + if (6 != jtt.optimize.VN_Loop01.test(0)) { + fail(runString); + return; + } + // (1) == 8 + runString = "(1)"; + if (8 != jtt.optimize.VN_Loop01.test(1)) { + fail(runString); + return; + } + // (2) == 10 + runString = "(2)"; + if (10 != jtt.optimize.VN_Loop01.test(2)) { + fail(runString); + return; + } + // (3) == 12 + runString = "(3)"; + if (12 != jtt.optimize.VN_Loop01.test(3)) { + fail(runString); + return; + } + // (4) == 0 + runString = "(4)"; + if (0 != jtt.optimize.VN_Loop01.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_aaload0() { + begin("jtt.except.BC_aaload0"); + String runString = null; + try { + // (-2) == !java.lang.NullPointerException + try { + runString = "(-2)"; + jtt.except.BC_aaload0.test(-2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + // (-1) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(-1)"; + jtt.except.BC_aaload0.test(-1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (0) == null + runString = "(0)"; + if (null != jtt.except.BC_aaload0.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_aaload1() { + begin("jtt.except.BC_aaload1"); + String runString = null; + try { + // (-2) == null + runString = "(-2)"; + if (null != jtt.except.BC_aaload1.test(-2)) { + fail(runString); + return; + } + // (-1) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(-1)"; + jtt.except.BC_aaload1.test(-1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (0) == null + runString = "(0)"; + if (null != jtt.except.BC_aaload1.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_aastore0() { + begin("jtt.except.BC_aastore0"); + String runString = null; + try { + // (true,-2) == !java.lang.NullPointerException + try { + runString = "(true,-2)"; + jtt.except.BC_aastore0.test(true, -2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + // (true,-1) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(true,-1)"; + jtt.except.BC_aastore0.test(true, -1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (true,0) == 0 + runString = "(true,0)"; + if (0 != jtt.except.BC_aastore0.test(true, 0)) { + fail(runString); + return; + } + // (true,1) == 1 + runString = "(true,1)"; + if (1 != jtt.except.BC_aastore0.test(true, 1)) { + fail(runString); + return; + } + // (true,2) == 2 + runString = "(true,2)"; + if (2 != jtt.except.BC_aastore0.test(true, 2)) { + fail(runString); + return; + } + // (true,3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(true,3)"; + jtt.except.BC_aastore0.test(true, 3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (false,0) == !java.lang.ArrayStoreException + try { + runString = "(false,0)"; + jtt.except.BC_aastore0.test(false, 0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayStoreException.class) { + fail(runString, e); + return; + } + } + // (false,1) == 1 + runString = "(false,1)"; + if (1 != jtt.except.BC_aastore0.test(false, 1)) { + fail(runString); + return; + } + // (false,2) == 2 + runString = "(false,2)"; + if (2 != jtt.except.BC_aastore0.test(false, 2)) { + fail(runString); + return; + } + // (false,3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(false,3)"; + jtt.except.BC_aastore0.test(false, 3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_aastore1() { + begin("jtt.except.BC_aastore1"); + String runString = null; + try { + // (true,-2) == 5 + runString = "(true,-2)"; + if (5 != jtt.except.BC_aastore1.test(true, -2)) { + fail(runString); + return; + } + // (true,-1) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(true,-1)"; + jtt.except.BC_aastore1.test(true, -1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (true,0) == 0 + runString = "(true,0)"; + if (0 != jtt.except.BC_aastore1.test(true, 0)) { + fail(runString); + return; + } + // (true,1) == 1 + runString = "(true,1)"; + if (1 != jtt.except.BC_aastore1.test(true, 1)) { + fail(runString); + return; + } + // (true,2) == 2 + runString = "(true,2)"; + if (2 != jtt.except.BC_aastore1.test(true, 2)) { + fail(runString); + return; + } + // (true,3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(true,3)"; + jtt.except.BC_aastore1.test(true, 3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (false,0) == !java.lang.ArrayStoreException + try { + runString = "(false,0)"; + jtt.except.BC_aastore1.test(false, 0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayStoreException.class) { + fail(runString, e); + return; + } + } + // (false,1) == 1 + runString = "(false,1)"; + if (1 != jtt.except.BC_aastore1.test(false, 1)) { + fail(runString); + return; + } + // (false,2) == 2 + runString = "(false,2)"; + if (2 != jtt.except.BC_aastore1.test(false, 2)) { + fail(runString); + return; + } + // (false,3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(false,3)"; + jtt.except.BC_aastore1.test(false, 3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_anewarray() { + begin("jtt.except.BC_anewarray"); + String runString = null; + try { + // (-1) == !java.lang.NegativeArraySizeException + try { + runString = "(-1)"; + jtt.except.BC_anewarray.test(-1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NegativeArraySizeException.class) { + fail(runString, e); + return; + } + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.except.BC_anewarray.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_arraylength() { + begin("jtt.except.BC_arraylength"); + String runString = null; + try { + // (0) == !java.lang.NullPointerException + try { + runString = "(0)"; + jtt.except.BC_arraylength.test(0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + // (1) == 3 + runString = "(1)"; + if (3 != jtt.except.BC_arraylength.test(1)) { + fail(runString); + return; + } + // (2) == 4 + runString = "(2)"; + if (4 != jtt.except.BC_arraylength.test(2)) { + fail(runString); + return; + } + // (3) == 5 + runString = "(3)"; + if (5 != jtt.except.BC_arraylength.test(3)) { + fail(runString); + return; + } + // (4) == 42 + runString = "(4)"; + if (42 != jtt.except.BC_arraylength.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_athrow0() { + begin("jtt.except.BC_athrow0"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.BC_athrow0.test(0)) { + fail(runString); + return; + } + // (2) == !java.lang.Throwable + try { + runString = "(2)"; + jtt.except.BC_athrow0.test(2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.Throwable.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_athrow1() { + begin("jtt.except.BC_athrow1"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.BC_athrow1.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.except.BC_athrow1.test(1)) { + fail(runString); + return; + } + // (2) == !java.lang.Throwable + try { + runString = "(2)"; + jtt.except.BC_athrow1.test(2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.Throwable.class) { + fail(runString, e); + return; + } + } + // (3) == 3 + runString = "(3)"; + if (3 != jtt.except.BC_athrow1.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_athrow2() { + begin("jtt.except.BC_athrow2"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.BC_athrow2.test(0)) { + fail(runString); + return; + } + // (2) == !java.lang.Throwable + try { + runString = "(2)"; + jtt.except.BC_athrow2.test(2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.Throwable.class) { + fail(runString, e); + return; + } + } + // (3) == !java.lang.NullPointerException + try { + runString = "(3)"; + jtt.except.BC_athrow2.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_athrow3() { + begin("jtt.except.BC_athrow3"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.BC_athrow3.test(0)) { + fail(runString); + return; + } + // (2) == !java.lang.Throwable + try { + runString = "(2)"; + jtt.except.BC_athrow3.test(2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.Throwable.class) { + fail(runString, e); + return; + } + } + // (3) == !java.lang.NullPointerException + try { + runString = "(3)"; + jtt.except.BC_athrow3.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_baload() { + begin("jtt.except.BC_baload"); + String runString = null; + try { + // (-2) == !java.lang.NullPointerException + try { + runString = "(-2)"; + jtt.except.BC_baload.test(-2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + // (-1) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(-1)"; + jtt.except.BC_baload.test(-1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (0) == true + runString = "(0)"; + if (true != jtt.except.BC_baload.test(0)) { + fail(runString); + return; + } + // (4) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(4)"; + jtt.except.BC_baload.test(4); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_bastore() { + begin("jtt.except.BC_bastore"); + String runString = null; + try { + // (-2,true) == !java.lang.NullPointerException + try { + runString = "(-2,true)"; + jtt.except.BC_bastore.test(-2, true); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + // (-1,false) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(-1,false)"; + jtt.except.BC_bastore.test(-1, false); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (0,true) == true + runString = "(0,true)"; + if (true != jtt.except.BC_bastore.test(0, true)) { + fail(runString); + return; + } + // (4,true) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(4,true)"; + jtt.except.BC_bastore.test(4, true); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_caload() { + begin("jtt.except.BC_caload"); + String runString = null; + try { + // (-2) == !java.lang.NullPointerException + try { + runString = "(-2)"; + jtt.except.BC_caload.test(-2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + // (-1) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(-1)"; + jtt.except.BC_caload.test(-1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (0) == '\0' + runString = "(0)"; + if ((char) 0 != jtt.except.BC_caload.test(0)) { + fail(runString); + return; + } + // (4) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(4)"; + jtt.except.BC_caload.test(4); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_castore() { + begin("jtt.except.BC_castore"); + String runString = null; + try { + // (-2,'a') == !java.lang.NullPointerException + try { + runString = "(-2,'a')"; + jtt.except.BC_castore.test(-2, (char) 97); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + // (-1,'c') == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(-1,'c')"; + jtt.except.BC_castore.test(-1, (char) 99); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (0,'a') == 'a' + runString = "(0,'a')"; + if ((char) 97 != jtt.except.BC_castore.test(0, (char) 97)) { + fail(runString); + return; + } + // (4,'a') == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(4,'a')"; + jtt.except.BC_castore.test(4, (char) 97); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_checkcast() { + begin("jtt.except.BC_checkcast"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.BC_checkcast.test(0)) { + fail(runString); + return; + } + // (2) == !java.lang.ClassCastException + try { + runString = "(2)"; + jtt.except.BC_checkcast.test(2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ClassCastException.class) { + fail(runString, e); + return; + } + } + // (3) == !java.lang.ClassCastException + try { + runString = "(3)"; + jtt.except.BC_checkcast.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ClassCastException.class) { + fail(runString, e); + return; + } + } + // (4) == 4 + runString = "(4)"; + if (4 != jtt.except.BC_checkcast.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_checkcast1() { + begin("jtt.except.BC_checkcast1"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.BC_checkcast1.test(0)) { + fail(runString); + return; + } + // (2) == !java.lang.ClassCastException + try { + runString = "(2)"; + jtt.except.BC_checkcast1.test(2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ClassCastException.class) { + fail(runString, e); + return; + } + } + // (3) == !java.lang.ClassCastException + try { + runString = "(3)"; + jtt.except.BC_checkcast1.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ClassCastException.class) { + fail(runString, e); + return; + } + } + // (4) == 4 + runString = "(4)"; + if (4 != jtt.except.BC_checkcast1.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_checkcast2() { + begin("jtt.except.BC_checkcast2"); + String runString = null; + try { + // (0) == -1 + runString = "(0)"; + if (-1 != jtt.except.BC_checkcast2.test(0)) { + fail(runString); + return; + } + // (1) == -1 + runString = "(1)"; + if (-1 != jtt.except.BC_checkcast2.test(1)) { + fail(runString); + return; + } + // (2) == !java.lang.ClassCastException + try { + runString = "(2)"; + jtt.except.BC_checkcast2.test(2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ClassCastException.class) { + fail(runString, e); + return; + } + } + // (3) == !java.lang.ClassCastException + try { + runString = "(3)"; + jtt.except.BC_checkcast2.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ClassCastException.class) { + fail(runString, e); + return; + } + } + // (4) == 4 + runString = "(4)"; + if (4 != jtt.except.BC_checkcast2.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_checkcast3() { + begin("jtt.except.BC_checkcast3"); + String runString = null; + try { + // (0) == !java.lang.ClassCastException + try { + runString = "(0)"; + jtt.except.BC_checkcast3.test(0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ClassCastException.class) { + fail(runString, e); + return; + } + } + // (1) == !java.lang.ClassCastException + try { + runString = "(1)"; + jtt.except.BC_checkcast3.test(1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ClassCastException.class) { + fail(runString, e); + return; + } + } + // (2) == -1 + runString = "(2)"; + if (-1 != jtt.except.BC_checkcast3.test(2)) { + fail(runString); + return; + } + // (3) == -1 + runString = "(3)"; + if (-1 != jtt.except.BC_checkcast3.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_checkcast4() { + begin("jtt.except.BC_checkcast4"); + String runString = null; + try { + // (0) == -1 + runString = "(0)"; + if (-1 != jtt.except.BC_checkcast4.test(0)) { + fail(runString); + return; + } + // (1) == -1 + runString = "(1)"; + if (-1 != jtt.except.BC_checkcast4.test(1)) { + fail(runString); + return; + } + // (2) == !java.lang.ClassCastException + try { + runString = "(2)"; + jtt.except.BC_checkcast4.test(2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ClassCastException.class) { + fail(runString, e); + return; + } + } + // (3) == !java.lang.ClassCastException + try { + runString = "(3)"; + jtt.except.BC_checkcast4.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ClassCastException.class) { + fail(runString, e); + return; + } + } + // (4) == 4 + runString = "(4)"; + if (4 != jtt.except.BC_checkcast4.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_checkcast5() { + begin("jtt.except.BC_checkcast5"); + String runString = null; + try { + // (0) == -1 + runString = "(0)"; + if (-1 != jtt.except.BC_checkcast5.test(0)) { + fail(runString); + return; + } + // (1) == -1 + runString = "(1)"; + if (-1 != jtt.except.BC_checkcast5.test(1)) { + fail(runString); + return; + } + // (2) == -5 + runString = "(2)"; + if (-5 != jtt.except.BC_checkcast5.test(2)) { + fail(runString); + return; + } + // (3) == -5 + runString = "(3)"; + if (-5 != jtt.except.BC_checkcast5.test(3)) { + fail(runString); + return; + } + // (4) == 4 + runString = "(4)"; + if (4 != jtt.except.BC_checkcast5.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_checkcast6() { + begin("jtt.except.BC_checkcast6"); + String runString = null; + try { + // (0) == -1 + runString = "(0)"; + if (-1 != jtt.except.BC_checkcast6.test(0)) { + fail(runString); + return; + } + // (1) == -1 + runString = "(1)"; + if (-1 != jtt.except.BC_checkcast6.test(1)) { + fail(runString); + return; + } + // (2) == -5 + runString = "(2)"; + if (-5 != jtt.except.BC_checkcast6.test(2)) { + fail(runString); + return; + } + // (3) == -5 + runString = "(3)"; + if (-5 != jtt.except.BC_checkcast6.test(3)) { + fail(runString); + return; + } + // (4) == 4 + runString = "(4)"; + if (4 != jtt.except.BC_checkcast6.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_daload() { + begin("jtt.except.BC_daload"); + String runString = null; + try { + // (-2) == !java.lang.NullPointerException + try { + runString = "(-2)"; + jtt.except.BC_daload.test(-2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + // (-1) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(-1)"; + jtt.except.BC_daload.test(-1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (0) == 0.0 + runString = "(0)"; + if (0.0 != jtt.except.BC_daload.test(0)) { + fail(runString); + return; + } + // (4) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(4)"; + jtt.except.BC_daload.test(4); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_dastore() { + begin("jtt.except.BC_dastore"); + String runString = null; + try { + // (-2,0.01) == !java.lang.NullPointerException + try { + runString = "(-2,0.01)"; + jtt.except.BC_dastore.test(-2, 0.01); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + // (-1,-1.4) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(-1,-1.4)"; + jtt.except.BC_dastore.test(-1, -1.4); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (0,0.01) == 0.01 + runString = "(0,0.01)"; + if (0.01 != jtt.except.BC_dastore.test(0, 0.01)) { + fail(runString); + return; + } + // (4,0.01) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(4,0.01)"; + jtt.except.BC_dastore.test(4, 0.01); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_faload() { + begin("jtt.except.BC_faload"); + String runString = null; + try { + // (-2) == !java.lang.NullPointerException + try { + runString = "(-2)"; + jtt.except.BC_faload.test(-2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + // (-1) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(-1)"; + jtt.except.BC_faload.test(-1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (0) == 0.0 + runString = "(0)"; + if (0.0f != jtt.except.BC_faload.test(0)) { + fail(runString); + return; + } + // (4) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(4)"; + jtt.except.BC_faload.test(4); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_fastore() { + begin("jtt.except.BC_fastore"); + String runString = null; + try { + // (-2,0.01) == !java.lang.NullPointerException + try { + runString = "(-2,0.01)"; + jtt.except.BC_fastore.test(-2, 0.01f); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + // (-1,-1.4) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(-1,-1.4)"; + jtt.except.BC_fastore.test(-1, -1.4f); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (0,0.01) == 0.01 + runString = "(0,0.01)"; + if (0.01f != jtt.except.BC_fastore.test(0, 0.01f)) { + fail(runString); + return; + } + // (4,0.01) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(4,0.01)"; + jtt.except.BC_fastore.test(4, 0.01f); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_getfield() { + begin("jtt.except.BC_getfield"); + String runString = null; + try { + // (0) == 13 + runString = "(0)"; + if (13 != jtt.except.BC_getfield.test(0)) { + fail(runString); + return; + } + // (3) == !java.lang.NullPointerException + try { + runString = "(3)"; + jtt.except.BC_getfield.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_iaload() { + begin("jtt.except.BC_iaload"); + String runString = null; + try { + // (-2) == !java.lang.NullPointerException + try { + runString = "(-2)"; + jtt.except.BC_iaload.test(-2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + // (-1) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(-1)"; + jtt.except.BC_iaload.test(-1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.BC_iaload.test(0)) { + fail(runString); + return; + } + // (4) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(4)"; + jtt.except.BC_iaload.test(4); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_iastore() { + begin("jtt.except.BC_iastore"); + String runString = null; + try { + // (-2,0) == !java.lang.NullPointerException + try { + runString = "(-2,0)"; + jtt.except.BC_iastore.test(-2, 0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + // (-1,3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(-1,3)"; + jtt.except.BC_iastore.test(-1, 3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (0,0) == 0 + runString = "(0,0)"; + if (0 != jtt.except.BC_iastore.test(0, 0)) { + fail(runString); + return; + } + // (4,0) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(4,0)"; + jtt.except.BC_iastore.test(4, 0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_idiv() { + begin("jtt.except.BC_idiv"); + String runString = null; + try { + // (1,2) == 0 + runString = "(1,2)"; + if (0 != jtt.except.BC_idiv.test(1, 2)) { + fail(runString); + return; + } + // (11,0) == !java.lang.ArithmeticException + try { + runString = "(11,0)"; + jtt.except.BC_idiv.test(11, 0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArithmeticException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_idiv2() { + begin("jtt.except.BC_idiv2"); + String runString = null; + try { + // (1,2) == 0 + runString = "(1,2)"; + if (0 != jtt.except.BC_idiv2.test(1, 2)) { + fail(runString); + return; + } + // (11,0) == -11 + runString = "(11,0)"; + if (-11 != jtt.except.BC_idiv2.test(11, 0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_invokespecial01() { + begin("jtt.except.BC_invokespecial01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.except.BC_invokespecial01.test(0)) { + fail(runString); + return; + } + // (1) == !java.lang.NullPointerException + try { + runString = "(1)"; + jtt.except.BC_invokespecial01.test(1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_invokevirtual01() { + begin("jtt.except.BC_invokevirtual01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.except.BC_invokevirtual01.test(0)) { + fail(runString); + return; + } + // (1) == !java.lang.NullPointerException + try { + runString = "(1)"; + jtt.except.BC_invokevirtual01.test(1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_invokevirtual02() { + begin("jtt.except.BC_invokevirtual02"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.except.BC_invokevirtual02.test(0)) { + fail(runString); + return; + } + // (1) == !java.lang.NullPointerException + try { + runString = "(1)"; + jtt.except.BC_invokevirtual02.test(1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_irem() { + begin("jtt.except.BC_irem"); + String runString = null; + try { + // (1,2) == 1 + runString = "(1,2)"; + if (1 != jtt.except.BC_irem.test(1, 2)) { + fail(runString); + return; + } + // (11,0) == !java.lang.ArithmeticException + try { + runString = "(11,0)"; + jtt.except.BC_irem.test(11, 0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArithmeticException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_laload() { + begin("jtt.except.BC_laload"); + String runString = null; + try { + // (-2) == !java.lang.NullPointerException + try { + runString = "(-2)"; + jtt.except.BC_laload.test(-2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + // (-1) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(-1)"; + jtt.except.BC_laload.test(-1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (0) == 0 + runString = "(0)"; + if (0L != jtt.except.BC_laload.test(0)) { + fail(runString); + return; + } + // (4) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(4)"; + jtt.except.BC_laload.test(4); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_lastore() { + begin("jtt.except.BC_lastore"); + String runString = null; + try { + // (-2,0) == !java.lang.NullPointerException + try { + runString = "(-2,0)"; + jtt.except.BC_lastore.test(-2, 0L); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + // (-1,3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(-1,3)"; + jtt.except.BC_lastore.test(-1, 3L); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (0,0) == 0 + runString = "(0,0)"; + if (0L != jtt.except.BC_lastore.test(0, 0L)) { + fail(runString); + return; + } + // (4,0) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(4,0)"; + jtt.except.BC_lastore.test(4, 0L); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_ldiv() { + begin("jtt.except.BC_ldiv"); + String runString = null; + try { + // (1,2) == 0 + runString = "(1,2)"; + if (0L != jtt.except.BC_ldiv.test(1L, 2L)) { + fail(runString); + return; + } + // (11,0) == !java.lang.ArithmeticException + try { + runString = "(11,0)"; + jtt.except.BC_ldiv.test(11L, 0L); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArithmeticException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_ldiv2() { + begin("jtt.except.BC_ldiv2"); + String runString = null; + try { + // (1,2) == 0 + runString = "(1,2)"; + if (0L != jtt.except.BC_ldiv2.test(1L, 2L)) { + fail(runString); + return; + } + // (11,0) == -11 + runString = "(11,0)"; + if (-11L != jtt.except.BC_ldiv2.test(11L, 0L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_lrem() { + begin("jtt.except.BC_lrem"); + String runString = null; + try { + // (1,2) == 1 + runString = "(1,2)"; + if (1L != jtt.except.BC_lrem.test(1L, 2L)) { + fail(runString); + return; + } + // (11,0) == !java.lang.ArithmeticException + try { + runString = "(11,0)"; + jtt.except.BC_lrem.test(11L, 0L); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArithmeticException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_monitorenter() { + begin("jtt.except.BC_monitorenter"); + String runString = null; + try { + // (true) == true + runString = "(true)"; + if (true != jtt.except.BC_monitorenter.test(true)) { + fail(runString); + return; + } + // (false) == !java.lang.NullPointerException + try { + runString = "(false)"; + jtt.except.BC_monitorenter.test(false); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_multianewarray() { + begin("jtt.except.BC_multianewarray"); + String runString = null; + try { + // (0,0) == 0 + runString = "(0,0)"; + if (0 != jtt.except.BC_multianewarray.test(0, 0)) { + fail(runString); + return; + } + // (1,1) == 1 + runString = "(1,1)"; + if (1 != jtt.except.BC_multianewarray.test(1, 1)) { + fail(runString); + return; + } + // (-1,0) == !java.lang.NegativeArraySizeException + try { + runString = "(-1,0)"; + jtt.except.BC_multianewarray.test(-1, 0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NegativeArraySizeException.class) { + fail(runString, e); + return; + } + } + // (0,-1) == !java.lang.NegativeArraySizeException + try { + runString = "(0,-1)"; + jtt.except.BC_multianewarray.test(0, -1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NegativeArraySizeException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_newarray() { + begin("jtt.except.BC_newarray"); + String runString = null; + try { + // (-1) == !java.lang.NegativeArraySizeException + try { + runString = "(-1)"; + jtt.except.BC_newarray.test(-1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NegativeArraySizeException.class) { + fail(runString, e); + return; + } + } + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.BC_newarray.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.except.BC_newarray.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_putfield() { + begin("jtt.except.BC_putfield"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.BC_putfield.test(0)) { + fail(runString); + return; + } + // (3) == !java.lang.NullPointerException + try { + runString = "(3)"; + jtt.except.BC_putfield.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + // (-4) == -4 + runString = "(-4)"; + if (-4 != jtt.except.BC_putfield.test(-4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_saload() { + begin("jtt.except.BC_saload"); + String runString = null; + try { + // (-2) == !java.lang.NullPointerException + try { + runString = "(-2)"; + jtt.except.BC_saload.test(-2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + // (-1) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(-1)"; + jtt.except.BC_saload.test(-1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (0) == 0 + runString = "(0)"; + if ((short) 0 != jtt.except.BC_saload.test(0)) { + fail(runString); + return; + } + // (4) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(4)"; + jtt.except.BC_saload.test(4); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_BC_sastore() { + begin("jtt.except.BC_sastore"); + String runString = null; + try { + // (-2,0) == !java.lang.NullPointerException + try { + runString = "(-2,0)"; + jtt.except.BC_sastore.test(-2, (short) 0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + // (-1,3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(-1,3)"; + jtt.except.BC_sastore.test(-1, (short) 3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (0,0) == 0 + runString = "(0,0)"; + if ((short) 0 != jtt.except.BC_sastore.test(0, (short) 0)) { + fail(runString); + return; + } + // (4,0) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(4,0)"; + jtt.except.BC_sastore.test(4, (short) 0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Catch_Loop01() { + begin("jtt.except.Catch_Loop01"); + String runString = null; + try { + // (4) == -170 + runString = "(4)"; + if (-170 != jtt.except.Catch_Loop01.test(4)) { + fail(runString); + return; + } + // (5) == -150 + runString = "(5)"; + if (-150 != jtt.except.Catch_Loop01.test(5)) { + fail(runString); + return; + } + // (6) == -140 + runString = "(6)"; + if (-140 != jtt.except.Catch_Loop01.test(6)) { + fail(runString); + return; + } + // (7) == -240 + runString = "(7)"; + if (-240 != jtt.except.Catch_Loop01.test(7)) { + fail(runString); + return; + } + // (30) == -700 + runString = "(30)"; + if (-700 != jtt.except.Catch_Loop01.test(30)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Catch_Loop02() { + begin("jtt.except.Catch_Loop02"); + String runString = null; + try { + // (4) == -170 + runString = "(4)"; + if (-170 != jtt.except.Catch_Loop02.test(4)) { + fail(runString); + return; + } + // (5) == -150 + runString = "(5)"; + if (-150 != jtt.except.Catch_Loop02.test(5)) { + fail(runString); + return; + } + // (6) == -140 + runString = "(6)"; + if (-140 != jtt.except.Catch_Loop02.test(6)) { + fail(runString); + return; + } + // (7) == -240 + runString = "(7)"; + if (-240 != jtt.except.Catch_Loop02.test(7)) { + fail(runString); + return; + } + // (30) == -700 + runString = "(30)"; + if (-700 != jtt.except.Catch_Loop02.test(30)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Catch_NASE_1() { + begin("jtt.except.Catch_NASE_1"); + String runString = null; + try { + // (-1) == 100 + runString = "(-1)"; + if (100 != jtt.except.Catch_NASE_1.test(-1)) { + fail(runString); + return; + } + // (-34) == 100 + runString = "(-34)"; + if (100 != jtt.except.Catch_NASE_1.test(-34)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Catch_NASE_2() { + begin("jtt.except.Catch_NASE_2"); + String runString = null; + try { + // (-1) == 100 + runString = "(-1)"; + if (100 != jtt.except.Catch_NASE_2.test(-1)) { + fail(runString); + return; + } + // (-34) == 100 + runString = "(-34)"; + if (100 != jtt.except.Catch_NASE_2.test(-34)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Catch_NPE_00() { + begin("jtt.except.Catch_NPE_00"); + String runString = null; + try { + // (-3) == -1 + runString = "(-3)"; + if (-1 != jtt.except.Catch_NPE_00.test(-3)) { + fail(runString); + return; + } + // (0) == -1 + runString = "(0)"; + if (-1 != jtt.except.Catch_NPE_00.test(0)) { + fail(runString); + return; + } + // (1) == 3 + runString = "(1)"; + if (3 != jtt.except.Catch_NPE_00.test(1)) { + fail(runString); + return; + } + // (2) == 3 + runString = "(2)"; + if (3 != jtt.except.Catch_NPE_00.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Catch_NPE_01() { + begin("jtt.except.Catch_NPE_01"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.Catch_NPE_01.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.except.Catch_NPE_01.test(1)) { + fail(runString); + return; + } + // (-2) == -1 + runString = "(-2)"; + if (-1 != jtt.except.Catch_NPE_01.test(-2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Catch_NPE_02() { + begin("jtt.except.Catch_NPE_02"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.Catch_NPE_02.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.except.Catch_NPE_02.test(1)) { + fail(runString); + return; + } + // (-2) == -1 + runString = "(-2)"; + if (-1 != jtt.except.Catch_NPE_02.test(-2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Catch_NPE_03() { + begin("jtt.except.Catch_NPE_03"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.Catch_NPE_03.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.except.Catch_NPE_03.test(1)) { + fail(runString); + return; + } + // (-2) == -1 + runString = "(-2)"; + if (-1 != jtt.except.Catch_NPE_03.test(-2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Catch_NPE_04() { + begin("jtt.except.Catch_NPE_04"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.Catch_NPE_04.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.except.Catch_NPE_04.test(1)) { + fail(runString); + return; + } + // (-2) == -1 + runString = "(-2)"; + if (-1 != jtt.except.Catch_NPE_04.test(-2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Catch_NPE_05() { + begin("jtt.except.Catch_NPE_05"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.Catch_NPE_05.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.except.Catch_NPE_05.test(1)) { + fail(runString); + return; + } + // (-2) == -1 + runString = "(-2)"; + if (-1 != jtt.except.Catch_NPE_05.test(-2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Catch_NPE_06() { + begin("jtt.except.Catch_NPE_06"); + String runString = null; + try { + // ("") == 0 + runString = "(\"\")"; + if (0 != jtt.except.Catch_NPE_06.test("")) { + fail(runString); + return; + } + // (null) == -1 + runString = "(null)"; + if (-1 != jtt.except.Catch_NPE_06.test(null)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Catch_NPE_07() { + begin("jtt.except.Catch_NPE_07"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.Catch_NPE_07.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.except.Catch_NPE_07.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Catch_NPE_08() { + begin("jtt.except.Catch_NPE_08"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.Catch_NPE_08.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.except.Catch_NPE_08.test(1)) { + fail(runString); + return; + } + // (-2) == -2 + runString = "(-2)"; + if (-2 != jtt.except.Catch_NPE_08.test(-2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Catch_NPE_09() { + begin("jtt.except.Catch_NPE_09"); + String runString = null; + try { + // (0) == 10 + runString = "(0)"; + if (10 != jtt.except.Catch_NPE_09.test(0)) { + fail(runString); + return; + } + // (1) == 11 + runString = "(1)"; + if (11 != jtt.except.Catch_NPE_09.test(1)) { + fail(runString); + return; + } + // (2) == 1 + runString = "(2)"; + if (1 != jtt.except.Catch_NPE_09.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Catch_NPE_10() { + begin("jtt.except.Catch_NPE_10"); + String runString = null; + try { + // (0) == 10 + runString = "(0)"; + if (10 != jtt.except.Catch_NPE_10.test(0)) { + fail(runString); + return; + } + // (1) == 11 + runString = "(1)"; + if (11 != jtt.except.Catch_NPE_10.test(1)) { + fail(runString); + return; + } + // (2) == 1 + runString = "(2)"; + if (1 != jtt.except.Catch_NPE_10.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Catch_NPE_11() { + begin("jtt.except.Catch_NPE_11"); + String runString = null; + try { + // (0) == 10 + runString = "(0)"; + if (10 != jtt.except.Catch_NPE_11.test(0)) { + fail(runString); + return; + } + // (1) == 11 + runString = "(1)"; + if (11 != jtt.except.Catch_NPE_11.test(1)) { + fail(runString); + return; + } + // (2) == 1 + runString = "(2)"; + if (1 != jtt.except.Catch_NPE_11.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Catch_StackOverflowError_01() { + begin("jtt.except.Catch_StackOverflowError_01"); + String runString = null; + try { + // (0) == !java.lang.StackOverflowError + try { + runString = "(0)"; + jtt.except.Catch_StackOverflowError_01.test(0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.StackOverflowError.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Catch_StackOverflowError_02() { + begin("jtt.except.Catch_StackOverflowError_02"); + String runString = null; + try { + // (0) == !java.lang.StackOverflowError + try { + runString = "(0)"; + jtt.except.Catch_StackOverflowError_02.test(0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.StackOverflowError.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Catch_StackOverflowError_03() { + begin("jtt.except.Catch_StackOverflowError_03"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.Catch_StackOverflowError_03.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Catch_Two01() { + begin("jtt.except.Catch_Two01"); + String runString = null; + try { + // (0) == "java.lang.NullPointerException" + runString = "(0)"; + if (!"java.lang.NullPointerException".equals(jtt.except.Catch_Two01 + .test(0))) { + fail(runString); + return; + } + // (1) == "java.lang.ArithmeticException" + runString = "(1)"; + if (!"java.lang.ArithmeticException".equals(jtt.except.Catch_Two01 + .test(1))) { + fail(runString); + return; + } + // (3) == "none" + runString = "(3)"; + if (!"none".equals(jtt.except.Catch_Two01.test(3))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Catch_Two02() { + begin("jtt.except.Catch_Two02"); + String runString = null; + try { + // (0) == "java.lang.NullPointerException" + runString = "(0)"; + if (!"java.lang.NullPointerException".equals(jtt.except.Catch_Two02 + .test(0))) { + fail(runString); + return; + } + // (1) == "java.lang.ArithmeticException" + runString = "(1)"; + if (!"java.lang.ArithmeticException".equals(jtt.except.Catch_Two02 + .test(1))) { + fail(runString); + return; + } + // (3) == "none13" + runString = "(3)"; + if (!"none13".equals(jtt.except.Catch_Two02.test(3))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Catch_Two03() { + begin("jtt.except.Catch_Two03"); + String runString = null; + try { + // (0) == "none4" + runString = "(0)"; + if (!"none4".equals(jtt.except.Catch_Two03.test(0))) { + fail(runString); + return; + } + // (1) == "none4" + runString = "(1)"; + if (!"none4".equals(jtt.except.Catch_Two03.test(1))) { + fail(runString); + return; + } + // (2) == "java.lang.NullPointerException3" + runString = "(2)"; + if (!"java.lang.NullPointerException3" + .equals(jtt.except.Catch_Two03.test(2))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Except_Synchronized01() { + begin("jtt.except.Except_Synchronized01"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.Except_Synchronized01.test(0)) { + fail(runString); + return; + } + // (1) == 2 + runString = "(1)"; + if (2 != jtt.except.Except_Synchronized01.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Except_Synchronized02() { + begin("jtt.except.Except_Synchronized02"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.Except_Synchronized02.test(0)) { + fail(runString); + return; + } + // (1) == 2 + runString = "(1)"; + if (2 != jtt.except.Except_Synchronized02.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Except_Synchronized03() { + begin("jtt.except.Except_Synchronized03"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.Except_Synchronized03.test(0)) { + fail(runString); + return; + } + // (1) == 2 + runString = "(1)"; + if (2 != jtt.except.Except_Synchronized03.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Except_Synchronized04() { + begin("jtt.except.Except_Synchronized04"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.Except_Synchronized04.test(0)) { + fail(runString); + return; + } + // (1) == 2 + runString = "(1)"; + if (2 != jtt.except.Except_Synchronized04.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Except_Synchronized05() { + begin("jtt.except.Except_Synchronized05"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.Except_Synchronized05.test(0)) { + fail(runString); + return; + } + // (1) == 2 + runString = "(1)"; + if (2 != jtt.except.Except_Synchronized05.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Finally01() { + begin("jtt.except.Finally01"); + String runString = null; + try { + // (0) == -1 + runString = "(0)"; + if (-1 != jtt.except.Finally01.test(0)) { + fail(runString); + return; + } + // (1) == -1 + runString = "(1)"; + if (-1 != jtt.except.Finally01.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Finally02() { + begin("jtt.except.Finally02"); + String runString = null; + try { + // (0) == -1 + runString = "(0)"; + if (-1 != jtt.except.Finally02.test(0)) { + fail(runString); + return; + } + // (1) == -1 + runString = "(1)"; + if (-1 != jtt.except.Finally02.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_StackTrace_AIOOBE_00() { + begin("jtt.except.StackTrace_AIOOBE_00"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.StackTrace_AIOOBE_00.test(0)) { + fail(runString); + return; + } + // (1) == 0 + runString = "(1)"; + if (0 != jtt.except.StackTrace_AIOOBE_00.test(1)) { + fail(runString); + return; + } + // (-2) == -1 + runString = "(-2)"; + if (-1 != jtt.except.StackTrace_AIOOBE_00.test(-2)) { + fail(runString); + return; + } + // (3) == -1 + runString = "(3)"; + if (-1 != jtt.except.StackTrace_AIOOBE_00.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_StackTrace_CCE_00() { + begin("jtt.except.StackTrace_CCE_00"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.StackTrace_CCE_00.test(0)) { + fail(runString); + return; + } + // (2) == -100 + runString = "(2)"; + if (-100 != jtt.except.StackTrace_CCE_00.test(2)) { + fail(runString); + return; + } + // (3) == -100 + runString = "(3)"; + if (-100 != jtt.except.StackTrace_CCE_00.test(3)) { + fail(runString); + return; + } + // (4) == 4 + runString = "(4)"; + if (4 != jtt.except.StackTrace_CCE_00.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_StackTrace_NPE_00() { + begin("jtt.except.StackTrace_NPE_00"); + String runString = null; + try { + // (-3) == -1 + runString = "(-3)"; + if (-1 != jtt.except.StackTrace_NPE_00.test(-3)) { + fail(runString); + return; + } + // (0) == -1 + runString = "(0)"; + if (-1 != jtt.except.StackTrace_NPE_00.test(0)) { + fail(runString); + return; + } + // (1) == 3 + runString = "(1)"; + if (3 != jtt.except.StackTrace_NPE_00.test(1)) { + fail(runString); + return; + } + // (2) == 3 + runString = "(2)"; + if (3 != jtt.except.StackTrace_NPE_00.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_StackTrace_NPE_01() { + begin("jtt.except.StackTrace_NPE_01"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.StackTrace_NPE_01.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.except.StackTrace_NPE_01.test(1)) { + fail(runString); + return; + } + // (-2) == -1 + runString = "(-2)"; + if (-1 != jtt.except.StackTrace_NPE_01.test(-2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_StackTrace_NPE_02() { + begin("jtt.except.StackTrace_NPE_02"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.StackTrace_NPE_02.test(0)) { + fail(runString); + return; + } + // (1) == 0 + runString = "(1)"; + if (0 != jtt.except.StackTrace_NPE_02.test(1)) { + fail(runString); + return; + } + // (-2) == -1 + runString = "(-2)"; + if (-1 != jtt.except.StackTrace_NPE_02.test(-2)) { + fail(runString); + return; + } + // (3) == 0 + runString = "(3)"; + if (0 != jtt.except.StackTrace_NPE_02.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_StackTrace_NPE_03() { + begin("jtt.except.StackTrace_NPE_03"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.except.StackTrace_NPE_03.test(0)) { + fail(runString); + return; + } + // (1) == 0 + runString = "(1)"; + if (0 != jtt.except.StackTrace_NPE_03.test(1)) { + fail(runString); + return; + } + // (-2) == -1 + runString = "(-2)"; + if (-1 != jtt.except.StackTrace_NPE_03.test(-2)) { + fail(runString); + return; + } + // (3) == 0 + runString = "(3)"; + if (0 != jtt.except.StackTrace_NPE_03.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Throw_InCatch01() { + begin("jtt.except.Throw_InCatch01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.except.Throw_InCatch01.test(0)) { + fail(runString); + return; + } + // (1) == !java.lang.Exception + try { + runString = "(1)"; + jtt.except.Throw_InCatch01.test(1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.Exception.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Throw_InCatch02() { + begin("jtt.except.Throw_InCatch02"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.except.Throw_InCatch02.test(0)) { + fail(runString); + return; + } + // (1) == !java.lang.Exception + try { + runString = "(1)"; + jtt.except.Throw_InCatch02.test(1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.Exception.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Throw_InCatch03() { + begin("jtt.except.Throw_InCatch03"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.except.Throw_InCatch03.test(0)) { + fail(runString); + return; + } + // (1) == !java.lang.Exception + try { + runString = "(1)"; + jtt.except.Throw_InCatch03.test(1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.Exception.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Throw_NPE_01() { + begin("jtt.except.Throw_NPE_01"); + String runString = null; + try { + // (0) == 1 + runString = "(0)"; + if (1 != jtt.except.Throw_NPE_01.test(0)) { + fail(runString); + return; + } + // (1) == 2 + runString = "(1)"; + if (2 != jtt.except.Throw_NPE_01.test(1)) { + fail(runString); + return; + } + // (-1) == !java.lang.NullPointerException + try { + runString = "(-1)"; + jtt.except.Throw_NPE_01.test(-1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Throw_Synchronized01() { + begin("jtt.except.Throw_Synchronized01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.except.Throw_Synchronized01.test(0)) { + fail(runString); + return; + } + // (1) == !java.lang.Exception + try { + runString = "(1)"; + jtt.except.Throw_Synchronized01.test(1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.Exception.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Throw_Synchronized02() { + begin("jtt.except.Throw_Synchronized02"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.except.Throw_Synchronized02.test(0)) { + fail(runString); + return; + } + // (1) == !java.lang.Exception + try { + runString = "(1)"; + jtt.except.Throw_Synchronized02.test(1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.Exception.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Throw_Synchronized03() { + begin("jtt.except.Throw_Synchronized03"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.except.Throw_Synchronized03.test(0)) { + fail(runString); + return; + } + // (1) == !java.lang.Exception + try { + runString = "(1)"; + jtt.except.Throw_Synchronized03.test(1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.Exception.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Throw_Synchronized04() { + begin("jtt.except.Throw_Synchronized04"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.except.Throw_Synchronized04.test(0)) { + fail(runString); + return; + } + // (1) == !java.lang.Exception + try { + runString = "(1)"; + jtt.except.Throw_Synchronized04.test(1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.Exception.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_except_Throw_Synchronized05() { + begin("jtt.except.Throw_Synchronized05"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.except.Throw_Synchronized05.test(0)) { + fail(runString); + return; + } + // (1) == !java.lang.Exception + try { + runString = "(1)"; + jtt.except.Throw_Synchronized05.test(1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.Exception.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Boxed_TYPE_01() { + begin("jtt.lang.Boxed_TYPE_01"); + String runString = null; + try { + // (0) == "boolean" + runString = "(0)"; + if (!"boolean".equals(jtt.lang.Boxed_TYPE_01.test(0))) { + fail(runString); + return; + } + // (1) == "byte" + runString = "(1)"; + if (!"byte".equals(jtt.lang.Boxed_TYPE_01.test(1))) { + fail(runString); + return; + } + // (2) == "char" + runString = "(2)"; + if (!"char".equals(jtt.lang.Boxed_TYPE_01.test(2))) { + fail(runString); + return; + } + // (3) == "double" + runString = "(3)"; + if (!"double".equals(jtt.lang.Boxed_TYPE_01.test(3))) { + fail(runString); + return; + } + // (4) == "float" + runString = "(4)"; + if (!"float".equals(jtt.lang.Boxed_TYPE_01.test(4))) { + fail(runString); + return; + } + // (5) == "int" + runString = "(5)"; + if (!"int".equals(jtt.lang.Boxed_TYPE_01.test(5))) { + fail(runString); + return; + } + // (6) == "long" + runString = "(6)"; + if (!"long".equals(jtt.lang.Boxed_TYPE_01.test(6))) { + fail(runString); + return; + } + // (7) == "short" + runString = "(7)"; + if (!"short".equals(jtt.lang.Boxed_TYPE_01.test(7))) { + fail(runString); + return; + } + // (8) == "void" + runString = "(8)"; + if (!"void".equals(jtt.lang.Boxed_TYPE_01.test(8))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Bridge_method01() { + begin("jtt.lang.Bridge_method01"); + String runString = null; + try { + // (0) == 1 + runString = "(0)"; + if (1 != jtt.lang.Bridge_method01.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.lang.Bridge_method01.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_ClassLoader_loadClass01() { + begin("jtt.lang.ClassLoader_loadClass01"); + String runString = null; + try { + // (0) == "class java.lang.String" + runString = "(0)"; + if (!"class java.lang.String" + .equals(jtt.lang.ClassLoader_loadClass01.test(0))) { + fail(runString); + return; + } + // (1) == !java.lang.ClassNotFoundException + try { + runString = "(1)"; + jtt.lang.ClassLoader_loadClass01.test(1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ClassNotFoundException.class) { + fail(runString, e); + return; + } + } + // (2) == !java.lang.ClassNotFoundException + try { + runString = "(2)"; + jtt.lang.ClassLoader_loadClass01.test(2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ClassNotFoundException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_Literal01() { + begin("jtt.lang.Class_Literal01"); + String runString = null; + try { + // (0) == "class java.lang.Object" + runString = "(0)"; + if (!"class java.lang.Object".equals(jtt.lang.Class_Literal01 + .test(0))) { + fail(runString); + return; + } + // (1) == "class java.lang.String" + runString = "(1)"; + if (!"class java.lang.String".equals(jtt.lang.Class_Literal01 + .test(1))) { + fail(runString); + return; + } + // (2) == "class java.lang.Class" + runString = "(2)"; + if (!"class java.lang.Class".equals(jtt.lang.Class_Literal01 + .test(2))) { + fail(runString); + return; + } + // (3) == "class jtt.lang.Class_Literal01" + runString = "(3)"; + if (!"class jtt.lang.Class_Literal01" + .equals(jtt.lang.Class_Literal01.test(3))) { + fail(runString); + return; + } + // (4) == null + runString = "(4)"; + if (null != jtt.lang.Class_Literal01.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_asSubclass01() { + begin("jtt.lang.Class_asSubclass01"); + String runString = null; + try { + // (0) == !java.lang.ClassCastException + try { + runString = "(0)"; + jtt.lang.Class_asSubclass01.test(0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ClassCastException.class) { + fail(runString, e); + return; + } + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.lang.Class_asSubclass01.test(1)) { + fail(runString); + return; + } + // (2) == !java.lang.ClassCastException + try { + runString = "(2)"; + jtt.lang.Class_asSubclass01.test(2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ClassCastException.class) { + fail(runString, e); + return; + } + } + // (3) == 3 + runString = "(3)"; + if (3 != jtt.lang.Class_asSubclass01.test(3)) { + fail(runString); + return; + } + // (4) == 4 + runString = "(4)"; + if (4 != jtt.lang.Class_asSubclass01.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_cast01() { + begin("jtt.lang.Class_cast01"); + String runString = null; + try { + // (1) == !java.lang.ClassCastException + try { + runString = "(1)"; + jtt.lang.Class_cast01.test(1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ClassCastException.class) { + fail(runString, e); + return; + } + } + // (0) == 0 + runString = "(0)"; + if (0 != jtt.lang.Class_cast01.test(0)) { + fail(runString); + return; + } + // (3) == !java.lang.ClassCastException + try { + runString = "(3)"; + jtt.lang.Class_cast01.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ClassCastException.class) { + fail(runString, e); + return; + } + } + // (2) == 2 + runString = "(2)"; + if (2 != jtt.lang.Class_cast01.test(2)) { + fail(runString); + return; + } + // (4) == 4 + runString = "(4)"; + if (4 != jtt.lang.Class_cast01.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_cast02() { + begin("jtt.lang.Class_cast02"); + String runString = null; + try { + // (0) == -1 + runString = "(0)"; + if (-1 != jtt.lang.Class_cast02.test(0)) { + fail(runString); + return; + } + // (1) == -1 + runString = "(1)"; + if (-1 != jtt.lang.Class_cast02.test(1)) { + fail(runString); + return; + } + // (2) == -1 + runString = "(2)"; + if (-1 != jtt.lang.Class_cast02.test(2)) { + fail(runString); + return; + } + // (3) == -1 + runString = "(3)"; + if (-1 != jtt.lang.Class_cast02.test(3)) { + fail(runString); + return; + } + // (4) == 4 + runString = "(4)"; + if (4 != jtt.lang.Class_cast02.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_forName01() { + begin("jtt.lang.Class_forName01"); + String runString = null; + try { + // (0) == "class java.lang.Object" + runString = "(0)"; + if (!"class java.lang.Object".equals(jtt.lang.Class_forName01 + .test(0))) { + fail(runString); + return; + } + // (1) == "class java.lang.String" + runString = "(1)"; + if (!"class java.lang.String".equals(jtt.lang.Class_forName01 + .test(1))) { + fail(runString); + return; + } + // (2) == "class jtt.lang.Class_forName01" + runString = "(2)"; + if (!"class jtt.lang.Class_forName01" + .equals(jtt.lang.Class_forName01.test(2))) { + fail(runString); + return; + } + // (3) == !java.lang.ClassNotFoundException + try { + runString = "(3)"; + jtt.lang.Class_forName01.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ClassNotFoundException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_forName02() { + begin("jtt.lang.Class_forName02"); + String runString = null; + try { + // (0) == "class java.lang.Object" + runString = "(0)"; + if (!"class java.lang.Object".equals(jtt.lang.Class_forName02 + .test(0))) { + fail(runString); + return; + } + // (1) == "class java.lang.String" + runString = "(1)"; + if (!"class java.lang.String".equals(jtt.lang.Class_forName02 + .test(1))) { + fail(runString); + return; + } + // (2) == "class jtt.lang.Class_forName02" + runString = "(2)"; + if (!"class jtt.lang.Class_forName02" + .equals(jtt.lang.Class_forName02.test(2))) { + fail(runString); + return; + } + // (3) == !java.lang.ClassNotFoundException + try { + runString = "(3)"; + jtt.lang.Class_forName02.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ClassNotFoundException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_forName03() { + begin("jtt.lang.Class_forName03"); + String runString = null; + try { + // (0) == !java.lang.ClassNotFoundException + try { + runString = "(0)"; + jtt.lang.Class_forName03.test(0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ClassNotFoundException.class) { + fail(runString, e); + return; + } + } + // (1) == "class [Ljava.lang.String;" + runString = "(1)"; + if (!"class [Ljava.lang.String;".equals(jtt.lang.Class_forName03 + .test(1))) { + fail(runString); + return; + } + // (2) == !java.lang.ClassNotFoundException + try { + runString = "(2)"; + jtt.lang.Class_forName03.test(2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ClassNotFoundException.class) { + fail(runString, e); + return; + } + } + // (3) == "class [I" + runString = "(3)"; + if (!"class [I".equals(jtt.lang.Class_forName03.test(3))) { + fail(runString); + return; + } + // (4) == !java.lang.ClassNotFoundException + try { + runString = "(4)"; + jtt.lang.Class_forName03.test(4); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ClassNotFoundException.class) { + fail(runString, e); + return; + } + } + // (5) == null + runString = "(5)"; + if (null != jtt.lang.Class_forName03.test(5)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_forName04() { + begin("jtt.lang.Class_forName04"); + String runString = null; + try { + // (0) == !java.lang.ClassNotFoundException + try { + runString = "(0)"; + jtt.lang.Class_forName04.test(0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ClassNotFoundException.class) { + fail(runString, e); + return; + } + } + // (1) == "class [Ljava.lang.String;" + runString = "(1)"; + if (!"class [Ljava.lang.String;".equals(jtt.lang.Class_forName04 + .test(1))) { + fail(runString); + return; + } + // (2) == !java.lang.ClassNotFoundException + try { + runString = "(2)"; + jtt.lang.Class_forName04.test(2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ClassNotFoundException.class) { + fail(runString, e); + return; + } + } + // (3) == "class [I" + runString = "(3)"; + if (!"class [I".equals(jtt.lang.Class_forName04.test(3))) { + fail(runString); + return; + } + // (4) == !java.lang.ClassNotFoundException + try { + runString = "(4)"; + jtt.lang.Class_forName04.test(4); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ClassNotFoundException.class) { + fail(runString, e); + return; + } + } + // (5) == null + runString = "(5)"; + if (null != jtt.lang.Class_forName04.test(5)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_forName05() { + begin("jtt.lang.Class_forName05"); + String runString = null; + try { + // (0) == "class java.lang.String" + runString = "(0)"; + if (!"class java.lang.String".equals(jtt.lang.Class_forName05 + .test(0))) { + fail(runString); + return; + } + // (1) == "class [Ljava.lang.String;" + runString = "(1)"; + if (!"class [Ljava.lang.String;".equals(jtt.lang.Class_forName05 + .test(1))) { + fail(runString); + return; + } + // (5) == null + runString = "(5)"; + if (null != jtt.lang.Class_forName05.test(5)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_getComponentType01() { + begin("jtt.lang.Class_getComponentType01"); + String runString = null; + try { + // (0) == null + runString = "(0)"; + if (null != jtt.lang.Class_getComponentType01.test(0)) { + fail(runString); + return; + } + // (1) == "int" + runString = "(1)"; + if (!"int".equals(jtt.lang.Class_getComponentType01.test(1))) { + fail(runString); + return; + } + // (2) == null + runString = "(2)"; + if (null != jtt.lang.Class_getComponentType01.test(2)) { + fail(runString); + return; + } + // (3) == "java.lang.Object" + runString = "(3)"; + if (!"java.lang.Object".equals(jtt.lang.Class_getComponentType01 + .test(3))) { + fail(runString); + return; + } + // (4) == null + runString = "(4)"; + if (null != jtt.lang.Class_getComponentType01.test(4)) { + fail(runString); + return; + } + // (5) == null + runString = "(5)"; + if (null != jtt.lang.Class_getComponentType01.test(5)) { + fail(runString); + return; + } + // (6) == "[Ljava.lang.Object;" + runString = "(6)"; + if (!"[Ljava.lang.Object;".equals(jtt.lang.Class_getComponentType01 + .test(6))) { + fail(runString); + return; + } + // (7) == null + runString = "(7)"; + if (null != jtt.lang.Class_getComponentType01.test(7)) { + fail(runString); + return; + } + // (8) == null + runString = "(8)"; + if (null != jtt.lang.Class_getComponentType01.test(8)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_getInterfaces01() { + begin("jtt.lang.Class_getInterfaces01"); + String runString = null; + try { + // (0) == "" + runString = "(0)"; + if (!"".equals(jtt.lang.Class_getInterfaces01.test(0))) { + fail(runString); + return; + } + // (1) == "jtt.lang.Class_getInterfaces01$I1" + runString = "(1)"; + if (!"jtt.lang.Class_getInterfaces01$I1" + .equals(jtt.lang.Class_getInterfaces01.test(1))) { + fail(runString); + return; + } + // (2) == "jtt.lang.Class_getInterfaces01$I1" + runString = "(2)"; + if (!"jtt.lang.Class_getInterfaces01$I1" + .equals(jtt.lang.Class_getInterfaces01.test(2))) { + fail(runString); + return; + } + // (3) == "jtt.lang.Class_getInterfaces01$I2" + runString = "(3)"; + if (!"jtt.lang.Class_getInterfaces01$I2" + .equals(jtt.lang.Class_getInterfaces01.test(3))) { + fail(runString); + return; + } + // (4) == + // "jtt.lang.Class_getInterfaces01$I1 jtt.lang.Class_getInterfaces01$I2" + runString = "(4)"; + if (!"jtt.lang.Class_getInterfaces01$I1 jtt.lang.Class_getInterfaces01$I2" + .equals(jtt.lang.Class_getInterfaces01.test(4))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_getName01() { + begin("jtt.lang.Class_getName01"); + String runString = null; + try { + // (0) == "java.lang.Object" + runString = "(0)"; + if (!"java.lang.Object".equals(jtt.lang.Class_getName01.test(0))) { + fail(runString); + return; + } + // (1) == "java.lang.Class" + runString = "(1)"; + if (!"java.lang.Class".equals(jtt.lang.Class_getName01.test(1))) { + fail(runString); + return; + } + // (2) == "jtt.lang.Class_getName01" + runString = "(2)"; + if (!"jtt.lang.Class_getName01".equals(jtt.lang.Class_getName01 + .test(2))) { + fail(runString); + return; + } + // (3) == "true" + runString = "(3)"; + if (!"true".equals(jtt.lang.Class_getName01.test(3))) { + fail(runString); + return; + } + // (4) == null + runString = "(4)"; + if (null != jtt.lang.Class_getName01.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_getName02() { + begin("jtt.lang.Class_getName02"); + String runString = null; + try { + // (0) == "int" + runString = "(0)"; + if (!"int".equals(jtt.lang.Class_getName02.test(0))) { + fail(runString); + return; + } + // (1) == "[I" + runString = "(1)"; + if (!"[I".equals(jtt.lang.Class_getName02.test(1))) { + fail(runString); + return; + } + // (2) == "[[Ljava.lang.Object;" + runString = "(2)"; + if (!"[[Ljava.lang.Object;" + .equals(jtt.lang.Class_getName02.test(2))) { + fail(runString); + return; + } + // (3) == null + runString = "(3)"; + if (null != jtt.lang.Class_getName02.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_getSimpleName01() { + begin("jtt.lang.Class_getSimpleName01"); + String runString = null; + try { + // (0) == "Object" + runString = "(0)"; + if (!"Object".equals(jtt.lang.Class_getSimpleName01.test(0))) { + fail(runString); + return; + } + // (1) == "Class" + runString = "(1)"; + if (!"Class".equals(jtt.lang.Class_getSimpleName01.test(1))) { + fail(runString); + return; + } + // (2) == "Class_getSimpleName01" + runString = "(2)"; + if (!"Class_getSimpleName01".equals(jtt.lang.Class_getSimpleName01 + .test(2))) { + fail(runString); + return; + } + // (3) == null + runString = "(3)"; + if (null != jtt.lang.Class_getSimpleName01.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_getSimpleName02() { + begin("jtt.lang.Class_getSimpleName02"); + String runString = null; + try { + // (0) == "int" + runString = "(0)"; + if (!"int".equals(jtt.lang.Class_getSimpleName02.test(0))) { + fail(runString); + return; + } + // (1) == "int[]" + runString = "(1)"; + if (!"int[]".equals(jtt.lang.Class_getSimpleName02.test(1))) { + fail(runString); + return; + } + // (2) == "Object[][]" + runString = "(2)"; + if (!"Object[][]".equals(jtt.lang.Class_getSimpleName02.test(2))) { + fail(runString); + return; + } + // (3) == null + runString = "(3)"; + if (null != jtt.lang.Class_getSimpleName02.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_getSuperClass01() { + begin("jtt.lang.Class_getSuperClass01"); + String runString = null; + try { + // (0) == null + runString = "(0)"; + if (null != jtt.lang.Class_getSuperClass01.test(0)) { + fail(runString); + return; + } + // (1) == null + runString = "(1)"; + if (null != jtt.lang.Class_getSuperClass01.test(1)) { + fail(runString); + return; + } + // (2) == "java.lang.Object" + runString = "(2)"; + if (!"java.lang.Object".equals(jtt.lang.Class_getSuperClass01 + .test(2))) { + fail(runString); + return; + } + // (3) == null + runString = "(3)"; + if (null != jtt.lang.Class_getSuperClass01.test(3)) { + fail(runString); + return; + } + // (4) == "java.lang.Number" + runString = "(4)"; + if (!"java.lang.Number".equals(jtt.lang.Class_getSuperClass01 + .test(4))) { + fail(runString); + return; + } + // (5) == "java.lang.Object" + runString = "(5)"; + if (!"java.lang.Object".equals(jtt.lang.Class_getSuperClass01 + .test(5))) { + fail(runString); + return; + } + // (6) == "java.lang.Object" + runString = "(6)"; + if (!"java.lang.Object".equals(jtt.lang.Class_getSuperClass01 + .test(6))) { + fail(runString); + return; + } + // (7) == null + runString = "(7)"; + if (null != jtt.lang.Class_getSuperClass01.test(7)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_isArray01() { + begin("jtt.lang.Class_isArray01"); + String runString = null; + try { + // (0) == false + runString = "(0)"; + if (false != jtt.lang.Class_isArray01.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.lang.Class_isArray01.test(1)) { + fail(runString); + return; + } + // (2) == false + runString = "(2)"; + if (false != jtt.lang.Class_isArray01.test(2)) { + fail(runString); + return; + } + // (3) == true + runString = "(3)"; + if (true != jtt.lang.Class_isArray01.test(3)) { + fail(runString); + return; + } + // (4) == false + runString = "(4)"; + if (false != jtt.lang.Class_isArray01.test(4)) { + fail(runString); + return; + } + // (5) == false + runString = "(5)"; + if (false != jtt.lang.Class_isArray01.test(5)) { + fail(runString); + return; + } + // (6) == false + runString = "(6)"; + if (false != jtt.lang.Class_isArray01.test(6)) { + fail(runString); + return; + } + // (7) == false + runString = "(7)"; + if (false != jtt.lang.Class_isArray01.test(7)) { + fail(runString); + return; + } + // (8) == false + runString = "(8)"; + if (false != jtt.lang.Class_isArray01.test(8)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_isAssignableFrom01() { + begin("jtt.lang.Class_isAssignableFrom01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.lang.Class_isAssignableFrom01.test(0)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.lang.Class_isAssignableFrom01.test(1)) { + fail(runString); + return; + } + // (2) == false + runString = "(2)"; + if (false != jtt.lang.Class_isAssignableFrom01.test(2)) { + fail(runString); + return; + } + // (3) == false + runString = "(3)"; + if (false != jtt.lang.Class_isAssignableFrom01.test(3)) { + fail(runString); + return; + } + // (4) == false + runString = "(4)"; + if (false != jtt.lang.Class_isAssignableFrom01.test(4)) { + fail(runString); + return; + } + // (5) == false + runString = "(5)"; + if (false != jtt.lang.Class_isAssignableFrom01.test(5)) { + fail(runString); + return; + } + // (6) == false + runString = "(6)"; + if (false != jtt.lang.Class_isAssignableFrom01.test(6)) { + fail(runString); + return; + } + // (7) == false + runString = "(7)"; + if (false != jtt.lang.Class_isAssignableFrom01.test(7)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_isAssignableFrom02() { + begin("jtt.lang.Class_isAssignableFrom02"); + String runString = null; + try { + // (0) == false + runString = "(0)"; + if (false != jtt.lang.Class_isAssignableFrom02.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.lang.Class_isAssignableFrom02.test(1)) { + fail(runString); + return; + } + // (2) == false + runString = "(2)"; + if (false != jtt.lang.Class_isAssignableFrom02.test(2)) { + fail(runString); + return; + } + // (3) == false + runString = "(3)"; + if (false != jtt.lang.Class_isAssignableFrom02.test(3)) { + fail(runString); + return; + } + // (4) == true + runString = "(4)"; + if (true != jtt.lang.Class_isAssignableFrom02.test(4)) { + fail(runString); + return; + } + // (5) == true + runString = "(5)"; + if (true != jtt.lang.Class_isAssignableFrom02.test(5)) { + fail(runString); + return; + } + // (6) == true + runString = "(6)"; + if (true != jtt.lang.Class_isAssignableFrom02.test(6)) { + fail(runString); + return; + } + // (7) == true + runString = "(7)"; + if (true != jtt.lang.Class_isAssignableFrom02.test(7)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_isAssignableFrom03() { + begin("jtt.lang.Class_isAssignableFrom03"); + String runString = null; + try { + // (0) == false + runString = "(0)"; + if (false != jtt.lang.Class_isAssignableFrom03.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.lang.Class_isAssignableFrom03.test(1)) { + fail(runString); + return; + } + // (2) == false + runString = "(2)"; + if (false != jtt.lang.Class_isAssignableFrom03.test(2)) { + fail(runString); + return; + } + // (3) == true + runString = "(3)"; + if (true != jtt.lang.Class_isAssignableFrom03.test(3)) { + fail(runString); + return; + } + // (4) == false + runString = "(4)"; + if (false != jtt.lang.Class_isAssignableFrom03.test(4)) { + fail(runString); + return; + } + // (5) == true + runString = "(5)"; + if (true != jtt.lang.Class_isAssignableFrom03.test(5)) { + fail(runString); + return; + } + // (6) == true + runString = "(6)"; + if (true != jtt.lang.Class_isAssignableFrom03.test(6)) { + fail(runString); + return; + } + // (7) == false + runString = "(7)"; + if (false != jtt.lang.Class_isAssignableFrom03.test(7)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_isInstance01() { + begin("jtt.lang.Class_isInstance01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.lang.Class_isInstance01.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.lang.Class_isInstance01.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.lang.Class_isInstance01.test(2)) { + fail(runString); + return; + } + // (3) == false + runString = "(3)"; + if (false != jtt.lang.Class_isInstance01.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_isInstance02() { + begin("jtt.lang.Class_isInstance02"); + String runString = null; + try { + // (0) == false + runString = "(0)"; + if (false != jtt.lang.Class_isInstance02.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.lang.Class_isInstance02.test(1)) { + fail(runString); + return; + } + // (2) == false + runString = "(2)"; + if (false != jtt.lang.Class_isInstance02.test(2)) { + fail(runString); + return; + } + // (3) == false + runString = "(3)"; + if (false != jtt.lang.Class_isInstance02.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_isInstance03() { + begin("jtt.lang.Class_isInstance03"); + String runString = null; + try { + // (0) == false + runString = "(0)"; + if (false != jtt.lang.Class_isInstance03.test(0)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.lang.Class_isInstance03.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.lang.Class_isInstance03.test(2)) { + fail(runString); + return; + } + // (3) == false + runString = "(3)"; + if (false != jtt.lang.Class_isInstance03.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_isInstance04() { + begin("jtt.lang.Class_isInstance04"); + String runString = null; + try { + // (0) == false + runString = "(0)"; + if (false != jtt.lang.Class_isInstance04.test(0)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.lang.Class_isInstance04.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.lang.Class_isInstance04.test(2)) { + fail(runString); + return; + } + // (3) == false + runString = "(3)"; + if (false != jtt.lang.Class_isInstance04.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_isInstance05() { + begin("jtt.lang.Class_isInstance05"); + String runString = null; + try { + // (0) == false + runString = "(0)"; + if (false != jtt.lang.Class_isInstance05.test(0)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.lang.Class_isInstance05.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.lang.Class_isInstance05.test(2)) { + fail(runString); + return; + } + // (3) == false + runString = "(3)"; + if (false != jtt.lang.Class_isInstance05.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_isInstance06() { + begin("jtt.lang.Class_isInstance06"); + String runString = null; + try { + // (0) == false + runString = "(0)"; + if (false != jtt.lang.Class_isInstance06.test(0)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.lang.Class_isInstance06.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.lang.Class_isInstance06.test(2)) { + fail(runString); + return; + } + // (3) == true + runString = "(3)"; + if (true != jtt.lang.Class_isInstance06.test(3)) { + fail(runString); + return; + } + // (4) == false + runString = "(4)"; + if (false != jtt.lang.Class_isInstance06.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_isInterface01() { + begin("jtt.lang.Class_isInterface01"); + String runString = null; + try { + // (0) == false + runString = "(0)"; + if (false != jtt.lang.Class_isInterface01.test(0)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.lang.Class_isInterface01.test(1)) { + fail(runString); + return; + } + // (2) == false + runString = "(2)"; + if (false != jtt.lang.Class_isInterface01.test(2)) { + fail(runString); + return; + } + // (3) == false + runString = "(3)"; + if (false != jtt.lang.Class_isInterface01.test(3)) { + fail(runString); + return; + } + // (4) == false + runString = "(4)"; + if (false != jtt.lang.Class_isInterface01.test(4)) { + fail(runString); + return; + } + // (5) == true + runString = "(5)"; + if (true != jtt.lang.Class_isInterface01.test(5)) { + fail(runString); + return; + } + // (6) == true + runString = "(6)"; + if (true != jtt.lang.Class_isInterface01.test(6)) { + fail(runString); + return; + } + // (7) == false + runString = "(7)"; + if (false != jtt.lang.Class_isInterface01.test(7)) { + fail(runString); + return; + } + // (8) == false + runString = "(8)"; + if (false != jtt.lang.Class_isInterface01.test(8)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Class_isPrimitive01() { + begin("jtt.lang.Class_isPrimitive01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.lang.Class_isPrimitive01.test(0)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.lang.Class_isPrimitive01.test(1)) { + fail(runString); + return; + } + // (2) == false + runString = "(2)"; + if (false != jtt.lang.Class_isPrimitive01.test(2)) { + fail(runString); + return; + } + // (3) == false + runString = "(3)"; + if (false != jtt.lang.Class_isPrimitive01.test(3)) { + fail(runString); + return; + } + // (4) == false + runString = "(4)"; + if (false != jtt.lang.Class_isPrimitive01.test(4)) { + fail(runString); + return; + } + // (5) == false + runString = "(5)"; + if (false != jtt.lang.Class_isPrimitive01.test(5)) { + fail(runString); + return; + } + // (6) == false + runString = "(6)"; + if (false != jtt.lang.Class_isPrimitive01.test(6)) { + fail(runString); + return; + } + // (7) == true + runString = "(7)"; + if (true != jtt.lang.Class_isPrimitive01.test(7)) { + fail(runString); + return; + } + // (8) == false + runString = "(8)"; + if (false != jtt.lang.Class_isPrimitive01.test(8)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Double_toString() { + begin("jtt.lang.Double_toString"); + String runString = null; + try { + // (0) == "9.834050399508132E-4" + runString = "(0)"; + if (!"9.834050399508132E-4" + .equals(jtt.lang.Double_toString.test(0))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Float_01() { + begin("jtt.lang.Float_01"); + String runString = null; + try { + // (1.0) == false + runString = "(1.0)"; + if (false != jtt.lang.Float_01.test(1.0f)) { + fail(runString); + return; + } + // (2.0) == false + runString = "(2.0)"; + if (false != jtt.lang.Float_01.test(2.0f)) { + fail(runString); + return; + } + // (0.5) == false + runString = "(0.5)"; + if (false != jtt.lang.Float_01.test(0.5f)) { + fail(runString); + return; + } + // (java.lang.Float.NaN) == true + runString = "(java.lang.Float.NaN)"; + if (true != jtt.lang.Float_01.test(java.lang.Float.NaN)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Float_02() { + begin("jtt.lang.Float_02"); + String runString = null; + try { + // (1.0) == false + runString = "(1.0)"; + if (false != jtt.lang.Float_02.test(1.0f)) { + fail(runString); + return; + } + // (2.0) == true + runString = "(2.0)"; + if (true != jtt.lang.Float_02.test(2.0f)) { + fail(runString); + return; + } + // (0.5) == true + runString = "(0.5)"; + if (true != jtt.lang.Float_02.test(0.5f)) { + fail(runString); + return; + } + // (java.lang.Float.NaN) == true + runString = "(java.lang.Float.NaN)"; + if (true != jtt.lang.Float_02.test(java.lang.Float.NaN)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Int_greater01() { + begin("jtt.lang.Int_greater01"); + String runString = null; + try { + // (-2147483648) == false + runString = "(-2147483648)"; + if (false != jtt.lang.Int_greater01.test(-2147483648)) { + fail(runString); + return; + } + // (-2) == false + runString = "(-2)"; + if (false != jtt.lang.Int_greater01.test(-2)) { + fail(runString); + return; + } + // (-1) == false + runString = "(-1)"; + if (false != jtt.lang.Int_greater01.test(-1)) { + fail(runString); + return; + } + // (0) == false + runString = "(0)"; + if (false != jtt.lang.Int_greater01.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.lang.Int_greater01.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.lang.Int_greater01.test(2)) { + fail(runString); + return; + } + // (2147483647) == true + runString = "(2147483647)"; + if (true != jtt.lang.Int_greater01.test(2147483647)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Int_greater02() { + begin("jtt.lang.Int_greater02"); + String runString = null; + try { + // (-2147483648) == false + runString = "(-2147483648)"; + if (false != jtt.lang.Int_greater02.test(-2147483648)) { + fail(runString); + return; + } + // (-2) == false + runString = "(-2)"; + if (false != jtt.lang.Int_greater02.test(-2)) { + fail(runString); + return; + } + // (-1) == false + runString = "(-1)"; + if (false != jtt.lang.Int_greater02.test(-1)) { + fail(runString); + return; + } + // (0) == false + runString = "(0)"; + if (false != jtt.lang.Int_greater02.test(0)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.lang.Int_greater02.test(1)) { + fail(runString); + return; + } + // (4) == false + runString = "(4)"; + if (false != jtt.lang.Int_greater02.test(4)) { + fail(runString); + return; + } + // (5) == false + runString = "(5)"; + if (false != jtt.lang.Int_greater02.test(5)) { + fail(runString); + return; + } + // (6) == true + runString = "(6)"; + if (true != jtt.lang.Int_greater02.test(6)) { + fail(runString); + return; + } + // (2147483647) == true + runString = "(2147483647)"; + if (true != jtt.lang.Int_greater02.test(2147483647)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Int_greater03() { + begin("jtt.lang.Int_greater03"); + String runString = null; + try { + // (-2147483648) == false + runString = "(-2147483648)"; + if (false != jtt.lang.Int_greater03.test(-2147483648)) { + fail(runString); + return; + } + // (-6) == false + runString = "(-6)"; + if (false != jtt.lang.Int_greater03.test(-6)) { + fail(runString); + return; + } + // (-5) == false + runString = "(-5)"; + if (false != jtt.lang.Int_greater03.test(-5)) { + fail(runString); + return; + } + // (-4) == true + runString = "(-4)"; + if (true != jtt.lang.Int_greater03.test(-4)) { + fail(runString); + return; + } + // (-1) == true + runString = "(-1)"; + if (true != jtt.lang.Int_greater03.test(-1)) { + fail(runString); + return; + } + // (0) == true + runString = "(0)"; + if (true != jtt.lang.Int_greater03.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.lang.Int_greater03.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.lang.Int_greater03.test(2)) { + fail(runString); + return; + } + // (2147483647) == true + runString = "(2147483647)"; + if (true != jtt.lang.Int_greater03.test(2147483647)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Int_greaterEqual01() { + begin("jtt.lang.Int_greaterEqual01"); + String runString = null; + try { + // (-2147483648) == false + runString = "(-2147483648)"; + if (false != jtt.lang.Int_greaterEqual01.test(-2147483648)) { + fail(runString); + return; + } + // (-2) == false + runString = "(-2)"; + if (false != jtt.lang.Int_greaterEqual01.test(-2)) { + fail(runString); + return; + } + // (-1) == false + runString = "(-1)"; + if (false != jtt.lang.Int_greaterEqual01.test(-1)) { + fail(runString); + return; + } + // (0) == true + runString = "(0)"; + if (true != jtt.lang.Int_greaterEqual01.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.lang.Int_greaterEqual01.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.lang.Int_greaterEqual01.test(2)) { + fail(runString); + return; + } + // (2147483647) == true + runString = "(2147483647)"; + if (true != jtt.lang.Int_greaterEqual01.test(2147483647)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Int_greaterEqual02() { + begin("jtt.lang.Int_greaterEqual02"); + String runString = null; + try { + // (-2147483648) == false + runString = "(-2147483648)"; + if (false != jtt.lang.Int_greaterEqual02.test(-2147483648)) { + fail(runString); + return; + } + // (-2) == false + runString = "(-2)"; + if (false != jtt.lang.Int_greaterEqual02.test(-2)) { + fail(runString); + return; + } + // (-1) == false + runString = "(-1)"; + if (false != jtt.lang.Int_greaterEqual02.test(-1)) { + fail(runString); + return; + } + // (0) == false + runString = "(0)"; + if (false != jtt.lang.Int_greaterEqual02.test(0)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.lang.Int_greaterEqual02.test(1)) { + fail(runString); + return; + } + // (4) == false + runString = "(4)"; + if (false != jtt.lang.Int_greaterEqual02.test(4)) { + fail(runString); + return; + } + // (5) == true + runString = "(5)"; + if (true != jtt.lang.Int_greaterEqual02.test(5)) { + fail(runString); + return; + } + // (6) == true + runString = "(6)"; + if (true != jtt.lang.Int_greaterEqual02.test(6)) { + fail(runString); + return; + } + // (2147483647) == true + runString = "(2147483647)"; + if (true != jtt.lang.Int_greaterEqual02.test(2147483647)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Int_greaterEqual03() { + begin("jtt.lang.Int_greaterEqual03"); + String runString = null; + try { + // (-2147483648) == false + runString = "(-2147483648)"; + if (false != jtt.lang.Int_greaterEqual03.test(-2147483648)) { + fail(runString); + return; + } + // (-6) == false + runString = "(-6)"; + if (false != jtt.lang.Int_greaterEqual03.test(-6)) { + fail(runString); + return; + } + // (-5) == true + runString = "(-5)"; + if (true != jtt.lang.Int_greaterEqual03.test(-5)) { + fail(runString); + return; + } + // (-4) == true + runString = "(-4)"; + if (true != jtt.lang.Int_greaterEqual03.test(-4)) { + fail(runString); + return; + } + // (-1) == true + runString = "(-1)"; + if (true != jtt.lang.Int_greaterEqual03.test(-1)) { + fail(runString); + return; + } + // (0) == true + runString = "(0)"; + if (true != jtt.lang.Int_greaterEqual03.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.lang.Int_greaterEqual03.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.lang.Int_greaterEqual03.test(2)) { + fail(runString); + return; + } + // (2147483647) == true + runString = "(2147483647)"; + if (true != jtt.lang.Int_greaterEqual03.test(2147483647)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Int_less01() { + begin("jtt.lang.Int_less01"); + String runString = null; + try { + // (-2147483648) == true + runString = "(-2147483648)"; + if (true != jtt.lang.Int_less01.test(-2147483648)) { + fail(runString); + return; + } + // (-2) == true + runString = "(-2)"; + if (true != jtt.lang.Int_less01.test(-2)) { + fail(runString); + return; + } + // (-1) == true + runString = "(-1)"; + if (true != jtt.lang.Int_less01.test(-1)) { + fail(runString); + return; + } + // (0) == false + runString = "(0)"; + if (false != jtt.lang.Int_less01.test(0)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.lang.Int_less01.test(1)) { + fail(runString); + return; + } + // (2) == false + runString = "(2)"; + if (false != jtt.lang.Int_less01.test(2)) { + fail(runString); + return; + } + // (2147483647) == false + runString = "(2147483647)"; + if (false != jtt.lang.Int_less01.test(2147483647)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Int_less02() { + begin("jtt.lang.Int_less02"); + String runString = null; + try { + // (-2147483648) == true + runString = "(-2147483648)"; + if (true != jtt.lang.Int_less02.test(-2147483648)) { + fail(runString); + return; + } + // (-2) == true + runString = "(-2)"; + if (true != jtt.lang.Int_less02.test(-2)) { + fail(runString); + return; + } + // (-1) == true + runString = "(-1)"; + if (true != jtt.lang.Int_less02.test(-1)) { + fail(runString); + return; + } + // (0) == true + runString = "(0)"; + if (true != jtt.lang.Int_less02.test(0)) { + fail(runString); + return; + } + // (4) == true + runString = "(4)"; + if (true != jtt.lang.Int_less02.test(4)) { + fail(runString); + return; + } + // (5) == false + runString = "(5)"; + if (false != jtt.lang.Int_less02.test(5)) { + fail(runString); + return; + } + // (6) == false + runString = "(6)"; + if (false != jtt.lang.Int_less02.test(6)) { + fail(runString); + return; + } + // (2147483647) == false + runString = "(2147483647)"; + if (false != jtt.lang.Int_less02.test(2147483647)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Int_less03() { + begin("jtt.lang.Int_less03"); + String runString = null; + try { + // (-2147483648) == true + runString = "(-2147483648)"; + if (true != jtt.lang.Int_less03.test(-2147483648)) { + fail(runString); + return; + } + // (-6) == true + runString = "(-6)"; + if (true != jtt.lang.Int_less03.test(-6)) { + fail(runString); + return; + } + // (-5) == false + runString = "(-5)"; + if (false != jtt.lang.Int_less03.test(-5)) { + fail(runString); + return; + } + // (-4) == false + runString = "(-4)"; + if (false != jtt.lang.Int_less03.test(-4)) { + fail(runString); + return; + } + // (-1) == false + runString = "(-1)"; + if (false != jtt.lang.Int_less03.test(-1)) { + fail(runString); + return; + } + // (0) == false + runString = "(0)"; + if (false != jtt.lang.Int_less03.test(0)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.lang.Int_less03.test(1)) { + fail(runString); + return; + } + // (2) == false + runString = "(2)"; + if (false != jtt.lang.Int_less03.test(2)) { + fail(runString); + return; + } + // (2147483647) == false + runString = "(2147483647)"; + if (false != jtt.lang.Int_less03.test(2147483647)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Int_lessEqual01() { + begin("jtt.lang.Int_lessEqual01"); + String runString = null; + try { + // (-2147483648) == true + runString = "(-2147483648)"; + if (true != jtt.lang.Int_lessEqual01.test(-2147483648)) { + fail(runString); + return; + } + // (-2) == true + runString = "(-2)"; + if (true != jtt.lang.Int_lessEqual01.test(-2)) { + fail(runString); + return; + } + // (-1) == true + runString = "(-1)"; + if (true != jtt.lang.Int_lessEqual01.test(-1)) { + fail(runString); + return; + } + // (0) == true + runString = "(0)"; + if (true != jtt.lang.Int_lessEqual01.test(0)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.lang.Int_lessEqual01.test(1)) { + fail(runString); + return; + } + // (2) == false + runString = "(2)"; + if (false != jtt.lang.Int_lessEqual01.test(2)) { + fail(runString); + return; + } + // (2147483647) == false + runString = "(2147483647)"; + if (false != jtt.lang.Int_lessEqual01.test(2147483647)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Int_lessEqual02() { + begin("jtt.lang.Int_lessEqual02"); + String runString = null; + try { + // (-2147483648) == true + runString = "(-2147483648)"; + if (true != jtt.lang.Int_lessEqual02.test(-2147483648)) { + fail(runString); + return; + } + // (-2) == true + runString = "(-2)"; + if (true != jtt.lang.Int_lessEqual02.test(-2)) { + fail(runString); + return; + } + // (-1) == true + runString = "(-1)"; + if (true != jtt.lang.Int_lessEqual02.test(-1)) { + fail(runString); + return; + } + // (0) == true + runString = "(0)"; + if (true != jtt.lang.Int_lessEqual02.test(0)) { + fail(runString); + return; + } + // (4) == true + runString = "(4)"; + if (true != jtt.lang.Int_lessEqual02.test(4)) { + fail(runString); + return; + } + // (5) == true + runString = "(5)"; + if (true != jtt.lang.Int_lessEqual02.test(5)) { + fail(runString); + return; + } + // (6) == false + runString = "(6)"; + if (false != jtt.lang.Int_lessEqual02.test(6)) { + fail(runString); + return; + } + // (2147483647) == false + runString = "(2147483647)"; + if (false != jtt.lang.Int_lessEqual02.test(2147483647)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Int_lessEqual03() { + begin("jtt.lang.Int_lessEqual03"); + String runString = null; + try { + // (-2147483648) == true + runString = "(-2147483648)"; + if (true != jtt.lang.Int_lessEqual03.test(-2147483648)) { + fail(runString); + return; + } + // (-6) == true + runString = "(-6)"; + if (true != jtt.lang.Int_lessEqual03.test(-6)) { + fail(runString); + return; + } + // (-5) == true + runString = "(-5)"; + if (true != jtt.lang.Int_lessEqual03.test(-5)) { + fail(runString); + return; + } + // (-4) == false + runString = "(-4)"; + if (false != jtt.lang.Int_lessEqual03.test(-4)) { + fail(runString); + return; + } + // (-1) == false + runString = "(-1)"; + if (false != jtt.lang.Int_lessEqual03.test(-1)) { + fail(runString); + return; + } + // (0) == false + runString = "(0)"; + if (false != jtt.lang.Int_lessEqual03.test(0)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.lang.Int_lessEqual03.test(1)) { + fail(runString); + return; + } + // (2) == false + runString = "(2)"; + if (false != jtt.lang.Int_lessEqual03.test(2)) { + fail(runString); + return; + } + // (2147483647) == false + runString = "(2147483647)"; + if (false != jtt.lang.Int_lessEqual03.test(2147483647)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_JDK_ClassLoaders01() { + begin("jtt.lang.JDK_ClassLoaders01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.lang.JDK_ClassLoaders01.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.lang.JDK_ClassLoaders01.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.lang.JDK_ClassLoaders01.test(2)) { + fail(runString); + return; + } + // (3) == true + runString = "(3)"; + if (true != jtt.lang.JDK_ClassLoaders01.test(3)) { + fail(runString); + return; + } + // (4) == true + runString = "(4)"; + if (true != jtt.lang.JDK_ClassLoaders01.test(4)) { + fail(runString); + return; + } + // (5) == true + runString = "(5)"; + if (true != jtt.lang.JDK_ClassLoaders01.test(5)) { + fail(runString); + return; + } + // (6) == false + runString = "(6)"; + if (false != jtt.lang.JDK_ClassLoaders01.test(6)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_JDK_ClassLoaders02() { + begin("jtt.lang.JDK_ClassLoaders02"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.lang.JDK_ClassLoaders02.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Long_greater01() { + begin("jtt.lang.Long_greater01"); + String runString = null; + try { + // (-9223372036854775808) == false + runString = "(-9223372036854775808)"; + if (false != jtt.lang.Long_greater01.test(-9223372036854775808L)) { + fail(runString); + return; + } + // (-2) == false + runString = "(-2)"; + if (false != jtt.lang.Long_greater01.test(-2L)) { + fail(runString); + return; + } + // (-1) == false + runString = "(-1)"; + if (false != jtt.lang.Long_greater01.test(-1L)) { + fail(runString); + return; + } + // (0) == false + runString = "(0)"; + if (false != jtt.lang.Long_greater01.test(0L)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.lang.Long_greater01.test(1L)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.lang.Long_greater01.test(2L)) { + fail(runString); + return; + } + // (9223372036854775807) == true + runString = "(9223372036854775807)"; + if (true != jtt.lang.Long_greater01.test(9223372036854775807L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Long_greater02() { + begin("jtt.lang.Long_greater02"); + String runString = null; + try { + // (-9223372036854775808) == false + runString = "(-9223372036854775808)"; + if (false != jtt.lang.Long_greater02.test(-9223372036854775808L)) { + fail(runString); + return; + } + // (-2) == false + runString = "(-2)"; + if (false != jtt.lang.Long_greater02.test(-2L)) { + fail(runString); + return; + } + // (-1) == false + runString = "(-1)"; + if (false != jtt.lang.Long_greater02.test(-1L)) { + fail(runString); + return; + } + // (0) == false + runString = "(0)"; + if (false != jtt.lang.Long_greater02.test(0L)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.lang.Long_greater02.test(1L)) { + fail(runString); + return; + } + // (4) == false + runString = "(4)"; + if (false != jtt.lang.Long_greater02.test(4L)) { + fail(runString); + return; + } + // (5) == false + runString = "(5)"; + if (false != jtt.lang.Long_greater02.test(5L)) { + fail(runString); + return; + } + // (6) == true + runString = "(6)"; + if (true != jtt.lang.Long_greater02.test(6L)) { + fail(runString); + return; + } + // (9223372036854775807) == true + runString = "(9223372036854775807)"; + if (true != jtt.lang.Long_greater02.test(9223372036854775807L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Long_greater03() { + begin("jtt.lang.Long_greater03"); + String runString = null; + try { + // (-9223372036854775808) == false + runString = "(-9223372036854775808)"; + if (false != jtt.lang.Long_greater03.test(-9223372036854775808L)) { + fail(runString); + return; + } + // (-6) == false + runString = "(-6)"; + if (false != jtt.lang.Long_greater03.test(-6L)) { + fail(runString); + return; + } + // (-5) == false + runString = "(-5)"; + if (false != jtt.lang.Long_greater03.test(-5L)) { + fail(runString); + return; + } + // (-4) == true + runString = "(-4)"; + if (true != jtt.lang.Long_greater03.test(-4L)) { + fail(runString); + return; + } + // (-1) == true + runString = "(-1)"; + if (true != jtt.lang.Long_greater03.test(-1L)) { + fail(runString); + return; + } + // (0) == true + runString = "(0)"; + if (true != jtt.lang.Long_greater03.test(0L)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.lang.Long_greater03.test(1L)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.lang.Long_greater03.test(2L)) { + fail(runString); + return; + } + // (9223372036854775807) == true + runString = "(9223372036854775807)"; + if (true != jtt.lang.Long_greater03.test(9223372036854775807L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Long_greaterEqual01() { + begin("jtt.lang.Long_greaterEqual01"); + String runString = null; + try { + // (-9223372036854775808) == false + runString = "(-9223372036854775808)"; + if (false != jtt.lang.Long_greaterEqual01 + .test(-9223372036854775808L)) { + fail(runString); + return; + } + // (-2) == false + runString = "(-2)"; + if (false != jtt.lang.Long_greaterEqual01.test(-2L)) { + fail(runString); + return; + } + // (-1) == false + runString = "(-1)"; + if (false != jtt.lang.Long_greaterEqual01.test(-1L)) { + fail(runString); + return; + } + // (0) == true + runString = "(0)"; + if (true != jtt.lang.Long_greaterEqual01.test(0L)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.lang.Long_greaterEqual01.test(1L)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.lang.Long_greaterEqual01.test(2L)) { + fail(runString); + return; + } + // (9223372036854775807) == true + runString = "(9223372036854775807)"; + if (true != jtt.lang.Long_greaterEqual01.test(9223372036854775807L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Long_greaterEqual02() { + begin("jtt.lang.Long_greaterEqual02"); + String runString = null; + try { + // (-9223372036854775808) == false + runString = "(-9223372036854775808)"; + if (false != jtt.lang.Long_greaterEqual02 + .test(-9223372036854775808L)) { + fail(runString); + return; + } + // (-2) == false + runString = "(-2)"; + if (false != jtt.lang.Long_greaterEqual02.test(-2L)) { + fail(runString); + return; + } + // (-1) == false + runString = "(-1)"; + if (false != jtt.lang.Long_greaterEqual02.test(-1L)) { + fail(runString); + return; + } + // (0) == false + runString = "(0)"; + if (false != jtt.lang.Long_greaterEqual02.test(0L)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.lang.Long_greaterEqual02.test(1L)) { + fail(runString); + return; + } + // (4) == false + runString = "(4)"; + if (false != jtt.lang.Long_greaterEqual02.test(4L)) { + fail(runString); + return; + } + // (5) == true + runString = "(5)"; + if (true != jtt.lang.Long_greaterEqual02.test(5L)) { + fail(runString); + return; + } + // (6) == true + runString = "(6)"; + if (true != jtt.lang.Long_greaterEqual02.test(6L)) { + fail(runString); + return; + } + // (9223372036854775807) == true + runString = "(9223372036854775807)"; + if (true != jtt.lang.Long_greaterEqual02.test(9223372036854775807L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Long_greaterEqual03() { + begin("jtt.lang.Long_greaterEqual03"); + String runString = null; + try { + // (-9223372036854775808) == false + runString = "(-9223372036854775808)"; + if (false != jtt.lang.Long_greaterEqual03 + .test(-9223372036854775808L)) { + fail(runString); + return; + } + // (-6) == false + runString = "(-6)"; + if (false != jtt.lang.Long_greaterEqual03.test(-6L)) { + fail(runString); + return; + } + // (-5) == true + runString = "(-5)"; + if (true != jtt.lang.Long_greaterEqual03.test(-5L)) { + fail(runString); + return; + } + // (-4) == true + runString = "(-4)"; + if (true != jtt.lang.Long_greaterEqual03.test(-4L)) { + fail(runString); + return; + } + // (-1) == true + runString = "(-1)"; + if (true != jtt.lang.Long_greaterEqual03.test(-1L)) { + fail(runString); + return; + } + // (0) == true + runString = "(0)"; + if (true != jtt.lang.Long_greaterEqual03.test(0L)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.lang.Long_greaterEqual03.test(1L)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.lang.Long_greaterEqual03.test(2L)) { + fail(runString); + return; + } + // (9223372036854775807) == true + runString = "(9223372036854775807)"; + if (true != jtt.lang.Long_greaterEqual03.test(9223372036854775807L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Long_less01() { + begin("jtt.lang.Long_less01"); + String runString = null; + try { + // (-9223372036854775808) == true + runString = "(-9223372036854775808)"; + if (true != jtt.lang.Long_less01.test(-9223372036854775808L)) { + fail(runString); + return; + } + // (-2) == true + runString = "(-2)"; + if (true != jtt.lang.Long_less01.test(-2L)) { + fail(runString); + return; + } + // (-1) == true + runString = "(-1)"; + if (true != jtt.lang.Long_less01.test(-1L)) { + fail(runString); + return; + } + // (0) == false + runString = "(0)"; + if (false != jtt.lang.Long_less01.test(0L)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.lang.Long_less01.test(1L)) { + fail(runString); + return; + } + // (2) == false + runString = "(2)"; + if (false != jtt.lang.Long_less01.test(2L)) { + fail(runString); + return; + } + // (9223372036854775807) == false + runString = "(9223372036854775807)"; + if (false != jtt.lang.Long_less01.test(9223372036854775807L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Long_less02() { + begin("jtt.lang.Long_less02"); + String runString = null; + try { + // (-9223372036854775808) == true + runString = "(-9223372036854775808)"; + if (true != jtt.lang.Long_less02.test(-9223372036854775808L)) { + fail(runString); + return; + } + // (-2) == true + runString = "(-2)"; + if (true != jtt.lang.Long_less02.test(-2L)) { + fail(runString); + return; + } + // (-1) == true + runString = "(-1)"; + if (true != jtt.lang.Long_less02.test(-1L)) { + fail(runString); + return; + } + // (0) == true + runString = "(0)"; + if (true != jtt.lang.Long_less02.test(0L)) { + fail(runString); + return; + } + // (4) == true + runString = "(4)"; + if (true != jtt.lang.Long_less02.test(4L)) { + fail(runString); + return; + } + // (5) == false + runString = "(5)"; + if (false != jtt.lang.Long_less02.test(5L)) { + fail(runString); + return; + } + // (6) == false + runString = "(6)"; + if (false != jtt.lang.Long_less02.test(6L)) { + fail(runString); + return; + } + // (9223372036854775807) == false + runString = "(9223372036854775807)"; + if (false != jtt.lang.Long_less02.test(9223372036854775807L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Long_less03() { + begin("jtt.lang.Long_less03"); + String runString = null; + try { + // (-9223372036854775808) == true + runString = "(-9223372036854775808)"; + if (true != jtt.lang.Long_less03.test(-9223372036854775808L)) { + fail(runString); + return; + } + // (-6) == true + runString = "(-6)"; + if (true != jtt.lang.Long_less03.test(-6L)) { + fail(runString); + return; + } + // (-5) == false + runString = "(-5)"; + if (false != jtt.lang.Long_less03.test(-5L)) { + fail(runString); + return; + } + // (-4) == false + runString = "(-4)"; + if (false != jtt.lang.Long_less03.test(-4L)) { + fail(runString); + return; + } + // (-1) == false + runString = "(-1)"; + if (false != jtt.lang.Long_less03.test(-1L)) { + fail(runString); + return; + } + // (0) == false + runString = "(0)"; + if (false != jtt.lang.Long_less03.test(0L)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.lang.Long_less03.test(1L)) { + fail(runString); + return; + } + // (2) == false + runString = "(2)"; + if (false != jtt.lang.Long_less03.test(2L)) { + fail(runString); + return; + } + // (9223372036854775807) == false + runString = "(9223372036854775807)"; + if (false != jtt.lang.Long_less03.test(9223372036854775807L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Long_lessEqual01() { + begin("jtt.lang.Long_lessEqual01"); + String runString = null; + try { + // (-2) == true + runString = "(-2)"; + if (true != jtt.lang.Long_lessEqual01.test(-2L)) { + fail(runString); + return; + } + // (-9223372036854775808) == true + runString = "(-9223372036854775808)"; + if (true != jtt.lang.Long_lessEqual01.test(-9223372036854775808L)) { + fail(runString); + return; + } + // (-2) == true + runString = "(-2)"; + if (true != jtt.lang.Long_lessEqual01.test(-2L)) { + fail(runString); + return; + } + // (-1) == true + runString = "(-1)"; + if (true != jtt.lang.Long_lessEqual01.test(-1L)) { + fail(runString); + return; + } + // (0) == true + runString = "(0)"; + if (true != jtt.lang.Long_lessEqual01.test(0L)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.lang.Long_lessEqual01.test(1L)) { + fail(runString); + return; + } + // (2) == false + runString = "(2)"; + if (false != jtt.lang.Long_lessEqual01.test(2L)) { + fail(runString); + return; + } + // (9223372036854775807) == false + runString = "(9223372036854775807)"; + if (false != jtt.lang.Long_lessEqual01.test(9223372036854775807L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Long_lessEqual02() { + begin("jtt.lang.Long_lessEqual02"); + String runString = null; + try { + // (-9223372036854775808) == true + runString = "(-9223372036854775808)"; + if (true != jtt.lang.Long_lessEqual02.test(-9223372036854775808L)) { + fail(runString); + return; + } + // (-2) == true + runString = "(-2)"; + if (true != jtt.lang.Long_lessEqual02.test(-2L)) { + fail(runString); + return; + } + // (-1) == true + runString = "(-1)"; + if (true != jtt.lang.Long_lessEqual02.test(-1L)) { + fail(runString); + return; + } + // (0) == true + runString = "(0)"; + if (true != jtt.lang.Long_lessEqual02.test(0L)) { + fail(runString); + return; + } + // (4) == true + runString = "(4)"; + if (true != jtt.lang.Long_lessEqual02.test(4L)) { + fail(runString); + return; + } + // (5) == true + runString = "(5)"; + if (true != jtt.lang.Long_lessEqual02.test(5L)) { + fail(runString); + return; + } + // (6) == false + runString = "(6)"; + if (false != jtt.lang.Long_lessEqual02.test(6L)) { + fail(runString); + return; + } + // (9223372036854775807) == false + runString = "(9223372036854775807)"; + if (false != jtt.lang.Long_lessEqual02.test(9223372036854775807L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Long_lessEqual03() { + begin("jtt.lang.Long_lessEqual03"); + String runString = null; + try { + // (-9223372036854775808) == true + runString = "(-9223372036854775808)"; + if (true != jtt.lang.Long_lessEqual03.test(-9223372036854775808L)) { + fail(runString); + return; + } + // (-6) == true + runString = "(-6)"; + if (true != jtt.lang.Long_lessEqual03.test(-6L)) { + fail(runString); + return; + } + // (-5) == true + runString = "(-5)"; + if (true != jtt.lang.Long_lessEqual03.test(-5L)) { + fail(runString); + return; + } + // (-4) == false + runString = "(-4)"; + if (false != jtt.lang.Long_lessEqual03.test(-4L)) { + fail(runString); + return; + } + // (-1) == false + runString = "(-1)"; + if (false != jtt.lang.Long_lessEqual03.test(-1L)) { + fail(runString); + return; + } + // (0) == false + runString = "(0)"; + if (false != jtt.lang.Long_lessEqual03.test(0L)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.lang.Long_lessEqual03.test(1L)) { + fail(runString); + return; + } + // (2) == false + runString = "(2)"; + if (false != jtt.lang.Long_lessEqual03.test(2L)) { + fail(runString); + return; + } + // (9223372036854775807) == false + runString = "(9223372036854775807)"; + if (false != jtt.lang.Long_lessEqual03.test(9223372036854775807L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Long_reverseBytes01() { + begin("jtt.lang.Long_reverseBytes01"); + String runString = null; + try { + // (1234605616436508424) == 610068790934446609 + runString = "(1234605616436508424)"; + if (610068790934446609L != jtt.lang.Long_reverseBytes01 + .test(1234605616436508424L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Long_reverseBytes02() { + begin("jtt.lang.Long_reverseBytes02"); + String runString = null; + try { + // (1234605616436508424) == 610068790934446609 + runString = "(1234605616436508424)"; + if (610068790934446609L != jtt.lang.Long_reverseBytes02 + .test(1234605616436508424L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Math_pow() { + begin("jtt.lang.Math_pow"); + String runString = null; + try { + // (2.0) == 4.0 + runString = "(2.0)"; + if (4.0 != jtt.lang.Math_pow.test(2.0)) { + fail(runString); + return; + } + // (3.1) == 8.574187700290345 + runString = "(3.1)"; + if (8.574187700290345 != jtt.lang.Math_pow.test(3.1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Object_clone01() { + begin("jtt.lang.Object_clone01"); + String runString = null; + try { + // (0) == !java.lang.CloneNotSupportedException + try { + runString = "(0)"; + jtt.lang.Object_clone01.test(0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.CloneNotSupportedException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Object_clone02() { + begin("jtt.lang.Object_clone02"); + String runString = null; + try { + // (0) == false + runString = "(0)"; + if (false != jtt.lang.Object_clone02.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Object_equals01() { + begin("jtt.lang.Object_equals01"); + String runString = null; + try { + // (0) == false + runString = "(0)"; + if (false != jtt.lang.Object_equals01.test(0)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.lang.Object_equals01.test(1)) { + fail(runString); + return; + } + // (2) == false + runString = "(2)"; + if (false != jtt.lang.Object_equals01.test(2)) { + fail(runString); + return; + } + // (3) == true + runString = "(3)"; + if (true != jtt.lang.Object_equals01.test(3)) { + fail(runString); + return; + } + // (4) == true + runString = "(4)"; + if (true != jtt.lang.Object_equals01.test(4)) { + fail(runString); + return; + } + // (5) == false + runString = "(5)"; + if (false != jtt.lang.Object_equals01.test(5)) { + fail(runString); + return; + } + // (6) == true + runString = "(6)"; + if (true != jtt.lang.Object_equals01.test(6)) { + fail(runString); + return; + } + // (7) == false + runString = "(7)"; + if (false != jtt.lang.Object_equals01.test(7)) { + fail(runString); + return; + } + // (8) == false + runString = "(8)"; + if (false != jtt.lang.Object_equals01.test(8)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Object_getClass01() { + begin("jtt.lang.Object_getClass01"); + String runString = null; + try { + // (0) == "class java.lang.Object" + runString = "(0)"; + if (!"class java.lang.Object".equals(jtt.lang.Object_getClass01 + .test(0))) { + fail(runString); + return; + } + // (1) == "class java.lang.String" + runString = "(1)"; + if (!"class java.lang.String".equals(jtt.lang.Object_getClass01 + .test(1))) { + fail(runString); + return; + } + // (2) == "class jtt.lang.Object_getClass01" + runString = "(2)"; + if (!"class jtt.lang.Object_getClass01" + .equals(jtt.lang.Object_getClass01.test(2))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Object_hashCode01() { + begin("jtt.lang.Object_hashCode01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.lang.Object_hashCode01.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Object_notify01() { + begin("jtt.lang.Object_notify01"); + String runString = null; + try { + // (0) == !java.lang.IllegalMonitorStateException + try { + runString = "(0)"; + jtt.lang.Object_notify01.test(0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.IllegalMonitorStateException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Object_notify02() { + begin("jtt.lang.Object_notify02"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.lang.Object_notify02.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Object_notifyAll01() { + begin("jtt.lang.Object_notifyAll01"); + String runString = null; + try { + // (0) == !java.lang.IllegalMonitorStateException + try { + runString = "(0)"; + jtt.lang.Object_notifyAll01.test(0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.IllegalMonitorStateException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Object_notifyAll02() { + begin("jtt.lang.Object_notifyAll02"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.lang.Object_notifyAll02.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Object_toString01() { + begin("jtt.lang.Object_toString01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.lang.Object_toString01.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.lang.Object_toString01.test(1)) { + fail(runString); + return; + } + // (2) == false + runString = "(2)"; + if (false != jtt.lang.Object_toString01.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Object_toString02() { + begin("jtt.lang.Object_toString02"); + String runString = null; + try { + // (0) == "XYZ" + runString = "(0)"; + if (!"XYZ".equals(jtt.lang.Object_toString02.test(0))) { + fail(runString); + return; + } + // (1) == "string" + runString = "(1)"; + if (!"string".equals(jtt.lang.Object_toString02.test(1))) { + fail(runString); + return; + } + // (2) == "class java.lang.String" + runString = "(2)"; + if (!"class java.lang.String".equals(jtt.lang.Object_toString02 + .test(2))) { + fail(runString); + return; + } + // (3) == !java.lang.NullPointerException + try { + runString = "(3)"; + jtt.lang.Object_toString02.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Object_wait01() { + begin("jtt.lang.Object_wait01"); + String runString = null; + try { + // (0) == !java.lang.IllegalMonitorStateException + try { + runString = "(0)"; + jtt.lang.Object_wait01.test(0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.IllegalMonitorStateException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Object_wait02() { + begin("jtt.lang.Object_wait02"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.lang.Object_wait02.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_Object_wait03() { + begin("jtt.lang.Object_wait03"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.lang.Object_wait03.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_ProcessEnvironment_init() { + begin("jtt.lang.ProcessEnvironment_init"); + String runString = null; + try { + // (7) == 7 + runString = "(7)"; + if (7 != jtt.lang.ProcessEnvironment_init.test(7)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_StringCoding_Scale() { + begin("jtt.lang.StringCoding_Scale"); + String runString = null; + try { + // (2) == 2 + runString = "(2)"; + if (2 != jtt.lang.StringCoding_Scale.test(2)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.lang.StringCoding_Scale.test(1)) { + fail(runString); + return; + } + // (0) == 0 + runString = "(0)"; + if (0 != jtt.lang.StringCoding_Scale.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_String_intern01() { + begin("jtt.lang.String_intern01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.lang.String_intern01.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_String_intern02() { + begin("jtt.lang.String_intern02"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.lang.String_intern02.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.lang.String_intern02.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.lang.String_intern02.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_String_intern03() { + begin("jtt.lang.String_intern03"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.lang.String_intern03.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.lang.String_intern03.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.lang.String_intern03.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_String_valueOf01() { + begin("jtt.lang.String_valueOf01"); + String runString = null; + try { + // (0) == "null" + runString = "(0)"; + if (!"null".equals(jtt.lang.String_valueOf01.test(0))) { + fail(runString); + return; + } + // (1) == "string" + runString = "(1)"; + if (!"string".equals(jtt.lang.String_valueOf01.test(1))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_lang_System_identityHashCode01() { + begin("jtt.lang.System_identityHashCode01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.lang.System_identityHashCode01.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.lang.System_identityHashCode01.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.lang.System_identityHashCode01.test(2)) { + fail(runString); + return; + } + // (3) == false + runString = "(3)"; + if (false != jtt.lang.System_identityHashCode01.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_ArrayCompare01() { + begin("jtt.micro.ArrayCompare01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.micro.ArrayCompare01.test(0)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.micro.ArrayCompare01.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_ArrayCompare02() { + begin("jtt.micro.ArrayCompare02"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.micro.ArrayCompare02.test(0)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.micro.ArrayCompare02.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.micro.ArrayCompare02.test(2)) { + fail(runString); + return; + } + // (3) == false + runString = "(3)"; + if (false != jtt.micro.ArrayCompare02.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_BC_invokevirtual2() { + begin("jtt.micro.BC_invokevirtual2"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.micro.BC_invokevirtual2.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.micro.BC_invokevirtual2.test(1)) { + fail(runString); + return; + } + // (2) == 2 + runString = "(2)"; + if (2 != jtt.micro.BC_invokevirtual2.test(2)) { + fail(runString); + return; + } + // (3) == 3 + runString = "(3)"; + if (3 != jtt.micro.BC_invokevirtual2.test(3)) { + fail(runString); + return; + } + // (-4) == -4 + runString = "(-4)"; + if (-4 != jtt.micro.BC_invokevirtual2.test(-4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_BigByteParams01() { + begin("jtt.micro.BigByteParams01"); + String runString = null; + try { + // (0) == 45 + runString = "(0)"; + if (45 != jtt.micro.BigByteParams01.test(0)) { + fail(runString); + return; + } + // (1) == 45 + runString = "(1)"; + if (45 != jtt.micro.BigByteParams01.test(1)) { + fail(runString); + return; + } + // (2) == 45 + runString = "(2)"; + if (45 != jtt.micro.BigByteParams01.test(2)) { + fail(runString); + return; + } + // (3) == 45 + runString = "(3)"; + if (45 != jtt.micro.BigByteParams01.test(3)) { + fail(runString); + return; + } + // (4) == 0 + runString = "(4)"; + if (0 != jtt.micro.BigByteParams01.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_BigDoubleParams02() { + begin("jtt.micro.BigDoubleParams02"); + String runString = null; + try { + // (0,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0) == 1.0 + runString = "(0,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0)"; + if (1.0 != jtt.micro.BigDoubleParams02.test(0, 1.0, 2.0, 3.0, 4.0, + 5.0, 6.0, 7.0, 8.0, 9.0)) { + fail(runString); + return; + } + // (1,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0) == 2.0 + runString = "(1,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0)"; + if (2.0 != jtt.micro.BigDoubleParams02.test(1, 1.0, 2.0, 3.0, 4.0, + 5.0, 6.0, 7.0, 8.0, 9.0)) { + fail(runString); + return; + } + // (2,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0) == 3.0 + runString = "(2,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0)"; + if (3.0 != jtt.micro.BigDoubleParams02.test(2, 1.0, 2.0, 3.0, 4.0, + 5.0, 6.0, 7.0, 8.0, 9.0)) { + fail(runString); + return; + } + // (3,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0) == 4.0 + runString = "(3,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0)"; + if (4.0 != jtt.micro.BigDoubleParams02.test(3, 1.0, 2.0, 3.0, 4.0, + 5.0, 6.0, 7.0, 8.0, 9.0)) { + fail(runString); + return; + } + // (4,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0) == 5.0 + runString = "(4,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0)"; + if (5.0 != jtt.micro.BigDoubleParams02.test(4, 1.0, 2.0, 3.0, 4.0, + 5.0, 6.0, 7.0, 8.0, 9.0)) { + fail(runString); + return; + } + // (5,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0) == 6.0 + runString = "(5,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0)"; + if (6.0 != jtt.micro.BigDoubleParams02.test(5, 1.0, 2.0, 3.0, 4.0, + 5.0, 6.0, 7.0, 8.0, 9.0)) { + fail(runString); + return; + } + // (6,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0) == 7.0 + runString = "(6,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0)"; + if (7.0 != jtt.micro.BigDoubleParams02.test(6, 1.0, 2.0, 3.0, 4.0, + 5.0, 6.0, 7.0, 8.0, 9.0)) { + fail(runString); + return; + } + // (7,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0) == 8.0 + runString = "(7,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0)"; + if (8.0 != jtt.micro.BigDoubleParams02.test(7, 1.0, 2.0, 3.0, 4.0, + 5.0, 6.0, 7.0, 8.0, 9.0)) { + fail(runString); + return; + } + // (8,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0) == 9.0 + runString = "(8,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0)"; + if (9.0 != jtt.micro.BigDoubleParams02.test(8, 1.0, 2.0, 3.0, 4.0, + 5.0, 6.0, 7.0, 8.0, 9.0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_BigFloatParams01() { + begin("jtt.micro.BigFloatParams01"); + String runString = null; + try { + // (0) == 45.0 + runString = "(0)"; + if (45.0 != jtt.micro.BigFloatParams01.test(0)) { + fail(runString); + return; + } + // (1) == 45.0 + runString = "(1)"; + if (45.0 != jtt.micro.BigFloatParams01.test(1)) { + fail(runString); + return; + } + // (2) == 45.0 + runString = "(2)"; + if (45.0 != jtt.micro.BigFloatParams01.test(2)) { + fail(runString); + return; + } + // (3) == 45.0 + runString = "(3)"; + if (45.0 != jtt.micro.BigFloatParams01.test(3)) { + fail(runString); + return; + } + // (4) == 0.0 + runString = "(4)"; + if (0.0 != jtt.micro.BigFloatParams01.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_BigFloatParams02() { + begin("jtt.micro.BigFloatParams02"); + String runString = null; + try { + // (0,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0) == 1.0 + runString = "(0,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0)"; + if (1.0f != jtt.micro.BigFloatParams02.test(0, 1.0f, 2.0f, 3.0f, + 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f)) { + fail(runString); + return; + } + // (1,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0) == 2.0 + runString = "(1,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0)"; + if (2.0f != jtt.micro.BigFloatParams02.test(1, 1.0f, 2.0f, 3.0f, + 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f)) { + fail(runString); + return; + } + // (2,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0) == 3.0 + runString = "(2,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0)"; + if (3.0f != jtt.micro.BigFloatParams02.test(2, 1.0f, 2.0f, 3.0f, + 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f)) { + fail(runString); + return; + } + // (3,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0) == 4.0 + runString = "(3,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0)"; + if (4.0f != jtt.micro.BigFloatParams02.test(3, 1.0f, 2.0f, 3.0f, + 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f)) { + fail(runString); + return; + } + // (4,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0) == 5.0 + runString = "(4,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0)"; + if (5.0f != jtt.micro.BigFloatParams02.test(4, 1.0f, 2.0f, 3.0f, + 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f)) { + fail(runString); + return; + } + // (5,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0) == 6.0 + runString = "(5,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0)"; + if (6.0f != jtt.micro.BigFloatParams02.test(5, 1.0f, 2.0f, 3.0f, + 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f)) { + fail(runString); + return; + } + // (6,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0) == 7.0 + runString = "(6,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0)"; + if (7.0f != jtt.micro.BigFloatParams02.test(6, 1.0f, 2.0f, 3.0f, + 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f)) { + fail(runString); + return; + } + // (7,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0) == 8.0 + runString = "(7,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0)"; + if (8.0f != jtt.micro.BigFloatParams02.test(7, 1.0f, 2.0f, 3.0f, + 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f)) { + fail(runString); + return; + } + // (8,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0) == 9.0 + runString = "(8,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0)"; + if (9.0f != jtt.micro.BigFloatParams02.test(8, 1.0f, 2.0f, 3.0f, + 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_BigIntParams01() { + begin("jtt.micro.BigIntParams01"); + String runString = null; + try { + // (0) == 45 + runString = "(0)"; + if (45 != jtt.micro.BigIntParams01.test(0)) { + fail(runString); + return; + } + // (1) == 45 + runString = "(1)"; + if (45 != jtt.micro.BigIntParams01.test(1)) { + fail(runString); + return; + } + // (2) == 45 + runString = "(2)"; + if (45 != jtt.micro.BigIntParams01.test(2)) { + fail(runString); + return; + } + // (3) == 45 + runString = "(3)"; + if (45 != jtt.micro.BigIntParams01.test(3)) { + fail(runString); + return; + } + // (4) == 0 + runString = "(4)"; + if (0 != jtt.micro.BigIntParams01.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_BigIntParams02() { + begin("jtt.micro.BigIntParams02"); + String runString = null; + try { + // (0,1,2,3,4,5,6,7,-8,-9) == 1 + runString = "(0,1,2,3,4,5,6,7,-8,-9)"; + if (1 != jtt.micro.BigIntParams02.test(0, 1, 2, 3, 4, 5, 6, 7, -8, + -9)) { + fail(runString); + return; + } + // (1,1,2,3,4,5,6,7,-8,-9) == 2 + runString = "(1,1,2,3,4,5,6,7,-8,-9)"; + if (2 != jtt.micro.BigIntParams02.test(1, 1, 2, 3, 4, 5, 6, 7, -8, + -9)) { + fail(runString); + return; + } + // (2,1,2,3,4,5,6,7,-8,-9) == 3 + runString = "(2,1,2,3,4,5,6,7,-8,-9)"; + if (3 != jtt.micro.BigIntParams02.test(2, 1, 2, 3, 4, 5, 6, 7, -8, + -9)) { + fail(runString); + return; + } + // (3,1,2,3,4,5,6,7,-8,-9) == 4 + runString = "(3,1,2,3,4,5,6,7,-8,-9)"; + if (4 != jtt.micro.BigIntParams02.test(3, 1, 2, 3, 4, 5, 6, 7, -8, + -9)) { + fail(runString); + return; + } + // (4,1,2,3,4,5,6,7,-8,-9) == 5 + runString = "(4,1,2,3,4,5,6,7,-8,-9)"; + if (5 != jtt.micro.BigIntParams02.test(4, 1, 2, 3, 4, 5, 6, 7, -8, + -9)) { + fail(runString); + return; + } + // (5,1,2,3,4,5,6,7,-8,-9) == 6 + runString = "(5,1,2,3,4,5,6,7,-8,-9)"; + if (6 != jtt.micro.BigIntParams02.test(5, 1, 2, 3, 4, 5, 6, 7, -8, + -9)) { + fail(runString); + return; + } + // (6,1,2,3,4,5,6,7,-8,-9) == 7 + runString = "(6,1,2,3,4,5,6,7,-8,-9)"; + if (7 != jtt.micro.BigIntParams02.test(6, 1, 2, 3, 4, 5, 6, 7, -8, + -9)) { + fail(runString); + return; + } + // (7,1,2,3,4,5,6,7,-8,-9) == -8 + runString = "(7,1,2,3,4,5,6,7,-8,-9)"; + if (-8 != jtt.micro.BigIntParams02.test(7, 1, 2, 3, 4, 5, 6, 7, -8, + -9)) { + fail(runString); + return; + } + // (8,1,2,3,4,5,6,7,-8,-9) == -9 + runString = "(8,1,2,3,4,5,6,7,-8,-9)"; + if (-9 != jtt.micro.BigIntParams02.test(8, 1, 2, 3, 4, 5, 6, 7, -8, + -9)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_BigInterfaceParams01() { + begin("jtt.micro.BigInterfaceParams01"); + String runString = null; + try { + // (true,"0","1","2","3","4","5","6","7","8","9") == "A0123456789" + runString = "(true,\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\")"; + if (!"A0123456789".equals(jtt.micro.BigInterfaceParams01.test(true, + "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"))) { + fail(runString); + return; + } + // (false,"0","1","2","3","4","5","6","7","8","9") == "B0123456789" + runString = "(false,\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\")"; + if (!"B0123456789".equals(jtt.micro.BigInterfaceParams01.test( + false, "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_BigLongParams02() { + begin("jtt.micro.BigLongParams02"); + String runString = null; + try { + // (0,1,2,3,4,5,6,7,-8,-9) == 1 + runString = "(0,1,2,3,4,5,6,7,-8,-9)"; + if (1L != jtt.micro.BigLongParams02.test(0, 1L, 2L, 3L, 4L, 5L, 6L, + 7L, -8L, -9L)) { + fail(runString); + return; + } + // (1,1,2,3,4,5,6,7,-8,-9) == 2 + runString = "(1,1,2,3,4,5,6,7,-8,-9)"; + if (2L != jtt.micro.BigLongParams02.test(1, 1L, 2L, 3L, 4L, 5L, 6L, + 7L, -8L, -9L)) { + fail(runString); + return; + } + // (2,1,2,3,4,5,6,7,-8,-9) == 3 + runString = "(2,1,2,3,4,5,6,7,-8,-9)"; + if (3L != jtt.micro.BigLongParams02.test(2, 1L, 2L, 3L, 4L, 5L, 6L, + 7L, -8L, -9L)) { + fail(runString); + return; + } + // (3,1,2,3,4,5,6,7,-8,-9) == 4 + runString = "(3,1,2,3,4,5,6,7,-8,-9)"; + if (4L != jtt.micro.BigLongParams02.test(3, 1L, 2L, 3L, 4L, 5L, 6L, + 7L, -8L, -9L)) { + fail(runString); + return; + } + // (4,1,2,3,4,5,6,7,-8,-9) == 5 + runString = "(4,1,2,3,4,5,6,7,-8,-9)"; + if (5L != jtt.micro.BigLongParams02.test(4, 1L, 2L, 3L, 4L, 5L, 6L, + 7L, -8L, -9L)) { + fail(runString); + return; + } + // (5,1,2,3,4,5,6,7,-8,-9) == 6 + runString = "(5,1,2,3,4,5,6,7,-8,-9)"; + if (6L != jtt.micro.BigLongParams02.test(5, 1L, 2L, 3L, 4L, 5L, 6L, + 7L, -8L, -9L)) { + fail(runString); + return; + } + // (6,1,2,3,4,5,6,7,-8,-9) == 7 + runString = "(6,1,2,3,4,5,6,7,-8,-9)"; + if (7L != jtt.micro.BigLongParams02.test(6, 1L, 2L, 3L, 4L, 5L, 6L, + 7L, -8L, -9L)) { + fail(runString); + return; + } + // (7,1,2,3,4,5,6,7,-8,-9) == -8 + runString = "(7,1,2,3,4,5,6,7,-8,-9)"; + if (-8L != jtt.micro.BigLongParams02.test(7, 1L, 2L, 3L, 4L, 5L, + 6L, 7L, -8L, -9L)) { + fail(runString); + return; + } + // (8,1,2,3,4,5,6,7,-8,-9) == -9 + runString = "(8,1,2,3,4,5,6,7,-8,-9)"; + if (-9L != jtt.micro.BigLongParams02.test(8, 1L, 2L, 3L, 4L, 5L, + 6L, 7L, -8L, -9L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_BigMixedParams01() { + begin("jtt.micro.BigMixedParams01"); + String runString = null; + try { + // (0) == 45.0 + runString = "(0)"; + if (45.0 != jtt.micro.BigMixedParams01.test(0)) { + fail(runString); + return; + } + // (1) == 45.0 + runString = "(1)"; + if (45.0 != jtt.micro.BigMixedParams01.test(1)) { + fail(runString); + return; + } + // (2) == 45.0 + runString = "(2)"; + if (45.0 != jtt.micro.BigMixedParams01.test(2)) { + fail(runString); + return; + } + // (3) == 45.0 + runString = "(3)"; + if (45.0 != jtt.micro.BigMixedParams01.test(3)) { + fail(runString); + return; + } + // (4) == 0.0 + runString = "(4)"; + if (0.0 != jtt.micro.BigMixedParams01.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_BigMixedParams02() { + begin("jtt.micro.BigMixedParams02"); + String runString = null; + try { + // (0,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0) == 1.0 + runString = "(0,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0)"; + if (1.0f != jtt.micro.BigMixedParams02.test(0, -1, -1, -1, -1, + 1.0f, 2.0f, 3.0f, 4.0f, -1, -1, 5.0f, 6.0f, 7.0f, 8.0f, + 9.0f)) { + fail(runString); + return; + } + // (1,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0) == 2.0 + runString = "(1,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0)"; + if (2.0f != jtt.micro.BigMixedParams02.test(1, -1, -1, -1, -1, + 1.0f, 2.0f, 3.0f, 4.0f, -1, -1, 5.0f, 6.0f, 7.0f, 8.0f, + 9.0f)) { + fail(runString); + return; + } + // (2,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0) == 3.0 + runString = "(2,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0)"; + if (3.0f != jtt.micro.BigMixedParams02.test(2, -1, -1, -1, -1, + 1.0f, 2.0f, 3.0f, 4.0f, -1, -1, 5.0f, 6.0f, 7.0f, 8.0f, + 9.0f)) { + fail(runString); + return; + } + // (3,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0) == 4.0 + runString = "(3,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0)"; + if (4.0f != jtt.micro.BigMixedParams02.test(3, -1, -1, -1, -1, + 1.0f, 2.0f, 3.0f, 4.0f, -1, -1, 5.0f, 6.0f, 7.0f, 8.0f, + 9.0f)) { + fail(runString); + return; + } + // (4,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0) == 5.0 + runString = "(4,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0)"; + if (5.0f != jtt.micro.BigMixedParams02.test(4, -1, -1, -1, -1, + 1.0f, 2.0f, 3.0f, 4.0f, -1, -1, 5.0f, 6.0f, 7.0f, 8.0f, + 9.0f)) { + fail(runString); + return; + } + // (5,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0) == 6.0 + runString = "(5,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0)"; + if (6.0f != jtt.micro.BigMixedParams02.test(5, -1, -1, -1, -1, + 1.0f, 2.0f, 3.0f, 4.0f, -1, -1, 5.0f, 6.0f, 7.0f, 8.0f, + 9.0f)) { + fail(runString); + return; + } + // (6,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0) == 7.0 + runString = "(6,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0)"; + if (7.0f != jtt.micro.BigMixedParams02.test(6, -1, -1, -1, -1, + 1.0f, 2.0f, 3.0f, 4.0f, -1, -1, 5.0f, 6.0f, 7.0f, 8.0f, + 9.0f)) { + fail(runString); + return; + } + // (7,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0) == 8.0 + runString = "(7,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0)"; + if (8.0f != jtt.micro.BigMixedParams02.test(7, -1, -1, -1, -1, + 1.0f, 2.0f, 3.0f, 4.0f, -1, -1, 5.0f, 6.0f, 7.0f, 8.0f, + 9.0f)) { + fail(runString); + return; + } + // (8,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0) == 9.0 + runString = "(8,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0)"; + if (9.0f != jtt.micro.BigMixedParams02.test(8, -1, -1, -1, -1, + 1.0f, 2.0f, 3.0f, 4.0f, -1, -1, 5.0f, 6.0f, 7.0f, 8.0f, + 9.0f)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_BigMixedParams03() { + begin("jtt.micro.BigMixedParams03"); + String runString = null; + try { + // (0,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0) == 1.0 + runString = "(0,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0)"; + if (1.0 != jtt.micro.BigMixedParams03.test(0, -1, -1, -1, -1, 1.0, + 2.0, 3.0, 4.0, -1, -1, 5.0, 6.0, 7.0, 8.0, 9.0)) { + fail(runString); + return; + } + // (1,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0) == 2.0 + runString = "(1,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0)"; + if (2.0 != jtt.micro.BigMixedParams03.test(1, -1, -1, -1, -1, 1.0, + 2.0, 3.0, 4.0, -1, -1, 5.0, 6.0, 7.0, 8.0, 9.0)) { + fail(runString); + return; + } + // (2,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0) == 3.0 + runString = "(2,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0)"; + if (3.0 != jtt.micro.BigMixedParams03.test(2, -1, -1, -1, -1, 1.0, + 2.0, 3.0, 4.0, -1, -1, 5.0, 6.0, 7.0, 8.0, 9.0)) { + fail(runString); + return; + } + // (3,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0) == 4.0 + runString = "(3,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0)"; + if (4.0 != jtt.micro.BigMixedParams03.test(3, -1, -1, -1, -1, 1.0, + 2.0, 3.0, 4.0, -1, -1, 5.0, 6.0, 7.0, 8.0, 9.0)) { + fail(runString); + return; + } + // (4,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0) == 5.0 + runString = "(4,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0)"; + if (5.0 != jtt.micro.BigMixedParams03.test(4, -1, -1, -1, -1, 1.0, + 2.0, 3.0, 4.0, -1, -1, 5.0, 6.0, 7.0, 8.0, 9.0)) { + fail(runString); + return; + } + // (5,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0) == 6.0 + runString = "(5,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0)"; + if (6.0 != jtt.micro.BigMixedParams03.test(5, -1, -1, -1, -1, 1.0, + 2.0, 3.0, 4.0, -1, -1, 5.0, 6.0, 7.0, 8.0, 9.0)) { + fail(runString); + return; + } + // (6,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0) == 7.0 + runString = "(6,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0)"; + if (7.0 != jtt.micro.BigMixedParams03.test(6, -1, -1, -1, -1, 1.0, + 2.0, 3.0, 4.0, -1, -1, 5.0, 6.0, 7.0, 8.0, 9.0)) { + fail(runString); + return; + } + // (7,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0) == 8.0 + runString = "(7,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0)"; + if (8.0 != jtt.micro.BigMixedParams03.test(7, -1, -1, -1, -1, 1.0, + 2.0, 3.0, 4.0, -1, -1, 5.0, 6.0, 7.0, 8.0, 9.0)) { + fail(runString); + return; + } + // (8,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0) == 9.0 + runString = "(8,-1,-1,-1,-1,1.0,2.0,3.0,4.0,-1,-1,5.0,6.0,7.0,8.0,9.0)"; + if (9.0 != jtt.micro.BigMixedParams03.test(8, -1, -1, -1, -1, 1.0, + 2.0, 3.0, 4.0, -1, -1, 5.0, 6.0, 7.0, 8.0, 9.0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_BigObjectParams01() { + begin("jtt.micro.BigObjectParams01"); + String runString = null; + try { + // ("0","1","2","3","4","5","6","7","8","9") == "0" + runString = "(\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\")"; + if (!"0".equals(jtt.micro.BigObjectParams01.test("0", "1", "2", + "3", "4", "5", "6", "7", "8", "9"))) { + fail(runString); + return; + } + // ("a",null,null,null,null,null,null,null,null,null) == "a" + runString = "(\"a\",null,null,null,null,null,null,null,null,null)"; + if (!"a".equals(jtt.micro.BigObjectParams01.test("a", null, null, + null, null, null, null, null, null, null))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_BigObjectParams02() { + begin("jtt.micro.BigObjectParams02"); + String runString = null; + try { + // ("0","1","2","3","4","5","6","7","8","9") == "0123456789" + runString = "(\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\")"; + if (!"0123456789".equals(jtt.micro.BigObjectParams02.test("0", "1", + "2", "3", "4", "5", "6", "7", "8", "9"))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_BigParamsAlignment() { + begin("jtt.micro.BigParamsAlignment"); + String runString = null; + try { + // (0) == 45 + runString = "(0)"; + if (45 != jtt.micro.BigParamsAlignment.test(0)) { + fail(runString); + return; + } + // (1) == 55 + runString = "(1)"; + if (55 != jtt.micro.BigParamsAlignment.test(1)) { + fail(runString); + return; + } + // (2) == 45 + runString = "(2)"; + if (45 != jtt.micro.BigParamsAlignment.test(2)) { + fail(runString); + return; + } + // (3) == 55 + runString = "(3)"; + if (55 != jtt.micro.BigParamsAlignment.test(3)) { + fail(runString); + return; + } + // (4) == 66 + runString = "(4)"; + if (66 != jtt.micro.BigParamsAlignment.test(4)) { + fail(runString); + return; + } + // (5) == 78 + runString = "(5)"; + if (78 != jtt.micro.BigParamsAlignment.test(5)) { + fail(runString); + return; + } + // (6) == 0 + runString = "(6)"; + if (0 != jtt.micro.BigParamsAlignment.test(6)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_BigShortParams01() { + begin("jtt.micro.BigShortParams01"); + String runString = null; + try { + // (0) == 45 + runString = "(0)"; + if (45 != jtt.micro.BigShortParams01.test(0)) { + fail(runString); + return; + } + // (1) == 45 + runString = "(1)"; + if (45 != jtt.micro.BigShortParams01.test(1)) { + fail(runString); + return; + } + // (2) == 45 + runString = "(2)"; + if (45 != jtt.micro.BigShortParams01.test(2)) { + fail(runString); + return; + } + // (3) == 45 + runString = "(3)"; + if (45 != jtt.micro.BigShortParams01.test(3)) { + fail(runString); + return; + } + // (4) == 0 + runString = "(4)"; + if (0 != jtt.micro.BigShortParams01.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_BigVirtualParams01() { + begin("jtt.micro.BigVirtualParams01"); + String runString = null; + try { + // (true,"0","1","2","3","4","5","6","7","8","9") == "A0123456789" + runString = "(true,\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\")"; + if (!"A0123456789".equals(jtt.micro.BigVirtualParams01.test(true, + "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"))) { + fail(runString); + return; + } + // (false,"0","1","2","3","4","5","6","7","8","9") == "B0123456789" + runString = "(false,\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\")"; + if (!"B0123456789".equals(jtt.micro.BigVirtualParams01.test(false, + "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_Bubblesort() { + begin("jtt.micro.Bubblesort"); + String runString = null; + try { + // (0) == -9 + runString = "(0)"; + if (-9 != jtt.micro.Bubblesort.test(0)) { + fail(runString); + return; + } + // (1) == 0 + runString = "(1)"; + if (0 != jtt.micro.Bubblesort.test(1)) { + fail(runString); + return; + } + // (2) == 0 + runString = "(2)"; + if (0 != jtt.micro.Bubblesort.test(2)) { + fail(runString); + return; + } + // (3) == 1 + runString = "(3)"; + if (1 != jtt.micro.Bubblesort.test(3)) { + fail(runString); + return; + } + // (4) == 5 + runString = "(4)"; + if (5 != jtt.micro.Bubblesort.test(4)) { + fail(runString); + return; + } + // (5) == 8 + runString = "(5)"; + if (8 != jtt.micro.Bubblesort.test(5)) { + fail(runString); + return; + } + // (6) == 23 + runString = "(6)"; + if (23 != jtt.micro.Bubblesort.test(6)) { + fail(runString); + return; + } + // (7) == 882 + runString = "(7)"; + if (882 != jtt.micro.Bubblesort.test(7)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_Fibonacci() { + begin("jtt.micro.Fibonacci"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.micro.Fibonacci.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.micro.Fibonacci.test(1)) { + fail(runString); + return; + } + // (2) == 1 + runString = "(2)"; + if (1 != jtt.micro.Fibonacci.test(2)) { + fail(runString); + return; + } + // (3) == 2 + runString = "(3)"; + if (2 != jtt.micro.Fibonacci.test(3)) { + fail(runString); + return; + } + // (4) == 3 + runString = "(4)"; + if (3 != jtt.micro.Fibonacci.test(4)) { + fail(runString); + return; + } + // (5) == 5 + runString = "(5)"; + if (5 != jtt.micro.Fibonacci.test(5)) { + fail(runString); + return; + } + // (6) == 8 + runString = "(6)"; + if (8 != jtt.micro.Fibonacci.test(6)) { + fail(runString); + return; + } + // (7) == 13 + runString = "(7)"; + if (13 != jtt.micro.Fibonacci.test(7)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_InvokeVirtual_01() { + begin("jtt.micro.InvokeVirtual_01"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.micro.InvokeVirtual_01.test(0)) { + fail(runString); + return; + } + // (1) == 11 + runString = "(1)"; + if (11 != jtt.micro.InvokeVirtual_01.test(1)) { + fail(runString); + return; + } + // (2) == 22 + runString = "(2)"; + if (22 != jtt.micro.InvokeVirtual_01.test(2)) { + fail(runString); + return; + } + // (3) == 42 + runString = "(3)"; + if (42 != jtt.micro.InvokeVirtual_01.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_InvokeVirtual_02() { + begin("jtt.micro.InvokeVirtual_02"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0L != jtt.micro.InvokeVirtual_02.test(0L)) { + fail(runString); + return; + } + // (1) == 11 + runString = "(1)"; + if (11L != jtt.micro.InvokeVirtual_02.test(1L)) { + fail(runString); + return; + } + // (2) == 22 + runString = "(2)"; + if (22L != jtt.micro.InvokeVirtual_02.test(2L)) { + fail(runString); + return; + } + // (3) == 42 + runString = "(3)"; + if (42L != jtt.micro.InvokeVirtual_02.test(3L)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_Matrix01() { + begin("jtt.micro.Matrix01"); + String runString = null; + try { + // (0) == 8 + runString = "(0)"; + if (8 != jtt.micro.Matrix01.test(0)) { + fail(runString); + return; + } + // (1) == 34 + runString = "(1)"; + if (34 != jtt.micro.Matrix01.test(1)) { + fail(runString); + return; + } + // (2) == 152 + runString = "(2)"; + if (152 != jtt.micro.Matrix01.test(2)) { + fail(runString); + return; + } + // (3) == 204 + runString = "(3)"; + if (204 != jtt.micro.Matrix01.test(3)) { + fail(runString); + return; + } + // (4) == 1547 + runString = "(4)"; + if (1547 != jtt.micro.Matrix01.test(4)) { + fail(runString); + return; + } + // (5) == 42 + runString = "(5)"; + if (42 != jtt.micro.Matrix01.test(5)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_StrangeFrames() { + begin("jtt.micro.StrangeFrames"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.micro.StrangeFrames.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_String_format01() { + begin("jtt.micro.String_format01"); + String runString = null; + try { + // ("World") == "Hello World" + runString = "(\"World\")"; + if (!"Hello World".equals(jtt.micro.String_format01.test("World"))) { + fail(runString); + return; + } + // ("New World Order") == "Hello New World Order" + runString = "(\"New World Order\")"; + if (!"Hello New World Order".equals(jtt.micro.String_format01 + .test("New World Order"))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_String_format02() { + begin("jtt.micro.String_format02"); + String runString = null; + try { + // (0) == "Hello 0" + runString = "(0)"; + if (!"Hello 0".equals(jtt.micro.String_format02.test(0))) { + fail(runString); + return; + } + // (-11) == "Hello -11" + runString = "(-11)"; + if (!"Hello -11".equals(jtt.micro.String_format02.test(-11))) { + fail(runString); + return; + } + // (-2147483648) == "Hello -2147483648" + runString = "(-2147483648)"; + if (!"Hello -2147483648".equals(jtt.micro.String_format02 + .test(-2147483648))) { + fail(runString); + return; + } + // (2147483647) == "Hello 2147483647" + runString = "(2147483647)"; + if (!"Hello 2147483647".equals(jtt.micro.String_format02 + .test(2147483647))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_VarArgs_String01() { + begin("jtt.micro.VarArgs_String01"); + String runString = null; + try { + // (0) == "a" + runString = "(0)"; + if (!"a".equals(jtt.micro.VarArgs_String01.test(0))) { + fail(runString); + return; + } + // (1) == null + runString = "(1)"; + if (null != jtt.micro.VarArgs_String01.test(1)) { + fail(runString); + return; + } + // (2) == "test" + runString = "(2)"; + if (!"test".equals(jtt.micro.VarArgs_String01.test(2))) { + fail(runString); + return; + } + // (3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3)"; + jtt.micro.VarArgs_String01.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (4) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(4)"; + jtt.micro.VarArgs_String01.test(4); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_VarArgs_boolean01() { + begin("jtt.micro.VarArgs_boolean01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.micro.VarArgs_boolean01.test(0)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.micro.VarArgs_boolean01.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.micro.VarArgs_boolean01.test(2)) { + fail(runString); + return; + } + // (3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3)"; + jtt.micro.VarArgs_boolean01.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (4) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(4)"; + jtt.micro.VarArgs_boolean01.test(4); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_VarArgs_byte01() { + begin("jtt.micro.VarArgs_byte01"); + String runString = null; + try { + // (0) == 1 + runString = "(0)"; + if ((byte) 1 != jtt.micro.VarArgs_byte01.test(0)) { + fail(runString); + return; + } + // (1) == 2 + runString = "(1)"; + if ((byte) 2 != jtt.micro.VarArgs_byte01.test(1)) { + fail(runString); + return; + } + // (2) == 3 + runString = "(2)"; + if ((byte) 3 != jtt.micro.VarArgs_byte01.test(2)) { + fail(runString); + return; + } + // (3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3)"; + jtt.micro.VarArgs_byte01.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (4) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(4)"; + jtt.micro.VarArgs_byte01.test(4); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_VarArgs_char01() { + begin("jtt.micro.VarArgs_char01"); + String runString = null; + try { + // (0) == 'a' + runString = "(0)"; + if ((char) 97 != jtt.micro.VarArgs_char01.test(0)) { + fail(runString); + return; + } + // (1) == 'b' + runString = "(1)"; + if ((char) 98 != jtt.micro.VarArgs_char01.test(1)) { + fail(runString); + return; + } + // (2) == 'c' + runString = "(2)"; + if ((char) 99 != jtt.micro.VarArgs_char01.test(2)) { + fail(runString); + return; + } + // (3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3)"; + jtt.micro.VarArgs_char01.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (4) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(4)"; + jtt.micro.VarArgs_char01.test(4); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_VarArgs_double01() { + begin("jtt.micro.VarArgs_double01"); + String runString = null; + try { + // (0) == 0.0 + runString = "(0)"; + if (0.0 != jtt.micro.VarArgs_double01.test(0)) { + fail(runString); + return; + } + // (1) == 1.0 + runString = "(1)"; + if (1.0 != jtt.micro.VarArgs_double01.test(1)) { + fail(runString); + return; + } + // (2) == 2.0 + runString = "(2)"; + if (2.0 != jtt.micro.VarArgs_double01.test(2)) { + fail(runString); + return; + } + // (3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3)"; + jtt.micro.VarArgs_double01.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (4) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(4)"; + jtt.micro.VarArgs_double01.test(4); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_VarArgs_float01() { + begin("jtt.micro.VarArgs_float01"); + String runString = null; + try { + // (0) == 0.0 + runString = "(0)"; + if (0.0f != jtt.micro.VarArgs_float01.test(0)) { + fail(runString); + return; + } + // (1) == 1.0 + runString = "(1)"; + if (1.0f != jtt.micro.VarArgs_float01.test(1)) { + fail(runString); + return; + } + // (2) == 2.0 + runString = "(2)"; + if (2.0f != jtt.micro.VarArgs_float01.test(2)) { + fail(runString); + return; + } + // (3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3)"; + jtt.micro.VarArgs_float01.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (4) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(4)"; + jtt.micro.VarArgs_float01.test(4); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_VarArgs_int01() { + begin("jtt.micro.VarArgs_int01"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.micro.VarArgs_int01.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.micro.VarArgs_int01.test(1)) { + fail(runString); + return; + } + // (2) == 2 + runString = "(2)"; + if (2 != jtt.micro.VarArgs_int01.test(2)) { + fail(runString); + return; + } + // (3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3)"; + jtt.micro.VarArgs_int01.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (4) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(4)"; + jtt.micro.VarArgs_int01.test(4); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_VarArgs_long01() { + begin("jtt.micro.VarArgs_long01"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0L != jtt.micro.VarArgs_long01.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1L != jtt.micro.VarArgs_long01.test(1)) { + fail(runString); + return; + } + // (2) == 2 + runString = "(2)"; + if (2L != jtt.micro.VarArgs_long01.test(2)) { + fail(runString); + return; + } + // (3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3)"; + jtt.micro.VarArgs_long01.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (4) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(4)"; + jtt.micro.VarArgs_long01.test(4); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_micro_VarArgs_short01() { + begin("jtt.micro.VarArgs_short01"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if ((short) 0 != jtt.micro.VarArgs_short01.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if ((short) 1 != jtt.micro.VarArgs_short01.test(1)) { + fail(runString); + return; + } + // (2) == 2 + runString = "(2)"; + if ((short) 2 != jtt.micro.VarArgs_short01.test(2)) { + fail(runString); + return; + } + // (3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3)"; + jtt.micro.VarArgs_short01.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + // (4) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(4)"; + jtt.micro.VarArgs_short01.test(4); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_get01() { + begin("jtt.reflect.Array_get01"); + String runString = null; + try { + // (0) == "0" + runString = "(0)"; + if (!"0".equals(jtt.reflect.Array_get01.test(0))) { + fail(runString); + return; + } + // (1) == "1" + runString = "(1)"; + if (!"1".equals(jtt.reflect.Array_get01.test(1))) { + fail(runString); + return; + } + // (2) == "2" + runString = "(2)"; + if (!"2".equals(jtt.reflect.Array_get01.test(2))) { + fail(runString); + return; + } + // (3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3)"; + jtt.reflect.Array_get01.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_get02() { + begin("jtt.reflect.Array_get02"); + String runString = null; + try { + // (0) == 11 + runString = "(0)"; + if (11 != jtt.reflect.Array_get02.test(0)) { + fail(runString); + return; + } + // (1) == 21 + runString = "(1)"; + if (21 != jtt.reflect.Array_get02.test(1)) { + fail(runString); + return; + } + // (2) == 42 + runString = "(2)"; + if (42 != jtt.reflect.Array_get02.test(2)) { + fail(runString); + return; + } + // (3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3)"; + jtt.reflect.Array_get02.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_get03() { + begin("jtt.reflect.Array_get03"); + String runString = null; + try { + // (0) == 11 + runString = "(0)"; + if ((byte) 11 != jtt.reflect.Array_get03.test(0)) { + fail(runString); + return; + } + // (1) == 21 + runString = "(1)"; + if ((byte) 21 != jtt.reflect.Array_get03.test(1)) { + fail(runString); + return; + } + // (2) == 42 + runString = "(2)"; + if ((byte) 42 != jtt.reflect.Array_get03.test(2)) { + fail(runString); + return; + } + // (3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3)"; + jtt.reflect.Array_get03.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_getBoolean01() { + begin("jtt.reflect.Array_getBoolean01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.reflect.Array_getBoolean01.test(0)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.reflect.Array_getBoolean01.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.reflect.Array_getBoolean01.test(2)) { + fail(runString); + return; + } + // (3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3)"; + jtt.reflect.Array_getBoolean01.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_getByte01() { + begin("jtt.reflect.Array_getByte01"); + String runString = null; + try { + // (0) == 11 + runString = "(0)"; + if ((byte) 11 != jtt.reflect.Array_getByte01.test(0)) { + fail(runString); + return; + } + // (1) == 21 + runString = "(1)"; + if ((byte) 21 != jtt.reflect.Array_getByte01.test(1)) { + fail(runString); + return; + } + // (2) == 42 + runString = "(2)"; + if ((byte) 42 != jtt.reflect.Array_getByte01.test(2)) { + fail(runString); + return; + } + // (3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3)"; + jtt.reflect.Array_getByte01.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_getChar01() { + begin("jtt.reflect.Array_getChar01"); + String runString = null; + try { + // (0) == '\13' + runString = "(0)"; + if ((char) 11 != jtt.reflect.Array_getChar01.test(0)) { + fail(runString); + return; + } + // (1) == '\25' + runString = "(1)"; + if ((char) 21 != jtt.reflect.Array_getChar01.test(1)) { + fail(runString); + return; + } + // (2) == '*' + runString = "(2)"; + if ((char) 42 != jtt.reflect.Array_getChar01.test(2)) { + fail(runString); + return; + } + // (3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3)"; + jtt.reflect.Array_getChar01.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_getDouble01() { + begin("jtt.reflect.Array_getDouble01"); + String runString = null; + try { + // (0) == 11.1 + runString = "(0)"; + if (11.1 != jtt.reflect.Array_getDouble01.test(0)) { + fail(runString); + return; + } + // (1) == 21.1 + runString = "(1)"; + if (21.1 != jtt.reflect.Array_getDouble01.test(1)) { + fail(runString); + return; + } + // (2) == 42.1 + runString = "(2)"; + if (42.1 != jtt.reflect.Array_getDouble01.test(2)) { + fail(runString); + return; + } + // (3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3)"; + jtt.reflect.Array_getDouble01.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_getFloat01() { + begin("jtt.reflect.Array_getFloat01"); + String runString = null; + try { + // (0) == 11.1 + runString = "(0)"; + if (11.1f != jtt.reflect.Array_getFloat01.test(0)) { + fail(runString); + return; + } + // (1) == 21.1 + runString = "(1)"; + if (21.1f != jtt.reflect.Array_getFloat01.test(1)) { + fail(runString); + return; + } + // (2) == 42.1 + runString = "(2)"; + if (42.1f != jtt.reflect.Array_getFloat01.test(2)) { + fail(runString); + return; + } + // (3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3)"; + jtt.reflect.Array_getFloat01.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_getInt01() { + begin("jtt.reflect.Array_getInt01"); + String runString = null; + try { + // (0) == 11 + runString = "(0)"; + if (11 != jtt.reflect.Array_getInt01.test(0)) { + fail(runString); + return; + } + // (1) == 21 + runString = "(1)"; + if (21 != jtt.reflect.Array_getInt01.test(1)) { + fail(runString); + return; + } + // (2) == 42 + runString = "(2)"; + if (42 != jtt.reflect.Array_getInt01.test(2)) { + fail(runString); + return; + } + // (3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3)"; + jtt.reflect.Array_getInt01.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_getLength01() { + begin("jtt.reflect.Array_getLength01"); + String runString = null; + try { + // (0) == 3 + runString = "(0)"; + if (3 != jtt.reflect.Array_getLength01.test(0)) { + fail(runString); + return; + } + // (1) == 4 + runString = "(1)"; + if (4 != jtt.reflect.Array_getLength01.test(1)) { + fail(runString); + return; + } + // (2) == 1 + runString = "(2)"; + if (1 != jtt.reflect.Array_getLength01.test(2)) { + fail(runString); + return; + } + // (3) == !java.lang.NullPointerException + try { + runString = "(3)"; + jtt.reflect.Array_getLength01.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_getLong01() { + begin("jtt.reflect.Array_getLong01"); + String runString = null; + try { + // (0) == 11 + runString = "(0)"; + if (11L != jtt.reflect.Array_getLong01.test(0)) { + fail(runString); + return; + } + // (1) == 21 + runString = "(1)"; + if (21L != jtt.reflect.Array_getLong01.test(1)) { + fail(runString); + return; + } + // (2) == 42 + runString = "(2)"; + if (42L != jtt.reflect.Array_getLong01.test(2)) { + fail(runString); + return; + } + // (3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3)"; + jtt.reflect.Array_getLong01.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_getShort01() { + begin("jtt.reflect.Array_getShort01"); + String runString = null; + try { + // (0) == 11 + runString = "(0)"; + if ((short) 11 != jtt.reflect.Array_getShort01.test(0)) { + fail(runString); + return; + } + // (1) == 21 + runString = "(1)"; + if ((short) 21 != jtt.reflect.Array_getShort01.test(1)) { + fail(runString); + return; + } + // (2) == 42 + runString = "(2)"; + if ((short) 42 != jtt.reflect.Array_getShort01.test(2)) { + fail(runString); + return; + } + // (3) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3)"; + jtt.reflect.Array_getShort01.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_newInstance01() { + begin("jtt.reflect.Array_newInstance01"); + String runString = null; + try { + // (1) == true + runString = "(1)"; + if (true != jtt.reflect.Array_newInstance01.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_newInstance02() { + begin("jtt.reflect.Array_newInstance02"); + String runString = null; + try { + // (1) == true + runString = "(1)"; + if (true != jtt.reflect.Array_newInstance02.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_newInstance03() { + begin("jtt.reflect.Array_newInstance03"); + String runString = null; + try { + // (1) == true + runString = "(1)"; + if (true != jtt.reflect.Array_newInstance03.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_newInstance04() { + begin("jtt.reflect.Array_newInstance04"); + String runString = null; + try { + // (1,0) == true + runString = "(1,0)"; + if (true != jtt.reflect.Array_newInstance04.test(1, 0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_newInstance05() { + begin("jtt.reflect.Array_newInstance05"); + String runString = null; + try { + // (1,3) == true + runString = "(1,3)"; + if (true != jtt.reflect.Array_newInstance05.test(1, 3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_newInstance06() { + begin("jtt.reflect.Array_newInstance06"); + String runString = null; + try { + // (1) == true + runString = "(1)"; + if (true != jtt.reflect.Array_newInstance06.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_set01() { + begin("jtt.reflect.Array_set01"); + String runString = null; + try { + // (0,"1") == "1" + runString = "(0,\"1\")"; + if (!"1".equals(jtt.reflect.Array_set01.test(0, "1"))) { + fail(runString); + return; + } + // (1,"2") == "2" + runString = "(1,\"2\")"; + if (!"2".equals(jtt.reflect.Array_set01.test(1, "2"))) { + fail(runString); + return; + } + // (0,"XXd") == "XXd" + runString = "(0,\"XXd\")"; + if (!"XXd".equals(jtt.reflect.Array_set01.test(0, "XXd"))) { + fail(runString); + return; + } + // (3,"--") == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3,\"--\")"; + jtt.reflect.Array_set01.test(3, "--"); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_set02() { + begin("jtt.reflect.Array_set02"); + String runString = null; + try { + // (0,11) == 11 + runString = "(0,11)"; + if (11 != jtt.reflect.Array_set02.test(0, 11)) { + fail(runString); + return; + } + // (1,21) == 21 + runString = "(1,21)"; + if (21 != jtt.reflect.Array_set02.test(1, 21)) { + fail(runString); + return; + } + // (0,42) == 42 + runString = "(0,42)"; + if (42 != jtt.reflect.Array_set02.test(0, 42)) { + fail(runString); + return; + } + // (3,0) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3,0)"; + jtt.reflect.Array_set02.test(3, 0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_set03() { + begin("jtt.reflect.Array_set03"); + String runString = null; + try { + // (0,11) == 11 + runString = "(0,11)"; + if ((byte) 11 != jtt.reflect.Array_set03.test(0, (byte) 11)) { + fail(runString); + return; + } + // (1,21) == 21 + runString = "(1,21)"; + if ((byte) 21 != jtt.reflect.Array_set03.test(1, (byte) 21)) { + fail(runString); + return; + } + // (0,42) == 42 + runString = "(0,42)"; + if ((byte) 42 != jtt.reflect.Array_set03.test(0, (byte) 42)) { + fail(runString); + return; + } + // (3,0) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3,0)"; + jtt.reflect.Array_set03.test(3, (byte) 0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_setBoolean01() { + begin("jtt.reflect.Array_setBoolean01"); + String runString = null; + try { + // (0,true) == true + runString = "(0,true)"; + if (true != jtt.reflect.Array_setBoolean01.test(0, true)) { + fail(runString); + return; + } + // (1,false) == false + runString = "(1,false)"; + if (false != jtt.reflect.Array_setBoolean01.test(1, false)) { + fail(runString); + return; + } + // (2,true) == true + runString = "(2,true)"; + if (true != jtt.reflect.Array_setBoolean01.test(2, true)) { + fail(runString); + return; + } + // (3,false) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3,false)"; + jtt.reflect.Array_setBoolean01.test(3, false); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_setByte01() { + begin("jtt.reflect.Array_setByte01"); + String runString = null; + try { + // (0,11) == 11 + runString = "(0,11)"; + if ((byte) 11 != jtt.reflect.Array_setByte01.test(0, (byte) 11)) { + fail(runString); + return; + } + // (1,21) == 21 + runString = "(1,21)"; + if ((byte) 21 != jtt.reflect.Array_setByte01.test(1, (byte) 21)) { + fail(runString); + return; + } + // (0,42) == 42 + runString = "(0,42)"; + if ((byte) 42 != jtt.reflect.Array_setByte01.test(0, (byte) 42)) { + fail(runString); + return; + } + // (3,0) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3,0)"; + jtt.reflect.Array_setByte01.test(3, (byte) 0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_setChar01() { + begin("jtt.reflect.Array_setChar01"); + String runString = null; + try { + // (0,'\13') == '\13' + runString = "(0,'\13')"; + if ((char) 11 != jtt.reflect.Array_setChar01.test(0, (char) 11)) { + fail(runString); + return; + } + // (1,'\25') == '\25' + runString = "(1,'\25')"; + if ((char) 21 != jtt.reflect.Array_setChar01.test(1, (char) 21)) { + fail(runString); + return; + } + // (0,'*') == '*' + runString = "(0,'*')"; + if ((char) 42 != jtt.reflect.Array_setChar01.test(0, (char) 42)) { + fail(runString); + return; + } + // (3,'\0') == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3,'\0')"; + jtt.reflect.Array_setChar01.test(3, (char) 0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_setDouble01() { + begin("jtt.reflect.Array_setDouble01"); + String runString = null; + try { + // (0,11.1) == 11.1 + runString = "(0,11.1)"; + if (11.1 != jtt.reflect.Array_setDouble01.test(0, 11.1)) { + fail(runString); + return; + } + // (1,21.1) == 21.1 + runString = "(1,21.1)"; + if (21.1 != jtt.reflect.Array_setDouble01.test(1, 21.1)) { + fail(runString); + return; + } + // (0,42.1) == 42.1 + runString = "(0,42.1)"; + if (42.1 != jtt.reflect.Array_setDouble01.test(0, 42.1)) { + fail(runString); + return; + } + // (3,0.1) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3,0.1)"; + jtt.reflect.Array_setDouble01.test(3, 0.1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_setFloat01() { + begin("jtt.reflect.Array_setFloat01"); + String runString = null; + try { + // (0,11.1) == 11.1 + runString = "(0,11.1)"; + if (11.1f != jtt.reflect.Array_setFloat01.test(0, 11.1f)) { + fail(runString); + return; + } + // (1,21.1) == 21.1 + runString = "(1,21.1)"; + if (21.1f != jtt.reflect.Array_setFloat01.test(1, 21.1f)) { + fail(runString); + return; + } + // (0,42.1) == 42.1 + runString = "(0,42.1)"; + if (42.1f != jtt.reflect.Array_setFloat01.test(0, 42.1f)) { + fail(runString); + return; + } + // (3,0.1) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3,0.1)"; + jtt.reflect.Array_setFloat01.test(3, 0.1f); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_setInt01() { + begin("jtt.reflect.Array_setInt01"); + String runString = null; + try { + // (0,11) == 11 + runString = "(0,11)"; + if (11 != jtt.reflect.Array_setInt01.test(0, 11)) { + fail(runString); + return; + } + // (1,21) == 21 + runString = "(1,21)"; + if (21 != jtt.reflect.Array_setInt01.test(1, 21)) { + fail(runString); + return; + } + // (0,42) == 42 + runString = "(0,42)"; + if (42 != jtt.reflect.Array_setInt01.test(0, 42)) { + fail(runString); + return; + } + // (3,0) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3,0)"; + jtt.reflect.Array_setInt01.test(3, 0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_setLong01() { + begin("jtt.reflect.Array_setLong01"); + String runString = null; + try { + // (0,11) == 11 + runString = "(0,11)"; + if (11L != jtt.reflect.Array_setLong01.test(0, 11L)) { + fail(runString); + return; + } + // (1,21) == 21 + runString = "(1,21)"; + if (21L != jtt.reflect.Array_setLong01.test(1, 21L)) { + fail(runString); + return; + } + // (0,42) == 42 + runString = "(0,42)"; + if (42L != jtt.reflect.Array_setLong01.test(0, 42L)) { + fail(runString); + return; + } + // (3,0) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3,0)"; + jtt.reflect.Array_setLong01.test(3, 0L); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Array_setShort01() { + begin("jtt.reflect.Array_setShort01"); + String runString = null; + try { + // (0,11) == 11 + runString = "(0,11)"; + if ((short) 11 != jtt.reflect.Array_setShort01.test(0, (short) 11)) { + fail(runString); + return; + } + // (1,21) == 21 + runString = "(1,21)"; + if ((short) 21 != jtt.reflect.Array_setShort01.test(1, (short) 21)) { + fail(runString); + return; + } + // (0,42) == 42 + runString = "(0,42)"; + if ((short) 42 != jtt.reflect.Array_setShort01.test(0, (short) 42)) { + fail(runString); + return; + } + // (3,0) == !java.lang.ArrayIndexOutOfBoundsException + try { + runString = "(3,0)"; + jtt.reflect.Array_setShort01.test(3, (short) 0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.ArrayIndexOutOfBoundsException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Class_getDeclaredField01() { + begin("jtt.reflect.Class_getDeclaredField01"); + String runString = null; + try { + // ("test") == !java.lang.NoSuchFieldException + try { + runString = "(\"test\")"; + jtt.reflect.Class_getDeclaredField01.test("test"); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NoSuchFieldException.class) { + fail(runString, e); + return; + } + } + // ("field") == "field" + runString = "(\"field\")"; + if (!"field".equals(jtt.reflect.Class_getDeclaredField01 + .test("field"))) { + fail(runString); + return; + } + // ("f2") == "f2" + runString = "(\"f2\")"; + if (!"f2".equals(jtt.reflect.Class_getDeclaredField01.test("f2"))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Class_getDeclaredMethod01() { + begin("jtt.reflect.Class_getDeclaredMethod01"); + String runString = null; + try { + // ("test") == !java.lang.NoSuchMethodException + try { + runString = "(\"test\")"; + jtt.reflect.Class_getDeclaredMethod01.test("test"); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NoSuchMethodException.class) { + fail(runString, e); + return; + } + } + // ("main") == "main" + runString = "(\"main\")"; + if (!"main".equals(jtt.reflect.Class_getDeclaredMethod01 + .test("main"))) { + fail(runString); + return; + } + // ("xx") == !java.lang.NoSuchMethodException + try { + runString = "(\"xx\")"; + jtt.reflect.Class_getDeclaredMethod01.test("xx"); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NoSuchMethodException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Class_getField01() { + begin("jtt.reflect.Class_getField01"); + String runString = null; + try { + // ("test") == !java.lang.NoSuchFieldException + try { + runString = "(\"test\")"; + jtt.reflect.Class_getField01.test("test"); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NoSuchFieldException.class) { + fail(runString, e); + return; + } + } + // ("field") == "field" + runString = "(\"field\")"; + if (!"field".equals(jtt.reflect.Class_getField01.test("field"))) { + fail(runString); + return; + } + // ("field2") == "field2" + runString = "(\"field2\")"; + if (!"field2".equals(jtt.reflect.Class_getField01.test("field2"))) { + fail(runString); + return; + } + // ("field3") == !java.lang.NoSuchFieldException + try { + runString = "(\"field3\")"; + jtt.reflect.Class_getField01.test("field3"); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NoSuchFieldException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Class_getField02() { + begin("jtt.reflect.Class_getField02"); + String runString = null; + try { + // ("test") == !java.lang.NoSuchFieldException + try { + runString = "(\"test\")"; + jtt.reflect.Class_getField02.test("test"); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NoSuchFieldException.class) { + fail(runString, e); + return; + } + } + // ("field") == "field" + runString = "(\"field\")"; + if (!"field".equals(jtt.reflect.Class_getField02.test("field"))) { + fail(runString); + return; + } + // ("field2") == "field2" + runString = "(\"field2\")"; + if (!"field2".equals(jtt.reflect.Class_getField02.test("field2"))) { + fail(runString); + return; + } + // ("field3") == !java.lang.NoSuchFieldException + try { + runString = "(\"field3\")"; + jtt.reflect.Class_getField02.test("field3"); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NoSuchFieldException.class) { + fail(runString, e); + return; + } + } + // ("field4") == "field4" + runString = "(\"field4\")"; + if (!"field4".equals(jtt.reflect.Class_getField02.test("field4"))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Class_getMethod01() { + begin("jtt.reflect.Class_getMethod01"); + String runString = null; + try { + // ("test") == !java.lang.NoSuchMethodException + try { + runString = "(\"test\")"; + jtt.reflect.Class_getMethod01.test("test"); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NoSuchMethodException.class) { + fail(runString, e); + return; + } + } + // ("main") == "main" + runString = "(\"main\")"; + if (!"main".equals(jtt.reflect.Class_getMethod01.test("main"))) { + fail(runString); + return; + } + // ("xx") == !java.lang.NoSuchMethodException + try { + runString = "(\"xx\")"; + jtt.reflect.Class_getMethod01.test("xx"); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NoSuchMethodException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Class_getMethod02() { + begin("jtt.reflect.Class_getMethod02"); + String runString = null; + try { + // (0) == !java.lang.NoSuchMethodException + try { + runString = "(0)"; + jtt.reflect.Class_getMethod02.test(0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NoSuchMethodException.class) { + fail(runString, e); + return; + } + } + // (1) == "test" + runString = "(1)"; + if (!"test".equals(jtt.reflect.Class_getMethod02.test(1))) { + fail(runString); + return; + } + // (2) == !java.lang.NoSuchMethodException + try { + runString = "(2)"; + jtt.reflect.Class_getMethod02.test(2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NoSuchMethodException.class) { + fail(runString, e); + return; + } + } + // (3) == "main" + runString = "(3)"; + if (!"main".equals(jtt.reflect.Class_getMethod02.test(3))) { + fail(runString); + return; + } + // (4) == !java.lang.NoSuchMethodException + try { + runString = "(4)"; + jtt.reflect.Class_getMethod02.test(4); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NoSuchMethodException.class) { + fail(runString, e); + return; + } + } + // (5) == !java.lang.NoSuchMethodException + try { + runString = "(5)"; + jtt.reflect.Class_getMethod02.test(5); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NoSuchMethodException.class) { + fail(runString, e); + return; + } + } + // (6) == null + runString = "(6)"; + if (null != jtt.reflect.Class_getMethod02.test(6)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Class_newInstance01() { + begin("jtt.reflect.Class_newInstance01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.reflect.Class_newInstance01.test(0)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.reflect.Class_newInstance01.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Class_newInstance02() { + begin("jtt.reflect.Class_newInstance02"); + String runString = null; + try { + // (0) == !java.lang.IllegalAccessException + try { + runString = "(0)"; + jtt.reflect.Class_newInstance02.test(0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.IllegalAccessException.class) { + fail(runString, e); + return; + } + } + // (1) == false + runString = "(1)"; + if (false != jtt.reflect.Class_newInstance02.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Class_newInstance03() { + begin("jtt.reflect.Class_newInstance03"); + String runString = null; + try { + // (0) == !java.lang.InstantiationException + try { + runString = "(0)"; + jtt.reflect.Class_newInstance03.test(0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.InstantiationException.class) { + fail(runString, e); + return; + } + } + // (1) == !java.lang.InstantiationException + try { + runString = "(1)"; + jtt.reflect.Class_newInstance03.test(1); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.InstantiationException.class) { + fail(runString, e); + return; + } + } + // (2) == !java.lang.InstantiationException + try { + runString = "(2)"; + jtt.reflect.Class_newInstance03.test(2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.InstantiationException.class) { + fail(runString, e); + return; + } + } + // (3) == !java.lang.InstantiationException + try { + runString = "(3)"; + jtt.reflect.Class_newInstance03.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.InstantiationException.class) { + fail(runString, e); + return; + } + } + // (4) == false + runString = "(4)"; + if (false != jtt.reflect.Class_newInstance03.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Class_newInstance06() { + begin("jtt.reflect.Class_newInstance06"); + String runString = null; + try { + // (0) == !java.lang.InstantiationException + try { + runString = "(0)"; + jtt.reflect.Class_newInstance06.test(0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.InstantiationException.class) { + fail(runString, e); + return; + } + } + // (4) == false + runString = "(4)"; + if (false != jtt.reflect.Class_newInstance06.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Class_newInstance07() { + begin("jtt.reflect.Class_newInstance07"); + String runString = null; + try { + // (0) == !java.lang.Exception + try { + runString = "(0)"; + jtt.reflect.Class_newInstance07.test(0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.Exception.class) { + fail(runString, e); + return; + } + } + // (4) == false + runString = "(4)"; + if (false != jtt.reflect.Class_newInstance07.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Field_get01() { + begin("jtt.reflect.Field_get01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.reflect.Field_get01.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.reflect.Field_get01.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.reflect.Field_get01.test(2)) { + fail(runString); + return; + } + // (3) == true + runString = "(3)"; + if (true != jtt.reflect.Field_get01.test(3)) { + fail(runString); + return; + } + // (4) == true + runString = "(4)"; + if (true != jtt.reflect.Field_get01.test(4)) { + fail(runString); + return; + } + // (5) == true + runString = "(5)"; + if (true != jtt.reflect.Field_get01.test(5)) { + fail(runString); + return; + } + // (6) == true + runString = "(6)"; + if (true != jtt.reflect.Field_get01.test(6)) { + fail(runString); + return; + } + // (7) == true + runString = "(7)"; + if (true != jtt.reflect.Field_get01.test(7)) { + fail(runString); + return; + } + // (8) == false + runString = "(8)"; + if (false != jtt.reflect.Field_get01.test(8)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Field_get02() { + begin("jtt.reflect.Field_get02"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.reflect.Field_get02.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.reflect.Field_get02.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.reflect.Field_get02.test(2)) { + fail(runString); + return; + } + // (3) == true + runString = "(3)"; + if (true != jtt.reflect.Field_get02.test(3)) { + fail(runString); + return; + } + // (4) == true + runString = "(4)"; + if (true != jtt.reflect.Field_get02.test(4)) { + fail(runString); + return; + } + // (5) == true + runString = "(5)"; + if (true != jtt.reflect.Field_get02.test(5)) { + fail(runString); + return; + } + // (6) == true + runString = "(6)"; + if (true != jtt.reflect.Field_get02.test(6)) { + fail(runString); + return; + } + // (7) == true + runString = "(7)"; + if (true != jtt.reflect.Field_get02.test(7)) { + fail(runString); + return; + } + // (8) == false + runString = "(8)"; + if (false != jtt.reflect.Field_get02.test(8)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Field_get03() { + begin("jtt.reflect.Field_get03"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.reflect.Field_get03.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.reflect.Field_get03.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.reflect.Field_get03.test(2)) { + fail(runString); + return; + } + // (3) == true + runString = "(3)"; + if (true != jtt.reflect.Field_get03.test(3)) { + fail(runString); + return; + } + // (4) == true + runString = "(4)"; + if (true != jtt.reflect.Field_get03.test(4)) { + fail(runString); + return; + } + // (5) == true + runString = "(5)"; + if (true != jtt.reflect.Field_get03.test(5)) { + fail(runString); + return; + } + // (6) == true + runString = "(6)"; + if (true != jtt.reflect.Field_get03.test(6)) { + fail(runString); + return; + } + // (7) == true + runString = "(7)"; + if (true != jtt.reflect.Field_get03.test(7)) { + fail(runString); + return; + } + // (8) == false + runString = "(8)"; + if (false != jtt.reflect.Field_get03.test(8)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Field_get04() { + begin("jtt.reflect.Field_get04"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.reflect.Field_get04.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.reflect.Field_get04.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.reflect.Field_get04.test(2)) { + fail(runString); + return; + } + // (3) == true + runString = "(3)"; + if (true != jtt.reflect.Field_get04.test(3)) { + fail(runString); + return; + } + // (4) == true + runString = "(4)"; + if (true != jtt.reflect.Field_get04.test(4)) { + fail(runString); + return; + } + // (5) == true + runString = "(5)"; + if (true != jtt.reflect.Field_get04.test(5)) { + fail(runString); + return; + } + // (6) == true + runString = "(6)"; + if (true != jtt.reflect.Field_get04.test(6)) { + fail(runString); + return; + } + // (7) == true + runString = "(7)"; + if (true != jtt.reflect.Field_get04.test(7)) { + fail(runString); + return; + } + // (8) == false + runString = "(8)"; + if (false != jtt.reflect.Field_get04.test(8)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Field_getType01() { + begin("jtt.reflect.Field_getType01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.reflect.Field_getType01.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.reflect.Field_getType01.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.reflect.Field_getType01.test(2)) { + fail(runString); + return; + } + // (3) == true + runString = "(3)"; + if (true != jtt.reflect.Field_getType01.test(3)) { + fail(runString); + return; + } + // (4) == true + runString = "(4)"; + if (true != jtt.reflect.Field_getType01.test(4)) { + fail(runString); + return; + } + // (5) == true + runString = "(5)"; + if (true != jtt.reflect.Field_getType01.test(5)) { + fail(runString); + return; + } + // (6) == true + runString = "(6)"; + if (true != jtt.reflect.Field_getType01.test(6)) { + fail(runString); + return; + } + // (7) == true + runString = "(7)"; + if (true != jtt.reflect.Field_getType01.test(7)) { + fail(runString); + return; + } + // (8) == false + runString = "(8)"; + if (false != jtt.reflect.Field_getType01.test(8)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Field_set01() { + begin("jtt.reflect.Field_set01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.reflect.Field_set01.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.reflect.Field_set01.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.reflect.Field_set01.test(2)) { + fail(runString); + return; + } + // (3) == true + runString = "(3)"; + if (true != jtt.reflect.Field_set01.test(3)) { + fail(runString); + return; + } + // (4) == true + runString = "(4)"; + if (true != jtt.reflect.Field_set01.test(4)) { + fail(runString); + return; + } + // (5) == true + runString = "(5)"; + if (true != jtt.reflect.Field_set01.test(5)) { + fail(runString); + return; + } + // (6) == true + runString = "(6)"; + if (true != jtt.reflect.Field_set01.test(6)) { + fail(runString); + return; + } + // (7) == true + runString = "(7)"; + if (true != jtt.reflect.Field_set01.test(7)) { + fail(runString); + return; + } + // (8) == false + runString = "(8)"; + if (false != jtt.reflect.Field_set01.test(8)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Field_set02() { + begin("jtt.reflect.Field_set02"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.reflect.Field_set02.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.reflect.Field_set02.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.reflect.Field_set02.test(2)) { + fail(runString); + return; + } + // (3) == true + runString = "(3)"; + if (true != jtt.reflect.Field_set02.test(3)) { + fail(runString); + return; + } + // (4) == true + runString = "(4)"; + if (true != jtt.reflect.Field_set02.test(4)) { + fail(runString); + return; + } + // (5) == true + runString = "(5)"; + if (true != jtt.reflect.Field_set02.test(5)) { + fail(runString); + return; + } + // (6) == true + runString = "(6)"; + if (true != jtt.reflect.Field_set02.test(6)) { + fail(runString); + return; + } + // (7) == true + runString = "(7)"; + if (true != jtt.reflect.Field_set02.test(7)) { + fail(runString); + return; + } + // (8) == false + runString = "(8)"; + if (false != jtt.reflect.Field_set02.test(8)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Field_set03() { + begin("jtt.reflect.Field_set03"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.reflect.Field_set03.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.reflect.Field_set03.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.reflect.Field_set03.test(2)) { + fail(runString); + return; + } + // (3) == true + runString = "(3)"; + if (true != jtt.reflect.Field_set03.test(3)) { + fail(runString); + return; + } + // (4) == true + runString = "(4)"; + if (true != jtt.reflect.Field_set03.test(4)) { + fail(runString); + return; + } + // (5) == true + runString = "(5)"; + if (true != jtt.reflect.Field_set03.test(5)) { + fail(runString); + return; + } + // (6) == true + runString = "(6)"; + if (true != jtt.reflect.Field_set03.test(6)) { + fail(runString); + return; + } + // (7) == true + runString = "(7)"; + if (true != jtt.reflect.Field_set03.test(7)) { + fail(runString); + return; + } + // (8) == false + runString = "(8)"; + if (false != jtt.reflect.Field_set03.test(8)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Invoke_except01() { + begin("jtt.reflect.Invoke_except01"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.reflect.Invoke_except01.test(0)) { + fail(runString); + return; + } + // (1) == 3 + runString = "(1)"; + if (3 != jtt.reflect.Invoke_except01.test(1)) { + fail(runString); + return; + } + // (2) == !java.lang.reflect.InvocationTargetException + try { + runString = "(2)"; + jtt.reflect.Invoke_except01.test(2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.reflect.InvocationTargetException.class) { + fail(runString, e); + return; + } + } + // (3) == !java.lang.IllegalArgumentException + try { + runString = "(3)"; + jtt.reflect.Invoke_except01.test(3); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.IllegalArgumentException.class) { + fail(runString, e); + return; + } + } + // (4) == !java.lang.IllegalArgumentException + try { + runString = "(4)"; + jtt.reflect.Invoke_except01.test(4); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.IllegalArgumentException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Invoke_main01() { + begin("jtt.reflect.Invoke_main01"); + String runString = null; + try { + // ("test1") == "test1" + runString = "(\"test1\")"; + if (!"test1".equals(jtt.reflect.Invoke_main01.test("test1"))) { + fail(runString); + return; + } + // ("test2") == "test2" + runString = "(\"test2\")"; + if (!"test2".equals(jtt.reflect.Invoke_main01.test("test2"))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Invoke_main02() { + begin("jtt.reflect.Invoke_main02"); + String runString = null; + try { + // ("test1") == "test1" + runString = "(\"test1\")"; + if (!"test1".equals(jtt.reflect.Invoke_main02.test("test1"))) { + fail(runString); + return; + } + // ("test2") == "test2" + runString = "(\"test2\")"; + if (!"test2".equals(jtt.reflect.Invoke_main02.test("test2"))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Invoke_main03() { + begin("jtt.reflect.Invoke_main03"); + String runString = null; + try { + // ("test1") == "test1" + runString = "(\"test1\")"; + if (!"test1".equals(jtt.reflect.Invoke_main03.test("test1"))) { + fail(runString); + return; + } + // ("test2") == "test2" + runString = "(\"test2\")"; + if (!"test2".equals(jtt.reflect.Invoke_main03.test("test2"))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Invoke_virtual01() { + begin("jtt.reflect.Invoke_virtual01"); + String runString = null; + try { + // (1) == 55 + runString = "(1)"; + if (55 != jtt.reflect.Invoke_virtual01.test(1)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Method_getParameterTypes01() { + begin("jtt.reflect.Method_getParameterTypes01"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.reflect.Method_getParameterTypes01.test(0)) { + fail(runString); + return; + } + // (1) == 1 + runString = "(1)"; + if (1 != jtt.reflect.Method_getParameterTypes01.test(1)) { + fail(runString); + return; + } + // (2) == 2 + runString = "(2)"; + if (2 != jtt.reflect.Method_getParameterTypes01.test(2)) { + fail(runString); + return; + } + // (3) == -1 + runString = "(3)"; + if (-1 != jtt.reflect.Method_getParameterTypes01.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Method_getReturnType01() { + begin("jtt.reflect.Method_getReturnType01"); + String runString = null; + try { + // (0) == "int" + runString = "(0)"; + if (!"int".equals(jtt.reflect.Method_getReturnType01.test(0))) { + fail(runString); + return; + } + // (1) == "java.lang.String" + runString = "(1)"; + if (!"java.lang.String".equals(jtt.reflect.Method_getReturnType01 + .test(1))) { + fail(runString); + return; + } + // (2) == "void" + runString = "(2)"; + if (!"void".equals(jtt.reflect.Method_getReturnType01.test(2))) { + fail(runString); + return; + } + // (3) == null + runString = "(3)"; + if (null != jtt.reflect.Method_getReturnType01.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_reflect_Reflection_getCallerClass01() { + begin("jtt.reflect.Reflection_getCallerClass01"); + String runString = null; + try { + // (0) == "sun.reflect.Reflection" + runString = "(0)"; + if (!"sun.reflect.Reflection" + .equals(jtt.reflect.Reflection_getCallerClass01.test(0))) { + fail(runString); + return; + } + // (1) == "jtt.reflect.Reflection_getCallerClass01$Caller1" + runString = "(1)"; + if (!"jtt.reflect.Reflection_getCallerClass01$Caller1" + .equals(jtt.reflect.Reflection_getCallerClass01.test(1))) { + fail(runString); + return; + } + // (2) == "jtt.reflect.Reflection_getCallerClass01$Caller2" + runString = "(2)"; + if (!"jtt.reflect.Reflection_getCallerClass01$Caller2" + .equals(jtt.reflect.Reflection_getCallerClass01.test(2))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Monitor_contended01() { + begin("jtt.threads.Monitor_contended01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.threads.Monitor_contended01.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Monitor_notowner01() { + begin("jtt.threads.Monitor_notowner01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.threads.Monitor_notowner01.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Monitorenter01() { + begin("jtt.threads.Monitorenter01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.threads.Monitorenter01.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Monitorenter02() { + begin("jtt.threads.Monitorenter02"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.threads.Monitorenter02.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Object_wait01() { + begin("jtt.threads.Object_wait01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.threads.Object_wait01.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.threads.Object_wait01.test(1)) { + fail(runString); + return; + } + // (3) == true + runString = "(3)"; + if (true != jtt.threads.Object_wait01.test(3)) { + fail(runString); + return; + } + // (15) == true + runString = "(15)"; + if (true != jtt.threads.Object_wait01.test(15)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Object_wait02() { + begin("jtt.threads.Object_wait02"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.threads.Object_wait02.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.threads.Object_wait02.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.threads.Object_wait02.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Object_wait03() { + begin("jtt.threads.Object_wait03"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.threads.Object_wait03.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.threads.Object_wait03.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.threads.Object_wait03.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Object_wait04() { + begin("jtt.threads.Object_wait04"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.threads.Object_wait04.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.threads.Object_wait04.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.threads.Object_wait04.test(2)) { + fail(runString); + return; + } + // (3) == true + runString = "(3)"; + if (true != jtt.threads.Object_wait04.test(3)) { + fail(runString); + return; + } + // (4) == true + runString = "(4)"; + if (true != jtt.threads.Object_wait04.test(4)) { + fail(runString); + return; + } + // (5) == true + runString = "(5)"; + if (true != jtt.threads.Object_wait04.test(5)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_ThreadLocal01() { + begin("jtt.threads.ThreadLocal01"); + String runString = null; + try { + // (0) == 5 + runString = "(0)"; + if (5 != jtt.threads.ThreadLocal01.test(0)) { + fail(runString); + return; + } + // (1) == 6 + runString = "(1)"; + if (6 != jtt.threads.ThreadLocal01.test(1)) { + fail(runString); + return; + } + // (2) == 7 + runString = "(2)"; + if (7 != jtt.threads.ThreadLocal01.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_ThreadLocal02() { + begin("jtt.threads.ThreadLocal02"); + String runString = null; + try { + // (0) == 5 + runString = "(0)"; + if (5 != jtt.threads.ThreadLocal02.test(0)) { + fail(runString); + return; + } + // (1) == 6 + runString = "(1)"; + if (6 != jtt.threads.ThreadLocal02.test(1)) { + fail(runString); + return; + } + // (2) == 7 + runString = "(2)"; + if (7 != jtt.threads.ThreadLocal02.test(2)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_ThreadLocal03() { + begin("jtt.threads.ThreadLocal03"); + String runString = null; + try { + // (0) == 0 + runString = "(0)"; + if (0 != jtt.threads.ThreadLocal03.test(0)) { + fail(runString); + return; + } + // (1) == 15 + runString = "(1)"; + if (15 != jtt.threads.ThreadLocal03.test(1)) { + fail(runString); + return; + } + // (2) == 31 + runString = "(2)"; + if (31 != jtt.threads.ThreadLocal03.test(2)) { + fail(runString); + return; + } + // (3) == 48 + runString = "(3)"; + if (48 != jtt.threads.ThreadLocal03.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Thread_currentThread01() { + begin("jtt.threads.Thread_currentThread01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.threads.Thread_currentThread01.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Thread_getState01() { + begin("jtt.threads.Thread_getState01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.threads.Thread_getState01.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Thread_getState02() { + begin("jtt.threads.Thread_getState02"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.threads.Thread_getState02.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Thread_holdsLock01() { + begin("jtt.threads.Thread_holdsLock01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.threads.Thread_holdsLock01.test(0)) { + fail(runString); + return; + } + // (1) == false + runString = "(1)"; + if (false != jtt.threads.Thread_holdsLock01.test(1)) { + fail(runString); + return; + } + // (2) == !java.lang.NullPointerException + try { + runString = "(2)"; + jtt.threads.Thread_holdsLock01.test(2); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.NullPointerException.class) { + fail(runString, e); + return; + } + } + // (3) == false + runString = "(3)"; + if (false != jtt.threads.Thread_holdsLock01.test(3)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Thread_isAlive01() { + begin("jtt.threads.Thread_isAlive01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.threads.Thread_isAlive01.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Thread_isInterrupted01() { + begin("jtt.threads.Thread_isInterrupted01"); + String runString = null; + try { + // (0) == false + runString = "(0)"; + if (false != jtt.threads.Thread_isInterrupted01.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Thread_isInterrupted02() { + begin("jtt.threads.Thread_isInterrupted02"); + String runString = null; + try { + // (0,0) == true + runString = "(0,0)"; + if (true != jtt.threads.Thread_isInterrupted02.test(0, 0)) { + fail(runString); + return; + } + // (1,500) == true + runString = "(1,500)"; + if (true != jtt.threads.Thread_isInterrupted02.test(1, 500)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Thread_isInterrupted03() { + begin("jtt.threads.Thread_isInterrupted03"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.threads.Thread_isInterrupted03.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Thread_isInterrupted04() { + begin("jtt.threads.Thread_isInterrupted04"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.threads.Thread_isInterrupted04.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Thread_isInterrupted05() { + begin("jtt.threads.Thread_isInterrupted05"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.threads.Thread_isInterrupted05.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Thread_join01() { + begin("jtt.threads.Thread_join01"); + String runString = null; + try { + // (0) == false + runString = "(0)"; + if (false != jtt.threads.Thread_join01.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Thread_join02() { + begin("jtt.threads.Thread_join02"); + String runString = null; + try { + // (0) == false + runString = "(0)"; + if (false != jtt.threads.Thread_join02.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Thread_join03() { + begin("jtt.threads.Thread_join03"); + String runString = null; + try { + // (0) == false + runString = "(0)"; + if (false != jtt.threads.Thread_join03.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Thread_new01() { + begin("jtt.threads.Thread_new01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.threads.Thread_new01.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.threads.Thread_new01.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.threads.Thread_new01.test(2)) { + fail(runString); + return; + } + // (3) == true + runString = "(3)"; + if (true != jtt.threads.Thread_new01.test(3)) { + fail(runString); + return; + } + // (4) == false + runString = "(4)"; + if (false != jtt.threads.Thread_new01.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Thread_new02() { + begin("jtt.threads.Thread_new02"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.threads.Thread_new02.test(0)) { + fail(runString); + return; + } + // (1) == true + runString = "(1)"; + if (true != jtt.threads.Thread_new02.test(1)) { + fail(runString); + return; + } + // (2) == true + runString = "(2)"; + if (true != jtt.threads.Thread_new02.test(2)) { + fail(runString); + return; + } + // (3) == true + runString = "(3)"; + if (true != jtt.threads.Thread_new02.test(3)) { + fail(runString); + return; + } + // (4) == false + runString = "(4)"; + if (false != jtt.threads.Thread_new02.test(4)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Thread_setPriority01() { + begin("jtt.threads.Thread_setPriority01"); + String runString = null; + try { + // (0) == !java.lang.IllegalArgumentException + try { + runString = "(0)"; + jtt.threads.Thread_setPriority01.test(0); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.IllegalArgumentException.class) { + fail(runString, e); + return; + } + } + // (1) == true + runString = "(1)"; + if (true != jtt.threads.Thread_setPriority01.test(1)) { + fail(runString); + return; + } + // (5) == true + runString = "(5)"; + if (true != jtt.threads.Thread_setPriority01.test(5)) { + fail(runString); + return; + } + // (10) == true + runString = "(10)"; + if (true != jtt.threads.Thread_setPriority01.test(10)) { + fail(runString); + return; + } + // (11) == !java.lang.IllegalArgumentException + try { + runString = "(11)"; + jtt.threads.Thread_setPriority01.test(11); + fail(runString); + return; + } catch (Throwable e) { + if (e.getClass() != java.lang.IllegalArgumentException.class) { + fail(runString, e); + return; + } + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Thread_sleep01() { + begin("jtt.threads.Thread_sleep01"); + String runString = null; + try { + // (10) == true + runString = "(10)"; + if (true != jtt.threads.Thread_sleep01.test(10)) { + fail(runString); + return; + } + // (20) == true + runString = "(20)"; + if (true != jtt.threads.Thread_sleep01.test(20)) { + fail(runString); + return; + } + // (100) == true + runString = "(100)"; + if (true != jtt.threads.Thread_sleep01.test(100)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Thread_start01() { + begin("jtt.threads.Thread_start01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.threads.Thread_start01.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_threads_Thread_yield01() { + begin("jtt.threads.Thread_yield01"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.threads.Thread_yield01.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_jdk_Class_getName() { + begin("jtt.jdk.Class_getName"); + String runString = null; + try { + // (0) == "java.lang.String" + runString = "(0)"; + if (!"java.lang.String".equals(jtt.jdk.Class_getName.test(0))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_jdk_EnumMap01() { + begin("jtt.jdk.EnumMap01"); + String runString = null; + try { + // (0) == "A" + runString = "(0)"; + if (!"A".equals(jtt.jdk.EnumMap01.test(0))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_jdk_EnumMap02() { + begin("jtt.jdk.EnumMap02"); + String runString = null; + try { + // (0) == "A" + runString = "(0)"; + if (!"A".equals(jtt.jdk.EnumMap02.test(0))) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_jdk_System_currentTimeMillis01() { + begin("jtt.jdk.System_currentTimeMillis01"); + String runString = null; + try { + // (0) == 1 + runString = "(0)"; + if (1 != jtt.jdk.System_currentTimeMillis01.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_jdk_System_currentTimeMillis02() { + begin("jtt.jdk.System_currentTimeMillis02"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.jdk.System_currentTimeMillis02.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_jdk_System_nanoTime01() { + begin("jtt.jdk.System_nanoTime01"); + String runString = null; + try { + // (0) == 1 + runString = "(0)"; + if (1 != jtt.jdk.System_nanoTime01.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_jdk_System_nanoTime02() { + begin("jtt.jdk.System_nanoTime02"); + String runString = null; + try { + // (0) == true + runString = "(0)"; + if (true != jtt.jdk.System_nanoTime02.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + + static void jtt_jdk_UnsafeAccess01() { + begin("jtt.jdk.UnsafeAccess01"); + String runString = null; + try { + // (0) == 42 + runString = "(0)"; + if (42 != jtt.jdk.UnsafeAccess01.test(0)) { + fail(runString); + return; + } + } catch (Throwable t) { + fail(runString, t); + return; + } + pass(); + } + // END GENERATED TEST RUNS + // Checkstyle: resume + +} diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/.settings/org.eclipse.jdt.core.prefs --- a/c1x4hotspotsrc/HotSpotVM/.settings/org.eclipse.jdt.core.prefs Mon Aug 02 15:44:38 2010 -0700 +++ b/c1x4hotspotsrc/HotSpotVM/.settings/org.eclipse.jdt.core.prefs Mon Aug 16 18:59:36 2010 -0700 @@ -1,4 +1,4 @@ -#Fri Jul 23 17:15:04 PDT 2010 +#Tue Aug 10 16:59:56 PDT 2010 eclipse.preferences.version=1 org.eclipse.jdt.core.builder.cleanOutputFolder=clean org.eclipse.jdt.core.builder.duplicateResourceTask=warning @@ -112,7 +112,7 @@ org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 @@ -120,7 +120,7 @@ org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 -org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=48 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/C1XHotSpotTests.java --- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/C1XHotSpotTests.java Mon Aug 02 15:44:38 2010 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ -package com.sun.hotspot.c1x; - -public class C1XHotSpotTests { - - public static int add(int a, int b) { - return a + b; - } -} diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/Compiler.java --- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/Compiler.java Mon Aug 02 15:44:38 2010 -0700 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/Compiler.java Mon Aug 16 18:59:36 2010 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved. + * Copyright (c) 2009-2010 Sun Microsystems, Inc. All rights reserved. * * Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is * described in this document. In particular, and without limitation, these intellectual property rights may include one @@ -17,18 +17,22 @@ */ package com.sun.hotspot.c1x; +import java.lang.reflect.Proxy; +import java.net.*; + import com.sun.c1x.*; import com.sun.c1x.target.amd64.*; import com.sun.cri.ci.*; import com.sun.cri.ri.*; import com.sun.cri.xir.*; +import com.sun.hotspot.c1x.logging.*; +import com.sun.hotspot.c1x.server.CompilationServer.ReplacingInputStream; +import com.sun.hotspot.c1x.server.CompilationServer.ReplacingOutputStream; /** - * - * @author Thomas Wuerthinger + * Singleton class holding the instance of the C1XCompiler. * - * Singleton class holding the instance of the C1XCompiler. - * + * @author Thomas Wuerthinger, Lukas Stadler */ public class Compiler { @@ -43,12 +47,23 @@ private static VMEntries vmEntries; + public static VMExits initializeServer(VMEntries entries) { + vmEntries = LoggingProxy.getProxy(VMEntries.class, entries); + vmExits = LoggingProxy.getProxy(VMExits.class, new VMExitsNative()); + return vmExits; + } + + private static VMEntries initializeClient(VMExits exits) { + vmEntries = new VMEntriesNative(); + vmExits = exits; + return vmEntries; + } + public static VMEntries getVMEntries() { if (vmEntries == null) { - System.out.println("getVMEntries"); try { vmEntries = LoggingProxy.getProxy(VMEntries.class, new VMEntriesNative()); - //vmEntries = new VMEntriesNative(); + // vmEntries = new VMEntriesNative(); } catch (Throwable t) { t.printStackTrace(); } @@ -60,10 +75,24 @@ public static VMExits getVMExits() { if (vmExits == null) { - System.out.println("getVMExits"); + String remote = System.getProperty("c1x.remote"); + assert theInstance == null; + assert vmEntries == null; try { - vmExits = LoggingProxy.getProxy(VMExits.class, new VMExitsNative()); - //vmExits = new VMExitsNative(); + if (remote != null) { + System.out.println("C1X compiler started in client/server mode, connection to server " + remote); + Socket socket = new Socket(remote, 1199); + ReplacingOutputStream output = new ReplacingOutputStream(socket.getOutputStream()); + ReplacingInputStream input = new ReplacingInputStream(socket.getInputStream()); + + InvocationSocket invocation = new InvocationSocket(output, input); + VMExits exits = (VMExits)Proxy.newProxyInstance(VMExits.class.getClassLoader(), new Class[] {VMExits.class}, invocation); + VMEntries entries = Compiler.initializeClient(exits); + invocation.setDelegate(entries); + } else { + vmExits = LoggingProxy.getProxy(VMExits.class, new VMExitsNative()); + // vmExits = new VMExitsNative(); + } } catch (Throwable t) { t.printStackTrace(); } @@ -84,10 +113,10 @@ runtime = new HotSpotRuntime(config); final int wordSize = 8; - final int stackFrameAlignment = 8; + final int stackFrameAlignment = 16; registerConfig = new HotSpotRegisterConfig(config); - target = new CiTarget(new AMD64(), registerConfig, true, wordSize, wordSize, wordSize, stackFrameAlignment, config.vmPageSize, wordSize, wordSize, config.codeEntryAlignment, true); - generator = new HotSpotXirGenerator(config, registerConfig); + target = new HotSpotTarget(new AMD64(), registerConfig, true, wordSize, wordSize, wordSize, stackFrameAlignment, config.vmPageSize, wordSize, wordSize, config.codeEntryAlignment, true); + generator = LoggingProxy.getProxy(RiXirGenerator.class, new HotSpotXirGenerator(config, target, registerConfig)); compiler = new C1XCompiler(runtime, target, generator); C1XOptions.setOptimizationLevel(3); @@ -97,6 +126,7 @@ C1XOptions.PrintCompilation = true; C1XOptions.GenAssertionCode = true; C1XOptions.DetailedAsserts = true; + C1XOptions.GenSpecialDivChecks = true; } public CiCompiler getCompiler() { diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/CompilerObject.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/CompilerObject.java Mon Aug 16 18:59:36 2010 -0700 @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2010 Sun Microsystems, Inc. All rights reserved. + * + * Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is + * described in this document. In particular, and without limitation, these intellectual property rights may include one + * or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent + * applications in the U.S. and in other countries. + * + * U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard + * license agreement and applicable provisions of the FAR and its supplements. + * + * Use is subject to license terms. Sun, Sun Microsystems, the Sun logo, Java and Solaris are trademarks or registered + * trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and + * are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. + * + * UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. + */ +package com.sun.hotspot.c1x; + +import java.io.*; + + +/** + * Marker interface for all HotSpot Ri... types. + * + * @author Lukas Stadler + */ +public interface CompilerObject extends Serializable { +} diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotConstantPool.java --- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotConstantPool.java Mon Aug 02 15:44:38 2010 -0700 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotConstantPool.java Mon Aug 16 18:59:36 2010 -0700 @@ -1,49 +1,67 @@ +/* + * Copyright (c) 2010 Sun Microsystems, Inc. All rights reserved. + * + * Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is + * described in this document. In particular, and without limitation, these intellectual property rights may include one + * or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent + * applications in the U.S. and in other countries. + * + * U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard + * license agreement and applicable provisions of the FAR and its supplements. + * + * Use is subject to license terms. Sun, Sun Microsystems, the Sun logo, Java and Solaris are trademarks or registered + * trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and + * are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. + * + * UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. + */ package com.sun.hotspot.c1x; -import com.sun.cri.ci.CiConstant; -import com.sun.cri.ri.RiConstantPool; -import com.sun.cri.ri.RiField; -import com.sun.cri.ri.RiMethod; -import com.sun.cri.ri.RiSignature; -import com.sun.cri.ri.RiType; +import com.sun.cri.ci.*; +import com.sun.cri.ri.*; -public class HotSpotConstantPool implements RiConstantPool { +/** + * Implementation of RiConstantPool for HotSpot. + * + * @author Thomas Wuerthinger, Lukas Stadler + */ +public class HotSpotConstantPool implements RiConstantPool, CompilerObject { - private final Class constantPoolHolder; + long vmId; - public HotSpotConstantPool(Class o) { - this.constantPoolHolder = o; + public HotSpotConstantPool(long vmId) { + this.vmId = vmId; } @Override public CiConstant encoding() { // TODO: Check if this is correct. - return CiConstant.forObject(constantPoolHolder); + return CiConstant.forObject(vmId); } @Override public Object lookupConstant(int cpi) { - return Compiler.getVMEntries().RiConstantPool_lookupConstant(constantPoolHolder, cpi); + return Compiler.getVMEntries().RiConstantPool_lookupConstant(vmId, cpi); } @Override public RiMethod lookupMethod(int cpi, int byteCode) { - return Compiler.getVMEntries().RiConstantPool_lookupMethod(constantPoolHolder, cpi, (byte) byteCode); + return Compiler.getVMEntries().RiConstantPool_lookupMethod(vmId, cpi, (byte) byteCode); } @Override public RiSignature lookupSignature(int cpi) { - return Compiler.getVMEntries().RiConstantPool_lookupSignature(constantPoolHolder, cpi); + return Compiler.getVMEntries().RiConstantPool_lookupSignature(vmId, cpi); } @Override public RiType lookupType(int cpi, int opcode) { - return Compiler.getVMEntries().RiConstantPool_lookupType(constantPoolHolder, cpi); + return Compiler.getVMEntries().RiConstantPool_lookupType(vmId, cpi); } @Override public RiField lookupField(int cpi, int opcode) { - return Compiler.getVMEntries().RiConstantPool_lookupField(constantPoolHolder, cpi); + return Compiler.getVMEntries().RiConstantPool_lookupField(vmId, cpi); } } diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotField.java --- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotField.java Mon Aug 02 15:44:38 2010 -0700 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotField.java Mon Aug 16 18:59:36 2010 -0700 @@ -1,3 +1,21 @@ +/* + * Copyright (c) 2009-2010 Sun Microsystems, Inc. All rights reserved. + * + * Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is + * described in this document. In particular, and without limitation, these intellectual property rights may include one + * or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent + * applications in the U.S. and in other countries. + * + * U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard + * license agreement and applicable provisions of the FAR and its supplements. + * + * Use is subject to license terms. Sun, Sun Microsystems, the Sun logo, Java and Solaris are trademarks or registered + * trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and + * are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. + * + * UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. + */ + package com.sun.hotspot.c1x; import com.sun.cri.ci.CiConstant; @@ -5,7 +23,12 @@ import com.sun.cri.ri.RiField; import com.sun.cri.ri.RiType; -public class HotSpotField implements RiField { +/** + * Represents a field in a HotSpot type. + * + * @author Thomas Wuerthinger, Lukas Stadler + */ +public class HotSpotField implements RiField, CompilerObject { private final RiType holder; private final String name; @@ -66,4 +89,9 @@ return offset; } + @Override + public String toString() { + return "HotSpotField<" + holder.name() + "." + name + ">"; + } + } diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotInternalObject.java --- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotInternalObject.java Mon Aug 02 15:44:38 2010 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ -package com.sun.hotspot.c1x; - -public class HotSpotInternalObject { - - private long id; - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + (int) (id ^ (id >>> 32)); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - HotSpotInternalObject other = (HotSpotInternalObject) obj; - if (id != other.id) - return false; - return true; - } - - @Override - public String toString() { - return "HotSpotInternalObject [id=" + id + "]"; - } - -} diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotMethod.java --- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotMethod.java Mon Aug 02 15:44:38 2010 -0700 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotMethod.java Mon Aug 16 18:59:36 2010 -0700 @@ -1,28 +1,53 @@ +/* + * Copyright (c) 2010 Sun Microsystems, Inc. All rights reserved. + * + * Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is + * described in this document. In particular, and without limitation, these intellectual property rights may include one + * or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent + * applications in the U.S. and in other countries. + * + * U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard + * license agreement and applicable provisions of the FAR and its supplements. + * + * Use is subject to license terms. Sun, Sun Microsystems, the Sun logo, Java and Solaris are trademarks or registered + * trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and + * are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. + * + * UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. + */ package com.sun.hotspot.c1x; -import java.lang.reflect.*; +import com.sun.cri.ri.*; -import com.sun.cri.ri.RiExceptionHandler; -import com.sun.cri.ri.RiMethod; -import com.sun.cri.ri.RiMethodProfile; -import com.sun.cri.ri.RiSignature; -import com.sun.cri.ri.RiType; +/** + * Implementation of RiMethod for HotSpot methods. + * + * @author Thomas Wuerthinger, Lukas Stadler + */ +public class HotSpotMethod implements RiMethod, CompilerObject { -public class HotSpotMethod implements RiMethod { + private final long vmId; + private final String name; - Method method; + // cached values private byte[] code; + private int accessFlags = -1; private int maxLocals = -1; private int maxStackSize = -1; private RiSignature signature; + private RiType holder; - public HotSpotMethod(Method method) { - this.method = method; + public HotSpotMethod(long vmId, String name) { + this.vmId = vmId; + this.name = name; } @Override public int accessFlags() { - return Compiler.getVMEntries().RiMethod_accessFlags(method); + if (accessFlags == -1) { + accessFlags = Compiler.getVMEntries().RiMethod_accessFlags(vmId); + } + return accessFlags; } @Override @@ -34,7 +59,7 @@ @Override public byte[] code() { if (code == null) { - code = Compiler.getVMEntries().RiMethod_code(method); + code = Compiler.getVMEntries().RiMethod_code(vmId); } return code; } @@ -53,7 +78,10 @@ @Override public RiType holder() { - return Compiler.getVMEntries().RiMethod_holder(method); + if (holder == null ) { + holder = Compiler.getVMEntries().RiMethod_holder(vmId); + } + return holder; } @Override @@ -100,15 +128,17 @@ @Override public int maxLocals() { - if (maxLocals == -1) - maxLocals = Compiler.getVMEntries().RiMethod_maxLocals(method); + if (maxLocals == -1) { + maxLocals = Compiler.getVMEntries().RiMethod_maxLocals(vmId); + } return maxLocals; } @Override public int maxStackSize() { - if (maxStackSize == -1) - maxStackSize = Compiler.getVMEntries().RiMethod_maxStackSize(method); + if (maxStackSize == -1) { + maxStackSize = Compiler.getVMEntries().RiMethod_maxStackSize(vmId); + } return maxStackSize; } @@ -120,14 +150,20 @@ @Override public String name() { - return Compiler.getVMEntries().RiMethod_name(method); + return name; } @Override public RiSignature signature() { - if (signature == null) - signature = new HotSpotSignature(Compiler.getVMEntries().RiMethod_signature(method)); + if (signature == null) { + signature = new HotSpotSignature(Compiler.getVMEntries().RiMethod_signature(vmId)); + } return signature; } + @Override + public String toString() { + return "HotSpotMethod<" + name + ">"; + } + } diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotProxy.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotProxy.java Mon Aug 16 18:59:36 2010 -0700 @@ -0,0 +1,86 @@ +/* + * Copyright (c) 2010 Sun Microsystems, Inc. All rights reserved. + * + * Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is + * described in this document. In particular, and without limitation, these intellectual property rights may include one + * or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent + * applications in the U.S. and in other countries. + * + * U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard + * license agreement and applicable provisions of the FAR and its supplements. + * + * Use is subject to license terms. Sun, Sun Microsystems, the Sun logo, Java and Solaris are trademarks or registered + * trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and + * are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. + * + * UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. + */ +package com.sun.hotspot.c1x; + +/** + * Provides methods to classify the HotSpot-internal identifiers. + * + * @author Lukas Stadler + */ +public class HotSpotProxy { + + private HotSpotProxy() { + } + + private enum CompilerObjectType { + // this enum needs to have the same values as the one in c1x_Compiler.hpp + STUB(0x100000000000000l), + METHOD(0x200000000000000l), + CLASS(0x300000000000000l), + SYMBOL(0x400000000000000l), + CONSTANT_POOL(0x500000000000000l), + CONSTANT(0x600000000000000l), + TYPE_MASK(0xf00000000000000l); + + public final long bits; + + CompilerObjectType(long bits) { + this.bits = bits; + } + } + + private static boolean isType(long id, CompilerObjectType type) { + return (id & CompilerObjectType.TYPE_MASK.bits) == type.bits; + } + + public static boolean isStub(long id) { + return isType(id, CompilerObjectType.STUB); + } + + public static boolean isMethod(long id) { + return isType(id, CompilerObjectType.METHOD); + } + + public static boolean isClass(long id) { + return isType(id, CompilerObjectType.CLASS); + } + + public static boolean isSymbol(long id) { + return isType(id, CompilerObjectType.SYMBOL); + } + + public static boolean isConstantPool(long id) { + return isType(id, CompilerObjectType.CONSTANT_POOL); + } + + public static boolean isConstant(long id) { + return isType(id, CompilerObjectType.CONSTANT_POOL); + } + + public static String toString(long id) { + CompilerObjectType type = null; + for (CompilerObjectType t : CompilerObjectType.values()) { + if ((id & CompilerObjectType.TYPE_MASK.bits) == t.bits) { + type = t; + } + } + long num = id & ~CompilerObjectType.TYPE_MASK.bits; + return type + " " + num; + } + +} diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotRegisterConfig.java --- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotRegisterConfig.java Mon Aug 02 15:44:38 2010 -0700 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotRegisterConfig.java Mon Aug 16 18:59:36 2010 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved. + * Copyright (c) 2009-2010 Sun Microsystems, Inc. All rights reserved. * * Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is * described in this document. In particular, and without limitation, these intellectual property rights may include one @@ -138,7 +138,24 @@ @Override public CiRegister getReturnRegister(CiKind kind) { - return AMD64.rax; + switch (kind) { + case Boolean: + case Byte: + case Char: + case Short: + case Int: + case Long: + case Object: + return AMD64.rax; + case Float: + case Double: + return AMD64.xmm0; + case Void: + case Illegal: + return null; + default: + throw new UnsupportedOperationException("no return register for type " + kind); + } } @Override diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotRuntime.java --- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotRuntime.java Mon Aug 02 15:44:38 2010 -0700 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotRuntime.java Mon Aug 16 18:59:36 2010 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved. + * Copyright (c) 2009-2010 Sun Microsystems, Inc. All rights reserved. * * Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is * described in this document. In particular, and without limitation, these intellectual property rights may include one @@ -41,11 +41,9 @@ import com.sun.max.asm.dis.DisassemblyPrinter; /** - * - * @author Thomas Wuerthinger + * CRI runtime implementation for the HotSpot VM. * - * CRI runtime implementation for the HotSpot VM. - * + * @author Thomas Wuerthinger, Lukas Stadler */ public class HotSpotRuntime implements RiRuntime { @@ -118,7 +116,7 @@ } for (DataPatch site : targetMethod.dataReferences) { if (site.pcOffset == pcOffset) { - return "{" + site.data + "}"; + return "{" + site.constant + "}"; } } return null; @@ -145,7 +143,7 @@ @Override public RiConstantPool getConstantPool(RiMethod method) { - return new HotSpotConstantPool(((HotSpotType) method.holder()).klass); + return ((HotSpotTypeResolved) method.holder()).constantPool(); } @Override @@ -155,7 +153,7 @@ } @Override - public RiType getRiType(Class< ? > javaClass) { + public RiType getRiType(Class javaClass) { // TODO Auto-generated method stub return null; } @@ -185,9 +183,8 @@ } @Override - public Object registerTargetMethod(CiTargetMethod targetMethod, String name) { - // TODO Auto-generated method stub - return null; + public Object registerGlobalStub(CiTargetMethod targetMethod, String name) { + return HotSpotTargetMethod.installStub(targetMethod, name); } @Override @@ -209,7 +206,7 @@ } @Override - public RiMethod getRiMethod(Constructor< ? > javaConstructor) { + public RiMethod getRiMethod(Constructor javaConstructor) { // TODO Auto-generated method stub return null; } diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotSignature.java --- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotSignature.java Mon Aug 02 15:44:38 2010 -0700 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotSignature.java Mon Aug 16 18:59:36 2010 -0700 @@ -1,13 +1,33 @@ +/* + * Copyright (c) 2009-2010 Sun Microsystems, Inc. All rights reserved. + * + * Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is + * described in this document. In particular, and without limitation, these intellectual property rights may include one + * or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent + * applications in the U.S. and in other countries. + * + * U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard + * license agreement and applicable provisions of the FAR and its supplements. + * + * Use is subject to license terms. Sun, Sun Microsystems, the Sun logo, Java and Solaris are trademarks or registered + * trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and + * are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. + * + * UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. + */ package com.sun.hotspot.c1x; -import java.util.ArrayList; -import java.util.List; +import java.util.*; + +import com.sun.cri.ci.*; +import com.sun.cri.ri.*; -import com.sun.cri.ci.CiKind; -import com.sun.cri.ri.RiSignature; -import com.sun.cri.ri.RiType; - -public class HotSpotSignature implements RiSignature { +/** + * Represents a method signature. + * + * @author Thomas Wuerthinger, Lukas Stadler + */ +public class HotSpotSignature implements RiSignature, CompilerObject { private final List arguments = new ArrayList(); private final String returnType; @@ -24,11 +44,6 @@ arguments.add(signature.substring(cur, nextCur)); cur = nextCur; } - StringBuilder str = new StringBuilder(); - for (String param : arguments) { - str.append(param).append(", "); - } - Logger.log("signature " + signature + ": " + str); cur++; int nextCur = parseSignature(signature, cur); @@ -40,11 +55,12 @@ } private int parseSignature(String signature, int cur) { + char first; + do { + first = signature.charAt(cur++); + } while(first == '['); - char first = signature.charAt(cur); switch (first) { - case '[': - return parseSignature(signature, cur + 1); case 'L': while (signature.charAt(cur) != ';') cur++; @@ -59,7 +75,6 @@ case 'J': case 'S': case 'Z': - cur++; break; default: assert false; @@ -74,9 +89,7 @@ @Override public CiKind argumentKindAt(int index) { - CiKind kind = CiKind.fromTypeString(arguments.get(index)); - System.out.println("argument kind: " + index + " is " + kind); - return kind; + return CiKind.fromTypeString(arguments.get(index)); } @Override @@ -92,9 +105,9 @@ @Override public RiType argumentTypeAt(int index, RiType accessingClass) { - Class accessor = null; - if (accessingClass instanceof HotSpotType) { - accessor = ((HotSpotType) accessingClass).klass; + long accessor = 0; + if (accessingClass instanceof HotSpotTypeResolved) { + accessor = (Long) ((HotSpotTypeResolved) accessingClass).getVmId(); } return Compiler.getVMEntries().RiSignature_lookupType(arguments.get(index), accessor); } @@ -111,11 +124,16 @@ @Override public RiType returnType(RiType accessingClass) { - Class accessor = null; - if (accessingClass instanceof HotSpotType) { - accessor = ((HotSpotType) accessingClass).klass; + long accessor = 0; + if (accessingClass instanceof HotSpotTypeResolved) { + accessor = (Long) ((HotSpotTypeResolved) accessingClass).getVmId(); } return Compiler.getVMEntries().RiSignature_lookupType(returnType, accessor); } + @Override + public String toString() { + return "HotSpotSignature<" + originalString + ">"; + } + } diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotTarget.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotTarget.java Mon Aug 16 18:59:36 2010 -0700 @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2010 Sun Microsystems, Inc. All rights reserved. + * + * Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is + * described in this document. In particular, and without limitation, these intellectual property rights may include one + * or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent + * applications in the U.S. and in other countries. + * + * U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard + * license agreement and applicable provisions of the FAR and its supplements. + * + * Use is subject to license terms. Sun, Sun Microsystems, the Sun logo, Java and Solaris are trademarks or registered + * trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and + * are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. + * + * UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. + */ +package com.sun.hotspot.c1x; + +import com.sun.cri.ci.*; +import com.sun.cri.ri.*; + +/** + * HotSpot-specific CiTarget that provides the correct stack frame size alignment. + * + * @author Lukas Stadler + */ +public class HotSpotTarget extends CiTarget { + + public HotSpotTarget(CiArchitecture arch, RiRegisterConfig registerConfig, boolean isMP, int spillSlotSize, int wordSize, int referenceSize, int stackAlignment, int pageSize, int cacheAlignment, + int heapAlignment, int codeAlignment, boolean inlineObjects) { + super(arch, registerConfig, isMP, spillSlotSize, wordSize, referenceSize, stackAlignment, pageSize, cacheAlignment, heapAlignment, codeAlignment, inlineObjects); + } + + @Override + public int alignFrameSize(int frameSize) { + // account for the stored rbp value + return super.alignFrameSize(frameSize + wordSize) - wordSize; + } +} diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotTargetMethod.java --- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotTargetMethod.java Mon Aug 02 15:44:38 2010 -0700 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotTargetMethod.java Mon Aug 16 18:59:36 2010 -0700 @@ -1,88 +1,83 @@ +/* + * Copyright (c) 2010 Sun Microsystems, Inc. All rights reserved. + * + * Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is + * described in this document. In particular, and without limitation, these intellectual property rights may include one + * or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent + * applications in the U.S. and in other countries. + * + * U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard + * license agreement and applicable provisions of the FAR and its supplements. + * + * Use is subject to license terms. Sun, Sun Microsystems, the Sun logo, Java and Solaris are trademarks or registered + * trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and + * are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. + * + * UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. + */ package com.sun.hotspot.c1x; -import java.lang.reflect.*; import java.util.*; import com.sun.cri.ci.*; -import com.sun.cri.ci.CiTargetMethod.*; -import com.sun.cri.ri.*; +import com.sun.cri.ci.CiTargetMethod.Site; -public class HotSpotTargetMethod { +/** + * CiTargetMethod augmented with HotSpot-specific information. + * + * @author Lukas Stadler + */ +public class HotSpotTargetMethod implements CompilerObject { - public final Method method; - private byte[] code; - private int codeSize; - private int frameSize; + public final CiTargetMethod targetMethod; + public final HotSpotMethod method; // used only for methods + public final String name; // used only for stubs - public int verifiedEntrypoint; - public int unverifiedEntrypoint; + public final Site[] sites; - public int relocationOffsets[]; - public Object relocationData[]; + private HotSpotTargetMethod(HotSpotMethod method, CiTargetMethod targetMethod) { + this.method = method; + this.targetMethod = targetMethod; + this.name = null; - private HotSpotTargetMethod(HotSpotVMConfig config, RiMethod method, CiTargetMethod targetMethod) { - this.method= ((HotSpotMethod) method).method; - code = targetMethod.targetCode(); - codeSize = targetMethod.targetCodeSize(); - frameSize = targetMethod.frameSize(); - verifiedEntrypoint = targetMethod.entrypointCodeOffsets.get(HotSpotRuntime.Entrypoints.VERIFIED); - unverifiedEntrypoint = targetMethod.entrypointCodeOffsets.get(HotSpotRuntime.Entrypoints.UNVERIFIED); + sites = getSortedSites(targetMethod); + } + + private HotSpotTargetMethod(CiTargetMethod targetMethod, String name) { + this.method = null; + this.targetMethod = targetMethod; + this.name = name; + + sites = getSortedSites(targetMethod); + } - Map relocations = new TreeMap(); - if (!targetMethod.dataReferences.isEmpty()) { - for (DataPatch patch : targetMethod.dataReferences) { - if (patch.data.kind == CiKind.Object) { - if (patch.data.asObject() instanceof RiType) { - relocations.put(patch.pcOffset, patch.data.asObject()); - } else { - throw new RuntimeException("unexpected data reference"); - } - } + private Site[] getSortedSites(CiTargetMethod target) { + List[] lists = new List[] {target.directCalls, target.indirectCalls, target.safepoints, target.dataReferences, target.exceptionHandlers, target.marks}; + int count = 0; + for (List list: lists) { + count += list.size(); + } + Site[] result = new Site[count]; + int pos = 0; + for (List list: lists) { + for (Object elem: list) { + result[pos++] = (Site)elem; } } - - if (!targetMethod.directCalls.isEmpty()) { - for (CiTargetMethod.Call call : targetMethod.directCalls) { - if (call.globalStubID instanceof Long) { - relocations.put(call.pcOffset, (Long)call.globalStubID); - } else if (call.globalStubID instanceof CiRuntimeCall) { - switch ((CiRuntimeCall) call.globalStubID) { - case Debug: - // relocations.put(call.pcOffset, config.debugStub); - System.out.println("debug call"); - break; - case UnwindException: - case RegisterFinalizer: - case HandleException: - case OSRMigrationEnd: - case JavaTimeMillis: - case JavaTimeNanos: - case ArithmethicLrem: - case ArithmeticLdiv: - case ArithmeticFrem: - case ArithmeticDrem: - case ArithmeticCos: - case ArithmeticTan: - case ArithmeticLog: - case ArithmeticLog10: - case ArithmeticSin: - default: - throw new RuntimeException("unexpected runtime call: " + call.globalStubID); - } - } + Arrays.sort(result, new Comparator() { + public int compare(Site s1, Site s2) { + return s1.pcOffset - s2.pcOffset; } - } - relocationOffsets = new int[relocations.size()]; - relocationData = new Object[relocations.size()]; - int i=0; - for( Map.Entry entry: relocations.entrySet()) { - relocationOffsets[i] = entry.getKey(); - relocationData[i++] = entry.getValue(); - } + }); + return result; } - public static void installCode(HotSpotVMConfig config, RiMethod method, CiTargetMethod targetMethod) { - Compiler.getVMEntries().installCode(new HotSpotTargetMethod(config, method, targetMethod)); + public static void installMethod(HotSpotMethod method, CiTargetMethod targetMethod) { + Compiler.getVMEntries().installMethod(new HotSpotTargetMethod(method, targetMethod)); + } + + public static Object installStub(CiTargetMethod targetMethod, String name) { + return Compiler.getVMEntries().installStub(new HotSpotTargetMethod(targetMethod, name)); } } diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotType.java --- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotType.java Mon Aug 02 15:44:38 2010 -0700 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotType.java Mon Aug 16 18:59:36 2010 -0700 @@ -1,135 +1,29 @@ -package com.sun.hotspot.c1x; - -import com.sun.cri.ci.CiConstant; -import com.sun.cri.ci.CiKind; -import com.sun.cri.ri.*; - -public class HotSpotType implements RiType { - - // do not query this class object directly, use the VMEntries methods instead! - // (otherwise this query won't be recorded correctly) - final Class klass; - - public HotSpotType(Class klass) { - this.klass = klass; - assert klass != null; - } - - @Override - public int accessFlags() { - // TODO Auto-generated method stub - return 0; - } - - @Override - public RiType arrayOf() { - // TODO Auto-generated method stub - return null; - } - - @Override - public RiType componentType() { - // TODO Auto-generated method stub - return null; - } - - @Override - public RiType exactType() { - // TODO Auto-generated method stub - return null; - } - - @Override - public CiConstant getEncoding(Representation r) { - // TODO Auto-generated method stub - return null; - } - - @Override - public CiKind getRepresentationKind(Representation r) { - return CiKind.Object; - } - - @Override - public boolean hasFinalizableSubclass() { - // TODO Auto-generated method stub - return false; - } - - @Override - public boolean hasFinalizer() { - // TODO Auto-generated method stub - return false; - } - - @Override - public boolean hasSubclass() { - // TODO Auto-generated method stub - return false; - } - - @Override - public boolean isArrayClass() { - System.out.println("Checking for array class " + name()); - return Compiler.getVMEntries().RiType_isArrayClass(klass); - } - - @Override - public boolean isInitialized() { - // TODO Auto-generated method stub - return false; - } - - @Override - public boolean isInstance(Object obj) { - // TODO Auto-generated method stub - return false; - } - - @Override - public boolean isInstanceClass() { - return Compiler.getVMEntries().RiType_isInstanceClass(klass); - } - - @Override - public boolean isInterface() { - return Compiler.getVMEntries().RiType_isInterface(klass); - } - - @Override - public boolean isResolved() { - return true; - } - - @Override - public boolean isSubtypeOf(RiType other) { - // TODO Auto-generated method stub - return false; - } - - @Override - public Class javaClass() { - return klass; - } - - @Override - public CiKind kind() { - return CiKind.Object; - } - - @Override - public String name() { - return Compiler.getVMEntries().RiType_name(klass); - } - - @Override - public RiMethod resolveMethodImpl(RiMethod method) { - // TODO Auto-generated method stub - return null; - } - - public Class klass() { - return klass; - } - -} +/* + * Copyright (c) 2010 Sun Microsystems, Inc. All rights reserved. + * + * Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is + * described in this document. In particular, and without limitation, these intellectual property rights may include one + * or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent + * applications in the U.S. and in other countries. + * + * U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard + * license agreement and applicable provisions of the FAR and its supplements. + * + * Use is subject to license terms. Sun, Sun Microsystems, the Sun logo, Java and Solaris are trademarks or registered + * trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and + * are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. + * + * UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. + */ +package com.sun.hotspot.c1x; + +import com.sun.cri.ri.*; + +/** + * Common interface for all HotSpot RiType-implementations + * + * @author Lukas Stadler + */ +public interface HotSpotType extends RiType, CompilerObject { + +} diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotTypePrimitive.java --- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotTypePrimitive.java Mon Aug 02 15:44:38 2010 -0700 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotTypePrimitive.java Mon Aug 16 18:59:36 2010 -0700 @@ -1,11 +1,31 @@ +/* + * Copyright (c) 2010 Sun Microsystems, Inc. All rights reserved. + * + * Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is + * described in this document. In particular, and without limitation, these intellectual property rights may include one + * or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent + * applications in the U.S. and in other countries. + * + * U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard + * license agreement and applicable provisions of the FAR and its supplements. + * + * Use is subject to license terms. Sun, Sun Microsystems, the Sun logo, Java and Solaris are trademarks or registered + * trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and + * are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. + * + * UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. + */ package com.sun.hotspot.c1x; -import com.sun.cri.ci.CiConstant; -import com.sun.cri.ci.CiKind; -import com.sun.cri.ri.RiMethod; -import com.sun.cri.ri.RiType; +import com.sun.cri.ci.*; +import com.sun.cri.ri.*; -public class HotSpotTypePrimitive implements RiType { +/** + * Implementation of RiType for primitive HotSpot types. + * + * @author Thomas Wuerthinger, Lukas Stadler + */ +public class HotSpotTypePrimitive implements HotSpotType { private CiKind kind; @@ -110,7 +130,7 @@ } @Override - public Class< ? > javaClass() { + public Class javaClass() { return kind.toJavaClass(); } @@ -129,4 +149,9 @@ return null; } + @Override + public String toString() { + return "HotSpotTypePrimitive<" + kind + ">"; + } + } diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotTypeResolved.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotTypeResolved.java Mon Aug 16 18:59:36 2010 -0700 @@ -0,0 +1,175 @@ +/* + * Copyright (c) 2010 Sun Microsystems, Inc. All rights reserved. + * + * Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is + * described in this document. In particular, and without limitation, these intellectual property rights may include one + * or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent + * applications in the U.S. and in other countries. + * + * U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard + * license agreement and applicable provisions of the FAR and its supplements. + * + * Use is subject to license terms. Sun, Sun Microsystems, the Sun logo, Java and Solaris are trademarks or registered + * trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and + * are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. + * + * UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. + */ +package com.sun.hotspot.c1x; + +import com.sun.cri.ci.*; +import com.sun.cri.ri.*; + +/** + * Implementation of RiType for resolved non-primitive HotSpot classes. + * + * @author Thomas Wuerthinger, Lukas Stadler + */ +public class HotSpotTypeResolved implements HotSpotType { + + private final long vmId; + + private final String name; + + // cached values + private Boolean isArrayClass; + private Boolean isInstanceClass; + private Boolean isInterface; + + public HotSpotTypeResolved(long vmId, String name) { + this.vmId = vmId; + this.name = name; + } + + @Override + public int accessFlags() { + // TODO Auto-generated method stub + return 0; + } + + @Override + public RiType arrayOf() { + // TODO Auto-generated method stub + return null; + } + + @Override + public RiType componentType() { + // TODO Auto-generated method stub + return null; + } + + @Override + public RiType exactType() { + // TODO Auto-generated method stub + return null; + } + + @Override + public CiConstant getEncoding(Representation r) { + // TODO Auto-generated method stub + return null; + } + + @Override + public CiKind getRepresentationKind(Representation r) { + return CiKind.Object; + } + + @Override + public boolean hasFinalizableSubclass() { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean hasFinalizer() { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean hasSubclass() { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean isArrayClass() { + if (isArrayClass == null) + isArrayClass = Compiler.getVMEntries().RiType_isArrayClass(vmId); + return isArrayClass; + } + + @Override + public boolean isInitialized() { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean isInstance(Object obj) { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean isInstanceClass() { + if (isInstanceClass == null) + isInstanceClass = Compiler.getVMEntries().RiType_isInstanceClass(vmId); + return isInstanceClass; + } + + @Override + public boolean isInterface() { + if (isInterface == null) + isInterface = Compiler.getVMEntries().RiType_isInterface(vmId); + return isInterface; + } + + @Override + public boolean isResolved() { + return true; + } + + @Override + public boolean isSubtypeOf(RiType other) { + // TODO Auto-generated method stub + return false; + } + + @Override + public Class javaClass() { + throw new RuntimeException("javaClass not implemented"); + } + + @Override + public CiKind kind() { + return CiKind.Object; + } + + @Override + public String name() { + return name; + } + + @Override + public RiMethod resolveMethodImpl(RiMethod method) { + // TODO Auto-generated method stub + return null; + } + + @Override + public String toString() { + return "HotSpotType<" + name + ">"; + } + + public RiConstantPool constantPool() { + return Compiler.getVMEntries().RiType_constantPool(vmId); + } + + public long getVmId() { + return vmId; + } + +} diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotTypeUnresolved.java --- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotTypeUnresolved.java Mon Aug 02 15:44:38 2010 -0700 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotTypeUnresolved.java Mon Aug 16 18:59:36 2010 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved. + * Copyright (c) 2010 Sun Microsystems, Inc. All rights reserved. * * Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is * described in this document. In particular, and without limitation, these intellectual property rights may include one @@ -21,93 +21,111 @@ import com.sun.cri.ri.*; /** - * @author Thomas Wuerthinger + * Implementation of RiType for unresolved HotSpot classes. + * + * @author Thomas Wuerthinger, Lukas Stadler */ -public class HotSpotTypeUnresolved implements RiType { +public class HotSpotTypeUnresolved implements HotSpotType { public final String name; + private final long accessingClassVmId; /** * Creates a new unresolved type for a specified type descriptor. - * - * @param typeDescriptor the type's descriptor - * @param pool the constant pool containing the unresolved type reference - * @param cpi the index in {@code constantPool} of the unresolved type reference */ - public HotSpotTypeUnresolved(String name) { + public HotSpotTypeUnresolved(String name, long accessingClassVmId) { this.name = name; + this.accessingClassVmId = accessingClassVmId; } + @Override public String name() { return name; } - public Class< ? > javaClass() { + @Override + public Class javaClass() { throw unresolved("javaClass"); } + @Override public boolean hasSubclass() { throw unresolved("hasSubclass()"); } + @Override public boolean hasFinalizer() { throw unresolved("hasFinalizer()"); } + @Override public boolean hasFinalizableSubclass() { throw unresolved("hasFinalizableSubclass()"); } + @Override public boolean isInterface() { throw unresolved("isInterface()"); } + @Override public boolean isArrayClass() { throw unresolved("isArrayClass()"); } + @Override public boolean isInstanceClass() { throw unresolved("isInstanceClass()"); } + @Override public int accessFlags() { throw unresolved("accessFlags()"); } + @Override public boolean isResolved() { return false; } + @Override public boolean isInitialized() { throw unresolved("isInitialized()"); } + @Override public boolean isSubtypeOf(RiType other) { throw unresolved("isSubtypeOf()"); } + @Override public boolean isInstance(Object obj) { throw unresolved("isInstance()"); } + @Override public RiType componentType() { // TODO: Implement throw new UnsupportedOperationException(); } + @Override public RiType exactType() { throw unresolved("exactType()"); } + @Override public RiType arrayOf() { // TODO: Implement throw new UnsupportedOperationException(); } + @Override public RiMethod resolveMethodImpl(RiMethod method) { throw unresolved("resolveMethodImpl()"); } + @Override public CiKind kind() { // TODO: Check if this is correct. return CiKind.Object; @@ -129,15 +147,18 @@ @Override public String toString() { - return name() + " [unresolved]"; + return "HotSpotTypeUnresolved<" + name + ">"; } + @Override public CiConstant getEncoding(RiType.Representation r) { throw unresolved("getEncoding()"); } + @Override public CiKind getRepresentationKind(RiType.Representation r) { // TODO: Check if this is correct. return CiKind.Object; } + } diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotVMConfig.java --- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotVMConfig.java Mon Aug 02 15:44:38 2010 -0700 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotVMConfig.java Mon Aug 16 18:59:36 2010 -0700 @@ -17,12 +17,14 @@ */ package com.sun.hotspot.c1x; +import com.sun.cri.ci.*; + /** * Used to communicate configuration details, runtime offsets, etc. to c1x upon compileMethod. * * @author Lukas Stadler */ -public class HotSpotVMConfig { +public class HotSpotVMConfig implements CompilerObject { // os information, register layout, code generation, ... public boolean windowsOs; @@ -33,19 +35,45 @@ public int stackShadowPages; public int hubOffset; public int arrayLengthOffset; + public int[] arrayOffsets; + public int arrayClassElementOffset; // runtime stubs public long instanceofStub; public long debugStub; + public long resolveStaticCallStub; public void check() { assert vmPageSize >= 16; assert codeEntryAlignment > 0; assert stackShadowPages > 0; - assert instanceofStub != 0; - assert debugStub != 0; - System.out.println("Config::debugStub = " + Long.toHexString(debugStub)); - System.out.println("Config::instanceofStub = " + Long.toHexString(instanceofStub)); + } + + public int getArrayOffset(CiKind kind) { + return arrayOffsets[getKindNumber(kind)]; + } + + private int getKindNumber(CiKind kind) { + if (kind == CiKind.Boolean) + return 0; + else if (kind == CiKind.Byte) + return 1; + else if (kind == CiKind.Short) + return 2; + else if (kind == CiKind.Char) + return 3; + else if (kind == CiKind.Int) + return 4; + else if (kind == CiKind.Float) + return 5; + else if (kind == CiKind.Long) + return 6; + else if (kind == CiKind.Double) + return 7; + else if (kind == CiKind.Object) + return 8; + else + throw new RuntimeException(kind + " is not a Java kind"); } } diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotXirGenerator.java --- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotXirGenerator.java Mon Aug 02 15:44:38 2010 -0700 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotXirGenerator.java Mon Aug 16 18:59:36 2010 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved. + * Copyright (c) 2009-2010 Sun Microsystems, Inc. All rights reserved. * * Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is * described in this document. In particular, and without limitation, these intellectual property rights may include one @@ -17,37 +17,43 @@ */ package com.sun.hotspot.c1x; -import java.lang.reflect.Modifier; -import java.util.ArrayList; -import java.util.List; +import java.lang.reflect.*; +import java.util.*; import com.sun.c1x.target.amd64.*; -import com.sun.cri.ci.CiKind; -import com.sun.cri.ri.RiField; -import com.sun.cri.ri.RiMethod; -import com.sun.cri.ri.RiRegisterConfig; -import com.sun.cri.ri.RiType; +import com.sun.cri.ci.CiAddress.Scale; +import com.sun.cri.ci.*; +import com.sun.cri.ri.*; import com.sun.cri.ri.RiType.Representation; import com.sun.cri.xir.*; import com.sun.cri.xir.CiXirAssembler.*; /** * - * @author Thomas Wuerthinger - * + * @author Thomas Wuerthinger, Lukas Stadler */ -public class HotSpotXirGenerator extends RiXirGenerator { +public class HotSpotXirGenerator implements RiXirGenerator { + + // this needs to correspond to c1x_Compiler.hpp + private static final Integer MARK_VERIFIED_ENTRY = 1; + private static final Integer MARK_UNVERIFIED_ENTRY = 2; + private static final Integer MARK_STATIC_CALL_STUB = 1000; private final HotSpotVMConfig config; - private CiXirAssembler asm; + private final CiTarget target; private final RiRegisterConfig registerConfig; + private CiXirAssembler asm; + private XirTemplate[] emptyTemplates = new XirTemplate[CiKind.values().length]; + private XirTemplate[] arrayLoadTemplates = new XirTemplate[CiKind.values().length]; + private XirTemplate[] arrayStoreTemplates = new XirTemplate[CiKind.values().length]; private XirTemplate prologueTemplate; private XirTemplate staticPrologueTemplate; private XirTemplate epilogueTemplate; private XirTemplate arrayLengthTemplate; private XirTemplate exceptionObjectTemplate; + private XirTemplate invokeStaticTemplate; static class XirPair { @@ -60,15 +66,16 @@ } } - private XirPair[] putFieldTemplates; - private XirPair[] getFieldTemplates; - private XirPair[] putStaticFieldTemplates; - private XirPair[] getStaticFieldTemplates; + private XirPair[] putFieldTemplates = new XirPair[CiKind.values().length]; + private XirPair[] getFieldTemplates = new XirPair[CiKind.values().length]; + private XirPair[] putStaticFieldTemplates = new XirPair[CiKind.values().length]; + private XirPair[] getStaticFieldTemplates = new XirPair[CiKind.values().length]; private XirPair instanceofTemplate; private XirPair instanceofTemplateNonnull; - public HotSpotXirGenerator(HotSpotVMConfig config, RiRegisterConfig registerConfig) { + public HotSpotXirGenerator(HotSpotVMConfig config, CiTarget target, RiRegisterConfig registerConfig) { this.config = config; + this.target = target; this.registerConfig = registerConfig; } @@ -76,36 +83,27 @@ public List buildTemplates(CiXirAssembler asm) { this.asm = asm; - putFieldTemplates = new XirPair[CiKind.values().length]; - getFieldTemplates = new XirPair[CiKind.values().length]; - putStaticFieldTemplates = new XirPair[CiKind.values().length]; - getStaticFieldTemplates = new XirPair[CiKind.values().length]; - List templates = new ArrayList(); - for (int index = 0; index < CiKind.values().length; index++) { + for (CiKind kind : CiKind.JAVA_VALUES) { + int index = kind.ordinal(); - CiKind kind = CiKind.values()[index]; - - if (kind == CiKind.Float || kind == CiKind.Double) - continue; - - if (CiKind.values()[index] == CiKind.Void) { + if (kind == CiKind.Void) { asm.restart(CiKind.values()[index]); - emptyTemplates[index] = asm.finishTemplate("empty-" + CiKind.values()[index]); + emptyTemplates[index] = asm.finishTemplate("empty-" + kind); } else { asm.restart(); - XirOperand result = asm.createTemp("result", CiKind.values()[index]); - emptyTemplates[index] = asm.finishTemplate(result, "empty-" + CiKind.values()[index]); + XirOperand result = asm.createTemp("result", kind); + emptyTemplates[index] = asm.finishTemplate(result, "empty-" + kind); putFieldTemplates[index] = buildPutFieldTemplate(kind, kind == CiKind.Object, false); getFieldTemplates[index] = buildGetFieldTemplate(kind, false); putStaticFieldTemplates[index] = buildPutFieldTemplate(kind, kind == CiKind.Object, true); getStaticFieldTemplates[index] = buildGetFieldTemplate(kind, true); -// arrayLoadTemplates[index] = buildArrayLoad(kind, asm, true); -// arrayStoreTemplates[index] = buildArrayStore(kind, asm, true, kind == CiKind.Object, kind == CiKind.Object); -// newArrayTemplates[index] = buildNewArray(kind); + arrayLoadTemplates[index] = buildArrayLoad(kind, asm, true); + arrayStoreTemplates[index] = buildArrayStore(kind, asm, true, kind == CiKind.Object, kind == CiKind.Object); + // newArrayTemplates[index] = buildNewArray(kind); } - templates.add(emptyTemplates[index]); + // templates.add(emptyTemplates[index]); } prologueTemplate = buildPrologue(false); staticPrologueTemplate = buildPrologue(true); @@ -114,6 +112,7 @@ exceptionObjectTemplate = buildExceptionObject(); instanceofTemplate = buildInstanceof(false); instanceofTemplateNonnull = buildInstanceof(true); + invokeStaticTemplate = buildInvokeStatic(); return templates; } @@ -124,7 +123,7 @@ XirOperand temp = asm.createRegister("temp (rax)", CiKind.Int, AMD64.rax); asm.align(config.codeEntryAlignment); - asm.entrypoint(HotSpotRuntime.Entrypoints.UNVERIFIED); + asm.mark(MARK_UNVERIFIED_ENTRY); if (!staticMethod) { // TODO do some checking... asm.add(temp, temp, asm.i(1)); @@ -133,7 +132,7 @@ asm.align(config.codeEntryAlignment); } - asm.entrypoint(HotSpotRuntime.Entrypoints.VERIFIED); + asm.mark(MARK_VERIFIED_ENTRY); // stack banging asm.pstore(CiKind.Word, sp, asm.i(-config.stackShadowPages * config.vmPageSize), temp, true); asm.pushFrame(); @@ -175,13 +174,16 @@ if (isStatic) { asm.restart(kind); asm.shouldNotReachHere(); - /* - * XirParameter object = asm.createInputParameter("object", CiKind.Object); XirParameter guard = - * asm.createInputParameter("guard", CiKind.Object); XirOperand fieldOffset = asm.createTemp("fieldOffset", - * CiKind.Int); if (isStatic) { callRuntimeThroughStub(asm, "resolveGetStatic", fieldOffset, guard); } else - * { callRuntimeThroughStub(asm, "resolveGetField", fieldOffset, guard); } asm.pload(kind, result, object, - * fieldOffset, true); - */ + +// XirParameter object = asm.createInputParameter("object", CiKind.Object); +// XirParameter guard = asm.createInputParameter("guard", CiKind.Object); +// XirOperand fieldOffset = asm.createTemp("fieldOffset", CiKind.Int); +// if (isStatic) { +// callRuntimeThroughStub(asm, "resolveGetStatic", fieldOffset, guard); +// } else { +// callRuntimeThroughStub(asm, "resolveGetField", fieldOffset, guard); +// } +// asm.pload(kind, result, object, fieldOffset, true); unresolved = asm.finishTemplate("getfield<" + kind + ">-unresolved"); } else { @@ -210,14 +212,21 @@ // unresolved case asm.restart(CiKind.Void); asm.shouldNotReachHere(); - /* - * XirParameter object = asm.createInputParameter("object", CiKind.Object); XirParameter value = - * asm.createInputParameter("value", kind); XirParameter guard = asm.createInputParameter("guard", - * CiKind.Object); XirOperand fieldOffset = asm.createTemp("fieldOffset", CiKind.Int); if (isStatic) { - * callRuntimeThroughStub(asm, "resolvePutStatic", fieldOffset, guard); } else { callRuntimeThroughStub(asm, - * "resolvePutField", fieldOffset, guard); } asm.pstore(kind, object, fieldOffset, value, true); if - * (genWriteBarrier) { addWriteBarrier(asm, object, value); } - */ + +// XirParameter object = asm.createInputParameter("object", CiKind.Object); +// XirParameter value = asm.createInputParameter("value", kind); +// XirParameter guard = asm.createInputParameter("guard", CiKind.Object); +// XirOperand fieldOffset = asm.createTemp("fieldOffset", CiKind.Int); +// if (isStatic) { +// callRuntimeThroughStub(asm, "resolvePutStatic", fieldOffset, guard); +// } else { +// callRuntimeThroughStub(asm, "resolvePutField", fieldOffset, guard); +// } +// asm.pstore(kind, object, fieldOffset, value, true); +// if (genWriteBarrier) { +// addWriteBarrier(asm, object, value); +// } + unresolved = asm.finishTemplate("putfield<" + kind + ", " + genWriteBarrier + ">-unresolved"); } else { unresolved = null; @@ -262,12 +271,105 @@ */ asm.restart(CiKind.Boolean); XirParameter object = asm.createInputParameter("object", CiKind.Object); + System.out.println(object); asm.shouldNotReachHere(); unresolved = asm.finishTemplate("instanceof-leaf<" + nonnull + ">"); } return new XirPair(resolved, unresolved); } + private XirTemplate buildArrayStore(CiKind kind, CiXirAssembler asm, boolean genBoundsCheck, boolean genStoreCheck, boolean genWriteBarrier) { + asm.restart(CiKind.Void); + XirParameter array = asm.createInputParameter("array", CiKind.Object); + XirParameter index = asm.createInputParameter("index", CiKind.Int); + XirParameter value = asm.createInputParameter("value", kind); + XirOperand length = asm.createTemp("length", CiKind.Int); + XirOperand temp = asm.createTemp("temp", CiKind.Word); + XirOperand valueHub = null; + XirOperand compHub = null; + XirLabel store = asm.createInlineLabel("store"); + XirLabel failBoundsCheck = null; + XirLabel slowStoreCheck = null; + if (genBoundsCheck) { + // load the array length and check the index + failBoundsCheck = asm.createOutOfLineLabel("failBoundsCheck"); + asm.pload(CiKind.Int, length, array, asm.i(config.arrayLengthOffset), true); + asm.jugteq(failBoundsCheck, index, length); + } + if (genStoreCheck) { + slowStoreCheck = asm.createOutOfLineLabel("slowStoreCheck"); + asm.jeq(store, value, asm.o(null)); // first check if value is null + valueHub = asm.createTemp("valueHub", CiKind.Object); + compHub = asm.createTemp("compHub", CiKind.Object); + asm.pload(CiKind.Object, compHub, array, asm.i(config.hubOffset), !genBoundsCheck); + asm.pload(CiKind.Object, compHub, compHub, asm.i(config.arrayClassElementOffset), false); + asm.pload(CiKind.Object, valueHub, value, asm.i(config.hubOffset), false); + asm.jneq(slowStoreCheck, compHub, valueHub); // then check component hub matches value hub + } + asm.bindInline(store); + int elemSize = target.sizeInBytes(kind); + asm.pstore(kind, array, index, value, config.getArrayOffset(kind), Scale.fromInt(elemSize), !genBoundsCheck && !genStoreCheck); + if (genWriteBarrier) { + // addWriteBarrier(asm, array, value); + } + if (genBoundsCheck) { + asm.bindOutOfLine(failBoundsCheck); + asm.shouldNotReachHere(); + // callRuntimeThroughStub(asm, "throwArrayIndexOutOfBoundsException", null, array, index); + } + if (genStoreCheck) { + asm.bindOutOfLine(slowStoreCheck); + asm.push(valueHub); + asm.push(compHub); + asm.callRuntime(config.instanceofStub, null); + asm.pop(temp); + asm.pop(temp); + asm.jneq(store, temp, asm.w(0)); + asm.shouldNotReachHere(); + asm.jmp(store); + } + return asm.finishTemplate("arraystore<" + kind + ">"); + } + + private XirTemplate buildArrayLoad(CiKind kind, CiXirAssembler asm, boolean genBoundsCheck) { + XirOperand result = asm.restart(kind); + XirParameter array = asm.createInputParameter("array", CiKind.Object); + XirParameter index = asm.createInputParameter("index", CiKind.Int); + XirOperand length = asm.createTemp("length", CiKind.Int); + XirLabel fail = null; + if (genBoundsCheck) { + // load the array length and check the index + fail = asm.createOutOfLineLabel("fail"); + asm.pload(CiKind.Int, length, array, asm.i(config.arrayLengthOffset), true); + asm.jugteq(fail, index, length); + } + int elemSize = target.sizeInBytes(kind); + asm.pload(kind, result, array, index, config.getArrayOffset(kind), Scale.fromInt(elemSize), !genBoundsCheck); + if (genBoundsCheck) { + asm.bindOutOfLine(fail); + asm.shouldNotReachHere(); + // callRuntimeThroughStub(asm, "throwArrayIndexOutOfBoundsException", null, array, index); + } + return asm.finishTemplate("arrayload<" + kind + ">"); + } + + private XirTemplate buildInvokeStatic() { + asm.restart(); + XirParameter addr = asm.createConstantInputParameter("addr", CiKind.Word); + + XirLabel stub = asm.createOutOfLineLabel("staticCallStub"); + + asm.bindOutOfLine(stub); + XirOperand method = asm.createRegister("method", CiKind.Word, AMD64.rbx); + asm.mark(MARK_STATIC_CALL_STUB, XirMark.CALLSITE); + asm.mov(method, asm.w(0l)); + XirLabel dummy = asm.createOutOfLineLabel("dummy"); + asm.jmp(dummy); + asm.bindOutOfLine(dummy); + + return asm.finishTemplate(addr, "invokestatic"); + } + @Override public XirSnippet genArrayLength(XirSite site, XirArgument array) { return new XirSnippet(arrayLengthTemplate, array); @@ -275,12 +377,14 @@ @Override public XirSnippet genArrayLoad(XirSite site, XirArgument array, XirArgument index, XirArgument length, CiKind elementKind, RiType elementType) { - return new XirSnippet(emptyTemplates[elementKind.ordinal()]); + // TODO: emit different template if length is present + return new XirSnippet(arrayLoadTemplates[elementKind.ordinal()], array, index); } @Override public XirSnippet genArrayStore(XirSite site, XirArgument array, XirArgument index, XirArgument length, XirArgument value, CiKind elementKind, RiType elementType) { - return new XirSnippet(emptyTemplates[CiKind.Void.ordinal()]); + // TODO: emit different template if length is present + return new XirSnippet(arrayStoreTemplates[elementKind.ordinal()], array, index, value); } @Override @@ -361,7 +465,7 @@ @Override public XirSnippet genInvokeStatic(XirSite site, RiMethod method) { - return new XirSnippet(emptyTemplates[CiKind.Word.ordinal()]); + return new XirSnippet(invokeStaticTemplate, XirArgument.forWord(0)); } @Override @@ -396,10 +500,8 @@ @Override public XirSnippet genResolveClass(XirSite site, RiType type, Representation representation) { - System.out.println("genResolveClass " + type + ", " + representation); XirOperand result = asm.restart(CiKind.Object); if (type.isResolved()) { - System.out.println("resolved"); asm.mov(result, asm.o(type)); return new XirSnippet(asm.finishTemplate("resolve class")); } diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/InvocationSocket.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/InvocationSocket.java Mon Aug 16 18:59:36 2010 -0700 @@ -0,0 +1,138 @@ +/* + * Copyright (c) 2010 Sun Microsystems, Inc. All rights reserved. + * + * Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is + * described in this document. In particular, and without limitation, these intellectual property rights may include one + * or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent + * applications in the U.S. and in other countries. + * + * U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard + * license agreement and applicable provisions of the FAR and its supplements. + * + * Use is subject to license terms. Sun, Sun Microsystems, the Sun logo, Java and Solaris are trademarks or registered + * trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and + * are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. + * + * UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. + */ +package com.sun.hotspot.c1x; + +import java.io.*; +import java.lang.reflect.*; + +import com.sun.hotspot.c1x.logging.*; + +/** + * A java.lang.reflect proxy that communicates over a socket connection. + * + * Calling a method sends the method name and the parameters through the socket. Afterwards this class waits for a result. + * While waiting for a result three types of objects can arrive through the socket: a method invocation, a method result or an exception. + * Method invocation can thus be recursive. + * + * @author Lukas Stadler + */ +public class InvocationSocket implements InvocationHandler { + + private final ObjectOutputStream output; + private final ObjectInputStream input; + private Object delegate; + + public InvocationSocket(ObjectOutputStream output, ObjectInputStream input) { + this.output = output; + this.input = input; + } + + public void setDelegate(Object delegate) { + this.delegate = delegate; + } + + private static class Invocation implements Serializable { + + public String methodName; + public Object[] args; + + public Invocation(String methodName, Object[] args) { + this.methodName = methodName; + this.args = args; + } + } + + private static class Result implements Serializable { + + public Object result; + + public Result(Object result) { + this.result = result; + } + } + + @Override + public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { + try { + Logger.startScope("invoking remote " + method.getName()); + output.writeObject(new Invocation(method.getName(), args)); + output.flush(); + return waitForResult(); + } catch (Throwable t) { + t.printStackTrace(); + throw t; + } finally { + Logger.endScope(""); + } + } + + public Object waitForResult() throws IOException, ClassNotFoundException { + while (true) { + Object in = input.readObject(); + if (in instanceof Result) + return ((Result) in).result; + if (in instanceof RuntimeException) + throw (RuntimeException) in; + if (in instanceof Throwable) + throw new RuntimeException((Throwable) in); + + Invocation invoke = (Invocation) in; + Method method = null; + for (Method m : delegate.getClass().getDeclaredMethods()) { + if (invoke.methodName.equals(m.getName())) { + method = m; + break; + } + } + if (method == null) { + Exception e = new UnsupportedOperationException("unknown method " + invoke.methodName); + e.printStackTrace(); + output.writeObject(e); + output.flush(); + } else { + Object result; + try { + Logger.startScope("invoking local " + invoke.methodName); + if (invoke.args == null) { + result = method.invoke(delegate); + } else { + result = method.invoke(delegate, invoke.args); + } + result = new Result(result); + } catch (IllegalArgumentException e) { + System.out.println("error while invoking " + invoke.methodName); + e.getCause().printStackTrace(); + result = e.getCause(); + } catch (InvocationTargetException e) { + System.out.println("error while invoking " + invoke.methodName); + e.getCause().printStackTrace(); + result = e.getCause(); + } catch (IllegalAccessException e) { + System.out.println("error while invoking " + invoke.methodName); + e.getCause().printStackTrace(); + result = e.getCause(); + } finally { + Logger.endScope(""); + } + output.writeObject(result); + output.flush(); + } + } + } + +} diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/Logger.java --- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/Logger.java Mon Aug 02 15:44:38 2010 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,86 +0,0 @@ -package com.sun.hotspot.c1x; - -import java.lang.reflect.*; -import java.util.*; - -public class Logger { - - private static final boolean ENABLED = true; - private static final int SPACING = 2; - private static Deque openStack = new LinkedList(); - private static boolean open = false; - private static int level = 0; - - public static void log(String message) { - if (ENABLED) { - if (open) { - System.out.println("..."); - open = false; - } - System.out.print(space(level)); - System.out.println(message); - } - } - - public static void startScope(String message) { - if (ENABLED) { - if (open) { - System.out.println("..."); - open = false; - } - System.out.print(space(level)); - System.out.print(message); - openStack.push(open); - open = true; - level++; - } - } - - public static void endScope(String message) { - if (ENABLED) { - level--; - if (open) - System.out.println(message); - else - System.out.println(space(level) + "..." + message); - open = openStack.pop(); - } - } - - private static String[] spaces = new String[50]; - - private static String space(int count) { - assert count >= 0; - String result; - if (count >= spaces.length || spaces[count] == null) { - StringBuilder str = new StringBuilder(); - for (int i = 0; i < count * SPACING; i++) - str.append(' '); - result = str.toString(); - if (count < spaces.length) - spaces[count] = result; - } else { - result = spaces[count]; - } - return result; - } - - public static String pretty(Object value) { - if (value instanceof Method) { - return "method \"" + ((Method) value).getName() + "\""; - } else if (value instanceof Class) { - return "class \"" + ((Class) value).getSimpleName() + "\""; - } else if (value instanceof Void) { - return "void"; - } else if (value instanceof Integer) { - if ((Integer) value < 10) - return value.toString(); - return value + " (0x" + Integer.toHexString((Integer) value) + ")"; - } else if (value instanceof Long) { - if ((Long) value < 10) - return value + "l"; - return value + "l (0x" + Long.toHexString((Long) value) + "l)"; - } - return value == null ? "null" : value.toString(); - } -} diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/LoggingProxy.java --- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/LoggingProxy.java Mon Aug 02 15:44:38 2010 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,40 +0,0 @@ -package com.sun.hotspot.c1x; - -import java.lang.reflect.*; - -public class LoggingProxy implements InvocationHandler { - - private T delegate; - - public LoggingProxy(T delegate) { - this.delegate = delegate; - } - - @Override - public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { - int argCount = args == null ? 0 : args.length; - if (method.getParameterTypes().length != argCount) - throw new RuntimeException("wrong parameter count"); - StringBuilder str = new StringBuilder(); - str.append(method.getReturnType().getSimpleName() + " " + method.getDeclaringClass().getSimpleName() + "." + method.getName() + "("); - for (int i = 0; i < argCount; i++) { - str.append(i == 0 ? "" : ", "); - str.append(Logger.pretty(args[i])); - } - str.append(")"); - Logger.startScope(str.toString()); - final Object result; - if (args == null) { - result = method.invoke(delegate); - } else { - result = method.invoke(delegate, args); - } - Logger.endScope(" = " + Logger.pretty(result)); - return result; - } - - public static T getProxy(Class interf, T delegate) { - Object obj = Proxy.newProxyInstance(interf.getClassLoader(), new Class[] { interf}, new LoggingProxy(delegate)); - return interf.cast(obj); - } -} diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/VMEntries.java --- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/VMEntries.java Mon Aug 02 15:44:38 2010 -0700 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/VMEntries.java Mon Aug 16 18:59:36 2010 -0700 @@ -1,47 +1,69 @@ +/* + * Copyright (c) 2009-2010 Sun Microsystems, Inc. All rights reserved. + * + * Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is + * described in this document. In particular, and without limitation, these intellectual property rights may include one + * or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent + * applications in the U.S. and in other countries. + * + * U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard + * license agreement and applicable provisions of the FAR and its supplements. + * + * Use is subject to license terms. Sun, Sun Microsystems, the Sun logo, Java and Solaris are trademarks or registered + * trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and + * are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. + * + * UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. + */ + package com.sun.hotspot.c1x; -import java.lang.reflect.*; - +import com.sun.cri.ci.*; import com.sun.cri.ri.*; +/** + * Entries into the HotSpot VM from Java code. + * + * @author Thomas Wuerthinger, Lukas Stadler + */ public interface VMEntries { - public abstract byte[] RiMethod_code(Method methodOop); + public byte[] RiMethod_code(long vmId); - public abstract int RiMethod_maxStackSize(Method methodOop); + public int RiMethod_maxStackSize(long vmId); - public abstract int RiMethod_maxLocals(Method methodOop); + public int RiMethod_maxLocals(long vmId); - public abstract RiType RiMethod_holder(Method methodOop); + public RiType RiMethod_holder(long vmId); - public abstract String RiMethod_signature(Method methodOop); + public String RiMethod_signature(long vmId); - public abstract String RiMethod_name(Method methodOop); + public int RiMethod_accessFlags(long vmId); - public abstract int RiMethod_accessFlags(Method methodOop); + public RiType RiSignature_lookupType(String returnType, long accessingClassVmId); - public abstract RiType RiSignature_lookupType(String returnType, Class accessingClass); + public CiConstant RiConstantPool_lookupConstant(long vmId, int cpi); - public abstract Object RiConstantPool_lookupConstant(Class constantPoolHolder, int cpi); + public RiMethod RiConstantPool_lookupMethod(long vmId, int cpi, byte byteCode); - public abstract RiMethod RiConstantPool_lookupMethod(Class constantPoolHolder, int cpi, byte byteCode); + public RiSignature RiConstantPool_lookupSignature(long vmId, int cpi); - public abstract RiSignature RiConstantPool_lookupSignature(Class constantPoolHolder, int cpi); + public RiType RiConstantPool_lookupType(long vmId, int cpi); - public abstract RiType RiConstantPool_lookupType(Class constantPoolHolder, int cpi); + public RiField RiConstantPool_lookupField(long vmId, int cpi); - public abstract RiField RiConstantPool_lookupField(Class constantPoolHolder, int cpi); + public boolean RiType_isArrayClass(long vmId); - public abstract String RiType_name(Class klassOop); + public boolean RiType_isInstanceClass(long vmId); - public abstract boolean RiType_isArrayClass(Class klassOop); + public boolean RiType_isInterface(long vmId); - public abstract boolean RiType_isInstanceClass(Class klassOop); + public RiConstantPool RiType_constantPool(long vmId); - public abstract boolean RiType_isInterface(Class klassOop); + public void installMethod(HotSpotTargetMethod targetMethod); - public abstract void installCode(HotSpotTargetMethod targetMethod); + public long installStub(HotSpotTargetMethod targetMethod); - public abstract HotSpotVMConfig getConfiguration(); + public HotSpotVMConfig getConfiguration(); } \ No newline at end of file diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/VMEntriesNative.java --- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/VMEntriesNative.java Mon Aug 02 15:44:38 2010 -0700 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/VMEntriesNative.java Mon Aug 16 18:59:36 2010 -0700 @@ -1,65 +1,88 @@ +/* + * Copyright (c) 2009-2010 Sun Microsystems, Inc. All rights reserved. + * + * Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is + * described in this document. In particular, and without limitation, these intellectual property rights may include one + * or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent + * applications in the U.S. and in other countries. + * + * U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard + * license agreement and applicable provisions of the FAR and its supplements. + * + * Use is subject to license terms. Sun, Sun Microsystems, the Sun logo, Java and Solaris are trademarks or registered + * trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and + * are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. + * + * UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. + */ + package com.sun.hotspot.c1x; -import java.lang.reflect.*; - +import com.sun.cri.ci.*; import com.sun.cri.ri.*; +/** + * Entries into the HotSpot VM from Java code. + * + * @author Thomas Wuerthinger, Lukas Stadler + */ public class VMEntriesNative implements VMEntries { @Override - public native byte[] RiMethod_code(Method methodOop); + public native byte[] RiMethod_code(long vmId); @Override - public native int RiMethod_maxStackSize(Method methodOop); + public native int RiMethod_maxStackSize(long vmId); @Override - public native int RiMethod_maxLocals(Method methodOop); + public native int RiMethod_maxLocals(long vmId); @Override - public native RiType RiMethod_holder(Method methodOop); + public native RiType RiMethod_holder(long vmId); @Override - public native String RiMethod_signature(Method methodOop); + public native String RiMethod_signature(long vmId); @Override - public native String RiMethod_name(Method methodOop); + public native int RiMethod_accessFlags(long vmId); @Override - public native int RiMethod_accessFlags(Method methodOop); + public native RiType RiSignature_lookupType(String returnType, long accessingClassVmId); @Override - public native RiType RiSignature_lookupType(String returnType, Class accessingClass); + public native CiConstant RiConstantPool_lookupConstant(long vmId, int cpi); @Override - public native Object RiConstantPool_lookupConstant(Class constantPoolOop, int cpi); + public native RiMethod RiConstantPool_lookupMethod(long vmId, int cpi, byte byteCode); @Override - public native RiMethod RiConstantPool_lookupMethod(Class constantPoolOop, int cpi, byte byteCode); + public native RiSignature RiConstantPool_lookupSignature(long vmId, int cpi); @Override - public native RiSignature RiConstantPool_lookupSignature(Class constantPoolOop, int cpi); + public native RiType RiConstantPool_lookupType(long vmId, int cpi); @Override - public native RiType RiConstantPool_lookupType(Class constantPoolOop, int cpi); + public native RiField RiConstantPool_lookupField(long vmId, int cpi); @Override - public native RiField RiConstantPool_lookupField(Class constantPoolOop, int cpi); + public native boolean RiType_isArrayClass(long vmId); @Override - public native String RiType_name(Class klassOop); + public native boolean RiType_isInstanceClass(long vmId); @Override - public native boolean RiType_isArrayClass(Class klassOop); + public native boolean RiType_isInterface(long vmId); @Override - public native boolean RiType_isInstanceClass(Class klassOop); + public native RiConstantPool RiType_constantPool(long vmId); @Override - public native boolean RiType_isInterface(Class klassOop); + public native void installMethod(HotSpotTargetMethod targetMethod); @Override - public native void installCode(HotSpotTargetMethod targetMethod); + public native long installStub(HotSpotTargetMethod targetMethod); @Override public native HotSpotVMConfig getConfiguration(); + } diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/VMExits.java --- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/VMExits.java Mon Aug 02 15:44:38 2010 -0700 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/VMExits.java Mon Aug 16 18:59:36 2010 -0700 @@ -1,27 +1,48 @@ -package com.sun.hotspot.c1x; +/* + * Copyright (c) 2009-2010 Sun Microsystems, Inc. All rights reserved. + * + * Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is + * described in this document. In particular, and without limitation, these intellectual property rights may include one + * or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent + * applications in the U.S. and in other countries. + * + * U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard + * license agreement and applicable provisions of the FAR and its supplements. + * + * Use is subject to license terms. Sun, Sun Microsystems, the Sun logo, Java and Solaris are trademarks or registered + * trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and + * are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. + * + * UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. + */ -import java.lang.reflect.*; +package com.sun.hotspot.c1x; import com.sun.cri.ci.*; import com.sun.cri.ri.*; +/** + * Exits from the HotSpot VM into Java code. + * + * @author Thomas Wuerthinger, Lukas Stadler + */ public interface VMExits { - public abstract void compileMethod(Method method, int entry_bci); + public abstract void compileMethod(long methodVmId, String name, int entry_bci); - public abstract RiMethod createRiMethod(Method methodOop); + public abstract RiMethod createRiMethod(long vmId, String name); public abstract RiSignature createRiSignature(String signature); public abstract RiField createRiField(RiType holder, String name, RiType type, int offset); - public abstract RiType createRiType(Class klassOop); + public abstract RiType createRiType(long vmId, String name); public abstract RiType createRiTypePrimitive(int basicType); - public abstract RiType createRiTypeUnresolved(String name, Class accessingKlassOop); + public abstract RiType createRiTypeUnresolved(String name, long accessingClassVmId); - public abstract RiConstantPool createRiConstantPool(Class constantPoolOop); + public abstract RiConstantPool createRiConstantPool(long vmId); public abstract CiConstant createCiConstantInt(int value); @@ -31,6 +52,6 @@ public abstract CiConstant createCiConstantDouble(double value); - public abstract CiConstant createCiConstantObject(Object value); + public abstract CiConstant createCiConstantObject(long vmId); } \ No newline at end of file diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/VMExitsNative.java --- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/VMExitsNative.java Mon Aug 02 15:44:38 2010 -0700 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/VMExitsNative.java Mon Aug 16 18:59:36 2010 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved. + * Copyright (c) 2009-2010 Sun Microsystems, Inc. All rights reserved. * * Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is * described in this document. In particular, and without limitation, these intellectual property rights may include one @@ -18,10 +18,11 @@ package com.sun.hotspot.c1x; -import java.lang.reflect.*; +import java.io.*; import com.sun.cri.ci.*; import com.sun.cri.ri.*; +import com.sun.hotspot.c1x.logging.*; /** * Exits from the HotSpot VM into Java code. @@ -31,32 +32,31 @@ public class VMExitsNative implements VMExits { @Override - public void compileMethod(Method method, int entry_bci) { + public void compileMethod(long methodVmId, String name, int entry_bci) { try { + Logger.info("compiling " + name + " (" + methodVmId + ")"); Compiler compiler = Compiler.getInstance(); - HotSpotMethod riMethod = new HotSpotMethod(method); + HotSpotMethod riMethod = new HotSpotMethod(methodVmId, name); CiResult result = compiler.getCompiler().compileMethod(riMethod, null); if (result.bailout() != null) { - System.out.println("Bailout:"); - result.bailout().printStackTrace(); + StringWriter out = new StringWriter(); + result.bailout().printStackTrace(new PrintWriter(out)); + Logger.info("Bailout:\n" + out.toString()); } else { Logger.log("Compilation result: " + result.targetMethod()); - HotSpotTargetMethod.installCode(compiler.getConfig(), riMethod, result.targetMethod()); + HotSpotTargetMethod.installMethod(riMethod, result.targetMethod()); } } catch (Throwable t) { - System.out.println("Compilation interrupted:"); - t.printStackTrace(); - if (t instanceof RuntimeException) { - throw (RuntimeException) t; - } - throw new RuntimeException(t); + StringWriter out = new StringWriter(); + t.printStackTrace(new PrintWriter(out)); + Logger.info("Compilation interrupted:\n" + out.toString()); } } @Override - public RiMethod createRiMethod(Method method) { - RiMethod m = new HotSpotMethod(method); + public RiMethod createRiMethod(long vmId, String name) { + RiMethod m = new HotSpotMethod(vmId, name); return m; } @@ -71,8 +71,8 @@ } @Override - public RiType createRiType(Class klassOop) { - return new HotSpotType(klassOop); + public RiType createRiType(long vmId, String name) { + return new HotSpotTypeResolved(vmId, name); } @Override @@ -113,13 +113,13 @@ } @Override - public RiType createRiTypeUnresolved(String name, Class accessingKlassOop) { - return new HotSpotTypeUnresolved(name); + public RiType createRiTypeUnresolved(String name, long accessingClassVmId) { + return new HotSpotTypeUnresolved(name, accessingClassVmId); } @Override - public RiConstantPool createRiConstantPool(Class constantPoolOop) { - return new HotSpotConstantPool(constantPoolOop); + public RiConstantPool createRiConstantPool(long vmId) { + return new HotSpotConstantPool(vmId); } @Override @@ -143,7 +143,7 @@ } @Override - public CiConstant createCiConstantObject(Object value) { - return CiConstant.forObject(value); + public CiConstant createCiConstantObject(long vmId) { + return CiConstant.forObject(vmId); } } diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/logging/Logger.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/logging/Logger.java Mon Aug 16 18:59:36 2010 -0700 @@ -0,0 +1,150 @@ +/* + * Copyright (c) 2010 Sun Microsystems, Inc. All rights reserved. + * + * Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is + * described in this document. In particular, and without limitation, these intellectual property rights may include one + * or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent + * applications in the U.S. and in other countries. + * + * U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard + * license agreement and applicable provisions of the FAR and its supplements. + * + * Use is subject to license terms. Sun, Sun Microsystems, the Sun logo, Java and Solaris are trademarks or registered + * trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and + * are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. + * + * UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. + */ +package com.sun.hotspot.c1x.logging; + +import java.io.*; +import java.lang.reflect.*; +import java.util.*; +/** + * Scoped logging class used to display the call hierarchy of VMEntries/VMExits calls + * + * @author Lukas Stadler + */ +public class Logger { + + private static final boolean ENABLED = true; + private static final int SPACING = 4; + private static Deque openStack = new LinkedList(); + private static boolean open = false; + private static int level = 0; + + private final static PrintStream out; + + static { + PrintStream ps; + try { + ps = new PrintStream(new FileOutputStream("output.txt")); + } catch (FileNotFoundException e) { + e.printStackTrace(); + ps = null; + } + out = ps; + out.println("start: " + new Date()); + } + + public static void info(String message) { + log(message); + out.println(message); + out.flush(); + } + + public static void log(String message) { + if (ENABLED) { + for (String line : message.split("\n")) { + if (open) { + System.out.println("..."); + open = false; + } + System.out.print(space(level)); + System.out.println(line); + } + } + } + + public static void startScope(String message) { + if (ENABLED) { + if (open) { + System.out.println("..."); + open = false; + } + System.out.print(space(level)); + System.out.print(message); + openStack.push(open); + open = true; + level++; + } + } + + public static void endScope(String message) { + if (ENABLED) { + level--; + if (open) + System.out.println(message); + else + System.out.println(space(level) + "..." + message); + open = openStack.pop(); + } + } + + private static String[] spaces = new String[50]; + + private static String space(int count) { + assert count >= 0; + String result; + if (count >= spaces.length || spaces[count] == null) { + StringBuilder str = new StringBuilder(); + for (int i = 0; i < count * SPACING; i++) + str.append(' '); + result = str.toString(); + if (count < spaces.length) + spaces[count] = result; + } else { + result = spaces[count]; + } + return result; + } + + public static String pretty(Object value) { + if (value == null) { + return "null"; + } + + Class klass = value.getClass(); + if (value instanceof Void) { + return "void"; + } else if (value instanceof String) { + return "\"" + value + "\""; + } else if (value instanceof Method) { + return "method \"" + ((Method) value).getName() + "\""; + } else if (value instanceof Class) { + return "class \"" + ((Class) value).getSimpleName() + "\""; + } else if (value instanceof Integer) { + if ((Integer) value < 10) + return value.toString(); + return value + " (0x" + Integer.toHexString((Integer) value) + ")"; + } else if (value instanceof Long) { + if ((Long) value < 10) + return value + "l"; + return value + "l (0x" + Long.toHexString((Long) value) + "l)"; + } else if (klass.isArray()) { + StringBuilder str = new StringBuilder(); + int dimensions = 0; + while (klass.isArray()) { + dimensions++; + klass = klass.getComponentType(); + } + str.append(klass.getSimpleName()).append('[').append(Array.getLength(value)).append(']'); + for (int i = 1; i < dimensions; i++) { + str.append("[]"); + } + return str.toString(); + } + + return value.toString(); + } +} diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/logging/LoggingProxy.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/logging/LoggingProxy.java Mon Aug 16 18:59:36 2010 -0700 @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2010 Sun Microsystems, Inc. All rights reserved. + * + * Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is + * described in this document. In particular, and without limitation, these intellectual property rights may include one + * or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent + * applications in the U.S. and in other countries. + * + * U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard + * license agreement and applicable provisions of the FAR and its supplements. + * + * Use is subject to license terms. Sun, Sun Microsystems, the Sun logo, Java and Solaris are trademarks or registered + * trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and + * are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. + * + * UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. + */ +package com.sun.hotspot.c1x.logging; + +import java.lang.reflect.*; + +/** + * A java.lang.reflect proxy that hierarchically logs all method invocations along with their parameters and return values. + * + * @author Lukas Stadler + */ +public class LoggingProxy implements InvocationHandler { + + private T delegate; + + public LoggingProxy(T delegate) { + this.delegate = delegate; + } + + @Override + public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { + int argCount = args == null ? 0 : args.length; + if (method.getParameterTypes().length != argCount) + throw new RuntimeException("wrong parameter count"); + StringBuilder str = new StringBuilder(); + str.append(method.getReturnType().getSimpleName() + " " + method.getDeclaringClass().getSimpleName() + "." + method.getName() + "("); + for (int i = 0; i < argCount; i++) { + str.append(i == 0 ? "" : ", "); + str.append(Logger.pretty(args[i])); + } + str.append(")"); + Logger.startScope(str.toString()); + final Object result; + try { + if (args == null) { + result = method.invoke(delegate); + } else { + result = method.invoke(delegate, args); + } + } catch (InvocationTargetException e) { + Logger.endScope(" = Exception " + e.getMessage()); + throw e.getCause(); + } + Logger.endScope(" = " + Logger.pretty(result)); + return result; + } + + public static T getProxy(Class interf, T delegate) { + Object obj = Proxy.newProxyInstance(interf.getClassLoader(), new Class[] { interf}, new LoggingProxy(delegate)); + return interf.cast(obj); + } +} diff -r 3483ec571caf -r 760213a60e8b c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/server/CompilationServer.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/server/CompilationServer.java Mon Aug 16 18:59:36 2010 -0700 @@ -0,0 +1,138 @@ +/* + * Copyright (c) 2010 Sun Microsystems, Inc. All rights reserved. + * + * Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is + * described in this document. In particular, and without limitation, these intellectual property rights may include one + * or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent + * applications in the U.S. and in other countries. + * + * U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard + * license agreement and applicable provisions of the FAR and its supplements. + * + * Use is subject to license terms. Sun, Sun Microsystems, the Sun logo, Java and Solaris are trademarks or registered + * trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and + * are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. + * + * UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. + */ +package com.sun.hotspot.c1x.server; + +import java.io.*; +import java.lang.reflect.Proxy; +import java.net.*; +import java.rmi.registry.*; + +import javax.net.*; + +import com.sun.cri.ci.*; +import com.sun.cri.ci.CiDebugInfo.Frame; +import com.sun.cri.ri.*; +import com.sun.hotspot.c1x.*; +import com.sun.hotspot.c1x.Compiler; +import com.sun.hotspot.c1x.logging.*; + +/** + * Server side of the client/server compilation model. + * + * @author Lukas Stadler + */ +public class CompilationServer { + + private Registry registry; + private ServerSocket serverSocket; + private Socket socket; + private ObjectOutputStream output; + private ObjectInputStream input; + + public static void main(String[] args) throws Exception { + new CompilationServer().run(); + } + + public static class Container implements Serializable { + + public final Class clazz; + public final Object[] values; + + public Container(Class clazz, Object... values) { + this.clazz = clazz; + this.values = values; + } + } + + /** + * Replaces certain cir objects that cannot easily be made Serializable. + */ + public static class ReplacingOutputStream extends ObjectOutputStream { + + public ReplacingOutputStream(OutputStream out) throws IOException { + super(out); + enableReplaceObject(true); + } + + @Override + protected Object replaceObject(Object obj) throws IOException { + Class clazz = obj.getClass(); + if (clazz == CiConstant.class) { + CiConstant o = (CiConstant) obj; + return new Container(clazz, o.kind, o.boxedValue()); + } else if (clazz == CiDebugInfo.class) { + CiDebugInfo o = (CiDebugInfo)obj; + return new Container(clazz, o.codePos, o.frame, o.registerRefMap, o.frameRefMap); + } else if(clazz == CiCodePos.class) { + CiCodePos o = (CiCodePos)obj; + return new Container(clazz, o.caller, o.method, o.bci); + } + return obj; + } + } + + /** + * Replaces certain cir objects that cannot easily be made Serializable. + */ + public static class ReplacingInputStream extends ObjectInputStream { + + public ReplacingInputStream(InputStream in) throws IOException { + super(in); + enableResolveObject(true); + } + + @Override + protected Object resolveObject(Object obj) throws IOException { + if (obj instanceof Container) { + Container c = (Container)obj; + if( c.clazz == CiConstant.class) { + return CiConstant.forBoxed((CiKind) c.values[0], c.values[1]); + } else if (c.clazz == CiDebugInfo.class) { + return new CiDebugInfo((CiCodePos)c.values[0], (Frame)c.values[1], (byte[])c.values[2], (byte[])c.values[3]); + } else if (c.clazz == CiCodePos.class) { + return new CiCodePos((CiCodePos)c.values[0], (RiMethod)c.values[1], (Integer)c.values[2]); + } + throw new RuntimeException("unexpected container class"); + } + return obj; + } + } + + private void run() throws IOException, ClassNotFoundException { + serverSocket = ServerSocketFactory.getDefault().createServerSocket(1199); + while (true) { + try { + Logger.log("Compilation server ready, waiting for client to connect..."); + socket = serverSocket.accept(); + Logger.log("Connected to " + socket.getRemoteSocketAddress()); + output = new ReplacingOutputStream(socket.getOutputStream()); + input = new ReplacingInputStream(socket.getInputStream()); + + InvocationSocket invocation = new InvocationSocket(output, input); + VMEntries entries = (VMEntries) Proxy.newProxyInstance(VMEntries.class.getClassLoader(), new Class[] { VMEntries.class}, invocation); + VMExits exits = Compiler.initializeServer(entries); + invocation.setDelegate(exits); + + invocation.waitForResult(); + } catch (IOException e) { + e.printStackTrace(); + socket.close(); + } + } + } +} \ No newline at end of file diff -r 3483ec571caf -r 760213a60e8b src/cpu/x86/vm/c1_Runtime1_x86.cpp --- a/src/cpu/x86/vm/c1_Runtime1_x86.cpp Mon Aug 02 15:44:38 2010 -0700 +++ b/src/cpu/x86/vm/c1_Runtime1_x86.cpp Mon Aug 16 18:59:36 2010 -0700 @@ -1366,10 +1366,17 @@ __ movptr(rsi, Address(rsp, (klass_off) * VMRegImpl::stack_slot_size)); // subclass __ movptr(rax, Address(rsp, (sup_k_off) * VMRegImpl::stack_slot_size)); // superclass + Label success; Label miss; + if (UseC1X) { + // TODO this should really be within the XirSnippets + __ check_klass_subtype_fast_path(rsi, rax, rcx, &success, &miss, NULL); + }; + __ check_klass_subtype_slow_path(rsi, rax, rcx, rdi, NULL, &miss); // fallthrough on success: + __ bind(success); __ movptr(Address(rsp, (result_off) * VMRegImpl::stack_slot_size), 1); // result __ pop(rax); __ pop(rcx); diff -r 3483ec571caf -r 760213a60e8b src/share/vm/c1x/c1x_Compiler.cpp --- a/src/share/vm/c1x/c1x_Compiler.cpp Mon Aug 02 15:44:38 2010 -0700 +++ b/src/share/vm/c1x/c1x_Compiler.cpp Mon Aug 16 18:59:36 2010 -0700 @@ -31,7 +31,7 @@ void C1XCompiler::initialize() { if (_initialized) return; _initialized = true; - TRACE_C1X_1("initialize"); + TRACE_C1X_1("initialize"); JNIEnv *env = ((JavaThread *)Thread::current())->jni_environment(); jclass klass = env->FindClass("com/sun/hotspot/c1x/VMEntriesNative"); @@ -39,6 +39,8 @@ env->RegisterNatives(klass, VMEntries_methods, VMEntries_methods_count() ); check_pending_exception("Could not register natives"); + + compute_offsets(); } // Compilation entry point for methods @@ -50,9 +52,14 @@ ResourceMark rm; HandleMark hm; + C1XObjects::initializeObjects(); + CompilerThread::current()->set_compiling(true); - VMExits::compileMethod((methodOop)target->get_oop(), entry_bci); + methodOop method = (methodOop)target->get_oop(); + VMExits::compileMethod(C1XObjects::add(method), C1XObjects::toString(method->name(), THREAD), entry_bci); CompilerThread::current()->set_compiling(false); + + C1XObjects::cleanupLocalObjects(); } // Print compilation timers and statistics @@ -60,129 +67,128 @@ TRACE_C1X_1("print_timers"); } -oop C1XCompiler::get_RiType(oop name, klassOop accessingType, TRAPS) { - symbolOop klass = java_lang_String::as_symbol_or_null(name); - - if (klass == vmSymbols::byte_signature()) { - return VMExits::createRiTypePrimitive((int)T_BYTE, THREAD); - } else if (klass == vmSymbols::char_signature()) { - return VMExits::createRiTypePrimitive((int)T_CHAR, THREAD); - } else if (klass == vmSymbols::double_signature()) { - return VMExits::createRiTypePrimitive((int)T_DOUBLE, THREAD); - } else if (klass == vmSymbols::float_signature()) { - return VMExits::createRiTypePrimitive((int)T_FLOAT, THREAD); - } else if (klass == vmSymbols::int_signature()) { - return VMExits::createRiTypePrimitive((int)T_INT, THREAD); - } else if (klass == vmSymbols::long_signature()) { - return VMExits::createRiTypePrimitive((int)T_LONG, THREAD); - } else if (klass == vmSymbols::bool_signature()) { - return VMExits::createRiTypePrimitive((int)T_BOOLEAN, THREAD); - } - Handle classloader; - if (accessingType != NULL) { - classloader = accessingType->klass_part()->class_loader(); - } - klassOop resolved_type = SystemDictionary::resolve_or_null(klass, classloader, accessingType->klass_part()->protection_domain(), Thread::current()); - if (resolved_type != NULL) { - return VMExits::createRiType(resolved_type, THREAD); - } else { - return VMExits::createRiTypeUnresolved(klass, accessingType, THREAD); - } -} - oop C1XCompiler::get_RiType(ciType *type, klassOop accessor, TRAPS) { if (type->is_loaded()) { if (type->is_primitive_type()) { return VMExits::createRiTypePrimitive((int)type->basic_type(), THREAD); } - return VMExits::createRiType((klassOop)type->get_oop(), THREAD); + klassOop klass = (klassOop)type->get_oop(); + return VMExits::createRiType(C1XObjects::add(klass), C1XObjects::toString(klass->klass_part()->name(), THREAD), THREAD); } else { - return VMExits::createRiTypeUnresolved(((ciKlass *)type)->name()->get_symbolOop(), accessor, THREAD); + symbolOop name = ((ciKlass *)type)->name()->get_symbolOop(); + return VMExits::createRiTypeUnresolved(C1XObjects::toString(name, THREAD), C1XObjects::add(accessor), THREAD); } } oop C1XCompiler::get_RiField(ciField *field, TRAPS) { oop field_holder = get_RiType(field->holder(), NULL, CHECK_0); oop field_type = get_RiType(field->type(), NULL, CHECK_0); - symbolOop field_name = field->name()->get_symbolOop(); + Handle field_name = C1XObjects::toString(field->name()->get_symbolOop(), CHECK_0); int offset = field->offset(); // TODO: implement caching return VMExits::createRiField(field_holder, field_name, field_type, offset, THREAD); } -/* -oop C1XCompiler::get_RiMethod(ciMethod *method, TRAPS) { - methodOop m = (methodOop)method->get_oop(); - return get_RiMethod(m, THREAD); +// C1XObjects implementation + +GrowableArray
* C1XObjects::_stubs = NULL; +GrowableArray* C1XObjects::_localHandles = NULL; + +void C1XObjects::initializeObjects() { + if (_stubs == NULL) { + assert(_localHandles == NULL, "inconsistent state"); + _stubs = new(ResourceObj::C_HEAP) GrowableArray
(64, true); + _localHandles = new(ResourceObj::C_HEAP) GrowableArray(64, true); + } + assert(_localHandles->length() == 0, "invalid state"); +} + +void C1XObjects::cleanupLocalObjects() { + for (int i=0; i<_localHandles->length(); i++) { + JNIHandles::destroy_global(_localHandles->at(i)); + } + _localHandles->clear(); +} + +jlong C1XObjects::addStub(address stub) { + assert(!_stubs->contains(stub), "duplicate stub"); + return _stubs->append(stub) | STUB; } -oop C1XCompiler::get_RiMethod(methodOop m, TRAPS) { - // TODO: implement caching - return VMExits::createRiMethod(m, THREAD); +jlong C1XObjects::add(Handle obj, CompilerObjectType type) { + assert(!obj.is_null(), "cannot add NULL handle"); + int idx = -1; + for (int i=0; i<_localHandles->length(); i++) + if (JNIHandles::resolve_non_null(_localHandles->at(i)) == obj()) { + idx = i; + break; + } + if (idx = -1) { + if (JavaThread::current()->thread_state() == _thread_in_vm) { + idx = _localHandles->append(JNIHandles::make_global(obj)); + } else { + VM_ENTRY_MARK; + idx = _localHandles->append(JNIHandles::make_global(obj)); + } + } + return idx | type; +} + +address C1XObjects::getStub(jlong id) { + assert((id & TYPE_MASK) == STUB, "wrong id type, STUB expected"); + assert((id & ~TYPE_MASK) >= 0 && (id & ~TYPE_MASK) < _stubs->length(), "STUB index out of bounds"); + return _stubs->at(id & ~TYPE_MASK); +} + +oop C1XObjects::getObject(jlong id) { + assert((id & TYPE_MASK) != STUB, "wrong id type"); + assert((id & ~TYPE_MASK) >= 0 && (id & ~TYPE_MASK) < _localHandles->length(), "index out of bounds"); + return JNIHandles::resolve_non_null(_localHandles->at(id & ~TYPE_MASK)); } -oop C1XCompiler::get_RiType(klassOop klass, TRAPS) { - // TODO: implement caching - return VMExits::createRiType(klass, THREAD); -} - -oop C1XCompiler::get_RiConstantPool(constantPoolOop cp, TRAPS) { - // TODO: implement caching - return VMExits::createRiConstantPool(cp, THREAD); -} +static void compute_offset(int &dest_offset, klassOop klass_oop, const char* name, const char* signature) { + symbolOop name_symbol = SymbolTable::probe(name, strlen(name)); + symbolOop signature_symbol = SymbolTable::probe(signature, strlen(signature)); + assert(name_symbol != NULL, "symbol not found - class layout changed?"); + assert(signature_symbol != NULL, "symbol not found - class layout changed?"); -oop C1XCompiler::get_unresolved_RiType(symbolOop klass, klassOop accessingType, TRAPS) { - // TODO: implement caching - return VMExits::createRiTypeUnresolved(klass, accessingType, THREAD); -} -*/ - -// conversion internal objects -> reflected objects - -oop C1XObjects::getReflectedMethod(methodOop method, TRAPS) { - if (method->is_initializer()) { - return Reflection::new_constructor(method, CHECK_0); - } else { - return Reflection::new_method(method, UseNewReflection, false, CHECK_0); + instanceKlass* ik = instanceKlass::cast(klass_oop); + fieldDescriptor fd; + if (!ik->find_field(name_symbol, signature_symbol, &fd)) { + ResourceMark rm; + tty->print_cr("Invalid layout of %s at %s", ik->external_name(), name_symbol->as_C_string()); + fatal("Invalid layout of preloaded class"); } -} - -oop C1XObjects::getReflectedClass(klassOop klass) { - return klass->klass_part()->java_mirror(); + dest_offset = fd.offset(); } -oop C1XObjects::getReflectedSymbol(symbolOop symbol, TRAPS) { - return java_lang_String::create_from_symbol(symbol, THREAD)(); +// create the compute_class +#define START_CLASS(name) { klassOop k = SystemDictionary::name##_klass(); + +#define END_CLASS } + +#define FIELD(klass, name, signature) compute_offset(klass::_##name##_offset, k, #name, signature); +#define CHAR_FIELD(klass, name) FIELD(klass, name, "C") +#define INT_FIELD(klass, name) FIELD(klass, name, "I") +#define LONG_FIELD(klass, name) FIELD(klass, name, "J") +#define OOP_FIELD(klass, name, signature) FIELD(klass, name, signature) + + +void C1XCompiler::compute_offsets() { + COMPILER_CLASSES_DO(START_CLASS, END_CLASS, CHAR_FIELD, INT_FIELD, LONG_FIELD, OOP_FIELD) } -// conversion reflected objects -> internal objects - -methodOop C1XObjects::getInternalMethod(oop method) { - // copied from JNIEnv::FromReflectedMethod - oop mirror = NULL; - int slot = 0; +#define EMPTY0 +#define EMPTY1(x) +#define EMPTY2(x,y) +#define FIELD2(klass, name) int klass::_##name##_offset = 0; +#define FIELD3(klass, name, sig) FIELD2(klass, name) - if (method->klass() == SystemDictionary::reflect_Constructor_klass()) { - mirror = java_lang_reflect_Constructor::clazz(method); - slot = java_lang_reflect_Constructor::slot(method); - } else { - assert(method->klass() == SystemDictionary::reflect_Method_klass(), "wrong type"); - mirror = java_lang_reflect_Method::clazz(method); - slot = java_lang_reflect_Method::slot(method); - } - klassOop k = java_lang_Class::as_klassOop(mirror); - return instanceKlass::cast(k)->method_with_idnum(slot); -} - -klassOop C1XObjects::getInternalClass(oop klass) { - return java_lang_Class::as_klassOop(klass); -} - -symbolOop C1XObjects::getInternalSymbol(oop string) { - return java_lang_String::as_symbol_or_null(string); -} +COMPILER_CLASSES_DO(EMPTY1, EMPTY0, FIELD2, FIELD2, FIELD2, FIELD3) + + diff -r 3483ec571caf -r 760213a60e8b src/share/vm/c1x/c1x_Compiler.hpp --- a/src/share/vm/c1x/c1x_Compiler.hpp Mon Aug 02 15:44:38 2010 -0700 +++ b/src/share/vm/c1x/c1x_Compiler.hpp Mon Aug 16 18:59:36 2010 -0700 @@ -51,10 +51,18 @@ // Print compilation timers and statistics virtual void print_timers(); - static oop get_RiType(oop klass, klassOop accessingType, TRAPS); static oop get_RiType(ciType *klass, klassOop accessor, TRAPS); static oop get_RiField(ciField *ciField, TRAPS); + static void compute_offsets(); + + // this needs to correspond to HotSpotXirGenerator.java + enum MarkId { + MARK_VERIFIED_ENTRY = 1, + MARK_UNVERIFIED_ENTRY = 2, + MARK_STATIC_CALL_STUB = 1000 + }; + /* static oop get_RiMethod(ciMethod *ciMethod, TRAPS); static oop get_RiType(klassOop klass, TRAPS); @@ -66,25 +74,101 @@ class C1XObjects : public AllStatic { +private: + static GrowableArray
* _stubs; + static GrowableArray* _localHandles; + + static oop getObject(jlong id); + public: - static oop getReflectedMethod(methodOop method, TRAPS); - static oop getReflectedClass(klassOop klass); - static oop getReflectedSymbol(symbolOop symbol, TRAPS); + // this enum needs to have the same values as the one in HotSpotProxy.java + enum CompilerObjectType { + STUB = 0x100000000000000l, + METHOD = 0x200000000000000l, + CLASS = 0x300000000000000l, + SYMBOL = 0x400000000000000l, + CONSTANT_POOL = 0x500000000000000l, + CONSTANT = 0x600000000000000l, + TYPE_MASK = 0xf00000000000000l + }; - static methodOop getInternalMethod(oop method); - static klassOop getInternalClass(oop klass); - static symbolOop getInternalSymbol(oop string); + static void initializeObjects(); + static void cleanupLocalObjects(); + + static jlong addStub(address stub); + static jlong add(Handle obj, CompilerObjectType type); + template static jlong add(T obj); + + static address getStub(jlong id); + template static T get(jlong id); + + template static T toString(symbolOop symbol, TRAPS); + static symbolOop toSymbol(jstring string); +}; - static methodOop getInternalMethod(jobject method) { - return getInternalMethod(JNIHandles::resolve(method)); - } - static klassOop getInternalClass(jobject klass) { - return getInternalClass(JNIHandles::resolve(klass)); - } - static symbolOop getInternalSymbol(jobject string) { - return getInternalSymbol(JNIHandles::resolve(string)); - } -}; +template <> inline jlong C1XObjects::add(methodOop obj){ + assert(obj != NULL && obj->is_method(), "trying to add NULL or mistyped object"); + return add(Handle(obj), METHOD); +} +template <> inline jlong C1XObjects::add(klassOop obj) { + assert(obj != NULL && obj->is_klass(), "trying to add NULL or mistyped object"); + return add(Handle(obj), CLASS); +} +template <> inline jlong C1XObjects::add(symbolOop obj) { + assert(obj != NULL && obj->is_symbol(), "trying to add NULL or mistyped object"); + return add(Handle(obj), SYMBOL); +} +template <> inline jlong C1XObjects::add(constantPoolOop obj) { + assert(obj != NULL && obj->is_constantPool(), "trying to add NULL or mistyped object"); + return add(Handle(obj), CONSTANT_POOL); +} +template <> inline jlong C1XObjects::add(oop obj) { + assert(obj != NULL && obj->is_oop(), "trying to add NULL or mistyped object"); + return add(Handle(obj), CONSTANT); +} + +template <> inline methodOop C1XObjects::get(jlong id){ + assert((id & TYPE_MASK) == METHOD, "METHOD expected"); + assert(getObject(id)->is_method(), "methodOop expected"); + return (methodOop)getObject(id); +} +template <> inline klassOop C1XObjects::get(jlong id) { + assert((id & TYPE_MASK) == CLASS, "CLASS expected"); + assert(getObject(id)->is_klass(), "klassOop expected"); + return (klassOop)getObject(id); +} +template <> inline symbolOop C1XObjects::get(jlong id) { + assert((id & TYPE_MASK) == SYMBOL, "SYMBOL expected"); + assert(getObject(id)->is_symbol(), "symbolOop expected"); + return (symbolOop)getObject(id); +} +template <> inline constantPoolOop C1XObjects::get(jlong id) { + assert((id & TYPE_MASK) == CONSTANT_POOL, "CONSTANT_POOL expected"); + assert(getObject(id)->is_constantPool(), "constantPoolOop expected"); + return (constantPoolOop)getObject(id); +} +template <> inline oop C1XObjects::get(jlong id) { + assert((id & TYPE_MASK) == CONSTANT, "CONSTANT expected"); + assert(getObject(id)->is_oop(true), "oop expected"); + return (oop)getObject(id); +} + +template <> inline Handle C1XObjects::toString(symbolOop symbol, TRAPS) { + return java_lang_String::create_from_symbol(symbol, THREAD); +} +template <> inline oop C1XObjects::toString(symbolOop symbol, TRAPS) { + return toString(symbol, THREAD)(); +} +template <> inline jstring C1XObjects::toString(symbolOop symbol, TRAPS) { + return (jstring)JNIHandles::make_local(toString(symbol, THREAD)); +} +template <> inline jobject C1XObjects::toString(symbolOop symbol, TRAPS) { + return JNIHandles::make_local(toString(symbol, THREAD)); +} + +inline symbolOop C1XObjects::toSymbol(jstring string) { + return java_lang_String::as_symbol_or_null(JNIHandles::resolve(string)); +} // Tracing macros @@ -99,3 +183,123 @@ #define TRACE_C1X_3 if (TraceC1X >= 3) tty->print(" TraceC1X-3: "); if (TraceC1X >= 3) tty->print_cr #define TRACE_C1X_4 if (TraceC1X >= 4) tty->print(" TraceC1X-4: "); if (TraceC1X >= 4) tty->print_cr #define TRACE_C1X_5 if (TraceC1X >= 5) tty->print(" TraceC1X-5: "); if (TraceC1X >= 5) tty->print_cr + + +// defines the structure of the CiTargetMethod - classes +// this will generate classes with accessors similar to javaClasses.hpp + +#define COMPILER_CLASSES_DO(start_class, end_class, char_field, int_field, long_field, oop_field) \ + start_class(HotSpotTypeResolved) \ + long_field(HotSpotTypeResolved, vmId) \ + end_class \ + start_class(HotSpotMethod) \ + long_field(HotSpotMethod, vmId) \ + end_class \ + start_class(HotSpotTargetMethod) \ + oop_field(HotSpotTargetMethod, targetMethod, "Lcom/sun/cri/ci/CiTargetMethod;") \ + oop_field(HotSpotTargetMethod, method, "Lcom/sun/hotspot/c1x/HotSpotMethod;") \ + oop_field(HotSpotTargetMethod, name, "Ljava/lang/String;") \ + oop_field(HotSpotTargetMethod, sites, "[Lcom/sun/cri/ci/CiTargetMethod$Site;") \ + end_class \ + start_class(CiTargetMethod) \ + int_field(CiTargetMethod, frameSize) \ + oop_field(CiTargetMethod, targetCode, "[B") \ + int_field(CiTargetMethod, targetCodeSize) \ + int_field(CiTargetMethod, referenceRegisterCount) \ + end_class \ + start_class(CiTargetMethod_Site) \ + int_field(CiTargetMethod_Site, pcOffset) \ + end_class \ + start_class(CiTargetMethod_Call) \ + oop_field(CiTargetMethod_Call, runtimeCall, "Lcom/sun/cri/ci/CiRuntimeCall;") \ + oop_field(CiTargetMethod_Call, method, "Lcom/sun/cri/ri/RiMethod;") \ + oop_field(CiTargetMethod_Call, symbol, "Ljava/lang/String;") \ + oop_field(CiTargetMethod_Call, globalStubID, "Ljava/lang/Object;") \ + oop_field(CiTargetMethod_Call, debugInfo, "Lcom/sun/cri/ci/CiDebugInfo;") \ + oop_field(CiTargetMethod_Call, stackMap, "[B") \ + oop_field(CiTargetMethod_Call, registerMap, "[B") \ + end_class \ + start_class(CiTargetMethod_DataPatch) \ + oop_field(CiTargetMethod_DataPatch, constant, "Lcom/sun/cri/ci/CiConstant;") \ + end_class \ + start_class(CiTargetMethod_Safepoint) \ + oop_field(CiTargetMethod_Safepoint, debugInfo, "Lcom/sun/cri/ci/CiDebugInfo;") \ + end_class \ + start_class(CiTargetMethod_ExceptionHandler) \ + int_field(CiTargetMethod_ExceptionHandler, handlerPos) \ + oop_field(CiTargetMethod_ExceptionHandler, exceptionType, "Lcom/sun/cri/ri/RiType;")\ + end_class \ + start_class(CiTargetMethod_Mark) \ + oop_field(CiTargetMethod_Mark, id, "Ljava/lang/Object;") \ + oop_field(CiTargetMethod_Mark, references, "[Lcom/sun/cri/ci/CiTargetMethod$Mark;") \ + end_class \ + start_class(CiDebugInfo) \ + oop_field(CiDebugInfo, codePos, "Lcom/sun/cri/ci/CiCodePos;") \ + oop_field(CiDebugInfo, frame, "Lcom/sun/cri/ci/CiDebugInfo$Frame;") \ + oop_field(CiDebugInfo, registerRefMap, "[B") \ + oop_field(CiDebugInfo, frameRefMap, "[B") \ + end_class \ + start_class(CiDebugInfo_Frame) \ + oop_field(CiDebugInfo_Frame, caller, "Lcom/sun/cri/ci/CiDebugInfo$Frame;") \ + oop_field(CiDebugInfo_Frame, codePos, "Lcom/sun/cri/ci/CiCodePos;") \ + oop_field(CiDebugInfo_Frame, values, "[Lcom/sun/cri/ci/CiValue;") \ + int_field(CiDebugInfo_Frame, numLocals) \ + int_field(CiDebugInfo_Frame, numStack) \ + int_field(CiDebugInfo_Frame, numLocks) \ + end_class \ + start_class(CiCodePos) \ + oop_field(CiCodePos, caller, "Lcom/sun/cri/ci/CiCodePos;") \ + oop_field(CiCodePos, method, "Lcom/sun/cri/ri/RiMethod;") \ + int_field(CiCodePos, bci) \ + end_class \ + start_class(CiConstant) \ + oop_field(CiConstant, kind, "Lcom/sun/cri/ci/CiKind;") \ + oop_field(CiConstant, object, "Ljava/lang/Object;") \ + long_field(CiConstant, primitive) \ + end_class \ + start_class(CiKind) \ + char_field(CiKind, typeChar) \ + end_class \ + start_class(CiRuntimeCall) \ + end_class \ + start_class(RiMethod) \ + end_class \ + start_class(CiRegisterValue) \ + end_class \ + start_class(CiStackSlot) \ + end_class \ + /* end*/ + +#define START_CLASS(name) \ + class name : AllStatic { \ + private: \ + friend class C1XCompiler; \ + static void check(oop obj) { assert(obj != NULL, "NULL field access"); assert(obj->is_a(SystemDictionary::name##_klass()), "wrong class, " #name " expected"); } \ + static void compute_offsets(); \ + public: \ + static klassOop klass() { return SystemDictionary::name##_klass(); } + +#define END_CLASS }; + +#define FIELD(name, type, accessor) \ + static int _##name##_offset; \ + static type name(oop obj) { check(obj); return obj->accessor(_##name##_offset); } \ + static type name(jobject obj) { check(JNIHandles::resolve(obj)); return JNIHandles::resolve(obj)->accessor(_##name##_offset); } \ + static void set_##name(oop obj, type x) { check(obj); obj->accessor##_put(_##name##_offset, x); } \ + static void set_##name(jobject obj, type x) { check(JNIHandles::resolve(obj)); JNIHandles::resolve(obj)->accessor##_put(_##name##_offset, x); } + +#define CHAR_FIELD(klass, name) FIELD(name, jchar, char_field) +#define INT_FIELD(klass, name) FIELD(name, jint, int_field) +#define LONG_FIELD(klass, name) FIELD(name, jlong, long_field) +#define OOP_FIELD(klass, name, signature) FIELD(name, oop, obj_field) + +COMPILER_CLASSES_DO(START_CLASS, END_CLASS, CHAR_FIELD, INT_FIELD, LONG_FIELD, OOP_FIELD) +#undef START_CLASS +#undef END_CLASS +#undef FIELD +#undef CHAR_FIELD +#undef INT_FIELD +#undef LONG_FIELD +#undef OOP_FIELD + + diff -r 3483ec571caf -r 760213a60e8b src/share/vm/c1x/c1x_VMEntries.cpp --- a/src/share/vm/c1x/c1x_VMEntries.cpp Mon Aug 02 15:44:38 2010 -0700 +++ b/src/share/vm/c1x/c1x_VMEntries.cpp Mon Aug 16 18:59:36 2010 -0700 @@ -27,103 +27,96 @@ # include "incls/_c1x_VMEntries.cpp.incl" -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiMethod_code -* Signature: (Ljava/lang/reflect/Method;)[B -*/ -JNIEXPORT jbyteArray JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1code(JNIEnv *env, jobject, jobject method) { - methodOop m = C1XObjects::getInternalMethod(method); - int code_size = m->code_size(); + + +// public byte[] RiMethod_code(HotSpotProxy method); +JNIEXPORT jbyteArray JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1code(JNIEnv *env, jobject, jlong vmId) { + methodOop method = C1XObjects::get(vmId); + int code_size = method->code_size(); jbyteArray result = env->NewByteArray(code_size); - env->SetByteArrayRegion(result, 0, code_size, (const jbyte *)m->code_base()); + env->SetByteArrayRegion(result, 0, code_size, (const jbyte *)method->code_base()); return result; } -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiMethod_maxStackSize -* Signature: (Ljava/lang/reflect/Method;)I -*/ -JNIEXPORT jint JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1maxStackSize(JNIEnv *, jobject, jobject method) { - return C1XObjects::getInternalMethod(method)->max_stack(); +// public int RiMethod_maxStackSize(HotSpotProxy method); +JNIEXPORT jint JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1maxStackSize(JNIEnv *, jobject, jlong vmId) { + return C1XObjects::get(vmId)->max_stack(); } -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiMethod_maxLocals -* Signature: (Ljava/lang/reflect/Method;)I -*/ -JNIEXPORT jint JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1maxLocals(JNIEnv *, jobject, jobject method) { - return C1XObjects::getInternalMethod(method)->max_locals(); +// public int RiMethod_maxLocals(HotSpotProxy method); +JNIEXPORT jint JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1maxLocals(JNIEnv *, jobject, jlong vmId) { + return C1XObjects::get(vmId)->max_locals(); } -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiMethod_holder -* Signature: (Ljava/lang/reflect/Method;)Lcom/sun/cri/ri/RiType; -*/ -JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1holder(JNIEnv *, jobject, jobject method) { +// public RiType RiMethod_holder(HotSpotProxy method); +JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1holder(JNIEnv *, jobject, jlong vmId) { VM_ENTRY_MARK - oop holder = VMExits::createRiType(C1XObjects::getInternalMethod(method)->method_holder(), THREAD); + klassOop klass = C1XObjects::get(vmId)->method_holder(); + jlong klassVmId = C1XObjects::add(klass); + Handle name = C1XObjects::toString(klass->klass_part()->name(), CHECK_NULL); + oop holder = VMExits::createRiType(klassVmId, name, THREAD); return JNIHandles::make_local(THREAD, holder); } -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiMethod_signature -* Signature: (Ljava/lang/reflect/Method;)Lcom/sun/cri/ri/RiSignature; -*/ -JNIEXPORT jstring JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1signature(JNIEnv *env, jobject, jobject method) { +// public String RiMethod_signature(HotSpotProxy method); +JNIEXPORT jstring JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1signature(JNIEnv *env, jobject, jlong vmId) { VM_ENTRY_MARK - return (jstring)JNIHandles::make_local(java_lang_String::create_from_symbol(C1XObjects::getInternalMethod(method)->signature(), Thread::current())()); + methodOop method = C1XObjects::get(vmId); + return C1XObjects::toString(method->signature(), THREAD); } -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiMethod_name -* Signature: (Ljava/lang/reflect/Method;)Ljava/lang/String; -*/ -JNIEXPORT jstring JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1name(JNIEnv *env, jobject, jobject method) { - VM_ENTRY_MARK - return (jstring)JNIHandles::make_local(java_lang_String::create_from_symbol(C1XObjects::getInternalMethod(method)->name(), Thread::current())()); +// public int RiMethod_accessFlags(HotSpotProxy method); +JNIEXPORT jint JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1accessFlags(JNIEnv *, jobject, jlong vmId) { + return C1XObjects::get(vmId)->access_flags().as_int(); } -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiMethod_accessFlags -* Signature: (Ljava/lang/reflect/Method;)I -*/ -JNIEXPORT jint JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1accessFlags(JNIEnv *, jobject, jobject method) { - return C1XObjects::getInternalMethod(method)->access_flags().as_int(); -} +// public RiType RiSignature_lookupType(String returnType, HotSpotProxy accessingClass); +JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiSignature_1lookupType(JNIEnv *, jobject, jstring jname, jlong accessingClassVmId) { + VM_ENTRY_MARK; + + symbolOop nameSymbol = C1XObjects::toSymbol(jname); + Handle name = JNIHandles::resolve(jname); -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiSignature_lookupType -* Signature: (Ljava/lang/String;Lcom/sun/cri/ri/RiType;)Lcom/sun/cri/ri/RiType; -*/ -JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiSignature_1lookupType(JNIEnv *, jobject, jstring name, jobject accessor) { - VM_ENTRY_MARK - klassOop k = C1XObjects::getInternalClass(accessor); - oop n = JNIHandles::resolve(name); - if (n == NULL) { - THROW_MSG_(vmSymbols::java_lang_NullPointerException(), "Name must not be null.", NULL); + oop result; + if (nameSymbol == vmSymbols::int_signature()) { + result = VMExits::createRiTypePrimitive((int)T_INT, THREAD); + } else if (nameSymbol == vmSymbols::long_signature()) { + result = VMExits::createRiTypePrimitive((int)T_LONG, THREAD); + } else if (nameSymbol == vmSymbols::bool_signature()) { + result = VMExits::createRiTypePrimitive((int)T_BOOLEAN, THREAD); + } else if (nameSymbol == vmSymbols::char_signature()) { + result = VMExits::createRiTypePrimitive((int)T_CHAR, THREAD); + } else if (nameSymbol == vmSymbols::short_signature()) { + result = VMExits::createRiTypePrimitive((int)T_SHORT, THREAD); + } else if (nameSymbol == vmSymbols::byte_signature()) { + result = VMExits::createRiTypePrimitive((int)T_BYTE, THREAD); + } else if (nameSymbol == vmSymbols::double_signature()) { + result = VMExits::createRiTypePrimitive((int)T_DOUBLE, THREAD); + } else if (nameSymbol == vmSymbols::float_signature()) { + result = VMExits::createRiTypePrimitive((int)T_FLOAT, THREAD); + } else { + Handle classloader; + Handle protectionDomain; + if (accessingClassVmId != 0) { + classloader = C1XObjects::get(accessingClassVmId)->klass_part()->class_loader(); + protectionDomain = C1XObjects::get(accessingClassVmId)->klass_part()->protection_domain(); + } + klassOop resolved_type = SystemDictionary::resolve_or_null(nameSymbol, classloader, protectionDomain, THREAD); + if (resolved_type != NULL) { + result = VMExits::createRiType(C1XObjects::add(resolved_type), name, THREAD); + } else { + result = VMExits::createRiTypeUnresolved(name, accessingClassVmId, THREAD); + } } - oop result = C1XCompiler::get_RiType(n, k, THREAD); + return JNIHandles::make_local(THREAD, result); } +// public Object RiConstantPool_lookupConstant(HotSpotProxy constantPool, int cpi); +JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiConstantPool_1lookupConstant(JNIEnv *env, jobject, jlong vmId, jint index) { + VM_ENTRY_MARK; -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiConstantPool_lookupConstant -* Signature: (Ljava/lang/Class;I)Ljava/lang/Object; -*/ -JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiConstantPool_1lookupConstant(JNIEnv *env, jobject, jobject cpHandle, jint index) { - VM_ENTRY_MARK; - klassOop klass = C1XObjects::getInternalClass(cpHandle); - constantPoolOop cp = instanceKlass::cast(klass)->constants(); + constantPoolOop cp = C1XObjects::get(vmId); oop result = NULL; constantTag tag = cp->tag_at(index); @@ -148,9 +141,9 @@ return NULL; } } - result = VMExits::createCiConstantObject(string, CHECK_0); + result = VMExits::createCiConstantObject(C1XObjects::add(string), CHECK_0); } else if (tag.is_klass() || tag.is_unresolved_klass()) { - + // TODO: Return RiType object ShouldNotReachHere(); // 4881222: allow ldc to take a class type @@ -167,7 +160,7 @@ } else if (tag.is_object()) { oop obj = cp->object_at(index); assert(obj->is_instance(), "must be an instance"); - result = VMExits::createCiConstantObject(obj, CHECK_0); + result = VMExits::createCiConstantObject(C1XObjects::add(obj), CHECK_0); } else { ShouldNotReachHere(); } @@ -175,102 +168,71 @@ return JNIHandles::make_local(THREAD, result); } -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiConstantPool_lookupMethod -* Signature: (Ljava/lang/Object;I)Lcom/sun/cri/ri/RiMethod; -*/ -JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiConstantPool_1lookupMethod(JNIEnv *env, jobject, jobject cpHandle, jint index, jbyte byteCode) { +// public RiMethod RiConstantPool_lookupMethod(HotSpotProxy constantPool, int cpi, byte byteCode +JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiConstantPool_1lookupMethod(JNIEnv *env, jobject, jlong vmId, jint index, jbyte byteCode) { VM_ENTRY_MARK; - klassOop klass = C1XObjects::getInternalClass(cpHandle); - constantPoolOop cp = instanceKlass::cast(klass)->constants(); -// assert(cp->tag_at(cp->cache() != NULL ? cp->cache()->entry_at(index)->constant_pool_index() : index).is_method(), "reading field from non-field cp index"); + + constantPoolOop cp = C1XObjects::get(vmId); + Bytecodes::Code bc = (Bytecodes::Code)(((int)byteCode) & 0xFF); ciInstanceKlass* loading_klass = (ciInstanceKlass *)CURRENT_ENV->get_object(cp->pool_holder()); - ciMethod *method = CURRENT_ENV->get_method_by_index(cp, index, bc, loading_klass); - return JNIHandles::make_local(THREAD, VMExits::createRiMethod((methodOop)method->get_oop(), THREAD)); + ciMethod *cimethod = CURRENT_ENV->get_method_by_index(cp, index, bc, loading_klass); + methodOop method = (methodOop)cimethod->get_oop(); + Handle name = C1XObjects::toString(method->name(), CHECK_NULL); + return JNIHandles::make_local(THREAD, VMExits::createRiMethod(C1XObjects::add(method), name, THREAD)); } -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiConstantPool_lookupSignature -* Signature: (Ljava/lang/Object;I)Lcom/sun/cri/ri/RiSignature; -*/ -JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiConstantPool_1lookupSignature(JNIEnv *env, jobject, jobject cpHandle, jint index) { +// public RiSignature RiConstantPool_lookupSignature(HotSpotProxy constantPool, int cpi); +JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiConstantPool_1lookupSignature(JNIEnv *env, jobject, jlong vmId, jint index) { fatal("currently unsupported"); return NULL; } -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiConstantPool_lookupType -* Signature: (Ljava/lang/Object;I)Lcom/sun/cri/ri/RiType; -*/ -JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiConstantPool_1lookupType(JNIEnv *env, jobject, jobject cpHandle, jint index) { +// public RiType RiConstantPool_lookupType(HotSpotProxy constantPool, int cpi); +JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiConstantPool_1lookupType(JNIEnv *env, jobject, jlong vmId, jint index) { VM_ENTRY_MARK; - klassOop cpKlass = C1XObjects::getInternalClass(cpHandle); - constantPoolOop cp = instanceKlass::cast(cpKlass)->constants(); - ciInstanceKlass* loading_klass = (ciInstanceKlass *)CURRENT_ENV->get_object(cpKlass); + + constantPoolOop cp = C1XObjects::get(vmId); + + ciInstanceKlass* loading_klass = (ciInstanceKlass *)CURRENT_ENV->get_object(cp->pool_holder()); bool is_accessible = false; ciKlass *klass = CURRENT_ENV->get_klass_by_index(cp, index, is_accessible, loading_klass); - return JNIHandles::make_local(THREAD, C1XCompiler::get_RiType(klass, cpKlass, THREAD)); + return JNIHandles::make_local(THREAD, C1XCompiler::get_RiType(klass, cp->klass(), THREAD)); } -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiConstantPool_lookupField -* Signature: (Ljava/lang/Object;I)Lcom/sun/cri/ri/RiField; -*/ -JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiConstantPool_1lookupField(JNIEnv *env, jobject, jobject cpHandle, jint index) { +// public RiField RiConstantPool_lookupField(HotSpotProxy constantPool, int cpi); +JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiConstantPool_1lookupField(JNIEnv *env, jobject, jlong vmId, jint index) { VM_ENTRY_MARK; - klassOop klass = C1XObjects::getInternalClass(cpHandle); - constantPoolOop cp = instanceKlass::cast(klass)->constants(); -// assert(cp->tag_at(cp->cache() != NULL ? cp->cache()->entry_at(index)->constant_pool_index() : index).is_field(), "reading field from non-field cp index"); + + constantPoolOop cp = C1XObjects::get(vmId); + ciInstanceKlass* loading_klass = (ciInstanceKlass *)CURRENT_ENV->get_object(cp->pool_holder()); ciField *field = CURRENT_ENV->get_field_by_index(loading_klass, index); return JNIHandles::make_local(THREAD, C1XCompiler::get_RiField(field, THREAD)); } -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiType_name -* Signature: (Ljava/lang/Class;)Ljava/lang/String; -*/ -JNIEXPORT jstring JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiType_1name(JNIEnv *env, jobject, jobject klass) { - VM_ENTRY_MARK - klassOop k = C1XObjects::getInternalClass(klass); - return (jstring)JNIHandles::make_local(java_lang_String::create_from_symbol(k->klass_part()->name(), Thread::current())()); +// public RiConstantPool RiType_constantPool(HotSpotProxy type); +JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiType_1constantPool(JNIEnv *, jobject, jlong vmId) { + VM_ENTRY_MARK; + + constantPoolOop constantPool = instanceKlass::cast(C1XObjects::get(vmId))->constants(); + return JNIHandles::make_local(VMExits::createRiConstantPool(C1XObjects::add(constantPool), THREAD)); } -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiType_isArrayClass -* Signature: (Ljava/lang/Class;)Z -*/ -JNIEXPORT jboolean JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiType_1isArrayClass(JNIEnv *, jobject, jobject klass) { - klassOop o = C1XObjects::getInternalClass(klass); - return o->klass_part()->oop_is_array(); +// public boolean RiType_isArrayClass(HotSpotProxy klass); +JNIEXPORT jboolean JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiType_1isArrayClass(JNIEnv *, jobject, jlong vmId) { + return C1XObjects::get(vmId)->klass_part()->oop_is_javaArray(); } -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiType_isInstanceClass -* Signature: (Ljava/lang/Class;)Z -*/ -JNIEXPORT jboolean JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiType_1isInstanceClass(JNIEnv *, jobject, jobject klass) { - klassOop o = C1XObjects::getInternalClass(klass); - return o->klass_part()->oop_is_instanceKlass(); +// public boolean RiType_isInstanceClass(HotSpotProxy klass); +JNIEXPORT jboolean JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiType_1isInstanceClass(JNIEnv *, jobject, jlong vmId) { + return C1XObjects::get(vmId)->klass_part()->oop_is_instance(); } -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiType_isInterface -* Signature: (Ljava/lang/Class;)Z -*/ -JNIEXPORT jboolean JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiType_1isInterface(JNIEnv *, jobject, jobject klass) { - klassOop o = C1XObjects::getInternalClass(klass); - return o->klass_part()->is_interface(); +// public boolean RiType_isInterface(HotSpotProxy klass); +JNIEXPORT jboolean JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiType_1isInterface(JNIEnv *, jobject, jlong vmId) { + return C1XObjects::get(vmId)->klass_part()->is_interface(); } @@ -287,149 +249,20 @@ void set_boolean(JNIEnv* env, jobject obj, const char* name, bool value) { env->SetBooleanField(obj, getFieldID(env, obj, name, "Z"), value); } void set_int(JNIEnv* env, jobject obj, const char* name, int value) { env->SetIntField(obj, getFieldID(env, obj, name, "I"), value); } void set_long(JNIEnv* env, jobject obj, const char* name, long value) { env->SetLongField(obj, getFieldID(env, obj, name, "J"), value); } +void set_object(JNIEnv* env, jobject obj, const char* name, jobject value) { env->SetObjectField(obj, getFieldID(env, obj, name, "Ljava/lang/Object;"), value); } +void set_int_array(JNIEnv* env, jobject obj, const char* name, jarray value) { env->SetObjectField(obj, getFieldID(env, obj, name, "[I"), value); } jboolean get_boolean(JNIEnv* env, jobject obj, const char* name) { return env->GetBooleanField(obj, getFieldID(env, obj, name, "Z")); } jint get_int(JNIEnv* env, jobject obj, const char* name) { return env->GetIntField(obj, getFieldID(env, obj, name, "I")); } +jlong get_long(JNIEnv* env, jobject obj, const char* name) { return env->GetLongField(obj, getFieldID(env, obj, name, "J")); } jobject get_object(JNIEnv* env, jobject obj, const char* name) { return env->GetObjectField(obj, getFieldID(env, obj, name, "Ljava/lang/Object;")); } jobject get_object(JNIEnv* env, jobject obj, const char* name, const char* sig) { return env->GetObjectField(obj, getFieldID(env, obj, name, sig)); } -// Helpful routine for computing field offsets at run time rather than hardcoding them -int compute_offset(klassOop klass_oop, const char* name, const char* sig) { - JavaThread* THREAD = JavaThread::current(); - fieldDescriptor fd; - instanceKlass* ik = instanceKlass::cast(klass_oop); - symbolOop name_symbol = SymbolTable::probe(name, (int)strlen(name)); - symbolOop signature_symbol = SymbolTable::probe(sig, (int)strlen(sig)); - if (name_symbol == NULL || signature_symbol == NULL || !ik->find_local_field(name_symbol, signature_symbol, &fd)) { - ResourceMark rm; - tty->print_cr("Invalid layout of %s at %s", ik->external_name(), name_symbol->as_C_string()); - fatal("Invalid layout of c1x4hotspot class"); - } - return fd.offset(); -} - - -class TypeHelper { -public: - jclass jniHotSpotType; - jclass jniHotSpotTargetMethod; - klassOop HotSpotType; - klassOop HotSpotTargetMethod; - int HotSpotType_klassOop; - - TypeHelper(JNIEnv* jniEnv) { - jniHotSpotType = jniEnv->FindClass("com/sun/hotspot/c1x/HotSpotType"); - jniHotSpotTargetMethod = jniEnv->FindClass("com/sun/hotspot/c1x/HotSpotTargetMethod"); - } - - void initialize() { - HotSpotType = java_lang_Class::as_klassOop(JNIHandles::resolve(jniHotSpotType)); - HotSpotTargetMethod = java_lang_Class::as_klassOop(JNIHandles::resolve(jniHotSpotTargetMethod)); - HotSpotType_klassOop = compute_offset(HotSpotType, "klass", "Ljava/lang/Class;"); - } -}; - - - - -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: installCode -* Signature: (Lcom/sun/hotspot/c1x/HotSpotTargetMethod;)V -*/ -JNIEXPORT void JNICALL Java_com_sun_hotspot_c1x_VMEntries_installCode(JNIEnv *jniEnv, jobject, jobject targetMethod) { - TypeHelper types(jniEnv); - - methodOop m = C1XObjects::getInternalMethod(get_object(jniEnv, targetMethod, "method", "Ljava/lang/reflect/Method;")); - jbyteArray code = (jbyteArray)get_object(jniEnv, targetMethod, "code", "[B"); - jint codeSize = get_int(jniEnv, targetMethod, "codeSize"); - jintArray relocationOffsetsObj = (jintArray)get_object(jniEnv, targetMethod, "relocationOffsets", "[I"); - jobjectArray relocationDataObj = (jobjectArray)get_object(jniEnv, targetMethod, "relocationData", "[Ljava/lang/Object;"); - jint frameSize = get_int(jniEnv, targetMethod, "frameSize"); - - assert(codeSize > 0 && codeSize <= ((arrayOop)JNIHandles::resolve(code))->length(), "invalid codeSize"); - - CodeOffsets offsets; - - // TODO: This is a hack.. Produce correct entries. - offsets.set_value(CodeOffsets::Exceptions, 0); - offsets.set_value(CodeOffsets::Deopt, 0); - - offsets.set_value(CodeOffsets::Entry, get_int(jniEnv, targetMethod, "unverifiedEntrypoint")); - offsets.set_value(CodeOffsets::Verified_Entry, get_int(jniEnv, targetMethod, "verifiedEntrypoint")); - - VM_ENTRY_MARK; - ciEnv *env = CURRENT_ENV; +BasicType basicTypes[] = { T_BOOLEAN, T_BYTE, T_SHORT, T_CHAR, T_INT, T_FLOAT, T_LONG, T_DOUBLE, T_OBJECT }; +int basicTypeCount = sizeof(basicTypes) / sizeof(BasicType); - types.initialize(); - - env->set_oop_recorder(new OopRecorder(env->arena())); - env->set_debug_info(new DebugInformationRecorder(env->oop_recorder())); - env->set_dependencies(new Dependencies(env)); - ciMethod *ciMethodObject = (ciMethod *)env->get_object(m); - - int relocationCount = relocationOffsetsObj == NULL ? 0 : ((arrayOop)JNIHandles::resolve(relocationOffsetsObj))->length(); - - CodeBuffer buffer("c1x nmethod", codeSize, relocationCount * relocInfo::length_limit); - buffer.initialize_oop_recorder(env->oop_recorder()); - - // copy the code into the newly created CodeBuffer - CodeSection* instructions = buffer.insts(); - memcpy(instructions->start(), ((arrayOop)JNIHandles::resolve(code))->base(T_BYTE), codeSize); - instructions->set_end(instructions->start() + codeSize); - - if (relocationCount > 0) { - jint* relocationOffsets = (jint*)((arrayOop)JNIHandles::resolve(relocationOffsetsObj))->base(T_INT); - oop* relocationObjects = (oop*)((arrayOop)JNIHandles::resolve(relocationDataObj))->base(T_OBJECT); - - for (int i=0; istart() + relocationOffsets[i]; - u_char inst_byte = *inst; - oop obj = relocationObjects[i]; - assert(obj != NULL, "NULL oop needn't be patched"); - - if (java_lang_boxing_object::is_instance(obj, T_LONG)) { - address operand = Assembler::locate_operand(inst, Assembler::call32_operand); - long dest = obj->long_field(java_lang_boxing_object::value_offset_in_bytes(T_LONG)); - long disp = dest - (long)(operand + 4); - assert(disp == (int) disp, "disp doesn't fit in 32 bits"); - *((int*)operand) = (int)disp; - - instructions->relocate(inst, runtime_call_Relocation::spec(), Assembler::call32_operand); - tty->print_cr("relocating (Long) %02x at %016x/%016x", inst_byte, inst, operand); - } else if (obj->is_a(types.HotSpotType)) { - address operand = Assembler::locate_operand(inst, Assembler::imm_operand); - - *((jobject*)operand) = JNIHandles::make_local(C1XObjects::getInternalClass(obj->obj_field(types.HotSpotType_klassOop))); - instructions->relocate(inst, oop_Relocation::spec_for_immediate(), Assembler::imm_operand); - tty->print_cr("relocating (HotSpotType) %02x at %016x/%016x", inst_byte, inst, operand); - } else { - tty->print_cr("unknown relocation type"); - } - } - } - - buffer.print(); - - address entry = instructions->start() + offsets.value(CodeOffsets::Verified_Entry); - - - OopMapSet oop_map_set; - ExceptionHandlerTable handler_table; - ImplicitExceptionTable inc_table; - { - ThreadToNativeFromVM t((JavaThread*)THREAD); - env->register_method(ciMethodObject, -1, &offsets, 0, &buffer, frameSize, &oop_map_set, &handler_table, &inc_table, NULL, env->comp_level(), false, false); - - } -} - -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: getConfiguration -* Signature: ()Lcom/sun/hotspot/c1x/HotSpotVMConfig; -*/ +// public HotSpotVMConfig getConfiguration(); JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_getConfiguration(JNIEnv *env, jobject) { tty->print_cr("Java_com_sun_hotspot_c1x_VMEntries_getConfiguration"); jclass klass = env->FindClass("com/sun/hotspot/c1x/HotSpotVMConfig"); @@ -445,32 +278,521 @@ set_int(env, config, "stackShadowPages", StackShadowPages); set_int(env, config, "hubOffset", oopDesc::klass_offset_in_bytes()); set_int(env, config, "arrayLengthOffset", arrayOopDesc::length_offset_in_bytes()); - set_long(env, config, "instanceofStub", (long)Runtime1::entry_for(Runtime1::slow_subtype_check_id)); - set_long(env, config, "debugStub", (long)warning); + + set_long(env, config, "instanceofStub", C1XObjects::addStub(Runtime1::entry_for(Runtime1::slow_subtype_check_id))); + set_long(env, config, "debugStub", C1XObjects::addStub((address)warning)); + set_long(env, config, "resolveStaticCallStub", C1XObjects::addStub(SharedRuntime::get_resolve_static_call_stub())); + jintArray arrayOffsets = env->NewIntArray(basicTypeCount); + for (int i=0; iSetIntArrayRegion(arrayOffsets, i, 1, &offset); + } + set_int_array(env, config, "arrayOffsets", arrayOffsets); + set_int(env, config, "arrayClassElementOffset", objArrayKlass::element_klass_offset_in_bytes() + sizeof(oopDesc)); return config; } +#define C1X_REGISTER_COUNT 32 + +VMReg get_hotspot_reg(jint c1x_reg) { + Register cpu_registers[] = { rax, rcx, rdx, rbx, rsp, rbp, rsi, rdi, r8, r9, r10, r11, r12, r13, r14, r15 }; + XMMRegister xmm_registers[] = { xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15 }; + + if (c1x_reg < 16) { + return cpu_registers[c1x_reg]->as_VMReg(); + } else { + assert(c1x_reg < C1X_REGISTER_COUNT, "invalid register number"); + return xmm_registers[c1x_reg - 16]->as_VMReg(); + } + +} + +static OopMap* create_oop_map(jint frame_size, jint parameter_count, oop debug_info) { + OopMap* map = new OopMap(frame_size, parameter_count); + arrayOop register_map = (arrayOop)CiDebugInfo::registerRefMap(debug_info); + arrayOop frame_map = (arrayOop)CiDebugInfo::frameRefMap(debug_info); + + jint register_count = VMRegImpl::stack2reg(0)->value(); + tty->print_cr("register count: %i", register_count); + + for (jint i=0; ibase(T_BYTE))[i / 8]; + bool is_oop = (byte & (1 << (i % 8))) != 0; + VMReg reg = get_hotspot_reg(i); + if (is_oop) { + map->set_oop(reg); + } else { + map->set_value(reg); + } + } + + for (jint i=0; ibase(T_BYTE))[i / 8]; + bool is_oop = (byte & (1 << (i % 8))) != 0; + VMReg reg = VMRegImpl::stack2reg(i); + if (is_oop) { + map->set_oop(reg); + } else { + map->set_value(reg); + } + } + + // TODO parameters? + return map; +} + +static ScopeValue* get_hotspot_value(oop value) { + fatal("not implemented"); + if (value->is_a(CiRegisterValue::klass())) { + tty->print("register value"); + value->print(); + } else if (value->is_a(CiStackSlot::klass())) { + tty->print("stack value"); + value->print(); + } else { + ShouldNotReachHere(); + } +} + +class CodeInstaller { +private: + ciEnv* _env; + + oop _citarget_method; + oop _hotspot_method; + oop _name; + arrayOop _sites; + CodeOffsets _offsets; + + arrayOop _code; + jint _code_size; + jint _frame_size; + jint _parameter_count; + jint _constants_size; + jint _total_size; + + CodeSection* _instructions; + CodeSection* _constants; + + OopRecorder* _oop_recorder; + DebugInformationRecorder* _debug_recorder; + Dependencies* _dependencies; + +public: + + // constructor used to create a method + CodeInstaller(oop target_method) { + VM_ENTRY_MARK; + _env = CURRENT_ENV; + + initialize_fields(target_method); + assert(_hotspot_method != NULL && _name == NULL, "installMethod needs NON-NULL method and NULL name"); + + + // TODO: This is a hack.. Produce correct entries. + _offsets.set_value(CodeOffsets::Exceptions, 0); + _offsets.set_value(CodeOffsets::Deopt, 0); + + methodOop method = C1XObjects::get(HotSpotMethod::vmId(_hotspot_method)); + ciMethod *ciMethodObject = (ciMethod *)_env->get_object(method); + _parameter_count = method->size_of_parameters(); + + // (very) conservative estimate: each site needs a relocation + CodeBuffer buffer("temp c1x method", _total_size, _sites->length() * relocInfo::length_limit); + initialize_buffer(buffer); + ExceptionHandlerTable handler_table; + ImplicitExceptionTable inc_table; + { + ThreadToNativeFromVM t((JavaThread*)THREAD); + _env->register_method(ciMethodObject, -1, &_offsets, 0, &buffer, _frame_size, _debug_recorder->_oopmaps, &handler_table, &inc_table, NULL, _env->comp_level(), false, false); + } + } + + // constructor used to create a stub + CodeInstaller(oop target_method, jlong& id) { + VM_ENTRY_MARK; + _env = CURRENT_ENV; + + initialize_fields(target_method); + assert(_hotspot_method == NULL && _name != NULL, "installMethod needs NON-NULL name and NULL method"); + + // (very) conservative estimate: each site needs a relocation + CodeBuffer buffer("temp c1x stub", _total_size, _sites->length() * relocInfo::length_limit); + initialize_buffer(buffer); + + const char* cname = java_lang_String::as_utf8_string(_name); + BufferBlob* blob = BufferBlob::create(strdup(cname), &buffer); // this is leaking strings... but only a limited number of stubs will be created + Disassembler::decode((CodeBlob*)blob); + id = C1XObjects::addStub(blob->instructions_begin()); + } + +private: + void initialize_fields(oop target_method) { + _citarget_method = HotSpotTargetMethod::targetMethod(target_method); + _hotspot_method = HotSpotTargetMethod::method(target_method); + _name = HotSpotTargetMethod::name(target_method); + _sites = (arrayOop)HotSpotTargetMethod::sites(target_method); + + _code = (arrayOop)CiTargetMethod::targetCode(_citarget_method); + _code_size = CiTargetMethod::targetCodeSize(_citarget_method); + _frame_size = CiTargetMethod::frameSize(_citarget_method); + + // (very) conservative estimate: each site needs a constant section entry + _constants_size = _sites->length() * BytesPerLong; + _total_size = align_size_up(_code_size, HeapWordSize) + _constants_size; + } + + void site_Safepoint(CodeBuffer& buffer, jint pc_offset, oop site) { + + } + + void record_frame(jint pc_offset, oop code_pos, oop frame) { + oop caller_pos = CiCodePos::caller(code_pos); + if (caller_pos != NULL) { + oop caller_frame = CiDebugInfo_Frame::caller(frame); + record_frame(pc_offset, caller_pos, caller_frame); + } else { + assert(frame == NULL || CiDebugInfo_Frame::caller(frame) == NULL, "unexpected layout - different nesting of Frame and CiCodePos"); + } + + assert(frame == NULL || code_pos == CiDebugInfo_Frame::codePos(frame), "unexpected CiCodePos layout"); + + oop hotspot_method = CiCodePos::method(code_pos); + methodOop method = C1XObjects::get(HotSpotMethod::vmId(hotspot_method)); + ciMethod *cimethod = (ciMethod *)_env->get_object(method); + jint bci = CiCodePos::bci(code_pos); + + if (frame != NULL) { + jint local_count = CiDebugInfo_Frame::numLocals(frame); + jint expression_count = CiDebugInfo_Frame::numStack(frame); + jint monitor_count = CiDebugInfo_Frame::numLocks(frame); + arrayOop values = (arrayOop)CiDebugInfo_Frame::values(frame); + + assert(local_count + expression_count + monitor_count == values->length(), "unexpected values length"); + assert(monitor_count == 0, "monitors not supported"); + + GrowableArray* locals = new GrowableArray(); + GrowableArray* expressions = new GrowableArray(); + GrowableArray* monitors = new GrowableArray(); + + for (jint i=0; ilength(); i++) { + ScopeValue* value = get_hotspot_value(((oop*)values->base(T_OBJECT))[i]); + + if (i < local_count) { + locals->append(value); + } else if (i < local_count + expression_count) { + expressions->append(value); + } else { + ShouldNotReachHere(); + // monitors->append(value); + } + } + DebugToken* locals_token = _debug_recorder->create_scope_values(locals); + DebugToken* expressions_token = _debug_recorder->create_scope_values(expressions); + DebugToken* monitors_token = _debug_recorder->create_monitor_values(monitors); + + _debug_recorder->describe_scope(pc_offset, cimethod, bci, false, false, false, locals_token, expressions_token, monitors_token); + } else { + _debug_recorder->describe_scope(pc_offset, cimethod, bci, false, false, false, NULL, NULL, NULL); + } + } + + void site_Call(CodeBuffer& buffer, jint pc_offset, oop site) { + oop runtime_call = CiTargetMethod_Call::runtimeCall(site); + oop hotspot_method = CiTargetMethod_Call::method(site); + oop symbol = CiTargetMethod_Call::symbol(site); + oop global_stub = CiTargetMethod_Call::globalStubID(site); + + oop debug_info = CiTargetMethod_Call::debugInfo(site); + arrayOop stack_map = (arrayOop)CiTargetMethod_Call::stackMap(site); + arrayOop register_map = (arrayOop)CiTargetMethod_Call::registerMap(site); + + assert((runtime_call ? 1 : 0) + (hotspot_method ? 1 : 0) + (symbol ? 1 : 0) + (global_stub ? 1 : 0) == 1, "Call site needs exactly one type"); + + if (runtime_call != NULL) { + tty->print_cr("runtime_call"); + } else if (global_stub != NULL) { + tty->print_cr("global_stub_id"); + } else if (symbol != NULL) { + tty->print_cr("symbol"); + } else { // method != NULL + assert(hotspot_method->is_a(SystemDictionary::HotSpotMethod_klass()), "unexpected RiMethod subclass"); + methodOop method = C1XObjects::get(HotSpotMethod::vmId(hotspot_method)); + + address instruction = _instructions->start() + pc_offset; + address operand = Assembler::locate_operand(instruction, Assembler::call32_operand); + address next_instruction = Assembler::locate_next_instruction(instruction); + jint next_pc_offset = next_instruction - _instructions->start(); + + assert(debug_info != NULL, "debug info expected"); + _debug_recorder->add_safepoint(next_pc_offset, create_oop_map(_frame_size, _parameter_count, debug_info)); + oop code_pos = CiDebugInfo::codePos(debug_info); + oop frame = CiDebugInfo::frame(debug_info); + record_frame(next_pc_offset, code_pos, frame); + + if (method->is_static()) { + tty->print_cr("static method"); + + + address dest = SharedRuntime::get_resolve_static_call_stub(); + long disp = dest - next_instruction; + assert(disp == (jint) disp, "disp doesn't fit in 32 bits"); + *((jint*)operand) = (jint)disp; + + _instructions->relocate(instruction, relocInfo::static_call_type, Assembler::call32_operand); + tty->print_cr("relocating (Long) %016x/%016x", instruction, operand); + } else { + tty->print_cr("non-static method"); + ShouldNotReachHere(); + } + + _debug_recorder->end_safepoint(pc_offset); + } + } + + void site_DataPatch(CodeBuffer& buffer, jint pc_offset, oop site) { + oop constant = CiTargetMethod_DataPatch::constant(site); + oop kind = CiConstant::kind(constant); + + address instruction = _instructions->start() + pc_offset; + address operand = Assembler::locate_operand(instruction, Assembler::disp32_operand); + address next_instruction = Assembler::locate_next_instruction(instruction); + + switch(CiKind::typeChar(kind)) { + case 'z': + case 'b': + case 's': + case 'c': + case 'i': + fatal("int-sized values not expected in DataPatch"); + break; + case 'f': + case 'l': + case 'd': { + // we don't care if this is a long/double/etc., the primitive field contains the right bits + address dest = _constants->end(); + *(jlong*)dest = CiConstant::primitive(constant); + _constants->set_end(dest + BytesPerLong); + + long disp = dest - next_instruction; + assert(disp == (jint) disp, "disp doesn't fit in 32 bits"); + *((jint*)operand) = (jint)disp; + + _instructions->relocate(instruction, section_word_Relocation::spec((address)dest, CodeBuffer::SECT_CONSTS), Assembler::disp32_operand); + tty->print_cr("relocating (Float/Long/Double) at %016x/%016x", instruction, operand); + break; + } + case 'a': + CiConstant::object(constant)->print(); + tty->print_cr("DataPatch of object type"); + break; + default: + fatal("unexpected CiKind in DataPatch"); + break; + } + } + + void site_ExceptionHandler(CodeBuffer& buffer, jint pc_offset, oop site) { + + } + + void site_Mark(CodeBuffer& buffer, jint pc_offset, oop site) { + oop id_obj = CiTargetMethod_Mark::id(site); + arrayOop references = (arrayOop)CiTargetMethod_Mark::references(site); + + if (id_obj != NULL) { + assert(java_lang_boxing_object::is_instance(id_obj, T_INT), "Integer id expected"); + jint id = id_obj->int_field(java_lang_boxing_object::value_offset_in_bytes(T_INT)); + + address instruction = _instructions->start() + pc_offset; + + switch (id) { + case C1XCompiler::MARK_UNVERIFIED_ENTRY: + _offsets.set_value(CodeOffsets::Entry, pc_offset); + break; + case C1XCompiler::MARK_VERIFIED_ENTRY: + _offsets.set_value(CodeOffsets::Verified_Entry, pc_offset); + break; + case C1XCompiler::MARK_STATIC_CALL_STUB: { + assert(references->length() == 1, "static call stub needs one reference"); + oop ref = ((oop*)references->base(T_OBJECT))[0]; + address call_pc = _instructions->start() + CiTargetMethod_Site::pcOffset(ref); + _instructions->relocate(instruction, static_stub_Relocation::spec(call_pc)); + break; + } + } + } + } + + // perform data and call relocation on the CodeBuffer + void initialize_buffer(CodeBuffer& buffer) { + _oop_recorder = new OopRecorder(_env->arena()); + _env->set_oop_recorder(_oop_recorder); + _debug_recorder = new DebugInformationRecorder(_env->oop_recorder()); + _debug_recorder->set_oopmaps(new OopMapSet()); + _dependencies = new Dependencies(_env); + + _env->set_oop_recorder(_oop_recorder); + _env->set_debug_info(_debug_recorder); + _env->set_dependencies(_dependencies); + buffer.initialize_oop_recorder(_oop_recorder); + + buffer.initialize_consts_size(_constants_size); + _instructions = buffer.insts(); + _constants = buffer.consts(); + + // copy the code into the newly created CodeBuffer + memcpy(_instructions->start(), _code->base(T_BYTE), _code_size); + _instructions->set_end(_instructions->start() + _code_size); + + oop* sites = (oop*)_sites->base(T_OBJECT); + for (int i=0; i<_sites->length(); i++) { + oop site = sites[i]; + jint pc_offset = CiTargetMethod_Site::pcOffset(site); + + if (site->is_a(CiTargetMethod_Safepoint::klass())) { + tty->print_cr("safepoint at %i", pc_offset); + site_Safepoint(buffer, pc_offset, site); + } else if (site->is_a(CiTargetMethod_Call::klass())) { + tty->print_cr("call at %i", pc_offset); + site_Call(buffer, pc_offset, site); + } else if (site->is_a(CiTargetMethod_DataPatch::klass())) { + tty->print_cr("datapatch at %i", pc_offset); + site_DataPatch(buffer, pc_offset, site); + } else if (site->is_a(CiTargetMethod_ExceptionHandler::klass())) { + tty->print_cr("exception handler at %i", pc_offset); + site_ExceptionHandler(buffer, pc_offset, site); + } else if (site->is_a(CiTargetMethod_Mark::klass())) { + tty->print_cr("mark at %i", pc_offset); + site_Mark(buffer, pc_offset, site); + } else { + ShouldNotReachHere(); + } + } + +/* + if (_relocation_count > 0) { + jint* relocation_offsets = (jint*)((arrayOop)JNIHandles::resolve(_relocation_offsets))->base(T_INT); + oop* relocation_objects = (oop*)((arrayOop)JNIHandles::resolve(_relocation_data))->base(T_OBJECT); + + for (int i = 0; i < _relocation_count; i++) { + address inst = (address)instructions->start() + relocation_offsets[i]; + u_char inst_byte = *inst; + oop obj = relocation_objects[i]; + assert(obj != NULL, "NULL oop needn't be patched"); + + if (obj->is_a(SystemDictionary::HotSpotProxy_klass())) { + jlong id = com_sun_hotspot_c1x_HotSpotProxy::get_id(obj); + switch (id & C1XObjects::TYPE_MASK) { + case C1XObjects::CONSTANT: { + address operand = Assembler::locate_operand(inst, Assembler::imm_operand); + + *((jobject*)operand) = JNIHandles::make_local(C1XObjects::get(id)); + instructions->relocate(inst, oop_Relocation::spec_for_immediate(), Assembler::imm_operand); + tty->print_cr("relocating (HotSpotType) %02x at %016x/%016x", inst_byte, inst, operand); + break; + } + case C1XObjects::STUB: { + address operand = Assembler::locate_operand(inst, Assembler::call32_operand); + + long dest = (long)C1XObjects::getStub(id); + long disp = dest - (long)(operand + 4); + assert(disp == (int) disp, "disp doesn't fit in 32 bits"); + *((int*)operand) = (int)disp; + + instructions->relocate(inst, runtime_call_Relocation::spec(), Assembler::call32_operand); + tty->print_cr("relocating (Long) %02x at %016x/%016x", inst_byte, inst, operand); + break; + } + } + } else if (java_lang_boxing_object::is_instance(obj)) { + address operand = Assembler::locate_operand(inst, Assembler::disp32_operand); + long dest = (long)constants->end(); + if (java_lang_boxing_object::is_instance(obj, T_LONG)) { + // tty->print("relocate: %l\n", obj->long_field(java_lang_boxing_object::value_offset_in_bytes(T_LONG))); + *(jlong*)constants->end() = obj->long_field(java_lang_boxing_object::value_offset_in_bytes(T_LONG)); + } else if (java_lang_boxing_object::is_instance(obj, T_DOUBLE)) { + // tty->print("relocate: %f\n", obj->double_field(java_lang_boxing_object::value_offset_in_bytes(T_DOUBLE))); + *(jdouble*)constants->end() = obj->double_field(java_lang_boxing_object::value_offset_in_bytes(T_DOUBLE)); + } else if (java_lang_boxing_object::is_instance(obj, T_FLOAT)) { + // tty->print("relocate: %f\n", obj->double_field(java_lang_boxing_object::value_offset_in_bytes(T_DOUBLE))); + *(jfloat*)constants->end() = obj->float_field(java_lang_boxing_object::value_offset_in_bytes(T_FLOAT)); + } + constants->set_end(constants->end() + 8); + + long disp = dest - (long)(operand + 4); + assert(disp == (int) disp, "disp doesn't fit in 32 bits"); + *((int*)operand) = (int)disp; + + instructions->relocate(inst, section_word_Relocation::spec((address)dest, CodeBuffer::SECT_CONSTS), Assembler::disp32_operand); + tty->print_cr("relocating (Long/Double) %02x at %016x/%016x", inst_byte, inst, operand); + } else if (obj->is_a(_types.HotSpotTypeResolved)) { + address operand = Assembler::locate_operand(inst, Assembler::imm_operand); + + *((jobject*)operand) = JNIHandles::make_local(C1XObjects::get(obj->obj_field(_types.HotSpotTypeResolved_klassOop))); + instructions->relocate(inst, oop_Relocation::spec_for_immediate(), Assembler::imm_operand); + tty->print_cr("relocating (HotSpotType) %02x at %016x/%016x", inst_byte, inst, operand); + } else { + tty->print_cr("unknown relocation type"); + obj->print(); + } + } + }*/ + } +}; + +// public void installMethod(HotSpotTargetMethod targetMethod); +JNIEXPORT void JNICALL Java_com_sun_hotspot_c1x_VMEntries_installMethod(JNIEnv *jniEnv, jobject, jobject targetMethod) { + CodeInstaller installer(JNIHandles::resolve(targetMethod)); +} + +// public HotSpotProxy installStub(HotSpotTargetMethod targetMethod, String name); +JNIEXPORT jlong JNICALL Java_com_sun_hotspot_c1x_VMEntries_installStub(JNIEnv *jniEnv, jobject, jobject targetMethod) { + jlong id; + CodeInstaller installer(JNIHandles::resolve(targetMethod), id); + return id; +} + + + + +#define CC (char*) /*cast a literal from (const char*)*/ +#define FN_PTR(f) CAST_FROM_FN_PTR(void*, &f) + +#define PROXY "J" +#define TYPE "Lcom/sun/cri/ri/RiType;" +#define METHOD "Lcom/sun/cri/ri/RiMethod;" +#define SIGNATURE "Lcom/sun/cri/ri/RiSignature;" +#define FIELD "Lcom/sun/cri/ri/RiField;" +#define CONSTANT_POOL "Lcom/sun/cri/ri/RiConstantPool;" +#define TARGET_METHOD "Lcom/sun/hotspot/c1x/HotSpotTargetMethod;" +#define CONFIG "Lcom/sun/hotspot/c1x/HotSpotVMConfig;" +#define HS_METHOD "Lcom/sun/hotspot/c1x/HotSpotMethod;" +#define CI_CONSTANT "Lcom/sun/cri/ci/CiConstant;" +#define STRING "Ljava/lang/String;" +#define OBJECT "Ljava/lang/Object;" + JNINativeMethod VMEntries_methods[] = { - {CC"RiMethod_code", CC"(Ljava/lang/reflect/Method;)[B", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1code)}, - {CC"RiMethod_maxStackSize", CC"(Ljava/lang/reflect/Method;)I", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1maxStackSize)}, - {CC"RiMethod_maxLocals", CC"(Ljava/lang/reflect/Method;)I", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1maxLocals)}, - {CC"RiMethod_holder", CC"(Ljava/lang/reflect/Method;)Lcom/sun/cri/ri/RiType;", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1holder)}, - {CC"RiMethod_signature", CC"(Ljava/lang/reflect/Method;)Ljava/lang/String;", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1signature)}, - {CC"RiMethod_name", CC"(Ljava/lang/reflect/Method;)Ljava/lang/String;", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1name)}, - {CC"RiMethod_accessFlags", CC"(Ljava/lang/reflect/Method;)I", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1accessFlags)}, - {CC"RiSignature_lookupType", CC"(Ljava/lang/String;Ljava/lang/Class;)Lcom/sun/cri/ri/RiType;", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiSignature_1lookupType)}, - {CC"RiType_name", CC"(Ljava/lang/Class;)Ljava/lang/String;", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiType_1name)}, - {CC"RiConstantPool_lookupConstant", CC"(Ljava/lang/Class;I)Ljava/lang/Object;", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiConstantPool_1lookupConstant)}, - {CC"RiConstantPool_lookupMethod", CC"(Ljava/lang/Class;IB)Lcom/sun/cri/ri/RiMethod;", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiConstantPool_1lookupMethod)}, - {CC"RiConstantPool_lookupSignature", CC"(Ljava/lang/Class;I)Lcom/sun/cri/ri/RiSignature;", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiConstantPool_1lookupSignature)}, - {CC"RiConstantPool_lookupType", CC"(Ljava/lang/Class;I)Lcom/sun/cri/ri/RiType;", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiConstantPool_1lookupType)}, - {CC"RiConstantPool_lookupField", CC"(Ljava/lang/Class;I)Lcom/sun/cri/ri/RiField;", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiConstantPool_1lookupField)}, - {CC"RiType_isArrayClass", CC"(Ljava/lang/Class;)Z", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiType_1isArrayClass)}, - {CC"RiType_isInstanceClass", CC"(Ljava/lang/Class;)Z", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiType_1isInstanceClass)}, - {CC"RiType_isInterface", CC"(Ljava/lang/Class;)Z", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiType_1isInterface)}, - {CC"installCode", CC"(Lcom/sun/hotspot/c1x/HotSpotTargetMethod;)V", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_installCode)}, - {CC"getConfiguration", CC"()Lcom/sun/hotspot/c1x/HotSpotVMConfig;", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_getConfiguration)} + {CC"RiMethod_code", CC"("PROXY")[B", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1code)}, + {CC"RiMethod_maxStackSize", CC"("PROXY")I", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1maxStackSize)}, + {CC"RiMethod_maxLocals", CC"("PROXY")I", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1maxLocals)}, + {CC"RiMethod_holder", CC"("PROXY")"TYPE, FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1holder)}, + {CC"RiMethod_signature", CC"("PROXY")"STRING, FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1signature)}, + {CC"RiMethod_accessFlags", CC"("PROXY")I", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1accessFlags)}, + {CC"RiSignature_lookupType", CC"("STRING PROXY")"TYPE, FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiSignature_1lookupType)}, + {CC"RiConstantPool_lookupConstant", CC"("PROXY"I)"CI_CONSTANT, FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiConstantPool_1lookupConstant)}, + {CC"RiConstantPool_lookupMethod", CC"("PROXY"IB)"METHOD, FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiConstantPool_1lookupMethod)}, + {CC"RiConstantPool_lookupSignature", CC"("PROXY"I)"SIGNATURE, FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiConstantPool_1lookupSignature)}, + {CC"RiConstantPool_lookupType", CC"("PROXY"I)"TYPE, FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiConstantPool_1lookupType)}, + {CC"RiConstantPool_lookupField", CC"("PROXY"I)"FIELD, FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiConstantPool_1lookupField)}, + {CC"RiType_constantPool", CC"("PROXY")"CONSTANT_POOL, FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiType_1constantPool)}, + {CC"RiType_isArrayClass", CC"("PROXY")Z", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiType_1isArrayClass)}, + {CC"RiType_isInstanceClass", CC"("PROXY")Z", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiType_1isInstanceClass)}, + {CC"RiType_isInterface", CC"("PROXY")Z", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_RiType_1isInterface)}, + {CC"getConfiguration", CC"()"CONFIG, FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_getConfiguration)}, + {CC"installMethod", CC"("TARGET_METHOD")V", FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_installMethod)}, + {CC"installStub", CC"("TARGET_METHOD")"PROXY, FN_PTR(Java_com_sun_hotspot_c1x_VMEntries_installStub)} }; int VMEntries_methods_count() { diff -r 3483ec571caf -r 760213a60e8b src/share/vm/c1x/c1x_VMEntries.hpp --- a/src/share/vm/c1x/c1x_VMEntries.hpp Mon Aug 02 15:44:38 2010 -0700 +++ b/src/share/vm/c1x/c1x_VMEntries.hpp Mon Aug 16 18:59:36 2010 -0700 @@ -22,183 +22,9 @@ * */ -#define CC (char*) /*cast a literal from (const char*)*/ -#define FN_PTR(f) CAST_FROM_FN_PTR(void*, &f) - -#ifdef SOLARIS -#define JNIEXPORT -#define JNICALL -#endif - -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiMethod_code -* Signature: (Ljava/lang/reflect/Method;)[B -*/ -JNIEXPORT jbyteArray JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1code - (JNIEnv *, jobject, jobject); - -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiMethod_maxStackSize -* Signature: (Ljava/lang/reflect/Method;)I -*/ -JNIEXPORT jint JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1maxStackSize - (JNIEnv *, jobject, jobject); - -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiMethod_maxLocals -* Signature: (Ljava/lang/reflect/Method;)I -*/ -JNIEXPORT jint JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1maxLocals - (JNIEnv *, jobject, jobject); - -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiMethod_holder -* Signature: (Ljava/lang/reflect/Method;)Lcom/sun/cri/ri/RiType; -*/ -JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1holder - (JNIEnv *, jobject, jobject); - -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiMethod_signature -* Signature: (Ljava/lang/reflect/Method;)Lcom/sun/cri/ri/RiSignature; -*/ -JNIEXPORT jstring JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1signature - (JNIEnv *, jobject, jobject); - -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiMethod_name -* Signature: (Ljava/lang/reflect/Method;)Ljava/lang/String; -*/ -JNIEXPORT jstring JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1name - (JNIEnv *, jobject, jobject); - -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiMethod_accessFlags -* Signature: (Ljava/lang/reflect/Method;)I -*/ -JNIEXPORT jint JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiMethod_1accessFlags -(JNIEnv *, jobject, jobject); - -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiSignature_lookupType -* Signature: (Ljava/lang/String;Lcom/sun/cri/ri/RiType;)Lcom/sun/cri/ri/RiType; -*/ -JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiSignature_1lookupType - (JNIEnv *, jobject, jstring, jobject); - -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiSignature_symbolToString -* Signature: (Ljava/lang/Object;)Ljava/lang/String; -*/ -JNIEXPORT jstring JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiSignature_1symbolToString -(JNIEnv *, jobject, jobject); - -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiType_javaClass -* Signature: (Ljava/lang/Object;)Ljava/lang/Class; -*/ -JNIEXPORT jclass JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiType_1javaClass -(JNIEnv *, jobject, jobject); - -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiType_name -* Signature: (Ljava/lang/Object;)Ljava/lang/String; -*/ -JNIEXPORT jstring JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiType_1name -(JNIEnv *, jobject, jobject); +extern JNINativeMethod VMEntries_methods[]; +int VMEntries_methods_count(); -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiConstantPool_lookupConstant -* Signature: (Ljava/lang/Object;I)Ljava/lang/Object; -*/ -JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiConstantPool_1lookupConstant -(JNIEnv *, jobject, jobject, jint); - -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiConstantPool_lookupMethod -* Signature: (Ljava/lang/Object;I)Lcom/sun/cri/ri/RiMethod; -*/ -JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiConstantPool_1lookupMethod -(JNIEnv *, jobject, jobject, jint, jbyte); - -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiConstantPool_lookupSignature -* Signature: (Ljava/lang/Object;I)Lcom/sun/cri/ri/RiSignature; -*/ -JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiConstantPool_1lookupSignature -(JNIEnv *, jobject, jobject, jint); - -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiConstantPool_lookupType -* Signature: (Ljava/lang/Object;I)Lcom/sun/cri/ri/RiType; -*/ -JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiConstantPool_1lookupType -(JNIEnv *, jobject, jobject, jint); - -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiConstantPool_lookupField -* Signature: (Ljava/lang/Object;I)Lcom/sun/cri/ri/RiField; -*/ -JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiConstantPool_1lookupField -(JNIEnv *, jobject, jobject, jint); - -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiType_isArrayClass -* Signature: (Ljava/lang/Object;)Z -*/ -JNIEXPORT jboolean JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiType_1isArrayClass -(JNIEnv *, jobject, jobject); - -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiType_isInstanceClass -* Signature: (Ljava/lang/Object;)Z -*/ -JNIEXPORT jboolean JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiType_1isInstanceClass -(JNIEnv *, jobject, jobject); - -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: RiType_isInterface -* Signature: (Ljava/lang/Object;)Z -*/ -JNIEXPORT jboolean JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiType_1isInterface -(JNIEnv *, jobject, jobject); - -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: installCode -* Signature: (Lcom/sun/hotspot/c1x/HotSpotTargetMethod;)V -*/ -JNIEXPORT void JNICALL Java_com_sun_hotspot_c1x_VMEntries_installCode -(JNIEnv *, jobject, jobject); - -/* -* Class: com_sun_hotspot_c1x_VMEntries -* Method: getConfiguration -* Signature: ()Lcom/sun/hotspot/c1x/HotSpotVMConfig; -*/ -JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_getConfiguration -(JNIEnv *, jobject); -extern JNINativeMethod VMEntries_methods[]; -int VMEntries_methods_count(); diff -r 3483ec571caf -r 760213a60e8b src/share/vm/c1x/c1x_VMExits.cpp --- a/src/share/vm/c1x/c1x_VMExits.cpp Mon Aug 02 15:44:38 2010 -0700 +++ b/src/share/vm/c1x/c1x_VMExits.cpp Mon Aug 16 18:59:36 2010 -0700 @@ -25,9 +25,13 @@ # include "incls/_precompiled.incl" # include "incls/_c1x_VMExits.cpp.incl" +// these are *local* handles, and they need to be cleared before compileMethod returns KlassHandle VMExits::_vmExitsKlass; Handle VMExits::_vmExitsObject; +// this is a *global* handle +jobject VMExits::_vmExitsPermObject; + KlassHandle &VMExits::vmExitsKlass() { if (_vmExitsKlass.is_null()) { _vmExitsKlass = SystemDictionary::resolve_or_null(vmSymbols::com_sun_hotspot_c1x_VMExits(), SystemDictionary::java_system_loader(), NULL, Thread::current()); @@ -40,62 +44,72 @@ Handle &VMExits::instance() { if (_vmExitsObject.is_null()) { - KlassHandle compiler_klass = SystemDictionary::resolve_or_null(vmSymbols::com_sun_hotspot_c1x_Compiler(), SystemDictionary::java_system_loader(), NULL, Thread::current()); - JavaValue result(T_OBJECT); - JavaCallArguments args; - JavaCalls::call_static(&result, compiler_klass(), vmSymbols::getVMExits_name(), vmSymbols::getVMExits_signature(), &args, Thread::current()); - check_pending_exception("Couldn't get VMExits"); - oop res = (oop)result.get_jobject(); - _vmExitsObject = res; + if (JNIHandles::resolve(_vmExitsPermObject) == NULL) { + KlassHandle compiler_klass = SystemDictionary::resolve_or_null(vmSymbols::com_sun_hotspot_c1x_Compiler(), SystemDictionary::java_system_loader(), NULL, Thread::current()); + JavaValue result(T_OBJECT); + JavaCallArguments args; + JavaCalls::call_static(&result, compiler_klass(), vmSymbols::getVMExits_name(), vmSymbols::getVMExits_signature(), &args, Thread::current()); + check_pending_exception("Couldn't get VMExits"); + oop res = (oop)result.get_jobject(); + _vmExitsPermObject = JNIHandles::make_global(res); + } + _vmExitsObject = JNIHandles::resolve(_vmExitsPermObject); } return _vmExitsObject; } -void VMExits::compileMethod(methodOop method, int entry_bci) { - assert(method != NULL, "just checking"); - oop reflected_method = C1XObjects::getReflectedMethod(method, Thread::current()); +void VMExits::compileMethod(jlong methodVmId, Handle name, int entry_bci) { + assert(!name.is_null(), "just checking"); + Thread* THREAD = Thread::current(); JavaValue result(T_VOID); JavaCallArguments args; args.push_oop(instance()); - args.push_oop(reflected_method); + args.push_long(methodVmId); + args.push_oop(name); args.push_int(entry_bci); - JavaCalls::call_interface(&result, vmExitsKlass(), vmSymbols::compileMethod_name(), vmSymbols::compileMethod_signature(), &args, Thread::current()); + JavaCalls::call_interface(&result, vmExitsKlass(), vmSymbols::compileMethod_name(), vmSymbols::compileMethod_signature(), &args, THREAD); check_pending_exception("Error while calling compileMethod"); + + // TODO hack hack + _vmExitsKlass = KlassHandle(); + _vmExitsObject = Handle(); } -oop VMExits::createRiMethod(methodOop m, TRAPS) { - assert(m != NULL, "just checking"); - oop reflected_method = C1XObjects::getReflectedMethod(m, CHECK_0); +oop VMExits::createRiMethod(jlong vmId, Handle name, TRAPS) { + assert(!name.is_null(), "just checking"); JavaValue result(T_OBJECT); JavaCallArguments args; args.push_oop(instance()); - args.push_oop(reflected_method); + args.push_long(vmId); + args.push_oop(name); JavaCalls::call_interface(&result, vmExitsKlass(), vmSymbols::createRiMethod_name(), vmSymbols::createRiMethod_signature(), &args, THREAD); check_pending_exception("Error while calling createRiMethod"); return (oop)result.get_jobject(); } -oop VMExits::createRiField(oop field_holder, symbolOop field_name, oop field_type, int index, TRAPS) { - assert(field_holder != NULL && field_name != NULL && field_type != NULL, "just checking"); - oop name = C1XObjects::getReflectedSymbol(field_name, CHECK_0); +oop VMExits::createRiField(Handle holder, Handle name, Handle type, int index, TRAPS) { + assert(!holder.is_null(), "just checking"); + assert(!name.is_null(), "just checking"); + assert(!type.is_null(), "just checking"); JavaValue result(T_OBJECT); JavaCallArguments args; args.push_oop(instance()); - args.push_oop(field_holder); + args.push_oop(holder); args.push_oop(name); - args.push_oop(field_type); + args.push_oop(type); args.push_int(index); JavaCalls::call_interface(&result, vmExitsKlass(), vmSymbols::createRiField_name(), vmSymbols::createRiField_signature(), &args, THREAD); check_pending_exception("Error while calling createRiField"); return (oop)result.get_jobject(); } -oop VMExits::createRiType(klassOop k, TRAPS) { - assert(k != NULL, "just checking"); +oop VMExits::createRiType(jlong vmId, Handle name, TRAPS) { + assert(!name.is_null(), "just checking"); JavaValue result(T_OBJECT); JavaCallArguments args; args.push_oop(instance()); - args.push_oop(C1XObjects::getReflectedClass(k)); + args.push_long(vmId); + args.push_oop(name); JavaCalls::call_interface(&result, vmExitsKlass(), vmSymbols::createRiType_name(), vmSymbols::createRiType_signature(), &args, THREAD); check_pending_exception("Error while calling createRiType"); return (oop)result.get_jobject(); @@ -111,35 +125,34 @@ return (oop)result.get_jobject(); } -oop VMExits::createRiTypeUnresolved(symbolOop name, klassOop accessor, TRAPS) { -// assert(name != NULL && accessor != NULL, "just checking"); +oop VMExits::createRiTypeUnresolved(Handle name, jlong accessingClassVmId, TRAPS) { + assert(!name.is_null(), "just checking"); JavaValue result(T_OBJECT); JavaCallArguments args; args.push_oop(instance()); - args.push_oop(C1XObjects::getReflectedSymbol(name, THREAD)); - args.push_oop(C1XObjects::getReflectedClass(accessor)); + args.push_oop(name); + args.push_long(accessingClassVmId); JavaCalls::call_interface(&result, vmExitsKlass(), vmSymbols::createRiTypeUnresolved_name(), vmSymbols::createRiTypeUnresolved_signature(), &args, THREAD); check_pending_exception("Error while calling createRiTypeUnresolved"); return (oop)result.get_jobject(); } -oop VMExits::createRiConstantPool(constantPoolOop cp, TRAPS) { - assert(cp != NULL, "just checking"); +oop VMExits::createRiConstantPool(jlong vmId, TRAPS) { JavaValue result(T_OBJECT); JavaCallArguments args; args.push_oop(instance()); - args.push_oop(C1XObjects::getReflectedClass(cp->klass())); + args.push_long(vmId); JavaCalls::call_interface(&result, vmExitsKlass(), vmSymbols::createRiConstantPool_name(), vmSymbols::createRiConstantPool_signature(), &args, THREAD); check_pending_exception("Error while calling createRiConstantPool"); return (oop)result.get_jobject(); } -oop VMExits::createRiSignature(symbolOop symbol, TRAPS) { - assert(symbol != NULL, "just checking"); +oop VMExits::createRiSignature(Handle name, TRAPS) { + assert(!name.is_null(), "just checking"); JavaValue result(T_OBJECT); JavaCallArguments args; args.push_oop(instance()); - args.push_oop(C1XObjects::getReflectedSymbol(symbol, THREAD)); + args.push_oop(name); JavaCalls::call_interface(&result, vmExitsKlass(), vmSymbols::createRiSignature_name(), vmSymbols::createRiSignature_signature(), &args, THREAD); check_pending_exception("Error while calling createRiSignature"); return (oop)result.get_jobject(); @@ -188,12 +201,12 @@ return (oop)result.get_jobject(); } -oop VMExits::createCiConstantObject(oop value, TRAPS) { +oop VMExits::createCiConstantObject(jlong vmId, TRAPS) { JavaValue result(T_OBJECT); JavaCallArguments args; args.push_oop(instance()); - args.push_oop(value); - JavaCalls::call_interface(&result, vmExitsKlass(), vmSymbols::createCiConstantObject_name(), vmSymbols::createCiConstantObject_signature(), &args, THREAD); + args.push_long(vmId); + JavaCalls::call_interface(&result, vmExitsKlass(), vmSymbols::createCiConstantObject_name(), vmSymbols::createCiConstantLong_signature(), &args, THREAD); check_pending_exception("Error while calling createCiConstantObject"); return (oop)result.get_jobject(); } diff -r 3483ec571caf -r 760213a60e8b src/share/vm/c1x/c1x_VMExits.hpp --- a/src/share/vm/c1x/c1x_VMExits.hpp Mon Aug 02 15:44:38 2010 -0700 +++ b/src/share/vm/c1x/c1x_VMExits.hpp Mon Aug 16 18:59:36 2010 -0700 @@ -21,49 +21,57 @@ * have any questions. * */ -/* -class OopCache : public AllStatic { -private: - static Handle* handles; - static Handle* mirrors; - static int capacity; - static int used; - -public: - static void initialize(); - static Handle mirror(oop internal_object); - static Handle resolve(oop mirror); - -}; -*/ class VMExits : public AllStatic { private: - static KlassHandle _vmExitsKlass; static Handle _vmExitsObject; - -public: + static jobject _vmExitsPermObject; static KlassHandle& vmExitsKlass(); static Handle& instance(); +public: - static void compileMethod(methodOop method, int entry_bci); + // public abstract void compileMethod(HotSpotProxy method, String name, int entry_bci); + static void compileMethod(jlong vmId, Handle name, int entry_bci); + + // public abstract RiMethod createRiMethod(HotSpotProxy method, String name); + static oop createRiMethod(jlong vmId, Handle name, TRAPS); + + // public abstract RiField createRiField(RiType holder, String name, RiType type, int offset); + static oop createRiField(Handle holder, Handle name, Handle type, int index, TRAPS); + + // public abstract RiType createRiType(HotSpotProxy klassOop, String name); + static oop createRiType(jlong vmId, Handle name, TRAPS); + + // public abstract RiConstantPool createRiConstantPool(HotSpotProxy constantPool); + static oop createRiConstantPool(jlong vmId, TRAPS); + + // public abstract RiType createRiTypeUnresolved(String name, HotSpotProxy accessingKlass); + static oop createRiTypeUnresolved(Handle name, jlong accessingClassVmId, TRAPS); - static oop createRiMethod(methodOop method, TRAPS); - static oop createRiField(oop field_holder, symbolOop field_name, oop field_type, int index, TRAPS); - static oop createRiType(klassOop k, TRAPS); - static oop createRiConstantPool(constantPoolOop cp, TRAPS); - static oop createRiTypeUnresolved(symbolOop name, klassOop accessor, TRAPS); - static oop createRiSignature(symbolOop name, TRAPS); + // public abstract RiType createRiTypePrimitive(int basicType); + static oop createRiTypePrimitive(int basicType, TRAPS); + + // public abstract RiSignature createRiSignature(String signature); + static oop createRiSignature(Handle name, TRAPS); + + // public abstract CiConstant createCiConstantInt(int value); static oop createCiConstantInt(jint value, TRAPS); + + // public abstract CiConstant createCiConstantLong(long value); static oop createCiConstantLong(jlong value, TRAPS); + + // public abstract CiConstant createCiConstantFloat(float value); static oop createCiConstantFloat(jfloat value, TRAPS); + + // public abstract CiConstant createCiConstantDouble(double value); static oop createCiConstantDouble(jdouble value, TRAPS); - static oop createCiConstantObject(oop value, TRAPS); - static oop createRiTypePrimitive(int basic_type, TRAPS); + + // public abstract CiConstant createCiConstantObject(HotSpotProxy value); + static oop createCiConstantObject(jlong vmId, TRAPS); }; inline void check_pending_exception(const char* message) { diff -r 3483ec571caf -r 760213a60e8b src/share/vm/classfile/systemDictionary.hpp --- a/src/share/vm/classfile/systemDictionary.hpp Mon Aug 02 15:44:38 2010 -0700 +++ b/src/share/vm/classfile/systemDictionary.hpp Mon Aug 16 18:59:36 2010 -0700 @@ -170,6 +170,27 @@ template(Short_klass, java_lang_Short, Pre) \ template(Integer_klass, java_lang_Integer, Pre) \ template(Long_klass, java_lang_Long, Pre) \ + \ + template(HotSpotTypeResolved_klass, com_sun_hotspot_c1x_HotSpotTypeResolved, Pre) \ + template(HotSpotMethod_klass, com_sun_hotspot_c1x_HotSpotMethod, Pre) \ + template(HotSpotTargetMethod_klass, com_sun_hotspot_c1x_HotSpotTargetMethod, Pre) \ + template(CiTargetMethod_klass, com_sun_cri_ci_CiTargetMethod, Pre) \ + template(CiTargetMethod_Site_klass, com_sun_cri_ci_CiTargetMethod_Site, Pre) \ + template(CiTargetMethod_Call_klass, com_sun_cri_ci_CiTargetMethod_Call, Pre) \ + template(CiTargetMethod_DataPatch_klass, com_sun_cri_ci_CiTargetMethod_DataPatch, Pre) \ + template(CiTargetMethod_Safepoint_klass, com_sun_cri_ci_CiTargetMethod_Safepoint, Pre) \ + template(CiTargetMethod_ExceptionHandler_klass, com_sun_cri_ci_CiTargetMethod_ExceptionHandler, Pre) \ + template(CiTargetMethod_Mark_klass, com_sun_cri_ci_CiTargetMethod_Mark, Pre) \ + template(CiDebugInfo_klass, com_sun_cri_ci_CiDebugInfo, Pre) \ + template(CiDebugInfo_Frame_klass, com_sun_cri_ci_CiDebugInfo_Frame, Pre) \ + template(CiRegisterValue_klass, com_sun_cri_ci_CiRegisterValue, Pre) \ + template(CiStackSlot_klass, com_sun_cri_ci_CiStackSlot, Pre) \ + template(CiCodePos_klass, com_sun_cri_ci_CiCodePos, Pre) \ + template(CiConstant_klass, com_sun_cri_ci_CiConstant, Pre) \ + template(CiKind_klass, com_sun_cri_ci_CiKind, Pre) \ + template(CiRuntimeCall_klass, com_sun_cri_ci_CiRuntimeCall, Pre) \ + template(RiMethod_klass, com_sun_cri_ri_RiMethod, Pre) \ + /*end*/ diff -r 3483ec571caf -r 760213a60e8b src/share/vm/classfile/vmSymbols.hpp --- a/src/share/vm/classfile/vmSymbols.hpp Mon Aug 02 15:44:38 2010 -0700 +++ b/src/share/vm/classfile/vmSymbols.hpp Mon Aug 16 18:59:36 2010 -0700 @@ -246,26 +246,45 @@ \ /* support for C1X */ \ template(com_sun_hotspot_c1x_VMExits, "com/sun/hotspot/c1x/VMExits") \ + template(com_sun_hotspot_c1x_HotSpotMethod, "com/sun/hotspot/c1x/HotSpotMethod") \ + template(com_sun_hotspot_c1x_HotSpotTargetMethod, "com/sun/hotspot/c1x/HotSpotTargetMethod") \ + template(com_sun_hotspot_c1x_HotSpotTypeResolved, "com/sun/hotspot/c1x/HotSpotTypeResolved") \ + template(com_sun_hotspot_c1x_Compiler, "com/sun/hotspot/c1x/Compiler") \ template(com_sun_cri_ri_RiMethod, "com/sun/cri/ri/RiMethod") \ template(com_sun_cri_ri_RiField, "com/sun/cri/ri/RiField") \ template(com_sun_cri_ri_RiType, "com/sun/cri/ri/RiType") \ template(com_sun_cri_ri_RiConstantPool, "com/sun/cri/ri/RiConstantPool") \ + template(com_sun_cri_ci_CiTargetMethod, "com/sun/cri/ci/CiTargetMethod") \ + template(com_sun_cri_ci_CiTargetMethod_Site, "com/sun/cri/ci/CiTargetMethod$Site") \ + template(com_sun_cri_ci_CiTargetMethod_Call, "com/sun/cri/ci/CiTargetMethod$Call") \ + template(com_sun_cri_ci_CiTargetMethod_DataPatch, "com/sun/cri/ci/CiTargetMethod$DataPatch") \ + template(com_sun_cri_ci_CiTargetMethod_Safepoint, "com/sun/cri/ci/CiTargetMethod$Safepoint") \ + template(com_sun_cri_ci_CiTargetMethod_ExceptionHandler, "com/sun/cri/ci/CiTargetMethod$ExceptionHandler") \ + template(com_sun_cri_ci_CiTargetMethod_Mark, "com/sun/cri/ci/CiTargetMethod$Mark") \ + template(com_sun_cri_ci_CiDebugInfo, "com/sun/cri/ci/CiDebugInfo") \ + template(com_sun_cri_ci_CiDebugInfo_Frame, "com/sun/cri/ci/CiDebugInfo$Frame") \ + template(com_sun_cri_ci_CiRegisterValue, "com/sun/cri/ci/CiRegisterValue") \ + template(com_sun_cri_ci_CiStackSlot, "com/sun/cri/ci/CiStackSlot") \ + template(com_sun_cri_ci_CiCodePos, "com/sun/cri/ci/CiCodePos") \ + template(com_sun_cri_ci_CiConstant, "com/sun/cri/ci/CiConstant") \ + template(com_sun_cri_ci_CiKind, "com/sun/cri/ci/CiKind") \ + template(com_sun_cri_ci_CiRuntimeCall, "com/sun/cri/ci/CiRuntimeCall") \ template(compileMethod_name, "compileMethod") \ - template(compileMethod_signature, "(Ljava/lang/reflect/Method;I)V") \ + template(compileMethod_signature, "(JLjava/lang/String;I)V") \ template(createRiMethod_name, "createRiMethod") \ - template(createRiMethod_signature, "(Ljava/lang/reflect/Method;)Lcom/sun/cri/ri/RiMethod;") \ + template(createRiMethod_signature, "(JLjava/lang/String;)Lcom/sun/cri/ri/RiMethod;") \ template(createRiSignature_name, "createRiSignature") \ template(createRiSignature_signature, "(Ljava/lang/String;)Lcom/sun/cri/ri/RiSignature;") \ template(createRiField_name, "createRiField") \ template(createRiField_signature, "(Lcom/sun/cri/ri/RiType;Ljava/lang/String;Lcom/sun/cri/ri/RiType;I)Lcom/sun/cri/ri/RiField;") \ template(createRiType_name, "createRiType") \ - template(createRiType_signature, "(Ljava/lang/Class;)Lcom/sun/cri/ri/RiType;") \ + template(createRiType_signature, "(JLjava/lang/String;)Lcom/sun/cri/ri/RiType;") \ template(createRiTypePrimitive_name, "createRiTypePrimitive") \ template(createRiTypePrimitive_signature, "(I)Lcom/sun/cri/ri/RiType;") \ template(createRiTypeUnresolved_name, "createRiTypeUnresolved") \ - template(createRiTypeUnresolved_signature, "(Ljava/lang/String;Ljava/lang/Class;)Lcom/sun/cri/ri/RiType;") \ + template(createRiTypeUnresolved_signature, "(Ljava/lang/String;J)Lcom/sun/cri/ri/RiType;") \ template(createRiConstantPool_name, "createRiConstantPool") \ - template(createRiConstantPool_signature, "(Ljava/lang/Class;)Lcom/sun/cri/ri/RiConstantPool;") \ + template(createRiConstantPool_signature, "(J)Lcom/sun/cri/ri/RiConstantPool;") \ template(createCiConstantInt_name, "createCiConstantInt") \ template(createCiConstantInt_signature, "(I)Lcom/sun/cri/ci/CiConstant;") \ template(createCiConstantLong_name, "createCiConstantLong") \ @@ -275,8 +294,6 @@ template(createCiConstantDouble_name, "createCiConstantDouble") \ template(createCiConstantDouble_signature, "(D)Lcom/sun/cri/ci/CiConstant;") \ template(createCiConstantObject_name, "createCiConstantObject") \ - template(createCiConstantObject_signature, "(Ljava/lang/Object;)Lcom/sun/cri/ci/CiConstant;") \ - template(com_sun_hotspot_c1x_Compiler, "com/sun/hotspot/c1x/Compiler") \ template(getVMExits_name, "getVMExits") \ template(getVMExits_signature, "()Lcom/sun/hotspot/c1x/VMExits;") \ \ @@ -373,6 +390,7 @@ template(form_name, "form") \ template(erasedType_name, "erasedType") \ template(append_name, "append") \ + template(id_name, "id") \ \ /* non-intrinsic name/signature pairs: */ \ template(register_method_name, "register") \ diff -r 3483ec571caf -r 760213a60e8b src/share/vm/code/compiledIC.cpp --- a/src/share/vm/code/compiledIC.cpp Mon Aug 02 15:44:38 2010 -0700 +++ b/src/share/vm/code/compiledIC.cpp Mon Aug 16 18:59:36 2010 -0700 @@ -514,7 +514,7 @@ NativeJump* jump = nativeJump_at(method_holder->next_instruction_address()); assert(method_holder->data() == 0 || method_holder->data() == (intptr_t)callee(), "a) MT-unsafe modification of inline cache"); - assert(jump->jump_destination() == (address)-1 || jump->jump_destination() == entry, "b) MT-unsafe modification of inline cache"); + assert(UseC1X || jump->jump_destination() == (address)-1 || jump->jump_destination() == entry, "b) MT-unsafe modification of inline cache"); // Update stub method_holder->set_data((intptr_t)callee()); diff -r 3483ec571caf -r 760213a60e8b src/share/vm/code/nmethod.cpp --- a/src/share/vm/code/nmethod.cpp Mon Aug 02 15:44:38 2010 -0700 +++ b/src/share/vm/code/nmethod.cpp Mon Aug 16 18:59:36 2010 -0700 @@ -2200,7 +2200,7 @@ // information in a table. break; } - assert(stub == NULL || stub_contains(stub), "static call stub outside stub section"); + assert(UseC1X || stub == NULL || stub_contains(stub), "static call stub outside stub section"); } } diff -r 3483ec571caf -r 760213a60e8b src/share/vm/interpreter/rewriter.cpp --- a/src/share/vm/interpreter/rewriter.cpp Mon Aug 02 15:44:38 2010 -0700 +++ b/src/share/vm/interpreter/rewriter.cpp Mon Aug 16 18:59:36 2010 -0700 @@ -177,12 +177,14 @@ switch (c) { case Bytecodes::_lookupswitch : { #ifndef CC_INTERP - Bytecode_lookupswitch* bc = Bytecode_lookupswitch_at(bcp); - bc->set_code( - bc->number_of_pairs() < BinarySwitchThreshold - ? Bytecodes::_fast_linearswitch - : Bytecodes::_fast_binaryswitch - ); + if (!UseC1X) { + Bytecode_lookupswitch* bc = Bytecode_lookupswitch_at(bcp); + bc->set_code( + bc->number_of_pairs() < BinarySwitchThreshold + ? Bytecodes::_fast_linearswitch + : Bytecodes::_fast_binaryswitch + ); + } #endif break; } diff -r 3483ec571caf -r 760213a60e8b src/share/vm/interpreter/templateTable.cpp --- a/src/share/vm/interpreter/templateTable.cpp Mon Aug 02 15:44:38 2010 -0700 +++ b/src/share/vm/interpreter/templateTable.cpp Mon Aug 16 18:59:36 2010 -0700 @@ -427,7 +427,8 @@ def(Bytecodes::_jsr , ubcp|disp|____|____, vtos, vtos, jsr , _ ); // result is not an oop, so do not transition to atos def(Bytecodes::_ret , ubcp|disp|____|____, vtos, vtos, ret , _ ); def(Bytecodes::_tableswitch , ubcp|disp|____|____, itos, vtos, tableswitch , _ ); - def(Bytecodes::_lookupswitch , ubcp|disp|____|____, itos, itos, lookupswitch , _ ); +// def(Bytecodes::_lookupswitch , ubcp|disp|____|____, itos, itos, lookupswitch , _ ); + def(Bytecodes::_lookupswitch , ubcp|disp|____|____, itos, vtos, fast_linearswitch , _ ); def(Bytecodes::_ireturn , ____|disp|clvm|____, itos, itos, _return , itos ); def(Bytecodes::_lreturn , ____|disp|clvm|____, ltos, ltos, _return , ltos ); def(Bytecodes::_freturn , ____|disp|clvm|____, ftos, ftos, _return , ftos );