# Fwd: New VM Architecture

- Thread: https://externals.io/message/13271
- Original archive: https://news-web.php.net/php.internals/13271
- Started by Andi Gutmans on 2004-10-12T00:45:47+00:00
- Messages: 1
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #13271 — Andi Gutmans — 2004-10-12T00:45:47+00:00

URL: https://externals.io/message/13271#13271

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 <andi@zend.com>
>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
