diff options
| author | Zeev Suraski <zeev@php.net> | 2003-07-30 17:49:27 +0000 |
|---|---|---|
| committer | Zeev Suraski <zeev@php.net> | 2003-07-30 17:49:27 +0000 |
| commit | 68fa4e50f8a3ba3fda5d661edeb453e5cf08ddc6 (patch) | |
| tree | c32c079f047cde03208da42087b00b82f502884e /Zend | |
| parent | f41f62c2ff97d48244880e936720d80248fd246c (diff) | |
| download | php-git-68fa4e50f8a3ba3fda5d661edeb453e5cf08ddc6.tar.gz | |
Get rid of an opcode
Diffstat (limited to 'Zend')
| -rw-r--r-- | Zend/zend_compile.c | 6 | ||||
| -rw-r--r-- | Zend/zend_compile.h | 8 | ||||
| -rw-r--r-- | Zend/zend_execute.c | 5 |
3 files changed, 12 insertions, 7 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index a3fea89248..2158f938db 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -2901,10 +2901,12 @@ void zend_do_unset(znode *variable TSRMLS_DC) last_op->opcode = ZEND_UNSET_VAR; break; case ZEND_FETCH_DIM_UNSET: - last_op->opcode = ZEND_UNSET_DIM; + last_op->opcode = ZEND_UNSET_DIM_OBJ; + last_op->extended_value = ZEND_UNSET_DIM; break; case ZEND_FETCH_OBJ_UNSET: - last_op->opcode = ZEND_UNSET_OBJ; + last_op->opcode = ZEND_UNSET_DIM_OBJ; + last_op->extended_value = ZEND_UNSET_OBJ; break; } diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h index aa5a9f501c..d28fa53e40 100644 --- a/Zend/zend_compile.h +++ b/Zend/zend_compile.h @@ -571,8 +571,7 @@ int zendlex(znode *zendlval TSRMLS_DC); #define ZEND_INCLUDE_OR_EVAL 73 #define ZEND_UNSET_VAR 74 -#define ZEND_UNSET_DIM 75 -#define ZEND_UNSET_OBJ 76 +#define ZEND_UNSET_DIM_OBJ 75 #define ZEND_FE_RESET 77 #define ZEND_FE_FETCH 78 @@ -670,6 +669,11 @@ int zendlex(znode *zendlval TSRMLS_DC); #define ZEND_FETCH_STATIC 2 #define ZEND_FETCH_STATIC_MEMBER 3 + +/* obj/dim unsets */ +#define ZEND_UNSET_DIM 1 +#define ZEND_UNSET_OBJ 2 + /* class fetches */ #define ZEND_FETCH_CLASS_DEFAULT 0 #define ZEND_FETCH_CLASS_SELF 1 diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 34b6faf06f..890c838667 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -3444,7 +3444,7 @@ int zend_unset_dim_obj_handler(ZEND_OPCODE_HANDLER_ARGS) if (container) { HashTable *ht; - switch (EX(opline)->opcode) { + switch (EX(opline)->extended_value) { case ZEND_UNSET_DIM: switch (Z_TYPE_PP(container)) { case IS_ARRAY: @@ -4092,8 +4092,7 @@ void zend_init_opcodes_handlers() zend_opcode_handlers[ZEND_INCLUDE_OR_EVAL] = zend_include_or_eval_handler; zend_opcode_handlers[ZEND_UNSET_VAR] = zend_unset_var_handler; - zend_opcode_handlers[ZEND_UNSET_DIM] = zend_unset_dim_obj_handler; - zend_opcode_handlers[ZEND_UNSET_OBJ] = zend_unset_dim_obj_handler; + zend_opcode_handlers[ZEND_UNSET_DIM_OBJ] = zend_unset_dim_obj_handler; zend_opcode_handlers[ZEND_FE_RESET] = zend_fe_reset_handler; zend_opcode_handlers[ZEND_FE_FETCH] = zend_fe_fetch_handler; |
