c{0: 0 (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal) (capacity))) -- nil c{0: 1 (((1 channel-address)) <- ((init-channel)) ((3 literal))) -- nil c{0: 2 (((2 integer) (routine)) <- ((fork-helper)) ((reader fn)) ((default-space space-address) (globals)) ((50 literal) (limit))) -- nil c{1: 0 ✓ (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal) (capacity))) c{1: 1 ✓ (((1 channel-address)) <- ((init-channel)) ((3 literal))) c{1: 2 ✓ (((2 integer) (routine)) <- ((fork-helper)) ((reader fn)) ((default-space space-address) (globals)) ((50 literal) (limit))) c{0: 0 (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal) (capacity))) -- nil c{0: 1 (((x tagged-value)) ((1 channel-address) (space global)) <- ((read)) ((1 channel-address) (space global))) -- nil c{1: 0 ✓ (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal) (capacity))) c{1: 1 ✓ (((x tagged-value)) ((1 channel-address) (space global)) <- ((read)) ((1 channel-address) (space global))) cn0: convert-names in main cn0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal) (capacity))) nil nil cn0: checking arg ((space literal)) cn0: checking arg ((30 literal) (capacity)) cn0: checking oarg ((default-space space-address)) maybe-add: ((default-space space-address)) cn0: (((1 channel-address)) <- ((init-channel)) ((3 literal))) nil nil cn0: checking arg ((3 literal)) cn0: checking oarg ((1 channel-address)) maybe-add: ((1 channel-address)) cn0: (((2 integer) (routine)) <- ((fork-helper)) ((reader fn)) ((default-space space-address) (globals)) ((50 literal) (limit))) nil nil cn0: checking arg ((reader fn)) cn0: checking arg ((default-space space-address) (globals)) maybe-add: ((default-space space-address) (globals)) cn0: checking arg ((50 literal) (limit)) cn0: checking oarg ((2 integer) (routine)) maybe-add: ((2 integer) (routine)) cn0: convert-names in reader cn0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal) (capacity))) nil nil cn0: checking arg ((space literal)) cn0: checking arg ((30 literal) (capacity)) cn0: checking oarg ((default-space space-address)) maybe-add: ((default-space space-address)) cn0: (((x tagged-value)) ((1 channel-address) (space global)) <- ((read)) ((1 channel-address) (space global))) nil nil cn0: checking arg ((1 channel-address) (space global)) maybe-add: ((1 channel-address) (space global)) cn0: checking oarg ((x tagged-value)) maybe-add: ((x tagged-value)) cn0: location for oarg ((x tagged-value)): 1 cn0: checking oarg ((1 channel-address) (space global)) maybe-add: ((1 channel-address) (space global)) cn1: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal) (capacity))) cn1: (((1 channel-address)) <- ((init-channel)) ((3 literal))) cn1: (((2 integer) (routine)) <- ((fork-helper)) ((reader fn)) ((default-space space-address) (globals)) ((50 literal) (limit))) cn1: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal) (capacity))) cn1: (((1 tagged-value)) ((1 channel-address) (space global)) <- ((read)) ((1 channel-address) (space global))) schedule: main run: main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal) (capacity))) run: main 0: 1000 => ((default-space space-address)) run: main 1: (((1 channel-address)) <- ((init-channel)) ((3 literal))) run: init-channel/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal))) run: init-channel/main 0: 1031 => ((default-space space-address)) run: init-channel/main 1: (((1 channel-address)) <- ((new)) ((channel literal))) run: init-channel/main 1: 1062 => ((1 channel-address)) mem: ((1 channel-address)): 1033 <= 1062 run: init-channel/main 2: (((2 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((0 offset))) run: init-channel/main 2: 1062 => ((2 integer-address)) mem: ((2 integer-address)): 1034 <= 1062 run: init-channel/main 3: (((2 integer-address) (deref)) <- ((copy)) ((0 literal))) run: init-channel/main 3: 0 => ((2 integer-address) (deref)) mem: ((2 integer-address) (deref)): 1062 <= 0 run: init-channel/main 4: (((3 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((1 offset))) run: init-channel/main 4: 1063 => ((3 integer-address)) mem: ((3 integer-address)): 1035 <= 1063 run: init-channel/main 5: (((3 integer-address) (deref)) <- ((copy)) ((0 literal))) run: init-channel/main 5: 0 => ((3 integer-address) (deref)) mem: ((3 integer-address) (deref)): 1063 <= 0 run: init-channel/main 6: (((4 integer)) <- ((next-input))) arg: nil 0 (3) run: init-channel/main 6: 3 => ((4 integer)) mem: ((4 integer)): 1036 <= 3 run: init-channel/main 7: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal))) mem: ((4 integer)) => 3 run: init-channel/main 7: 4 => ((4 integer)) mem: ((4 integer)): 1036 <= 4 run: init-channel/main 8: (((5 tagged-value-array-address-address)) <- ((get-address)) ((1 channel-address) (deref)) ((2 offset))) run: init-channel/main 8: 1064 => ((5 tagged-value-array-address-address)) mem: ((5 tagged-value-array-address-address)): 1037 <= 1064 run: init-channel/main 9: (((5 tagged-value-array-address-address) (deref)) <- ((new)) ((tagged-value-array literal)) ((4 integer))) mem: ((4 integer)) => 4 run: init-channel/main 9: 1065 => ((5 tagged-value-array-address-address) (deref)) mem: ((5 tagged-value-array-address-address) (deref)): 1064 <= 1065 run: init-channel/main 10: (((reply)) ((1 channel-address))) mem: ((1 channel-address)) => 1062 run: main 1: 1062 => ((1 channel-address)) mem: ((1 channel-address)): 1002 <= 1062 run: main 2: (((2 integer) (routine)) <- ((fork-helper)) ((reader fn)) ((default-space space-address) (globals)) ((50 literal) (limit))) run: main 2: 1 => ((2 integer) (routine)) mem: ((2 integer) (routine)): 1003 <= 1 schedule: done with routine nil schedule: just helpers left; stopping everything