Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend_execute.c
| From: | Ilia Alshanetsky | Date: | Fri, 16 Jul 2004 12:39:21 +0000 |
| Subject: | Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend_execute.c | ||
| References: | 1 2 3 | Groups: | php.zend-engine.cvs |
| Request: | Send a blank email to php-zend-engine-cvs+get-2747@lists.php.net to get a copy of this message | ||
Oops mail client assign the message to the wrong patch.
In response to Andi's question, we can probably get away with using a regular
malloc since the number of variables needed to cause a crash will probably
cause a memory exhaustion way earlier. As for performance impact, it's soo
insignificant it's hardly worth mentioning, feel free to benchmark.
Ilia
On July 16, 2004 08:33 am, Ilia Alshanetsky wrote:
> The impact is not going to impact every function call, only when a string
> -> int conversion is happening.
>
> Ilia
>
> On July 16, 2004 03:22 am, Thies C. Arntzen wrote:
> > this will have a performance impact on every function call in php. and
> > it won't stop fix out-of-memory crashes completely.
> >
> > i really don't think this is what we should do...
> >
> > tc
> >
> > On Mon, 12 Jul 2004 17:47:29 -0000, Ilia Alshanetsky <iliaa@php.net>
wrote:
> > > iliaa Mon Jul 12 13:47:29 2004 EDT
> > >
> > > Modified files:
> > > /ZendEngine2 zend_execute.c
> > > Log:
> > > Fixed bug #29086 & #28064 (PHP crashes on extremly long scripts).
> > >
> > >
> > > http://cvs.php.net/diff.php/ZendEngine2/zend_execute.c?r1=1.651&r2=1.65
> > >2& ty=u Index: ZendEngine2/zend_execute.c
> > > diff -u ZendEngine2/zend_execute.c:1.651
> > > ZendEngine2/zend_execute.c:1.652 --- ZendEngine2/zend_execute.c:1.651
> > > Thu Jun 24 12:35:34 2004 +++ ZendEngine2/zend_execute.c Mon Jul 12
> > > 13:47:29 2004
> > > @@ -17,7 +17,7 @@
> > >
> > > +----------------------------------------------------------------------
> > >+ */
> > >
> > > -/* $Id: zend_execute.c,v 1.651 2004/06/24 16:35:34 pollita Exp $ */
> > > +/* $Id: zend_execute.c,v 1.652 2004/07/12 17:47:29 iliaa Exp $ */
> > >
> > > #define ZEND_INTENSIVE_DEBUGGING 0
> > >
> > > @@ -1330,7 +1330,7 @@
> > > }
> > >
> > > #define RETURN_FROM_EXECUTE_LOOP(execute_data)
> > > \ - free_alloca(EX(Ts));
> > >
> > > \ + efree(EX(Ts));
> > > \
> > > EG(in_execution) = EX(original_in_execution);
> > > \ EG(current_execute_data) =
> > > EX(prev_execute_data); \ return 1; /* CHECK_ME */ @@ -1349,7 +1349,7 @@
> > > /* Initialize execute_data */
> > > EX(fbc) = NULL;
> > > EX(object) = NULL;
> > > - EX(Ts) = (temp_variable *)
> > > do_alloca(sizeof(temp_variable)*op_array->T); + EX(Ts) =
> > > (temp_variable *) safe_emalloc(sizeof(temp_variable), op_array->T, 0);
> > > EX(op_array) = op_array;
> > > EX(original_in_execution) = EG(in_execution);
> > > EX(prev_execute_data) = EG(current_execute_data);
> > >
> > > --
> > > Zend Engine CVS Mailing List (http://cvs.php.net/)
> > > To unsubscribe, visit: http://www.php.net/unsub.php