X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fsquirrel%2Fsquirrel%2Fsqopcodes.h;h=a05788bf21ad08172879fdca5cc6bbbeea54bfb3;hb=fea3446f05e1e7673607b835c269d3e8d1929ab3;hp=be7fe29a283111a225b0ad17b5612df9abac37d7;hpb=a113d3bd1feddd510e3b2852b0d42522735eee40;p=supertux.git diff --git a/src/squirrel/squirrel/sqopcodes.h b/src/squirrel/squirrel/sqopcodes.h index be7fe29a2..a05788bf2 100644 --- a/src/squirrel/squirrel/sqopcodes.h +++ b/src/squirrel/squirrel/sqopcodes.h @@ -7,7 +7,7 @@ enum BitWiseOP { BW_AND = 0, - BW_OR = 2, //like ADD + BW_OR = 2, BW_XOR = 3, BW_SHIFTL = 4, BW_SHIFTR = 5, @@ -16,78 +16,80 @@ enum BitWiseOP { enum CmpOP { CMP_G = 0, - CMP_GE = 2, //like ADD + CMP_GE = 2, CMP_L = 3, CMP_LE = 4 }; enum SQOpcode { - _OP_LINE= 0x00, + _OP_LINE= 0x00, _OP_LOAD= 0x01, _OP_LOADINT= 0x02, - _OP_DLOAD= 0x03, - _OP_TAILCALL= 0x04, - _OP_CALL= 0x05, - _OP_PREPCALL= 0x06, - _OP_PREPCALLK= 0x07, - _OP_GETK= 0x08, - _OP_MOVE= 0x09, - _OP_NEWSLOT= 0x0A, - _OP_DELETE= 0x0B, - _OP_SET= 0x0C, - _OP_GET= 0x0D, - _OP_EQ= 0x0E, - _OP_NE= 0x0F, - _OP_ARITH= 0x10, - _OP_BITW= 0x11, - _OP_RETURN= 0x12, - _OP_LOADNULLS= 0x13, - _OP_LOADROOTTABLE= 0x14, - _OP_LOADBOOL= 0x15, - _OP_DMOVE= 0x16, - _OP_JMP= 0x17, - _OP_JNZ= 0x18, - _OP_JZ= 0x19, - _OP_LOADFREEVAR= 0x1A, - _OP_VARGC= 0x1B, - _OP_GETVARGV= 0x1C, - _OP_NEWTABLE= 0x1D, - _OP_NEWARRAY= 0x1E, - _OP_APPENDARRAY= 0x1F, - _OP_GETPARENT= 0x20, - _OP_COMPARITH= 0x21, - _OP_COMPARITHL= 0x22, - _OP_INC= 0x23, - _OP_INCL= 0x24, - _OP_PINC= 0x25, - _OP_PINCL= 0x26, - _OP_CMP= 0x27, - _OP_EXISTS= 0x28, - _OP_INSTANCEOF= 0x29, - _OP_AND= 0x2A, - _OP_OR= 0x2B, - _OP_NEG= 0x2C, - _OP_NOT= 0x2D, - _OP_BWNOT= 0x2E, - _OP_CLOSURE= 0x2F, - _OP_YIELD= 0x30, - _OP_RESUME= 0x31, - _OP_FOREACH= 0x32, - _OP_DELEGATE= 0x33, - _OP_CLONE= 0x34, - _OP_TYPEOF= 0x35, - _OP_PUSHTRAP= 0x36, - _OP_POPTRAP= 0x37, - _OP_THROW= 0x38, - _OP_CLASS= 0x39, - _OP_NEWSLOTA= 0x3A -}; + _OP_LOADFLOAT= 0x03, + _OP_DLOAD= 0x04, + _OP_TAILCALL= 0x05, + _OP_CALL= 0x06, + _OP_PREPCALL= 0x07, + _OP_PREPCALLK= 0x08, + _OP_GETK= 0x09, + _OP_MOVE= 0x0A, + _OP_NEWSLOT= 0x0B, + _OP_DELETE= 0x0C, + _OP_SET= 0x0D, + _OP_GET= 0x0E, + _OP_EQ= 0x0F, + _OP_NE= 0x10, + _OP_ARITH= 0x11, + _OP_BITW= 0x12, + _OP_RETURN= 0x13, + _OP_LOADNULLS= 0x14, + _OP_LOADROOTTABLE= 0x15, + _OP_LOADBOOL= 0x16, + _OP_DMOVE= 0x17, + _OP_JMP= 0x18, + _OP_JNZ= 0x19, + _OP_JZ= 0x1A, + _OP_LOADFREEVAR= 0x1B, + _OP_VARGC= 0x1C, + _OP_GETVARGV= 0x1D, + _OP_NEWTABLE= 0x1E, + _OP_NEWARRAY= 0x1F, + _OP_APPENDARRAY= 0x20, + _OP_GETPARENT= 0x21, + _OP_COMPARITH= 0x22, + _OP_COMPARITHL= 0x23, + _OP_INC= 0x24, + _OP_INCL= 0x25, + _OP_PINC= 0x26, + _OP_PINCL= 0x27, + _OP_CMP= 0x28, + _OP_EXISTS= 0x29, + _OP_INSTANCEOF= 0x2A, + _OP_AND= 0x2B, + _OP_OR= 0x2C, + _OP_NEG= 0x2D, + _OP_NOT= 0x2E, + _OP_BWNOT= 0x2F, + _OP_CLOSURE= 0x30, + _OP_YIELD= 0x31, + _OP_RESUME= 0x32, + _OP_FOREACH= 0x33, + _OP_POSTFOREACH= 0x34, + _OP_DELEGATE= 0x35, + _OP_CLONE= 0x36, + _OP_TYPEOF= 0x37, + _OP_PUSHTRAP= 0x38, + _OP_POPTRAP= 0x39, + _OP_THROW= 0x3A, + _OP_CLASS= 0x3B, + _OP_NEWSLOTA= 0x3C, +}; -struct SQInstructionDesc { - const SQChar *name; -}; +struct SQInstructionDesc { + const SQChar *name; +}; -struct SQInstruction +struct SQInstruction { SQInstruction(){}; SQInstruction(SQOpcode _op,SQInteger a0=0,SQInteger a1=0,SQInteger a2=0,SQInteger a3=0) @@ -95,8 +97,8 @@ struct SQInstruction _arg0 = (unsigned char)a0;_arg1 = (SQInt32)a1; _arg2 = (unsigned char)a2;_arg3 = (unsigned char)a3; } - - + + SQInt32 _arg1; unsigned char op; unsigned char _arg0;