diff options
| author | Nikita Popov <nikic@php.net> | 2015-07-21 18:06:19 +0200 |
|---|---|---|
| committer | Nikita Popov <nikic@php.net> | 2015-07-21 21:13:34 +0200 |
| commit | 7c661bd30408c4acbd623ee310e468b4e2bb97bb (patch) | |
| tree | 4088fe76eb518c99a8062ca60d29056cde4342d1 /Zend/zend_opcode.c | |
| parent | 2141ab9be5c2b07c24534552753f8227473efa07 (diff) | |
| download | php-git-7c661bd30408c4acbd623ee310e468b4e2bb97bb.tar.gz | |
Remove FAST_CALL_FROM_CATCH
This was generated for a return from a try block with both a catch
and a finally. However at this point no exception can be active,
because it either didn't exist in the first place or was explicitly
discarded using DISCARD_EXCEPTION.
Diffstat (limited to 'Zend/zend_opcode.c')
| -rw-r--r-- | Zend/zend_opcode.c | 16 |
1 files changed, 1 insertions, 15 deletions
diff --git a/Zend/zend_opcode.c b/Zend/zend_opcode.c index 62b58b4e57..62869373dd 100644 --- a/Zend/zend_opcode.c +++ b/Zend/zend_opcode.c @@ -587,21 +587,7 @@ static void zend_resolve_finally_call(zend_op_array *op_array, uint32_t op_num, zend_adjust_fast_call(op_array, start_op, op_array->try_catch_array[i].finally_op, op_array->try_catch_array[i].finally_end); - if (op_array->try_catch_array[i].catch_op) { - opline->extended_value = ZEND_FAST_CALL_FROM_CATCH; - opline->op2.opline_num = op_array->try_catch_array[i].catch_op; - opline->op1.opline_num = get_next_op_number(op_array); - /* generate a FAST_CALL to hole CALL_FROM_FINALLY */ - opline = get_next_op(op_array); - opline->opcode = ZEND_FAST_CALL; - opline->result_type = IS_TMP_VAR; - opline->result.var = fast_call_var; - SET_UNUSED(opline->op1); - SET_UNUSED(opline->op2); - zend_resolve_fast_call(op_array, start_op + 1, op_array->try_catch_array[i].finally_op - 2); - } else { - zend_resolve_fast_call(op_array, start_op, op_array->try_catch_array[i].finally_op - 2); - } + zend_resolve_fast_call(op_array, start_op, op_array->try_catch_array[i].finally_op - 2); opline->op1.opline_num = op_array->try_catch_array[i].finally_op; /* generate a sequence of FAST_CALL to upward finally block */ |
