1 /* see copyright notice in squirrel.h */
\r
2 #ifndef _SQOPCODES_H_
\r
3 #define _SQOPCODES_H_
\r
5 #define MAX_FUNC_STACKSIZE 0xFF
\r
6 #define MAX_LITERALS ((SQInteger)0x7FFFFFFF)
\r
25 enum NewObjectType {
\r
31 enum AppendArrayType {
\r
44 _OP_LOADFLOAT= 0x03,
\r
46 _OP_TAILCALL= 0x05,
\r
48 _OP_PREPCALL= 0x07,
\r
49 _OP_PREPCALLK= 0x08,
\r
65 _OP_LOADNULLS= 0x18,
\r
73 _OP_SETOUTER= 0x1F,
\r
74 _OP_GETOUTER= 0x20,
\r
76 _OP_APPENDARRAY= 0x22,
\r
77 _OP_COMPARITH= 0x23,
\r
84 _OP_INSTANCEOF= 0x2A,
\r
94 _OP_POSTFOREACH= 0x34,
\r
100 _OP_NEWSLOTA= 0x3A,
\r
105 struct SQInstructionDesc {
\r
106 const SQChar *name;
\r
109 struct SQInstruction
\r
112 SQInstruction(SQOpcode _op,SQInteger a0=0,SQInteger a1=0,SQInteger a2=0,SQInteger a3=0)
\r
114 _arg0 = (unsigned char)a0;_arg1 = (SQInt32)a1;
\r
115 _arg2 = (unsigned char)a2;_arg3 = (unsigned char)a3;
\r
121 unsigned char _arg0;
\r
122 unsigned char _arg2;
\r
123 unsigned char _arg3;
\r
126 #include "squtils.h"
\r
127 typedef sqvector<SQInstruction> SQInstructionVec;
\r
129 #define NEW_SLOT_ATTRIBUTES_FLAG 0x01
\r
130 #define NEW_SLOT_STATIC_FLAG 0x02
\r
132 #endif // _SQOPCODES_H_
\r