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