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