mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
Regenerate VM after merge
Signed-off-by: Bob Weinand <bobwei9@hotmail.com>
This commit is contained in:
21
Zend/zend_vm_execute.h
generated
21
Zend/zend_vm_execute.h
generated
@@ -59033,24 +59033,11 @@ static ZEND_OPCODE_HANDLER_RET ZEND_OPCODE_HANDLER_CCONV ZEND_HANDLE_EXCEPTION_S
|
||||
&& throw_op->extended_value & ZEND_FREE_ON_RETURN) {
|
||||
/* exceptions thrown because of loop var destruction on return/break/...
|
||||
* are logically thrown at the end of the foreach loop, so adjust the
|
||||
* throw_op_num.
|
||||
* throw_op_num to the final loop variable FREE.
|
||||
*/
|
||||
const zend_live_range *range = find_live_range(
|
||||
&EX(func)->op_array, throw_op_num, throw_op->op1.var);
|
||||
/* free op1 of the corresponding RETURN */
|
||||
for (i = throw_op_num; i < range->end; i++) {
|
||||
if (EX(func)->op_array.opcodes[i].opcode == ZEND_FREE
|
||||
|| EX(func)->op_array.opcodes[i].opcode == ZEND_FE_FREE) {
|
||||
/* pass */
|
||||
} else {
|
||||
if (EX(func)->op_array.opcodes[i].opcode == ZEND_RETURN
|
||||
&& (EX(func)->op_array.opcodes[i].op1_type & (IS_VAR|IS_TMP_VAR))) {
|
||||
zval_ptr_dtor(EX_VAR(EX(func)->op_array.opcodes[i].op1.var));
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
throw_op_num = range->end;
|
||||
uint32_t new_throw_op_num = throw_op_num + throw_op->op2.opline_num;
|
||||
cleanup_live_vars(execute_data, throw_op_num, new_throw_op_num);
|
||||
throw_op_num = new_throw_op_num;
|
||||
}
|
||||
|
||||
/* Find the innermost try/catch/finally the exception was thrown in */
|
||||
|
||||
Reference in New Issue
Block a user