disable opcode specialization using --without-specializer. You can include or
exclude old executor together with specialized one using --without-old-executor.
At last you can debug executor using original zend_vm_def.h or generated file
-zend_vm_execute.h. Debugging with generated file requires --without-lines
+zend_vm_execute.h. Debugging with original file requires --with-lines
option. By default ZE2 uses the following command to generate executor:
-$ php zend_vm_gen.php --with-vm-kind=CALL --without-lines
+$ php zend_vm_gen.php --with-vm-kind=CALL
Zend Engine II currently includes two executors during the build process, one
is the specialized version and the other is the old one non-specialized with
"\n --with-vm-kind=CALL|SWITCH|GOTO - select threading model (default is CALL)".
"\n --without-specializer - disable executor specialization".
"\n --without-old-executor - disable old executor".
- "\n --without-lines - disable #line directives".
+ "\n --with-lines - enable #line directives".
"\n\n");
}
} else if ($argv[$i] == "--without-old-executor") {
// Disabling code for old-style executor
define("ZEND_VM_OLD_EXECUTOR", 0);
- } else if ($argv[$i] == "--without-lines") {
- // Disabling debuging using original zend_vm_def.h
- define("ZEND_VM_LINES", 0);
+ } else if ($argv[$i] == "--with-lines") {
+ // Enabling debuging using original zend_vm_def.h
+ define("ZEND_VM_LINES", 1);
} else if ($argv[$i] == "--help") {
usage();
exit();
define("ZEND_VM_OLD_EXECUTOR", 1);
}
if (!defined("ZEND_VM_LINES")) {
- // Using #line directives to debug with original zend_vm_def.h by default
- define("ZEND_VM_LINES", 1);
+ // Disabling #line directives
+ define("ZEND_VM_LINES", 0);
}
gen_vm("zend_vm_def.h", "zend_vm_execute.skl");