summaryrefslogtreecommitdiff
path: root/Zend/zend_opcode.c
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2016-02-05 15:23:23 +0100
committerNikita Popov <nikic@php.net>2016-02-11 18:02:19 +0100
commit5faedf5b3e05f0a8c226ac15d90be3d9ade38518 (patch)
treea3656a2637ab3c92fadf413caee0427d1a962ddb /Zend/zend_opcode.c
parentf75be35312e3ca0495f8f5d53ffd042aae58e907 (diff)
downloadphp-git-5faedf5b3e05f0a8c226ac15d90be3d9ade38518.tar.gz
Remove EXT_TYPE_UNUSED in favor of IS_UNUSED
This means we no longer allocate an unused VAR for the retval of instructions that support unused results. Nearly all instructions already used the result variable only if it was used. The only exception to this was the return value variable for internal function call results. I've adjusted the code to use a stack zval for the unused return case now. As we have retval specialization now, we know that it doesn't matter.
Diffstat (limited to 'Zend/zend_opcode.c')
-rw-r--r--Zend/zend_opcode.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/Zend/zend_opcode.c b/Zend/zend_opcode.c
index d58e59b1c1..ab67a88272 100644
--- a/Zend/zend_opcode.c
+++ b/Zend/zend_opcode.c
@@ -680,8 +680,8 @@ ZEND_API int pass_two(zend_op_array *op_array)
break;
case ZEND_ASSERT_CHECK:
/* If result of assert is unused, result of check is unused as well */
- if (op_array->opcodes[opline->op2.opline_num - 1].result_type & EXT_TYPE_UNUSED) {
- opline->result_type |= EXT_TYPE_UNUSED;
+ if (op_array->opcodes[opline->op2.opline_num - 1].result_type == IS_UNUSED) {
+ opline->result_type = IS_UNUSED;
}
ZEND_PASS_TWO_UPDATE_JMP_TARGET(op_array, opline, opline->op2);
break;