Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:13271 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 34192 invoked by uid 1010); 12 Oct 2004 00:45:56 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 34066 invoked from network); 12 Oct 2004 00:45:55 -0000 Received: from unknown (HELO mail.zend.com) (80.74.107.235) by pb1.pair.com with SMTP; 12 Oct 2004 00:45:55 -0000 Received: (qmail 30222 invoked from network); 12 Oct 2004 00:45:51 -0000 Received: from localhost (HELO AndiNotebook.zend.com) (127.0.0.1) by localhost with SMTP; 12 Oct 2004 00:45:51 -0000 Message-ID: <5.1.0.14.2.20041011174439.040a5260@localhost> X-Sender: andi@localhost X-Mailer: QUALCOMM Windows Eudora Version 5.1 Date: Mon, 11 Oct 2004 17:45:47 -0700 To: internals@lists.php.net Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Subject: Fwd: New VM Architecture From: andi@zend.com (Andi Gutmans) btw, in case it's not clear how to use it then do the following: a) untar the files into php5/Zend b) Apply zend_vm_gen.diff (this is a one time thingy which will be resolved if the patch is applied). c) Run php zend_vm_gen.php --help There'll be some files which can be deleted later on if we use this method. Andi >Date: Mon, 11 Oct 2004 17:43:17 -0700 >To: internals@lists.php.net >From: Andi Gutmans >Subject: New VM Architecture > >Due to popular demand, attached is an example of how the new VM >architecture would be without the macro magic. >Basically, the zend_vm_gen.php script auto-generates the chosen VM >architecture (goto/call/switch) and the user can also select if he wants >to specialize opcodes and/or wants the generator to enable/disable >preprocessor #line statements (for debugging it might be easier to not >produce them so that you get to debug the actual code without macros). > >It's not attached this time due to our annoying attachment filter :) > >http://snaps.php.net/~andi/zend_vm_newgen.tar.gz > >Please play around with it and send me feedback. We should pretty much >decide what's preferred. The preprocessor stuff or this script. I think I >favor the script even though the script itself has to be maintained, >mainly because I think the preprocessor stuff was kind of hard to >understand and mainly to debug. The auto-generated code will definitely be >easier to debug as it won't have as many macros. > >Andi