3v4l.org

run code in 300+ PHP versions simultaneously
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 17, Position 2 = 42
Branch analysis from position: 17
2 jumps found. (Code = 78) Position 1 = 18, Position 2 = 42
Branch analysis from position: 18
1 jumps found. (Code = 42) Position 1 = 17
Branch analysis from position: 17
Branch analysis from position: 42
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 42
filename:       /in/srIno
function name:  (null)
number of ops:  44
compiled vars:  !0 = $closureFromGlobalScope, !1 = $closures, !2 = $closure, !3 = $name, !4 = $reflection
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   18     0  E >   DECLARE_LAMBDA_FUNCTION                          ~5      [0]
          1        ASSIGN                                                   !0, ~5
   23     2        INIT_STATIC_METHOD_CALL                                  'Foo%5CBar', 'testClass'
          3        DO_FCALL                                      0  $7      
          4        INIT_ARRAY                                       ~8      $7, 'Anonymous+function+created+in+a+class'
   24     5        INIT_FCALL                                               'foo%5Ctestfunc'
          6        DO_FCALL                                      0  $9      
          7        ADD_ARRAY_ELEMENT                                ~8      $9, 'Anonymous+function+created+in+a+function'
   25     8        ADD_ARRAY_ELEMENT                                ~8      !0, 'Anonymous+function+created+in+a+global+scope'
   26     9        INIT_STATIC_METHOD_CALL                                  'Foo%5CBar', 'testClass'
         10        ZEND_CALLABLE_CONVERT                            ~10     
         11        ADD_ARRAY_ELEMENT                                ~8      ~10, 'First+class+callable+of+a+static+method'
   27    12        INIT_FCALL                                               'foo%5Ctestfunc'
         13        ZEND_CALLABLE_CONVERT                            ~11     
         14        ADD_ARRAY_ELEMENT                                ~8      ~11, 'First+class+callable+of+a+function'
   22    15        ASSIGN                                                   !1, ~8
   30    16      > FE_RESET_R                                       $13     !1, ->42
         17    > > FE_FETCH_R                                       ~14     $13, !2, ->42
         18    >   ASSIGN                                                   !3, ~14
   31    19        NEW                                              $16     'ReflectionFunction'
         20        SEND_VAR_EX                                              !2
         21        DO_FCALL                                      0          
         22        ASSIGN                                                   !4, $16
   33    23        ROPE_INIT                                     7  ~24     !3
         24        ROPE_ADD                                      1  ~24     ~24, '%3A%0A++getName++++++++++++++'
   34    25        INIT_METHOD_CALL                                         !4, 'getName'
         26        DO_FCALL                                      0  $19     
         27        ROPE_ADD                                      2  ~24     ~24, $19
         28        ROPE_ADD                                      3  ~24     ~24, '%0A++getNamespaceName+++++'
   35    29        INIT_METHOD_CALL                                         !4, 'getNamespaceName'
         30        DO_FCALL                                      0  $20     
         31        ROPE_ADD                                      4  ~24     ~24, $20
         32        ROPE_ADD                                      5  ~24     ~24, '%0A++getClosureScopeClass+'
   36    33        INIT_METHOD_CALL                                         !4, 'getClosureScopeClass'
         34        DO_FCALL                                      0  $21     
         35        JMP_NULL                                         $22     $21
         36        INIT_METHOD_CALL                                         $21, 'getName'
         37        DO_FCALL                                      0  $22     
         38        ROPE_END                                      6  ~23     ~24, $22
         39        ECHO                                                     ~23
   37    40        ECHO                                                     '%0A%0A'
   30    41      > JMP                                                      ->17
         42    >   FE_FREE                                                  $13
   39    43      > RETURN                                                   1


Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/srIno
function name:  Foo\{closure}
number of ops:  1
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   18     0  E > > RETURN                                                   null

End of Dynamic Function 0

Function foo%5Ctestfunc:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/srIno
function name:  Foo\testFunc
number of ops:  5
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   14     0  E >   DECLARE_LAMBDA_FUNCTION                          ~0      [0]
          1        VERIFY_RETURN_TYPE                                       ~0
          2      > RETURN                                                   ~0
   15     3*       VERIFY_RETURN_TYPE                                       
          4*     > RETURN                                                   null


Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/srIno
function name:  Foo\{closure}
number of ops:  1
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   14     0  E > > RETURN                                                   null

End of Dynamic Function 0

End of function foo%5Ctestfunc

Class Foo\Bar:
Function testclass:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/srIno
function name:  testClass
number of ops:  5
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    8     0  E >   DECLARE_LAMBDA_FUNCTION                          ~0      [0]
          1        VERIFY_RETURN_TYPE                                       ~0
          2      > RETURN                                                   ~0
    9     3*       VERIFY_RETURN_TYPE                                       
          4*     > RETURN                                                   null


Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/srIno
function name:  Foo\{closure}
number of ops:  1
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    8     0  E > > RETURN                                                   null

End of Dynamic Function 0

End of function testclass

End of class Foo\Bar.

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
143.43 ms | 973 KiB | 15 Q