com php-src: Revert "ZEND_SEPARATE reuses temporaries ": Zend/tests/temporary_cleaning_006.phpt Z end/zend_opcode.c

From: Date: Fri, 10 Jul 2015 10:05:43 +0000
Subject: com php-src: Revert "ZEND_SEPARATE reuses temporaries ": Zend/tests/temporary_cleaning_006.phpt Z end/zend_opcode.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-87903@lists.php.net to get a copy of this message
Commit: 770571bce95e086cf6dad703e863c5874082cd6b Author: Anatol Belski <ab@php.net> Fri, 10 Jul 2015 12:05:43 +0200 Parents: 6cdf47725485cb5f2993a488aeb2df7fb4b287f6 Branches: PHP-7.0.0 Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=770571bce95e086cf6dad703e863c5874082cd6b Log: Revert "ZEND_SEPARATE reuses temporaries" This reverts commit dfe6fdaa727bd9ac4a9b68c5fe521e0f1991ca46. Changed paths: D Zend/tests/temporary_cleaning_006.phpt M Zend/zend_opcode.c Diff: diff --git a/Zend/tests/temporary_cleaning_006.phpt b/Zend/tests/temporary_cleaning_006.phpt deleted file mode 100644 index 758260d..0000000 --- a/Zend/tests/temporary_cleaning_006.phpt +++ /dev/null @@ -1,18 +0,0 @@ ---TEST-- -Exception after separation during indirect write to fcall result ---FILE-- -<?php - -function throwing() { throw new Exception; } - -function getArray() { return [0]; } - -try { - getArray()[throwing()] = 1; -} catch (Exception $e) { - echo "Exception\n"; -} - -?> ---EXPECT-- -Exception diff --git a/Zend/zend_opcode.c b/Zend/zend_opcode.c index f8d0404..8f3ecdd 100644 --- a/Zend/zend_opcode.c +++ b/Zend/zend_opcode.c @@ -950,7 +950,6 @@ static zend_always_inline uint32_t *generate_var_liveliness_info_ex(zend_op_arra /* the following opcodes reuse TMP created before */ && opline->opcode != ZEND_ROPE_ADD && opline->opcode != ZEND_ADD_ARRAY_ELEMENT - && opline->opcode != ZEND_SEPARATE /* passes fast_call */ && opline->opcode != ZEND_FAST_CALL /* the following opcodes pass class_entry */ @@ -981,7 +980,6 @@ static zend_always_inline uint32_t *generate_var_liveliness_info_ex(zend_op_arra if (Tstart[var] != (uint32_t)-1 /* the following opcodes don't free TMP */ && opline->opcode != ZEND_ROPE_ADD - && opline->opcode != ZEND_SEPARATE && opline->opcode != ZEND_FETCH_LIST && opline->opcode != ZEND_CASE && opline->opcode != ZEND_FE_FETCH_R

« previous php.cvs (#87903) next »