Finding entry points Branch analysis from position: 0 1 jumps found. (Code = 42) Position 1 = 16 Branch analysis from position: 16 2 jumps found. (Code = 44) Position 1 = 19, Position 2 = 16 Branch analysis from position: 19 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 16 filename: /in/qlXCj function name: (null) number of ops: 20 compiled vars: !0 = $loop line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 49 0 E > NEW $1 'EventLoop' 1 DO_FCALL 0 2 ASSIGN !0, $1 50 3 INIT_METHOD_CALL !0, 'enqueue' 4 SEND_VAL_EX '%231' 5 INIT_FCALL 'coroutine1' 6 DO_FCALL 0 $4 7 SEND_VAR_NO_REF_EX $4 8 DO_FCALL 0 51 9 INIT_METHOD_CALL !0, 'enqueue' 10 SEND_VAL_EX '%232' 11 INIT_FCALL 'coroutine2' 12 DO_FCALL 0 $6 13 SEND_VAR_NO_REF_EX $6 14 DO_FCALL 0 53 15 > JMP ->16 16 > INIT_METHOD_CALL !0, 'run' 17 DO_FCALL 0 $8 18 > JMPNZ $8, ->16 19 > > RETURN 1 Function coroutine1: Finding entry points Branch analysis from position: 0 1 jumps found. (Code = 42) Position 1 = 9 Branch analysis from position: 9 2 jumps found. (Code = 44) Position 1 = 11, Position 2 = 3 Branch analysis from position: 11 1 jumps found. (Code = 161) Position 1 = -2 Branch analysis from position: 3 2 jumps found. (Code = 44) Position 1 = 11, Position 2 = 3 Branch analysis from position: 11 Branch analysis from position: 3 filename: /in/qlXCj function name: coroutine1 number of ops: 12 compiled vars: !0 = $i line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 3 0 E > GENERATOR_CREATE 4 1 ASSIGN !0, 1 2 > JMP ->9 5 3 > ROPE_INIT 3 ~3 'coroutine1%3A+' 4 ROPE_ADD 1 ~3 ~3, !0 5 ROPE_END 2 ~2 ~3, '%0A' 6 ECHO ~2 6 7 YIELD 4 8 PRE_INC !0 9 > IS_SMALLER_OR_EQUAL !0, 5 10 > JMPNZ ~7, ->3 8 11 > > GENERATOR_RETURN End of function coroutine1 Function coroutine2: Finding entry points Branch analysis from position: 0 1 jumps found. (Code = 42) Position 1 = 19 Branch analysis from position: 19 2 jumps found. (Code = 44) Position 1 = 21, Position 2 = 3 Branch analysis from position: 21 1 jumps found. (Code = 161) Position 1 = -2 Branch analysis from position: 3 2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 18 Branch analysis from position: 11 2 jumps found. (Code = 44) Position 1 = 21, Position 2 = 3 Branch analysis from position: 21 Branch analysis from position: 3 Branch analysis from position: 18 filename: /in/qlXCj function name: coroutine2 number of ops: 22 compiled vars: !0 = $i, !1 = $loop line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 10 0 E > GENERATOR_CREATE 11 1 ASSIGN !0, 1 2 > JMP ->19 12 3 > ROPE_INIT 3 ~4 'coroutine2%3A+' 4 ROPE_ADD 1 ~4 ~4, !0 5 ROPE_END 2 ~3 ~4, '%0A' 6 ECHO ~3 14 7 YIELD $6 8 ASSIGN !1, $6 15 9 IS_EQUAL !0, 3 10 > JMPZ ~8, ->18 16 11 > ECHO 'coroutine2+spawning+coroutine3%0A' 17 12 INIT_METHOD_CALL !1, 'enqueue' 13 SEND_VAL_EX '%233' 14 INIT_FCALL_BY_NAME 'coroutine3' 15 DO_FCALL 0 $9 16 SEND_VAR_NO_REF_EX $9 17 DO_FCALL 0 11 18 > PRE_INC !0 19 > IS_SMALLER_OR_EQUAL !0, 10 20 > JMPNZ ~12, ->3 20 21 > > GENERATOR_RETURN End of function coroutine2 Function coroutine3: Finding entry points Branch analysis from position: 0 1 jumps found. (Code = 42) Position 1 = 9 Branch analysis from position: 9 2 jumps found. (Code = 44) Position 1 = 11, Position 2 = 3 Branch analysis from position: 11 1 jumps found. (Code = 161) Position 1 = -2 Branch analysis from position: 3 2 jumps found. (Code = 44) Position 1 = 11, Position 2 = 3 Branch analysis from position: 11 Branch analysis from position: 3 filename: /in/qlXCj function name: coroutine3 number of ops: 12 compiled vars: !0 = $i line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 22 0 E > GENERATOR_CREATE 23 1 ASSIGN !0, 1 2 > JMP ->9 24 3 > ROPE_INIT 3 ~3 'coroutine3%3A+' 4 ROPE_ADD 1 ~3 ~3, !0 5 ROPE_END 2 ~2 ~3, '%0A' 6 ECHO ~2 25 7 YIELD 23 8 PRE_INC !0 9 > IS_SMALLER_OR_EQUAL !0, 5 10 > JMPNZ ~7, ->3 27 11 > > GENERATOR_RETURN End of function coroutine3 Class EventLoop: Function enqueue: Finding entry points Branch analysis from position: 0 1 jumps found. (Code = 62) Position 1 = -2 filename: /in/qlXCj function name: enqueue number of ops: 6 compiled vars: !0 = $key, !1 = $task line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 32 0 E > RECV !0 1 RECV !1 33 2 FETCH_OBJ_W $2 'tasks' 3 ASSIGN_DIM $2, !0 4 OP_DATA !1 34 5 > RETURN null End of function enqueue Function run: Finding entry points Branch analysis from position: 0 2 jumps found. (Code = 77) Position 1 = 2, Position 2 = 19 Branch analysis from position: 2 2 jumps found. (Code = 78) Position 1 = 3, Position 2 = 19 Branch analysis from position: 3 2 jumps found. (Code = 43) Position 1 = 12, Position 2 = 18 Branch analysis from position: 12 1 jumps found. (Code = 42) Position 1 = 2 Branch analysis from position: 2 Branch analysis from position: 18 Branch analysis from position: 19 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 19 filename: /in/qlXCj function name: run number of ops: 24 compiled vars: !0 = $task, !1 = $key line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 37 0 E > FETCH_OBJ_R ~2 'tasks' 1 > FE_RESET_R $3 ~2, ->19 2 > > FE_FETCH_R ~4 $3, !0, ->19 3 > ASSIGN !1, ~4 38 4 INIT_METHOD_CALL !0, 'send' 5 FETCH_THIS $6 6 SEND_VAR_EX $6 7 DO_FCALL 0 39 8 INIT_METHOD_CALL !0, 'valid' 9 DO_FCALL 0 $8 10 BOOL_NOT ~9 $8 11 > JMPZ ~9, ->18 40 12 > ROPE_INIT 3 ~11 'task+' 13 ROPE_ADD 1 ~11 ~11, !1 14 ROPE_END 2 ~10 ~11, '+complete%0A' 15 ECHO ~10 41 16 FETCH_OBJ_UNSET $13 'tasks' 17 UNSET_DIM $13, !1 37 18 > > JMP ->2 19 > FE_FREE $3 45 20 ISSET_ISEMPTY_PROP_OBJ ~14 'tasks' 21 BOOL_NOT ~15 ~14 22 > RETURN ~15 46 23* > RETURN null End of function run End of class EventLoop.
Generated using Vulcan Logic Dumper, using php 8.0.0