Update to SQUIRREL 3.0.4
[supertux.git] / external / squirrel / squirrel / sqopcodes.h
old mode 100755 (executable)
new mode 100644 (file)
index 3867a59..4d17981
@@ -18,8 +18,24 @@ enum CmpOP {
        CMP_G = 0,\r
        CMP_GE = 2,     \r
        CMP_L = 3,\r
-       CMP_LE = 4\r
+       CMP_LE = 4,\r
+       CMP_3W = 5\r
 };\r
+\r
+enum NewObjectType {\r
+       NOT_TABLE = 0,\r
+       NOT_ARRAY = 1,\r
+       NOT_CLASS = 2\r
+};\r
+\r
+enum AppendArrayType {\r
+       AAT_STACK = 0,\r
+       AAT_LITERAL = 1,\r
+       AAT_INT = 2,\r
+       AAT_FLOAT = 3,\r
+       AAT_BOOL = 4\r
+};\r
+\r
 enum SQOpcode\r
 {\r
        _OP_LINE=                               0x00,   \r
@@ -39,25 +55,26 @@ enum SQOpcode
        _OP_GET=                                0x0E,\r
        _OP_EQ=                                 0x0F,\r
        _OP_NE=                                 0x10,\r
-       _OP_ARITH=                              0x11,\r
-       _OP_BITW=                               0x12,\r
-       _OP_RETURN=                             0x13,   \r
-       _OP_LOADNULLS=                  0x14,   \r
-       _OP_LOADROOTTABLE=              0x15,\r
-       _OP_LOADBOOL=                   0x16,\r
-       _OP_DMOVE=                              0x17,   \r
-       _OP_JMP=                                0x18,   \r
-       _OP_JNZ=                                0x19,   \r
-       _OP_JZ=                                 0x1A,   \r
-       _OP_LOADFREEVAR=                0x1B,   \r
-       _OP_VARGC=                              0x1C,   \r
-       _OP_GETVARGV=                   0x1D,   \r
-       _OP_NEWTABLE=                   0x1E,   \r
-       _OP_NEWARRAY=                   0x1F,   \r
-       _OP_APPENDARRAY=                0x20,   \r
-       _OP_GETPARENT=                  0x21,   \r
-       _OP_COMPARITH=                  0x22,   \r
-       _OP_COMPARITHL=                 0x23,   \r
+       _OP_ADD=                                0x11,\r
+       _OP_SUB=                                0x12,\r
+       _OP_MUL=                                0x13,\r
+       _OP_DIV=                                0x14,\r
+       _OP_MOD=                                0x15,\r
+       _OP_BITW=                               0x16,\r
+       _OP_RETURN=                             0x17,   \r
+       _OP_LOADNULLS=                  0x18,   \r
+       _OP_LOADROOT=                   0x19,\r
+       _OP_LOADBOOL=                   0x1A,\r
+       _OP_DMOVE=                              0x1B,   \r
+       _OP_JMP=                                0x1C,   \r
+       //_OP_JNZ=                              0x1D,\r
+       _OP_JCMP=                               0x1D,\r
+       _OP_JZ=                                 0x1E,   \r
+       _OP_SETOUTER=                   0x1F,   \r
+       _OP_GETOUTER=                   0x20,   \r
+       _OP_NEWOBJ=                             0x21,\r
+       _OP_APPENDARRAY=                0x22,   \r
+       _OP_COMPARITH=                  0x23,   \r
        _OP_INC=                                0x24,   \r
        _OP_INCL=                               0x25,   \r
        _OP_PINC=                               0x26,   \r
@@ -75,14 +92,14 @@ enum SQOpcode
        _OP_RESUME=                             0x32,\r
        _OP_FOREACH=                    0x33,\r
        _OP_POSTFOREACH=                0x34,\r
-       _OP_DELEGATE=                   0x35,\r
-       _OP_CLONE=                              0x36,\r
-       _OP_TYPEOF=                             0x37,\r
-       _OP_PUSHTRAP=                   0x38,\r
-       _OP_POPTRAP=                    0x39,\r
-       _OP_THROW=                              0x3A,\r
-       _OP_CLASS=                              0x3B,\r
-       _OP_NEWSLOTA=                   0x3C,\r
+       _OP_CLONE=                              0x35,\r
+       _OP_TYPEOF=                             0x36,\r
+       _OP_PUSHTRAP=                   0x37,\r
+       _OP_POPTRAP=                    0x38,\r
+       _OP_THROW=                              0x39,\r
+       _OP_NEWSLOTA=                   0x3A,\r
+       _OP_GETBASE=                    0x3B,\r
+       _OP_CLOSE=                              0x3C,\r
 };                                                       \r
 \r
 struct SQInstructionDesc {       \r