Re: [VOTE] Fix list() behavior inconsistency
| From: | Nikita Popov | Date: | Thu, 25 Sep 2014 20:32:02 +0000 |
| Subject: | Re: [VOTE] Fix list() behavior inconsistency | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-77632@lists.php.net to get a copy of this message | ||
On Thu, Sep 25, 2014 at 1:15 PM, Dmitry Stogov <dmitry@zend.com> wrote:
> disabling string handling would allow make operation simpler and would
> improve regular access to array elements.
> We won't need to check for (opline->extended_value & ZEND_FETCH_ADD_LOCK)
> in FETCH_DIM_R handler.
> However, it's going to be very small improvement, and I don't care a lot.
> :)
>
> enabling string handling would require complication of
> ZEND_FETCH_DIM_TMP_VAR handler (for strings support).
> It's going to make list() handling a bit slower, but not significantly.
>
> my choice +1 for disabling.
>
Could you please clarify why removing string support would make the
operation simpler? I voted for always supporting strings because I thought
that is the option that simplifies things - in particular it would allow
use to drop the FETCH_DIM_TMP_VAR opcode and always go through FETCH_DIM_R
instead. Sample patch here:
https://github.com/nikic/php-src/compare/stringOffsetsInList
Or did I miss
something and we can't do that?
Nikita