|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2017-10-19 04:28 UTC] laruence@php.net
Description:
------------
There are redundant ZEND_EXT_* oplines remained after optimized, this will make profiler/debugger confused..
Test script:
---------------
<?php
function foo(string $s1, string $s2) {
$x = ($s1 . $s2);
$x = 0;
return $x;
}
?>
runwith sapi/phpdbg/phpdbg -e -p* /tmp/1.php
Expected result:
----------------
function name: foo
L2-6 foo() /tmp/1.php - 0x7f54cbdde2d0 + 5 ops
L2 #0 EXT_NOP
L2 #1 RECV 1 $s1
L2 #2 RECV 2 $s2
L3 #3 EXT_STMT
L5 #4 RETURN 0
[Script ended normally]
Actual result:
--------------
function name: foo
L2-6 foo() /tmp/1.php - 0x7f79e13de2d0 + 7 ops
L2 #0 EXT_NOP
L2 #1 RECV 1 $s1
L2 #2 RECV 2 $s2
L3 #3 EXT_STMT
L4 #4 EXT_STMT
L5 #5 EXT_STMT
L5 #6 RETURN 0
[Script ended normally]
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Oct 26 13:00:02 2025 UTC |
PHP-7.4 with opcache.opt_debug_level=0x20000: foo: ; (lines=3, args=2, vars=2, tmps=0) ; (after optimizer) ; C:\php-sdk\phpdev\vc15\x64\75405.php:2-6 L0 (2): CV0($s1) = RECV 1 L1 (2): CV1($s2) = RECV 2 L2 (5): RETURN int(0) Is there something left to do? > […], especially when 7.3 comes around. The good old days. ;)