blob: b07e707b9f06c9da5dbf364b964d1f47d0ebfa68 [file] [log] [blame]
The Android Open Source Projectf8057102009-03-15 16:47:16 -07001.source all_opcodes.java
2.class public dasm.test.all_opcodes
3.super java/lang/Object
4.implements java/lang/Runnable
5
6.field public pub_field I
7.field public static static_field J
8
9.method public <init>()V
10 return-void
11.end method
12
13.method public run()I
14.throws java/lang/NullPointerException
15 .limit regs 4
16nop
17move v1, v2
18move/from16 v11, v222
19move/16 v111, v222
20move-wide v1, v2
21move-wide/from16 v11, v222
22move-wide/16 v111, v222
23move-object v1, v2
24move-object/from16 v11, v222
25move-object/16 v111, v222
26move-result v11
27move-result-wide v11
28move-result-object v11
29move-exception v11
30return-void
31return v11
32return-wide v11
33return-object v11
34const/4 v1, 1
35const/16 v11, 0x1234
36const v11, 0x12345678
37const/high16 v11, 0x12340000
38const-wide/16 v11, 0x1234
39const-wide/32 v11, 0x12345678
40const-wide v11, 3.1415
41const-wide/high16 v11, 0x1234000000000000
42const-string v11, "abc"
43const-string/jumbo v11, "abcd"
44const-class v11, java/lang/Object
45monitor-enter v11
46monitor-exit v11
47check-cast v11, java/lang/Object
48instance-of v1, v2, java/lang/Object
49array-length v1, v2
50new-instance v11, java/lang/Object
51new-array v1, v2, java/lang/Object
52filled-new-array {v1, v2, v3, v4, v5}, I
53filled-new-array/range {v3..v7}, D
54fill-array-data v11 I
55 1
56 2
57 3
58 4
59fill-array-data-end
60throw v11
61goto $+1
62goto/16 Label1
63Label1:
64goto/32 Label2
65Label2:
66packed-switch v11, 1
67 Label1
68 Label3
69packed-switch-end
70Label3:
71sparse-switch v11
72 1 : Label2
73 33 : Label4
74sparse-switch-end
75Label4:
76
77cmpl-float v11, v22, v33
78cmpg-float v11, v22, v33
79cmpl-double v11, v22, v33
80cmpg-double v11, v22, v33
81cmp-long v11, v22, v33
82if-eq v1, v2, Label1
83if-ne v1, v2, $+1
84if-lt v1, v2, Label1
85if-ge v1, v2, $-1
86if-gt v1, v2, Label1
87if-eqz v11, Label1
88if-nez v11, $+1
89if-ltz v11, Label1
90if-gez v11, $+1
91if-gtz v11, Label1
92if-lez v11, $-1
93aget v11, v22, v33
94aget-wide v11, v22, v33
95aget-object v11, v22, v33
96aget-boolean v11, v22, v33
97aget-byte v11, v22, v33
98aget-char v11, v22, v33
99aget-short v11, v22, v33
100aput v11, v22, v33
101aput-wide v11, v22, v33
102aput-object v11, v22, v33
103aput-boolean v11, v22, v33
104aput-byte v11, v22, v33
105aput-char v11, v22, v33
106aput-short v11, v22, v33
107iget v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I
108iget-wide v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I
109iget-object v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I
110iget-boolean v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I
111iget-byte v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I
112iget-char v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I
113iget-short v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I
114iput v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I
115iput-wide v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I
116iput-object v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I
117iput-boolean v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I
118iput-byte v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I
119iput-char v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I
120iput-short v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I
121sget v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I
122sget-wide v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I
123sget-object v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I
124sget-boolean v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I
125sget-byte v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I
126sget-char v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I
127sget-short v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I
128sput v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I
129sput-wide v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I
130sput-object v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I
131sput-boolean v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I
132sput-byte v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I
133sput-char v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I
134sput-short v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I
135
136invoke-virtual {v1}, java/lang/Math/sqrt(D)D
137invoke-super {v1}, java/lang/Math/sqrt(D)D
138invoke-direct {v1}, java/lang/Math/sqrt(D)D
139invoke-static {v1}, java/lang/Math/sqrt(D)D
140;invoke-interface {v1}, java/lang/Math/sqrt(D)D
141
142invoke-virtual/range {v1..v4}, java/lang/Math/sqrt(D)D
143invoke-super/range {v1..v4}, java/lang/Math/sqrt(D)D
144invoke-direct/range {v1..v4}, java/lang/Math/sqrt(D)D
145invoke-static/range {v1..v4}, java/lang/Math/sqrt(D)D
146;invoke-interface/range {v1..v4}, java/lang/Math/sqrt(D)D
147
148neg-int v1, v2
149not-int v1, v2
150neg-long v1, v2
151not-long v1, v2
152neg-float v1, v2
153neg-double v1, v2
154int-to-long v1, v2
155int-to-float v1, v2
156int-to-double v1, v2
157long-to-int v1, v2
158long-to-float v1, v2
159long-to-double v1, v2
160float-to-int v1, v2
161float-to-long v1, v2
162float-to-double v1, v2
163double-to-int v1, v2
164double-to-long v1, v2
165double-to-float v1, v2
166int-to-byte v1, v2
167int-to-char v1, v2
168int-to-short v1, v2
169add-int v11, v22, v33
170sub-int v11, v22, v33
171mul-int v11, v22, v33
172div-int v11, v22, v33
173rem-int v11, v22, v33
174and-int v11, v22, v33
175or-int v11, v22, v33
176xor-int v11, v22, v33
177shl-int v11, v22, v33
178shr-int v11, v22, v33
179ushr-int v11, v22, v33
180add-long v11, v22, v33
181sub-long v11, v22, v33
182mul-long v11, v22, v33
183div-long v11, v22, v33
184rem-long v11, v22, v33
185and-long v11, v22, v33
186or-long v11, v22, v33
187xor-long v11, v22, v33
188shl-long v11, v22, v33
189shr-long v11, v22, v33
190ushr-long v11, v22, v33
191add-float v11, v22, v33
192sub-float v11, v22, v33
193mul-float v11, v22, v33
194div-float v11, v22, v33
195rem-float v11, v22, v33
196add-double v11, v22, v33
197sub-double v11, v22, v33
198mul-double v11, v22, v33
199div-double v11, v22, v33
200rem-double v11, v22, v33
201add-int/2addr v1, v2
202sub-int/2addr v1, v2
203mul-int/2addr v1, v2
204div-int/2addr v1, v2
205rem-int/2addr v1, v2
206and-int/2addr v1, v2
207or-int/2addr v1, v2
208xor-int/2addr v1, v2
209shl-int/2addr v1, v2
210shr-int/2addr v1, v2
211ushr-int/2addr v1, v2
212add-long/2addr v1, v2
213sub-long/2addr v1, v2
214mul-long/2addr v1, v2
215div-long/2addr v1, v2
216rem-long/2addr v1, v2
217and-long/2addr v1, v2
218or-long/2addr v1, v2
219xor-long/2addr v1, v2
220shl-long/2addr v1, v2
221shr-long/2addr v1, v2
222ushr-long/2addr v1, v2
223add-float/2addr v1, v2
224sub-float/2addr v1, v2
225mul-float/2addr v1, v2
226div-float/2addr v1, v2
227rem-float/2addr v1, v2
228add-double/2addr v1, v2
229sub-double/2addr v1, v2
230mul-double/2addr v1, v2
231div-double/2addr v1, v2
232rem-double/2addr v1, v2
233add-int/lit16 v1, v2, 0x1234
234rsub-int v1, v2, 0x1234
235mul-int/lit16 v1, v2, 0x1234
236div-int/lit16 v1, v2, 0x1234
237rem-int/lit16 v1, v2, 0x1234
238and-int/lit16 v1, v2, 0x1234
239or-int/lit16 v1, v2, 0x1234
240xor-int/lit16 v1, v2, 0x1234
241add-int/lit8 v1, v2, 0x12
242rsub-int/lit8 v1, v2, 0x12
243mul-int/lit8 v1, v2, 0x12
244div-int/lit8 v1, v2, 0x12
245rem-int/lit8 v1, v2, 0x12
246and-int/lit8 v1, v2, 0x12
247or-int/lit8 v1, v2, 0x12
248xor-int/lit8 v1, v2, 0x12
249shl-int/lit8 v1, v2, 0x12
250shr-int/lit8 v1, v2, 0x12
251ushr-int/lit8 v1, v2, 0x12
252
253.catch java/lang/Exception from Label1 to Label2 using Label3
254.end method
255
256.source test_interface.java
257.interface public dasm.test.interface.test_interface
258
259.method public native test()V
260.end method