summaryrefslogtreecommitdiff
path: root/Zend/zend_compile.c
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_compile.c')
-rw-r--r--Zend/zend_compile.c15
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;