]> granicus.if.org Git - php/commitdiff
Disable JIT for PHPDBG
authorDmitry Stogov <dmitry@zend.com>
Tue, 21 Jul 2020 10:26:32 +0000 (13:26 +0300)
committerDmitry Stogov <dmitry@zend.com>
Tue, 21 Jul 2020 10:26:32 +0000 (13:26 +0300)
sapi/phpdbg/phpdbg.c

index 176ab4cb496a8a5c4e3dcb258511a5dcc29c0342..c0db5feda51790cefd7f87ad548bdb1b08f819bc 100644 (file)
@@ -29,6 +29,7 @@
 #include "phpdbg_print.h"
 #include "phpdbg_help.h"
 #include "phpdbg_arginfo.h"
+#include "zend_vm.h"
 
 #include "ext/standard/basic_functions.h"
 
@@ -273,6 +274,17 @@ static PHP_RINIT_FUNCTION(phpdbg) /* {{{ */
        /* deactivate symbol table caching to have these properly destroyed upon stack leaving (especially important for watchpoints) */
        EG(symtable_cache_limit) = EG(symtable_cache);
 
+       if (zend_vm_kind() != ZEND_VM_KIND_HYBRID) {
+               /* phpdbg cannot work JIT-ed code */
+               zend_string *key = zend_string_init(ZEND_STRL("opcache.jit"), 1);
+               zend_string *value = zend_string_init(ZEND_STRL("off"), 1);
+
+               zend_alter_ini_entry(key, value, ZEND_INI_SYSTEM, ZEND_INI_STAGE_STARTUP);
+
+               zend_string_release(key);
+               zend_string_release(value);
+       }
+
        return SUCCESS;
 } /* }}} */