xref: /PHP-7.4/ext/opcache/tests/opt/sccp_024.phpt (revision 12edc453)
1--TEST--
2SCCP 024: Const replacing to op2 of INSTANCEOF
3--INI--
4opcache.enable=1
5opcache.enable_cli=1
6opcache.optimization_level=-1
7opcache.opt_debug_level=0x20000
8opcache.preload=
9--SKIPIF--
10<?php require_once('skipif.inc'); ?>
11--FILE--
12<?php
13class A {
14	function t($obj) {
15		$a = "A";
16        $b = "self";
17        $c = 1;
18        echo ($obj instanceof $a);
19        echo ($obj instanceof $b);
20        echo ($obj instanceof $c);
21	}
22}
23?>
24--EXPECTF--
25$_main: ; (lines=1, args=0, vars=0, tmps=0)
26    ; (after optimizer)
27    ; %ssccp_024.php:1-13
28L0 (13):    RETURN int(1)
29
30A::t: ; (lines=10, args=1, vars=2, tmps=2)
31    ; (after optimizer)
32    ; %ssccp_024.php:3-10
33L0 (3):     CV0($obj) = RECV 1
34L1 (6):     CV1($c) = QM_ASSIGN int(1)
35L2 (7):     T2 = INSTANCEOF CV0($obj) string("A")
36L3 (7):     ECHO T2
37L4 (8):     T2 = INSTANCEOF CV0($obj) string("self")
38L5 (8):     ECHO T2
39L6 (9):     V3 = FETCH_CLASS (no-autolod) (exception) CV1($c)
40L7 (9):     T2 = INSTANCEOF CV0($obj) V3
41L8 (9):     ECHO T2
42L9 (10):    RETURN null
43