Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/QUtp4
function name: (null)
number of ops: 39
compiled vars: !0 = $t
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
43 0 E > INIT_FCALL 'microtime'
1 SEND_VAL <true>
2 DO_ICALL $1
3 ASSIGN !0, $1
44 4 INIT_FCALL 'var_dump'
5 INIT_FCALL 'validatestringbyprefix1'
6 SEND_VAL 'foo'
7 SEND_VAL 'bar'
8 DO_FCALL 0 $3
9 SEND_VAR $3
10 DO_ICALL
45 11 INIT_FCALL 'printf'
12 SEND_VAL '1+%25.6fs%0A'
13 INIT_FCALL 'microtime'
14 SEND_VAL <true>
15 DO_ICALL $5
16 SUB ~6 $5, !0
17 SEND_VAL ~6
18 DO_ICALL
47 19 INIT_FCALL 'microtime'
20 SEND_VAL <true>
21 DO_ICALL $8
22 ASSIGN !0, $8
48 23 INIT_FCALL 'var_dump'
24 INIT_FCALL 'validatestringbyprefix2'
25 SEND_VAL 'foo'
26 SEND_VAL 'bar'
27 DO_FCALL 0 $10
28 SEND_VAR $10
29 DO_ICALL
49 30 INIT_FCALL 'printf'
31 SEND_VAL '2+%25.6fs%0A'
32 INIT_FCALL 'microtime'
33 SEND_VAL <true>
34 DO_ICALL $12
35 SUB ~13 $12, !0
36 SEND_VAL ~13
37 DO_ICALL
38 > RETURN 1
Function validatestringbyprefix1:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 5, Position 2 = 17
Branch analysis from position: 5
2 jumps found. (Code = 46) Position 1 = 8, Position 2 = 14
Branch analysis from position: 8
2 jumps found. (Code = 43) Position 1 = 15, Position 2 = 16
Branch analysis from position: 15
1 jumps found. (Code = 42) Position 1 = 35
Branch analysis from position: 35
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 16
Branch analysis from position: 14
Branch analysis from position: 17
2 jumps found. (Code = 43) Position 1 = 19, Position 2 = 35
Branch analysis from position: 19
2 jumps found. (Code = 77) Position 1 = 20, Position 2 = 34
Branch analysis from position: 20
2 jumps found. (Code = 78) Position 1 = 21, Position 2 = 34
Branch analysis from position: 21
2 jumps found. (Code = 46) Position 1 = 24, Position 2 = 30
Branch analysis from position: 24
2 jumps found. (Code = 43) Position 1 = 31, Position 2 = 33
Branch analysis from position: 31
1 jumps found. (Code = 42) Position 1 = 34
Branch analysis from position: 34
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 33
1 jumps found. (Code = 42) Position 1 = 20
Branch analysis from position: 20
Branch analysis from position: 30
Branch analysis from position: 34
Branch analysis from position: 34
Branch analysis from position: 35
filename: /in/QUtp4
function name: validateStringByPrefix1
number of ops: 37
compiled vars: !0 = $string, !1 = $prefix, !2 = $valid, !3 = $partPrefix
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
3 0 E > RECV !0
1 RECV !1
5 2 ASSIGN !2, <false>
6 3 TYPE_CHECK 64 !1
4 > JMPZ ~5, ->17
7 5 > ISSET_ISEMPTY_CV ~6 !1
6 BOOL_NOT ~7 ~6
7 > JMPZ_EX ~7 ~7, ->14
8 > INIT_FCALL 'strpos'
9 SEND_VAR !0
10 SEND_VAR !1
11 DO_ICALL $8
12 IS_IDENTICAL ~9 $8, 0
13 BOOL ~7 ~9
14 > > JMPZ ~7, ->16
8 15 > ASSIGN !2, <true>
6 16 > > JMP ->35
10 17 > TYPE_CHECK 128 !1
18 > JMPZ ~11, ->35
11 19 > > FE_RESET_R $12 !1, ->34
20 > > FE_FETCH_R $12, !3, ->34
12 21 > ISSET_ISEMPTY_CV ~13 !3
22 BOOL_NOT ~14 ~13
23 > JMPZ_EX ~14 ~14, ->30
24 > INIT_FCALL 'strpos'
25 SEND_VAR !0
26 SEND_VAR !3
27 DO_ICALL $15
28 IS_IDENTICAL ~16 $15, 0
29 BOOL ~14 ~16
30 > > JMPZ ~14, ->33
13 31 > ASSIGN !2, <true>
14 32 > JMP ->34
11 33 > > JMP ->20
34 > FE_FREE $12
18 35 > > RETURN !2
19 36* > RETURN null
End of function validatestringbyprefix1
Function validatestringbyprefix2:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 5, Position 2 = 13
Branch analysis from position: 5
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 12
Branch analysis from position: 11
1 jumps found. (Code = 42) Position 1 = 31
Branch analysis from position: 31
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 12
Branch analysis from position: 13
2 jumps found. (Code = 43) Position 1 = 15, Position 2 = 31
Branch analysis from position: 15
2 jumps found. (Code = 77) Position 1 = 16, Position 2 = 30
Branch analysis from position: 16
2 jumps found. (Code = 78) Position 1 = 17, Position 2 = 30
Branch analysis from position: 17
2 jumps found. (Code = 46) Position 1 = 20, Position 2 = 26
Branch analysis from position: 20
2 jumps found. (Code = 43) Position 1 = 27, Position 2 = 29
Branch analysis from position: 27
1 jumps found. (Code = 42) Position 1 = 30
Branch analysis from position: 30
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 29
1 jumps found. (Code = 42) Position 1 = 16
Branch analysis from position: 16
Branch analysis from position: 26
Branch analysis from position: 30
Branch analysis from position: 30
Branch analysis from position: 31
filename: /in/QUtp4
function name: validateStringByPrefix2
number of ops: 33
compiled vars: !0 = $string, !1 = $prefix, !2 = $valid, !3 = $partPrefix
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
21 0 E > RECV !0
1 RECV !1
23 2 ASSIGN !2, <false>
24 3 TYPE_CHECK 64 !1
4 > JMPZ ~5, ->13
25 5 > INIT_FCALL 'strpos'
6 SEND_VAR !0
7 SEND_VAR !1
8 DO_ICALL $6
9 IS_IDENTICAL $6, 0
10 > JMPZ ~7, ->12
26 11 > ASSIGN !2, <true>
24 12 > > JMP ->31
28 13 > TYPE_CHECK 128 !1
14 > JMPZ ~9, ->31
29 15 > > FE_RESET_R $10 !1, ->30
16 > > FE_FETCH_R $10, !3, ->30
30 17 > ISSET_ISEMPTY_CV ~11 !3
18 BOOL_NOT ~12 ~11
19 > JMPZ_EX ~12 ~12, ->26
20 > INIT_FCALL 'strpos'
21 SEND_VAR !0
22 SEND_VAR !3
23 DO_ICALL $13
24 IS_IDENTICAL ~14 $13, 0
25 BOOL ~12 ~14
26 > > JMPZ ~12, ->29
31 27 > ASSIGN !2, <true>
32 28 > JMP ->30
29 29 > > JMP ->16
30 > FE_FREE $10
36 31 > > RETURN !2
37 32* > RETURN null
End of function validatestringbyprefix2
Generated using Vulcan Logic Dumper, using php 8.0.0