| 138 | | |
|---|
| 139 | | |
|---|
| 140 | | |
|---|
| | 143 | | `IfEq target -> |
|---|
| | 144 | op_i "OpIfEq" ["target",target] |
|---|
| | 145 | | `IfFalse target -> |
|---|
| | 146 | op_i "OpIfFalse" ["target",target] |
|---|
| | 147 | | `IfGt target -> |
|---|
| | 148 | op_i "OpIfGt" ["target",target] |
|---|
| | 149 | | `IfLe target -> |
|---|
| | 150 | op_i "OpIfLe" ["target",target] |
|---|
| | 151 | | `IfLt target -> |
|---|
| | 152 | op_i "OpIfLt" ["target",target] |
|---|
| | 153 | | `IfNge target -> |
|---|
| | 154 | op_i "OpIfNge" ["target",target] |
|---|
| | 155 | | `IfNgt target -> |
|---|
| | 156 | op_i "OpIfNgt" ["target",target] |
|---|
| | 157 | | `IfNle target -> |
|---|
| | 158 | op_i "OpIfNle" ["target",target] |
|---|
| | 159 | | `IfNlt target -> |
|---|
| | 160 | op_i "OpIfNgt" ["target",target] |
|---|
| | 161 | | `IfNe target -> |
|---|
| | 162 | op_i "OpIfNe" ["target",target] |
|---|
| | 163 | | `IfStrictEq target -> |
|---|
| | 164 | op_i "OpIfStrictEq" ["target",target] |
|---|
| | 165 | | `IfStrictNe target -> |
|---|
| | 166 | op_i "OpIfStrictNe" ["target",target] |
|---|
| | 167 | | `IfTrue target -> |
|---|
| | 168 | op_i "OpIfTrue" ["target",target] |
|---|
| | 169 | | `In -> |
|---|
| | 170 | op "OpIn" |
|---|
| | 171 | | `IncLocal address -> |
|---|
| | 172 | op_a "OpIncLocal" ["address",address] |
|---|
| | 173 | | `IncLocal_i address -> |
|---|
| | 174 | op_a "OpIncLocalI" ["address",address] |
|---|
| | 175 | | `Increment -> |
|---|
| | 176 | op "OpIncrement" |
|---|
| | 177 | | `Increment_i -> |
|---|
| | 178 | op "OpIncrementI" |
|---|
| | 179 | | `InitProperty name -> |
|---|
| | 180 | op_a "OpInitProperty" ["name",name] |
|---|
| | 181 | | `InstanceOf -> |
|---|
| | 182 | op "OpInstanceOf" |
|---|
| | 183 | | `IsType name -> |
|---|
| | 184 | op_a "OpIsType" ["name",name] |
|---|
| | 185 | | `IsTypeLate -> |
|---|
| | 186 | op "OpIsTypeLate" |
|---|
| | 187 | | `Jump target -> |
|---|
| | 188 | op_i "OpJump" ["target",target] |
|---|
| | 189 | | `Kill address -> |
|---|
| | 190 | op_a "OpKill" ["address",address] |
|---|
| | 191 | | `Label -> |
|---|
| | 192 | op "OpLabel" |
|---|
| | 193 | | `LessEquals -> |
|---|
| | 194 | op "OpLessEquals" |
|---|
| | 195 | | `LessThan -> |
|---|
| | 196 | op "OpLessThan" |
|---|
| | 197 | | `LookupSwitch (default_target,target_table) -> |
|---|
| | 198 | element "OpLookupSwitch" ["defaultTarget",string_of_int default_target; |
|---|
| | 199 | "caseCount" ,string_of_int @@ List.length target_table] |
|---|
| | 200 | [elem "targetTable" @@ List.map (fun v -> attr "U30" ["value",string_of_int v]) target_table] |
|---|
| | 201 | | `LShift -> |
|---|
| | 202 | op "OpLShift" |
|---|
| | 203 | | `Modulo -> |
|---|
| | 204 | op "OpModulo" |
|---|
| | 205 | | `Multiply -> |
|---|
| | 206 | op "OpMultiply" |
|---|
| | 207 | | `Multiply_i -> |
|---|
| | 208 | op "OpMultiplyI" |
|---|
| | 209 | | `Negate -> |
|---|
| | 210 | op "OpNegate" |
|---|
| | 211 | | `Negate_i -> |
|---|
| | 212 | op "OpNegateI" |
|---|
| | 213 | | `NewActivation -> |
|---|
| | 214 | op "OpNewActivation" |
|---|
| | 215 | | `NewArray argc -> |
|---|
| | 216 | op_a "OpNewArray" ["argc",argc] |
|---|
| | 217 | | `NewCatch exceptionIndex -> |
|---|
| | 218 | op_a "OpNewCatch" ["exceptionIndex",exceptionIndex] |
|---|
| | 219 | | `NewClass classIndex -> |
|---|
| | 220 | op_a "OpNewClass" ["classIndex",classIndex] |
|---|
| | 221 | | `NewFunction index -> |
|---|
| | 222 | op_a "OpNewFunction" ["index",index] |
|---|
| | 223 | | `NewObject argc -> |
|---|
| | 224 | op_a "OpNewObject" ["argc",argc] |
|---|
| | 225 | | `NextName -> |
|---|
| | 226 | op "OpNextName" |
|---|
| | 227 | | `NextValue -> |
|---|
| | 228 | op "OpNextValue" |
|---|
| | 229 | | `Nop -> |
|---|
| | 230 | op "OpNop" |
|---|
| | 231 | | `Not -> |
|---|
| | 232 | op "OpNot" |
|---|
| | 233 | | `Pop -> |
|---|
| | 234 | op "OpPop" |
|---|
| | 235 | | `PopScope -> |
|---|
| | 236 | op "OpPopScope" |
|---|
| | 237 | | `PushByte byte -> |
|---|
| | 238 | attr "OpPushByte" ["value",string_of_int byte] |
|---|
| | 239 | | `PushDouble index -> |
|---|
| | 240 | op_a "OpPushDouble" ["index",index] |
|---|
| | 241 | | `PushFalse -> |
|---|
| | 242 | op "OpPushFalse" |
|---|
| | 243 | | `PushInt index -> |
|---|
| | 244 | op_a "OpPushInt" ["index",index] |
|---|
| | 245 | | `PushNamespace index -> |
|---|
| | 246 | op_a "OpPushNamespace" ["index",index] |
|---|
| | 247 | | `PushNan -> |
|---|
| | 248 | op "OpPushNan" |
|---|
| | 249 | | `PushNull -> |
|---|
| | 250 | op "OpPushNull" |
|---|
| | 251 | | `PushScope -> |
|---|
| | 252 | op "OpPushScope" |
|---|
| | 253 | | `PushShort value -> |
|---|
| | 254 | op_a "OpPushShort" ["value",value] |
|---|
| | 255 | | `PushString index -> |
|---|
| | 256 | op_a "OpPushString" ["index",index] |
|---|
| | 257 | | `PushTrue -> |
|---|
| | 258 | op "OpPushTrue" |
|---|
| | 259 | | `PushUInt index -> |
|---|
| | 260 | op_a "OpPushUInt" ["index",index] |
|---|
| | 261 | | `PushUndefined -> |
|---|
| | 262 | op "OpPushUndefined" |
|---|
| | 263 | | `PushWith -> |
|---|
| | 264 | op "OpPushWith" |
|---|
| | 265 | | `ReturnValue -> |
|---|
| | 266 | op "OpReturnValue" |
|---|
| | 267 | | `ReturnVoid -> |
|---|
| | 268 | op "OpReturnVoid" |
|---|
| | 269 | | `RShift -> |
|---|
| | 270 | op "OpRShift" |
|---|
| | 271 | | `SetLocal address -> |
|---|
| | 272 | op_a "OpSetLocal" ["address",address] |
|---|
| | 273 | | `SetLocal_0 -> |
|---|
| | 274 | op "OpSetLocal0" |
|---|
| | 275 | | `SetLocal_1 -> |
|---|
| | 276 | op "OpSetLocal1" |
|---|
| | 277 | | `SetLocal_2 -> |
|---|
| | 278 | op "OpSetLocal2" |
|---|
| | 279 | | `SetLocal_3 -> |
|---|
| | 280 | op "OpSetLocal3" |
|---|
| | 281 | | `SetGlobalSlot slot_id -> |
|---|
| | 282 | op_a "OpSetGlobalSlot" ["slotID",slot_id] |
|---|
| | 283 | | `SetProperty name -> |
|---|
| | 284 | op_a "OpSetProperty" ["name",name] |
|---|
| | 285 | | `SetSlot slot_id -> |
|---|
| | 286 | op_a "OpSetSlot" ["slotID",slot_id] |
|---|
| | 287 | | `SetSuper name -> |
|---|
| | 288 | op_a "OpSetSuper" ["name",name] |
|---|
| | 289 | | `StrictEquals -> |
|---|
| | 290 | op "OpStrictEquals" |
|---|
| | 291 | | `Subtract -> |
|---|
| | 292 | op "OpSubtract" |
|---|
| | 293 | | `Subtract_i -> |
|---|
| | 294 | op "OpSubtractI" |
|---|
| | 295 | | `SubtractI -> |
|---|
| | 296 | op "OpSubtractI" |
|---|
| | 297 | | `Swap -> |
|---|
| | 298 | op "OpSwap" |
|---|
| | 299 | | `Throw -> |
|---|
| | 300 | op "OpThrow" |
|---|
| | 301 | | `TypeOf -> |
|---|
| | 302 | op "OpTypeOf" |
|---|
| | 303 | | `URShift -> |
|---|
| | 304 | op "OpURShift" |
|---|
| | 305 | |
|---|