Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 7
Branch analysis from position: 3
1 jumps found. (Code = 42) Position 1 = 10
Branch analysis from position: 10
2 jumps found. (Code = 43) Position 1 = 37, Position 2 = 60
Branch analysis from position: 37
2 jumps found. (Code = 43) Position 1 = 47, Position 2 = 52
Branch analysis from position: 47
2 jumps found. (Code = 43) Position 1 = 59, Position 2 = 60
Branch analysis from position: 59
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 60
Branch analysis from position: 52
Branch analysis from position: 60
Branch analysis from position: 7
2 jumps found. (Code = 43) Position 1 = 37, Position 2 = 60
Branch analysis from position: 37
Branch analysis from position: 60
filename: /in/BEoJC
function name: (null)
number of ops: 149
compiled vars: !0 = $debug, !1 = $arr1, !2 = $var2, !3 = $var3, !4 = $var4, !5 = $var5, !6 = $arr2
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
3 0 E > ASSIGN !0, 0
4 1 BOOL_NOT ~8 !0
2 > JMPZ ~8, ->7
3 > INIT_FCALL 'error_reporting'
4 SEND_VAL 1
5 DO_ICALL
6 > JMP ->10
5 7 > INIT_FCALL 'error_reporting'
8 SEND_VAL 32767
9 DO_ICALL
7 10 > ASSIGN_DIM !1
11 OP_DATA 'wello'
8 12 ASSIGN !2, 'woodbye+wruel+world'
9 13 INIT_FCALL 'pack'
14 SEND_VAL 'n%2A'
15 SEND_VAL 119
16 SEND_VAL 101
17 SEND_VAL 108
18 SEND_VAL 108
19 SEND_VAL 111
20 DO_ICALL $13
21 ASSIGN !3, $13
10 22 INIT_FCALL 'pack'
23 SEND_VAL 'n%2A'
24 SEND_VAL 30565
25 SEND_VAL 27756
26 SEND_VAL 28416
27 DO_ICALL $15
28 ASSIGN !4, $15
11 29 INIT_FCALL 'pack'
30 SEND_VAL 'n%2A'
31 SEND_VAL 30565
32 SEND_VAL 27648
33 SEND_VAL 27759
34 DO_ICALL $17
35 ASSIGN !5, $17
14 36 > JMPZ !0, ->60
15 37 > ROPE_INIT 3 ~20 'var3+%3D+'
38 ROPE_ADD 1 ~20 ~20, !3
39 ROPE_END 2 ~19 ~20, '%0A'
40 ECHO ~19
16 41 INIT_FCALL 'var_dump'
42 SEND_VAR !4
43 DO_ICALL
17 44 FETCH_DIM_R ~23 !1, 0
45 IS_EQUAL !4, ~23
46 > JMPZ ~24, ->52
47 > ROPE_INIT 3 ~27 !3
48 ROPE_ADD 1 ~27 ~27, '+%3D%3D+'
49 FETCH_DIM_R ~25 !1, 0
50 ROPE_END 2 ~26 ~27, ~25
51 ECHO ~26
18 52 > INIT_FCALL 'strcmp'
53 SEND_VAR !4
54 FETCH_DIM_R ~29 !1, 0
55 SEND_VAL ~29
56 DO_ICALL $30
57 BOOL_NOT ~31 $30
58 > JMPZ ~31, ->60
59 > ECHO 'got+a+match+with+strcmp'
21 60 > ECHO 'TEsting+poor_mans_strcmp%28%29%21%0A'
23 61 INIT_FCALL_BY_NAME 'poor_mans_strcmp'
62 SEND_VAL_EX 'a'
63 SEND_VAL_EX 'z'
64 DO_FCALL 0
24 65 INIT_FCALL_BY_NAME 'poor_mans_strcmp'
66 SEND_VAL_EX 'q111f'
67 SEND_VAL_EX 'fffff'
68 DO_FCALL 0
25 69 INIT_FCALL_BY_NAME 'poor_mans_strcmp'
70 SEND_VAR_EX !1
71 SEND_VAR_EX !2
72 DO_FCALL 0
26 73 INIT_FCALL_BY_NAME 'poor_mans_strcmp'
74 CHECK_FUNC_ARG
75 FETCH_DIM_FUNC_ARG $35 !1, 0
76 SEND_FUNC_ARG $35
77 SEND_VAR_EX !2
78 DO_FCALL 0
27 79 INIT_FCALL_BY_NAME 'poor_mans_strcmp'
80 SEND_VAR_EX !2
81 SEND_VAR_EX !2
82 DO_FCALL 0
29 83 INIT_FCALL_BY_NAME 'poor_mans_strcmp'
84 CHECK_FUNC_ARG
85 FETCH_DIM_FUNC_ARG $38 !1, 0
86 SEND_FUNC_ARG $38
87 SEND_VAR_EX !3
88 DO_FCALL 0
30 89 INIT_FCALL_BY_NAME 'poor_mans_strcmp'
90 CHECK_FUNC_ARG
91 FETCH_DIM_FUNC_ARG $40 !1, 0
92 SEND_FUNC_ARG $40
93 SEND_VAR_EX !4
94 DO_FCALL 0
31 95 INIT_FCALL_BY_NAME 'poor_mans_strcmp'
96 CHECK_FUNC_ARG
97 FETCH_DIM_FUNC_ARG $42 !1, 0
98 SEND_FUNC_ARG $42
99 SEND_VAR_EX !5
100 DO_FCALL 0
33 101 ECHO 'trying+the+binary+safe+node%21%0A'
34 102 INIT_FCALL_BY_NAME 'poor_mans_strcmp'
103 CHECK_FUNC_ARG
104 FETCH_DIM_FUNC_ARG $44 !1, 0
105 SEND_FUNC_ARG $44
106 SEND_VAR_EX !3
107 SEND_VAL_EX 1
108 DO_FCALL 0
35 109 INIT_FCALL_BY_NAME 'poor_mans_strcmp'
110 CHECK_FUNC_ARG
111 FETCH_DIM_FUNC_ARG $46 !1, 0
112 SEND_FUNC_ARG $46
113 SEND_VAR_EX !4
114 SEND_VAL_EX 1
115 DO_FCALL 0
36 116 INIT_FCALL_BY_NAME 'poor_mans_strcmp'
117 CHECK_FUNC_ARG
118 FETCH_DIM_FUNC_ARG $48 !1, 0
119 SEND_FUNC_ARG $48
120 SEND_VAR_EX !5
121 SEND_VAL_EX 1
122 DO_FCALL 0
38 123 ECHO 'try+some+numbers%0A'
39 124 INIT_FCALL_BY_NAME 'poor_mans_strcmp'
125 SEND_VAL_EX 888
126 SEND_VAL_EX 888
127 DO_FCALL 0
40 128 INIT_FCALL_BY_NAME 'poor_mans_strcmp'
129 SEND_VAL_EX 0
130 SEND_VAL_EX 0
131 DO_FCALL 0
41 132 INIT_FCALL_BY_NAME 'poor_mans_strcmp'
133 SEND_VAL_EX 1000000
134 SEND_VAL_EX -1
135 DO_FCALL 0
44 136 ECHO 'Arrays%0A'
45 137 ASSIGN_DIM !6
138 OP_DATA 'lolphp'
46 139 INIT_FCALL_BY_NAME 'poor_mans_strcmp'
140 SEND_VAR_EX !1
141 SEND_VAR_EX !6
142 DO_FCALL 0
47 143 INIT_FCALL_BY_NAME 'poor_mans_strcmp'
144 SEND_VAR_EX !6
145 SEND_VAR_EX !6
146 DO_FCALL 0
49 147 ECHO 'All+tests+succeeeded%21+Ready+for+producktion%21%0A'
71 148 > RETURN 1
Function poor_mans_strcmp:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 9, Position 2 = 21
Branch analysis from position: 9
2 jumps found. (Code = 43) Position 1 = 22, Position 2 = 26
Branch analysis from position: 22
2 jumps found. (Code = 43) Position 1 = 29, Position 2 = 35
Branch analysis from position: 29
2 jumps found. (Code = 43) Position 1 = 37, Position 2 = 46
Branch analysis from position: 37
2 jumps found. (Code = 43) Position 1 = 39, Position 2 = 40
Branch analysis from position: 39
2 jumps found. (Code = 43) Position 1 = 48, Position 2 = 54
Branch analysis from position: 48
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 54
Branch analysis from position: 40
Branch analysis from position: 46
Branch analysis from position: 35
Branch analysis from position: 26
Branch analysis from position: 21
filename: /in/BEoJC
function name: poor_mans_strcmp
number of ops: 56
compiled vars: !0 = $str1, !1 = $str2, !2 = $binary_safe, !3 = $debug, !4 = $str3, !5 = $str4, !6 = $result
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
51 0 E > RECV !0
1 RECV !1
2 RECV_INIT !2 0
53 3 BIND_GLOBAL !3, 'debug'
55 4 CONCAT ~7 'a', !0
5 ASSIGN !4, ~7
56 6 CONCAT ~9 'a', !1
7 ASSIGN !5, ~9
58 8 > JMPZ !2, ->21
61 9 > INIT_FCALL 'str_replace'
10 SEND_VAL '%00'
11 SEND_VAL ''
12 SEND_VAR !4
13 DO_ICALL $11
14 ASSIGN !4, $11
62 15 INIT_FCALL 'str_replace'
16 SEND_VAL '%00'
17 SEND_VAL ''
18 SEND_VAR !5
19 DO_ICALL $13
20 ASSIGN !5, $13
64 21 > > JMPZ !3, ->26
22 > INIT_FCALL 'var_dump'
23 SEND_VAR !4
24 SEND_VAR !5
25 DO_ICALL
66 26 > ASSIGN !6, 0
67 27 IS_SMALLER !4, !5
28 > JMPZ ~17, ->35
29 > ROPE_INIT 4 ~19 !0
30 ROPE_ADD 1 ~19 ~19, '+is+LESSTHAN+'
31 ROPE_ADD 2 ~19 ~19, !1
32 ROPE_END 3 ~18 ~19, '%0A'
33 ECHO ~18
34 ASSIGN !6, -1
68 35 > IS_SMALLER !5, !4
36 > JMPZ ~22, ->46
37 > IS_EQUAL !6, -1
38 > JMPZ ~23, ->40
39 > ECHO 'Serious+error+detected%2C+keep+on+trucking%21%0A'
40 > ASSIGN !6, 1
41 ROPE_INIT 4 ~26 !0
42 ROPE_ADD 1 ~26 ~26, '+is+GREATERTHAN+'
43 ROPE_ADD 2 ~26 ~26, !1
44 ROPE_END 3 ~25 ~26, '%0A'
45 ECHO ~25
69 46 > IS_EQUAL !6, 0
47 > JMPZ ~28, ->54
48 > ROPE_INIT 5 ~30 'MATCH%3A+'
49 ROPE_ADD 1 ~30 ~30, !0
50 ROPE_ADD 2 ~30 ~30, '+with+'
51 ROPE_ADD 3 ~30 ~30, !1
52 ROPE_END 4 ~29 ~30, '%0A'
53 ECHO ~29
70 54 > > RETURN !6
71 55* > RETURN null
End of function poor_mans_strcmp
Generated using Vulcan Logic Dumper, using php 8.0.0