RE: [PHP-DEV] Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend_compile.h zend_execute.c
| From: | Steph | Date: | Fri, 20 Aug 2004 01:32:55 +0000 |
| Subject: | RE: [PHP-DEV] Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend_compile.h zend_execute.c | ||
| References: | 1 | Groups: | php.internals php.zend-engine.cvs |
| Request: | Send a blank email to internals+get-12278@lists.php.net to get a copy of this message | ||
Not clearer to me :)
If this was a big reason for reverting __toString() for 5.0.0, does it mean
we're going to see it again soon as a result of this change?
> -----Original Message-----
> From: Andi Gutmans [mailto:andi@zend.com]
> Sent: 20 August 2004 00:53
> To: Sterling Hughes
> Cc: Andi Gutmans; zend-engine-cvs@lists.php.net; internals@lists.php.net
> Subject: [PHP-DEV] Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2 /
> zend_compile.h zend_execute.c
>
>
> Hey,
>
> No it's actually a bigger change than just being in the opcode as opposed
> to the end of the opcode. Actually, it would take least one more opcode
> execution for the garbage to run. This is the reason why destructors or
> resource dtor's would not always be called right away. Now if the garbage
> wouldn't fill up then it could actually take even more time for these
> values to be collected.
> Worse, it also impacted re-entrancy because if an opcode would
> call another
> opcode then the two garbages could get mixed up and we might free
> garbage a
> tad bit too early (that was a big reason for me reverting
> __toString() for
> 5.0.0).
>
> The new implementation make sure that every single opcode cleans up after
> itself. So it's more verbose and requires to make sure every opcode does
> the right thing but the end result is better.
>
> Hope all this garbage is a bit clearer now :)
>
> Andi
>
> At 02:20 PM 8/19/2004 -0700, Sterling Hughes wrote:
> >Andi Gutmans wrote:
> >
> >>Not exactly because clean_garbage() was also inline.
> >
> >
> >Sure, but it was at the end of the opcode, this moves it into
> the FREE_OP
> >macro, as opposed to marking (+ sweeping ;) or something else,
> right? I'm
> >not against that change in any respect, as I mentioned, I'm a
> big +1, just
> >checking...
> >
> >-Sterling
> >
> >>
> >>At 01:28 PM 8/19/2004 -0700, Sterling Hughes wrote:
> >>
> >>>Andi Gutmans wrote:
> >>>
> >>>>andi Thu Aug 19 16:03:06 2004 EDT
> >>>>
> >>>> Modified files:
> >>>> /ZendEngine2 zend_compile.h zend_execute.c Log:
> >>>> - Stop using garbage. Please let me know if you find any
> bugs resulting
> >>>> - of this patch (very likely). (Dmitry, Andi)
> >>>>
> >>>This patch seems to move destruction inline?
> >>>
> >>>-Sterling
> >>>
> >>>--
> >>>Zend Engine CVS Mailing List (http://cvs.php.net/)
> >>>To unsubscribe, visit: http://www.php.net/unsub.php
> >>
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>