EX(scope) removing
| From: | Dmitry Stogov | Date: | Thu, 27 Nov 2014 17:27:31 +0000 |
| Subject: | EX(scope) removing | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-79242@lists.php.net to get a copy of this message | ||
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.
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)
Thanks. Dmitry.