Reapply "Merge branch 'PHP-8.3' into PHP-8.4"

This reverts commit 83ca37483c, and
fixes the previous bad merge.
This commit is contained in:
Christoph M. Becker 2024-11-20 23:24:43 +01:00
parent 83ca37483c
commit da81b5c8d2
No known key found for this signature in database
GPG Key ID: D66C9593118BCCB6
4 changed files with 18 additions and 0 deletions

6
NEWS
View File

@ -1,5 +1,11 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? ????, PHP 8.4.2
- Opcache:
. Fixed bug GH-16851 (JIT_G(enabled) not set correctly on other threads).
(dktapps)
21 Nov 2024, PHP 8.4.1
- BcMath:

View File

@ -3282,6 +3282,7 @@ static zend_result accel_post_startup(void)
zend_accel_error_noreturn(ACCEL_LOG_FATAL, "Could not enable JIT: could not use reserved buffer!");
} else {
zend_jit_startup(ZSMMG(reserved), jit_size, reattached);
zend_jit_startup_ok = true;
}
}
#endif

View File

@ -69,6 +69,8 @@ zend_jit_globals jit_globals;
#define JIT_STUB_PREFIX "JIT$$"
#define TRACE_PREFIX "TRACE-"
bool zend_jit_startup_ok = false;
zend_ulong zend_jit_profile_counter = 0;
int zend_jit_profile_counter_rid = -1;
@ -3634,6 +3636,13 @@ static void zend_jit_reset_counters(void)
void zend_jit_activate(void)
{
#ifdef ZTS
if (!zend_jit_startup_ok) {
JIT_G(enabled) = 0;
JIT_G(on) = 0;
return;
}
#endif
zend_jit_profile_counter = 0;
if (JIT_G(on)) {
if (JIT_G(trigger) == ZEND_JIT_ON_HOT_COUNTERS) {

View File

@ -100,6 +100,8 @@ typedef struct _zend_jit_trace_rec zend_jit_trace_rec;
typedef struct _zend_jit_trace_stack_frame zend_jit_trace_stack_frame;
typedef struct _sym_node zend_sym_node;
extern bool zend_jit_startup_ok;
typedef struct _zend_jit_globals {
bool enabled;
bool on;