summaryrefslogtreecommitdiff
path: root/ext/opcache/tests/jit/reg_alloc_001.phpt
blob: 609ed8e27fc23e867bd93ccd85a5d7489ea6e6df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
--TEST--
Register Alloction 001: Spilling in "identical" code
--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
class Caster
{
    const EXCLUDE_PUBLIC = 8;
    const EXCLUDE_PRIVATE = 32;
    const EXCLUDE_STRICT = 512;

    public static function filter(array $a, $filter)
    {
        foreach ($a as $k => $v) {
            if (!isset($k[1])) {
                $type |= self::EXCLUDE_PUBLIC;
            } else {
                $type |= self::EXCLUDE_PRIVATE;
            }

            if ((self::EXCLUDE_STRICT & $filter) ? $type === $filter : $type) {
            }
        }

        return $a;
    }

}
?>
OK
--EXPECT--
OK