On 22 Apr 2010, at 22:17, Rasmus Lerdorf wrote:

> On 04/22/2010 01:05 PM, Stefan Marr wrote:
>>> I must have missed some emails, so which one of the numerous proposals is 
>>> this based on? I have some comments on the tests, but I don't want to start 
>>> with it befor it's clear which one we're talking about.
>> I would commit the traits implementation[1] (not grafts).
>> Just fixed the last immediately visible problem and am now in the process of 
>> writing up a list of open questions/todos for the implementation.
>> There are some details in the patch which need to be reviewed and improved I 
>> think.
> 
> None of this touches the executor, right, even the conflict resolution?
Am not sure how you define the executor.
Maybe that answers the question:
http://svn.php.net/viewvc?view=revision&revision=298348

All traits related operations are done when the class is compiled.
Similar to how interfaces are handled.
For the composition there is an additional opcode which concludes the 
compilation of a class and executes all merge/conflict resolution operations.
After that is done, traits do not have any additional impact on the execution 
anymore.

> And I am assuming the class composition changes aren't going to blow up
> opcode caches?  I really fear making the class composition more
> complicated than it already is.  You can sit and stare at all the code
> required in APC to deal with that all day and still not get any wiser.
Don't know exactly. There is a certain need to adapt the opcode caches, I would 
guess.

Best regards
Stefan




-- 
Stefan Marr
Software Languages Lab
Vrije Universiteit Brussel
Pleinlaan 2 / B-1050 Brussels / Belgium
http://soft.vub.ac.be/~smarr
Phone: +32 2 629 2974
Fax:   +32 2 629 3525


--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to