2 module JVM.Builder.Instructions where
6 import JVM.Builder.Monad
9 aconst_null = i0 ACONST_NULL
10 iconst_m1 = i0 ICONST_M1
11 iconst_0 = i0 ICONST_0
12 iconst_1 = i0 ICONST_1
13 iconst_2 = i0 ICONST_2
14 iconst_3 = i0 ICONST_3
15 iconst_4 = i0 ICONST_4
16 iconst_5 = i0 ICONST_5
17 lconst_0 = i0 LCONST_0
18 lconst_1 = i0 LCONST_1
19 fconst_0 = i0 FCONST_0
20 fconst_1 = i0 FCONST_1
21 fconst_2 = i0 FCONST_2
22 dconst_0 = i0 DCONST_0
23 dconst_1 = i0 DCONST_1
25 bipush x = i0 (BIPUSH x)
26 sipush x = i0 (SIPUSH x)
36 iload_ x = i0 (ILOAD_ x)
37 lload_ x = i0 (LLOAD_ x)
38 fload_ x = i0 (FLOAD_ x)
39 dload_ x = i0 (DLOAD_ x)
40 aload_ x = i0 (ALOAD_ x)
50 istore x = i8 ISTORE x
51 lstore x = i8 LSTORE x
52 fstore x = i8 FSTORE x
53 dstore x = i8 DSTORE x
54 astore x = i8 ASTORE x
56 istore_ x = i0 (ISTORE x)
57 lstore_ x = i0 (LSTORE x)
58 fstore_ x = i0 (FSTORE x)
59 dstore_ x = i0 (DSTORE x)
60 astore_ x = i0 (ASTORE x)
117 iinc x y = i0 (IINC x y)
140 i0 (NEWARRAY $ atype2byte t)
143 i1 ANEWARRAY (CClass cls)
145 invokeVirtual cls sig =
146 i1 INVOKEVIRTUAL (CMethod cls sig)
148 invokeStatic cls sig =
149 i1 INVOKESTATIC (CMethod cls sig)
151 invokeSpecial cls sig =
152 i1 INVOKESPECIAL (CMethod cls sig)
154 getStaticField cls sig =
155 i1 GETSTATIC (CField cls sig)
158 i8 LDC1 (CString str)
161 i1 ANEWARRAY (CClass cls)