3v4l.org

run code in 300+ PHP versions simultaneously
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 23
Branch analysis from position: 23
2 jumps found. (Code = 44) Position 1 = 25, Position 2 = 3
Branch analysis from position: 25
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 3
1 jumps found. (Code = 42) Position 1 = 15
Branch analysis from position: 15
2 jumps found. (Code = 44) Position 1 = 17, Position 2 = 5
Branch analysis from position: 17
2 jumps found. (Code = 43) Position 1 = 21, Position 2 = 22
Branch analysis from position: 21
1 jumps found. (Code = 42) Position 1 = 25
Branch analysis from position: 25
Branch analysis from position: 22
2 jumps found. (Code = 44) Position 1 = 25, Position 2 = 3
Branch analysis from position: 25
Branch analysis from position: 3
Branch analysis from position: 5
2 jumps found. (Code = 44) Position 1 = 17, Position 2 = 5
Branch analysis from position: 17
Branch analysis from position: 5
filename:       /in/rraln
function name:  (null)
number of ops:  78
compiled vars:  !0 = $data, !1 = $i, !2 = $j, !3 = $start_usage, !4 = $start_peak, !5 = $s, !6 = $usage, !7 = $peak
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, <array>
    5     1        ASSIGN                                                   !1, 0
          2      > JMP                                                      ->23
    6     3    >   ASSIGN                                                   !2, 0
          4      > JMP                                                      ->15
    7     5    >   CONCAT                                           ~17     !1, '+-+'
          6        CONCAT                                           ~18     ~17, !2
          7        FETCH_DIM_W                                      $11     !0, 'some'
          8        FETCH_DIM_W                                      $12     $11, 'keys'
          9        FETCH_DIM_W                                      $13     $12, !1
         10        FETCH_DIM_W                                      $14     $13, 'should+not'
         11        FETCH_DIM_W                                      $15     $14, 'matter'
         12        ASSIGN_DIM                                               $15, !2
         13        OP_DATA                                                  ~18
    6    14        PRE_INC                                                  !2
         15    >   IS_SMALLER                                               !2, 500
         16      > JMPNZ                                                    ~20, ->5
    9    17    >   INIT_FCALL                                               'memory_get_usage'
         18        DO_ICALL                                         $21     
         19        IS_SMALLER                                               50000000, $21
         20      > JMPZ                                                     ~22, ->22
         21    > > JMP                                                      ->25
    5    22    >   PRE_INC                                                  !1
         23    >   IS_SMALLER                                               !1, 200
         24      > JMPNZ                                                    ~24, ->3
   12    25    >   ROPE_INIT                                     3  ~26     'Created+'
         26        ROPE_ADD                                      1  ~26     ~26, !1
         27        ROPE_END                                      2  ~25     ~26, '+elements%0A'
         28        ECHO                                                     ~25
   24    29        INIT_FCALL                                               'memory_get_usage'
         30        DO_ICALL                                         $28     
         31        ASSIGN                                                   !3, $28
   25    32        INIT_FCALL                                               'memory_get_peak_usage'
         33        DO_ICALL                                         $30     
         34        ASSIGN                                                   !4, $30
   27    35        INIT_FCALL                                               'serialize'
         36        SEND_VAR                                                 !0
         37        DO_ICALL                                         $32     
         38        ASSIGN                                                   !5, $32
   29    39        INIT_FCALL                                               'memory_get_usage'
         40        DO_ICALL                                         $34     
         41        ASSIGN                                                   !6, $34
   30    42        INIT_FCALL                                               'memory_get_peak_usage'
         43        DO_ICALL                                         $36     
         44        ASSIGN                                                   !7, $36
   32    45        INIT_FCALL                                               'formatbytes'
         46        SEND_VAR                                                 !3
         47        DO_FCALL                                      0  $38     
         48        CONCAT                                           ~39     'Serialize+started+at+', $38
         49        CONCAT                                           ~40     ~39, '+usage+and+'
         50        INIT_FCALL                                               'formatbytes'
         51        SEND_VAR                                                 !4
         52        DO_FCALL                                      0  $41     
         53        CONCAT                                           ~42     ~40, $41
         54        CONCAT                                           ~43     ~42, '+peak%0A'
         55        ECHO                                                     ~43
   33    56        INIT_FCALL                                               'formatbytes'
         57        SUB                                              ~44     !7, !4
         58        SEND_VAL                                                 ~44
         59        DO_FCALL                                      0  $45     
         60        CONCAT                                           ~46     'Peak+usage+increased+by+', $45
         61        CONCAT                                           ~47     ~46, '%0A'
         62        ECHO                                                     ~47
   34    63        INIT_FCALL                                               'formatbytes'
         64        SUB                                              ~48     !6, !3
         65        SEND_VAL                                                 ~48
         66        DO_FCALL                                      0  $49     
         67        CONCAT                                           ~50     'Actual+usage+increased+by+', $49
         68        CONCAT                                           ~51     ~50, '%0A'
         69        ECHO                                                     ~51
   35    70        INIT_FCALL                                               'formatbytes'
         71        STRLEN                                           ~52     !5
         72        SEND_VAL                                                 ~52
         73        DO_FCALL                                      0  $53     
         74        CONCAT                                           ~54     'Resulting+string+size+', $53
         75        CONCAT                                           ~55     ~54, '%0A'
         76        ECHO                                                     ~55
         77      > RETURN                                                   1

Function formatbytes:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 10, Position 2 = 15
Branch analysis from position: 10
1 jumps found. (Code = 42) Position 1 = 16
Branch analysis from position: 16
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 15
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rraln
function name:  formatBytes
number of ops:  42
compiled vars:  !0 = $bytes, !1 = $precision, !2 = $units, !3 = $pow
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   14     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      2
   15     2        ASSIGN                                                   !2, <array>
   17     3        INIT_FCALL                                               'max'
          4        SEND_VAR                                                 !0
          5        SEND_VAL                                                 0
          6        DO_ICALL                                         $5      
          7        ASSIGN                                                   !0, $5
   18     8        INIT_FCALL                                               'floor'
          9      > JMPZ                                                     !0, ->15
         10    >   INIT_FCALL                                               'log'
         11        SEND_VAR                                                 !0
         12        DO_ICALL                                         $7      
         13        QM_ASSIGN                                        ~8      $7
         14      > JMP                                                      ->16
         15    >   QM_ASSIGN                                        ~8      0
         16    >   INIT_FCALL                                               'log'
         17        SEND_VAL                                                 1024
         18        DO_ICALL                                         $9      
         19        DIV                                              ~10     ~8, $9
         20        SEND_VAL                                                 ~10
         21        DO_ICALL                                         $11     
         22        ASSIGN                                                   !3, $11
   19    23        INIT_FCALL                                               'min'
         24        SEND_VAR                                                 !3
         25        COUNT                                            ~13     !2
         26        SUB                                              ~14     ~13, 1
         27        SEND_VAL                                                 ~14
         28        DO_ICALL                                         $15     
         29        ASSIGN                                                   !3, $15
   21    30        INIT_FCALL                                               'round'
         31        MUL                                              ~17     !3, 10
         32        SL                                               ~18     1, ~17
         33        DIV                                              ~19     !0, ~18
         34        SEND_VAL                                                 ~19
         35        SEND_VAR                                                 !1
         36        DO_ICALL                                         $20     
         37        CONCAT                                           ~21     $20, '+'
         38        FETCH_DIM_R                                      ~22     !2, !3
         39        CONCAT                                           ~23     ~21, ~22
         40      > RETURN                                                   ~23
   22    41*     > RETURN                                                   null

End of function formatbytes

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
146.08 ms | 984 KiB | 26 Q