@@ -89,8 +89,10 @@ typedef union _zend_op_trace_info {
89
89
#define ZEND_OP_TRACE_INFO (opline , offset ) \
90
90
((zend_op_trace_info*)(((char*)opline) + offset))
91
91
92
+ #ifndef _WIN32
92
93
static int dd_probe_pipes [2 ];
93
94
#endif
95
+ #endif
94
96
95
97
#define ZEND_FUNC_INFO (op_array ) \
96
98
((zend_func_info*)((op_array)->reserved[zend_func_info_rid]))
@@ -105,7 +107,7 @@ static void zai_jit_find_opcache_handle(void *ext) {
105
107
106
108
// opcache startup NULLs its handle. MINIT is executed before extension startup.
107
109
void zai_jit_minit (void ) {
108
- #if PHP_VERSION_ID < 80400
110
+ #if PHP_VERSION_ID < 80400 && !defined( _WIN32 )
109
111
pipe (dd_probe_pipes );
110
112
#endif
111
113
zend_llist_apply (& zend_extensions , zai_jit_find_opcache_handle );
@@ -208,13 +210,15 @@ void zai_jit_blacklist_function_inlining(zend_op_array *op_array) {
208
210
209
211
size_t offset = jit_extension -> offset ;
210
212
213
+ #ifndef _WIN32
211
214
// check whether the op_trace_info is actually readable or EFAULTing
212
215
// we can't trust opcache too much here...
213
216
char dummy_buf [sizeof (zend_op_trace_info )];
214
217
if (write (dd_probe_pipes [1 ], ZEND_OP_TRACE_INFO (opline , offset ), sizeof (zend_op_trace_info )) < 0 ) {
215
218
return ;
216
219
}
217
220
read (dd_probe_pipes [0 ], dummy_buf , sizeof (zend_op_trace_info ));
221
+ #endif
218
222
219
223
if (!(ZEND_OP_TRACE_INFO (opline , offset )-> trace_flags & ZEND_JIT_TRACE_BLACKLISTED )) {
220
224
bool is_protected_memory = false;
0 commit comments