summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/zend_vm_execute.h8
-rwxr-xr-xZend/zend_vm_gen.php8
2 files changed, 10 insertions, 6 deletions
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
index d8258c9783..89d958f659 100644
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@ -72891,8 +72891,8 @@ static const void* ZEND_FASTCALL zend_vm_get_opcode_handler_ex(uint32_t spec, co
offset += 1;
} else if (op->extended_value == ZEND_ASSIGN_OBJ) {
offset += 2;
- } else if (op->extended_value == ZEND_ASSIGN_STATIC_PROP) {
- offset += 3;
+ } else if (op->extended_value == ZEND_ASSIGN_STATIC_PROP) {
+ offset += 3;
}
} else if (spec & SPEC_RULE_ISSET) {
offset = offset * 2 + (op->extended_value & ZEND_ISEMPTY);
@@ -72946,11 +72946,13 @@ static const void *zend_vm_get_opcode_handler_func(zend_uchar opcode, const zend
}
}
else if (spec & SPEC_RULE_DIM_OBJ) {
- offset = offset * 3;
+ offset = offset * 4;
if (op->extended_value == ZEND_ASSIGN_DIM) {
offset += 1;
} else if (op->extended_value == ZEND_ASSIGN_OBJ) {
offset += 2;
+ } else if (op->extended_value == ZEND_ASSIGN_STATIC_PROP) {
+ offset += 3;
}
}
else if (spec & SPEC_RULE_ISSET) offset = offset * 2 + (op->extended_value & ZEND_ISEMPTY);
diff --git a/Zend/zend_vm_gen.php b/Zend/zend_vm_gen.php
index f847294112..c7eaa522bb 100755
--- a/Zend/zend_vm_gen.php
+++ b/Zend/zend_vm_gen.php
@@ -2772,8 +2772,8 @@ function gen_vm($def, $skel) {
out($f, "\t\t\t\toffset += 1;\n");
out($f, "\t\t\t} else if (op->extended_value == ZEND_ASSIGN_OBJ) {\n");
out($f, "\t\t\t\toffset += 2;\n");
- out($f, "\t\t} else if (op->extended_value == ZEND_ASSIGN_STATIC_PROP) {\n");
- out($f, "\t\t\toffset += 3;\n");
+ out($f, "\t\t\t} else if (op->extended_value == ZEND_ASSIGN_STATIC_PROP) {\n");
+ out($f, "\t\t\t\toffset += 3;\n");
out($f, "\t\t\t}\n");
$else = "} else ";
}
@@ -2870,11 +2870,13 @@ function gen_vm($def, $skel) {
}
if (isset($used_extra_spec["DIM_OBJ"])) {
out($f, "\t\t{$else}if (spec & SPEC_RULE_DIM_OBJ) {\n");
- out($f, "\t\t\toffset = offset * 3;\n");
+ out($f, "\t\t\toffset = offset * 4;\n");
out($f, "\t\t\tif (op->extended_value == ZEND_ASSIGN_DIM) {\n");
out($f, "\t\t\t\toffset += 1;\n");
out($f, "\t\t\t} else if (op->extended_value == ZEND_ASSIGN_OBJ) {\n");
out($f, "\t\t\t\toffset += 2;\n");
+ out($f, "\t\t\t} else if (op->extended_value == ZEND_ASSIGN_STATIC_PROP) {\n");
+ out($f, "\t\t\t\toffset += 3;\n");
out($f, "\t\t\t}\n");
out($f, "\t\t}\n");
$else = "else ";