1--TEST--
2Register Alloction 004: Check guard before register load
3--INI--
4opcache.enable=1
5opcache.enable_cli=1
6opcache.file_update_protection=0
7opcache.protect_memory=1
8opcache.jit=tracing
9opcache.jit_hot_func=1
10--EXTENSIONS--
11opcache
12--FILE--
13<?php
14function createTree($depth) {
15    if (!$depth) {
16        return;
17    }
18    $depth--;
19    [createTree($d), createTree($depth)]();
20}
21createTree(4);
22?>
23--EXPECTF--
24Warning: Undefined variable $d in %sreg_alloc_004.php on line 7
25
26Warning: Undefined variable $d in %sreg_alloc_004.php on line 7
27
28Warning: Undefined variable $d in %sreg_alloc_004.php on line 7
29
30Warning: Undefined variable $d in %sreg_alloc_004.php on line 7
31
32Fatal error: Uncaught Error: First array member is not a valid class name or object in %sreg_alloc_004.php:7
33Stack trace:
34#0 %sreg_alloc_004.php(7): createTree(0)
35#1 %sreg_alloc_004.php(7): createTree(1)
36#2 %sreg_alloc_004.php(7): createTree(2)
37#3 %sreg_alloc_004.php(9): createTree(3)
38#4 {main}
39  thrown in %sreg_alloc_004.php on line 7
40