. Fixed bug #80377 (Opcache misses executor_globals). (Nikita)
. Fixed bug #80433 (Unable to disable the use of the AVX command when using
JIT). (Nikita)
+ . Bug #80447 (Strange out of memory error when running with JIT). (Dmitry)
- OpenSSL:
. Fixed bug #80368 (OpenSSL extension fails to build against LibreSSL due to
zend_jit_label(&dasm_state, 0); /* start of of trace loop */
- if (ra && trace_buffer->stop == ZEND_JIT_TRACE_STOP_LOOP) {
+ if (ra) {
zend_ssa_phi *phi = ssa->blocks[1].phis;
while (phi) {
--- /dev/null
+--TEST--
+Bug #80447 (Strange out of memory error when running with JIT)
+--INI--
+opcache.enable=1
+opcache.enable_cli=1
+opcache.file_update_protection=0
+opcache.jit_buffer_size=1M
+opcache.protect_memory=1
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+function createTree($depth) {
+ if (!$depth) {
+ return [null, null];
+ }
+ $depth--;
+
+ return [
+ createTree($depth),
+ createTree($depth)
+ ];
+}
+
+function checkTree($treeNode) {
+ return 1
+ + ($treeNode[0][0] === null ? 1 : checkTree($treeNode[0]))
+ + ($treeNode[1][0] === null ? 1 : checkTree($treeNode[1]));
+}
+
+$tree = createTree(12);
+var_dump(checkTree($tree));
+--EXPECT--
+int(8191)