diff options
-rw-r--r-- | Zend/zend_vm_execute.h | 8 | ||||
-rwxr-xr-x | Zend/zend_vm_gen.php | 8 |
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 "; |