1| PBC | IR | 2|-----|----| 3| nop | - | 4| mov | - | 5| mov.64 | - | 6| mov.obj | - | 7| movi | i64 Constant | 8| movi.64 | i64 Constant | 9| fmovi | f32 Constant | 10| fmovi.64 | f64 Constant | 11| mov.null | i64 Constatnt 0 | 12| lda | - | 13| lda.64 | - | 14| lda.obj | - | 15| ldai | i64 Constant | 16| ldai.64 | i64 Constant | 17| fldai | f32 Constant | 18| fldai.64 | f64 Constant | 19| lda.str | ref LoadString | 20| lda.const || 21| lda.type | ref LoadType | 22| lda.null | i64 Constant 0 | 23| sta | - | 24| sta.64 | - | 25| sta.obj | - | 26| cmp.64 | i32 Cmp | 27| ucmp | i32 Cmp | 28| ucmp.64 | i32 Cmp | 29| fcmpl | i32 Cmp | 30| fcmpl.64 | i32 Cmp | 31| fcmpg | i32 Cmp | 32| fcmpg.64 | i32 Cmp | 33| jmp | - | 34| jeq.obj | bool Compare EQ, IfImm | 35| jne.obj | bool Compare NE, IfImm | 36| jeqz.obj | i64 Constant 0, bool Compare EQ, IfImm | 37| jnez.obj | i64 Constant 0, bool Compare NE, IfImm | 38| jeqz | i64 Constant 0, bool Compare EQ, IfImm | 39| jnez | i64 Constant 0, bool Compare NE, IfImm | 40| jltz | i64 Constant 0, bool Compare LT, IfImm | 41| jgtz | i64 Constant 0, bool Compare GT, IfImm | 42| jlez | i64 Constant 0, bool Compare LE, IfImm | 43| jgez | i64 Constant 0, bool Compare GE, IfImm | 44| jeq | bool Compare EQ, IfImm | 45| jne | bool Compare NE, IfImm | 46| jlt | bool Compare LT, IfImm | 47| jgt | bool Compare GT, IfImm | 48| jle | bool Compare LE, IfImm | 49| jge | bool Compare GE, IfImm | 50| fneg | f32 Neg | 51| fneg.64 | f64 Neg | 52| neg | i32 Neg | 53| neg.64 | i64 Neg | 54| not | i32 Not| 55| not.64 | i64 Not | 56| add2 | i32 Add | 57| add2.64 | i64 Add | 58| sub2 | i32 Sub | 59| sub2.64 | i64 Sub | 60| mul2 | i32 Mul | 61| mul2.64 | i64 Mul | 62| and2 | i32 And | 63| and2.64 | i64 And | 64| or2 | i32 Or | 65| or2.64 | i64 Or | 66| xor2 | i32 Xor | 67| xor2.64 | i64 Xor | 68| shl2 | i32 Shl | 69| shl2.64 | i64 Shl | 70| shr2 | i32 Shr | 71| shr2.64 | i64 Shr | 72| ashr2 | i32 Ashr | 73| ashr2.64 | i64 Ashr | 74| fadd2 | f32 Add | 75| fadd2.64 | f64 Add | 76| fsub2 | f32 Sub | 77| fsub2.64 | f64 Sub | 78| fmul2 | f32 Mul | 79| fmul2.64 | f64 Mul | 80| fdiv2 | f32 Div | 81| fdiv2.64 | f64 Div | 82| fmod2 | f32 Mod | 83| fmod2.64 | f64 Mod | 84| div2 | i32 Div | 85| div2.64 | i64 Div | 86| mod2 | i32 Mod | 87| mod2.64 | i64 Mod | 88| divu2 | u32 Div | 89| divu2.64 | u64 Div | 90| modu2 | u32 Div | 91| modu2.64 | u64 Mod | 92| addi | i64 Constant, i32 Add | 93| subi | i64 Constant, i32 Sub | 94| muli | i64 Constant, i32 Mul | 95| andi | i64 Constant, i32 And | 96| ori | i64 Constant, i32 Or | 97| xori | i64 Constant, i32 Xor | 98| shli | i64 Constant, i32 Shl | 99| shri | i64 Constant, i32 Shr | 100| ashri | i64 Constant, i32 Ashr | 101| divi | i64 Constant, i32 Div | 102| modi | i64 Constant, i32 Mod | 103| add | i32 Add | 104| sub | i32 Sub | 105| mul |i32 Mul | 106| and | i32 And | 107| or | i32 Or | 108| xor | i32 Xor | 109| shl | i32 Shl | 110| shr | i32 Shr| 111| ashr | i32 Ashr | 112| div | i32 Div | 113| mod | i32 Mod | 114| inci | i64 Constant, s32 Add | 115| i32tof32 | f32 Cast | 116| i32tof64 | f64 Cast | 117| u32tof32 | f32 Cast | 118| u32tof64 | f64 Cast | 119| i64tof32 | f32 Cast | 120| i64tof64 | f64 Cast | 121| u64tof32 | f32 Cast | 122| u64tof64 | f64 Cast | 123| f32tof64 | f64 Cast | 124| f32toi32 | i32 Cast | 125| f32toi64 | i64 Cast | 126| f32tou32 | u32 Cast | 127| f32tou64 | u64 Cast | 128| f64toi32 | i32 Cast | 129| f64toi64 | i64 Cast | 130| f64tou32 | u32 Cast | 131| f64tou64 | u64 Cast | 132| f64tof32 | f32 Cast | 133| i32tou1 | u1 Cast | 134| i64tou1 | u1 Cast | 135| u32tou1 | u1 Cast | 136| u64tou1 | u1 Cast | 137| i32toi64 | i64 Cast | 138| i32toi16 | i16 Cast | 139| i32tou16 | u16 Cast | 140| i32toi8 | i8 Cast | 141| i32tou8 | u8 Cast | 142| i64toi32 | i32 Cast | 143| u32toi64 | i64 Cast | 144| u32toi16 | i16 Cast | 145| u32tou16 | u16 Cast | 146| u32toi8 | i8 Cast | 147| u32tou8 | u8 Cast | 148| u64toi32 | i32 Cast | 149| u64tou32 | u32 Cast | 150| ldarr.8 | SaveState, ref NullCheck, i32 LenArray, i32 BoundsCheck, i8 LoadArray | 151| ldarru.8 | SaveState, ref NullCheck, i32 LenArray, i32 BoundsCheck, u8 LoadArray | 152| ldarr.16 | SaveState, ref NullCheck, i32 LenArray, i32 BoundsCheck, i16 LoadArray | 153| ldarru.16 | SaveState, ref NullCheck, i32 LenArray, i32 BoundsCheck, u16 LoadArray | 154| ldarr | SaveState, ref NullCheck, i32 LenArray, i32 BoundsCheck, i32 LoadArray | 155| ldarr.64 | SaveState, ref NullCheck, i32 LenArray, i32 BoundsCheck, i64 LoadArray | 156| fldarr.32 | SaveState, ref NullCheck, i32 LenArray, i32 BoundsCheck, f32 LoadArray | 157| fldarr.64 | SaveState, ref NullCheck, i32 LenArray, i32 BoundsCheck, f64 LoadArray | 158| ldarr.obj | SaveState, ref NullCheck, i32 LenArray, i32 BoundsCheck, ref LoadArray | 159| starr.8 | SaveState, ref NullCheck, i32 LenArray, i32 BoundsCheck, i8 StoreArray | 160| starr.16 | SaveState, ref NullCheck, i32 LenArray, i32 BoundsCheck, i16 StoreArray | 161| starr | SaveState, ref NullCheck, i32 LenArray, i32 BoundsCheck, i32 StoreArray | 162| starr.64 | SaveState, ref NullCheck, i32 LenArray, i32 BoundsCheck, i64 StoreArray | 163| fstarr.32 | SaveState, ref NullCheck, i32 LenArray, i32 BoundsCheck, f32 StoreArray | 164| fstarr.64 | SaveState, ref NullCheck, i32 LenArray, i32 BoundsCheck, f64 StoreArray | 165| starr.obj | SaveState, ref NullCheck, i32 LenArray, i32 BoundsCheck, ref StoreArray | 166| lenarr | SaveState, ref NullCheck, i32 LenArray | 167| newarr | SaveState, ref NegativeCheck, ref LoadAndInitObject, i32 NewArray | 168| newobj | SaveState, ref LoadAndInitObject, ref NewObject | 169| initobj.short | SaveState, ref LoadAndInitObject, ref NewObject, void CallStatic | 170| initobj | SaveState, ref LoadAndInitObject, ref NewObject, void CallStatic | 171| initobj.range | SaveState, ref LoadAndInitObject, ref NewObject, void CallStatic | 172| ldobj | SaveState, ref NullCheck, i32 LoadObject | 173| ldobj.64 | SaveState, ref NullCheck, i64 LoadObject | 174| ldobj.obj | SaveState, ref NullCheck, ref LoadObject | 175| stobj | SaveState, ref NullCheck, i32 StoreObject | 176| stobj.64 | SaveState, ref NullCheck, i64 StoreObject | 177| stobj.obj | SaveState, ref NullCheck, ref StoreObject | 178| ldobj.v | SaveState, ref NullCheck, i32 LoadObject | 179| ldobj.v.64 | SaveState, ref NullCheck, i64 LoadObject | 180| ldobj.v.obj | SaveState, ref NullCheck, ref LoadObjec | 181| stobj.v | SaveState, ref NullCheck, i32 StoreObject | 182| stobj.v.64 | SaveState, ref NullCheck, i64 StoreObject | 183| stobj.v.obj | SaveState, ref NullCheck, ref StoreObject | 184| ldstatic | SaveState, ref LoadAndInitObject, i32 LoadStatic | 185| ldstatic.64 | SaveState, ref LoadAndInitObject, i64 LoadStatic | 186| ldstatic.obj | SaveState, ref LoadAndInitObject, ref LoadStatic | 187| ststatic | SaveState, ref LoadAndInitObject, i32 LoadStatic | 188| ststatic.64 | SaveState, ref LoadAndInitObject, i64 LoadStatic | 189| ststatic.obj | SaveState, ref LoadAndInitObject, ref LoadStatic | 190| return | i32 Return| 191| return.64 | i64 Return| 192| return.obj | ref Return | 193| return.void | ReturnVoid | 194| throw | SaveState, Throw | 195| checkcast | LoadClass, CheckCast | 196| isinstance | LoadClass, i32 IsInstance | 197| call.short | SaveState, i32 CallStatic | 198| call | SaveState, i64 CallStatic | 199| call.range | SaveState, i64 CallStatic | 200| call.acc.short | SaveState, i64 CallStatic | 201| call.acc | SaveState, i64 CallStatic | 202| call.virt.short | SaveState, ref NullCheck, i32 CallVirtal | 203| call.virt | SaveState, ref NullCheck, i32 CallVirtal | 204| call.virt.range | SaveState, ref NullCheck, i32 CallVirtal | 205| call.virt.acc.short | SaveState, ref NullCheck, i32 CallVirtal | 206| call.virt.acc | SaveState, ref NullCheck, i32 CallVirtal | 207| mov.dyn | Not implemented yet | 208| lda.dyn | Not implemented yet | 209| sta.dyn | Not implemented yet | 210| ldai.dyn || 211| fldai.dyn || 212| return.dyn | Not implemented yet | 213| calli.dyn.short || 214| calli.dyn || 215| calli.dyn.range | Not implemented yet | 216 217This document generated by compiler/tools/pbc_2_ir_doc_gen.sh. 218