xref: /aosp_15_r20/cts/tools/vm-tests-tf/src/dot/junit/opcodes/sparse_switch/d/T_sparse_switch_12.dfh (revision b7c941bb3fa97aba169d73cee0bed2de8ac964bf)
1// Processing 'out/classes_dasm/dot/junit/opcodes/sparse_switch/d/T_sparse_switch_12.dex'...
2// Opened 'out/classes_dasm/dot/junit/opcodes/sparse_switch/d/T_sparse_switch_12.dex', DEX version '035'
3// DEX file header:
4// parsed: offset 0, len 8: magic               : 'dex
5// 035'
6    64 65 78 0A 30 33 35 00
7// parsed: offset 8, len 4: checksum            : b034540d
8    0D 54 34 B0
9// parsed: offset 12, len 20: signature           : 17df...83d1
10    17 DF 40 0E 7B 84 69 AA B8 A3 BF 9B 70 B0 7D 1D CF 2A 83 D1
11// parsed: offset 32, len 4: file_size           : 620
12    6C 02 00 00
13// parsed: offset 36, len 4: header_size         : 112
14    70 00 00 00
15// parsed: offset 40, len 4: endian_tag          : 0x12345678
16    78 56 34 12
17// parsed: offset 44, len 4: link_size           : 0
18    00 00 00 00
19// parsed: offset 48, len 4: link_off            : 0 (0x000000)
20    00 00 00 00
21// parsed: offset 52, len 4: map_off             : 484 (0x0001e4)
22    E4 01 00 00
23// parsed: offset 56, len 4: string_ids_size     : 8
24    08 00 00 00
25// parsed: offset 60, len 4: string_ids_off      : 112 (0x000070)
26    70 00 00 00
27// parsed: offset 64, len 4: type_ids_size       : 4
28    04 00 00 00
29// parsed: offset 68, len 4: type_ids_off        : 144 (0x000090)
30    90 00 00 00
31// parsed: offset 72, len 4: proto_ids_size      : 2
32    02 00 00 00
33// parsed: offset 76, len 4: proto_ids_off       : 160 (0x0000a0)
34    A0 00 00 00
35// parsed: offset 80, len 4: field_ids_size      : 0
36    00 00 00 00
37// parsed: offset 84, len 4: field_ids_off       : 0 (0x000000)
38    00 00 00 00
39// parsed: offset 88, len 4: method_ids_size     : 3
40    03 00 00 00
41// parsed: offset 92, len 4: method_ids_off      : 184 (0x0000b8)
42    B8 00 00 00
43// parsed: offset 96, len 4: class_defs_size     : 1
44    01 00 00 00
45// parsed: offset 100, len 4: class_defs_off      : 208 (0x0000d0)
46    D0 00 00 00
47// parsed: offset 104, len 4: data_size           : 380
48    7C 01 00 00
49// parsed: offset 108, len 4: data_off            : 240 (0x0000f0)
50    F0 00 00 00
51//
52// string_ids:
53// parsed: offset 112, len 4: [0] string_data_off: 346 (0x00015a) "<init>"
54    5A 01 00 00
55// parsed: offset 116, len 4: [1] string_data_off: 354 (0x000162) "I"
56    62 01 00 00
57// parsed: offset 120, len 4: [2] string_data_off: 357 (0x000165) "II"
58    65 01 00 00
59// parsed: offset 124, len 4: [3] string_data_off: 361 (0x000169) "Ldot/junit/opcodes/sparse_switch/d/T_sparse_switch_12;"
60    69 01 00 00
61// parsed: offset 128, len 4: [4] string_data_off: 417 (0x0001a1) "Ljava/lang/Object;"
62    A1 01 00 00
63// parsed: offset 132, len 4: [5] string_data_off: 437 (0x0001b5) "T_sparse_switch_12.java"
64    B5 01 00 00
65// parsed: offset 136, len 4: [6] string_data_off: 462 (0x0001ce) "V"
66    CE 01 00 00
67// parsed: offset 140, len 4: [7] string_data_off: 465 (0x0001d1) "run"
68    D1 01 00 00
69
70// type_ids:
71// parsed: offset 144, len 4: [0] descriptor_idx: 1 (0x000001) "I"
72    01 00 00 00
73// parsed: offset 148, len 4: [1] descriptor_idx: 3 (0x000003) "Ldot/junit/opcodes/sparse_switch/d/T_sparse_switch_12;"
74    03 00 00 00
75// parsed: offset 152, len 4: [2] descriptor_idx: 4 (0x000004) "Ljava/lang/Object;"
76    04 00 00 00
77// parsed: offset 156, len 4: [3] descriptor_idx: 6 (0x000006) "V"
78    06 00 00 00
79
80// proto_ids:
81// parsed: offset 160, len 12: [0]
82//     shorty_idx: 2 (0x000002) "II"
83//     return_type_idx: 0 (0x000000) "I"
84//     parameters_off: 340 (0x000154)
85    02 00 00 00 00 00 00 00 54 01 00 00
86// parsed: offset 172, len 12: [1]
87//     shorty_idx: 6 (0x000006) "V"
88//     return_type_idx: 3 (0x000003) "V"
89//     parameters_off: 0 (0x000000)
90    06 00 00 00 03 00 00 00 00 00 00 00
91
92// field_ids:
93
94// methods_ids:
95// parsed: offset 184, len 8: [0] class_idx: 1 (0x000001)  proto_idx: 1 (0x000001) name_idx: 0 (0x000000) "<init>"
96    01 00 01 00 00 00 00 00
97// parsed: offset 192, len 8: [1] class_idx: 1 (0x000001)  proto_idx: 0 (0x000000) name_idx: 7 (0x000007) "run"
98    01 00 00 00 07 00 00 00
99// parsed: offset 200, len 8: [2] class_idx: 2 (0x000002)  proto_idx: 1 (0x000001) name_idx: 0 (0x000000) "<init>"
100    02 00 01 00 00 00 00 00
101
102// class_defs:
103// parsed: offset 208, len 32: Class [0]
104//     class_idx: 1 "Ldot/junit/opcodes/sparse_switch/d/T_sparse_switch_12;"
105//     access_flags: 0x000001 (PUBLIC)
106//     superclass_idx: 2 "Ljava/lang/Object;"
107//     interfaces_off: 0 (0x000000)
108//     source_file_idx: 5 "T_sparse_switch_12.java"
109//     annotations_off: 0 (0x000000)
110//     class_data_off: 470 (0x0001d6)
111//     static_values_off: 0 (0x000000)
112    01 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 D6 01 00 00 00 00 00 00
113// data_section:
114// CODE_ITEM for "dot.junit.opcodes.sparse_switch.d.T_sparse_switch_12.<init>"
115    // parsed: offset 240, len 2: registers_size: 1
116        01 00
117    // parsed: offset 242, len 2: ins_size: 1
118        01 00
119    // parsed: offset 244, len 2: outs_size: 1
120        01 00
121    // parsed: offset 246, len 2: tries_size: 0
122        00 00
123    // parsed: offset 248, len 4: debug_info_off: 0 (0x000000)
124        00 00 00 00
125    // parsed: offset 252, len 4: insns_size: 4
126        04 00 00 00
127    // insns:
128        // parsed: offset 256, len 6: |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@0002
129            70 10 02 00 00 00
130        // parsed: offset 262, len 2: |0003: return-void
131            0E 00
132    // tries:
133    // handlers:
134// CODE_ITEM for "dot.junit.opcodes.sparse_switch.d.T_sparse_switch_12.run"
135    // parsed: offset 264, len 2: registers_size: 5
136        05 00
137    // parsed: offset 266, len 2: ins_size: 2
138        02 00
139    // parsed: offset 268, len 2: outs_size: 0
140        00 00
141    // parsed: offset 270, len 2: tries_size: 0
142        00 00
143    // parsed: offset 272, len 4: debug_info_off: 0 (0x000000)
144        00 00 00 00
145    // parsed: offset 276, len 4: insns_size: 30
146        1E 00 00 00
147    // insns:
148        // parsed: offset 280, len 6: |0000: sparse-switch v4, 00000010 //  +0x00000010
149            2C 04 10 00 00 00
150        // parsed: offset 286, len 6: |0003: const v4, #float nan // #0xffffffff int
151            14 04 FF FF FF FF
152        // parsed: offset 292, len 2: |0006: return v4
153            0F 04
154        // parsed: offset 294, len 6: |0007: const v4, #float 0.000000 // #0x00000002 int
155            14 04 02 00 00 00
156        // parsed: offset 300, len 2: |000a: return v4
157            0F 04
158        // parsed: offset 302, len 6: |000b: const v4, #float 0.000000 // #0x00000014 int
159            14 04 14 00 00 00
160        // parsed: offset 308, len 2: |000e: return v4
161            0F 04
162        // parsed: offset 310, len 2: |000f: nop // spacer
163            00 00
164        // parsed: offset 312, len 28: |0010: sparse-switch-data (14 units)
165//@mod            00 02 03 00 FF FF FF FF 0A 00 00 00 0F 00 00 00 07 00 00 00 0B 00 00 00 0B 00 00 00
166            00 02 04 00 FF FF FF FF 0A 00 00 00 0F 00 00 00 07 00 00 00 0B 00 00 00 0B 00 00 00
167    // tries:
168    // handlers:
169// TYPE_LIST
170    // parsed: offset 340, len 4: size: 1
171        01 00 00 00
172    // parsed: offset 344, len 2: type_item [0] type_idx: 0
173        00 00
174// parsed: offset 346, len 8: TYPE_STRING_DATA_ITEM [0] "<init>"
175    06 3C 69 6E 69 74 3E 00
176// parsed: offset 354, len 3: TYPE_STRING_DATA_ITEM [1] "I"
177    01 49 00
178// parsed: offset 357, len 4: TYPE_STRING_DATA_ITEM [2] "II"
179    02 49 49 00
180// parsed: offset 361, len 56: TYPE_STRING_DATA_ITEM [3] "Ldot/junit/opcodes/sparse_switch/d/T_sparse_switch_12;"
181    36 4C 64 6F 74 2F 6A 75 6E 69 74 2F 6F 70 63 6F 64 65 73 2F 73 70 61 72 73 65 5F 73 77 69 74 63 68 2F 64 2F 54 5F 73 70 61 72 73 65 5F 73 77 69 74 63 68 5F 31 32 3B 00
182// parsed: offset 417, len 20: TYPE_STRING_DATA_ITEM [4] "Ljava/lang/Object;"
183    12 4C 6A 61 76 61 2F 6C 61 6E 67 2F 4F 62 6A 65 63 74 3B 00
184// parsed: offset 437, len 25: TYPE_STRING_DATA_ITEM [5] "T_sparse_switch_12.java"
185    17 54 5F 73 70 61 72 73 65 5F 73 77 69 74 63 68 5F 31 32 2E 6A 61 76 61 00
186// parsed: offset 462, len 3: TYPE_STRING_DATA_ITEM [6] "V"
187    01 56 00
188// parsed: offset 465, len 5: TYPE_STRING_DATA_ITEM [7] "run"
189    03 72 75 6E 00
190// CLASS_DATA_ITEM for class [0] "Ldot/junit/opcodes/sparse_switch/d/T_sparse_switch_12;"
191    // parsed: offset 470, len 1: static_fields_size: 0
192        00
193    // parsed: offset 471, len 1: instance_fields_size: 0
194        00
195    // parsed: offset 472, len 1: direct_methods_size: 1
196        01
197    // parsed: offset 473, len 1: virtual_methods_size: 1
198        01
199    // static_fields:
200    // instance_fields:
201    // direct_methods:
202        // method [0]:
203            // parsed: offset 474, len 1: method_idx_diff: 0 (method_idx: 0 "<init>")
204                00
205            // parsed: offset 475, len 3: access_flags: 0x010001 (PUBLIC CONSTRUCTOR)
206                81 80 04
207            // parsed: offset 478, len 2: code_off: 240 (0x0000f0)
208                F0 01
209    // virtual_methods:
210        // method [0]:
211            // parsed: offset 480, len 1: method_idx_diff: 1 (method_idx: 1 "run")
212                01
213            // parsed: offset 481, len 1: access_flags: 0x000001 (PUBLIC)
214                01
215            // parsed: offset 482, len 2: code_off: 264 (0x000108)
216                88 02
217// map_list:
218    // parsed: offset 484, len 4: size: 11
219        0B 00 00 00
220    // parsed: offset 488, len 12: [0] type: 0x0000 TYPE_HEADER_ITEM
221    //      unused: 0
222    //      size: 1
223    //      offset: 0 (0x000000)
224        00 00 00 00 01 00 00 00 00 00 00 00
225    // parsed: offset 500, len 12: [1] type: 0x0001 TYPE_STRING_ID_ITEM
226    //      unused: 0
227    //      size: 8
228    //      offset: 112 (0x000070)
229        01 00 00 00 08 00 00 00 70 00 00 00
230    // parsed: offset 512, len 12: [2] type: 0x0002 TYPE_TYPE_ID_ITEM
231    //      unused: 0
232    //      size: 4
233    //      offset: 144 (0x000090)
234        02 00 00 00 04 00 00 00 90 00 00 00
235    // parsed: offset 524, len 12: [3] type: 0x0003 TYPE_PROTO_ID_ITEM
236    //      unused: 0
237    //      size: 2
238    //      offset: 160 (0x0000a0)
239        03 00 00 00 02 00 00 00 A0 00 00 00
240    // parsed: offset 536, len 12: [4] type: 0x0005 TYPE_METHOD_ID_ITEM
241    //      unused: 0
242    //      size: 3
243    //      offset: 184 (0x0000b8)
244        05 00 00 00 03 00 00 00 B8 00 00 00
245    // parsed: offset 548, len 12: [5] type: 0x0006 TYPE_CLASS_DEF_ITEM
246    //      unused: 0
247    //      size: 1
248    //      offset: 208 (0x0000d0)
249        06 00 00 00 01 00 00 00 D0 00 00 00
250    // parsed: offset 560, len 12: [6] type: 0x2001 TYPE_CODE_ITEM
251    //      unused: 0
252    //      size: 2
253    //      offset: 240 (0x0000f0)
254        01 20 00 00 02 00 00 00 F0 00 00 00
255    // parsed: offset 572, len 12: [7] type: 0x1001 TYPE_TYPE_LIST
256    //      unused: 0
257    //      size: 1
258    //      offset: 340 (0x000154)
259        01 10 00 00 01 00 00 00 54 01 00 00
260    // parsed: offset 584, len 12: [8] type: 0x2002 TYPE_STRING_DATA_ITEM
261    //      unused: 0
262    //      size: 8
263    //      offset: 346 (0x00015a)
264        02 20 00 00 08 00 00 00 5A 01 00 00
265    // parsed: offset 596, len 12: [9] type: 0x2000 TYPE_CLASS_DATA_ITEM
266    //      unused: 0
267    //      size: 1
268    //      offset: 470 (0x0001d6)
269        00 20 00 00 01 00 00 00 D6 01 00 00
270    // parsed: offset 608, len 12: [10] type: 0x1000 TYPE_MAP_LIST
271    //      unused: 0
272    //      size: 1
273    //      offset: 484 (0x0001e4)
274        00 10 00 00 01 00 00 00 E4 01 00 00
275