| for (...) n += (i*i); return 2 *n | | for (...) n += 2*(i*i); return n |
| public int square_i_two(); | | public int two_square_i(); |
| descriptor: ()I | | descriptor: ()I |
| flags: ACC_PUBLIC | | flags: ACC_PUBLIC |
| Code: | | Code: |
| stack=3, locals=3, args_size=1 | | stack=4, locals=3, args_size=1 |
| 0: iconst_0 | | 0: iconst_0 |
| 1: istore_1 | | 1: istore_1 |
| 2: iconst_0 | | 2: iconst_0 |
| 3: istore_2 | | 3: istore_2 |
| 4: iload_2 | | 4: iload_2 |
| 5: aload_0 | | 5: aload_0 |
| 6: getfield #2 // Field size:I | | 6: getfield #2 // Field size:I |
| 9: if_icmpge 24 | | 9: if_icmpge 26 |
| 12: iload_1 | | 12: iload_1 |
| 13: iload_2 | | 13: iconst_2 |
| 14: iload_2 | | 14: iload_2 |
| 15: imul | | 15: iload_2 |
| 16: iadd | | 16: imul |
| 17: istore_1 | | 17: imul |
| 18: iinc 2, 1 | | 18: iadd |
| 21: goto 4 | | 19: istore_1 |
| 24: iconst_2 | | 20: iinc 2, 1 |
| 25: iload_1 | | 23: goto 4 |
| 26: imul | | 26: iload_1 |
| 27: ireturn | | 27: ireturn |
| LineNumberTable: | | LineNumberTable: |
| line 63: 0 | | line 54: 0 |
| line 64: 2 | | line 55: 2 |
| line 65: 12 | | line 56: 12 |
| line 64: 18 | | line 55: 20 |
| line 67: 24 | | line 58: 26 |
| LocalVariableTable: | | LocalVariableTable: |
| Start Length Slot Name Signature | | Start Length Slot Name Signature |
| 4 20 2 i I | | 4 22 2 i I |
| 0 28 0 this Lorg/sample/MyBenchmark; | | 0 28 0 this Lorg/sample/MyBenchmark; |
| 2 26 1 n I | | 2 26 1 n I |
| StackMapTable: number_of_entries = 2 | | StackMapTable: number_of_entries = 2 |
| frame_type = 253 /* append */ | | frame_type = 253 /* append */ |
| offset_delta = 4 | | offset_delta = 4 |
| locals = [ int, int ] | | locals = [ int, int ] |
| frame_type = 250 /* chop */ | | frame_type = 250 /* chop */ |
| offset_delta = 19 | | offset_delta = 21 |
| RuntimeVisibleAnnotations: | | RuntimeVisibleAnnotations: |
| 0: #25() | | 0: #25() |