Re: EX(scope) removing
| From: | Xinchen Hui | Date: | Fri, 28 Nov 2014 04:33:29 +0000 |
| Subject: | Re: EX(scope) removing | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-79257@lists.php.net to get a copy of this message | ||
Hey:
On Fri, Nov 28, 2014 at 1:27 AM, Dmitry Stogov <dmitry@zend.com> wrote:
> Hi,
>
> I'm working on call/return sequence optimization. As part of this work I'm
> minimizing the size of call frame (zend_execute_data) and number of
> read/write operations on call/return.
>
> Could you please take a look into the patch that removes EX(scope)
> https://gist.github.com/dstogov/5ad50d582346385d587e
>
> All phpt tests are passed, but I'm not completely sure about one line -
>
> https://gist.github.com/dstogov/5ad50d582346385d587e#file-ex_scope-05-diff-L193
>
> On the other hand I can't imagine what it may break.
neither do I.
>
> Matteo, can you please run your test suites with this patch.
>
> PS: I'm also going to:
> - pack EX(num_args) into reserved space of EX(This)
> - try to get rid of EX(frame_info)
> - try to merge EX(called_scope) and EX(This). Only one of them matters.
> - try to replace zval EX(This) with a pointer to zend_object EX(object)
Hmm, EX(This) is not like EX(object), it will be accessed by vm
handler: get_obj_zval_ptr_unused
it suppores to return a zval * there. if EX(This) became a zend_object
*, then we may face different handlers for IS_UNUSED and other types
:<
thanks
>
> Thanks. Dmitry.
--
Xinchen Hui
@Laruence
http://www.laruence.com/