derickr / vld

BSD 2-Clause "Simplified" License
464 stars 87 forks source link

Cant dump details in array #75

Closed MG1937 closed 2 years ago

MG1937 commented 2 years ago

PHP 7.3.4 (cli)

<?
$t=array('a','b','c');
?>

php -dvld.active=1 -dvld.execute=0 -r "$t=array('a','b','c');"

C:\Users\Administrator>php -dvld.active=1 -dvld.execute=0 -r "$t=array('a','b','c');"
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       Command line code
function name:  (null)
number of ops:  2
compiled vars:  !0 = $t
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    1     0  E >   ASSIGN                                                   !0, <array>
          1      > RETURN                                                   null

branch: #  0; line:     1-    1; sop:     0; eop:     1; out0:  -2
path #1: 0,

There is just have "ASSIGN" opcode and "",and have no details about array.

derickr commented 2 years ago

PHP's parser creates an internal AST structure here for static arrays. I don't really want to show all the array values, because specifically for very large arrays, it won't (easily) fit on one line.