mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
Switch to HYBRID VM
This commit is contained in:
parent
4bdd63595b
commit
fc927dc263
3 changed files with 8925 additions and 238 deletions
File diff suppressed because it is too large
Load diff
|
@ -2723,7 +2723,7 @@ function gen_vm($def, $skel) {
|
|||
function usage() {
|
||||
echo("\nUsage: php zend_vm_gen.php [options]\n".
|
||||
"\nOptions:".
|
||||
"\n --with-vm-kind=CALL|SWITCH|GOTO|HYBRID - select threading model (default is CALL)".
|
||||
"\n --with-vm-kind=CALL|SWITCH|GOTO|HYBRID - select threading model (default is HYBRID)".
|
||||
"\n --without-specializer - disable executor specialization".
|
||||
"\n --with-lines - enable #line directives".
|
||||
"\n\n");
|
||||
|
@ -2770,7 +2770,7 @@ for ($i = 1; $i < $argc; $i++) {
|
|||
// Using defaults
|
||||
if (!defined("ZEND_VM_KIND")) {
|
||||
// Using CALL threading by default
|
||||
define("ZEND_VM_KIND", ZEND_VM_KIND_CALL);
|
||||
define("ZEND_VM_KIND", ZEND_VM_KIND_HYBRID);
|
||||
}
|
||||
if (!defined("ZEND_VM_SPEC")) {
|
||||
// Using specialized executor by default
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
#define ZEND_VM_KIND_SWITCH 2
|
||||
#define ZEND_VM_KIND_GOTO 3
|
||||
#define ZEND_VM_KIND_HYBRID 4
|
||||
#define ZEND_VM_KIND ZEND_VM_KIND_CALL
|
||||
/* HYBRID requires support for computed GOTO and global register variables*/
|
||||
#if (defined(__GNUC__) && defined(HAVE_GCC_GLOBAL_REGS))
|
||||
# define ZEND_VM_KIND ZEND_VM_KIND_HYBRID
|
||||
#else
|
||||
# define ZEND_VM_KIND ZEND_VM_KIND_CALL
|
||||
#endif
|
||||
|
||||
#define ZEND_VM_OP_SPEC 0x00000001
|
||||
#define ZEND_VM_OP_CONST 0x00000002
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue