3v4l.org

run code in 300+ PHP versions simultaneously
<?php if(!function_exists('action')){ function action($i){ } } $loops= 100000; $test = Array(); $test['define']=false; $test['var']=true; if($test['define']){ define('DEBUG' , true); for($i=0; $i<$loops; $i++){ if(DEBUG){ action($i); } if(!DEBUG){ action($i); } } } if($test['var']){ $DEBUG = true; for($i=0; $i<$loops; $i++){ if($DEBUG){ action($i); } if(!$DEBUG){ action($i); } } }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 5, Position 2 = 6
Branch analysis from position: 5
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 34
Branch analysis from position: 14
1 jumps found. (Code = 42) Position 1 = 32
Branch analysis from position: 32
2 jumps found. (Code = 44) Position 1 = 34, Position 2 = 20
Branch analysis from position: 34
2 jumps found. (Code = 43) Position 1 = 36, Position 2 = 51
Branch analysis from position: 36
1 jumps found. (Code = 42) Position 1 = 49
Branch analysis from position: 49
2 jumps found. (Code = 44) Position 1 = 51, Position 2 = 39
Branch analysis from position: 51
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 39
2 jumps found. (Code = 43) Position 1 = 40, Position 2 = 43
Branch analysis from position: 40
2 jumps found. (Code = 43) Position 1 = 45, Position 2 = 48
Branch analysis from position: 45
2 jumps found. (Code = 44) Position 1 = 51, Position 2 = 39
Branch analysis from position: 51
Branch analysis from position: 39
Branch analysis from position: 48
Branch analysis from position: 43
Branch analysis from position: 51
Branch analysis from position: 20
2 jumps found. (Code = 43) Position 1 = 22, Position 2 = 25
Branch analysis from position: 22
2 jumps found. (Code = 43) Position 1 = 28, Position 2 = 31
Branch analysis from position: 28
2 jumps found. (Code = 44) Position 1 = 34, Position 2 = 20
Branch analysis from position: 34
Branch analysis from position: 20
Branch analysis from position: 31
Branch analysis from position: 25
Branch analysis from position: 34
Branch analysis from position: 6
filename:       /in/EEKrU
function name:  (null)
number of ops:  52
compiled vars:  !0 = $loops, !1 = $test, !2 = $i, !3 = $DEBUG
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    4     0  E >   INIT_FCALL                                               'function_exists'
          1        SEND_VAL                                                 'action'
          2        DO_ICALL                                         $4      
          3        BOOL_NOT                                         ~5      $4
          4      > JMPZ                                                     ~5, ->6
    5     5    >   DECLARE_FUNCTION                                         'action'
    9     6    >   ASSIGN                                                   !0, 100000
   10     7        ASSIGN                                                   !1, <array>
          8        ASSIGN_DIM                                               !1, 'define'
          9        OP_DATA                                                  <false>
         10        ASSIGN_DIM                                               !1, 'var'
         11        OP_DATA                                                  <true>
   12    12        FETCH_DIM_R                                      ~10     !1, 'define'
         13      > JMPZ                                                     ~10, ->34
   13    14    >   INIT_FCALL                                               'define'
         15        SEND_VAL                                                 'DEBUG'
         16        SEND_VAL                                                 <true>
         17        DO_ICALL                                                 
   14    18        ASSIGN                                                   !2, 0
         19      > JMP                                                      ->32
   15    20    >   FETCH_CONSTANT                                   ~13     'DEBUG'
         21      > JMPZ                                                     ~13, ->25
         22    >   INIT_FCALL_BY_NAME                                       'action'
         23        SEND_VAR_EX                                              !2
         24        DO_FCALL                                      0          
   16    25    >   FETCH_CONSTANT                                   ~15     'DEBUG'
         26        BOOL_NOT                                         ~16     ~15
         27      > JMPZ                                                     ~16, ->31
         28    >   INIT_FCALL_BY_NAME                                       'action'
         29        SEND_VAR_EX                                              !2
         30        DO_FCALL                                      0          
   14    31    >   PRE_INC                                                  !2
         32    >   IS_SMALLER                                               !2, !0
         33      > JMPNZ                                                    ~19, ->20
   21    34    >   FETCH_DIM_R                                      ~20     !1, 'var'
         35      > JMPZ                                                     ~20, ->51
   22    36    >   ASSIGN                                                   !3, <true>
   23    37        ASSIGN                                                   !2, 0
         38      > JMP                                                      ->49
   24    39    > > JMPZ                                                     !3, ->43
         40    >   INIT_FCALL_BY_NAME                                       'action'
         41        SEND_VAR_EX                                              !2
         42        DO_FCALL                                      0          
   25    43    >   BOOL_NOT                                         ~24     !3
         44      > JMPZ                                                     ~24, ->48
         45    >   INIT_FCALL_BY_NAME                                       'action'
         46        SEND_VAR_EX                                              !2
         47        DO_FCALL                                      0          
   23    48    >   PRE_INC                                                  !2
         49    >   IS_SMALLER                                               !2, !0
         50      > JMPNZ                                                    ~27, ->39
   27    51    > > RETURN                                                   1

Function %00action%2Fin%2FEEKrU%3A5%240:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/EEKrU
function name:  action
number of ops:  2
compiled vars:  !0 = $i
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    5     0  E >   RECV                                             !0      
    6     1      > RETURN                                                   null

End of function %00action%2Fin%2FEEKrU%3A5%240

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
152.1 ms | 1405 KiB | 17 Q