@awayfl/avm2
Version:
Virtual machine for executing AS3 code
264 lines (263 loc) • 14.6 kB
JavaScript
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 = {}));