diff options
Diffstat (limited to 'Zend/zend_compile.c')
| -rw-r--r-- | Zend/zend_compile.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 3f9785a63d..005127eb63 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -2826,7 +2826,8 @@ void zend_compile_compound_assign(znode *result, zend_ast *ast) /* {{{ */ zend_delayed_compile_var(&var_node, var_ast, BP_VAR_RW, 0); zend_compile_expr(&expr_node, expr_ast); zend_delayed_compile_end(offset); - zend_emit_op(result, opcode, &var_node, &expr_node); + opline = zend_emit_op(result, ZEND_ASSIGN_OP, &var_node, &expr_node); + opline->extended_value = opcode; return; case ZEND_AST_STATIC_PROP: offset = zend_delayed_compile_begin(); @@ -2835,8 +2836,8 @@ void zend_compile_compound_assign(znode *result, zend_ast *ast) /* {{{ */ opline = zend_delayed_compile_end(offset); cache_slot = opline->extended_value; - opline->opcode = opcode; - opline->extended_value = ZEND_ASSIGN_STATIC_PROP; + opline->opcode = ZEND_ASSIGN_STATIC_PROP_OP; + opline->extended_value = opcode; opline = zend_emit_op_data(&expr_node); opline->extended_value = cache_slot; @@ -2847,8 +2848,8 @@ void zend_compile_compound_assign(znode *result, zend_ast *ast) /* {{{ */ zend_compile_expr(&expr_node, expr_ast); opline = zend_delayed_compile_end(offset); - opline->opcode = opcode; - opline->extended_value = ZEND_ASSIGN_DIM; + opline->opcode = ZEND_ASSIGN_DIM_OP; + opline->extended_value = opcode; zend_emit_op_data(&expr_node); return; @@ -2859,8 +2860,8 @@ void zend_compile_compound_assign(znode *result, zend_ast *ast) /* {{{ */ opline = zend_delayed_compile_end(offset); cache_slot = opline->extended_value; - opline->opcode = opcode; - opline->extended_value = ZEND_ASSIGN_OBJ; + opline->opcode = ZEND_ASSIGN_OBJ_OP; + opline->extended_value = opcode; opline = zend_emit_op_data(&expr_node); opline->extended_value = cache_slot; |
