Re: Change in internal call_user_function() API.
| From: | Dmitry Stogov | Date: | Mon, 29 Feb 2016 07:32:40 +0000 |
| Subject: | Re: Change in internal call_user_function() API. | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-91455@lists.php.net to get a copy of this message | ||
On 02/28/2016 05:01 AM, Xinchen Hui wrote:
Hey: On Thu, Feb 25, 2016 at 11:16 PM, Dmitry Stogov <dmitry@zend.com <mailto:dmitry@zend.com>> wrote:Of course. Even for for 7.1 Nikita suggested to keep source level compatibility for call_user_function_ex(), and I agree with him. I'll wait for Bob's response (phpdbg is, probably, the only one user if this broken feature), and then commit. Thanks. Dmitry,Hi,PHP-7.0 internal call_user_function() API doesn't support function calls with preinitialised symbol tables.This just can't work in general , because values of arguments might be already initialized in CV as well as in symbol table.I propose to remove the corresponding internal API in master:1) remove last argument of call_user_function_ex()2) remove zend_call_info.symbol_table fieldI think it's okey, (I assume this is for 7.1, right?)
the value caller want to pass in should goes via arguments, which is a more reasonable way. thankshttps://gist.github.com/dstogov/5550827aa695ff8cb803The tricky way was used in phpdbg only, but that code doesn't work, and should be fixed anyway.Thanks. Dmitry.-- Xinchen Hui @Laruence http://www.laruence.com/