Giving Globals the CV treatment [WAS: Runtime JIT Proposals]
| From: | Sara Golemon | Date: | Mon, 15 Jan 2007 22:58:18 +0000 |
| Subject: | Giving Globals the CV treatment [WAS: Runtime JIT Proposals] | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-27472@lists.php.net to get a copy of this message | ||
> The solution I'm tempted to pursue for this is to back up yet another
> step and make autoglobals be CVs by extending the zend_compiled_variable
> struct to contain a flag indicating how the var should be fetched (the
> determination for which happens during fetch_simple_var during the
> compilation. This would then yield an opcode stack like the following:
>
Okay, here's a shockingly simple patch for allowing auto globals to be
treated as CVs. The one question mark I've got in here is: Why the last
check in fetch_simple_var_ex() for the ZEND_BEGIN_SILENCE opcode? This
seems completely unnecessary from what I can tell and shouldn't bar a
variable (global or not) from being treated as a CV...
Am I missing something really obvious?
-Sara