Code Log Animation Tool
Code:
procedure : `#UserApp.wrapper!` [C {}, C {}] procedure = `#UserApp.wrapper!` (`#UserApp.7`: I64): joinpoint `#UserApp.70` `#UserApp.66`: joinpoint `#UserApp.58` `#UserApp.54`: joinpoint `#UserApp.46` `#UserApp.42`: joinpoint `#UserApp.34` `#UserApp.30`: joinpoint `#UserApp.22` `#UserApp.18`: let `#UserApp.17` : Str = "6"; let `#UserApp.16` : [C {}, C {}] = CallByName `pf.Effect.foo_line!` `#UserApp.17`; ret `#UserApp.16`; in let `#UserApp.29` : Str = "5"; let `#UserApp.21` : [C {}, C {}] = CallByName `pf.Effect.foo_line!` `#UserApp.29`; let `#UserApp.26` : U8 = 1i64; let `#UserApp.27` : U8 = GetTagId `#UserApp.21`; let `#UserApp.28` : Int1 = lowlevel Eq `#UserApp.26` `#UserApp.27`; if `#UserApp.28` then let `#UserApp.19` : {} = UnionAtIndex (Id 1) (Index 0) `#UserApp.21`; jump `#UserApp.22` `#UserApp.19`; else let `#UserApp.20` : {} = UnionAtIndex (Id 0) (Index 0) `#UserApp.21`; let `#UserApp.25` : [C {}, C {}] = TagId(0) `#UserApp.20`; ret `#UserApp.25`; in let `#UserApp.41` : Str = "4"; let `#UserApp.33` : [C {}, C {}] = CallByName `pf.Effect.foo_line!` `#UserApp.41`; let `#UserApp.38` : U8 = 1i64; let `#UserApp.39` : U8 = GetTagId `#UserApp.33`; let `#UserApp.40` : Int1 = lowlevel Eq `#UserApp.38` `#UserApp.39`; if `#UserApp.40` then let `#UserApp.31` : {} = UnionAtIndex (Id 1) (Index 0) `#UserApp.33`; jump `#UserApp.34` `#UserApp.31`; else let `#UserApp.32` : {} = UnionAtIndex (Id 0) (Index 0) `#UserApp.33`; let `#UserApp.37` : [C {}, C {}] = TagId(0) `#UserApp.32`; ret `#UserApp.37`; in let `#UserApp.53` : Str = "3"; let `#UserApp.45` : [C {}, C {}] = CallByName `pf.Effect.foo_line!` `#UserApp.53`; let `#UserApp.50` : U8 = 1i64; let `#UserApp.51` : U8 = GetTagId `#UserApp.45`; let `#UserApp.52` : Int1 = lowlevel Eq `#UserApp.50` `#UserApp.51`; if `#UserApp.52` then let `#UserApp.43` : {} = UnionAtIndex (Id 1) (Index 0) `#UserApp.45`; jump `#UserApp.46` `#UserApp.43`; else let `#UserApp.44` : {} = UnionAtIndex (Id 0) (Index 0) `#UserApp.45`; let `#UserApp.49` : [C {}, C {}] = TagId(0) `#UserApp.44`; ret `#UserApp.49`; in let `#UserApp.65` : Str = "2"; let `#UserApp.57` : [C {}, C {}] = CallByName `pf.Effect.foo_line!` `#UserApp.65`; let `#UserApp.62` : U8 = 1i64; let `#UserApp.63` : U8 = GetTagId `#UserApp.57`; let `#UserApp.64` : Int1 = lowlevel Eq `#UserApp.62` `#UserApp.63`; if `#UserApp.64` then let `#UserApp.55` : {} = UnionAtIndex (Id 1) (Index 0) `#UserApp.57`; jump `#UserApp.58` `#UserApp.55`; else let `#UserApp.56` : {} = UnionAtIndex (Id 0) (Index 0) `#UserApp.57`; let `#UserApp.61` : [C {}, C {}] = TagId(0) `#UserApp.56`; ret `#UserApp.61`; in let `#UserApp.77` : Str = "1"; let `#UserApp.69` : [C {}, C {}] = CallByName `pf.Effect.foo_line!` `#UserApp.77`; let `#UserApp.74` : U8 = 1i64; let `#UserApp.75` : U8 = GetTagId `#UserApp.69`; let `#UserApp.76` : Int1 = lowlevel Eq `#UserApp.74` `#UserApp.75`; if `#UserApp.76` then let `#UserApp.67` : {} = UnionAtIndex (Id 1) (Index 0) `#UserApp.69`; jump `#UserApp.70` `#UserApp.67`; else let `#UserApp.68` : {} = UnionAtIndex (Id 0) (Index 0) `#UserApp.69`; let `#UserApp.73` : [C {}, C {}] = TagId(0) `#UserApp.68`; ret `#UserApp.73`;
Log:
[crates/compiler/mono/src/inc_dec.rs:480:5] depth = 0 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Join { id: JoinPointId(`#UserApp.70`)" loop at depth 0 [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 1 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Join { id: JoinPointId(`#UserApp.58`)" loop at depth 1 [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 2 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Join { id: JoinPointId(`#UserApp.46`)" loop at depth 2 [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 3 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Join { id: JoinPointId(`#UserApp.34`)" loop at depth 3 [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 4 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Join { id: JoinPointId(`#UserApp.22`)" loop at depth 4 [crates/compiler/mono/src/inc_dec.rs:763:17] "here" = "here" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 5 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Let(`#UserApp.17`" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 6 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Ret(`#UserApp.16`)" finished loop at depth 4 [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 5 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Let(`#UserApp.29`" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 6 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Switch { cond_symbol: `#UserApp.28`" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 7 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Let(`#UserApp.19`" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 8 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Jump(JoinPointId(`#UserApp.22`)" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 7 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Let(`#UserApp.20`" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 8 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Ret(`#UserApp.25`)" finished loop at depth 3 [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 4 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Let(`#UserApp.41`" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 5 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Switch { cond_symbol: `#UserApp.40`" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 6 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Let(`#UserApp.31`" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 7 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Jump(JoinPointId(`#UserApp.34`)" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 6 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Let(`#UserApp.32`" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 7 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Ret(`#UserApp.37`)" finished loop at depth 2 [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 3 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Let(`#UserApp.53`" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 4 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Switch { cond_symbol: `#UserApp.52`" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 5 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Let(`#UserApp.43`" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 6 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Jump(JoinPointId(`#UserApp.46`)" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 5 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Let(`#UserApp.44`" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 6 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Ret(`#UserApp.49`)" finished loop at depth 1 [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 2 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Let(`#UserApp.65`" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 3 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Switch { cond_symbol: `#UserApp.64`" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 4 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Let(`#UserApp.55`" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 5 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Jump(JoinPointId(`#UserApp.58`)" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 4 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Let(`#UserApp.56`" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 5 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Ret(`#UserApp.61`)" finished loop at depth 0 [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 1 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Let(`#UserApp.77`" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 2 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Switch { cond_symbol: `#UserApp.76`" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 3 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Let(`#UserApp.67`" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 4 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Jump(JoinPointId(`#UserApp.70`)" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 3 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Let(`#UserApp.68`" [crates/compiler/mono/src/inc_dec.rs:480:5] depth = 4 [crates/compiler/mono/src/inc_dec.rs:483:5] first_part = "Ret(`#UserApp.73`)"
Parse
▶
⏸
◼
⏮
⏭
Speed:
500ms
Step:
0
/
0
Enter code and log, then click "Parse & Setup"
Log entries will appear here