ClassFileAnalyzer (Can)
Home

 

Example: TestCanWide

Test jvm instruction wide

 

/* TestCanWide.java */

public class TestCanWide {
  
  public static void main(String[] args) {
    
    int i1 = 0;
    i1 += 300;
    
    int a1 = 0; int a2 = 0; int a3 = 0; int a4 = 0; int a5 = 0;
    int a6 = 0; int a7 = 0; int a8 = 0; int a9 = 0; int a10 = 0;
    int a11 = 0; int a12 = 0; int a13 = 0; int a14 = 0; int a15 = 0;
    int a16 = 0; int a17 = 0; int a18 = 0; int a19 = 0; int a20 = 0;
    int a21 = 0; int a22 = 0; int a23 = 0; int a24 = 0; int a25 = 0;
    int a26 = 0; int a27 = 0; int a28 = 0; int a29 = 0; int a30 = 0;
    int a31 = 0; int a32 = 0; int a33 = 0; int a34 = 0; int a35 = 0;
    int a36 = 0; int a37 = 0; int a38 = 0; int a39 = 0; int a40 = 0;
    int a41 = 0; int a42 = 0; int a43 = 0; int a44 = 0; int a45 = 0;
    int a46 = 0; int a47 = 0; int a48 = 0; int a49 = 0; int a50 = 0;
    int a51 = 0; int a52 = 0; int a53 = 0; int a54 = 0; int a55 = 0;
    int a56 = 0; int a57 = 0; int a58 = 0; int a59 = 0; int a60 = 0;
    int a61 = 0; int a62 = 0; int a63 = 0; int a64 = 0; int a65 = 0;
    int a66 = 0; int a67 = 0; int a68 = 0; int a69 = 0; int a70 = 0;
    int a71 = 0; int a72 = 0; int a73 = 0; int a74 = 0; int a75 = 0;
    int a76 = 0; int a77 = 0; int a78 = 0; int a79 = 0; int a80 = 0;
    int a81 = 0; int a82 = 0; int a83 = 0; int a84 = 0; int a85 = 0;
    int a86 = 0; int a87 = 0; int a88 = 0; int a89 = 0; int a90 = 0;
    int a91 = 0; int a92 = 0; int a93 = 0; int a94 = 0; int a95 = 0;
    int a96 = 0; int a97 = 0; int a98 = 0; int a99 = 0; int a100 = 0;

    int a101 = 0; int a102 = 0; int a103 = 0; int a104 = 0; int a105 = 0;
    int a106 = 0; int a107 = 0; int a108 = 0; int a109 = 0; int a110 = 0;
    int a111 = 0; int a112 = 0; int a113 = 0; int a114 = 0; int a115 = 0;
    int a116 = 0; int a117 = 0; int a118 = 0; int a119 = 0; int a120 = 0;
    int a121 = 0; int a122 = 0; int a123 = 0; int a124 = 0; int a125 = 0;
    int a126 = 0; int a127 = 0; int a128 = 0; int a129 = 0; int a130 = 0;
    int a131 = 0; int a132 = 0; int a133 = 0; int a134 = 0; int a135 = 0;
    int a136 = 0; int a137 = 0; int a138 = 0; int a139 = 0; int a140 = 0;
    int a141 = 0; int a142 = 0; int a143 = 0; int a144 = 0; int a145 = 0;
    int a146 = 0; int a147 = 0; int a148 = 0; int a149 = 0; int a150 = 0;
    int a151 = 0; int a152 = 0; int a153 = 0; int a154 = 0; int a155 = 0;
    int a156 = 0; int a157 = 0; int a158 = 0; int a159 = 0; int a160 = 0;
    int a161 = 0; int a162 = 0; int a163 = 0; int a164 = 0; int a165 = 0;
    int a166 = 0; int a167 = 0; int a168 = 0; int a169 = 0; int a170 = 0;
    int a171 = 0; int a172 = 0; int a173 = 0; int a174 = 0; int a175 = 0;
    int a176 = 0; int a177 = 0; int a178 = 0; int a179 = 0; int a180 = 0;
    int a181 = 0; int a182 = 0; int a183 = 0; int a184 = 0; int a185 = 0;
    int a186 = 0; int a187 = 0; int a188 = 0; int a189 = 0; int a190 = 0;
    int a191 = 0; int a192 = 0; int a193 = 0; int a194 = 0; int a195 = 0;
    int a196 = 0; int a197 = 0; int a198 = 0; int a199 = 0; int a200 = 0;
   
    int a201 = 0; int a202 = 0; int a203 = 0; int a204 = 0; int a205 = 0;
    int a206 = 0; int a207 = 0; int a208 = 0; int a209 = 0; int a210 = 0;
    int a211 = 0; int a212 = 0; int a213 = 0; int a214 = 0; int a215 = 0;
    int a216 = 0; int a217 = 0; int a218 = 0; int a219 = 0; int a220 = 0;
    int a221 = 0; int a222 = 0; int a223 = 0; int a224 = 0; int a225 = 0;
    int a226 = 0; int a227 = 0; int a228 = 0; int a229 = 0; int a230 = 0;
    int a231 = 0; int a232 = 0; int a233 = 0; int a234 = 0; int a235 = 0;
    int a236 = 0; int a237 = 0; int a238 = 0; int a239 = 0; int a240 = 0;
    int a241 = 0; int a242 = 0; int a243 = 0; int a244 = 0; int a245 = 0;
    int a246 = 0; int a247 = 0; int a248 = 0; int a249 = 0; int a250 = 0;

    int a251 = 0; int a252 = 0; int a253 = 0; int a254 = 0; int a255 = 0;
    
    int b = a255;
    int i2 = 0;
    i2 += 300;
    
  }
}

 

> javac TestCanWide.java
> java ClassFileAnalyzer TestCanWide.class

 

; TestCanWide.j

; Generated by ClassFileAnalyzer (Can)
; Analyzer and Disassembler for Java class files
; (Jasmin syntax 2, http://jasmin.sourceforge.net)
;
; ClassFileAnalyzer, version 0.7.0 


.bytecode 50.0
.source TestCanWide.java
.class public TestCanWide
.super java/lang/Object

.method public <init>()V
  .limit stack 1
  .limit locals 1
  .line 3
  0: aload_0
  1: invokespecial java/lang/Object/<init>()V
  4: return
.end method

.method public static main([Ljava/lang/String;)V
  .limit stack 1
  .limit locals 259
  .line 7
  0: iconst_0
  1: istore_1
  .line 8
  ; 0xc4 (wide)
  3: iinc 1 300
  .line 10
  8: iconst_0
  9: istore_2
  10: iconst_0
  11: istore_3
  12: iconst_0
  13: istore 4
  15: iconst_0
  16: istore 5
  18: iconst_0
  19: istore 6
  .line 11
  21: iconst_0
  22: istore 7
  24: iconst_0
  25: istore 8
  27: iconst_0
  28: istore 9
  30: iconst_0
  31: istore 10
  33: iconst_0
  34: istore 11
  .line 12
  36: iconst_0
  37: istore 12
  39: iconst_0
  40: istore 13
  42: iconst_0
  43: istore 14
  45: iconst_0
  46: istore 15
  48: iconst_0
  49: istore 16
  .line 13
  51: iconst_0
  52: istore 17
  54: iconst_0
  55: istore 18
  57: iconst_0
  58: istore 19
  60: iconst_0
  61: istore 20
  63: iconst_0
  64: istore 21
  .line 14
  66: iconst_0
  67: istore 22
  69: iconst_0
  70: istore 23
  72: iconst_0
  73: istore 24
  75: iconst_0
  76: istore 25
  78: iconst_0
  79: istore 26
  .line 15
  81: iconst_0
  82: istore 27
  84: iconst_0
  85: istore 28
  87: iconst_0
  88: istore 29
  90: iconst_0
  91: istore 30
  93: iconst_0
  94: istore 31
  .line 16
  96: iconst_0
  97: istore 32
  99: iconst_0
  100: istore 33
  102: iconst_0
  103: istore 34
  105: iconst_0
  106: istore 35
  108: iconst_0
  109: istore 36
  .line 17
  111: iconst_0
  112: istore 37
  114: iconst_0
  115: istore 38
  117: iconst_0
  118: istore 39
  120: iconst_0
  121: istore 40
  123: iconst_0
  124: istore 41
  .line 18
  126: iconst_0
  127: istore 42
  129: iconst_0
  130: istore 43
  132: iconst_0
  133: istore 44
  135: iconst_0
  136: istore 45
  138: iconst_0
  139: istore 46
  .line 19
  141: iconst_0
  142: istore 47
  144: iconst_0
  145: istore 48
  147: iconst_0
  148: istore 49
  150: iconst_0
  151: istore 50
  153: iconst_0
  154: istore 51
  .line 20
  156: iconst_0
  157: istore 52
  159: iconst_0
  160: istore 53
  162: iconst_0
  163: istore 54
  165: iconst_0
  166: istore 55
  168: iconst_0
  169: istore 56
  .line 21
  171: iconst_0
  172: istore 57
  174: iconst_0
  175: istore 58
  177: iconst_0
  178: istore 59
  180: iconst_0
  181: istore 60
  183: iconst_0
  184: istore 61
  .line 22
  186: iconst_0
  187: istore 62
  189: iconst_0
  190: istore 63
  192: iconst_0
  193: istore 64
  195: iconst_0
  196: istore 65
  198: iconst_0
  199: istore 66
  .line 23
  201: iconst_0
  202: istore 67
  204: iconst_0
  205: istore 68
  207: iconst_0
  208: istore 69
  210: iconst_0
  211: istore 70
  213: iconst_0
  214: istore 71
  .line 24
  216: iconst_0
  217: istore 72
  219: iconst_0
  220: istore 73
  222: iconst_0
  223: istore 74
  225: iconst_0
  226: istore 75
  228: iconst_0
  229: istore 76
  .line 25
  231: iconst_0
  232: istore 77
  234: iconst_0
  235: istore 78
  237: iconst_0
  238: istore 79
  240: iconst_0
  241: istore 80
  243: iconst_0
  244: istore 81
  .line 26
  246: iconst_0
  247: istore 82
  249: iconst_0
  250: istore 83
  252: iconst_0
  253: istore 84
  255: iconst_0
  256: istore 85
  258: iconst_0
  259: istore 86
  .line 27
  261: iconst_0
  262: istore 87
  264: iconst_0
  265: istore 88
  267: iconst_0
  268: istore 89
  270: iconst_0
  271: istore 90
  273: iconst_0
  274: istore 91
  .line 28
  276: iconst_0
  277: istore 92
  279: iconst_0
  280: istore 93
  282: iconst_0
  283: istore 94
  285: iconst_0
  286: istore 95
  288: iconst_0
  289: istore 96
  .line 29
  291: iconst_0
  292: istore 97
  294: iconst_0
  295: istore 98
  297: iconst_0
  298: istore 99
  300: iconst_0
  301: istore 100
  303: iconst_0
  304: istore 101
  .line 31
  306: iconst_0
  307: istore 102
  309: iconst_0
  310: istore 103
  312: iconst_0
  313: istore 104
  315: iconst_0
  316: istore 105
  318: iconst_0
  319: istore 106
  .line 32
  321: iconst_0
  322: istore 107
  324: iconst_0
  325: istore 108
  327: iconst_0
  328: istore 109
  330: iconst_0
  331: istore 110
  333: iconst_0
  334: istore 111
  .line 33
  336: iconst_0
  337: istore 112
  339: iconst_0
  340: istore 113
  342: iconst_0
  343: istore 114
  345: iconst_0
  346: istore 115
  348: iconst_0
  349: istore 116
  .line 34
  351: iconst_0
  352: istore 117
  354: iconst_0
  355: istore 118
  357: iconst_0
  358: istore 119
  360: iconst_0
  361: istore 120
  363: iconst_0
  364: istore 121
  .line 35
  366: iconst_0
  367: istore 122
  369: iconst_0
  370: istore 123
  372: iconst_0
  373: istore 124
  375: iconst_0
  376: istore 125
  378: iconst_0
  379: istore 126
  .line 36
  381: iconst_0
  382: istore 127
  384: iconst_0
  385: istore 128
  387: iconst_0
  388: istore 129
  390: iconst_0
  391: istore 130
  393: iconst_0
  394: istore 131
  .line 37
  396: iconst_0
  397: istore 132
  399: iconst_0
  400: istore 133
  402: iconst_0
  403: istore 134
  405: iconst_0
  406: istore 135
  408: iconst_0
  409: istore 136
  .line 38
  411: iconst_0
  412: istore 137
  414: iconst_0
  415: istore 138
  417: iconst_0
  418: istore 139
  420: iconst_0
  421: istore 140
  423: iconst_0
  424: istore 141
  .line 39
  426: iconst_0
  427: istore 142
  429: iconst_0
  430: istore 143
  432: iconst_0
  433: istore 144
  435: iconst_0
  436: istore 145
  438: iconst_0
  439: istore 146
  .line 40
  441: iconst_0
  442: istore 147
  444: iconst_0
  445: istore 148
  447: iconst_0
  448: istore 149
  450: iconst_0
  451: istore 150
  453: iconst_0
  454: istore 151
  .line 41
  456: iconst_0
  457: istore 152
  459: iconst_0
  460: istore 153
  462: iconst_0
  463: istore 154
  465: iconst_0
  466: istore 155
  468: iconst_0
  469: istore 156
  .line 42
  471: iconst_0
  472: istore 157
  474: iconst_0
  475: istore 158
  477: iconst_0
  478: istore 159
  480: iconst_0
  481: istore 160
  483: iconst_0
  484: istore 161
  .line 43
  486: iconst_0
  487: istore 162
  489: iconst_0
  490: istore 163
  492: iconst_0
  493: istore 164
  495: iconst_0
  496: istore 165
  498: iconst_0
  499: istore 166
  .line 44
  501: iconst_0
  502: istore 167
  504: iconst_0
  505: istore 168
  507: iconst_0
  508: istore 169
  510: iconst_0
  511: istore 170
  513: iconst_0
  514: istore 171
  .line 45
  516: iconst_0
  517: istore 172
  519: iconst_0
  520: istore 173
  522: iconst_0
  523: istore 174
  525: iconst_0
  526: istore 175
  528: iconst_0
  529: istore 176
  .line 46
  531: iconst_0
  532: istore 177
  534: iconst_0
  535: istore 178
  537: iconst_0
  538: istore 179
  540: iconst_0
  541: istore 180
  543: iconst_0
  544: istore 181
  .line 47
  546: iconst_0
  547: istore 182
  549: iconst_0
  550: istore 183
  552: iconst_0
  553: istore 184
  555: iconst_0
  556: istore 185
  558: iconst_0
  559: istore 186
  .line 48
  561: iconst_0
  562: istore 187
  564: iconst_0
  565: istore 188
  567: iconst_0
  568: istore 189
  570: iconst_0
  571: istore 190
  573: iconst_0
  574: istore 191
  .line 49
  576: iconst_0
  577: istore 192
  579: iconst_0
  580: istore 193
  582: iconst_0
  583: istore 194
  585: iconst_0
  586: istore 195
  588: iconst_0
  589: istore 196
  .line 50
  591: iconst_0
  592: istore 197
  594: iconst_0
  595: istore 198
  597: iconst_0
  598: istore 199
  600: iconst_0
  601: istore 200
  603: iconst_0
  604: istore 201
  .line 52
  606: iconst_0
  607: istore 202
  609: iconst_0
  610: istore 203
  612: iconst_0
  613: istore 204
  615: iconst_0
  616: istore 205
  618: iconst_0
  619: istore 206
  .line 53
  621: iconst_0
  622: istore 207
  624: iconst_0
  625: istore 208
  627: iconst_0
  628: istore 209
  630: iconst_0
  631: istore 210
  633: iconst_0
  634: istore 211
  .line 54
  636: iconst_0
  637: istore 212
  639: iconst_0
  640: istore 213
  642: iconst_0
  643: istore 214
  645: iconst_0
  646: istore 215
  648: iconst_0
  649: istore 216
  .line 55
  651: iconst_0
  652: istore 217
  654: iconst_0
  655: istore 218
  657: iconst_0
  658: istore 219
  660: iconst_0
  661: istore 220
  663: iconst_0
  664: istore 221
  .line 56
  666: iconst_0
  667: istore 222
  669: iconst_0
  670: istore 223
  672: iconst_0
  673: istore 224
  675: iconst_0
  676: istore 225
  678: iconst_0
  679: istore 226
  .line 57
  681: iconst_0
  682: istore 227
  684: iconst_0
  685: istore 228
  687: iconst_0
  688: istore 229
  690: iconst_0
  691: istore 230
  693: iconst_0
  694: istore 231
  .line 58
  696: iconst_0
  697: istore 232
  699: iconst_0
  700: istore 233
  702: iconst_0
  703: istore 234
  705: iconst_0
  706: istore 235
  708: iconst_0
  709: istore 236
  .line 59
  711: iconst_0
  712: istore 237
  714: iconst_0
  715: istore 238
  717: iconst_0
  718: istore 239
  720: iconst_0
  721: istore 240
  723: iconst_0
  724: istore 241
  .line 60
  726: iconst_0
  727: istore 242
  729: iconst_0
  730: istore 243
  732: iconst_0
  733: istore 244
  735: iconst_0
  736: istore 245
  738: iconst_0
  739: istore 246
  .line 61
  741: iconst_0
  742: istore 247
  744: iconst_0
  745: istore 248
  747: iconst_0
  748: istore 249
  750: iconst_0
  751: istore 250
  753: iconst_0
  754: istore 251
  .line 63
  756: iconst_0
  757: istore 252
  759: iconst_0
  760: istore 253
  762: iconst_0
  763: istore 254
  765: iconst_0
  766: istore 255
  768: iconst_0
  ; 0xc4 (wide)
  770: istore 256
  .line 65
  ; 0xc4 (wide)
  774: iload 256
  ; 0xc4 (wide)
  778: istore 257
  .line 66
  781: iconst_0
  ; 0xc4 (wide)
  783: istore 258
  .line 67
  ; 0xc4 (wide)
  787: iinc 258 300
  .line 69
  792: return
.end method