RE: [PHP-DEV] New VM architecture

From: Date: Thu, 23 Sep 2004 12:16:54 +0000
Subject: RE: [PHP-DEV] New VM architecture
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-12947@lists.php.net to get a copy of this message
The problem, that not all C compilers support direct threaded code (GOTO), so we cannot generate one code that will run with all compilers. And we will get a lot of troubles with support different executors. Now with this patch we use one executor's definition and can select different threading model in compile time. Also, the patch makes opcode specialization so definition for one opcode may be converted (in compile-time) into 16 different handlers. Thanks. Dmitry. > -----Original Message----- > From: news [mailto:news@sea.gmane.org] On Behalf Of Thies C. Arntzen > Sent: Thursday, September 23, 2004 12:32 > To: internals@lists.php.net > Subject: Re: [PHP-DEV] New VM architecture > > > On 2004-09-22 20:09:47 +0200, Andi Gutmans <andi@zend.com> said: > > > Guys, > > > > There's no feedback about the new VM architecture and it's hard to > > maintain the patches as changes are being made to the source base > > constantly. > > I will recommit the patches on Monday unless someone has reasonable > > objections. I reverted the patch so that people had time to > review but > > it doesn't seem to have happened eventhough I've sent out > two reminders. > > In general, this patch improves performance by about 20% > and supports > > goto opcode threading. I don't see a very good reason not > to commit it. > > andi, > > i really think it's time to write some engine-level benchmarks (loops > etc) so we can actually see the improvement. > > even though i really think that the VM-loop should be > generated and not > done thru cpp-magic i think committing it is a "step forward" > .remember, sterling and i had a patch for this (& more) more than a > year ago... > > what's next? > thies > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > >

« previous php.internals (#12947) next »