Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/drbAL
function name: (null)
number of ops: 6
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
5 0 E > INIT_FCALL 'stream_wrapper_register'
1 SEND_VAL 'fizzbuzz'
2 SEND_VAL 'FizzBuzzStreamWrapper'
3 DO_ICALL
6 4 INCLUDE_OR_EVAL 'fizzbuzz%3A%2F%2F22', REQUIRE
79 5 > RETURN 1
Class FizzBuzzStreamWrapper:
Function stream_open:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/drbAL
function name: stream_open
number of ops: 22
compiled vars: !0 = $path, !1 = $mode, !2 = $options, !3 = $opened_path, !4 = $matches
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
15 0 E > RECV !0
1 RECV !1
2 RECV !2
3 RECV !3
17 4 INIT_FCALL 'preg_match'
5 SEND_VAL '%23%28%5B%5Cd%5D%2B%24%29%23'
6 SEND_VAR !0
7 SEND_REF !4
8 DO_ICALL
18 9 INIT_FCALL 'filter_var'
19 10 FETCH_DIM_IS ~7 !4, 1
11 COALESCE ~8 ~7
12 QM_ASSIGN ~8 ''
13 SEND_VAL ~8
20 14 SEND_VAL 257
21 15 SEND_VAL <array>
18 16 DO_ICALL $9
17 ASSIGN_OBJ 'length'
21 18 OP_DATA $9
24 19 > RETURN <true>
25 20* VERIFY_RETURN_TYPE
21* > RETURN null
End of function stream_open
Function stream_read:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 5, Position 2 = 6
Branch analysis from position: 5
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 6
2 jumps found. (Code = 44) Position 1 = 11, Position 2 = 22
Branch analysis from position: 11
2 jumps found. (Code = 44) Position 1 = 16, Position 2 = 24
Branch analysis from position: 16
2 jumps found. (Code = 44) Position 1 = 21, Position 2 = 26
Branch analysis from position: 21
1 jumps found. (Code = 42) Position 1 = 28
Branch analysis from position: 28
1 jumps found. (Code = 42) Position 1 = 32
Branch analysis from position: 32
2 jumps found. (Code = 43) Position 1 = 37, Position 2 = 38
Branch analysis from position: 37
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 38
Branch analysis from position: 26
1 jumps found. (Code = 42) Position 1 = 32
Branch analysis from position: 32
Branch analysis from position: 24
1 jumps found. (Code = 42) Position 1 = 32
Branch analysis from position: 32
Branch analysis from position: 22
1 jumps found. (Code = 42) Position 1 = 32
Branch analysis from position: 32
filename: /in/drbAL
function name: stream_read
number of ops: 47
compiled vars: !0 = $count, !1 = $fizzbuzz, !2 = $contents
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
26 0 E > RECV !0
28 1 FETCH_OBJ_R ~3 'counter'
2 FETCH_OBJ_R ~4 'length'
3 IS_SMALLER ~4, ~3
4 > JMPZ ~5, ->6
29 5 > > RETURN <false>
33 6 > FETCH_OBJ_R ~7 'counter'
7 MOD ~8 ~7, 15
8 IS_IDENTICAL ~9 ~8, 0
9 IS_IDENTICAL ~9, <true>
10 > JMPNZ ~6, ->22
34 11 > FETCH_OBJ_R ~10 'counter'
12 MOD ~11 ~10, 5
13 IS_IDENTICAL ~12 ~11, 0
14 IS_IDENTICAL ~12, <true>
15 > JMPNZ ~6, ->24
35 16 > FETCH_OBJ_R ~13 'counter'
17 MOD ~14 ~13, 3
18 IS_IDENTICAL ~15 ~14, 0
19 IS_IDENTICAL ~15, <true>
20 > JMPNZ ~6, ->26
21 > > JMP ->28
33 22 > QM_ASSIGN ~16 'FizzBuzz'
23 > JMP ->32
34 24 > QM_ASSIGN ~16 'Buzz'
25 > JMP ->32
35 26 > QM_ASSIGN ~16 'Fizz'
27 > JMP ->32
36 28 > FETCH_OBJ_R ~17 'counter'
29 CAST 6 ~18 ~17
30 QM_ASSIGN ~16 ~18
31 > JMP ->32
32 32 > ASSIGN !1, ~16
38 33 ASSIGN !2, ''
39 34 FETCH_OBJ_R ~21 'counter'
35 IS_IDENTICAL ~21, 1
36 > JMPZ ~22, ->38
40 37 > ASSIGN !2, '%3C%3Fphp+%0A'
42 38 > ROPE_INIT 3 ~25 'echo+%27'
39 ROPE_ADD 1 ~25 ~25, !1
40 ROPE_END 2 ~24 ~25, '%27+.+PHP_EOL%3B'
41 ASSIGN_OP 8 !2, ~24
44 42 PRE_INC_OBJ 'counter'
46 43 VERIFY_RETURN_TYPE !2
44 > RETURN !2
47 45* VERIFY_RETURN_TYPE
46* > RETURN null
End of function stream_read
Function stream_close:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/drbAL
function name: stream_close
number of ops: 3
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
50 0 E > > RETURN <true>
51 1* VERIFY_RETURN_TYPE
2* > RETURN null
End of function stream_close
Function stream_eof:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/drbAL
function name: stream_eof
number of ops: 7
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
54 0 E > FETCH_OBJ_R ~0 'counter'
1 FETCH_OBJ_R ~1 'length'
2 IS_IDENTICAL ~2 ~0, ~1
3 VERIFY_RETURN_TYPE ~2
4 > RETURN ~2
55 5* VERIFY_RETURN_TYPE
6* > RETURN null
End of function stream_eof
Function stream_stat:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/drbAL
function name: stream_stat
number of ops: 3
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
59 0 E > > RETURN <array>
61 1* VERIFY_RETURN_TYPE
2* > RETURN null
End of function stream_stat
Function stream_set_option:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/drbAL
function name: stream_set_option
number of ops: 5
compiled vars: !0 = $option, !1 = $arg1, !2 = $arg2
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
62 0 E > RECV !0
1 RECV !1
2 RECV !2
64 3 > RETURN <false>
65 4* > RETURN null
End of function stream_set_option
Function getsize:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/drbAL
function name: getSize
number of ops: 42
compiled vars: !0 = $ret, !1 = $range, !2 = $numbers, !3 = $fizzOrBuzzs, !4 = $fizzbuzzs
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
68 0 E > FETCH_OBJ_R ~5 'length'
1 MUL ~6 ~5, 18
2 ADD ~7 7, ~6
3 ASSIGN !0, ~7
69 4 INIT_FCALL 'range'
5 SEND_VAL 1
6 FETCH_OBJ_R ~9 'length'
7 SEND_VAL ~9
8 DO_ICALL $10
9 ASSIGN !1, $10
70 10 INIT_FCALL 'array_filter'
11 SEND_VAR !1
12 DECLARE_LAMBDA_FUNCTION ~12 [0]
13 SEND_VAL ~12
14 DO_ICALL $13
15 ASSIGN !2, $13
71 16 INIT_FCALL 'implode'
17 SEND_VAL ''
18 SEND_VAR !2
19 DO_ICALL $15
20 STRLEN ~16 $15
21 ASSIGN_OP 1 !0, ~16
72 22 INIT_FCALL 'array_filter'
23 SEND_VAR !1
24 DECLARE_LAMBDA_FUNCTION ~18 [1]
25 SEND_VAL ~18
26 DO_ICALL $19
27 ASSIGN !3, $19
73 28 COUNT ~21 !3
29 MUL ~22 ~21, 4
30 ASSIGN_OP 1 !0, ~22
74 31 INIT_FCALL 'array_filter'
32 SEND_VAR !1
33 DECLARE_LAMBDA_FUNCTION ~24 [2]
34 SEND_VAL ~24
35 DO_ICALL $25
36 ASSIGN !4, $25
75 37 COUNT ~27 !4
38 MUL ~28 ~27, 8
39 ASSIGN_OP 1 !0, ~28
77 40 > RETURN !0
78 41* > RETURN null
Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 46) Position 1 = 4, Position 2 = 7
Branch analysis from position: 4
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 7
filename: /in/drbAL
function name: {closure}
number of ops: 9
compiled vars: !0 = $n
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
70 0 E > RECV !0
1 MOD ~1 !0, 3
2 IS_NOT_IDENTICAL ~2 ~1, 0
3 > JMPZ_EX ~2 ~2, ->7
4 > MOD ~3 !0, 5
5 IS_NOT_IDENTICAL ~4 ~3, 0
6 BOOL ~2 ~4
7 > > RETURN ~2
8* > RETURN null
End of Dynamic Function 0
Dynamic Function 1
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 46) Position 1 = 4, Position 2 = 11
Branch analysis from position: 4
2 jumps found. (Code = 47) Position 1 = 7, Position 2 = 10
Branch analysis from position: 7
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 10
Branch analysis from position: 11
filename: /in/drbAL
function name: {closure}
number of ops: 13
compiled vars: !0 = $n
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
72 0 E > RECV !0
1 MOD ~1 !0, 15
2 IS_NOT_IDENTICAL ~2 ~1, 0
3 > JMPZ_EX ~2 ~2, ->11
4 > MOD ~3 !0, 3
5 IS_IDENTICAL ~4 ~3, 0
6 > JMPNZ_EX ~4 ~4, ->10
7 > MOD ~5 !0, 5
8 IS_IDENTICAL ~6 ~5, 0
9 BOOL ~4 ~6
10 > BOOL ~2 ~4
11 > > RETURN ~2
12* > RETURN null
End of Dynamic Function 1
Dynamic Function 2
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/drbAL
function name: {closure}
number of ops: 5
compiled vars: !0 = $n
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
74 0 E > RECV !0
1 MOD ~1 !0, 15
2 IS_IDENTICAL ~2 ~1, 0
3 > RETURN ~2
4* > RETURN null
End of Dynamic Function 2
End of function getsize
End of class FizzBuzzStreamWrapper.
Generated using Vulcan Logic Dumper, using php 8.0.0