UNPKG

@awayfl/avm2

Version:

Virtual machine for executing AS3 code

264 lines (263 loc) 14.6 kB
export var Bytecode; (function (Bytecode) { Bytecode[Bytecode["BKPT"] = 1] = "BKPT"; Bytecode[Bytecode["NOP"] = 2] = "NOP"; Bytecode[Bytecode["THROW"] = 3] = "THROW"; Bytecode[Bytecode["GETSUPER"] = 4] = "GETSUPER"; Bytecode[Bytecode["GETSUPER_DYN"] = 260] = "GETSUPER_DYN"; Bytecode[Bytecode["SETSUPER"] = 5] = "SETSUPER"; Bytecode[Bytecode["SETSUPER_DYN"] = 261] = "SETSUPER_DYN"; Bytecode[Bytecode["DXNS"] = 6] = "DXNS"; Bytecode[Bytecode["DXNSLATE"] = 7] = "DXNSLATE"; Bytecode[Bytecode["KILL"] = 8] = "KILL"; Bytecode[Bytecode["LABEL"] = 9] = "LABEL"; Bytecode[Bytecode["LF32X4"] = 10] = "LF32X4"; Bytecode[Bytecode["SF32X4"] = 11] = "SF32X4"; Bytecode[Bytecode["IFNLT"] = 12] = "IFNLT"; Bytecode[Bytecode["IFNLE"] = 13] = "IFNLE"; Bytecode[Bytecode["IFNGT"] = 14] = "IFNGT"; Bytecode[Bytecode["IFNGE"] = 15] = "IFNGE"; Bytecode[Bytecode["JUMP"] = 16] = "JUMP"; Bytecode[Bytecode["IFTRUE"] = 17] = "IFTRUE"; Bytecode[Bytecode["IFFALSE"] = 18] = "IFFALSE"; Bytecode[Bytecode["IFEQ"] = 19] = "IFEQ"; Bytecode[Bytecode["IFNE"] = 20] = "IFNE"; Bytecode[Bytecode["IFLT"] = 21] = "IFLT"; Bytecode[Bytecode["IFLE"] = 22] = "IFLE"; Bytecode[Bytecode["IFGT"] = 23] = "IFGT"; Bytecode[Bytecode["IFGE"] = 24] = "IFGE"; Bytecode[Bytecode["IFSTRICTEQ"] = 25] = "IFSTRICTEQ"; Bytecode[Bytecode["IFSTRICTNE"] = 26] = "IFSTRICTNE"; Bytecode[Bytecode["LOOKUPSWITCH"] = 27] = "LOOKUPSWITCH"; Bytecode[Bytecode["PUSHWITH"] = 28] = "PUSHWITH"; Bytecode[Bytecode["POPSCOPE"] = 29] = "POPSCOPE"; Bytecode[Bytecode["NEXTNAME"] = 30] = "NEXTNAME"; Bytecode[Bytecode["HASNEXT"] = 31] = "HASNEXT"; Bytecode[Bytecode["PUSHNULL"] = 32] = "PUSHNULL"; Bytecode[Bytecode["PUSHUNDEFINED"] = 33] = "PUSHUNDEFINED"; Bytecode[Bytecode["PUSHFLOAT"] = 34] = "PUSHFLOAT"; Bytecode[Bytecode["NEXTVALUE"] = 35] = "NEXTVALUE"; Bytecode[Bytecode["PUSHBYTE"] = 36] = "PUSHBYTE"; Bytecode[Bytecode["PUSHSHORT"] = 37] = "PUSHSHORT"; Bytecode[Bytecode["PUSHTRUE"] = 38] = "PUSHTRUE"; Bytecode[Bytecode["PUSHFALSE"] = 39] = "PUSHFALSE"; Bytecode[Bytecode["PUSHNAN"] = 40] = "PUSHNAN"; Bytecode[Bytecode["POP"] = 41] = "POP"; Bytecode[Bytecode["DUP"] = 42] = "DUP"; Bytecode[Bytecode["SWAP"] = 43] = "SWAP"; Bytecode[Bytecode["PUSHSTRING"] = 44] = "PUSHSTRING"; Bytecode[Bytecode["PUSHINT"] = 45] = "PUSHINT"; Bytecode[Bytecode["PUSHUINT"] = 46] = "PUSHUINT"; Bytecode[Bytecode["PUSHDOUBLE"] = 47] = "PUSHDOUBLE"; Bytecode[Bytecode["PUSHSCOPE"] = 48] = "PUSHSCOPE"; Bytecode[Bytecode["PUSHNAMESPACE"] = 49] = "PUSHNAMESPACE"; Bytecode[Bytecode["HASNEXT2"] = 50] = "HASNEXT2"; Bytecode[Bytecode["LI8"] = 53] = "LI8"; Bytecode[Bytecode["LI16"] = 54] = "LI16"; Bytecode[Bytecode["LI32"] = 55] = "LI32"; Bytecode[Bytecode["LF32"] = 56] = "LF32"; Bytecode[Bytecode["LF64"] = 57] = "LF64"; Bytecode[Bytecode["SI8"] = 58] = "SI8"; Bytecode[Bytecode["SI16"] = 59] = "SI16"; Bytecode[Bytecode["SI32"] = 60] = "SI32"; Bytecode[Bytecode["SF32"] = 61] = "SF32"; Bytecode[Bytecode["SF64"] = 62] = "SF64"; Bytecode[Bytecode["NEWFUNCTION"] = 64] = "NEWFUNCTION"; Bytecode[Bytecode["CALL"] = 65] = "CALL"; Bytecode[Bytecode["CONSTRUCT"] = 66] = "CONSTRUCT"; Bytecode[Bytecode["CALLMETHOD"] = 67] = "CALLMETHOD"; Bytecode[Bytecode["CALLSTATIC"] = 68] = "CALLSTATIC"; Bytecode[Bytecode["CALLSUPER"] = 69] = "CALLSUPER"; Bytecode[Bytecode["CALLSUPER_DYN"] = 325] = "CALLSUPER_DYN"; Bytecode[Bytecode["CALLPROPERTY"] = 70] = "CALLPROPERTY"; Bytecode[Bytecode["CALLPROPERTY_DYN"] = 326] = "CALLPROPERTY_DYN"; Bytecode[Bytecode["RETURNVOID"] = 71] = "RETURNVOID"; Bytecode[Bytecode["RETURNVALUE"] = 72] = "RETURNVALUE"; Bytecode[Bytecode["CONSTRUCTSUPER"] = 73] = "CONSTRUCTSUPER"; Bytecode[Bytecode["CONSTRUCTSUPER_DYN"] = 329] = "CONSTRUCTSUPER_DYN"; Bytecode[Bytecode["CONSTRUCTPROP"] = 74] = "CONSTRUCTPROP"; Bytecode[Bytecode["CONSTRUCTPROP_DYN"] = 330] = "CONSTRUCTPROP_DYN"; Bytecode[Bytecode["CALLSUPERID"] = 75] = "CALLSUPERID"; Bytecode[Bytecode["CALLPROPLEX"] = 76] = "CALLPROPLEX"; Bytecode[Bytecode["CALLPROPLEX_DYN"] = 332] = "CALLPROPLEX_DYN"; Bytecode[Bytecode["CALLINTERFACE"] = 77] = "CALLINTERFACE"; Bytecode[Bytecode["CALLSUPERVOID"] = 78] = "CALLSUPERVOID"; Bytecode[Bytecode["CALLSUPERVOID_DYN"] = 334] = "CALLSUPERVOID_DYN"; Bytecode[Bytecode["CALLPROPVOID"] = 79] = "CALLPROPVOID"; Bytecode[Bytecode["SXI1"] = 80] = "SXI1"; Bytecode[Bytecode["SXI8"] = 81] = "SXI8"; Bytecode[Bytecode["SXI16"] = 82] = "SXI16"; Bytecode[Bytecode["APPLYTYPE"] = 83] = "APPLYTYPE"; Bytecode[Bytecode["PUSHFLOAT4"] = 84] = "PUSHFLOAT4"; Bytecode[Bytecode["NEWOBJECT"] = 85] = "NEWOBJECT"; Bytecode[Bytecode["NEWARRAY"] = 86] = "NEWARRAY"; Bytecode[Bytecode["NEWACTIVATION"] = 87] = "NEWACTIVATION"; Bytecode[Bytecode["NEWCLASS"] = 88] = "NEWCLASS"; Bytecode[Bytecode["GETDESCENDANTS"] = 89] = "GETDESCENDANTS"; Bytecode[Bytecode["NEWCATCH"] = 90] = "NEWCATCH"; Bytecode[Bytecode["FINDPROPSTRICT"] = 93] = "FINDPROPSTRICT"; Bytecode[Bytecode["FINDPROPSTRICT_DYN"] = 349] = "FINDPROPSTRICT_DYN"; Bytecode[Bytecode["FINDPROPERTY"] = 94] = "FINDPROPERTY"; Bytecode[Bytecode["FINDPROPERTY_DYN"] = 350] = "FINDPROPERTY_DYN"; Bytecode[Bytecode["FINDDEF"] = 95] = "FINDDEF"; Bytecode[Bytecode["GETLEX"] = 96] = "GETLEX"; Bytecode[Bytecode["GETLEX_DYN"] = 352] = "GETLEX_DYN"; Bytecode[Bytecode["SETPROPERTY"] = 97] = "SETPROPERTY"; Bytecode[Bytecode["SETPROPERTY_DYN"] = 353] = "SETPROPERTY_DYN"; Bytecode[Bytecode["GETLOCAL"] = 98] = "GETLOCAL"; Bytecode[Bytecode["SETLOCAL"] = 99] = "SETLOCAL"; Bytecode[Bytecode["GETGLOBALSCOPE"] = 100] = "GETGLOBALSCOPE"; Bytecode[Bytecode["GETSCOPEOBJECT"] = 101] = "GETSCOPEOBJECT"; Bytecode[Bytecode["GETPROPERTY"] = 102] = "GETPROPERTY"; Bytecode[Bytecode["GETPROPERTY_DYN"] = 358] = "GETPROPERTY_DYN"; Bytecode[Bytecode["GETOUTERSCOPE"] = 103] = "GETOUTERSCOPE"; Bytecode[Bytecode["INITPROPERTY"] = 104] = "INITPROPERTY"; Bytecode[Bytecode["UNUSED_69"] = 105] = "UNUSED_69"; Bytecode[Bytecode["DELETEPROPERTY"] = 106] = "DELETEPROPERTY"; Bytecode[Bytecode["DELETEPROPERTY_DYN"] = 362] = "DELETEPROPERTY_DYN"; Bytecode[Bytecode["UNUSED_6B"] = 107] = "UNUSED_6B"; Bytecode[Bytecode["GETSLOT"] = 108] = "GETSLOT"; Bytecode[Bytecode["SETSLOT"] = 109] = "SETSLOT"; Bytecode[Bytecode["GETGLOBALSLOT"] = 110] = "GETGLOBALSLOT"; Bytecode[Bytecode["SETGLOBALSLOT"] = 111] = "SETGLOBALSLOT"; Bytecode[Bytecode["CONVERT_S"] = 112] = "CONVERT_S"; Bytecode[Bytecode["ESC_XELEM"] = 113] = "ESC_XELEM"; Bytecode[Bytecode["ESC_XATTR"] = 114] = "ESC_XATTR"; Bytecode[Bytecode["CONVERT_I"] = 115] = "CONVERT_I"; Bytecode[Bytecode["CONVERT_U"] = 116] = "CONVERT_U"; Bytecode[Bytecode["CONVERT_D"] = 117] = "CONVERT_D"; Bytecode[Bytecode["CONVERT_B"] = 118] = "CONVERT_B"; Bytecode[Bytecode["CONVERT_O"] = 119] = "CONVERT_O"; Bytecode[Bytecode["CHECKFILTER"] = 120] = "CHECKFILTER"; Bytecode[Bytecode["CONVERT_F"] = 121] = "CONVERT_F"; Bytecode[Bytecode["UNPLUS"] = 122] = "UNPLUS"; Bytecode[Bytecode["CONVERT_F4"] = 123] = "CONVERT_F4"; Bytecode[Bytecode["BC_7C"] = 124] = "BC_7C"; Bytecode[Bytecode["BC_7D"] = 125] = "BC_7D"; Bytecode[Bytecode["BC_7E"] = 126] = "BC_7E"; Bytecode[Bytecode["BC_7F"] = 127] = "BC_7F"; Bytecode[Bytecode["COERCE"] = 128] = "COERCE"; Bytecode[Bytecode["COERCE_DYN"] = 384] = "COERCE_DYN"; Bytecode[Bytecode["COERCE_B"] = 129] = "COERCE_B"; Bytecode[Bytecode["COERCE_A"] = 130] = "COERCE_A"; Bytecode[Bytecode["COERCE_I"] = 131] = "COERCE_I"; Bytecode[Bytecode["COERCE_D"] = 132] = "COERCE_D"; Bytecode[Bytecode["COERCE_S"] = 133] = "COERCE_S"; Bytecode[Bytecode["ASTYPE"] = 134] = "ASTYPE"; Bytecode[Bytecode["ASTYPELATE"] = 135] = "ASTYPELATE"; Bytecode[Bytecode["COERCE_U"] = 136] = "COERCE_U"; Bytecode[Bytecode["COERCE_O"] = 137] = "COERCE_O"; Bytecode[Bytecode["NEGATE"] = 144] = "NEGATE"; Bytecode[Bytecode["INCREMENT"] = 145] = "INCREMENT"; Bytecode[Bytecode["INCLOCAL"] = 146] = "INCLOCAL"; Bytecode[Bytecode["DECREMENT"] = 147] = "DECREMENT"; Bytecode[Bytecode["DECLOCAL"] = 148] = "DECLOCAL"; Bytecode[Bytecode["TYPEOF"] = 149] = "TYPEOF"; Bytecode[Bytecode["NOT"] = 150] = "NOT"; Bytecode[Bytecode["BITNOT"] = 151] = "BITNOT"; Bytecode[Bytecode["UNUSED_98"] = 152] = "UNUSED_98"; Bytecode[Bytecode["UNUSED_99"] = 153] = "UNUSED_99"; Bytecode[Bytecode["UNUSED_9A"] = 154] = "UNUSED_9A"; Bytecode[Bytecode["UNUSED_9B"] = 155] = "UNUSED_9B"; Bytecode[Bytecode["UNUSED_9C"] = 156] = "UNUSED_9C"; Bytecode[Bytecode["UNUSED_9D"] = 157] = "UNUSED_9D"; Bytecode[Bytecode["UNUSED_9E"] = 158] = "UNUSED_9E"; Bytecode[Bytecode["UNUSED_9F"] = 159] = "UNUSED_9F"; Bytecode[Bytecode["ADD"] = 160] = "ADD"; Bytecode[Bytecode["SUBTRACT"] = 161] = "SUBTRACT"; Bytecode[Bytecode["MULTIPLY"] = 162] = "MULTIPLY"; Bytecode[Bytecode["DIVIDE"] = 163] = "DIVIDE"; Bytecode[Bytecode["MODULO"] = 164] = "MODULO"; Bytecode[Bytecode["LSHIFT"] = 165] = "LSHIFT"; Bytecode[Bytecode["RSHIFT"] = 166] = "RSHIFT"; Bytecode[Bytecode["URSHIFT"] = 167] = "URSHIFT"; Bytecode[Bytecode["BITAND"] = 168] = "BITAND"; Bytecode[Bytecode["BITOR"] = 169] = "BITOR"; Bytecode[Bytecode["BITXOR"] = 170] = "BITXOR"; Bytecode[Bytecode["EQUALS"] = 171] = "EQUALS"; Bytecode[Bytecode["STRICTEQUALS"] = 172] = "STRICTEQUALS"; Bytecode[Bytecode["LESSTHAN"] = 173] = "LESSTHAN"; Bytecode[Bytecode["LESSEQUALS"] = 174] = "LESSEQUALS"; Bytecode[Bytecode["GREATERTHAN"] = 175] = "GREATERTHAN"; Bytecode[Bytecode["GREATEREQUALS"] = 176] = "GREATEREQUALS"; Bytecode[Bytecode["INSTANCEOF"] = 177] = "INSTANCEOF"; Bytecode[Bytecode["ISTYPE"] = 178] = "ISTYPE"; Bytecode[Bytecode["ISTYPELATE"] = 179] = "ISTYPELATE"; Bytecode[Bytecode["IN"] = 180] = "IN"; Bytecode[Bytecode["UNUSED_B5"] = 181] = "UNUSED_B5"; Bytecode[Bytecode["UNUSED_B6"] = 182] = "UNUSED_B6"; Bytecode[Bytecode["UNUSED_B7"] = 183] = "UNUSED_B7"; Bytecode[Bytecode["UNUSED_B8"] = 184] = "UNUSED_B8"; Bytecode[Bytecode["UNUSED_B9"] = 185] = "UNUSED_B9"; Bytecode[Bytecode["UNUSED_BA"] = 186] = "UNUSED_BA"; Bytecode[Bytecode["UNUSED_BB"] = 187] = "UNUSED_BB"; Bytecode[Bytecode["UNUSED_BC"] = 188] = "UNUSED_BC"; Bytecode[Bytecode["UNUSED_BD"] = 189] = "UNUSED_BD"; Bytecode[Bytecode["UNUSED_BE"] = 190] = "UNUSED_BE"; Bytecode[Bytecode["UNUSED_BF"] = 191] = "UNUSED_BF"; Bytecode[Bytecode["INCREMENT_I"] = 192] = "INCREMENT_I"; Bytecode[Bytecode["DECREMENT_I"] = 193] = "DECREMENT_I"; Bytecode[Bytecode["INCLOCAL_I"] = 194] = "INCLOCAL_I"; Bytecode[Bytecode["DECLOCAL_I"] = 195] = "DECLOCAL_I"; Bytecode[Bytecode["NEGATE_I"] = 196] = "NEGATE_I"; Bytecode[Bytecode["ADD_I"] = 197] = "ADD_I"; Bytecode[Bytecode["SUBTRACT_I"] = 198] = "SUBTRACT_I"; Bytecode[Bytecode["MULTIPLY_I"] = 199] = "MULTIPLY_I"; Bytecode[Bytecode["UNUSED_C8"] = 200] = "UNUSED_C8"; Bytecode[Bytecode["UNUSED_C9"] = 201] = "UNUSED_C9"; Bytecode[Bytecode["UNUSED_CA"] = 202] = "UNUSED_CA"; Bytecode[Bytecode["UNUSED_CB"] = 203] = "UNUSED_CB"; Bytecode[Bytecode["UNUSED_CC"] = 204] = "UNUSED_CC"; Bytecode[Bytecode["UNUSED_CD"] = 205] = "UNUSED_CD"; Bytecode[Bytecode["UNUSED_CE"] = 206] = "UNUSED_CE"; Bytecode[Bytecode["UNUSED_CF"] = 207] = "UNUSED_CF"; Bytecode[Bytecode["GETLOCAL0"] = 208] = "GETLOCAL0"; Bytecode[Bytecode["GETLOCAL1"] = 209] = "GETLOCAL1"; Bytecode[Bytecode["GETLOCAL2"] = 210] = "GETLOCAL2"; Bytecode[Bytecode["GETLOCAL3"] = 211] = "GETLOCAL3"; Bytecode[Bytecode["SETLOCAL0"] = 212] = "SETLOCAL0"; Bytecode[Bytecode["SETLOCAL1"] = 213] = "SETLOCAL1"; Bytecode[Bytecode["SETLOCAL2"] = 214] = "SETLOCAL2"; Bytecode[Bytecode["SETLOCAL3"] = 215] = "SETLOCAL3"; Bytecode[Bytecode["UNUSED_D8"] = 216] = "UNUSED_D8"; Bytecode[Bytecode["UNUSED_D9"] = 217] = "UNUSED_D9"; Bytecode[Bytecode["UNUSED_DA"] = 218] = "UNUSED_DA"; Bytecode[Bytecode["UNUSED_DB"] = 219] = "UNUSED_DB"; Bytecode[Bytecode["UNUSED_DC"] = 220] = "UNUSED_DC"; Bytecode[Bytecode["UNUSED_DD"] = 221] = "UNUSED_DD"; Bytecode[Bytecode["UNUSED_DE"] = 222] = "UNUSED_DE"; Bytecode[Bytecode["UNUSED_DF"] = 223] = "UNUSED_DF"; Bytecode[Bytecode["UNUSED_E0"] = 224] = "UNUSED_E0"; Bytecode[Bytecode["UNUSED_E1"] = 225] = "UNUSED_E1"; Bytecode[Bytecode["UNUSED_E2"] = 226] = "UNUSED_E2"; Bytecode[Bytecode["UNUSED_E3"] = 227] = "UNUSED_E3"; Bytecode[Bytecode["UNUSED_E4"] = 228] = "UNUSED_E4"; Bytecode[Bytecode["UNUSED_E5"] = 229] = "UNUSED_E5"; Bytecode[Bytecode["UNUSED_E6"] = 230] = "UNUSED_E6"; Bytecode[Bytecode["UNUSED_E7"] = 231] = "UNUSED_E7"; Bytecode[Bytecode["UNUSED_E8"] = 232] = "UNUSED_E8"; Bytecode[Bytecode["UNUSED_E9"] = 233] = "UNUSED_E9"; Bytecode[Bytecode["UNUSED_EA"] = 234] = "UNUSED_EA"; Bytecode[Bytecode["UNUSED_EB"] = 235] = "UNUSED_EB"; Bytecode[Bytecode["UNUSED_EC"] = 236] = "UNUSED_EC"; Bytecode[Bytecode["UNUSED_ED"] = 237] = "UNUSED_ED"; Bytecode[Bytecode["UNUSED_EE"] = 238] = "UNUSED_EE"; Bytecode[Bytecode["INVALID"] = 237] = "INVALID"; Bytecode[Bytecode["DEBUG"] = 239] = "DEBUG"; Bytecode[Bytecode["DEBUGLINE"] = 240] = "DEBUGLINE"; Bytecode[Bytecode["DEBUGFILE"] = 241] = "DEBUGFILE"; Bytecode[Bytecode["BKPTLINE"] = 242] = "BKPTLINE"; Bytecode[Bytecode["TIMESTAMP"] = 243] = "TIMESTAMP"; Bytecode[Bytecode["RESTARGC"] = 244] = "RESTARGC"; Bytecode[Bytecode["RESTARG"] = 245] = "RESTARG"; Bytecode[Bytecode["UNUSED_F6"] = 246] = "UNUSED_F6"; Bytecode[Bytecode["UNUSED_F7"] = 247] = "UNUSED_F7"; Bytecode[Bytecode["UNUSED_F8"] = 248] = "UNUSED_F8"; Bytecode[Bytecode["UNUSED_F9"] = 249] = "UNUSED_F9"; Bytecode[Bytecode["UNUSED_FA"] = 250] = "UNUSED_FA"; Bytecode[Bytecode["UNUSED_FB"] = 251] = "UNUSED_FB"; Bytecode[Bytecode["UNUSED_FC"] = 252] = "UNUSED_FC"; Bytecode[Bytecode["UNUSED_FD"] = 253] = "UNUSED_FD"; Bytecode[Bytecode["UNUSED_FE"] = 254] = "UNUSED_FE"; Bytecode[Bytecode["END"] = 255] = "END"; })(Bytecode || (Bytecode = {}));