--- parser3/src/include/pa_opcode.h 2009/04/28 11:09:37 1.30 +++ parser3/src/include/pa_opcode.h 2009/05/19 08:41:06 1.32 @@ -11,10 +11,15 @@ namespace OP { -static const char * const IDENT_OPCODE_H="$Date: 2009/04/28 11:09:37 $"; +static const char * const IDENT_OPCODE_H="$Date: 2009/05/19 08:41:06 $"; -#define OPTIMIZE_BYTECODE_GET_CLASS 1 -#define OPTIMIZE_BYTECODE_GET_ELEMENT 1 +#define OPTIMIZE_BYTECODE_GET_CLASS +#define OPTIMIZE_BYTECODE_GET_ELEMENT +#define OPTIMIZE_BYTECODE_GET_ELEMENT_FIELD +#define OPTIMIZE_BYTECODE_GET_ELEMENT_METHOD +//#define OPTIMIZE_BYTECODE_STRING_POOL +#define OPTIMIZE_BYTECODE_USE_TWO_OPERANDS_INSTRUCTIONS +#define OPTIMIZE_BYTECODE_CUT_REM_OPERATOR /// Compiled operation code enum OPCODE { @@ -40,6 +45,10 @@ enum OPCODE { OP_GET_ELEMENT_OR_OPERATOR, #endif OP_GET_ELEMENT, +#ifdef OPTIMIZE_BYTECODE_GET_ELEMENT_FIELD + OP_GET_ELEMENT_FIELD, + OP_GET_ELEMENT_FIELD__WRITE, +#endif #ifdef OPTIMIZE_BYTECODE_GET_ELEMENT OP_VALUE__GET_ELEMENT, #endif @@ -48,7 +57,6 @@ enum OPCODE { OP_VALUE__GET_ELEMENT__WRITE, #endif OP_OBJECT_POOL, OP_STRING_POOL, - OP_STORE_PARAM, OP_PREPARE_TO_CONSTRUCT_OBJECT, OP_PREPARE_TO_EXPRESSION, OP_CALL, OP_CALL__WRITE, //@}