Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:13270 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 16668 invoked by uid 1010); 12 Oct 2004 00:43:27 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 16497 invoked from network); 12 Oct 2004 00:43:26 -0000 Received: from unknown (HELO mail.zend.com) (80.74.107.235) by pb1.pair.com with SMTP; 12 Oct 2004 00:43:26 -0000 Received: (qmail 29895 invoked from network); 12 Oct 2004 00:43:23 -0000 Received: from localhost (HELO AndiNotebook.zend.com) (127.0.0.1) by localhost with SMTP; 12 Oct 2004 00:43:23 -0000 Message-ID: <5.1.0.14.2.20041011173718.04095260@localhost> X-Sender: andi@localhost X-Mailer: QUALCOMM Windows Eudora Version 5.1 Date: Mon, 11 Oct 2004 17:43:17 -0700 To: internals@lists.php.net Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Subject: New VM Architecture From: andi@zend.com (Andi Gutmans) 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