summaryrefslogtreecommitdiffstats
path: root/dx/tests/024-code-bytecode/expected.txt
blob: 26d58bdb5e4607e0e1fc1048fb6d1c90233aa0b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
reading small-class.txt...
begin classfile
magic: cafebabe
minor_version: 0000
major_version: 002e
constant_pool_count: 0017

constant_pool:
  0001: type{Small}
  0002: type{java.lang.Object}
  0003: utf8{"Small"}
  0004: utf8{"java/lang/Object"}
  0005: utf8{"blort"}
  0006: utf8{"()V"}
  0007: utf8{"Code"}
  0008: string{"Small"}
  0009: int{0x12345678 / 305419896}
  000a: float{0x42f6e666 / 123.45}
  000b: long{0x123456789abcdef0 / 1311768467463790320}
  000d: double{0x411958955f8a0903 / 415269.3433}
  000f: utf8{"blort"}
  0010: utf8{"x/y/Zzz"}
  0011: utf8{"()V"}
  0012: nat{blort:x/y/Zzz}
  0013: nat{blort:()V}
  0014: field{Small.blort:x/y/Zzz}
  0015: method{Small.blort:()V}
  0016: ifaceMethod{Small.blort:()V}
end constant_pool
access_flags: public
this_class: type{Small}
super_class: type{java.lang.Object}
interfaces_count: 0000
fields_count: 0000
methods_count: 0001

methods[0]:
  access_flags: public
  name: blort
  descriptor: ()V
  attributes_count: 0001
  
  attributes[0]:
    name: Code
    length: 000001db
    max_stack: 0001
    max_locals: 0001
    code_length: 000001cf
    0000: nop
    0001: aconst_null
    0002: iconst_m1 // #-01
    0003: iconst_0 // #+00
    0004: iconst_1 // #+01
    0005: iconst_2 // #+02
    0006: iconst_3 // #+03
    0007: iconst_4 // #+04
    0008: iconst_5 // #+05
    0009: lconst_0 // +00
    000a: lconst_1 // +01
    000b: fconst_0 // 0.0
    000c: fconst_1 // 1.0
    000d: fconst_2 // 2.0
    000e: dconst_0 // 0.0
    000f: dconst_1 // 1.0
    0010: bipush #+45
    0012: sipush #+5432
    0015: ldc string{"Small"}
    0017: ldc #+12345678
    0019: ldc #42f6e666 // 123.45
    001b: ldc_w string{"Small"}
    001e: ldc_w #+12345678
    0021: ldc_w #42f6e666 // 123.45
    0024: ldc2_w #+123456789abcdef0
    0027: ldc2_w #411958955f8a0903 // 415269.3433
    002a: iload 01
    002c: lload 02 // category-2
    002e: fload 03
    0030: dload 04 // category-2
    0032: aload 05
    0034: iload_0 // 00
    0035: iload_1 // 01
    0036: iload_2 // 02
    0037: iload_3 // 03
    0038: lload_0 // 00, category-2
    0039: lload_1 // 01, category-2
    003a: lload_2 // 02, category-2
    003b: lload_3 // 03, category-2
    003c: fload_0 // 00
    003d: fload_1 // 01
    003e: fload_2 // 02
    003f: fload_3 // 03
    0040: dload_0 // 00, category-2
    0041: dload_1 // 01, category-2
    0042: dload_2 // 02, category-2
    0043: dload_3 // 03, category-2
    0044: aload_0 // 00
    0045: aload_1 // 01
    0046: aload_2 // 02
    0047: aload_3 // 03
    0048: iaload
    0049: laload
    004a: faload
    004b: daload
    004c: aaload
    004d: baload
    004e: caload
    004f: saload
    0050: istore 41
    0052: lstore 42 // category-2
    0054: fstore 43
    0056: dstore 44 // category-2
    0058: astore 45
    005a: istore_0 // 00
    005b: istore_1 // 01
    005c: istore_2 // 02
    005d: istore_3 // 03
    005e: lstore_0 // 00, category-2
    005f: lstore_1 // 01, category-2
    0060: lstore_2 // 02, category-2
    0061: lstore_3 // 03, category-2
    0062: fstore_0 // 00
    0063: fstore_1 // 01
    0064: fstore_2 // 02
    0065: fstore_3 // 03
    0066: dstore_0 // 00, category-2
    0067: dstore_1 // 01, category-2
    0068: dstore_2 // 02, category-2
    0069: dstore_3 // 03, category-2
    006a: astore_0 // 00
    006b: astore_1 // 01
    006c: astore_2 // 02
    006d: astore_3 // 03
    006e: iastore
    006f: lastore
    0070: fastore
    0071: dastore
    0072: aastore
    0073: bastore
    0074: castore
    0075: sastore
    0076: pop
    0077: pop2
    0078: dup
    0079: dup_x1
    007a: dup_x2
    007b: dup2
    007c: dup2_x1
    007d: dup2_x2
    007e: swap
    007f: iadd
    0080: ladd
    0081: fadd
    0082: dadd
    0083: isub
    0084: lsub
    0085: fsub
    0086: dsub
    0087: imul
    0088: lmul
    0089: fmul
    008a: dmul
    008b: idiv
    008c: ldiv
    008d: fdiv
    008e: ddiv
    008f: irem
    0090: lrem
    0091: frem
    0092: drem
    0093: ineg
    0094: lneg
    0095: fneg
    0096: dneg
    0097: ishl
    0098: lshl
    0099: ishr
    009a: lshr
    009b: iushr
    009c: lushr
    009d: iand
    009e: land
    009f: ior
    00a0: lor
    00a1: ixor
    00a2: lxor
    00a3: iinc 05, #-01
    00a6: i2l
    00a7: i2f
    00a8: i2d
    00a9: l2i
    00aa: l2f
    00ab: l2d
    00ac: f2i
    00ad: f2l
    00ae: f2d
    00af: d2i
    00b0: d2l
    00b1: d2f
    00b2: i2b
    00b3: i2c
    00b4: i2s
    00b5: lcmp
    00b6: fcmpl
    00b7: fcmpg
    00b8: dcmpl
    00b9: dcmpg
    00ba: ifeq 00ba
    00bd: ifne 00ba
    00c0: iflt 00ba
    00c3: ifge 00ba
    00c6: ifgt 00ba
    00c9: ifle 00ba
    00cc: if_icmpeq 00db
    00cf: if_icmpne 00db
    00d2: if_icmplt 00db
    00d5: if_icmpge 00db
    00d8: if_icmpgt 00db
    00db: if_icmple 00db
    00de: if_acmpeq 00de
    00e1: if_acmpne 00e1
    00e4: goto 0000
    00e7: jsr 00e7
    00ea: ret 2f
    00ec: tableswitch
      +12340000: 0000
      +12340001: 0001
      +12340002: 0002
      +12340003: 0003
      +12340004: 0004
      +12340005: 0005
      +12340006: 0007
      +12340007: 0009
      default: 00ea
    011c: lookupswitch
      -7689edcc: 0148
      +00001000: 0149
      +03333333: 0149
      +79787776: 014b
      default: 00ec
    0148: ireturn
    0149: lreturn
    014a: freturn
    014b: dreturn
    014c: areturn
    014d: return
    014e: getstatic field{Small.blort:x/y/Zzz}
    0151: putstatic field{Small.blort:x/y/Zzz}
    0154: getfield field{Small.blort:x/y/Zzz}
    0157: putfield field{Small.blort:x/y/Zzz}
    015a: invokevirtual method{Small.blort:()V}
    015d: invokespecial method{Small.blort:()V}
    0160: invokestatic method{Small.blort:()V}
    0163: invokeinterface ifaceMethod{Small.blort:()V}, 0001
    0168: new type{Small}
    016b: newarray boolean
    016d: newarray char
    016f: newarray float
    0171: newarray double
    0173: newarray byte
    0175: newarray short
    0177: newarray int
    0179: newarray long
    017b: anewarray type{Small}
    017e: arraylength
    017f: athrow
    0180: checkcast type{java.lang.Object}
    0183: instanceof type{java.lang.Object}
    0186: monitorenter
    0187: monitorexit
    0188: wide iload 0123
    018c: wide lload 0124 // category-2
    0190: wide fload 0125
    0194: wide dload 0126 // category-2
    0198: wide aload 0127
    019c: wide istore 20f0
    01a0: wide lstore 20f1 // category-2
    01a4: wide fstore 20f2
    01a8: wide dstore 20f3 // category-2
    01ac: wide astore 20f4
    01b0: wide ret ffff
    01b4: wide iinc 0002, #+1000
    01ba: multianewarray type{java.lang.Object}, 04
    01be: ifnull ffff
    01c1: ifnonnull 01c1
    01c4: goto_w 700001c4
    01c9: jsr_w 000001c4
    01ce: unused_ca
    exception_table_length: 0000
    attributes_count: 0000
  end attributes[0]
end methods[0]
attributes_count: 0000
end classfile