Re: Runtime-JIT, the whole enchilada

From: Date: Fri, 26 Jan 2007 17:10:35 +0000
Subject: Re: Runtime-JIT, the whole enchilada
References: 1 2  Groups: php.internals 
Request: Send a blank email to internals+get-27676@lists.php.net to get a copy of this message
I fixed one error in your patch, so now it passes all tests. Which error? I notice some changes related to minimizing performance impact, but I'm not seeing what I did wrong. Just curious for my own benefit on that one.
BTW I am against this patch. Fair enough.
1) It adds sloppily built functionality into the core Well, you sure know how to sweet-talk a gal.
and slowdowns EACH
dimension or property fetch both at run-time and compilation-time. I think it is a big cost for $_GET/$_POST encoding-conversion, but it is only my opinion. For disarmed callbacks, it amounts to a vector lookup and a couple integer compares, I'd hardly call that a "big cost". As to armed callbacks, well, if they're still armed then they still have some work to do. Refer to prior posts in the thread as to why this work would (and should) be deferred.
2) It adds pointer to zend_auto_global into zend_compiled_variable. This makes troubles for opcode caches - zend_compiled_variable(s) may lay in shared memory, so they cannot point to process specific data. I think this issue can be fixed using indirect pointer (index). Excellent point. That will need to be addressed....
Why did you reject auto-globals as overloaded arrays? See earlier posts in this thread, such as the one I sent you less than a week ago and to which you replied indicating you understood it.
If you thinking breaking BC is preferable to this "sloppy" approach, then we can reexamine that. If you have a better, third approach, which solves all of the issues already outlined, then I'd love to hear it. -Sara

« previous php.internals (#27676) next »