On Tue, Aug 9, 2016 at 8:23 PM, Andrea Faulds <a...@ajf.me> wrote: > Hi everyone, > > 3 months and 6 days on, nobody has responded to this. > > Will these chunks of dead code ever be removed? > > Thanks! > > > Andrea Faulds wrote: > >> Hi everyone, >> >> You may recall that PHP 7.0 introduced a new API for processing >> arguments to internal functions, the "Fast Parameter Parsing API" or >> FAST_ZPP (https://wiki.php.net/rfc/fast_zpp), which is an alternative to >> the existing zend_parse_parameters function family. >> >> Since FAST_ZPP was implemented, many functions in built-in PHP >> extensions look like this: >> >> #ifndef FAST_ZPP >> if (zend_parse_parameters(ZEND_NUM_ARGS(), "S|S", &str, &what) == >> FAILURE) { >> return; >> } >> #else >> ZEND_PARSE_PARAMETERS_START(1, 2) >> Z_PARAM_STR(str) >> Z_PARAM_OPTIONAL >> Z_PARAM_STR(what) >> ZEND_PARSE_PARAMETERS_END(); >> #endif >> >> That is, they have /two/ sets of parameter processing code: one using >> the old API, and one using the new API, with conditional compilation. >> This is necessary because it is still possible to turn off FAST_ZPP by >> changing the value of the macro. >> >> However, should that be the case? The FAST_ZPP RFC was approved and PHP >> 7.0 was released containing it enabled by default, so it's no longer >> just an experimental performance enhancement. Furthermore, I have no >> reason to believe that the option to turn off FAST_ZPP is actually used >> in practice, though feel free to prove me wrong! >> >> Requiring all usages of FAST_ZPP to be accompanied by a >> zend_parse_parameters() fallback creates code bloat. It also creates >> hidden, potentially build-breaking bugs, because the code is rarely >> built with FAST_ZPP disabled. It's like the old TSRMLS_CC situation. >> >> Furthermore, for those who would prefer the FAST_ZPP API, it is >> inconvenient that they cannot use it exclusively and must also use >> zend_parse_parameters(), doubling the effort. >> >> So, I would like to ask: would there be any objections to going through >> and removing all unnecessary zend_parse_parameters fallbacks, and making >> it impossible to disable FAST_ZPP? This would make the two APIs equally >> valid. >> >> Thanks! >> >> > > -- > Andrea Faulds > https://ajf.me/ > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php >
No objection from me.