1: 2: // test control flow with IF and WHILE statements 3: 4: void main ( ) 5: { 6: int i,n,x,y,z; 7: 8: n = 10; 9: i = 1; 10: 11: printStr("Sum of odd numbers should be: 1 4 9 16 25 36 49 64 81"); 12: printLn(); 13: 14: while ( i < n ) 15: { 16: x = 1; 17: y = 0; 18: while ( x < (2*i) ) 19: { 20: z = (x / 2); 21: z = x - (2 * z); 22: if ( z != 0 ) 23: { 24: y = y + x; 25: } 26: x = x + 1; 27: } 28: 29: printStr("Sum of odd numbers from 1 to "); 30: z = x-1; 31: printInt(z); 32: printStr(" is "); 33: printInt(y); 34: printLn(); 35: i = i + 1; 36: } 37: } 38: ** Global Variables ** printLn, void, function, param = main, void, function, param = printStr, void, function, param = String printInt, void, function, param = int ** Local Variables in main() ** z, int i, int y, int n, int x, int TREE_PROC: main { TREE_INSTR: n = 10 TREE_INSTR: i = 1 TREE_INSTR: CALL printStr("Sum of odd numbers should be: 1 4 9 16 25 36 49 64 81") TREE_INSTR: CALL printLn() TREE_WHILE: CONDITION: (i LESS n) { TREE_INSTR: x = 1 TREE_INSTR: y = 0 TREE_WHILE: CONDITION: (x LESS (2 MUL i)) { TREE_INSTR: z = (x DIV 2) TREE_INSTR: z = (x MINUS (2 MUL z)) TREE_IF: CONDITION: (z NE_OP 0) { TREE_INSTR: y = (y PLUS x) } END_IF TREE_INSTR: x = (x PLUS 1) } END_WHILE TREE_INSTR: CALL printStr("Sum of odd numbers from 1 to ") TREE_INSTR: z = (x MINUS 1) TREE_INSTR: CALL printInt(z) TREE_INSTR: CALL printStr(" is ") TREE_INSTR: CALL printInt(y) TREE_INSTR: CALL printLn() TREE_INSTR: i = (i PLUS 1) } END_WHILE } END_PROC ** Basic block: 0 ** Length: 1 Successors: 1 Predecessors: GEN {} KILL {} IN {} OUT {} > 0: bipush 10 ** Basic block: 1 ** Length: 1 Successors: 2 Predecessors: 0 GEN {} KILL {4} IN {} OUT {4} > 2: istore 4 ** Basic block: 2 ** Length: 1 Successors: 3 Predecessors: 1 GEN {} KILL {} IN {4} OUT {4} > 4: iconst_1 ** Basic block: 3 ** Length: 1 Successors: 4 Predecessors: 2 GEN {} KILL {2} IN {4} OUT {2, 4} > 5: istore_2 ** Basic block: 4 ** Length: 1 Successors: 5 Predecessors: 3 GEN {} KILL {} IN {2, 4} OUT {2, 4} > 6: getstatic 12 ** Basic block: 5 ** Length: 1 Successors: 6 Predecessors: 4 GEN {} KILL {} IN {2, 4} OUT {2, 4} > 9: ldc 31 ** Basic block: 6 ** Length: 1 Successors: 7 Predecessors: 5 GEN {} KILL {} IN {2, 4} OUT {2, 4} > 11: invokevirtual 26 ** Basic block: 7 ** Length: 1 Successors: 8 Predecessors: 6 GEN {} KILL {} IN {2, 4} OUT {2, 4} > 14: getstatic 12 ** Basic block: 8 ** Length: 1 Successors: 9 Predecessors: 7 GEN {} KILL {} IN {2, 4} OUT {2, 4} > 17: invokevirtual 18 ** Basic block: 9 ** Length: 1 Successors: 10 Predecessors: 8 77 GEN {2} KILL {} IN {2, 4} OUT {2, 4} > 21: iload_2 ** Basic block: 10 ** Length: 1 Successors: 11 Predecessors: 9 GEN {4} KILL {} IN {2, 4} OUT {2, 4} > 22: iload 4 ** Basic block: 11 ** Length: 1 Successors: 12 14 Predecessors: 10 GEN {} KILL {} IN {2, 4} OUT {2, 4} > 24: if_icmplt -> 32 ** Basic block: 12 ** Length: 1 Successors: 13 Predecessors: 11 GEN {} KILL {} IN {2, 4} OUT {2, 4} > 27: iconst_0 ** Basic block: 13 ** Length: 1 Successors: 15 Predecessors: 12 GEN {} KILL {} IN {2, 4} OUT {2, 4} > 28: goto -> 34 ** Basic block: 14 ** Length: 1 Successors: 15 Predecessors: 11 GEN {} KILL {} IN {2, 4} OUT {2, 4} > 32: iconst_1 ** Basic block: 15 ** Length: 1 Successors: 16 78 Predecessors: 13 14 GEN {} KILL {} IN {2, 4} OUT {2, 4} > 34: ifeq -> 153 ** Basic block: 16 ** Length: 1 Successors: 17 Predecessors: 15 GEN {} KILL {} IN {2, 4} OUT {2, 4} > 37: iconst_1 ** Basic block: 17 ** Length: 1 Successors: 18 Predecessors: 16 GEN {} KILL {5} IN {2, 4} OUT {2, 4, 5} > 38: istore 5 ** Basic block: 18 ** Length: 1 Successors: 19 Predecessors: 17 GEN {} KILL {} IN {2, 4, 5} OUT {2, 4, 5} > 40: iconst_0 ** Basic block: 19 ** Length: 1 Successors: 20 Predecessors: 18 GEN {} KILL {3} IN {2, 4, 5} OUT {2, 3, 4, 5} > 41: istore_3 ** Basic block: 20 ** Length: 1 Successors: 21 Predecessors: 19 54 GEN {5} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4, 5} > 43: iload 5 ** Basic block: 21 ** Length: 1 Successors: 22 Predecessors: 20 GEN {} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4, 5} > 45: iconst_2 ** Basic block: 22 ** Length: 1 Successors: 23 Predecessors: 21 GEN {2} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4, 5} > 46: iload_2 ** Basic block: 23 ** Length: 1 Successors: 24 Predecessors: 22 GEN {} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4, 5} > 47: imul ** Basic block: 24 ** Length: 1 Successors: 25 27 Predecessors: 23 GEN {} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4, 5} > 48: if_icmplt -> 56 ** Basic block: 25 ** Length: 1 Successors: 26 Predecessors: 24 GEN {} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4, 5} > 51: iconst_0 ** Basic block: 26 ** Length: 1 Successors: 28 Predecessors: 25 GEN {} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4, 5} > 52: goto -> 58 ** Basic block: 27 ** Length: 1 Successors: 28 Predecessors: 24 GEN {} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4, 5} > 56: iconst_1 ** Basic block: 28 ** Length: 1 Successors: 29 55 Predecessors: 26 27 GEN {} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4, 5} > 58: ifeq -> 104 ** Basic block: 29 ** Length: 1 Successors: 30 Predecessors: 28 GEN {5} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4, 5} > 61: iload 5 ** Basic block: 30 ** Length: 1 Successors: 31 Predecessors: 29 GEN {} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4, 5} > 63: iconst_2 ** Basic block: 31 ** Length: 1 Successors: 32 Predecessors: 30 GEN {} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4, 5} > 64: idiv ** Basic block: 32 ** Length: 1 Successors: 33 Predecessors: 31 GEN {} KILL {1} IN {2, 3, 4, 5} OUT {1, 2, 3, 4, 5} > 65: istore_1 ** Basic block: 33 ** Length: 1 Successors: 34 Predecessors: 32 GEN {5} KILL {} IN {1, 2, 3, 4, 5} OUT {1, 2, 3, 4, 5} > 66: iload 5 ** Basic block: 34 ** Length: 1 Successors: 35 Predecessors: 33 GEN {} KILL {} IN {1, 2, 3, 4, 5} OUT {1, 2, 3, 4, 5} > 68: iconst_2 ** Basic block: 35 ** Length: 1 Successors: 36 Predecessors: 34 GEN {1} KILL {} IN {1, 2, 3, 4, 5} OUT {2, 3, 4, 5} > 69: iload_1 ** Basic block: 36 ** Length: 1 Successors: 37 Predecessors: 35 GEN {} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4, 5} > 70: imul ** Basic block: 37 ** Length: 1 Successors: 38 Predecessors: 36 GEN {} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4, 5} > 71: isub ** Basic block: 38 ** Length: 1 Successors: 39 Predecessors: 37 GEN {} KILL {1} IN {2, 3, 4, 5} OUT {1, 2, 3, 4, 5} > 72: istore_1 ** Basic block: 39 ** Length: 1 Successors: 40 Predecessors: 38 GEN {1} KILL {} IN {1, 2, 3, 4, 5} OUT {2, 3, 4, 5} > 73: iload_1 ** Basic block: 40 ** Length: 1 Successors: 41 Predecessors: 39 GEN {} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4, 5} > 74: iconst_0 ** Basic block: 41 ** Length: 1 Successors: 42 44 Predecessors: 40 GEN {} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4, 5} > 75: if_icmpne -> 83 ** Basic block: 42 ** Length: 1 Successors: 43 Predecessors: 41 GEN {} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4, 5} > 78: iconst_0 ** Basic block: 43 ** Length: 1 Successors: 45 Predecessors: 42 GEN {} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4, 5} > 79: goto -> 85 ** Basic block: 44 ** Length: 1 Successors: 45 Predecessors: 41 GEN {} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4, 5} > 83: iconst_1 ** Basic block: 45 ** Length: 1 Successors: 46 50 Predecessors: 43 44 GEN {} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4, 5} > 85: ifeq -> 94 ** Basic block: 46 ** Length: 1 Successors: 47 Predecessors: 45 GEN {3} KILL {} IN {2, 3, 4, 5} OUT {2, 4, 5} > 88: iload_3 ** Basic block: 47 ** Length: 1 Successors: 48 Predecessors: 46 GEN {5} KILL {} IN {2, 4, 5} OUT {2, 4, 5} > 89: iload 5 ** Basic block: 48 ** Length: 1 Successors: 49 Predecessors: 47 GEN {} KILL {} IN {2, 4, 5} OUT {2, 4, 5} > 91: iadd ** Basic block: 49 ** Length: 1 Successors: 50 Predecessors: 48 GEN {} KILL {3} IN {2, 4, 5} OUT {2, 3, 4, 5} > 92: istore_3 ** Basic block: 50 ** Length: 1 Successors: 51 Predecessors: 45 49 GEN {5} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4} > 94: iload 5 ** Basic block: 51 ** Length: 1 Successors: 52 Predecessors: 50 GEN {} KILL {} IN {2, 3, 4} OUT {2, 3, 4} > 96: iconst_1 ** Basic block: 52 ** Length: 1 Successors: 53 Predecessors: 51 GEN {} KILL {} IN {2, 3, 4} OUT {2, 3, 4} > 97: iadd ** Basic block: 53 ** Length: 1 Successors: 54 Predecessors: 52 GEN {} KILL {5} IN {2, 3, 4} OUT {2, 3, 4, 5} > 98: istore 5 ** Basic block: 54 ** Length: 1 Successors: 20 Predecessors: 53 GEN {} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4, 5} > 100: goto -> 43 ** Basic block: 55 ** Length: 1 Successors: 56 Predecessors: 28 GEN {} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4, 5} > 104: getstatic 12 ** Basic block: 56 ** Length: 1 Successors: 57 Predecessors: 55 GEN {} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4, 5} > 107: ldc 33 ** Basic block: 57 ** Length: 1 Successors: 58 Predecessors: 56 GEN {} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4, 5} > 109: invokevirtual 26 ** Basic block: 58 ** Length: 1 Successors: 59 Predecessors: 57 GEN {5} KILL {} IN {2, 3, 4, 5} OUT {2, 3, 4} > 112: iload 5 ** Basic block: 59 ** Length: 1 Successors: 60 Predecessors: 58 GEN {} KILL {} IN {2, 3, 4} OUT {2, 3, 4} > 114: iconst_1 ** Basic block: 60 ** Length: 1 Successors: 61 Predecessors: 59 GEN {} KILL {} IN {2, 3, 4} OUT {2, 3, 4} > 115: isub ** Basic block: 61 ** Length: 1 Successors: 62 Predecessors: 60 GEN {} KILL {1} IN {2, 3, 4} OUT {1, 2, 3, 4} > 116: istore_1 ** Basic block: 62 ** Length: 1 Successors: 63 Predecessors: 61 GEN {} KILL {} IN {1, 2, 3, 4} OUT {1, 2, 3, 4} > 117: getstatic 12 ** Basic block: 63 ** Length: 1 Successors: 64 Predecessors: 62 GEN {1} KILL {} IN {1, 2, 3, 4} OUT {2, 3, 4} > 120: iload_1 ** Basic block: 64 ** Length: 1 Successors: 65 Predecessors: 63 GEN {} KILL {} IN {2, 3, 4} OUT {2, 3, 4} > 121: invokevirtual 29 ** Basic block: 65 ** Length: 1 Successors: 66 Predecessors: 64 GEN {} KILL {} IN {2, 3, 4} OUT {2, 3, 4} > 124: getstatic 12 ** Basic block: 66 ** Length: 1 Successors: 67 Predecessors: 65 GEN {} KILL {} IN {2, 3, 4} OUT {2, 3, 4} > 127: ldc 35 ** Basic block: 67 ** Length: 1 Successors: 68 Predecessors: 66 GEN {} KILL {} IN {2, 3, 4} OUT {2, 3, 4} > 129: invokevirtual 26 ** Basic block: 68 ** Length: 1 Successors: 69 Predecessors: 67 GEN {} KILL {} IN {2, 3, 4} OUT {2, 3, 4} > 132: getstatic 12 ** Basic block: 69 ** Length: 1 Successors: 70 Predecessors: 68 GEN {3} KILL {} IN {2, 3, 4} OUT {2, 4} > 135: iload_3 ** Basic block: 70 ** Length: 1 Successors: 71 Predecessors: 69 GEN {} KILL {} IN {2, 4} OUT {2, 4} > 136: invokevirtual 29 ** Basic block: 71 ** Length: 1 Successors: 72 Predecessors: 70 GEN {} KILL {} IN {2, 4} OUT {2, 4} > 139: getstatic 12 ** Basic block: 72 ** Length: 1 Successors: 73 Predecessors: 71 GEN {} KILL {} IN {2, 4} OUT {2, 4} > 142: invokevirtual 18 ** Basic block: 73 ** Length: 1 Successors: 74 Predecessors: 72 GEN {2} KILL {} IN {2, 4} OUT {4} > 145: iload_2 ** Basic block: 74 ** Length: 1 Successors: 75 Predecessors: 73 GEN {} KILL {} IN {4} OUT {4} > 146: iconst_1 ** Basic block: 75 ** Length: 1 Successors: 76 Predecessors: 74 GEN {} KILL {} IN {4} OUT {4} > 147: iadd ** Basic block: 76 ** Length: 1 Successors: 77 Predecessors: 75 GEN {} KILL {2} IN {4} OUT {2, 4} > 148: istore_2 ** Basic block: 77 ** Length: 1 Successors: 9 Predecessors: 76 GEN {} KILL {} IN {2, 4} OUT {2, 4} > 149: goto -> 21 ** Basic block: 78 ** Length: 1 Successors: 79 Predecessors: 15 GEN {} KILL {} IN {} OUT {} > 153: return ** Basic block: 79 ** Length: 0 Successors: Predecessors: 78 GEN {} KILL {} IN {} OUT {} <<---- Live Ranges ---->> [B 0] [Live ] 0: bipush 10 [B 1] [Live ] 2: istore 4 [B 2] [Live 4 ] 4: iconst_1 [B 3] [Live 4 ] 5: istore_2 [B 4] [Live 2 4 ] 6: getstatic 12 [B 5] [Live 2 4 ] 9: ldc 31 [B 6] [Live 2 4 ] 11: invokevirtual 26 [B 7] [Live 2 4 ] 14: getstatic 12 [B 8] [Live 2 4 ] 17: invokevirtual 18 [B 9] [Live 2 4 ] 21: iload_2 [B 10] [Live 2 4 ] 22: iload 4 [B 11] [Live 2 4 ] 24: if_icmplt -> 32 [B 12] [Live 2 4 ] 27: iconst_0 [B 13] [Live 2 4 ] 28: goto -> 34 [B 14] [Live 2 4 ] 32: iconst_1 [B 15] [Live 2 4 ] 34: ifeq -> 153 [B 16] [Live 2 4 ] 37: iconst_1 [B 17] [Live 2 4 ] 38: istore 5 [B 18] [Live 2 4 5 ] 40: iconst_0 [B 19] [Live 2 4 5 ] 41: istore_3 [B 20] [Live 2 3 4 5 ] 43: iload 5 [B 21] [Live 2 3 4 5 ] 45: iconst_2 [B 22] [Live 2 3 4 5 ] 46: iload_2 [B 23] [Live 2 3 4 5 ] 47: imul [B 24] [Live 2 3 4 5 ] 48: if_icmplt -> 56 [B 25] [Live 2 3 4 5 ] 51: iconst_0 [B 26] [Live 2 3 4 5 ] 52: goto -> 58 [B 27] [Live 2 3 4 5 ] 56: iconst_1 [B 28] [Live 2 3 4 5 ] 58: ifeq -> 104 [B 29] [Live 2 3 4 5 ] 61: iload 5 [B 30] [Live 2 3 4 5 ] 63: iconst_2 [B 31] [Live 2 3 4 5 ] 64: idiv [B 32] [Live 2 3 4 5 ] 65: istore_1 [B 33] [Live 1 2 3 4 5 ] 66: iload 5 [B 34] [Live 1 2 3 4 5 ] 68: iconst_2 [B 35] [Live 1 2 3 4 5 ] 69: iload_1 [B 36] [Live 2 3 4 5 ] 70: imul [B 37] [Live 2 3 4 5 ] 71: isub [B 38] [Live 2 3 4 5 ] 72: istore_1 [B 39] [Live 1 2 3 4 5 ] 73: iload_1 [B 40] [Live 2 3 4 5 ] 74: iconst_0 [B 41] [Live 2 3 4 5 ] 75: if_icmpne -> 83 [B 42] [Live 2 3 4 5 ] 78: iconst_0 [B 43] [Live 2 3 4 5 ] 79: goto -> 85 [B 44] [Live 2 3 4 5 ] 83: iconst_1 [B 45] [Live 2 3 4 5 ] 85: ifeq -> 94 [B 46] [Live 2 3 4 5 ] 88: iload_3 [B 47] [Live 2 4 5 ] 89: iload 5 [B 48] [Live 2 4 5 ] 91: iadd [B 49] [Live 2 4 5 ] 92: istore_3 [B 50] [Live 2 3 4 5 ] 94: iload 5 [B 51] [Live 2 3 4 ] 96: iconst_1 [B 52] [Live 2 3 4 ] 97: iadd [B 53] [Live 2 3 4 ] 98: istore 5 [B 54] [Live 2 3 4 5 ] 100: goto -> 43 [B 55] [Live 2 3 4 5 ] 104: getstatic 12 [B 56] [Live 2 3 4 5 ] 107: ldc 33 [B 57] [Live 2 3 4 5 ] 109: invokevirtual 26 [B 58] [Live 2 3 4 5 ] 112: iload 5 [B 59] [Live 2 3 4 ] 114: iconst_1 [B 60] [Live 2 3 4 ] 115: isub [B 61] [Live 2 3 4 ] 116: istore_1 [B 62] [Live 1 2 3 4 ] 117: getstatic 12 [B 63] [Live 1 2 3 4 ] 120: iload_1 [B 64] [Live 2 3 4 ] 121: invokevirtual 29 [B 65] [Live 2 3 4 ] 124: getstatic 12 [B 66] [Live 2 3 4 ] 127: ldc 35 [B 67] [Live 2 3 4 ] 129: invokevirtual 26 [B 68] [Live 2 3 4 ] 132: getstatic 12 [B 69] [Live 2 3 4 ] 135: iload_3 [B 70] [Live 2 4 ] 136: invokevirtual 29 [B 71] [Live 2 4 ] 139: getstatic 12 [B 72] [Live 2 4 ] 142: invokevirtual 18 [B 73] [Live 2 4 ] 145: iload_2 [B 74] [Live 4 ] 146: iconst_1 [B 75] [Live 4 ] 147: iadd [B 76] [Live 4 ] 148: istore_2 [B 77] [Live 2 4 ] 149: goto -> 21 [B 78] [Live ] 153: return <<---- Local Variables in main() ---->> LocalVariable(start_pc = 0, length = 142, index = 0:String[] argv) LocalVariable(start_pc = 0, length = 142, index = 1:int z) LocalVariable(start_pc = 0, length = 142, index = 2:int i) LocalVariable(start_pc = 0, length = 142, index = 3:int y) LocalVariable(start_pc = 0, length = 142, index = 4:int n) LocalVariable(start_pc = 0, length = 142, index = 5:int x) <<---- Global Variables ---->> Compiled from "" public class test5 extends java.lang.Object{ public static void main(java.lang.String[]); Code: 0: bipush 10 2: istore 4 4: iconst_1 5: istore_2 6: getstatic #12; //Field java/lang/System.out:Ljava/io/PrintStream; 9: ldc #31; //String Sum of odd numbers should be: 1 4 9 16 25 36 49 64 81 11: invokevirtual #26; //Method java/io/PrintStream.print:(Ljava/lang/String;)V 14: getstatic #12; //Field java/lang/System.out:Ljava/io/PrintStream; 17: invokevirtual #18; //Method java/io/PrintStream.println:()V 20: iload_2 21: iload 4 23: if_icmplt 30 26: iconst_0 27: goto 31 30: iconst_1 31: ifeq 142 34: iconst_1 35: istore 5 37: iconst_0 38: istore_3 39: iload 5 41: iconst_2 42: iload_2 43: imul 44: if_icmplt 51 47: iconst_0 48: goto 52 51: iconst_1 52: ifeq 94 55: iload 5 57: iconst_2 58: idiv 59: istore_1 60: iload 5 62: iconst_2 63: iload_1 64: imul 65: isub 66: istore_1 67: iload_1 68: iconst_0 69: if_icmpne 76 72: iconst_0 73: goto 77 76: iconst_1 77: ifeq 85 80: iload_3 81: iload 5 83: iadd 84: istore_3 85: iload 5 87: iconst_1 88: iadd 89: istore 5 91: goto 39 94: getstatic #12; //Field java/lang/System.out:Ljava/io/PrintStream; 97: ldc #33; //String Sum of odd numbers from 1 to 99: invokevirtual #26; //Method java/io/PrintStream.print:(Ljava/lang/String;)V 102: iload 5 104: iconst_1 105: isub 106: istore_1 107: getstatic #12; //Field java/lang/System.out:Ljava/io/PrintStream; 110: iload_1 111: invokevirtual #29; //Method java/io/PrintStream.print:(I)V 114: getstatic #12; //Field java/lang/System.out:Ljava/io/PrintStream; 117: ldc #35; //String is 119: invokevirtual #26; //Method java/io/PrintStream.print:(Ljava/lang/String;)V 122: getstatic #12; //Field java/lang/System.out:Ljava/io/PrintStream; 125: iload_3 126: invokevirtual #29; //Method java/io/PrintStream.print:(I)V 129: getstatic #12; //Field java/lang/System.out:Ljava/io/PrintStream; 132: invokevirtual #18; //Method java/io/PrintStream.println:()V 135: iload_2 136: iconst_1 137: iadd 138: istore_2 139: goto 20 142: return public test5(); Code: 0: aload_0 1: invokespecial #48; //Method java/lang/Object."":()V 4: return }