diff --git a/CLAUDE.md b/CLAUDE.md index f2bfe99c..fae50672 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -113,6 +113,19 @@ var v = a[] // pop: v is 3, a is [1, 2] - `packages/` — core packages - `Makefile` — build system (`make` to rebuild, `make bootstrap` for first build) +## Testing + +After any C runtime changes, run all three test suites before considering the work done: + +``` +make # rebuild +./cell --dev vm_suite # VM-level tests (641 tests) +./cell --dev test suite # language-level tests (493 tests) +./cell --dev fuzz # fuzzer (100 iterations) +``` + +All three must pass with 0 failures. + ## Documentation The `docs/` folder is the single source of truth. The website at `website/` mounts it via Hugo. Key files: diff --git a/internal/engine.cm.mcode b/internal/engine.cm.mcode index 066efa3f..af4d346c 100644 --- a/internal/engine.cm.mcode +++ b/internal/engine.cm.mcode @@ -748,7 +748,7 @@ }, { "disruption_pc": 0, - "nr_slots": 168, + "nr_slots": 173, "nr_close_slots": 0, "instructions": [ ["access", 11, "core/", 64, 19], @@ -836,31 +836,31 @@ ["setarg", 34, 1, 31, 76, 10], ["invoke", 34, 32, 76, 10], ["function", 36, 7, 76, 30], - [ - "access", - 38, - { - "name": "arrfor", - "kind": "name", - "make": "intrinsic" - }, - 76, - 3 - ], - ["frame", 39, 38, 2, 76, 3], - ["null", 40, 76, 3], - ["setarg", 39, 0, 40, 76, 3], - ["setarg", 39, 1, 32, 76, 3], - ["setarg", 39, 2, 36, 76, 3], - ["invoke", 39, 37, 76, 3], - ["jump_false", 5, "if_else_96", 77, 7], + ["length", 38, 32, 76, 30], + ["int", 39, 0, 76, 30], + ["int", 43, 1, 76, 30], + ["null", 42, 76, 30], + "arrfor_loop_96", + ["lt_int", 40, 39, 38, 76, 30], + ["jump_false", 40, "arrfor_done_97", 76, 30], + ["load_index", 41, 32, 39, 76, 30], + ["frame", 44, 36, 2, 76, 30], + ["setarg", 44, 0, 42, 76, 30], + ["setarg", 44, 1, 41, 76, 30], + ["setarg", 44, 2, 39, 76, 30], + ["invoke", 44, 45, 76, 30], + ["add_int", 39, 39, 43, 76, 30], + ["jump", "arrfor_loop_96", 76, 30], + "arrfor_done_97", + ["null", 37, 76, 30], + ["jump_false", 5, "if_else_98", 77, 7], ["store_field", 2, 5, "native", 77, 12], - ["jump", "if_end_97", 77, 12], - "if_else_96", - "if_end_97", + ["jump", "if_end_99", 77, 12], + "if_else_98", + "if_end_99", [ "access", - 41, + 46, { "name": "core_path", "kind": "name", @@ -869,118 +869,118 @@ 80, 19 ], - ["access", 42, "/", 80, 31], - ["is_int", 44, 41, 80, 31], - ["jump_false", 44, "add_ni_98", 80, 31], + ["access", 47, "/", 80, 31], + ["is_int", 49, 46, 80, 31], + ["jump_false", 49, "add_ni_100", 80, 31], "_nop_tc_2", - ["jump", "add_ni_98", 80, 31], - ["add_int", 43, 41, 42, 80, 31], - ["jump", "add_done_100", 80, 31], - "add_ni_98", - ["is_text", 44, 41, 80, 31], - ["jump_false", 44, "add_nt_99", 80, 31], - ["concat", 43, 41, 42, 80, 31], - ["jump", "add_done_100", 80, 31], - "add_nt_99", - ["is_num", 44, 41, 80, 31], - ["jump_false", 44, "add_err_101", 80, 31], - ["is_num", 45, 42, 80, 31], - ["jump_false", 45, "add_err_101", 80, 31], - ["add_float", 43, 41, 42, 80, 31], - ["jump", "add_done_100", 80, 31], - "add_err_101", + ["jump", "add_ni_100", 80, 31], + ["add_int", 48, 46, 47, 80, 31], + ["jump", "add_done_102", 80, 31], + "add_ni_100", + ["is_text", 49, 46, 80, 31], + ["jump_false", 49, "add_nt_101", 80, 31], + ["concat", 48, 46, 47, 80, 31], + ["jump", "add_done_102", 80, 31], + "add_nt_101", + ["is_num", 49, 46, 80, 31], + ["jump_false", 49, "add_err_103", 80, 31], + ["is_num", 50, 47, 80, 31], + ["jump_false", 50, "add_err_103", 80, 31], + ["add_float", 48, 46, 47, 80, 31], + ["jump", "add_done_102", 80, 31], + "add_err_103", ["disrupt", 80, 31], - "add_done_100", - ["is_int", 47, 43, 80, 37], - ["jump_false", 47, "add_ni_102", 80, 37], - ["is_int", 48, 1, 80, 37], - ["jump_false", 48, "add_ni_102", 80, 37], - ["add_int", 46, 43, 1, 80, 37], - ["jump", "add_done_104", 80, 37], - "add_ni_102", - ["is_text", 47, 43, 80, 37], - ["jump_false", 47, "add_nt_103", 80, 37], - ["is_text", 48, 1, 80, 37], - ["jump_false", 48, "add_nt_103", 80, 37], - ["concat", 46, 43, 1, 80, 37], - ["jump", "add_done_104", 80, 37], - "add_nt_103", - ["is_num", 47, 43, 80, 37], - ["jump_false", 47, "add_err_105", 80, 37], - ["is_num", 48, 1, 80, 37], - ["jump_false", 48, "add_err_105", 80, 37], - ["add_float", 46, 43, 1, 80, 37], - ["jump", "add_done_104", 80, 37], - "add_err_105", + "add_done_102", + ["is_int", 52, 48, 80, 37], + ["jump_false", 52, "add_ni_104", 80, 37], + ["is_int", 53, 1, 80, 37], + ["jump_false", 53, "add_ni_104", 80, 37], + ["add_int", 51, 48, 1, 80, 37], + ["jump", "add_done_106", 80, 37], + "add_ni_104", + ["is_text", 52, 48, 80, 37], + ["jump_false", 52, "add_nt_105", 80, 37], + ["is_text", 53, 1, 80, 37], + ["jump_false", 53, "add_nt_105", 80, 37], + ["concat", 51, 48, 1, 80, 37], + ["jump", "add_done_106", 80, 37], + "add_nt_105", + ["is_num", 52, 48, 80, 37], + ["jump_false", 52, "add_err_107", 80, 37], + ["is_num", 53, 1, 80, 37], + ["jump_false", 53, "add_err_107", 80, 37], + ["add_float", 51, 48, 1, 80, 37], + ["jump", "add_done_106", 80, 37], + "add_err_107", ["disrupt", 80, 37], - "add_done_104", - ["access", 49, ".cm.mach", 80, 44], - ["is_int", 51, 46, 80, 44], - ["jump_false", 51, "add_ni_106", 80, 44], + "add_done_106", + ["access", 54, ".cm.mach", 80, 44], + ["is_int", 56, 51, 80, 44], + ["jump_false", 56, "add_ni_108", 80, 44], "_nop_tc_3", - ["jump", "add_ni_106", 80, 44], - ["add_int", 50, 46, 49, 80, 44], - ["jump", "add_done_108", 80, 44], - "add_ni_106", - ["is_text", 51, 46, 80, 44], - ["jump_false", 51, "add_nt_107", 80, 44], - ["concat", 50, 46, 49, 80, 44], - ["jump", "add_done_108", 80, 44], - "add_nt_107", - ["is_num", 51, 46, 80, 44], - ["jump_false", 51, "add_err_109", 80, 44], - ["is_num", 52, 49, 80, 44], - ["jump_false", 52, "add_err_109", 80, 44], - ["add_float", 50, 46, 49, 80, 44], - ["jump", "add_done_108", 80, 44], - "add_err_109", + ["jump", "add_ni_108", 80, 44], + ["add_int", 55, 51, 54, 80, 44], + ["jump", "add_done_110", 80, 44], + "add_ni_108", + ["is_text", 56, 51, 80, 44], + ["jump_false", 56, "add_nt_109", 80, 44], + ["concat", 55, 51, 54, 80, 44], + ["jump", "add_done_110", 80, 44], + "add_nt_109", + ["is_num", 56, 51, 80, 44], + ["jump_false", 56, "add_err_111", 80, 44], + ["is_num", 57, 54, 80, 44], + ["jump_false", 57, "add_err_111", 80, 44], + ["add_float", 55, 51, 54, 80, 44], + ["jump", "add_done_110", 80, 44], + "add_err_111", ["disrupt", 80, 44], - "add_done_108", - ["move", 7, 50, 80, 44], - ["get", 54, 20, 1, 81, 7], - ["is_proxy", 55, 54, 81, 7], - ["jump_false", 55, "record_path_112", 81, 7], - ["null", 56, 81, 7], - ["access", 57, "is_file", 81, 7], - ["array", 58, 0, 81, 7], - ["push", 58, 7, 81, 7], - ["frame", 59, 54, 2, 81, 7], - ["setarg", 59, 0, 56, 81, 7], - ["setarg", 59, 1, 57, 81, 7], - ["setarg", 59, 2, 58, 81, 7], - ["invoke", 59, 53, 81, 7], - ["jump", "call_done_113", 81, 7], - "record_path_112", - ["load_field", 60, 54, "is_file", 81, 7], - ["frame", 61, 60, 1, 81, 7], - ["setarg", 61, 0, 54, 81, 7], - ["setarg", 61, 1, 7, 81, 7], - ["invoke", 61, 53, 81, 7], - "call_done_113", - ["jump_false", 53, "if_else_110", 81, 7], - ["get", 63, 20, 1, 82, 24], - ["is_proxy", 64, 63, 82, 24], - ["jump_false", 64, "record_path_114", 82, 24], - ["null", 65, 82, 24], - ["access", 66, "slurp", 82, 24], - ["array", 67, 0, 82, 24], - ["push", 67, 7, 82, 24], - ["frame", 68, 63, 2, 82, 24], - ["setarg", 68, 0, 65, 82, 24], - ["setarg", 68, 1, 66, 82, 24], - ["setarg", 68, 2, 67, 82, 24], - ["invoke", 68, 62, 82, 24], - ["jump", "call_done_115", 82, 24], + "add_done_110", + ["move", 7, 55, 80, 44], + ["get", 59, 20, 1, 81, 7], + ["is_proxy", 60, 59, 81, 7], + ["jump_false", 60, "record_path_114", 81, 7], + ["null", 61, 81, 7], + ["access", 62, "is_file", 81, 7], + ["array", 63, 0, 81, 7], + ["push", 63, 7, 81, 7], + ["frame", 64, 59, 2, 81, 7], + ["setarg", 64, 0, 61, 81, 7], + ["setarg", 64, 1, 62, 81, 7], + ["setarg", 64, 2, 63, 81, 7], + ["invoke", 64, 58, 81, 7], + ["jump", "call_done_115", 81, 7], "record_path_114", - ["load_field", 69, 63, "slurp", 82, 24], - ["frame", 70, 69, 1, 82, 24], - ["setarg", 70, 0, 63, 82, 24], - ["setarg", 70, 1, 7, 82, 24], - ["invoke", 70, 62, 82, 24], + ["load_field", 65, 59, "is_file", 81, 7], + ["frame", 66, 65, 1, 81, 7], + ["setarg", 66, 0, 59, 81, 7], + ["setarg", 66, 1, 7, 81, 7], + ["invoke", 66, 58, 81, 7], "call_done_115", + ["jump_false", 58, "if_else_112", 81, 7], + ["get", 68, 20, 1, 82, 24], + ["is_proxy", 69, 68, 82, 24], + ["jump_false", 69, "record_path_116", 82, 24], + ["null", 70, 82, 24], + ["access", 71, "slurp", 82, 24], + ["array", 72, 0, 82, 24], + ["push", 72, 7, 82, 24], + ["frame", 73, 68, 2, 82, 24], + ["setarg", 73, 0, 70, 82, 24], + ["setarg", 73, 1, 71, 82, 24], + ["setarg", 73, 2, 72, 82, 24], + ["invoke", 73, 67, 82, 24], + ["jump", "call_done_117", 82, 24], + "record_path_116", + ["load_field", 74, 68, "slurp", 82, 24], + ["frame", 75, 74, 1, 82, 24], + ["setarg", 75, 0, 68, 82, 24], + ["setarg", 75, 1, 7, 82, 24], + ["invoke", 75, 67, 82, 24], + "call_done_117", [ "access", - 72, + 77, { "name": "mach_load", "kind": "name", @@ -989,22 +989,22 @@ 82, 14 ], - ["frame", 73, 72, 2, 82, 14], - ["null", 74, 82, 14], - ["setarg", 73, 0, 74, 82, 14], - ["setarg", 73, 1, 62, 82, 14], - ["setarg", 73, 2, 2, 82, 14], - ["invoke", 73, 71, 82, 14], - ["move", 3, 71, 82, 14], - ["get", 75, 67, 1, 83, 5], - ["store_dynamic", 75, 3, 9, 83, 15], + ["frame", 78, 77, 2, 82, 14], + ["null", 79, 82, 14], + ["setarg", 78, 0, 79, 82, 14], + ["setarg", 78, 1, 67, 82, 14], + ["setarg", 78, 2, 2, 82, 14], + ["invoke", 78, 76, 82, 14], + ["move", 3, 76, 82, 14], + ["get", 80, 67, 1, 83, 5], + ["store_dynamic", 80, 3, 9, 83, 15], ["return", 3, 84, 12], - ["jump", "if_end_111", 84, 12], - "if_else_110", - "if_end_111", + ["jump", "if_end_113", 84, 12], + "if_else_112", + "if_end_113", [ "access", - 76, + 81, { "name": "core_path", "kind": "name", @@ -1013,140 +1013,140 @@ 88, 20 ], - ["access", 77, "/", 88, 32], - ["is_int", 79, 76, 88, 32], - ["jump_false", 79, "add_ni_116", 88, 32], + ["access", 82, "/", 88, 32], + ["is_int", 84, 81, 88, 32], + ["jump_false", 84, "add_ni_118", 88, 32], "_nop_tc_4", - ["jump", "add_ni_116", 88, 32], - ["add_int", 78, 76, 77, 88, 32], - ["jump", "add_done_118", 88, 32], - "add_ni_116", - ["is_text", 79, 76, 88, 32], - ["jump_false", 79, "add_nt_117", 88, 32], - ["concat", 78, 76, 77, 88, 32], - ["jump", "add_done_118", 88, 32], - "add_nt_117", - ["is_num", 79, 76, 88, 32], - ["jump_false", 79, "add_err_119", 88, 32], - ["is_num", 80, 77, 88, 32], - ["jump_false", 80, "add_err_119", 88, 32], - ["add_float", 78, 76, 77, 88, 32], - ["jump", "add_done_118", 88, 32], - "add_err_119", + ["jump", "add_ni_118", 88, 32], + ["add_int", 83, 81, 82, 88, 32], + ["jump", "add_done_120", 88, 32], + "add_ni_118", + ["is_text", 84, 81, 88, 32], + ["jump_false", 84, "add_nt_119", 88, 32], + ["concat", 83, 81, 82, 88, 32], + ["jump", "add_done_120", 88, 32], + "add_nt_119", + ["is_num", 84, 81, 88, 32], + ["jump_false", 84, "add_err_121", 88, 32], + ["is_num", 85, 82, 88, 32], + ["jump_false", 85, "add_err_121", 88, 32], + ["add_float", 83, 81, 82, 88, 32], + ["jump", "add_done_120", 88, 32], + "add_err_121", ["disrupt", 88, 32], - "add_done_118", - ["is_int", 82, 78, 88, 38], - ["jump_false", 82, "add_ni_120", 88, 38], - ["is_int", 83, 1, 88, 38], - ["jump_false", 83, "add_ni_120", 88, 38], - ["add_int", 81, 78, 1, 88, 38], - ["jump", "add_done_122", 88, 38], - "add_ni_120", - ["is_text", 82, 78, 88, 38], - ["jump_false", 82, "add_nt_121", 88, 38], - ["is_text", 83, 1, 88, 38], - ["jump_false", 83, "add_nt_121", 88, 38], - ["concat", 81, 78, 1, 88, 38], - ["jump", "add_done_122", 88, 38], - "add_nt_121", - ["is_num", 82, 78, 88, 38], - ["jump_false", 82, "add_err_123", 88, 38], - ["is_num", 83, 1, 88, 38], - ["jump_false", 83, "add_err_123", 88, 38], - ["add_float", 81, 78, 1, 88, 38], - ["jump", "add_done_122", 88, 38], - "add_err_123", + "add_done_120", + ["is_int", 87, 83, 88, 38], + ["jump_false", 87, "add_ni_122", 88, 38], + ["is_int", 88, 1, 88, 38], + ["jump_false", 88, "add_ni_122", 88, 38], + ["add_int", 86, 83, 1, 88, 38], + ["jump", "add_done_124", 88, 38], + "add_ni_122", + ["is_text", 87, 83, 88, 38], + ["jump_false", 87, "add_nt_123", 88, 38], + ["is_text", 88, 1, 88, 38], + ["jump_false", 88, "add_nt_123", 88, 38], + ["concat", 86, 83, 1, 88, 38], + ["jump", "add_done_124", 88, 38], + "add_nt_123", + ["is_num", 87, 83, 88, 38], + ["jump_false", 87, "add_err_125", 88, 38], + ["is_num", 88, 1, 88, 38], + ["jump_false", 88, "add_err_125", 88, 38], + ["add_float", 86, 83, 1, 88, 38], + ["jump", "add_done_124", 88, 38], + "add_err_125", ["disrupt", 88, 38], - "add_done_122", - ["access", 84, ".cm.mcode", 88, 45], - ["is_int", 86, 81, 88, 45], - ["jump_false", 86, "add_ni_124", 88, 45], + "add_done_124", + ["access", 89, ".cm.mcode", 88, 45], + ["is_int", 91, 86, 88, 45], + ["jump_false", 91, "add_ni_126", 88, 45], "_nop_tc_5", - ["jump", "add_ni_124", 88, 45], - ["add_int", 85, 81, 84, 88, 45], - ["jump", "add_done_126", 88, 45], - "add_ni_124", - ["is_text", 86, 81, 88, 45], - ["jump_false", 86, "add_nt_125", 88, 45], - ["concat", 85, 81, 84, 88, 45], - ["jump", "add_done_126", 88, 45], - "add_nt_125", - ["is_num", 86, 81, 88, 45], - ["jump_false", 86, "add_err_127", 88, 45], - ["is_num", 87, 84, 88, 45], - ["jump_false", 87, "add_err_127", 88, 45], - ["add_float", 85, 81, 84, 88, 45], - ["jump", "add_done_126", 88, 45], - "add_err_127", + ["jump", "add_ni_126", 88, 45], + ["add_int", 90, 86, 89, 88, 45], + ["jump", "add_done_128", 88, 45], + "add_ni_126", + ["is_text", 91, 86, 88, 45], + ["jump_false", 91, "add_nt_127", 88, 45], + ["concat", 90, 86, 89, 88, 45], + ["jump", "add_done_128", 88, 45], + "add_nt_127", + ["is_num", 91, 86, 88, 45], + ["jump_false", 91, "add_err_129", 88, 45], + ["is_num", 92, 89, 88, 45], + ["jump_false", 92, "add_err_129", 88, 45], + ["add_float", 90, 86, 89, 88, 45], + ["jump", "add_done_128", 88, 45], + "add_err_129", ["disrupt", 88, 45], - "add_done_126", - ["move", 10, 85, 88, 45], - ["get", 89, 20, 1, 89, 7], - ["is_proxy", 90, 89, 89, 7], - ["jump_false", 90, "record_path_130", 89, 7], - ["null", 91, 89, 7], - ["access", 92, "is_file", 89, 7], - ["array", 93, 0, 89, 7], - ["push", 93, 10, 89, 7], - ["frame", 94, 89, 2, 89, 7], - ["setarg", 94, 0, 91, 89, 7], - ["setarg", 94, 1, 92, 89, 7], - ["setarg", 94, 2, 93, 89, 7], - ["invoke", 94, 88, 89, 7], - ["jump", "call_done_131", 89, 7], - "record_path_130", - ["load_field", 95, 89, "is_file", 89, 7], - ["frame", 96, 95, 1, 89, 7], - ["setarg", 96, 0, 89, 89, 7], - ["setarg", 96, 1, 10, 89, 7], - ["invoke", 96, 88, 89, 7], - "call_done_131", - ["jump_false", 88, "if_else_128", 89, 7], - ["access", 97, "core:", 90, 30], + "add_done_128", + ["move", 10, 90, 88, 45], + ["get", 94, 20, 1, 89, 7], + ["is_proxy", 95, 94, 89, 7], + ["jump_false", 95, "record_path_132", 89, 7], + ["null", 96, 89, 7], + ["access", 97, "is_file", 89, 7], + ["array", 98, 0, 89, 7], + ["push", 98, 10, 89, 7], + ["frame", 99, 94, 2, 89, 7], + ["setarg", 99, 0, 96, 89, 7], + ["setarg", 99, 1, 97, 89, 7], + ["setarg", 99, 2, 98, 89, 7], + ["invoke", 99, 93, 89, 7], + ["jump", "call_done_133", 89, 7], + "record_path_132", + ["load_field", 100, 94, "is_file", 89, 7], + ["frame", 101, 100, 1, 89, 7], + ["setarg", 101, 0, 94, 89, 7], + ["setarg", 101, 1, 10, 89, 7], + ["invoke", 101, 93, 89, 7], + "call_done_133", + ["jump_false", 93, "if_else_130", 89, 7], + ["access", 102, "core:", 90, 30], "_nop_tc_6", - ["jump", "add_ni_132", 90, 40], - ["is_int", 100, 1, 90, 40], - ["jump_false", 100, "add_ni_132", 90, 40], - ["add_int", 98, 97, 1, 90, 40], - ["jump", "add_done_134", 90, 40], - "add_ni_132", - ["is_text", 100, 1, 90, 40], - ["jump_false", 100, "add_nt_133", 90, 40], - ["concat", 98, 97, 1, 90, 40], - ["jump", "add_done_134", 90, 40], - "add_nt_133", - ["is_num", 99, 97, 90, 40], - ["jump_false", 99, "add_err_135", 90, 40], - ["is_num", 100, 1, 90, 40], - ["jump_false", 100, "add_err_135", 90, 40], - ["add_float", 98, 97, 1, 90, 40], - ["jump", "add_done_134", 90, 40], - "add_err_135", + ["jump", "add_ni_134", 90, 40], + ["is_int", 105, 1, 90, 40], + ["jump_false", 105, "add_ni_134", 90, 40], + ["add_int", 103, 102, 1, 90, 40], + ["jump", "add_done_136", 90, 40], + "add_ni_134", + ["is_text", 105, 1, 90, 40], + ["jump_false", 105, "add_nt_135", 90, 40], + ["concat", 103, 102, 1, 90, 40], + ["jump", "add_done_136", 90, 40], + "add_nt_135", + ["is_num", 104, 102, 90, 40], + ["jump_false", 104, "add_err_137", 90, 40], + ["is_num", 105, 1, 90, 40], + ["jump_false", 105, "add_err_137", 90, 40], + ["add_float", 103, 102, 1, 90, 40], + ["jump", "add_done_136", 90, 40], + "add_err_137", ["disrupt", 90, 40], - "add_done_134", - ["get", 102, 20, 1, 90, 51], - ["is_proxy", 103, 102, 90, 51], - ["jump_false", 103, "record_path_136", 90, 51], - ["null", 104, 90, 51], - ["access", 105, "slurp", 90, 51], - ["array", 106, 0, 90, 51], - ["push", 106, 10, 90, 51], - ["frame", 107, 102, 2, 90, 51], - ["setarg", 107, 0, 104, 90, 51], - ["setarg", 107, 1, 105, 90, 51], - ["setarg", 107, 2, 106, 90, 51], - ["invoke", 107, 101, 90, 51], - ["jump", "call_done_137", 90, 51], - "record_path_136", - ["load_field", 108, 102, "slurp", 90, 51], - ["frame", 109, 108, 1, 90, 51], - ["setarg", 109, 0, 102, 90, 51], - ["setarg", 109, 1, 10, 90, 51], - ["invoke", 109, 101, 90, 51], - "call_done_137", + "add_done_136", + ["get", 107, 20, 1, 90, 51], + ["is_proxy", 108, 107, 90, 51], + ["jump_false", 108, "record_path_138", 90, 51], + ["null", 109, 90, 51], + ["access", 110, "slurp", 90, 51], + ["array", 111, 0, 90, 51], + ["push", 111, 10, 90, 51], + ["frame", 112, 107, 2, 90, 51], + ["setarg", 112, 0, 109, 90, 51], + ["setarg", 112, 1, 110, 90, 51], + ["setarg", 112, 2, 111, 90, 51], + ["invoke", 112, 106, 90, 51], + ["jump", "call_done_139", 90, 51], + "record_path_138", + ["load_field", 113, 107, "slurp", 90, 51], + ["frame", 114, 113, 1, 90, 51], + ["setarg", 114, 0, 107, 90, 51], + ["setarg", 114, 1, 10, 90, 51], + ["invoke", 114, 106, 90, 51], + "call_done_139", [ "access", - 111, + 116, { "name": "text", "kind": "name", @@ -1155,14 +1155,14 @@ 90, 46 ], - ["frame", 112, 111, 1, 90, 46], - ["null", 113, 90, 46], - ["setarg", 112, 0, 113, 90, 46], - ["setarg", 112, 1, 101, 90, 46], - ["invoke", 112, 110, 90, 46], + ["frame", 117, 116, 1, 90, 46], + ["null", 118, 90, 46], + ["setarg", 117, 0, 118, 90, 46], + ["setarg", 117, 1, 106, 90, 46], + ["invoke", 117, 115, 90, 46], [ "access", - 115, + 120, { "name": "mach_eval_mcode", "kind": "name", @@ -1171,23 +1171,23 @@ 90, 14 ], - ["frame", 116, 115, 3, 90, 14], - ["null", 117, 90, 14], - ["setarg", 116, 0, 117, 90, 14], - ["setarg", 116, 1, 98, 90, 14], - ["setarg", 116, 2, 110, 90, 14], - ["setarg", 116, 3, 2, 90, 14], - ["invoke", 116, 114, 90, 14], - ["move", 3, 114, 90, 14], - ["get", 118, 67, 1, 91, 5], - ["store_dynamic", 118, 3, 9, 91, 15], + ["frame", 121, 120, 3, 90, 14], + ["null", 122, 90, 14], + ["setarg", 121, 0, 122, 90, 14], + ["setarg", 121, 1, 103, 90, 14], + ["setarg", 121, 2, 115, 90, 14], + ["setarg", 121, 3, 2, 90, 14], + ["invoke", 121, 119, 90, 14], + ["move", 3, 119, 90, 14], + ["get", 123, 67, 1, 91, 5], + ["store_dynamic", 123, 3, 9, 91, 15], ["return", 3, 92, 12], - ["jump", "if_end_129", 92, 12], - "if_else_128", - "if_end_129", + ["jump", "if_end_131", 92, 12], + "if_else_130", + "if_end_131", [ "access", - 119, + 124, { "name": "core_path", "kind": "name", @@ -1196,120 +1196,120 @@ 96, 19 ], - ["access", 120, "/", 96, 31], - ["is_int", 122, 119, 96, 31], - ["jump_false", 122, "add_ni_138", 96, 31], + ["access", 125, "/", 96, 31], + ["is_int", 127, 124, 96, 31], + ["jump_false", 127, "add_ni_140", 96, 31], "_nop_tc_7", - ["jump", "add_ni_138", 96, 31], - ["add_int", 121, 119, 120, 96, 31], - ["jump", "add_done_140", 96, 31], - "add_ni_138", - ["is_text", 122, 119, 96, 31], - ["jump_false", 122, "add_nt_139", 96, 31], - ["concat", 121, 119, 120, 96, 31], - ["jump", "add_done_140", 96, 31], - "add_nt_139", - ["is_num", 122, 119, 96, 31], - ["jump_false", 122, "add_err_141", 96, 31], - ["is_num", 123, 120, 96, 31], - ["jump_false", 123, "add_err_141", 96, 31], - ["add_float", 121, 119, 120, 96, 31], - ["jump", "add_done_140", 96, 31], - "add_err_141", + ["jump", "add_ni_140", 96, 31], + ["add_int", 126, 124, 125, 96, 31], + ["jump", "add_done_142", 96, 31], + "add_ni_140", + ["is_text", 127, 124, 96, 31], + ["jump_false", 127, "add_nt_141", 96, 31], + ["concat", 126, 124, 125, 96, 31], + ["jump", "add_done_142", 96, 31], + "add_nt_141", + ["is_num", 127, 124, 96, 31], + ["jump_false", 127, "add_err_143", 96, 31], + ["is_num", 128, 125, 96, 31], + ["jump_false", 128, "add_err_143", 96, 31], + ["add_float", 126, 124, 125, 96, 31], + ["jump", "add_done_142", 96, 31], + "add_err_143", ["disrupt", 96, 31], - "add_done_140", - ["is_int", 125, 121, 96, 37], - ["jump_false", 125, "add_ni_142", 96, 37], - ["is_int", 126, 1, 96, 37], - ["jump_false", 126, "add_ni_142", 96, 37], - ["add_int", 124, 121, 1, 96, 37], - ["jump", "add_done_144", 96, 37], - "add_ni_142", - ["is_text", 125, 121, 96, 37], - ["jump_false", 125, "add_nt_143", 96, 37], - ["is_text", 126, 1, 96, 37], - ["jump_false", 126, "add_nt_143", 96, 37], - ["concat", 124, 121, 1, 96, 37], - ["jump", "add_done_144", 96, 37], - "add_nt_143", - ["is_num", 125, 121, 96, 37], - ["jump_false", 125, "add_err_145", 96, 37], - ["is_num", 126, 1, 96, 37], - ["jump_false", 126, "add_err_145", 96, 37], - ["add_float", 124, 121, 1, 96, 37], - ["jump", "add_done_144", 96, 37], - "add_err_145", + "add_done_142", + ["is_int", 130, 126, 96, 37], + ["jump_false", 130, "add_ni_144", 96, 37], + ["is_int", 131, 1, 96, 37], + ["jump_false", 131, "add_ni_144", 96, 37], + ["add_int", 129, 126, 1, 96, 37], + ["jump", "add_done_146", 96, 37], + "add_ni_144", + ["is_text", 130, 126, 96, 37], + ["jump_false", 130, "add_nt_145", 96, 37], + ["is_text", 131, 1, 96, 37], + ["jump_false", 131, "add_nt_145", 96, 37], + ["concat", 129, 126, 1, 96, 37], + ["jump", "add_done_146", 96, 37], + "add_nt_145", + ["is_num", 130, 126, 96, 37], + ["jump_false", 130, "add_err_147", 96, 37], + ["is_num", 131, 1, 96, 37], + ["jump_false", 131, "add_err_147", 96, 37], + ["add_float", 129, 126, 1, 96, 37], + ["jump", "add_done_146", 96, 37], + "add_err_147", ["disrupt", 96, 37], - "add_done_144", - ["get", 127, 44, 1, 96, 44], - ["is_int", 129, 124, 96, 44], - ["jump_false", 129, "add_ni_146", 96, 44], - ["is_int", 130, 127, 96, 44], - ["jump_false", 130, "add_ni_146", 96, 44], - ["add_int", 128, 124, 127, 96, 44], - ["jump", "add_done_148", 96, 44], - "add_ni_146", - ["is_text", 129, 124, 96, 44], - ["jump_false", 129, "add_nt_147", 96, 44], - ["is_text", 130, 127, 96, 44], - ["jump_false", 130, "add_nt_147", 96, 44], - ["concat", 128, 124, 127, 96, 44], - ["jump", "add_done_148", 96, 44], - "add_nt_147", - ["is_num", 129, 124, 96, 44], - ["jump_false", 129, "add_err_149", 96, 44], - ["is_num", 130, 127, 96, 44], - ["jump_false", 130, "add_err_149", 96, 44], - ["add_float", 128, 124, 127, 96, 44], - ["jump", "add_done_148", 96, 44], - "add_err_149", + "add_done_146", + ["get", 132, 44, 1, 96, 44], + ["is_int", 134, 129, 96, 44], + ["jump_false", 134, "add_ni_148", 96, 44], + ["is_int", 135, 132, 96, 44], + ["jump_false", 135, "add_ni_148", 96, 44], + ["add_int", 133, 129, 132, 96, 44], + ["jump", "add_done_150", 96, 44], + "add_ni_148", + ["is_text", 134, 129, 96, 44], + ["jump_false", 134, "add_nt_149", 96, 44], + ["is_text", 135, 132, 96, 44], + ["jump_false", 135, "add_nt_149", 96, 44], + ["concat", 133, 129, 132, 96, 44], + ["jump", "add_done_150", 96, 44], + "add_nt_149", + ["is_num", 134, 129, 96, 44], + ["jump_false", 134, "add_err_151", 96, 44], + ["is_num", 135, 132, 96, 44], + ["jump_false", 135, "add_err_151", 96, 44], + ["add_float", 133, 129, 132, 96, 44], + ["jump", "add_done_150", 96, 44], + "add_err_151", ["disrupt", 96, 44], - "add_done_148", - ["move", 8, 128, 96, 44], - ["get", 132, 20, 1, 97, 7], - ["is_proxy", 133, 132, 97, 7], - ["jump_false", 133, "record_path_152", 97, 7], - ["null", 134, 97, 7], - ["access", 135, "is_file", 97, 7], - ["array", 136, 0, 97, 7], - ["push", 136, 8, 97, 7], - ["frame", 137, 132, 2, 97, 7], - ["setarg", 137, 0, 134, 97, 7], - ["setarg", 137, 1, 135, 97, 7], - ["setarg", 137, 2, 136, 97, 7], - ["invoke", 137, 131, 97, 7], - ["jump", "call_done_153", 97, 7], - "record_path_152", - ["load_field", 138, 132, "is_file", 97, 7], - ["frame", 139, 138, 1, 97, 7], - ["setarg", 139, 0, 132, 97, 7], - ["setarg", 139, 1, 8, 97, 7], - ["invoke", 139, 131, 97, 7], - "call_done_153", - ["jump_false", 131, "if_else_150", 97, 7], - ["get", 141, 20, 1, 98, 19], - ["is_proxy", 142, 141, 98, 19], - ["jump_false", 142, "record_path_154", 98, 19], - ["null", 143, 98, 19], - ["access", 144, "slurp", 98, 19], - ["array", 145, 0, 98, 19], - ["push", 145, 8, 98, 19], - ["frame", 146, 141, 2, 98, 19], - ["setarg", 146, 0, 143, 98, 19], - ["setarg", 146, 1, 144, 98, 19], - ["setarg", 146, 2, 145, 98, 19], - ["invoke", 146, 140, 98, 19], - ["jump", "call_done_155", 98, 19], + "add_done_150", + ["move", 8, 133, 96, 44], + ["get", 137, 20, 1, 97, 7], + ["is_proxy", 138, 137, 97, 7], + ["jump_false", 138, "record_path_154", 97, 7], + ["null", 139, 97, 7], + ["access", 140, "is_file", 97, 7], + ["array", 141, 0, 97, 7], + ["push", 141, 8, 97, 7], + ["frame", 142, 137, 2, 97, 7], + ["setarg", 142, 0, 139, 97, 7], + ["setarg", 142, 1, 140, 97, 7], + ["setarg", 142, 2, 141, 97, 7], + ["invoke", 142, 136, 97, 7], + ["jump", "call_done_155", 97, 7], "record_path_154", - ["load_field", 147, 141, "slurp", 98, 19], - ["frame", 148, 147, 1, 98, 19], - ["setarg", 148, 0, 141, 98, 19], - ["setarg", 148, 1, 8, 98, 19], - ["invoke", 148, 140, 98, 19], + ["load_field", 143, 137, "is_file", 97, 7], + ["frame", 144, 143, 1, 97, 7], + ["setarg", 144, 0, 137, 97, 7], + ["setarg", 144, 1, 8, 97, 7], + ["invoke", 144, 136, 97, 7], "call_done_155", + ["jump_false", 136, "if_else_152", 97, 7], + ["get", 146, 20, 1, 98, 19], + ["is_proxy", 147, 146, 98, 19], + ["jump_false", 147, "record_path_156", 98, 19], + ["null", 148, 98, 19], + ["access", 149, "slurp", 98, 19], + ["array", 150, 0, 98, 19], + ["push", 150, 8, 98, 19], + ["frame", 151, 146, 2, 98, 19], + ["setarg", 151, 0, 148, 98, 19], + ["setarg", 151, 1, 149, 98, 19], + ["setarg", 151, 2, 150, 98, 19], + ["invoke", 151, 145, 98, 19], + ["jump", "call_done_157", 98, 19], + "record_path_156", + ["load_field", 152, 146, "slurp", 98, 19], + ["frame", 153, 152, 1, 98, 19], + ["setarg", 153, 0, 146, 98, 19], + ["setarg", 153, 1, 8, 98, 19], + ["invoke", 153, 145, 98, 19], + "call_done_157", [ "access", - 150, + 155, { "name": "text", "kind": "name", @@ -1318,15 +1318,15 @@ 98, 14 ], - ["frame", 151, 150, 1, 98, 14], - ["null", 152, 98, 14], - ["setarg", 151, 0, 152, 98, 14], - ["setarg", 151, 1, 140, 98, 14], - ["invoke", 151, 149, 98, 14], - ["move", 4, 149, 98, 14], + ["frame", 156, 155, 1, 98, 14], + ["null", 157, 98, 14], + ["setarg", 156, 0, 157, 98, 14], + ["setarg", 156, 1, 145, 98, 14], + ["invoke", 156, 154, 98, 14], + ["move", 4, 154, 98, 14], [ "access", - 154, + 159, { "name": "analyze", "kind": "name", @@ -1335,38 +1335,38 @@ 99, 11 ], - ["frame", 155, 154, 2, 99, 11], - ["null", 156, 99, 11], - ["setarg", 155, 0, 156, 99, 11], - ["setarg", 155, 1, 4, 99, 11], - ["setarg", 155, 2, 8, 99, 11], - ["invoke", 155, 153, 99, 11], - ["move", 6, 153, 99, 11], - ["access", 157, "core:", 100, 25], + ["frame", 160, 159, 2, 99, 11], + ["null", 161, 99, 11], + ["setarg", 160, 0, 161, 99, 11], + ["setarg", 160, 1, 4, 99, 11], + ["setarg", 160, 2, 8, 99, 11], + ["invoke", 160, 158, 99, 11], + ["move", 6, 158, 99, 11], + ["access", 162, "core:", 100, 25], "_nop_tc_8", - ["jump", "add_ni_156", 100, 35], - ["is_int", 160, 1, 100, 35], - ["jump_false", 160, "add_ni_156", 100, 35], - ["add_int", 158, 157, 1, 100, 35], - ["jump", "add_done_158", 100, 35], - "add_ni_156", - ["is_text", 160, 1, 100, 35], - ["jump_false", 160, "add_nt_157", 100, 35], - ["concat", 158, 157, 1, 100, 35], - ["jump", "add_done_158", 100, 35], - "add_nt_157", - ["is_num", 159, 157, 100, 35], - ["jump_false", 159, "add_err_159", 100, 35], - ["is_num", 160, 1, 100, 35], - ["jump_false", 160, "add_err_159", 100, 35], - ["add_float", 158, 157, 1, 100, 35], - ["jump", "add_done_158", 100, 35], - "add_err_159", + ["jump", "add_ni_158", 100, 35], + ["is_int", 165, 1, 100, 35], + ["jump_false", 165, "add_ni_158", 100, 35], + ["add_int", 163, 162, 1, 100, 35], + ["jump", "add_done_160", 100, 35], + "add_ni_158", + ["is_text", 165, 1, 100, 35], + ["jump_false", 165, "add_nt_159", 100, 35], + ["concat", 163, 162, 1, 100, 35], + ["jump", "add_done_160", 100, 35], + "add_nt_159", + ["is_num", 164, 162, 100, 35], + ["jump_false", 164, "add_err_161", 100, 35], + ["is_num", 165, 1, 100, 35], + ["jump_false", 165, "add_err_161", 100, 35], + ["add_float", 163, 162, 1, 100, 35], + ["jump", "add_done_160", 100, 35], + "add_err_161", ["disrupt", 100, 35], - "add_done_158", + "add_done_160", [ "access", - 162, + 167, { "name": "run_ast_fn", "kind": "name", @@ -1375,25 +1375,25 @@ 100, 14 ], - ["frame", 163, 162, 3, 100, 14], - ["null", 164, 100, 14], - ["setarg", 163, 0, 164, 100, 14], - ["setarg", 163, 1, 158, 100, 14], - ["setarg", 163, 2, 6, 100, 14], - ["setarg", 163, 3, 2, 100, 14], - ["invoke", 163, 161, 100, 14], - ["move", 3, 161, 100, 14], - ["get", 165, 67, 1, 101, 5], - ["store_dynamic", 165, 3, 9, 101, 15], + ["frame", 168, 167, 3, 100, 14], + ["null", 169, 100, 14], + ["setarg", 168, 0, 169, 100, 14], + ["setarg", 168, 1, 163, 100, 14], + ["setarg", 168, 2, 6, 100, 14], + ["setarg", 168, 3, 2, 100, 14], + ["invoke", 168, 166, 100, 14], + ["move", 3, 166, 100, 14], + ["get", 170, 67, 1, 101, 5], + ["store_dynamic", 170, 3, 9, 101, 15], ["return", 3, 102, 12], - ["jump", "if_end_151", 102, 12], - "if_else_150", - "if_end_151", - ["get", 166, 67, 1, 106, 3], - ["store_dynamic", 166, 5, 9, 106, 13], + ["jump", "if_end_153", 102, 12], + "if_else_152", + "if_end_153", + ["get", 171, 67, 1, 106, 3], + ["store_dynamic", 171, 5, 9, 106, 13], ["return", 5, 107, 10], - ["null", 167, 107, 10], - ["return", 167, 107, 10] + ["null", 172, 107, 10], + ["return", 172, 107, 10] ], "name": "use_core", "filename": "internal/engine.cm", @@ -1418,11 +1418,11 @@ "instructions": [ ["is_record", 2, 1, 124, 20], ["move", 3, 2, 124, 20], - ["jump_false", 3, "and_end_160", 124, 20], + ["jump_false", 3, "and_end_162", 124, 20], ["get", 4, 27, 1, 124, 36], ["load_dynamic", 5, 1, 4, 124, 36], ["move", 3, 5, 124, 36], - "and_end_160", + "and_end_162", ["return", 3, 124, 36], ["null", 6, 124, 36], ["return", 6, 124, 36] @@ -1525,45 +1525,45 @@ ["move", 3, 11, 142, 18], ["access", 12, "console", 144, 15], ["is_identical", 13, 1, 12, 144, 15], - ["jump_true", 13, "eq_done_163", 144, 15], + ["jump_true", 13, "eq_done_165", 144, 15], ["is_int", 14, 1, 144, 15], - ["jump_false", 14, "eq_ni_164", 144, 15], + ["jump_false", 14, "eq_ni_166", 144, 15], "_nop_tc_1", - ["jump", "eq_ni_164", 144, 15], + ["jump", "eq_ni_166", 144, 15], ["eq_int", 13, 1, 12, 144, 15], - ["jump", "eq_done_163", 144, 15], - "eq_ni_164", + ["jump", "eq_done_165", 144, 15], + "eq_ni_166", ["is_num", 14, 1, 144, 15], - ["jump_false", 14, "eq_nn_165", 144, 15], + ["jump_false", 14, "eq_nn_167", 144, 15], ["is_num", 15, 12, 144, 15], - ["jump_false", 15, "eq_nn_165", 144, 15], + ["jump_false", 15, "eq_nn_167", 144, 15], ["eq_float", 13, 1, 12, 144, 15], - ["jump", "eq_done_163", 144, 15], - "eq_nn_165", + ["jump", "eq_done_165", 144, 15], + "eq_nn_167", ["is_text", 14, 1, 144, 15], - ["jump_false", 14, "eq_nt_166", 144, 15], + ["jump_false", 14, "eq_nt_168", 144, 15], ["is_text", 15, 12, 144, 15], - ["jump_false", 15, "eq_nt_166", 144, 15], + ["jump_false", 15, "eq_nt_168", 144, 15], ["eq_text", 13, 1, 12, 144, 15], - ["jump", "eq_done_163", 144, 15], - "eq_nt_166", + ["jump", "eq_done_165", 144, 15], + "eq_nt_168", ["is_null", 14, 1, 144, 15], - ["jump_false", 14, "eq_nnl_167", 144, 15], + ["jump_false", 14, "eq_nnl_169", 144, 15], ["is_null", 15, 12, 144, 15], - ["jump_false", 15, "eq_nnl_167", 144, 15], + ["jump_false", 15, "eq_nnl_169", 144, 15], ["true", 13, 144, 15], - ["jump", "eq_done_163", 144, 15], - "eq_nnl_167", + ["jump", "eq_done_165", 144, 15], + "eq_nnl_169", ["is_bool", 14, 1, 144, 15], - ["jump_false", 14, "eq_nb_168", 144, 15], + ["jump_false", 14, "eq_nb_170", 144, 15], ["is_bool", 15, 12, 144, 15], - ["jump_false", 15, "eq_nb_168", 144, 15], + ["jump_false", 15, "eq_nb_170", 144, 15], ["eq_bool", 13, 1, 12, 144, 15], - ["jump", "eq_done_163", 144, 15], - "eq_nb_168", + ["jump", "eq_done_165", 144, 15], + "eq_nb_170", ["false", 13, 144, 15], - "eq_done_163", - ["jump_false", 13, "if_else_161", 144, 15], + "eq_done_165", + ["jump_false", 13, "if_else_163", 144, 15], ["load_field", 16, 4, "line", 145, 26], ["load_field", 17, 4, "file", 145, 39], ["get", 19, 13, 1, 145, 14], @@ -1586,7 +1586,7 @@ 5 ], ["is_proxy", 24, 23, 145, 5], - ["jump_false", 24, "record_path_169", 145, 5], + ["jump_false", 24, "record_path_171", 145, 5], ["null", 25, 145, 5], ["access", 26, "print", 145, 5], ["array", 27, 0, 145, 5], @@ -1596,103 +1596,103 @@ ["setarg", 28, 1, 26, 145, 5], ["setarg", 28, 2, 27, 145, 5], ["invoke", 28, 22, 145, 5], - ["jump", "call_done_170", 145, 5], - "record_path_169", + ["jump", "call_done_172", 145, 5], + "record_path_171", ["load_field", 29, 23, "print", 145, 5], ["frame", 30, 29, 1, 145, 5], ["setarg", 30, 0, 23, 145, 5], ["setarg", 30, 1, 18, 145, 5], ["invoke", 30, 22, 145, 5], - "call_done_170", - ["jump", "if_end_162", 145, 5], - "if_else_161", + "call_done_172", + ["jump", "if_end_164", 145, 5], + "if_else_163", ["access", 31, "error", 146, 22], ["is_identical", 32, 1, 31, 146, 22], - ["jump_true", 32, "eq_done_173", 146, 22], + ["jump_true", 32, "eq_done_175", 146, 22], ["is_int", 33, 1, 146, 22], - ["jump_false", 33, "eq_ni_174", 146, 22], + ["jump_false", 33, "eq_ni_176", 146, 22], "_nop_tc_2", - ["jump", "eq_ni_174", 146, 22], + ["jump", "eq_ni_176", 146, 22], ["eq_int", 32, 1, 31, 146, 22], - ["jump", "eq_done_173", 146, 22], - "eq_ni_174", + ["jump", "eq_done_175", 146, 22], + "eq_ni_176", ["is_num", 33, 1, 146, 22], - ["jump_false", 33, "eq_nn_175", 146, 22], + ["jump_false", 33, "eq_nn_177", 146, 22], ["is_num", 34, 31, 146, 22], - ["jump_false", 34, "eq_nn_175", 146, 22], + ["jump_false", 34, "eq_nn_177", 146, 22], ["eq_float", 32, 1, 31, 146, 22], - ["jump", "eq_done_173", 146, 22], - "eq_nn_175", + ["jump", "eq_done_175", 146, 22], + "eq_nn_177", ["is_text", 33, 1, 146, 22], - ["jump_false", 33, "eq_nt_176", 146, 22], + ["jump_false", 33, "eq_nt_178", 146, 22], ["is_text", 34, 31, 146, 22], - ["jump_false", 34, "eq_nt_176", 146, 22], + ["jump_false", 34, "eq_nt_178", 146, 22], ["eq_text", 32, 1, 31, 146, 22], - ["jump", "eq_done_173", 146, 22], - "eq_nt_176", + ["jump", "eq_done_175", 146, 22], + "eq_nt_178", ["is_null", 33, 1, 146, 22], - ["jump_false", 33, "eq_nnl_177", 146, 22], + ["jump_false", 33, "eq_nnl_179", 146, 22], ["is_null", 34, 31, 146, 22], - ["jump_false", 34, "eq_nnl_177", 146, 22], + ["jump_false", 34, "eq_nnl_179", 146, 22], ["true", 32, 146, 22], - ["jump", "eq_done_173", 146, 22], - "eq_nnl_177", + ["jump", "eq_done_175", 146, 22], + "eq_nnl_179", ["is_bool", 33, 1, 146, 22], - ["jump_false", 33, "eq_nb_178", 146, 22], + ["jump_false", 33, "eq_nb_180", 146, 22], ["is_bool", 34, 31, 146, 22], - ["jump_false", 34, "eq_nb_178", 146, 22], + ["jump_false", 34, "eq_nb_180", 146, 22], ["eq_bool", 32, 1, 31, 146, 22], - ["jump", "eq_done_173", 146, 22], - "eq_nb_178", + ["jump", "eq_done_175", 146, 22], + "eq_nb_180", ["false", 32, 146, 22], - "eq_done_173", - ["jump_false", 32, "if_else_171", 146, 22], + "eq_done_175", + ["jump_false", 32, "if_else_173", 146, 22], ["null", 35, 147, 16], ["is_identical", 36, 3, 35, 147, 16], - ["jump_true", 36, "eq_done_181", 147, 16], + ["jump_true", 36, "eq_done_183", 147, 16], ["is_int", 37, 3, 147, 16], - ["jump_false", 37, "eq_ni_182", 147, 16], + ["jump_false", 37, "eq_ni_184", 147, 16], "_nop_tc_3", - ["jump", "eq_ni_182", 147, 16], + ["jump", "eq_ni_184", 147, 16], ["eq_int", 36, 3, 35, 147, 16], - ["jump", "eq_done_181", 147, 16], - "eq_ni_182", + ["jump", "eq_done_183", 147, 16], + "eq_ni_184", ["is_num", 37, 3, 147, 16], - ["jump_false", 37, "eq_nn_183", 147, 16], + ["jump_false", 37, "eq_nn_185", 147, 16], ["is_num", 38, 35, 147, 16], - ["jump_false", 38, "eq_nn_183", 147, 16], + ["jump_false", 38, "eq_nn_185", 147, 16], ["eq_float", 36, 3, 35, 147, 16], - ["jump", "eq_done_181", 147, 16], - "eq_nn_183", + ["jump", "eq_done_183", 147, 16], + "eq_nn_185", ["is_text", 37, 3, 147, 16], - ["jump_false", 37, "eq_nt_184", 147, 16], + ["jump_false", 37, "eq_nt_186", 147, 16], ["is_text", 38, 35, 147, 16], - ["jump_false", 38, "eq_nt_184", 147, 16], + ["jump_false", 38, "eq_nt_186", 147, 16], ["eq_text", 36, 3, 35, 147, 16], - ["jump", "eq_done_181", 147, 16], - "eq_nt_184", + ["jump", "eq_done_183", 147, 16], + "eq_nt_186", ["is_null", 37, 3, 147, 16], - ["jump_false", 37, "eq_nnl_185", 147, 16], + ["jump_false", 37, "eq_nnl_187", 147, 16], ["is_null", 38, 35, 147, 16], - ["jump_false", 38, "eq_nnl_185", 147, 16], + ["jump_false", 38, "eq_nnl_187", 147, 16], ["true", 36, 147, 16], - ["jump", "eq_done_181", 147, 16], - "eq_nnl_185", + ["jump", "eq_done_183", 147, 16], + "eq_nnl_187", ["is_bool", 37, 3, 147, 16], - ["jump_false", 37, "eq_nb_186", 147, 16], + ["jump_false", 37, "eq_nb_188", 147, 16], ["is_bool", 38, 35, 147, 16], - ["jump_false", 38, "eq_nb_186", 147, 16], + ["jump_false", 38, "eq_nb_188", 147, 16], ["eq_bool", 36, 3, 35, 147, 16], - ["jump", "eq_done_181", 147, 16], - "eq_nb_186", + ["jump", "eq_done_183", 147, 16], + "eq_nb_188", ["false", 36, 147, 16], - "eq_done_181", - ["jump_false", 36, "if_else_179", 147, 16], + "eq_done_183", + ["jump_false", 36, "if_else_181", 147, 16], ["access", 39, "error", 147, 28], ["move", 3, 39, 147, 28], - ["jump", "if_end_180", 147, 28], - "if_else_179", - "if_end_180", + ["jump", "if_end_182", 147, 28], + "if_else_181", + "if_end_182", ["load_field", 40, 4, "line", 148, 26], ["load_field", 41, 4, "file", 148, 39], ["get", 43, 13, 1, 148, 14], @@ -1715,7 +1715,7 @@ 5 ], ["is_proxy", 48, 47, 148, 5], - ["jump_false", 48, "record_path_187", 148, 5], + ["jump_false", 48, "record_path_189", 148, 5], ["null", 49, 148, 5], ["access", 50, "print", 148, 5], ["array", 51, 0, 148, 5], @@ -1725,79 +1725,79 @@ ["setarg", 52, 1, 50, 148, 5], ["setarg", 52, 2, 51, 148, 5], ["invoke", 52, 46, 148, 5], - ["jump", "call_done_188", 148, 5], - "record_path_187", + ["jump", "call_done_190", 148, 5], + "record_path_189", ["load_field", 53, 47, "print", 148, 5], ["frame", 54, 53, 1, 148, 5], ["setarg", 54, 0, 47, 148, 5], ["setarg", 54, 1, 42, 148, 5], ["invoke", 54, 46, 148, 5], - "call_done_188", - ["jump", "if_end_172", 148, 5], - "if_else_171", + "call_done_190", + ["jump", "if_end_174", 148, 5], + "if_else_173", ["access", 55, "system", 149, 22], ["is_identical", 56, 1, 55, 149, 22], - ["jump_true", 56, "eq_done_191", 149, 22], + ["jump_true", 56, "eq_done_193", 149, 22], ["is_int", 57, 1, 149, 22], - ["jump_false", 57, "eq_ni_192", 149, 22], + ["jump_false", 57, "eq_ni_194", 149, 22], "_nop_tc_4", - ["jump", "eq_ni_192", 149, 22], + ["jump", "eq_ni_194", 149, 22], ["eq_int", 56, 1, 55, 149, 22], - ["jump", "eq_done_191", 149, 22], - "eq_ni_192", + ["jump", "eq_done_193", 149, 22], + "eq_ni_194", ["is_num", 57, 1, 149, 22], - ["jump_false", 57, "eq_nn_193", 149, 22], + ["jump_false", 57, "eq_nn_195", 149, 22], ["is_num", 58, 55, 149, 22], - ["jump_false", 58, "eq_nn_193", 149, 22], + ["jump_false", 58, "eq_nn_195", 149, 22], ["eq_float", 56, 1, 55, 149, 22], - ["jump", "eq_done_191", 149, 22], - "eq_nn_193", + ["jump", "eq_done_193", 149, 22], + "eq_nn_195", ["is_text", 57, 1, 149, 22], - ["jump_false", 57, "eq_nt_194", 149, 22], + ["jump_false", 57, "eq_nt_196", 149, 22], ["is_text", 58, 55, 149, 22], - ["jump_false", 58, "eq_nt_194", 149, 22], + ["jump_false", 58, "eq_nt_196", 149, 22], ["eq_text", 56, 1, 55, 149, 22], - ["jump", "eq_done_191", 149, 22], - "eq_nt_194", + ["jump", "eq_done_193", 149, 22], + "eq_nt_196", ["is_null", 57, 1, 149, 22], - ["jump_false", 57, "eq_nnl_195", 149, 22], + ["jump_false", 57, "eq_nnl_197", 149, 22], ["is_null", 58, 55, 149, 22], - ["jump_false", 58, "eq_nnl_195", 149, 22], + ["jump_false", 58, "eq_nnl_197", 149, 22], ["true", 56, 149, 22], - ["jump", "eq_done_191", 149, 22], - "eq_nnl_195", + ["jump", "eq_done_193", 149, 22], + "eq_nnl_197", ["is_bool", 57, 1, 149, 22], - ["jump_false", 57, "eq_nb_196", 149, 22], + ["jump_false", 57, "eq_nb_198", 149, 22], ["is_bool", 58, 55, 149, 22], - ["jump_false", 58, "eq_nb_196", 149, 22], + ["jump_false", 58, "eq_nb_198", 149, 22], ["eq_bool", 56, 1, 55, 149, 22], - ["jump", "eq_done_191", 149, 22], - "eq_nb_196", + ["jump", "eq_done_193", 149, 22], + "eq_nb_198", ["false", 56, 149, 22], - "eq_done_191", - ["jump_false", 56, "if_else_189", 149, 22], + "eq_done_193", + ["jump_false", 56, "if_else_191", 149, 22], ["access", 59, "[SYSTEM] ", 150, 11], "_nop_tc_5", - ["jump", "add_ni_197", 150, 25], + ["jump", "add_ni_199", 150, 25], ["is_int", 62, 3, 150, 25], - ["jump_false", 62, "add_ni_197", 150, 25], + ["jump_false", 62, "add_ni_199", 150, 25], ["add_int", 60, 59, 3, 150, 25], - ["jump", "add_done_199", 150, 25], - "add_ni_197", + ["jump", "add_done_201", 150, 25], + "add_ni_199", ["is_text", 62, 3, 150, 25], - ["jump_false", 62, "add_nt_198", 150, 25], + ["jump_false", 62, "add_nt_200", 150, 25], ["concat", 60, 59, 3, 150, 25], - ["jump", "add_done_199", 150, 25], - "add_nt_198", + ["jump", "add_done_201", 150, 25], + "add_nt_200", ["is_num", 61, 59, 150, 25], - ["jump_false", 61, "add_err_200", 150, 25], + ["jump_false", 61, "add_err_202", 150, 25], ["is_num", 62, 3, 150, 25], - ["jump_false", 62, "add_err_200", 150, 25], + ["jump_false", 62, "add_err_202", 150, 25], ["add_float", 60, 59, 3, 150, 25], - ["jump", "add_done_199", 150, 25], - "add_err_200", + ["jump", "add_done_201", 150, 25], + "add_err_202", ["disrupt", 150, 25], - "add_done_199", + "add_done_201", ["move", 3, 60, 150, 25], ["load_field", 63, 4, "line", 151, 26], ["load_field", 64, 4, "file", 151, 39], @@ -1821,7 +1821,7 @@ 5 ], ["is_proxy", 71, 70, 151, 5], - ["jump_false", 71, "record_path_201", 151, 5], + ["jump_false", 71, "record_path_203", 151, 5], ["null", 72, 151, 5], ["access", 73, "print", 151, 5], ["array", 74, 0, 151, 5], @@ -1831,16 +1831,16 @@ ["setarg", 75, 1, 73, 151, 5], ["setarg", 75, 2, 74, 151, 5], ["invoke", 75, 69, 151, 5], - ["jump", "call_done_202", 151, 5], - "record_path_201", + ["jump", "call_done_204", 151, 5], + "record_path_203", ["load_field", 76, 70, "print", 151, 5], ["frame", 77, 76, 1, 151, 5], ["setarg", 77, 0, 70, 151, 5], ["setarg", 77, 1, 65, 151, 5], ["invoke", 77, 69, 151, 5], - "call_done_202", - ["jump", "if_end_190", 151, 5], - "if_else_189", + "call_done_204", + ["jump", "if_end_192", 151, 5], + "if_else_191", ["array", 78, 0, 1, 1], ["push", 78, 1, 1, 1], [ @@ -1863,7 +1863,7 @@ ["invoke", 82, 81, 1, 1], ["get", 85, 63, 1, 153, 5], ["is_proxy", 86, 85, 153, 5], - ["jump_false", 86, "record_path_203", 153, 5], + ["jump_false", 86, "record_path_205", 153, 5], ["null", 87, 153, 5], ["access", 88, "console", 153, 5], ["array", 89, 0, 153, 5], @@ -1873,17 +1873,17 @@ ["setarg", 90, 1, 88, 153, 5], ["setarg", 90, 2, 89, 153, 5], ["invoke", 90, 84, 153, 5], - ["jump", "call_done_204", 153, 5], - "record_path_203", + ["jump", "call_done_206", 153, 5], + "record_path_205", ["load_field", 91, 85, "console", 153, 5], ["frame", 92, 91, 1, 153, 5], ["setarg", 92, 0, 85, 153, 5], ["setarg", 92, 1, 81, 153, 5], ["invoke", 92, 84, 153, 5], - "call_done_204", - "if_end_190", - "if_end_172", - "if_end_162", + "call_done_206", + "if_end_192", + "if_end_174", + "if_end_164", ["null", 93, 153, 5], ["return", 93, 153, 5] ], @@ -1918,7 +1918,7 @@ ["invoke", 7, 6, 1, 1], ["get", 10, 63, 2, 180, 7], ["is_proxy", 11, 10, 180, 7], - ["jump_false", 11, "record_path_224", 180, 7], + ["jump_false", 11, "record_path_226", 180, 7], ["null", 12, 180, 7], ["access", 13, "console", 180, 7], ["array", 14, 0, 180, 7], @@ -1928,14 +1928,14 @@ ["setarg", 15, 1, 13, 180, 7], ["setarg", 15, 2, 14, 180, 7], ["invoke", 15, 9, 180, 7], - ["jump", "call_done_225", 180, 7], - "record_path_224", + ["jump", "call_done_227", 180, 7], + "record_path_226", ["load_field", 16, 10, "console", 180, 7], ["frame", 17, 16, 1, 180, 7], ["setarg", 17, 0, 10, 180, 7], ["setarg", 17, 1, 6, 180, 7], ["invoke", 17, 9, 180, 7], - "call_done_225", + "call_done_227", ["record", 18, 0], ["store_field", 18, 1, "id", 181, 29], ["get", 20, 72, 2, 181, 15], @@ -1946,7 +1946,7 @@ ["invoke", 21, 19, 181, 15], ["get", 24, 2, 2, 181, 7], ["is_proxy", 25, 24, 181, 7], - ["jump_false", 25, "record_path_226", 181, 7], + ["jump_false", 25, "record_path_228", 181, 7], ["null", 26, 181, 7], ["access", 27, "stop", 181, 7], ["array", 28, 0, 181, 7], @@ -1956,14 +1956,14 @@ ["setarg", 29, 1, 27, 181, 7], ["setarg", 29, 2, 28, 181, 7], ["invoke", 29, 23, 181, 7], - ["jump", "call_done_227", 181, 7], - "record_path_226", + ["jump", "call_done_229", 181, 7], + "record_path_228", ["load_field", 30, 24, "stop", 181, 7], ["frame", 31, 30, 1, 181, 7], ["setarg", 31, 0, 24, 181, 7], ["setarg", 31, 1, 19, 181, 7], ["invoke", 31, 23, 181, 7], - "call_done_227", + "call_done_229", ["null", 32, 181, 7], ["return", 32, 181, 7] ], @@ -1973,20 +1973,20 @@ }, { "disruption_pc": 0, - "nr_slots": 102, + "nr_slots": 107, "nr_close_slots": 0, "instructions": [ ["null", 2, 159, 16], ["null", 3, 160, 16], ["move", 4, 1, 162, 7], - ["jump_false", 4, "and_end_207", 162, 7], + ["jump_false", 4, "and_end_209", 162, 7], ["load_field", 5, 1, "toString", 162, 26], ["is_func", 6, 5, 162, 26], ["move", 4, 6, 162, 26], - "and_end_207", - ["jump_false", 4, "if_else_205", 162, 26], + "and_end_209", + ["jump_false", 4, "if_else_207", 162, 26], ["is_proxy", 8, 1, 163, 14], - ["jump_false", 8, "record_path_208", 163, 14], + ["jump_false", 8, "record_path_210", 163, 14], ["null", 9, 163, 14], ["access", 10, "toString", 163, 14], ["array", 11, 0, 163, 14], @@ -1995,13 +1995,13 @@ ["setarg", 12, 1, 10, 163, 14], ["setarg", 12, 2, 11, 163, 14], ["invoke", 12, 7, 163, 14], - ["jump", "call_done_209", 163, 14], - "record_path_208", + ["jump", "call_done_211", 163, 14], + "record_path_210", ["load_field", 13, 1, "toString", 163, 14], ["frame", 14, 13, 0, 163, 14], ["setarg", 14, 0, 1, 163, 14], ["invoke", 14, 7, 163, 14], - "call_done_209", + "call_done_211", [ "access", 16, @@ -2014,7 +2014,7 @@ 5 ], ["is_proxy", 17, 16, 163, 5], - ["jump_false", 17, "record_path_210", 163, 5], + ["jump_false", 17, "record_path_212", 163, 5], ["null", 18, 163, 5], ["access", 19, "print", 163, 5], ["array", 20, 0, 163, 5], @@ -2024,14 +2024,14 @@ ["setarg", 21, 1, 19, 163, 5], ["setarg", 21, 2, 20, 163, 5], ["invoke", 21, 15, 163, 5], - ["jump", "call_done_211", 163, 5], - "record_path_210", + ["jump", "call_done_213", 163, 5], + "record_path_212", ["load_field", 22, 16, "print", 163, 5], ["frame", 23, 22, 1, 163, 5], ["setarg", 23, 0, 16, 163, 5], ["setarg", 23, 1, 7, 163, 5], ["invoke", 23, 15, 163, 5], - "call_done_211", + "call_done_213", ["access", 24, "\n", 164, 14], [ "access", @@ -2045,7 +2045,7 @@ 5 ], ["is_proxy", 27, 26, 164, 5], - ["jump_false", 27, "record_path_212", 164, 5], + ["jump_false", 27, "record_path_214", 164, 5], ["null", 28, 164, 5], ["access", 29, "print", 164, 5], ["array", 30, 0, 164, 5], @@ -2055,16 +2055,16 @@ ["setarg", 31, 1, 29, 164, 5], ["setarg", 31, 2, 30, 164, 5], ["invoke", 31, 25, 164, 5], - ["jump", "call_done_213", 164, 5], - "record_path_212", + ["jump", "call_done_215", 164, 5], + "record_path_214", ["load_field", 32, 26, "print", 164, 5], ["frame", 33, 32, 1, 164, 5], ["setarg", 33, 0, 26, 164, 5], ["setarg", 33, 1, 24, 164, 5], ["invoke", 33, 25, 164, 5], - "call_done_213", + "call_done_215", ["load_field", 34, 1, "stack", 165, 9], - ["jump_false", 34, "if_else_214", 165, 9], + ["jump_false", 34, "if_else_216", 165, 9], ["load_field", 35, 1, "stack", 165, 29], [ "access", @@ -2078,7 +2078,7 @@ 20 ], ["is_proxy", 38, 37, 165, 20], - ["jump_false", 38, "record_path_216", 165, 20], + ["jump_false", 38, "record_path_218", 165, 20], ["null", 39, 165, 20], ["access", 40, "print", 165, 20], ["array", 41, 0, 165, 20], @@ -2088,23 +2088,23 @@ ["setarg", 42, 1, 40, 165, 20], ["setarg", 42, 2, 41, 165, 20], ["invoke", 42, 36, 165, 20], - ["jump", "call_done_217", 165, 20], - "record_path_216", + ["jump", "call_done_219", 165, 20], + "record_path_218", ["load_field", 43, 37, "print", 165, 20], ["frame", 44, 43, 1, 165, 20], ["setarg", 44, 0, 37, 165, 20], ["setarg", 44, 1, 35, 165, 20], ["invoke", 44, 36, 165, 20], - "call_done_217", - ["jump", "if_end_215", 165, 20], - "if_else_214", - "if_end_215", - ["jump", "if_end_206", 165, 20], - "if_else_205", - "if_end_206", + "call_done_219", + ["jump", "if_end_217", 165, 20], + "if_else_216", + "if_end_217", + ["jump", "if_end_208", 165, 20], + "if_else_207", + "if_end_208", ["get", 45, 39, 1, 168, 7], - ["jump_false", 45, "if_else_218", 168, 7], - ["jump_false", 1, "if_else_220", 169, 9], + ["jump_false", 45, "if_else_220", 168, 7], + ["jump_false", 1, "if_else_222", 169, 9], ["move", 2, 1, 171, 16], ["record", 46, 0], ["access", 47, "disrupt", 172, 32], @@ -2116,8 +2116,8 @@ ["setarg", 50, 0, 51, 172, 7], ["setarg", 50, 1, 46, 172, 7], ["invoke", 50, 48, 172, 7], - ["jump", "if_end_221", 172, 7], - "if_else_220", + ["jump", "if_end_223", 172, 7], + "if_else_222", ["record", 52, 0], ["access", 53, "stop", 174, 32], ["store_field", 52, 53, "type", 174, 32], @@ -2127,12 +2127,12 @@ ["setarg", 56, 0, 57, 174, 7], ["setarg", 56, 1, 52, 174, 7], ["invoke", 56, 54, 174, 7], + "if_end_223", + ["jump", "if_end_221", 174, 7], + "if_else_220", "if_end_221", - ["jump", "if_end_219", 174, 7], - "if_else_218", - "if_end_219", ["get", 58, 12, 1, 177, 7], - ["jump_false", 58, "if_else_222", 177, 7], + ["jump_false", 58, "if_else_224", 177, 7], ["get", 59, 12, 1, 178, 20], [ "access", @@ -2152,107 +2152,107 @@ ["invoke", 62, 60, 178, 14], ["move", 3, 60, 178, 14], ["function", 64, 14, 179, 20], - [ - "access", - 66, - { - "name": "arrfor", - "kind": "name", - "make": "intrinsic" - }, - 179, - 5 - ], - ["frame", 67, 66, 2, 179, 5], - ["null", 68, 179, 5], - ["setarg", 67, 0, 68, 179, 5], - ["setarg", 67, 1, 3, 179, 5], - ["setarg", 67, 2, 64, 179, 5], - ["invoke", 67, 65, 179, 5], - ["jump", "if_end_223", 179, 5], - "if_else_222", - "if_end_223", - ["jump_false", 1, "if_else_228", 185, 7], - ["load_field", 69, 1, "message", 186, 9], - ["jump_false", 69, "if_else_230", 186, 9], - ["load_field", 70, 1, "message", 187, 19], - ["get", 72, 63, 1, 187, 7], - ["is_proxy", 73, 72, 187, 7], - ["jump_false", 73, "record_path_232", 187, 7], - ["null", 74, 187, 7], - ["access", 75, "console", 187, 7], - ["array", 76, 0, 187, 7], - ["push", 76, 70, 187, 7], - ["frame", 77, 72, 2, 187, 7], - ["setarg", 77, 0, 74, 187, 7], - ["setarg", 77, 1, 75, 187, 7], - ["setarg", 77, 2, 76, 187, 7], - ["invoke", 77, 71, 187, 7], - ["jump", "call_done_233", 187, 7], - "record_path_232", - ["load_field", 78, 72, "console", 187, 7], - ["frame", 79, 78, 1, 187, 7], - ["setarg", 79, 0, 72, 187, 7], - ["setarg", 79, 1, 70, 187, 7], - ["invoke", 79, 71, 187, 7], - "call_done_233", - ["jump", "if_end_231", 187, 7], - "if_else_230", - "if_end_231", - ["load_field", 80, 1, "stack", 188, 9], - ["jump_false", 80, "if_else_234", 188, 9], - ["load_field", 81, 1, "stack", 189, 19], - ["get", 83, 63, 1, 189, 7], - ["is_proxy", 84, 83, 189, 7], - ["jump_false", 84, "record_path_236", 189, 7], - ["null", 85, 189, 7], - ["access", 86, "console", 189, 7], - ["array", 87, 0, 189, 7], - ["push", 87, 81, 189, 7], - ["frame", 88, 83, 2, 189, 7], - ["setarg", 88, 0, 85, 189, 7], - ["setarg", 88, 1, 86, 189, 7], - ["setarg", 88, 2, 87, 189, 7], - ["invoke", 88, 82, 189, 7], - ["jump", "call_done_237", 189, 7], + ["length", 66, 3, 179, 20], + ["int", 67, 0, 179, 20], + ["int", 71, 1, 179, 20], + ["null", 70, 179, 20], + "arrfor_loop_230", + ["lt_int", 68, 67, 66, 179, 20], + ["jump_false", 68, "arrfor_done_231", 179, 20], + ["load_index", 69, 3, 67, 179, 20], + ["frame", 72, 64, 2, 179, 20], + ["setarg", 72, 0, 70, 179, 20], + ["setarg", 72, 1, 69, 179, 20], + ["setarg", 72, 2, 67, 179, 20], + ["invoke", 72, 73, 179, 20], + ["add_int", 67, 67, 71, 179, 20], + ["jump", "arrfor_loop_230", 179, 20], + "arrfor_done_231", + ["null", 65, 179, 20], + ["jump", "if_end_225", 179, 20], + "if_else_224", + "if_end_225", + ["jump_false", 1, "if_else_232", 185, 7], + ["load_field", 74, 1, "message", 186, 9], + ["jump_false", 74, "if_else_234", 186, 9], + ["load_field", 75, 1, "message", 187, 19], + ["get", 77, 63, 1, 187, 7], + ["is_proxy", 78, 77, 187, 7], + ["jump_false", 78, "record_path_236", 187, 7], + ["null", 79, 187, 7], + ["access", 80, "console", 187, 7], + ["array", 81, 0, 187, 7], + ["push", 81, 75, 187, 7], + ["frame", 82, 77, 2, 187, 7], + ["setarg", 82, 0, 79, 187, 7], + ["setarg", 82, 1, 80, 187, 7], + ["setarg", 82, 2, 81, 187, 7], + ["invoke", 82, 76, 187, 7], + ["jump", "call_done_237", 187, 7], "record_path_236", - ["load_field", 89, 83, "console", 189, 7], - ["frame", 90, 89, 1, 189, 7], - ["setarg", 90, 0, 83, 189, 7], - ["setarg", 90, 1, 81, 189, 7], - ["invoke", 90, 82, 189, 7], + ["load_field", 83, 77, "console", 187, 7], + ["frame", 84, 83, 1, 187, 7], + ["setarg", 84, 0, 77, 187, 7], + ["setarg", 84, 1, 75, 187, 7], + ["invoke", 84, 76, 187, 7], "call_done_237", - ["jump", "if_end_235", 189, 7], + ["jump", "if_end_235", 187, 7], "if_else_234", "if_end_235", - ["jump", "if_end_229", 189, 7], - "if_else_228", - "if_end_229", - ["get", 92, 30, 1, 192, 3], - ["access", 93, "disrupt", 192, 13], - ["is_proxy", 94, 92, 192, 13], - ["jump_false", 94, "dyn_record_path_238", 192, 13], + ["load_field", 85, 1, "stack", 188, 9], + ["jump_false", 85, "if_else_238", 188, 9], + ["load_field", 86, 1, "stack", 189, 19], + ["get", 88, 63, 1, 189, 7], + ["is_proxy", 89, 88, 189, 7], + ["jump_false", 89, "record_path_240", 189, 7], + ["null", 90, 189, 7], + ["access", 91, "console", 189, 7], + ["array", 92, 0, 189, 7], + ["push", 92, 86, 189, 7], + ["frame", 93, 88, 2, 189, 7], + ["setarg", 93, 0, 90, 189, 7], + ["setarg", 93, 1, 91, 189, 7], + ["setarg", 93, 2, 92, 189, 7], + ["invoke", 93, 87, 189, 7], + ["jump", "call_done_241", 189, 7], + "record_path_240", + ["load_field", 94, 88, "console", 189, 7], + ["frame", 95, 94, 1, 189, 7], + ["setarg", 95, 0, 88, 189, 7], + ["setarg", 95, 1, 86, 189, 7], + ["invoke", 95, 87, 189, 7], + "call_done_241", + ["jump", "if_end_239", 189, 7], + "if_else_238", + "if_end_239", + ["jump", "if_end_233", 189, 7], + "if_else_232", + "if_end_233", + ["get", 97, 30, 1, 192, 3], + ["access", 98, "disrupt", 192, 13], + ["is_proxy", 99, 97, 192, 13], + ["jump_false", 99, "dyn_record_path_242", 192, 13], "_nop_tc_1", "_nop_tc_2", - ["null", 96, 192, 13], - ["array", 97, 0, 192, 13], - ["frame", 98, 92, 2, 192, 13], - ["setarg", 98, 0, 96, 192, 13], - ["setarg", 98, 1, 93, 192, 13], - ["setarg", 98, 2, 97, 192, 13], - ["invoke", 98, 91, 192, 13], - ["jump", "dyn_call_done_239", 192, 13], - "dyn_error_240", - ["disrupt", 192, 13], - ["jump", "dyn_call_done_239", 192, 13], - "dyn_record_path_238", - ["load_dynamic", 99, 92, 93, 192, 13], - ["frame", 100, 99, 0, 192, 13], - ["setarg", 100, 0, 92, 192, 13], - ["invoke", 100, 91, 192, 13], - "dyn_call_done_239", ["null", 101, 192, 13], - ["return", 101, 192, 13] + ["array", 102, 0, 192, 13], + ["frame", 103, 97, 2, 192, 13], + ["setarg", 103, 0, 101, 192, 13], + ["setarg", 103, 1, 98, 192, 13], + ["setarg", 103, 2, 102, 192, 13], + ["invoke", 103, 96, 192, 13], + ["jump", "dyn_call_done_243", 192, 13], + "dyn_error_244", + ["disrupt", 192, 13], + ["jump", "dyn_call_done_243", 192, 13], + "dyn_record_path_242", + ["load_dynamic", 104, 97, 98, 192, 13], + ["frame", 105, 104, 0, 192, 13], + ["setarg", 105, 0, 97, 192, 13], + ["invoke", 105, 96, 192, 13], + "dyn_call_done_243", + ["null", 106, 192, 13], + ["return", 106, 192, 13] ], "name": "actor_die", "filename": "internal/engine.cm", @@ -2265,45 +2265,45 @@ "instructions": [ ["null", 4, 203, 23], ["is_identical", 5, 1, 4, 203, 23], - ["jump_true", 5, "eq_done_243", 203, 23], + ["jump_true", 5, "eq_done_247", 203, 23], ["is_int", 6, 1, 203, 23], - ["jump_false", 6, "eq_ni_244", 203, 23], + ["jump_false", 6, "eq_ni_248", 203, 23], "_nop_tc_1", - ["jump", "eq_ni_244", 203, 23], + ["jump", "eq_ni_248", 203, 23], ["eq_int", 5, 1, 4, 203, 23], - ["jump", "eq_done_243", 203, 23], - "eq_ni_244", + ["jump", "eq_done_247", 203, 23], + "eq_ni_248", ["is_num", 6, 1, 203, 23], - ["jump_false", 6, "eq_nn_245", 203, 23], + ["jump_false", 6, "eq_nn_249", 203, 23], ["is_num", 7, 4, 203, 23], - ["jump_false", 7, "eq_nn_245", 203, 23], + ["jump_false", 7, "eq_nn_249", 203, 23], ["eq_float", 5, 1, 4, 203, 23], - ["jump", "eq_done_243", 203, 23], - "eq_nn_245", + ["jump", "eq_done_247", 203, 23], + "eq_nn_249", ["is_text", 6, 1, 203, 23], - ["jump_false", 6, "eq_nt_246", 203, 23], + ["jump_false", 6, "eq_nt_250", 203, 23], ["is_text", 7, 4, 203, 23], - ["jump_false", 7, "eq_nt_246", 203, 23], + ["jump_false", 7, "eq_nt_250", 203, 23], ["eq_text", 5, 1, 4, 203, 23], - ["jump", "eq_done_243", 203, 23], - "eq_nt_246", + ["jump", "eq_done_247", 203, 23], + "eq_nt_250", ["is_null", 6, 1, 203, 23], - ["jump_false", 6, "eq_nnl_247", 203, 23], + ["jump_false", 6, "eq_nnl_251", 203, 23], ["is_null", 7, 4, 203, 23], - ["jump_false", 7, "eq_nnl_247", 203, 23], + ["jump_false", 7, "eq_nnl_251", 203, 23], ["true", 5, 203, 23], - ["jump", "eq_done_243", 203, 23], - "eq_nnl_247", + ["jump", "eq_done_247", 203, 23], + "eq_nnl_251", ["is_bool", 6, 1, 203, 23], - ["jump_false", 6, "eq_nb_248", 203, 23], + ["jump_false", 6, "eq_nb_252", 203, 23], ["is_bool", 7, 4, 203, 23], - ["jump_false", 7, "eq_nb_248", 203, 23], + ["jump_false", 7, "eq_nb_252", 203, 23], ["eq_bool", 5, 1, 4, 203, 23], - ["jump", "eq_done_243", 203, 23], - "eq_nb_248", + ["jump", "eq_done_247", 203, 23], + "eq_nb_252", ["false", 5, 203, 23], - "eq_done_243", - ["jump_false", 5, "tern_else_241", 203, 23], + "eq_done_247", + ["jump_false", 5, "tern_else_245", 203, 23], ["record", 9, 0], ["get", 11, 6, 1, 203, 34], ["frame", 12, 11, 0, 203, 34], @@ -2312,10 +2312,10 @@ ["invoke", 12, 10, 203, 34], ["store_field", 9, 10, "id", 203, 34], ["move", 8, 9, 203, 34], - ["jump", "tern_end_242", 203, 34], - "tern_else_241", + ["jump", "tern_end_246", 203, 34], + "tern_else_245", ["move", 8, 1, 203, 44], - "tern_end_242", + "tern_end_246", ["move", 2, 8, 203, 44], ["record", 14, 0], ["move", 3, 14, 204, 15], @@ -2336,51 +2336,51 @@ "instructions": [ ["null", 4, 360, 23], ["is_identical", 5, 1, 4, 360, 23], - ["jump_true", 5, "eq_done_251", 360, 23], + ["jump_true", 5, "eq_done_255", 360, 23], ["is_int", 6, 1, 360, 23], - ["jump_false", 6, "eq_ni_252", 360, 23], + ["jump_false", 6, "eq_ni_256", 360, 23], "_nop_tc_1", - ["jump", "eq_ni_252", 360, 23], + ["jump", "eq_ni_256", 360, 23], ["eq_int", 5, 1, 4, 360, 23], - ["jump", "eq_done_251", 360, 23], - "eq_ni_252", + ["jump", "eq_done_255", 360, 23], + "eq_ni_256", ["is_num", 6, 1, 360, 23], - ["jump_false", 6, "eq_nn_253", 360, 23], + ["jump_false", 6, "eq_nn_257", 360, 23], ["is_num", 7, 4, 360, 23], - ["jump_false", 7, "eq_nn_253", 360, 23], + ["jump_false", 7, "eq_nn_257", 360, 23], ["eq_float", 5, 1, 4, 360, 23], - ["jump", "eq_done_251", 360, 23], - "eq_nn_253", + ["jump", "eq_done_255", 360, 23], + "eq_nn_257", ["is_text", 6, 1, 360, 23], - ["jump_false", 6, "eq_nt_254", 360, 23], + ["jump_false", 6, "eq_nt_258", 360, 23], ["is_text", 7, 4, 360, 23], - ["jump_false", 7, "eq_nt_254", 360, 23], + ["jump_false", 7, "eq_nt_258", 360, 23], ["eq_text", 5, 1, 4, 360, 23], - ["jump", "eq_done_251", 360, 23], - "eq_nt_254", + ["jump", "eq_done_255", 360, 23], + "eq_nt_258", ["is_null", 6, 1, 360, 23], - ["jump_false", 6, "eq_nnl_255", 360, 23], + ["jump_false", 6, "eq_nnl_259", 360, 23], ["is_null", 7, 4, 360, 23], - ["jump_false", 7, "eq_nnl_255", 360, 23], + ["jump_false", 7, "eq_nnl_259", 360, 23], ["true", 5, 360, 23], - ["jump", "eq_done_251", 360, 23], - "eq_nnl_255", + ["jump", "eq_done_255", 360, 23], + "eq_nnl_259", ["is_bool", 6, 1, 360, 23], - ["jump_false", 6, "eq_nb_256", 360, 23], + ["jump_false", 6, "eq_nb_260", 360, 23], ["is_bool", 7, 4, 360, 23], - ["jump_false", 7, "eq_nb_256", 360, 23], + ["jump_false", 7, "eq_nb_260", 360, 23], ["eq_bool", 5, 1, 4, 360, 23], - ["jump", "eq_done_251", 360, 23], - "eq_nb_256", + ["jump", "eq_done_255", 360, 23], + "eq_nb_260", ["false", 5, 360, 23], - "eq_done_251", - ["jump_false", 5, "tern_else_249", 360, 23], + "eq_done_255", + ["jump_false", 5, "tern_else_253", 360, 23], ["access", 9, 256, 360, 30], ["move", 8, 9, 360, 30], - ["jump", "tern_end_250", 360, 30], - "tern_else_249", + ["jump", "tern_end_254", 360, 30], + "tern_else_253", ["move", 8, 1, 360, 36], - "tern_end_250", + "tern_end_254", ["move", 3, 8, 360, 36], [ "access", @@ -2495,7 +2495,7 @@ "instructions": [ ["get", 4, 49, 2, 451, 49], ["is_proxy", 5, 4, 451, 49], - ["jump_false", 5, "record_path_271", 451, 49], + ["jump_false", 5, "record_path_275", 451, 49], ["null", 6, 451, 49], ["access", 7, "encode", 451, 49], ["array", 8, 0, 451, 49], @@ -2505,18 +2505,18 @@ ["setarg", 9, 1, 7, 451, 49], ["setarg", 9, 2, 8, 451, 49], ["invoke", 9, 3, 451, 49], - ["jump", "call_done_272", 451, 49], - "record_path_271", + ["jump", "call_done_276", 451, 49], + "record_path_275", ["load_field", 10, 4, "encode", 451, 49], ["frame", 11, 10, 1, 451, 49], ["setarg", 11, 0, 4, 451, 49], ["setarg", 11, 1, 1, 451, 49], ["invoke", 11, 3, 451, 49], - "call_done_272", + "call_done_276", ["get", 13, 1, 1, 451, 37], ["load_field", 14, 13, "peer", 451, 37], ["is_proxy", 15, 14, 451, 37], - ["jump_false", 15, "record_path_273", 451, 37], + ["jump_false", 15, "record_path_277", 451, 37], ["null", 16, 451, 37], ["access", 17, "send", 451, 37], ["array", 18, 0, 451, 37], @@ -2526,14 +2526,14 @@ ["setarg", 19, 1, 17, 451, 37], ["setarg", 19, 2, 18, 451, 37], ["invoke", 19, 12, 451, 37], - ["jump", "call_done_274", 451, 37], - "record_path_273", + ["jump", "call_done_278", 451, 37], + "record_path_277", ["load_field", 20, 14, "send", 451, 37], ["frame", 21, 20, 1, 451, 37], ["setarg", 21, 0, 14, 451, 37], ["setarg", 21, 1, 3, 451, 37], ["invoke", 21, 12, 451, 37], - "call_done_274", + "call_done_278", ["return", 12, 451, 37], ["null", 22, 451, 37], ["return", 22, 451, 37] @@ -2552,50 +2552,50 @@ ["get", 5, 1, 1, 458, 24], ["load_field", 6, 5, "peer", 458, 24], ["is_identical", 7, 4, 6, 458, 24], - ["jump_true", 7, "eq_done_291", 458, 24], + ["jump_true", 7, "eq_done_297", 458, 24], ["is_int", 8, 4, 458, 24], - ["jump_false", 8, "eq_ni_292", 458, 24], + ["jump_false", 8, "eq_ni_298", 458, 24], ["is_int", 9, 6, 458, 24], - ["jump_false", 9, "eq_ni_292", 458, 24], + ["jump_false", 9, "eq_ni_298", 458, 24], ["eq_int", 7, 4, 6, 458, 24], - ["jump", "eq_done_291", 458, 24], - "eq_ni_292", + ["jump", "eq_done_297", 458, 24], + "eq_ni_298", ["is_num", 8, 4, 458, 24], - ["jump_false", 8, "eq_nn_293", 458, 24], + ["jump_false", 8, "eq_nn_299", 458, 24], ["is_num", 9, 6, 458, 24], - ["jump_false", 9, "eq_nn_293", 458, 24], + ["jump_false", 9, "eq_nn_299", 458, 24], ["eq_float", 7, 4, 6, 458, 24], - ["jump", "eq_done_291", 458, 24], - "eq_nn_293", + ["jump", "eq_done_297", 458, 24], + "eq_nn_299", ["is_text", 8, 4, 458, 24], - ["jump_false", 8, "eq_nt_294", 458, 24], + ["jump_false", 8, "eq_nt_300", 458, 24], ["is_text", 9, 6, 458, 24], - ["jump_false", 9, "eq_nt_294", 458, 24], + ["jump_false", 9, "eq_nt_300", 458, 24], ["eq_text", 7, 4, 6, 458, 24], - ["jump", "eq_done_291", 458, 24], - "eq_nt_294", + ["jump", "eq_done_297", 458, 24], + "eq_nt_300", ["is_null", 8, 4, 458, 24], - ["jump_false", 8, "eq_nnl_295", 458, 24], + ["jump_false", 8, "eq_nnl_301", 458, 24], ["is_null", 9, 6, 458, 24], - ["jump_false", 9, "eq_nnl_295", 458, 24], + ["jump_false", 9, "eq_nnl_301", 458, 24], ["true", 7, 458, 24], - ["jump", "eq_done_291", 458, 24], - "eq_nnl_295", + ["jump", "eq_done_297", 458, 24], + "eq_nnl_301", ["is_bool", 8, 4, 458, 24], - ["jump_false", 8, "eq_nb_296", 458, 24], + ["jump_false", 8, "eq_nb_302", 458, 24], ["is_bool", 9, 6, 458, 24], - ["jump_false", 9, "eq_nb_296", 458, 24], + ["jump_false", 9, "eq_nb_302", 458, 24], ["eq_bool", 7, 4, 6, 458, 24], - ["jump", "eq_done_291", 458, 24], - "eq_nb_296", + ["jump", "eq_done_297", 458, 24], + "eq_nb_302", ["false", 7, 458, 24], - "eq_done_291", - ["jump_false", 7, "if_else_289", 458, 24], + "eq_done_297", + ["jump_false", 7, "if_else_295", 458, 24], ["get", 11, 24, 2, 458, 39], ["delete", 10, 11, 1, 458, 45], - ["jump", "if_end_290", 458, 45], - "if_else_289", - "if_end_290", + ["jump", "if_end_296", 458, 45], + "if_else_295", + "if_end_296", ["null", 12, 458, 45], ["return", 12, 458, 45] ], @@ -2605,7 +2605,7 @@ }, { "disruption_pc": 0, - "nr_slots": 165, + "nr_slots": 175, "nr_close_slots": 0, "instructions": [ ["null", 3, 443, 15], @@ -2613,45 +2613,45 @@ ["load_field", 4, 1, "type", 446, 7], ["access", 5, "connect", 446, 17], ["is_identical", 6, 4, 5, 446, 17], - ["jump_true", 6, "eq_done_259", 446, 17], + ["jump_true", 6, "eq_done_263", 446, 17], ["is_int", 7, 4, 446, 17], - ["jump_false", 7, "eq_ni_260", 446, 17], + ["jump_false", 7, "eq_ni_264", 446, 17], "_nop_tc_1", - ["jump", "eq_ni_260", 446, 17], + ["jump", "eq_ni_264", 446, 17], ["eq_int", 6, 4, 5, 446, 17], - ["jump", "eq_done_259", 446, 17], - "eq_ni_260", + ["jump", "eq_done_263", 446, 17], + "eq_ni_264", ["is_num", 7, 4, 446, 17], - ["jump_false", 7, "eq_nn_261", 446, 17], + ["jump_false", 7, "eq_nn_265", 446, 17], ["is_num", 8, 5, 446, 17], - ["jump_false", 8, "eq_nn_261", 446, 17], + ["jump_false", 8, "eq_nn_265", 446, 17], ["eq_float", 6, 4, 5, 446, 17], - ["jump", "eq_done_259", 446, 17], - "eq_nn_261", + ["jump", "eq_done_263", 446, 17], + "eq_nn_265", ["is_text", 7, 4, 446, 17], - ["jump_false", 7, "eq_nt_262", 446, 17], + ["jump_false", 7, "eq_nt_266", 446, 17], ["is_text", 8, 5, 446, 17], - ["jump_false", 8, "eq_nt_262", 446, 17], + ["jump_false", 8, "eq_nt_266", 446, 17], ["eq_text", 6, 4, 5, 446, 17], - ["jump", "eq_done_259", 446, 17], - "eq_nt_262", + ["jump", "eq_done_263", 446, 17], + "eq_nt_266", ["is_null", 7, 4, 446, 17], - ["jump_false", 7, "eq_nnl_263", 446, 17], + ["jump_false", 7, "eq_nnl_267", 446, 17], ["is_null", 8, 5, 446, 17], - ["jump_false", 8, "eq_nnl_263", 446, 17], + ["jump_false", 8, "eq_nnl_267", 446, 17], ["true", 6, 446, 17], - ["jump", "eq_done_259", 446, 17], - "eq_nnl_263", + ["jump", "eq_done_263", 446, 17], + "eq_nnl_267", ["is_bool", 7, 4, 446, 17], - ["jump_false", 7, "eq_nb_264", 446, 17], + ["jump_false", 7, "eq_nb_268", 446, 17], ["is_bool", 8, 5, 446, 17], - ["jump_false", 8, "eq_nb_264", 446, 17], + ["jump_false", 8, "eq_nb_268", 446, 17], ["eq_bool", 6, 4, 5, 446, 17], - ["jump", "eq_done_259", 446, 17], - "eq_nb_264", + ["jump", "eq_done_263", 446, 17], + "eq_nb_268", ["false", 6, 446, 17], - "eq_done_259", - ["jump_false", 6, "if_else_257", 446, 17], + "eq_done_263", + ["jump_false", 6, "if_else_261", 446, 17], ["load_field", 9, 1, "peer", 1, 1], ["load_field", 10, 9, "address", 1, 1], ["load_field", 11, 1, "peer", 1, 1], @@ -2679,7 +2679,7 @@ ["invoke", 17, 16, 1, 1], ["get", 20, 63, 1, 447, 5], ["is_proxy", 21, 20, 447, 5], - ["jump_false", 21, "record_path_265", 447, 5], + ["jump_false", 21, "record_path_269", 447, 5], ["null", 22, 447, 5], ["access", 23, "system", 447, 5], ["array", 24, 0, 447, 5], @@ -2689,14 +2689,14 @@ ["setarg", 25, 1, 23, 447, 5], ["setarg", 25, 2, 24, 447, 5], ["invoke", 25, 19, 447, 5], - ["jump", "call_done_266", 447, 5], - "record_path_265", + ["jump", "call_done_270", 447, 5], + "record_path_269", ["load_field", 26, 20, "system", 447, 5], ["frame", 27, 26, 1, 447, 5], ["setarg", 27, 0, 20, 447, 5], ["setarg", 27, 1, 16, 447, 5], ["invoke", 27, 19, 447, 5], - "call_done_266", + "call_done_270", ["load_field", 28, 1, "peer", 448, 49], ["get", 29, 24, 1, 448, 5], ["load_field", 30, 1, "peer", 1, 1], @@ -2728,7 +2728,7 @@ ["load_field", 40, 1, "peer", 449, 28], ["get", 42, 55, 1, 449, 13], ["is_proxy", 43, 42, 449, 13], - ["jump_false", 43, "record_path_267", 449, 13], + ["jump_false", 43, "record_path_271", 449, 13], ["null", 44, 449, 13], ["access", 45, "get", 449, 13], ["array", 46, 0, 449, 13], @@ -2738,148 +2738,148 @@ ["setarg", 47, 1, 45, 449, 13], ["setarg", 47, 2, 46, 449, 13], ["invoke", 47, 41, 449, 13], - ["jump", "call_done_268", 449, 13], - "record_path_267", + ["jump", "call_done_272", 449, 13], + "record_path_271", ["load_field", 48, 42, "get", 449, 13], ["frame", 49, 48, 1, 449, 13], ["setarg", 49, 0, 42, 449, 13], ["setarg", 49, 1, 40, 449, 13], ["invoke", 49, 41, 449, 13], - "call_done_268", + "call_done_272", ["move", 3, 41, 449, 13], - ["jump_false", 3, "if_else_269", 450, 9], + ["jump_false", 3, "if_else_273", 450, 9], ["function", 50, 19, 451, 21], - [ - "access", - 52, - { - "name": "arrfor", - "kind": "name", - "make": "intrinsic" - }, - 451, - 7 - ], - ["frame", 53, 52, 2, 451, 7], - ["null", 54, 451, 7], - ["setarg", 53, 0, 54, 451, 7], - ["setarg", 53, 1, 3, 451, 7], - ["setarg", 53, 2, 50, 451, 7], - ["invoke", 53, 51, 451, 7], - ["access", 55, "sent queue out of queue", 452, 18], - ["get", 57, 63, 1, 452, 7], - ["is_proxy", 58, 57, 452, 7], - ["jump_false", 58, "record_path_275", 452, 7], - ["null", 59, 452, 7], - ["access", 60, "system", 452, 7], - ["array", 61, 0, 452, 7], - ["push", 61, 55, 452, 7], - ["frame", 62, 57, 2, 452, 7], - ["setarg", 62, 0, 59, 452, 7], - ["setarg", 62, 1, 60, 452, 7], - ["setarg", 62, 2, 61, 452, 7], - ["invoke", 62, 56, 452, 7], - ["jump", "call_done_276", 452, 7], - "record_path_275", - ["load_field", 63, 57, "system", 452, 7], - ["frame", 64, 63, 1, 452, 7], - ["setarg", 64, 0, 57, 452, 7], - ["setarg", 64, 1, 55, 452, 7], - ["invoke", 64, 56, 452, 7], - "call_done_276", - ["load_field", 65, 1, "peer", 453, 25], - ["get", 67, 55, 1, 453, 7], - ["is_proxy", 68, 67, 453, 7], - ["jump_false", 68, "record_path_277", 453, 7], - ["null", 69, 453, 7], - ["access", 70, "delete", 453, 7], - ["array", 71, 0, 453, 7], - ["push", 71, 65, 453, 7], - ["frame", 72, 67, 2, 453, 7], - ["setarg", 72, 0, 69, 453, 7], - ["setarg", 72, 1, 70, 453, 7], - ["setarg", 72, 2, 71, 453, 7], - ["invoke", 72, 66, 453, 7], - ["jump", "call_done_278", 453, 7], - "record_path_277", - ["load_field", 73, 67, "delete", 453, 7], - ["frame", 74, 73, 1, 453, 7], - ["setarg", 74, 0, 67, 453, 7], - ["setarg", 74, 1, 65, 453, 7], - ["invoke", 74, 66, 453, 7], - "call_done_278", - ["jump", "if_end_270", 453, 7], - "if_else_269", - "if_end_270", - ["jump", "if_end_258", 453, 7], - "if_else_257", - ["load_field", 75, 1, "type", 455, 14], - ["access", 76, "disconnect", 455, 24], - ["is_identical", 77, 75, 76, 455, 24], - ["jump_true", 77, "eq_done_281", 455, 24], - ["is_int", 78, 75, 455, 24], - ["jump_false", 78, "eq_ni_282", 455, 24], + ["length", 52, 3, 451, 21], + ["int", 53, 0, 451, 21], + ["int", 57, 1, 451, 21], + ["null", 56, 451, 21], + "arrfor_loop_279", + ["lt_int", 54, 53, 52, 451, 21], + ["jump_false", 54, "arrfor_done_280", 451, 21], + ["load_index", 55, 3, 53, 451, 21], + ["frame", 58, 50, 2, 451, 21], + ["setarg", 58, 0, 56, 451, 21], + ["setarg", 58, 1, 55, 451, 21], + ["setarg", 58, 2, 53, 451, 21], + ["invoke", 58, 59, 451, 21], + ["add_int", 53, 53, 57, 451, 21], + ["jump", "arrfor_loop_279", 451, 21], + "arrfor_done_280", + ["null", 51, 451, 21], + ["access", 60, "sent queue out of queue", 452, 18], + ["get", 62, 63, 1, 452, 7], + ["is_proxy", 63, 62, 452, 7], + ["jump_false", 63, "record_path_281", 452, 7], + ["null", 64, 452, 7], + ["access", 65, "system", 452, 7], + ["array", 66, 0, 452, 7], + ["push", 66, 60, 452, 7], + ["frame", 67, 62, 2, 452, 7], + ["setarg", 67, 0, 64, 452, 7], + ["setarg", 67, 1, 65, 452, 7], + ["setarg", 67, 2, 66, 452, 7], + ["invoke", 67, 61, 452, 7], + ["jump", "call_done_282", 452, 7], + "record_path_281", + ["load_field", 68, 62, "system", 452, 7], + ["frame", 69, 68, 1, 452, 7], + ["setarg", 69, 0, 62, 452, 7], + ["setarg", 69, 1, 60, 452, 7], + ["invoke", 69, 61, 452, 7], + "call_done_282", + ["load_field", 70, 1, "peer", 453, 25], + ["get", 72, 55, 1, 453, 7], + ["is_proxy", 73, 72, 453, 7], + ["jump_false", 73, "record_path_283", 453, 7], + ["null", 74, 453, 7], + ["access", 75, "delete", 453, 7], + ["array", 76, 0, 453, 7], + ["push", 76, 70, 453, 7], + ["frame", 77, 72, 2, 453, 7], + ["setarg", 77, 0, 74, 453, 7], + ["setarg", 77, 1, 75, 453, 7], + ["setarg", 77, 2, 76, 453, 7], + ["invoke", 77, 71, 453, 7], + ["jump", "call_done_284", 453, 7], + "record_path_283", + ["load_field", 78, 72, "delete", 453, 7], + ["frame", 79, 78, 1, 453, 7], + ["setarg", 79, 0, 72, 453, 7], + ["setarg", 79, 1, 70, 453, 7], + ["invoke", 79, 71, 453, 7], + "call_done_284", + ["jump", "if_end_274", 453, 7], + "if_else_273", + "if_end_274", + ["jump", "if_end_262", 453, 7], + "if_else_261", + ["load_field", 80, 1, "type", 455, 14], + ["access", 81, "disconnect", 455, 24], + ["is_identical", 82, 80, 81, 455, 24], + ["jump_true", 82, "eq_done_287", 455, 24], + ["is_int", 83, 80, 455, 24], + ["jump_false", 83, "eq_ni_288", 455, 24], "_nop_tc_2", - ["jump", "eq_ni_282", 455, 24], - ["eq_int", 77, 75, 76, 455, 24], - ["jump", "eq_done_281", 455, 24], - "eq_ni_282", - ["is_num", 78, 75, 455, 24], - ["jump_false", 78, "eq_nn_283", 455, 24], - ["is_num", 79, 76, 455, 24], - ["jump_false", 79, "eq_nn_283", 455, 24], - ["eq_float", 77, 75, 76, 455, 24], - ["jump", "eq_done_281", 455, 24], - "eq_nn_283", - ["is_text", 78, 75, 455, 24], - ["jump_false", 78, "eq_nt_284", 455, 24], - ["is_text", 79, 76, 455, 24], - ["jump_false", 79, "eq_nt_284", 455, 24], - ["eq_text", 77, 75, 76, 455, 24], - ["jump", "eq_done_281", 455, 24], - "eq_nt_284", - ["is_null", 78, 75, 455, 24], - ["jump_false", 78, "eq_nnl_285", 455, 24], - ["is_null", 79, 76, 455, 24], - ["jump_false", 79, "eq_nnl_285", 455, 24], - ["true", 77, 455, 24], - ["jump", "eq_done_281", 455, 24], - "eq_nnl_285", - ["is_bool", 78, 75, 455, 24], - ["jump_false", 78, "eq_nb_286", 455, 24], - ["is_bool", 79, 76, 455, 24], - ["jump_false", 79, "eq_nb_286", 455, 24], - ["eq_bool", 77, 75, 76, 455, 24], - ["jump", "eq_done_281", 455, 24], - "eq_nb_286", - ["false", 77, 455, 24], - "eq_done_281", - ["jump_false", 77, "if_else_279", 455, 24], - ["load_field", 80, 1, "peer", 456, 23], - ["get", 82, 55, 1, 456, 5], - ["is_proxy", 83, 82, 456, 5], - ["jump_false", 83, "record_path_287", 456, 5], - ["null", 84, 456, 5], - ["access", 85, "delete", 456, 5], - ["array", 86, 0, 456, 5], - ["push", 86, 80, 456, 5], - ["frame", 87, 82, 2, 456, 5], - ["setarg", 87, 0, 84, 456, 5], - ["setarg", 87, 1, 85, 456, 5], - ["setarg", 87, 2, 86, 456, 5], - ["invoke", 87, 81, 456, 5], - ["jump", "call_done_288", 456, 5], - "record_path_287", - ["load_field", 88, 82, "delete", 456, 5], - ["frame", 89, 88, 1, 456, 5], - ["setarg", 89, 0, 82, 456, 5], - ["setarg", 89, 1, 80, 456, 5], - ["invoke", 89, 81, 456, 5], - "call_done_288", - ["get", 90, 24, 1, 457, 18], + ["jump", "eq_ni_288", 455, 24], + ["eq_int", 82, 80, 81, 455, 24], + ["jump", "eq_done_287", 455, 24], + "eq_ni_288", + ["is_num", 83, 80, 455, 24], + ["jump_false", 83, "eq_nn_289", 455, 24], + ["is_num", 84, 81, 455, 24], + ["jump_false", 84, "eq_nn_289", 455, 24], + ["eq_float", 82, 80, 81, 455, 24], + ["jump", "eq_done_287", 455, 24], + "eq_nn_289", + ["is_text", 83, 80, 455, 24], + ["jump_false", 83, "eq_nt_290", 455, 24], + ["is_text", 84, 81, 455, 24], + ["jump_false", 84, "eq_nt_290", 455, 24], + ["eq_text", 82, 80, 81, 455, 24], + ["jump", "eq_done_287", 455, 24], + "eq_nt_290", + ["is_null", 83, 80, 455, 24], + ["jump_false", 83, "eq_nnl_291", 455, 24], + ["is_null", 84, 81, 455, 24], + ["jump_false", 84, "eq_nnl_291", 455, 24], + ["true", 82, 455, 24], + ["jump", "eq_done_287", 455, 24], + "eq_nnl_291", + ["is_bool", 83, 80, 455, 24], + ["jump_false", 83, "eq_nb_292", 455, 24], + ["is_bool", 84, 81, 455, 24], + ["jump_false", 84, "eq_nb_292", 455, 24], + ["eq_bool", 82, 80, 81, 455, 24], + ["jump", "eq_done_287", 455, 24], + "eq_nb_292", + ["false", 82, 455, 24], + "eq_done_287", + ["jump_false", 82, "if_else_285", 455, 24], + ["load_field", 85, 1, "peer", 456, 23], + ["get", 87, 55, 1, 456, 5], + ["is_proxy", 88, 87, 456, 5], + ["jump_false", 88, "record_path_293", 456, 5], + ["null", 89, 456, 5], + ["access", 90, "delete", 456, 5], + ["array", 91, 0, 456, 5], + ["push", 91, 85, 456, 5], + ["frame", 92, 87, 2, 456, 5], + ["setarg", 92, 0, 89, 456, 5], + ["setarg", 92, 1, 90, 456, 5], + ["setarg", 92, 2, 91, 456, 5], + ["invoke", 92, 86, 456, 5], + ["jump", "call_done_294", 456, 5], + "record_path_293", + ["load_field", 93, 87, "delete", 456, 5], + ["frame", 94, 93, 1, 456, 5], + ["setarg", 94, 0, 87, 456, 5], + ["setarg", 94, 1, 85, 456, 5], + ["invoke", 94, 86, 456, 5], + "call_done_294", + ["get", 95, 24, 1, 457, 18], [ "access", - 92, + 97, { "name": "array", "kind": "name", @@ -2888,236 +2888,236 @@ 457, 12 ], - ["frame", 93, 92, 1, 457, 12], - ["null", 94, 457, 12], - ["setarg", 93, 0, 94, 457, 12], - ["setarg", 93, 1, 90, 457, 12], - ["invoke", 93, 91, 457, 12], - ["function", 95, 20, 457, 26], - [ - "access", - 97, - { - "name": "arrfor", - "kind": "name", - "make": "intrinsic" - }, - 457, - 5 - ], - ["frame", 98, 97, 2, 457, 5], - ["null", 99, 457, 5], - ["setarg", 98, 0, 99, 457, 5], - ["setarg", 98, 1, 91, 457, 5], - ["setarg", 98, 2, 95, 457, 5], - ["invoke", 98, 96, 457, 5], - ["access", 100, "portal got disconnect from ", 460, 16], - ["load_field", 101, 1, "peer", 460, 48], - ["load_field", 102, 101, "address", 460, 48], + ["frame", 98, 97, 1, 457, 12], + ["null", 99, 457, 12], + ["setarg", 98, 0, 99, 457, 12], + ["setarg", 98, 1, 95, 457, 12], + ["invoke", 98, 96, 457, 12], + ["function", 100, 20, 457, 26], + ["length", 102, 96, 457, 26], + ["int", 103, 0, 457, 26], + ["int", 107, 1, 457, 26], + ["null", 106, 457, 26], + "arrfor_loop_303", + ["lt_int", 104, 103, 102, 457, 26], + ["jump_false", 104, "arrfor_done_304", 457, 26], + ["load_index", 105, 96, 103, 457, 26], + ["frame", 108, 100, 2, 457, 26], + ["setarg", 108, 0, 106, 457, 26], + ["setarg", 108, 1, 105, 457, 26], + ["setarg", 108, 2, 103, 457, 26], + ["invoke", 108, 109, 457, 26], + ["add_int", 103, 103, 107, 457, 26], + ["jump", "arrfor_loop_303", 457, 26], + "arrfor_done_304", + ["null", 101, 457, 26], + ["access", 110, "portal got disconnect from ", 460, 16], + ["load_field", 111, 1, "peer", 460, 48], + ["load_field", 112, 111, "address", 460, 48], "_nop_tc_3", - ["jump", "add_ni_297", 460, 48], - ["is_int", 105, 102, 460, 48], - ["jump_false", 105, "add_ni_297", 460, 48], - ["add_int", 103, 100, 102, 460, 48], - ["jump", "add_done_299", 460, 48], - "add_ni_297", - ["is_text", 105, 102, 460, 48], - ["jump_false", 105, "add_nt_298", 460, 48], - ["concat", 103, 100, 102, 460, 48], - ["jump", "add_done_299", 460, 48], - "add_nt_298", - ["is_num", 104, 100, 460, 48], - ["jump_false", 104, "add_err_300", 460, 48], - ["is_num", 105, 102, 460, 48], - ["jump_false", 105, "add_err_300", 460, 48], - ["add_float", 103, 100, 102, 460, 48], - ["jump", "add_done_299", 460, 48], - "add_err_300", - ["disrupt", 460, 48], - "add_done_299", - ["access", 106, ":", 460, 65], - ["is_int", 108, 103, 460, 65], - ["jump_false", 108, "add_ni_301", 460, 65], - "_nop_tc_4", - ["jump", "add_ni_301", 460, 65], - ["add_int", 107, 103, 106, 460, 65], - ["jump", "add_done_303", 460, 65], - "add_ni_301", - ["is_text", 108, 103, 460, 65], - ["jump_false", 108, "add_nt_302", 460, 65], - ["concat", 107, 103, 106, 460, 65], - ["jump", "add_done_303", 460, 65], - "add_nt_302", - ["is_num", 108, 103, 460, 65], - ["jump_false", 108, "add_err_304", 460, 65], - ["is_num", 109, 106, 460, 65], - ["jump_false", 109, "add_err_304", 460, 65], - ["add_float", 107, 103, 106, 460, 65], - ["jump", "add_done_303", 460, 65], - "add_err_304", - ["disrupt", 460, 65], - "add_done_303", - ["load_field", 110, 1, "peer", 460, 71], - ["load_field", 111, 110, "port", 460, 71], - ["is_int", 113, 107, 460, 71], - ["jump_false", 113, "add_ni_305", 460, 71], - ["is_int", 114, 111, 460, 71], - ["jump_false", 114, "add_ni_305", 460, 71], - ["add_int", 112, 107, 111, 460, 71], - ["jump", "add_done_307", 460, 71], + ["jump", "add_ni_305", 460, 48], + ["is_int", 115, 112, 460, 48], + ["jump_false", 115, "add_ni_305", 460, 48], + ["add_int", 113, 110, 112, 460, 48], + ["jump", "add_done_307", 460, 48], "add_ni_305", - ["is_text", 113, 107, 460, 71], - ["jump_false", 113, "add_nt_306", 460, 71], - ["is_text", 114, 111, 460, 71], - ["jump_false", 114, "add_nt_306", 460, 71], - ["concat", 112, 107, 111, 460, 71], - ["jump", "add_done_307", 460, 71], + ["is_text", 115, 112, 460, 48], + ["jump_false", 115, "add_nt_306", 460, 48], + ["concat", 113, 110, 112, 460, 48], + ["jump", "add_done_307", 460, 48], "add_nt_306", - ["is_num", 113, 107, 460, 71], - ["jump_false", 113, "add_err_308", 460, 71], - ["is_num", 114, 111, 460, 71], - ["jump_false", 114, "add_err_308", 460, 71], - ["add_float", 112, 107, 111, 460, 71], - ["jump", "add_done_307", 460, 71], + ["is_num", 114, 110, 460, 48], + ["jump_false", 114, "add_err_308", 460, 48], + ["is_num", 115, 112, 460, 48], + ["jump_false", 115, "add_err_308", 460, 48], + ["add_float", 113, 110, 112, 460, 48], + ["jump", "add_done_307", 460, 48], "add_err_308", - ["disrupt", 460, 71], + ["disrupt", 460, 48], "add_done_307", - ["get", 116, 63, 1, 460, 5], - ["is_proxy", 117, 116, 460, 5], - ["jump_false", 117, "record_path_309", 460, 5], - ["null", 118, 460, 5], - ["access", 119, "system", 460, 5], - ["array", 120, 0, 460, 5], - ["push", 120, 112, 460, 5], - ["frame", 121, 116, 2, 460, 5], - ["setarg", 121, 0, 118, 460, 5], - ["setarg", 121, 1, 119, 460, 5], - ["setarg", 121, 2, 120, 460, 5], - ["invoke", 121, 115, 460, 5], - ["jump", "call_done_310", 460, 5], - "record_path_309", - ["load_field", 122, 116, "system", 460, 5], - ["frame", 123, 122, 1, 460, 5], - ["setarg", 123, 0, 116, 460, 5], - ["setarg", 123, 1, 112, 460, 5], - ["invoke", 123, 115, 460, 5], - "call_done_310", - ["jump", "if_end_280", 460, 5], - "if_else_279", - ["load_field", 124, 1, "type", 461, 14], - ["access", 125, "receive", 461, 24], - ["is_identical", 126, 124, 125, 461, 24], - ["jump_true", 126, "eq_done_313", 461, 24], - ["is_int", 127, 124, 461, 24], - ["jump_false", 127, "eq_ni_314", 461, 24], + ["access", 116, ":", 460, 65], + ["is_int", 118, 113, 460, 65], + ["jump_false", 118, "add_ni_309", 460, 65], + "_nop_tc_4", + ["jump", "add_ni_309", 460, 65], + ["add_int", 117, 113, 116, 460, 65], + ["jump", "add_done_311", 460, 65], + "add_ni_309", + ["is_text", 118, 113, 460, 65], + ["jump_false", 118, "add_nt_310", 460, 65], + ["concat", 117, 113, 116, 460, 65], + ["jump", "add_done_311", 460, 65], + "add_nt_310", + ["is_num", 118, 113, 460, 65], + ["jump_false", 118, "add_err_312", 460, 65], + ["is_num", 119, 116, 460, 65], + ["jump_false", 119, "add_err_312", 460, 65], + ["add_float", 117, 113, 116, 460, 65], + ["jump", "add_done_311", 460, 65], + "add_err_312", + ["disrupt", 460, 65], + "add_done_311", + ["load_field", 120, 1, "peer", 460, 71], + ["load_field", 121, 120, "port", 460, 71], + ["is_int", 123, 117, 460, 71], + ["jump_false", 123, "add_ni_313", 460, 71], + ["is_int", 124, 121, 460, 71], + ["jump_false", 124, "add_ni_313", 460, 71], + ["add_int", 122, 117, 121, 460, 71], + ["jump", "add_done_315", 460, 71], + "add_ni_313", + ["is_text", 123, 117, 460, 71], + ["jump_false", 123, "add_nt_314", 460, 71], + ["is_text", 124, 121, 460, 71], + ["jump_false", 124, "add_nt_314", 460, 71], + ["concat", 122, 117, 121, 460, 71], + ["jump", "add_done_315", 460, 71], + "add_nt_314", + ["is_num", 123, 117, 460, 71], + ["jump_false", 123, "add_err_316", 460, 71], + ["is_num", 124, 121, 460, 71], + ["jump_false", 124, "add_err_316", 460, 71], + ["add_float", 122, 117, 121, 460, 71], + ["jump", "add_done_315", 460, 71], + "add_err_316", + ["disrupt", 460, 71], + "add_done_315", + ["get", 126, 63, 1, 460, 5], + ["is_proxy", 127, 126, 460, 5], + ["jump_false", 127, "record_path_317", 460, 5], + ["null", 128, 460, 5], + ["access", 129, "system", 460, 5], + ["array", 130, 0, 460, 5], + ["push", 130, 122, 460, 5], + ["frame", 131, 126, 2, 460, 5], + ["setarg", 131, 0, 128, 460, 5], + ["setarg", 131, 1, 129, 460, 5], + ["setarg", 131, 2, 130, 460, 5], + ["invoke", 131, 125, 460, 5], + ["jump", "call_done_318", 460, 5], + "record_path_317", + ["load_field", 132, 126, "system", 460, 5], + ["frame", 133, 132, 1, 460, 5], + ["setarg", 133, 0, 126, 460, 5], + ["setarg", 133, 1, 122, 460, 5], + ["invoke", 133, 125, 460, 5], + "call_done_318", + ["jump", "if_end_286", 460, 5], + "if_else_285", + ["load_field", 134, 1, "type", 461, 14], + ["access", 135, "receive", 461, 24], + ["is_identical", 136, 134, 135, 461, 24], + ["jump_true", 136, "eq_done_321", 461, 24], + ["is_int", 137, 134, 461, 24], + ["jump_false", 137, "eq_ni_322", 461, 24], "_nop_tc_5", - ["jump", "eq_ni_314", 461, 24], - ["eq_int", 126, 124, 125, 461, 24], - ["jump", "eq_done_313", 461, 24], - "eq_ni_314", - ["is_num", 127, 124, 461, 24], - ["jump_false", 127, "eq_nn_315", 461, 24], - ["is_num", 128, 125, 461, 24], - ["jump_false", 128, "eq_nn_315", 461, 24], - ["eq_float", 126, 124, 125, 461, 24], - ["jump", "eq_done_313", 461, 24], - "eq_nn_315", - ["is_text", 127, 124, 461, 24], - ["jump_false", 127, "eq_nt_316", 461, 24], - ["is_text", 128, 125, 461, 24], - ["jump_false", 128, "eq_nt_316", 461, 24], - ["eq_text", 126, 124, 125, 461, 24], - ["jump", "eq_done_313", 461, 24], - "eq_nt_316", - ["is_null", 127, 124, 461, 24], - ["jump_false", 127, "eq_nnl_317", 461, 24], - ["is_null", 128, 125, 461, 24], - ["jump_false", 128, "eq_nnl_317", 461, 24], - ["true", 126, 461, 24], - ["jump", "eq_done_313", 461, 24], - "eq_nnl_317", - ["is_bool", 127, 124, 461, 24], - ["jump_false", 127, "eq_nb_318", 461, 24], - ["is_bool", 128, 125, 461, 24], - ["jump_false", 128, "eq_nb_318", 461, 24], - ["eq_bool", 126, 124, 125, 461, 24], - ["jump", "eq_done_313", 461, 24], - "eq_nb_318", - ["false", 126, 461, 24], - "eq_done_313", - ["jump_false", 126, "if_else_311", 461, 24], - ["load_field", 129, 1, "data", 462, 24], - ["get", 131, 49, 1, 462, 12], - ["is_proxy", 132, 131, 462, 12], - ["jump_false", 132, "record_path_319", 462, 12], - ["null", 133, 462, 12], - ["access", 134, "decode", 462, 12], - ["array", 135, 0, 462, 12], - ["push", 135, 129, 462, 12], - ["frame", 136, 131, 2, 462, 12], - ["setarg", 136, 0, 133, 462, 12], - ["setarg", 136, 1, 134, 462, 12], - ["setarg", 136, 2, 135, 462, 12], - ["invoke", 136, 130, 462, 12], - ["jump", "call_done_320", 462, 12], - "record_path_319", - ["load_field", 137, 131, "decode", 462, 12], - ["frame", 138, 137, 1, 462, 12], - ["setarg", 138, 0, 131, 462, 12], - ["setarg", 138, 1, 129, 462, 12], - ["invoke", 138, 130, 462, 12], - "call_done_320", - ["move", 2, 130, 462, 12], - ["load_field", 139, 2, "replycc", 463, 9], - ["move", 140, 139, 463, 9], - ["jump_false", 140, "and_end_323", 463, 9], - ["load_field", 141, 2, "replycc", 463, 26], - ["load_field", 142, 141, "address", 463, 26], - ["not", 143, 142, 463, 26], - ["move", 140, 143, 463, 26], - "and_end_323", - ["jump_false", 140, "if_else_321", 463, 26], - ["load_field", 144, 1, "peer", 464, 41], - ["load_field", 145, 144, "address", 464, 41], - ["load_field", 146, 2, "replycc", 464, 7], - ["get", 147, 27, 1, 464, 20], - ["load_dynamic", 148, 146, 147, 464, 20], - ["store_field", 148, 145, "address", 464, 20], - ["load_field", 149, 1, "peer", 465, 38], - ["load_field", 150, 149, "port", 465, 38], - ["load_field", 151, 2, "replycc", 465, 7], - ["get", 152, 27, 1, 465, 20], - ["load_dynamic", 153, 151, 152, 465, 20], - ["store_field", 153, 150, "port", 465, 20], - ["jump", "if_end_322", 465, 20], - "if_else_321", - "if_end_322", - ["load_field", 154, 2, "data", 467, 9], - ["jump_false", 154, "if_else_324", 467, 9], - ["load_field", 155, 2, "data", 467, 45], - ["get", 157, 61, 1, 467, 20], - ["frame", 158, 157, 2, 467, 20], - ["null", 159, 467, 20], - ["setarg", 158, 0, 159, 467, 20], - ["setarg", 158, 1, 155, 467, 20], - ["setarg", 158, 2, 1, 467, 20], - ["invoke", 158, 156, 467, 20], - ["jump", "if_end_325", 467, 20], - "if_else_324", - "if_end_325", - ["get", 161, 8, 1, 468, 5], - ["frame", 162, 161, 1, 468, 5], - ["null", 163, 468, 5], - ["setarg", 162, 0, 163, 468, 5], - ["setarg", 162, 1, 2, 468, 5], - ["invoke", 162, 160, 468, 5], - ["jump", "if_end_312", 468, 5], - "if_else_311", - "if_end_312", - "if_end_280", - "if_end_258", - ["null", 164, 468, 5], - ["return", 164, 468, 5] + ["jump", "eq_ni_322", 461, 24], + ["eq_int", 136, 134, 135, 461, 24], + ["jump", "eq_done_321", 461, 24], + "eq_ni_322", + ["is_num", 137, 134, 461, 24], + ["jump_false", 137, "eq_nn_323", 461, 24], + ["is_num", 138, 135, 461, 24], + ["jump_false", 138, "eq_nn_323", 461, 24], + ["eq_float", 136, 134, 135, 461, 24], + ["jump", "eq_done_321", 461, 24], + "eq_nn_323", + ["is_text", 137, 134, 461, 24], + ["jump_false", 137, "eq_nt_324", 461, 24], + ["is_text", 138, 135, 461, 24], + ["jump_false", 138, "eq_nt_324", 461, 24], + ["eq_text", 136, 134, 135, 461, 24], + ["jump", "eq_done_321", 461, 24], + "eq_nt_324", + ["is_null", 137, 134, 461, 24], + ["jump_false", 137, "eq_nnl_325", 461, 24], + ["is_null", 138, 135, 461, 24], + ["jump_false", 138, "eq_nnl_325", 461, 24], + ["true", 136, 461, 24], + ["jump", "eq_done_321", 461, 24], + "eq_nnl_325", + ["is_bool", 137, 134, 461, 24], + ["jump_false", 137, "eq_nb_326", 461, 24], + ["is_bool", 138, 135, 461, 24], + ["jump_false", 138, "eq_nb_326", 461, 24], + ["eq_bool", 136, 134, 135, 461, 24], + ["jump", "eq_done_321", 461, 24], + "eq_nb_326", + ["false", 136, 461, 24], + "eq_done_321", + ["jump_false", 136, "if_else_319", 461, 24], + ["load_field", 139, 1, "data", 462, 24], + ["get", 141, 49, 1, 462, 12], + ["is_proxy", 142, 141, 462, 12], + ["jump_false", 142, "record_path_327", 462, 12], + ["null", 143, 462, 12], + ["access", 144, "decode", 462, 12], + ["array", 145, 0, 462, 12], + ["push", 145, 139, 462, 12], + ["frame", 146, 141, 2, 462, 12], + ["setarg", 146, 0, 143, 462, 12], + ["setarg", 146, 1, 144, 462, 12], + ["setarg", 146, 2, 145, 462, 12], + ["invoke", 146, 140, 462, 12], + ["jump", "call_done_328", 462, 12], + "record_path_327", + ["load_field", 147, 141, "decode", 462, 12], + ["frame", 148, 147, 1, 462, 12], + ["setarg", 148, 0, 141, 462, 12], + ["setarg", 148, 1, 139, 462, 12], + ["invoke", 148, 140, 462, 12], + "call_done_328", + ["move", 2, 140, 462, 12], + ["load_field", 149, 2, "replycc", 463, 9], + ["move", 150, 149, 463, 9], + ["jump_false", 150, "and_end_331", 463, 9], + ["load_field", 151, 2, "replycc", 463, 26], + ["load_field", 152, 151, "address", 463, 26], + ["not", 153, 152, 463, 26], + ["move", 150, 153, 463, 26], + "and_end_331", + ["jump_false", 150, "if_else_329", 463, 26], + ["load_field", 154, 1, "peer", 464, 41], + ["load_field", 155, 154, "address", 464, 41], + ["load_field", 156, 2, "replycc", 464, 7], + ["get", 157, 27, 1, 464, 20], + ["load_dynamic", 158, 156, 157, 464, 20], + ["store_field", 158, 155, "address", 464, 20], + ["load_field", 159, 1, "peer", 465, 38], + ["load_field", 160, 159, "port", 465, 38], + ["load_field", 161, 2, "replycc", 465, 7], + ["get", 162, 27, 1, 465, 20], + ["load_dynamic", 163, 161, 162, 465, 20], + ["store_field", 163, 160, "port", 465, 20], + ["jump", "if_end_330", 465, 20], + "if_else_329", + "if_end_330", + ["load_field", 164, 2, "data", 467, 9], + ["jump_false", 164, "if_else_332", 467, 9], + ["load_field", 165, 2, "data", 467, 45], + ["get", 167, 61, 1, 467, 20], + ["frame", 168, 167, 2, 467, 20], + ["null", 169, 467, 20], + ["setarg", 168, 0, 169, 467, 20], + ["setarg", 168, 1, 165, 467, 20], + ["setarg", 168, 2, 1, 467, 20], + ["invoke", 168, 166, 467, 20], + ["jump", "if_end_333", 467, 20], + "if_else_332", + "if_end_333", + ["get", 171, 8, 1, 468, 5], + ["frame", 172, 171, 1, 468, 5], + ["null", 173, 468, 5], + ["setarg", 172, 0, 173, 468, 5], + ["setarg", 172, 1, 2, 468, 5], + ["invoke", 172, 170, 468, 5], + ["jump", "if_end_320", 468, 5], + "if_else_319", + "if_end_320", + "if_end_286", + "if_end_262", + ["null", 174, 468, 5], + ["return", 174, 468, 5] ], "name": "handle_host", "filename": "internal/engine.cm", @@ -3130,7 +3130,7 @@ "instructions": [ ["get", 3, 1, 1, 479, 16], ["in", 4, 1, 3, 479, 16], - ["jump_false", 4, "if_else_331", 479, 16], + ["jump_false", 4, "if_else_339", 479, 16], ["get", 5, 1, 1, 480, 32], ["load_dynamic", 6, 5, 1, 480, 36], ["get", 7, 2, 1, 480, 42], @@ -3141,9 +3141,9 @@ ["setarg", 10, 1, 6, 480, 7], ["setarg", 10, 2, 7, 480, 7], ["invoke", 10, 8, 480, 7], - ["jump", "if_end_332", 480, 7], - "if_else_331", - "if_end_332", + ["jump", "if_end_340", 480, 7], + "if_else_339", + "if_end_340", ["null", 12, 480, 7], ["return", 12, 480, 7] ], @@ -3153,28 +3153,28 @@ }, { "disruption_pc": 0, - "nr_slots": 31, + "nr_slots": 36, "nr_close_slots": 0, "instructions": [ ["is_record", 3, 1, 473, 18], "_nop_bl_1", - ["jump_true", 3, "if_else_326", 473, 18], + ["jump_true", 3, "if_else_334", 473, 18], ["null", 5, 473, 24], ["return", 5, 473, 24], - ["jump", "if_end_327", 473, 24], - "if_else_326", - "if_end_327", + ["jump", "if_end_335", 473, 24], + "if_else_334", + "if_end_335", ["get", 6, 27, 1, 474, 11], ["load_dynamic", 7, 1, 6, 474, 11], ["move", 8, 7, 474, 11], - ["jump_false", 8, "and_end_330", 474, 11], + ["jump_false", 8, "and_end_338", 474, 11], ["get", 9, 27, 1, 474, 30], ["load_dynamic", 10, 1, 9, 474, 30], ["load_field", 11, 10, "address", 474, 30], ["not", 12, 11, 474, 30], ["move", 8, 12, 474, 30], - "and_end_330", - ["jump_false", 8, "if_else_328", 474, 30], + "and_end_338", + ["jump_false", 8, "if_else_336", 474, 30], ["load_field", 13, 2, "peer", 475, 30], ["load_field", 14, 13, "address", 475, 30], ["get", 15, 27, 1, 475, 9], @@ -3185,9 +3185,9 @@ ["get", 19, 27, 1, 476, 9], ["load_dynamic", 20, 1, 19, 476, 9], ["store_field", 20, 18, "port", 476, 9], - ["jump", "if_end_329", 476, 9], - "if_else_328", - "if_end_329", + ["jump", "if_end_337", 476, 9], + "if_else_336", + "if_end_337", [ "access", 22, @@ -3205,25 +3205,25 @@ ["setarg", 23, 1, 1, 478, 10], ["invoke", 23, 21, 478, 10], ["function", 25, 22, 478, 22], - [ - "access", - 27, - { - "name": "arrfor", - "kind": "name", - "make": "intrinsic" - }, - 478, - 3 - ], - ["frame", 28, 27, 2, 478, 3], - ["null", 29, 478, 3], - ["setarg", 28, 0, 29, 478, 3], - ["setarg", 28, 1, 21, 478, 3], - ["setarg", 28, 2, 25, 478, 3], - ["invoke", 28, 26, 478, 3], - ["null", 30, 478, 3], - ["return", 30, 478, 3] + ["length", 27, 21, 478, 22], + ["int", 28, 0, 478, 22], + ["int", 32, 1, 478, 22], + ["null", 31, 478, 22], + "arrfor_loop_341", + ["lt_int", 29, 28, 27, 478, 22], + ["jump_false", 29, "arrfor_done_342", 478, 22], + ["load_index", 30, 21, 28, 478, 22], + ["frame", 33, 25, 2, 478, 22], + ["setarg", 33, 0, 31, 478, 22], + ["setarg", 33, 1, 30, 478, 22], + ["setarg", 33, 2, 28, 478, 22], + ["invoke", 33, 34, 478, 22], + ["add_int", 28, 28, 32, 478, 22], + ["jump", "arrfor_loop_341", 478, 22], + "arrfor_done_342", + ["null", 26, 478, 22], + ["null", 35, 478, 22], + ["return", 35, 478, 22] ], "name": "populate_actor_addresses", "filename": "internal/engine.cm", @@ -3239,12 +3239,12 @@ ["store_field", 4, 1, "actor", 554, 24], ["store_field", 4, 2, "send", 554, 30], ["is_array", 5, 3, 554, 30], - ["jump_false", 5, "push_err_333", 554, 30], + ["jump_false", 5, "push_err_343", 554, 30], ["push", 3, 4, 554, 30], - ["jump", "push_done_334", 554, 30], - "push_err_333", + ["jump", "push_done_344", 554, 30], + "push_err_343", ["disrupt", 554, 30], - "push_done_334", + "push_done_344", ["null", 6, 554, 30], ["return", 6, 554, 30] ], @@ -3281,19 +3281,19 @@ ["get", 5, 41, 1, 566, 13], ["load_dynamic", 6, 1, 5, 566, 13], ["move", 7, 6, 566, 13], - ["jump_false", 7, "and_end_337", 566, 13], + ["jump_false", 7, "and_end_347", 566, 13], ["get", 8, 41, 1, 566, 31], ["load_dynamic", 9, 1, 8, 566, 31], ["load_field", 10, 9, "replycc", 566, 31], ["not", 11, 10, 566, 31], ["move", 7, 11, 566, 31], - "and_end_337", - ["jump_false", 7, "if_else_335", 566, 31], + "and_end_347", + ["jump_false", 7, "if_else_345", 566, 31], ["null", 12, 567, 5], ["return", 12, 567, 5], - ["jump", "if_end_336", 567, 5], - "if_else_335", - "if_end_336", + ["jump", "if_end_346", 567, 5], + "if_else_345", + "if_end_346", ["get", 14, 5, 1, 569, 8], ["frame", 15, 14, 1, 569, 8], ["null", 16, 569, 8], @@ -3302,7 +3302,7 @@ ["invoke", 15, 13, 569, 8], ["not", 17, 13, 569, 8], ["move", 18, 17, 569, 8], - ["jump_false", 18, "and_end_340", 569, 8], + ["jump_false", 18, "and_end_350", 569, 8], ["load_field", 19, 1, "replycc", 569, 37], ["get", 21, 5, 1, 569, 28], ["frame", 22, 21, 1, 569, 28], @@ -3312,8 +3312,8 @@ ["invoke", 22, 20, 569, 28], ["not", 24, 20, 569, 28], ["move", 18, 24, 569, 28], - "and_end_340", - ["jump_false", 18, "if_else_338", 569, 28], + "and_end_350", + ["jump_false", 18, "if_else_348", 569, 28], ["array", 25, 0, 1, 1], ["push", 25, 1, 1, 1], [ @@ -3336,7 +3336,7 @@ ["invoke", 29, 28, 1, 1], ["get", 32, 63, 1, 570, 5], ["is_proxy", 33, 32, 570, 5], - ["jump_false", 33, "record_path_341", 570, 5], + ["jump_false", 33, "record_path_351", 570, 5], ["null", 34, 570, 5], ["access", 35, "error", 570, 5], ["array", 36, 0, 570, 5], @@ -3346,25 +3346,25 @@ ["setarg", 37, 1, 35, 570, 5], ["setarg", 37, 2, 36, 570, 5], ["invoke", 37, 31, 570, 5], - ["jump", "call_done_342", 570, 5], - "record_path_341", + ["jump", "call_done_352", 570, 5], + "record_path_351", ["load_field", 38, 32, "error", 570, 5], ["frame", 39, 38, 1, 570, 5], ["setarg", 39, 0, 32, 570, 5], ["setarg", 39, 1, 28, 570, 5], ["invoke", 39, 31, 570, 5], - "call_done_342", + "call_done_352", ["disrupt", 571, 5], - ["jump", "if_end_339", 571, 5], - "if_else_338", - "if_end_339", + ["jump", "if_end_349", 571, 5], + "if_else_348", + "if_end_349", ["is_record", 40, 2, 574, 18], "_nop_bl_1", - ["jump_true", 40, "if_else_343", 574, 18], + ["jump_true", 40, "if_else_353", 574, 18], ["access", 42, "Must send an object record.", 575, 15], ["get", 44, 63, 1, 575, 5], ["is_proxy", 45, 44, 575, 5], - ["jump_false", 45, "record_path_345", 575, 5], + ["jump_false", 45, "record_path_355", 575, 5], ["null", 46, 575, 5], ["access", 47, "error", 575, 5], ["array", 48, 0, 575, 5], @@ -3374,65 +3374,65 @@ ["setarg", 49, 1, 47, 575, 5], ["setarg", 49, 2, 48, 575, 5], ["invoke", 49, 43, 575, 5], - ["jump", "call_done_346", 575, 5], - "record_path_345", + ["jump", "call_done_356", 575, 5], + "record_path_355", ["load_field", 50, 44, "error", 575, 5], ["frame", 51, 50, 1, 575, 5], ["setarg", 51, 0, 44, 575, 5], ["setarg", 51, 1, 42, 575, 5], ["invoke", 51, 43, 575, 5], - "call_done_346", + "call_done_356", ["disrupt", 576, 5], - ["jump", "if_end_344", 576, 5], - "if_else_343", - "if_end_344", + ["jump", "if_end_354", 576, 5], + "if_else_353", + "if_end_354", ["get", 52, 27, 1, 580, 13], ["load_dynamic", 53, 1, 52, 580, 13], ["load_field", 54, 53, "id", 580, 13], ["get", 55, 11, 1, 580, 30], ["load_field", 56, 55, "id", 580, 30], ["is_identical", 57, 54, 56, 580, 30], - ["jump_true", 57, "eq_done_349", 580, 30], + ["jump_true", 57, "eq_done_359", 580, 30], ["is_int", 58, 54, 580, 30], - ["jump_false", 58, "eq_ni_350", 580, 30], + ["jump_false", 58, "eq_ni_360", 580, 30], ["is_int", 59, 56, 580, 30], - ["jump_false", 59, "eq_ni_350", 580, 30], + ["jump_false", 59, "eq_ni_360", 580, 30], ["eq_int", 57, 54, 56, 580, 30], - ["jump", "eq_done_349", 580, 30], - "eq_ni_350", + ["jump", "eq_done_359", 580, 30], + "eq_ni_360", ["is_num", 58, 54, 580, 30], - ["jump_false", 58, "eq_nn_351", 580, 30], + ["jump_false", 58, "eq_nn_361", 580, 30], ["is_num", 59, 56, 580, 30], - ["jump_false", 59, "eq_nn_351", 580, 30], + ["jump_false", 59, "eq_nn_361", 580, 30], ["eq_float", 57, 54, 56, 580, 30], - ["jump", "eq_done_349", 580, 30], - "eq_nn_351", + ["jump", "eq_done_359", 580, 30], + "eq_nn_361", ["is_text", 58, 54, 580, 30], - ["jump_false", 58, "eq_nt_352", 580, 30], + ["jump_false", 58, "eq_nt_362", 580, 30], ["is_text", 59, 56, 580, 30], - ["jump_false", 59, "eq_nt_352", 580, 30], + ["jump_false", 59, "eq_nt_362", 580, 30], ["eq_text", 57, 54, 56, 580, 30], - ["jump", "eq_done_349", 580, 30], - "eq_nt_352", + ["jump", "eq_done_359", 580, 30], + "eq_nt_362", ["is_null", 58, 54, 580, 30], - ["jump_false", 58, "eq_nnl_353", 580, 30], + ["jump_false", 58, "eq_nnl_363", 580, 30], ["is_null", 59, 56, 580, 30], - ["jump_false", 59, "eq_nnl_353", 580, 30], + ["jump_false", 59, "eq_nnl_363", 580, 30], ["true", 57, 580, 30], - ["jump", "eq_done_349", 580, 30], - "eq_nnl_353", + ["jump", "eq_done_359", 580, 30], + "eq_nnl_363", ["is_bool", 58, 54, 580, 30], - ["jump_false", 58, "eq_nb_354", 580, 30], + ["jump_false", 58, "eq_nb_364", 580, 30], ["is_bool", 59, 56, 580, 30], - ["jump_false", 59, "eq_nb_354", 580, 30], + ["jump_false", 59, "eq_nb_364", 580, 30], ["eq_bool", 57, 54, 56, 580, 30], - ["jump", "eq_done_349", 580, 30], - "eq_nb_354", + ["jump", "eq_done_359", 580, 30], + "eq_nb_364", ["false", 57, 580, 30], - "eq_done_349", - ["jump_false", 57, "if_else_347", 580, 30], + "eq_done_359", + ["jump_false", 57, "if_else_357", 580, 30], ["get", 60, 14, 1, 581, 9], - ["jump_false", 60, "if_else_355", 581, 9], + ["jump_false", 60, "if_else_365", 581, 9], ["load_field", 61, 2, "data", 581, 32], ["get", 63, 14, 1, 581, 21], ["frame", 64, 63, 1, 581, 21], @@ -3440,25 +3440,25 @@ ["setarg", 64, 0, 65, 581, 21], ["setarg", 64, 1, 61, 581, 21], ["invoke", 64, 62, 581, 21], - ["jump", "if_end_356", 581, 21], - "if_else_355", - "if_end_356", + ["jump", "if_end_366", 581, 21], + "if_else_365", + "if_end_366", ["null", 66, 582, 5], ["return", 66, 582, 5], - ["jump", "if_end_348", 582, 5], - "if_else_347", - "if_end_348", + ["jump", "if_end_358", 582, 5], + "if_else_357", + "if_end_358", ["get", 67, 27, 1, 586, 13], ["load_dynamic", 68, 1, 67, 586, 13], ["load_field", 69, 68, "id", 586, 13], ["move", 70, 69, 586, 13], - ["jump_false", 70, "and_end_359", 586, 13], + ["jump_false", 70, "and_end_369", 586, 13], ["get", 71, 27, 1, 586, 60], ["load_dynamic", 72, 1, 71, 586, 60], ["load_field", 73, 72, "id", 586, 60], ["get", 75, 30, 1, 586, 30], ["is_proxy", 76, 75, 586, 30], - ["jump_false", 76, "record_path_360", 586, 30], + ["jump_false", 76, "record_path_370", 586, 30], ["null", 77, 586, 30], ["access", 78, "mailbox_exist", 586, 30], ["array", 79, 0, 586, 30], @@ -3468,20 +3468,20 @@ ["setarg", 80, 1, 78, 586, 30], ["setarg", 80, 2, 79, 586, 30], ["invoke", 80, 74, 586, 30], - ["jump", "call_done_361", 586, 30], - "record_path_360", + ["jump", "call_done_371", 586, 30], + "record_path_370", ["load_field", 81, 75, "mailbox_exist", 586, 30], ["frame", 82, 81, 1, 586, 30], ["setarg", 82, 0, 75, 586, 30], ["setarg", 82, 1, 73, 586, 30], ["invoke", 82, 74, 586, 30], - "call_done_361", + "call_done_371", ["move", 70, 74, 586, 30], - "and_end_359", - ["jump_false", 70, "if_else_357", 586, 30], + "and_end_369", + ["jump_false", 70, "if_else_367", 586, 30], ["get", 84, 7, 1, 587, 17], ["is_proxy", 85, 84, 587, 17], - ["jump_false", 85, "record_path_362", 587, 17], + ["jump_false", 85, "record_path_372", 587, 17], ["null", 86, 587, 17], ["access", 87, "encode", 587, 17], ["array", 88, 0, 587, 17], @@ -3491,21 +3491,21 @@ ["setarg", 89, 1, 87, 587, 17], ["setarg", 89, 2, 88, 587, 17], ["invoke", 89, 83, 587, 17], - ["jump", "call_done_363", 587, 17], - "record_path_362", + ["jump", "call_done_373", 587, 17], + "record_path_372", ["load_field", 90, 84, "encode", 587, 17], ["frame", 91, 90, 1, 587, 17], ["setarg", 91, 0, 84, 587, 17], ["setarg", 91, 1, 2, 587, 17], ["invoke", 91, 83, 587, 17], - "call_done_363", + "call_done_373", ["move", 4, 83, 587, 17], ["get", 92, 27, 1, 588, 34], ["load_dynamic", 93, 1, 92, 588, 34], ["load_field", 94, 93, "id", 588, 34], ["get", 96, 30, 1, 588, 5], ["is_proxy", 97, 96, 588, 5], - ["jump_false", 97, "record_path_364", 588, 5], + ["jump_false", 97, "record_path_374", 588, 5], ["null", 98, 588, 5], ["access", 99, "mailbox_push", 588, 5], ["array", 100, 0, 588, 5], @@ -3516,100 +3516,100 @@ ["setarg", 101, 1, 99, 588, 5], ["setarg", 101, 2, 100, 588, 5], ["invoke", 101, 95, 588, 5], - ["jump", "call_done_365", 588, 5], - "record_path_364", + ["jump", "call_done_375", 588, 5], + "record_path_374", ["load_field", 102, 96, "mailbox_push", 588, 5], ["frame", 103, 102, 2, 588, 5], ["setarg", 103, 0, 96, 588, 5], ["setarg", 103, 1, 94, 588, 5], ["setarg", 103, 2, 4, 588, 5], ["invoke", 103, 95, 588, 5], - "call_done_365", + "call_done_375", ["null", 104, 589, 5], ["return", 104, 589, 5], - ["jump", "if_end_358", 589, 5], - "if_else_357", - "if_end_358", + ["jump", "if_end_368", 589, 5], + "if_else_367", + "if_end_368", ["get", 105, 27, 1, 592, 13], ["load_dynamic", 106, 1, 105, 592, 13], ["load_field", 107, 106, "address", 592, 13], - ["jump_false", 107, "if_else_366", 592, 13], + ["jump_false", 107, "if_else_376", 592, 13], ["get", 108, 27, 1, 593, 15], ["load_dynamic", 109, 1, 108, 593, 15], ["load_field", 110, 109, "id", 593, 15], - ["jump_false", 110, "if_else_368", 593, 15], + ["jump_false", 110, "if_else_378", 593, 15], ["get", 111, 27, 1, 594, 30], ["load_dynamic", 112, 1, 111, 594, 30], ["load_field", 113, 112, "id", 594, 30], ["store_field", 2, 113, "target", 594, 7], - ["jump", "if_end_369", 594, 7], - "if_else_368", + ["jump", "if_end_379", 594, 7], + "if_else_378", ["access", 114, "contact", 596, 22], ["store_field", 2, 114, "type", 596, 7], - "if_end_369", + "if_end_379", ["get", 115, 24, 1, 598, 12], ["get", 116, 27, 1, 598, 24], ["load_dynamic", 117, 1, 116, 598, 24], ["load_field", 118, 117, "address", 598, 24], ["access", 119, ":", 598, 45], ["is_int", 121, 118, 598, 45], - ["jump_false", 121, "add_ni_370", 598, 45], + ["jump_false", 121, "add_ni_380", 598, 45], "_nop_tc_1", - ["jump", "add_ni_370", 598, 45], + ["jump", "add_ni_380", 598, 45], ["add_int", 120, 118, 119, 598, 45], - ["jump", "add_done_372", 598, 45], - "add_ni_370", + ["jump", "add_done_382", 598, 45], + "add_ni_380", ["is_text", 121, 118, 598, 45], - ["jump_false", 121, "add_nt_371", 598, 45], + ["jump_false", 121, "add_nt_381", 598, 45], ["concat", 120, 118, 119, 598, 45], - ["jump", "add_done_372", 598, 45], - "add_nt_371", + ["jump", "add_done_382", 598, 45], + "add_nt_381", ["is_num", 121, 118, 598, 45], - ["jump_false", 121, "add_err_373", 598, 45], + ["jump_false", 121, "add_err_383", 598, 45], ["is_num", 122, 119, 598, 45], - ["jump_false", 122, "add_err_373", 598, 45], + ["jump_false", 122, "add_err_383", 598, 45], ["add_float", 120, 118, 119, 598, 45], - ["jump", "add_done_372", 598, 45], - "add_err_373", + ["jump", "add_done_382", 598, 45], + "add_err_383", ["disrupt", 598, 45], - "add_done_372", + "add_done_382", ["get", 123, 27, 1, 598, 57], ["load_dynamic", 124, 1, 123, 598, 57], ["load_field", 125, 124, "port", 598, 57], ["is_int", 127, 120, 598, 57], - ["jump_false", 127, "add_ni_374", 598, 57], + ["jump_false", 127, "add_ni_384", 598, 57], ["is_int", 128, 125, 598, 57], - ["jump_false", 128, "add_ni_374", 598, 57], + ["jump_false", 128, "add_ni_384", 598, 57], ["add_int", 126, 120, 125, 598, 57], - ["jump", "add_done_376", 598, 57], - "add_ni_374", + ["jump", "add_done_386", 598, 57], + "add_ni_384", ["is_text", 127, 120, 598, 57], - ["jump_false", 127, "add_nt_375", 598, 57], + ["jump_false", 127, "add_nt_385", 598, 57], ["is_text", 128, 125, 598, 57], - ["jump_false", 128, "add_nt_375", 598, 57], + ["jump_false", 128, "add_nt_385", 598, 57], ["concat", 126, 120, 125, 598, 57], - ["jump", "add_done_376", 598, 57], - "add_nt_375", + ["jump", "add_done_386", 598, 57], + "add_nt_385", ["is_num", 127, 120, 598, 57], - ["jump_false", 127, "add_err_377", 598, 57], + ["jump_false", 127, "add_err_387", 598, 57], ["is_num", 128, 125, 598, 57], - ["jump_false", 128, "add_err_377", 598, 57], + ["jump_false", 128, "add_err_387", 598, 57], ["add_float", 126, 120, 125, 598, 57], - ["jump", "add_done_376", 598, 57], - "add_err_377", + ["jump", "add_done_386", 598, 57], + "add_err_387", ["disrupt", 598, 57], - "add_done_376", + "add_done_386", ["load_dynamic", 129, 115, 126, 598, 57], ["move", 3, 129, 598, 57], "_nop_bl_2", - ["jump_true", 3, "if_else_378", 599, 10], + ["jump_true", 3, "if_else_388", 599, 10], ["get", 131, 23, 1, 600, 12], "_nop_bl_3", - ["jump_true", 131, "if_else_380", 600, 12], + ["jump_true", 131, "if_else_390", 600, 12], ["access", 133, "creating a contactor ...", 601, 20], ["get", 135, 63, 1, 601, 9], ["is_proxy", 136, 135, 601, 9], - ["jump_false", 136, "record_path_382", 601, 9], + ["jump_false", 136, "record_path_392", 601, 9], ["null", 137, 601, 9], ["access", 138, "system", 601, 9], ["array", 139, 0, 601, 9], @@ -3619,20 +3619,20 @@ ["setarg", 140, 1, 138, 601, 9], ["setarg", 140, 2, 139, 601, 9], ["invoke", 140, 134, 601, 9], - ["jump", "call_done_383", 601, 9], - "record_path_382", + ["jump", "call_done_393", 601, 9], + "record_path_392", ["load_field", 141, 135, "system", 601, 9], ["frame", 142, 141, 1, 601, 9], ["setarg", 142, 0, 135, 601, 9], ["setarg", 142, 1, 133, 601, 9], ["invoke", 142, 134, 601, 9], - "call_done_383", + "call_done_393", ["record", 143, 0], ["access", 144, "any", 602, 44], ["store_field", 143, 144, "address", 602, 44], ["get", 146, 22, 1, 602, 18], ["is_proxy", 147, 146, 602, 18], - ["jump_false", 147, "record_path_384", 602, 18], + ["jump_false", 147, "record_path_394", 602, 18], ["null", 148, 602, 18], ["access", 149, "create_host", 602, 18], ["array", 150, 0, 602, 18], @@ -3642,14 +3642,14 @@ ["setarg", 151, 1, 149, 602, 18], ["setarg", 151, 2, 150, 602, 18], ["invoke", 151, 145, 602, 18], - ["jump", "call_done_385", 602, 18], - "record_path_384", + ["jump", "call_done_395", 602, 18], + "record_path_394", ["load_field", 152, 146, "create_host", 602, 18], ["frame", 153, 152, 1, 602, 18], ["setarg", 153, 0, 146, 602, 18], ["setarg", 153, 1, 143, 602, 18], ["invoke", 153, 145, 602, 18], - "call_done_385", + "call_done_395", ["put", 145, 23, 1, 602, 18], ["get", 154, 23, 1, 1, 1], ["load_field", 155, 154, "port", 1, 1], @@ -3675,7 +3675,7 @@ ["invoke", 160, 159, 1, 1], ["get", 163, 63, 1, 603, 9], ["is_proxy", 164, 163, 603, 9], - ["jump_false", 164, "record_path_386", 603, 9], + ["jump_false", 164, "record_path_396", 603, 9], ["null", 165, 603, 9], ["access", 166, "system", 603, 9], ["array", 167, 0, 603, 9], @@ -3685,17 +3685,17 @@ ["setarg", 168, 1, 166, 603, 9], ["setarg", 168, 2, 167, 603, 9], ["invoke", 168, 162, 603, 9], - ["jump", "call_done_387", 603, 9], - "record_path_386", + ["jump", "call_done_397", 603, 9], + "record_path_396", ["load_field", 169, 163, "system", 603, 9], ["frame", 170, 169, 1, 603, 9], ["setarg", 170, 0, 163, 603, 9], ["setarg", 170, 1, 159, 603, 9], ["invoke", 170, 162, 603, 9], - "call_done_387", - ["jump", "if_end_381", 603, 9], - "if_else_380", - "if_end_381", + "call_done_397", + ["jump", "if_end_391", 603, 9], + "if_else_390", + "if_end_391", ["get", 171, 27, 1, 1, 7], ["load_dynamic", 172, 1, 171, 1, 7], ["load_field", 173, 172, "address", 1, 7], @@ -3725,7 +3725,7 @@ ["invoke", 181, 180, 1, 7], ["get", 184, 63, 1, 605, 7], ["is_proxy", 185, 184, 605, 7], - ["jump_false", 185, "record_path_388", 605, 7], + ["jump_false", 185, "record_path_398", 605, 7], ["null", 186, 605, 7], ["access", 187, "system", 605, 7], ["array", 188, 0, 605, 7], @@ -3735,14 +3735,14 @@ ["setarg", 189, 1, 187, 605, 7], ["setarg", 189, 2, 188, 605, 7], ["invoke", 189, 183, 605, 7], - ["jump", "call_done_389", 605, 7], - "record_path_388", + ["jump", "call_done_399", 605, 7], + "record_path_398", ["load_field", 190, 184, "system", 605, 7], ["frame", 191, 190, 1, 605, 7], ["setarg", 191, 0, 184, 605, 7], ["setarg", 191, 1, 180, 605, 7], ["invoke", 191, 183, 605, 7], - "call_done_389", + "call_done_399", ["get", 192, 27, 1, 606, 35], ["load_dynamic", 193, 1, 192, 606, 35], ["load_field", 194, 193, "address", 606, 35], @@ -3751,7 +3751,7 @@ ["load_field", 197, 196, "port", 606, 61], ["get", 199, 23, 1, 606, 14], ["is_proxy", 200, 199, 606, 14], - ["jump_false", 200, "record_path_390", 606, 14], + ["jump_false", 200, "record_path_400", 606, 14], ["null", 201, 606, 14], ["access", 202, "connect", 606, 14], ["array", 203, 0, 606, 14], @@ -3762,21 +3762,21 @@ ["setarg", 204, 1, 202, 606, 14], ["setarg", 204, 2, 203, 606, 14], ["invoke", 204, 198, 606, 14], - ["jump", "call_done_391", 606, 14], - "record_path_390", + ["jump", "call_done_401", 606, 14], + "record_path_400", ["load_field", 205, 199, "connect", 606, 14], ["frame", 206, 205, 2, 606, 14], ["setarg", 206, 0, 199, 606, 14], ["setarg", 206, 1, 194, 606, 14], ["setarg", 206, 2, 197, 606, 14], ["invoke", 206, 198, 606, 14], - "call_done_391", + "call_done_401", ["move", 3, 198, 606, 14], ["array", 207, 0, 607, 29], ["push", 207, 2, 607, 29], ["get", 209, 55, 1, 607, 7], ["is_proxy", 210, 209, 607, 7], - ["jump_false", 210, "record_path_392", 607, 7], + ["jump_false", 210, "record_path_402", 607, 7], ["null", 211, 607, 7], ["access", 212, "set", 607, 7], ["array", 213, 0, 607, 7], @@ -3787,20 +3787,20 @@ ["setarg", 214, 1, 212, 607, 7], ["setarg", 214, 2, 213, 607, 7], ["invoke", 214, 208, 607, 7], - ["jump", "call_done_393", 607, 7], - "record_path_392", + ["jump", "call_done_403", 607, 7], + "record_path_402", ["load_field", 215, 209, "set", 607, 7], ["frame", 216, 215, 2, 607, 7], ["setarg", 216, 0, 209, 607, 7], ["setarg", 216, 1, 3, 607, 7], ["setarg", 216, 2, 207, 607, 7], ["invoke", 216, 208, 607, 7], - "call_done_393", - ["jump", "if_end_379", 607, 7], - "if_else_378", + "call_done_403", + ["jump", "if_end_389", 607, 7], + "if_else_388", ["get", 218, 49, 1, 609, 17], ["is_proxy", 219, 218, 609, 17], - ["jump_false", 219, "record_path_394", 609, 17], + ["jump_false", 219, "record_path_404", 609, 17], ["null", 220, 609, 17], ["access", 221, "encode", 609, 17], ["array", 222, 0, 609, 17], @@ -3810,16 +3810,16 @@ ["setarg", 223, 1, 221, 609, 17], ["setarg", 223, 2, 222, 609, 17], ["invoke", 223, 217, 609, 17], - ["jump", "call_done_395", 609, 17], - "record_path_394", + ["jump", "call_done_405", 609, 17], + "record_path_404", ["load_field", 224, 218, "encode", 609, 17], ["frame", 225, 224, 1, 609, 17], ["setarg", 225, 0, 218, 609, 17], ["setarg", 225, 1, 2, 609, 17], ["invoke", 225, 217, 609, 17], - "call_done_395", + "call_done_405", ["is_proxy", 227, 3, 609, 7], - ["jump_false", 227, "record_path_396", 609, 7], + ["jump_false", 227, "record_path_406", 609, 7], ["null", 228, 609, 7], ["access", 229, "send", 609, 7], ["array", 230, 0, 609, 7], @@ -3829,20 +3829,20 @@ ["setarg", 231, 1, 229, 609, 7], ["setarg", 231, 2, 230, 609, 7], ["invoke", 231, 226, 609, 7], - ["jump", "call_done_397", 609, 7], - "record_path_396", + ["jump", "call_done_407", 609, 7], + "record_path_406", ["load_field", 232, 3, "send", 609, 7], ["frame", 233, 232, 1, 609, 7], ["setarg", 233, 0, 3, 609, 7], ["setarg", 233, 1, 217, 609, 7], ["invoke", 233, 226, 609, 7], - "call_done_397", - "if_end_379", + "call_done_407", + "if_end_389", ["null", 234, 611, 5], ["return", 234, 611, 5], - ["jump", "if_end_367", 611, 5], - "if_else_366", - "if_end_367", + ["jump", "if_end_377", 611, 5], + "if_else_376", + "if_end_377", ["get", 235, 27, 1, 1, 7], ["load_dynamic", 236, 1, 235, 1, 7], ["array", 237, 0, 1, 7], @@ -3867,7 +3867,7 @@ ["invoke", 241, 240, 1, 7], ["get", 244, 63, 1, 613, 3], ["is_proxy", 245, 244, 613, 3], - ["jump_false", 245, "record_path_398", 613, 3], + ["jump_false", 245, "record_path_408", 613, 3], ["null", 246, 613, 3], ["access", 247, "system", 613, 3], ["array", 248, 0, 613, 3], @@ -3877,14 +3877,14 @@ ["setarg", 249, 1, 247, 613, 3], ["setarg", 249, 2, 248, 613, 3], ["invoke", 249, 243, 613, 3], - ["jump", "call_done_399", 613, 3], - "record_path_398", + ["jump", "call_done_409", 613, 3], + "record_path_408", ["load_field", 250, 244, "system", 613, 3], ["frame", 251, 250, 1, 613, 3], ["setarg", 251, 0, 244, 613, 3], ["setarg", 251, 1, 240, 613, 3], ["invoke", 251, 243, 613, 3], - "call_done_399", + "call_done_409", ["null", 252, 613, 3], ["return", 252, 613, 3] ], @@ -3898,11 +3898,11 @@ "nr_close_slots": 0, "instructions": [ ["load_field", 3, 1, "startup", 628, 10], - ["jump_false", 3, "if_else_402", 628, 10], + ["jump_false", 3, "if_else_412", 628, 10], ["load_field", 4, 1, "startup", 630, 30], ["get", 6, 30, 2, 630, 8], ["is_proxy", 7, 6, 630, 8], - ["jump_false", 7, "record_path_404", 630, 8], + ["jump_false", 7, "record_path_414", 630, 8], ["null", 8, 630, 8], ["access", 9, "createactor", 630, 8], ["array", 10, 0, 630, 8], @@ -3912,16 +3912,16 @@ ["setarg", 11, 1, 9, 630, 8], ["setarg", 11, 2, 10, 630, 8], ["invoke", 11, 5, 630, 8], - ["jump", "call_done_405", 630, 8], - "record_path_404", + ["jump", "call_done_415", 630, 8], + "record_path_414", ["load_field", 12, 6, "createactor", 630, 8], ["frame", 13, 12, 1, 630, 8], ["setarg", 13, 0, 6, 630, 8], ["setarg", 13, 1, 4, 630, 8], ["invoke", 13, 5, 630, 8], - "call_done_405", - ["jump", "if_end_403", 630, 8], - "if_else_402", + "call_done_415", + ["jump", "if_end_413", 630, 8], + "if_else_412", ["load_field", 14, 1, "actor", 632, 19], ["load_field", 15, 1, "send", 632, 30], ["get", 17, 33, 2, 632, 8], @@ -3931,7 +3931,7 @@ ["setarg", 18, 1, 14, 632, 8], ["setarg", 18, 2, 15, 632, 8], ["invoke", 18, 16, 632, 8], - "if_end_403", + "if_end_413", ["null", 20, 632, 8], ["return", 20, 632, 8] ], @@ -3941,11 +3941,11 @@ }, { "disruption_pc": 0, - "nr_slots": 16, + "nr_slots": 21, "nr_close_slots": 0, "instructions": [ ["get", 1, 51, 1, 621, 8], - ["jump_false", 1, "if_else_400", 621, 8], + ["jump_false", 1, "if_else_410", 621, 8], ["get", 3, 65, 1, 622, 6], ["frame", 4, 3, 0, 622, 6], ["null", 5, 622, 6], @@ -3955,32 +3955,32 @@ ["put", 6, 43, 1, 623, 22], ["null", 7, 624, 6], ["return", 7, 624, 6], - ["jump", "if_end_401", 624, 6], - "if_else_400", - "if_end_401", + ["jump", "if_end_411", 624, 6], + "if_else_410", + "if_end_411", ["get", 8, 43, 1, 627, 11], ["function", 9, 27, 627, 26], - [ - "access", - 11, - { - "name": "arrfor", - "kind": "name", - "make": "intrinsic" - }, - 627, - 4 - ], - ["frame", 12, 11, 2, 627, 4], - ["null", 13, 627, 4], - ["setarg", 12, 0, 13, 627, 4], - ["setarg", 12, 1, 8, 627, 4], - ["setarg", 12, 2, 9, 627, 4], - ["invoke", 12, 10, 627, 4], - ["array", 14, 0, 636, 20], - ["put", 14, 43, 1, 636, 20], - ["null", 15, 636, 20], - ["return", 15, 636, 20] + ["length", 11, 8, 627, 26], + ["int", 12, 0, 627, 26], + ["int", 16, 1, 627, 26], + ["null", 15, 627, 26], + "arrfor_loop_416", + ["lt_int", 13, 12, 11, 627, 26], + ["jump_false", 13, "arrfor_done_417", 627, 26], + ["load_index", 14, 8, 12, 627, 26], + ["frame", 17, 9, 2, 627, 26], + ["setarg", 17, 0, 15, 627, 26], + ["setarg", 17, 1, 14, 627, 26], + ["setarg", 17, 2, 12, 627, 26], + ["invoke", 17, 18, 627, 26], + ["add_int", 12, 12, 16, 627, 26], + ["jump", "arrfor_loop_416", 627, 26], + "arrfor_done_417", + ["null", 10, 627, 26], + ["array", 19, 0, 636, 20], + ["put", 19, 43, 1, 636, 20], + ["null", 20, 636, 20], + ["return", 20, 636, 20] ], "name": "send_messages", "filename": "internal/engine.cm", @@ -3994,15 +3994,15 @@ ["get", 2, 64, 2, 674, 11], ["get", 3, 7, 1, 674, 19], ["load_dynamic", 4, 2, 3, 674, 19], - ["jump_false", 4, "if_else_424", 674, 19], + ["jump_false", 4, "if_else_436", 674, 19], ["null", 5, 675, 21], ["access", 6, "timeout", 675, 27], ["get", 8, 64, 2, 675, 9], ["get", 9, 7, 1, 675, 17], ["is_proxy", 10, 8, 675, 17], - ["jump_false", 10, "dyn_record_path_426", 675, 17], + ["jump_false", 10, "dyn_record_path_438", 675, 17], ["is_text", 11, 9, 675, 17], - ["jump_false", 11, "dyn_error_428", 675, 17], + ["jump_false", 11, "dyn_error_440", 675, 17], ["null", 12, 675, 17], ["array", 13, 0, 675, 17], ["push", 13, 5, 675, 17], @@ -4012,24 +4012,24 @@ ["setarg", 14, 1, 9, 675, 17], ["setarg", 14, 2, 13, 675, 17], ["invoke", 14, 7, 675, 17], - ["jump", "dyn_call_done_427", 675, 17], - "dyn_error_428", + ["jump", "dyn_call_done_439", 675, 17], + "dyn_error_440", ["disrupt", 675, 17], - ["jump", "dyn_call_done_427", 675, 17], - "dyn_record_path_426", + ["jump", "dyn_call_done_439", 675, 17], + "dyn_record_path_438", ["load_dynamic", 15, 8, 9, 675, 17], ["frame", 16, 15, 2, 675, 17], ["setarg", 16, 0, 8, 675, 17], ["setarg", 16, 1, 5, 675, 17], ["setarg", 16, 2, 6, 675, 17], ["invoke", 16, 7, 675, 17], - "dyn_call_done_427", + "dyn_call_done_439", ["get", 18, 64, 2, 676, 16], ["get", 19, 7, 1, 676, 24], ["delete", 17, 18, 19, 676, 24], - ["jump", "if_end_425", 676, 24], - "if_else_424", - "if_end_425", + ["jump", "if_end_437", 676, 24], + "if_else_436", + "if_end_437", ["null", 20, 676, 24], ["return", 20, 676, 24] ], @@ -4048,7 +4048,7 @@ ["null", 7, 645, 12], ["is_record", 8, 1, 647, 18], "_nop_bl_1", - ["jump_true", 8, "if_else_406", 647, 18], + ["jump_true", 8, "if_else_418", 647, 18], ["array", 10, 0, 1, 1], ["push", 10, 1, 1, 1], [ @@ -4071,7 +4071,7 @@ ["invoke", 14, 13, 1, 1], ["get", 17, 63, 1, 648, 5], ["is_proxy", 18, 17, 648, 5], - ["jump_false", 18, "record_path_408", 648, 5], + ["jump_false", 18, "record_path_420", 648, 5], ["null", 19, 648, 5], ["access", 20, "error", 648, 5], ["array", 21, 0, 648, 5], @@ -4081,25 +4081,25 @@ ["setarg", 22, 1, 20, 648, 5], ["setarg", 22, 2, 21, 648, 5], ["invoke", 22, 16, 648, 5], - ["jump", "call_done_409", 648, 5], - "record_path_408", + ["jump", "call_done_421", 648, 5], + "record_path_420", ["load_field", 23, 17, "error", 648, 5], ["frame", 24, 23, 1, 648, 5], ["setarg", 24, 0, 17, 648, 5], ["setarg", 24, 1, 13, 648, 5], ["invoke", 24, 16, 648, 5], - "call_done_409", + "call_done_421", ["disrupt", 649, 5], - ["jump", "if_end_407", 649, 5], - "if_else_406", - "if_end_407", + ["jump", "if_end_419", 649, 5], + "if_else_418", + "if_end_419", ["is_record", 25, 2, 652, 18], "_nop_bl_2", - ["jump_true", 25, "if_else_410", 652, 18], + ["jump_true", 25, "if_else_422", 652, 18], ["access", 27, "Message must be an object", 653, 15], ["get", 29, 63, 1, 653, 5], ["is_proxy", 30, 29, 653, 5], - ["jump_false", 30, "record_path_412", 653, 5], + ["jump_false", 30, "record_path_424", 653, 5], ["null", 31, 653, 5], ["access", 32, "error", 653, 5], ["array", 33, 0, 653, 5], @@ -4109,18 +4109,18 @@ ["setarg", 34, 1, 32, 653, 5], ["setarg", 34, 2, 33, 653, 5], ["invoke", 34, 28, 653, 5], - ["jump", "call_done_413", 653, 5], - "record_path_412", + ["jump", "call_done_425", 653, 5], + "record_path_424", ["load_field", 35, 29, "error", 653, 5], ["frame", 36, 35, 1, 653, 5], ["setarg", 36, 0, 29, 653, 5], ["setarg", 36, 1, 27, 653, 5], ["invoke", 36, 28, 653, 5], - "call_done_413", + "call_done_425", ["disrupt", 654, 5], - ["jump", "if_end_411", 654, 5], - "if_else_410", - "if_end_411", + ["jump", "if_end_423", 654, 5], + "if_else_422", + "if_end_423", ["record", 37, 0], ["access", 38, "user", 656, 20], ["store_field", 37, 38, "type", 656, 20], @@ -4130,20 +4130,20 @@ ["get", 39, 41, 1, 659, 13], ["load_dynamic", 40, 1, 39, 659, 13], ["move", 41, 40, 659, 13], - ["jump_false", 41, "and_end_416", 659, 13], + ["jump_false", 41, "and_end_428", 659, 13], ["get", 42, 41, 1, 659, 30], ["load_dynamic", 43, 1, 42, 659, 30], ["load_field", 44, 43, "replycc", 659, 30], ["move", 41, 44, 659, 30], - "and_end_416", - ["jump_false", 41, "if_else_414", 659, 30], + "and_end_428", + ["jump_false", 41, "if_else_426", 659, 30], ["get", 45, 41, 1, 660, 20], ["load_dynamic", 46, 1, 45, 660, 20], ["move", 5, 46, 660, 20], ["load_field", 47, 5, "replycc", 661, 10], ["not", 48, 47, 661, 10], ["move", 49, 48, 661, 10], - ["jump_true", 49, "or_end_419", 661, 10], + ["jump_true", 49, "or_end_431", 661, 10], ["load_field", 50, 5, "replycc", 661, 38], ["get", 52, 5, 1, 661, 29], ["frame", 53, 52, 1, 661, 29], @@ -4153,8 +4153,8 @@ ["invoke", 53, 51, 661, 29], ["not", 55, 51, 661, 29], ["move", 49, 55, 661, 29], - "or_end_419", - ["jump_false", 49, "if_else_417", 661, 29], + "or_end_431", + ["jump_false", 49, "if_else_429", 661, 29], ["get", 56, 41, 1, 1, 7], ["load_dynamic", 57, 1, 56, 1, 7], ["array", 58, 0, 1, 7], @@ -4179,7 +4179,7 @@ ["invoke", 62, 61, 1, 7], ["get", 65, 63, 1, 662, 7], ["is_proxy", 66, 65, 662, 7], - ["jump_false", 66, "record_path_420", 662, 7], + ["jump_false", 66, "record_path_432", 662, 7], ["null", 67, 662, 7], ["access", 68, "error", 662, 7], ["array", 69, 0, 662, 7], @@ -4189,26 +4189,26 @@ ["setarg", 70, 1, 68, 662, 7], ["setarg", 70, 2, 69, 662, 7], ["invoke", 70, 64, 662, 7], - ["jump", "call_done_421", 662, 7], - "record_path_420", + ["jump", "call_done_433", 662, 7], + "record_path_432", ["load_field", 71, 65, "error", 662, 7], ["frame", 72, 71, 1, 662, 7], ["setarg", 72, 0, 65, 662, 7], ["setarg", 72, 1, 61, 662, 7], ["invoke", 72, 64, 662, 7], - "call_done_421", + "call_done_433", ["disrupt", 663, 7], - ["jump", "if_end_418", 663, 7], - "if_else_417", - "if_end_418", + ["jump", "if_end_430", 663, 7], + "if_else_429", + "if_end_430", ["load_field", 73, 5, "replycc", 666, 14], ["move", 4, 73, 666, 14], ["load_field", 74, 5, "reply", 667, 23], ["store_field", 6, 74, "return", 667, 5], - ["jump", "if_end_415", 667, 5], - "if_else_414", - "if_end_415", - ["jump_false", 3, "if_else_422", 670, 7], + ["jump", "if_end_427", 667, 5], + "if_else_426", + "if_end_427", + ["jump_false", 3, "if_else_434", 670, 7], ["get", 76, 6, 1, 671, 10], ["frame", 77, 76, 0, 671, 10], ["null", 78, 671, 10], @@ -4221,7 +4221,7 @@ ["get", 81, 35, 1, 678, 8], ["get", 83, 2, 1, 673, 5], ["is_proxy", 84, 83, 673, 5], - ["jump_false", 84, "record_path_429", 673, 5], + ["jump_false", 84, "record_path_441", 673, 5], ["null", 85, 673, 5], ["access", 86, "delay", 673, 5], ["array", 87, 0, 673, 5], @@ -4232,22 +4232,22 @@ ["setarg", 88, 1, 86, 673, 5], ["setarg", 88, 2, 87, 673, 5], ["invoke", 88, 82, 673, 5], - ["jump", "call_done_430", 673, 5], - "record_path_429", + ["jump", "call_done_442", 673, 5], + "record_path_441", ["load_field", 89, 83, "delay", 673, 5], ["frame", 90, 89, 2, 673, 5], ["setarg", 90, 0, 83, 673, 5], ["setarg", 90, 1, 80, 673, 5], ["setarg", 90, 2, 81, 673, 5], ["invoke", 90, 82, 673, 5], - "call_done_430", + "call_done_442", ["store_field", 6, 7, "reply", 679, 5], ["get", 91, 2, 1, 680, 24], ["load_field", 92, 91, "self", 680, 24], ["store_field", 6, 92, "replycc", 680, 5], - ["jump", "if_end_423", 680, 5], - "if_else_422", - "if_end_423", + ["jump", "if_end_435", 680, 5], + "if_else_434", + "if_end_435", ["get", 94, 66, 1, 684, 3], ["frame", 95, 94, 2, 684, 3], ["null", 96, 684, 3], @@ -4269,7 +4269,7 @@ "instructions": [ ["get", 4, 7, 1, 697, 13], ["is_proxy", 5, 4, 697, 13], - ["jump_false", 5, "record_path_431", 697, 13], + ["jump_false", 5, "record_path_443", 697, 13], ["null", 6, 697, 13], ["access", 7, "decode", 697, 13], ["array", 8, 0, 697, 13], @@ -4279,14 +4279,14 @@ ["setarg", 9, 1, 7, 697, 13], ["setarg", 9, 2, 8, 697, 13], ["invoke", 9, 3, 697, 13], - ["jump", "call_done_432", 697, 13], - "record_path_431", + ["jump", "call_done_444", 697, 13], + "record_path_443", ["load_field", 10, 4, "decode", 697, 13], ["frame", 11, 10, 1, 697, 13], ["setarg", 11, 0, 4, 697, 13], ["setarg", 11, 1, 1, 697, 13], ["invoke", 11, 3, 697, 13], - "call_done_432", + "call_done_444", ["move", 2, 3, 697, 13], ["get", 13, 34, 1, 698, 3], ["frame", 14, 13, 1, 698, 3], @@ -4334,12 +4334,12 @@ "instructions": [ ["get", 2, 39, 1, 732, 8], "_nop_bl_1", - ["jump_true", 2, "if_else_433", 732, 8], + ["jump_true", 2, "if_else_445", 732, 8], ["null", 4, 732, 18], ["return", 4, 732, 18], - ["jump", "if_end_434", 732, 18], - "if_else_433", - "if_end_434", + ["jump", "if_end_446", 732, 18], + "if_else_445", + "if_end_446", ["get", 5, 39, 1, 733, 11], ["record", 6, 0], ["access", 7, "underling", 733, 27], @@ -4370,7 +4370,7 @@ ["get", 3, 75, 1, 745, 17], ["load_dynamic", 4, 3, 1, 745, 26], ["move", 2, 4, 745, 26], - ["jump_false", 2, "if_else_435", 746, 7], + ["jump_false", 2, "if_else_447", 746, 7], ["record", 5, 0], ["access", 6, "stopped", 747, 20], ["store_field", 5, 6, "type", 747, 20], @@ -4382,9 +4382,9 @@ ["invoke", 8, 7, 747, 5], ["get", 11, 75, 1, 748, 12], ["delete", 10, 11, 1, 748, 21], - ["jump", "if_end_436", 748, 21], - "if_else_435", - "if_end_436", + ["jump", "if_end_448", 748, 21], + "if_else_447", + "if_end_448", ["array", 12, 0, 1, 1], ["push", 12, 1, 1, 1], [ @@ -4407,7 +4407,7 @@ ["invoke", 16, 15, 1, 1], ["get", 19, 63, 1, 750, 3], ["is_proxy", 20, 19, 750, 3], - ["jump_false", 20, "record_path_437", 750, 3], + ["jump_false", 20, "record_path_449", 750, 3], ["null", 21, 750, 3], ["access", 22, "system", 750, 3], ["array", 23, 0, 750, 3], @@ -4417,19 +4417,19 @@ ["setarg", 24, 1, 22, 750, 3], ["setarg", 24, 2, 23, 750, 3], ["invoke", 24, 18, 750, 3], - ["jump", "call_done_438", 750, 3], - "record_path_437", + ["jump", "call_done_450", 750, 3], + "record_path_449", ["load_field", 25, 19, "system", 750, 3], ["frame", 26, 25, 1, 750, 3], ["setarg", 26, 0, 19, 750, 3], ["setarg", 26, 1, 15, 750, 3], ["invoke", 26, 18, 750, 3], - "call_done_438", + "call_done_450", ["get", 27, 26, 1, 751, 16], ["load_dynamic", 28, 27, 1, 751, 26], ["is_null", 29, 28, 751, 26], "_nop_bl_1", - ["jump_true", 29, "if_else_439", 751, 26], + ["jump_true", 29, "if_else_451", 751, 26], ["access", 31, "coupled actor died", 751, 42], ["get", 33, 65, 1, 751, 32], ["frame", 34, 33, 1, 751, 32], @@ -4437,9 +4437,9 @@ ["setarg", 34, 0, 35, 751, 32], ["setarg", 34, 1, 31, 751, 32], ["invoke", 34, 32, 751, 32], - ["jump", "if_end_440", 751, 32], - "if_else_439", - "if_end_440", + ["jump", "if_end_452", 751, 32], + "if_else_451", + "if_end_452", ["null", 36, 751, 32], ["return", 36, 751, 32] ], @@ -4458,45 +4458,45 @@ ["load_field", 5, 1, "kind", 760, 7], ["access", 6, "stop", 760, 19], ["is_identical", 7, 5, 6, 760, 19], - ["jump_true", 7, "eq_done_443", 760, 19], + ["jump_true", 7, "eq_done_455", 760, 19], ["is_int", 8, 5, 760, 19], - ["jump_false", 8, "eq_ni_444", 760, 19], + ["jump_false", 8, "eq_ni_456", 760, 19], "_nop_tc_1", - ["jump", "eq_ni_444", 760, 19], + ["jump", "eq_ni_456", 760, 19], ["eq_int", 7, 5, 6, 760, 19], - ["jump", "eq_done_443", 760, 19], - "eq_ni_444", + ["jump", "eq_done_455", 760, 19], + "eq_ni_456", ["is_num", 8, 5, 760, 19], - ["jump_false", 8, "eq_nn_445", 760, 19], + ["jump_false", 8, "eq_nn_457", 760, 19], ["is_num", 9, 6, 760, 19], - ["jump_false", 9, "eq_nn_445", 760, 19], + ["jump_false", 9, "eq_nn_457", 760, 19], ["eq_float", 7, 5, 6, 760, 19], - ["jump", "eq_done_443", 760, 19], - "eq_nn_445", + ["jump", "eq_done_455", 760, 19], + "eq_nn_457", ["is_text", 8, 5, 760, 19], - ["jump_false", 8, "eq_nt_446", 760, 19], + ["jump_false", 8, "eq_nt_458", 760, 19], ["is_text", 9, 6, 760, 19], - ["jump_false", 9, "eq_nt_446", 760, 19], + ["jump_false", 9, "eq_nt_458", 760, 19], ["eq_text", 7, 5, 6, 760, 19], - ["jump", "eq_done_443", 760, 19], - "eq_nt_446", + ["jump", "eq_done_455", 760, 19], + "eq_nt_458", ["is_null", 8, 5, 760, 19], - ["jump_false", 8, "eq_nnl_447", 760, 19], + ["jump_false", 8, "eq_nnl_459", 760, 19], ["is_null", 9, 6, 760, 19], - ["jump_false", 9, "eq_nnl_447", 760, 19], + ["jump_false", 9, "eq_nnl_459", 760, 19], ["true", 7, 760, 19], - ["jump", "eq_done_443", 760, 19], - "eq_nnl_447", + ["jump", "eq_done_455", 760, 19], + "eq_nnl_459", ["is_bool", 8, 5, 760, 19], - ["jump_false", 8, "eq_nb_448", 760, 19], + ["jump_false", 8, "eq_nb_460", 760, 19], ["is_bool", 9, 6, 760, 19], - ["jump_false", 9, "eq_nb_448", 760, 19], + ["jump_false", 9, "eq_nb_460", 760, 19], ["eq_bool", 7, 5, 6, 760, 19], - ["jump", "eq_done_443", 760, 19], - "eq_nb_448", + ["jump", "eq_done_455", 760, 19], + "eq_nb_460", ["false", 7, 760, 19], - "eq_done_443", - ["jump_false", 7, "if_else_441", 760, 19], + "eq_done_455", + ["jump_false", 7, "if_else_453", 760, 19], ["access", 10, "got stop message", 761, 15], ["get", 12, 65, 1, 761, 5], ["frame", 13, 12, 1, 761, 5], @@ -4504,50 +4504,50 @@ ["setarg", 13, 0, 14, 761, 5], ["setarg", 13, 1, 10, 761, 5], ["invoke", 13, 11, 761, 5], - ["jump", "if_end_442", 761, 5], - "if_else_441", + ["jump", "if_end_454", 761, 5], + "if_else_453", ["load_field", 15, 1, "kind", 762, 14], ["access", 16, "underling", 762, 26], ["is_identical", 17, 15, 16, 762, 26], - ["jump_true", 17, "eq_done_451", 762, 26], + ["jump_true", 17, "eq_done_463", 762, 26], ["is_int", 18, 15, 762, 26], - ["jump_false", 18, "eq_ni_452", 762, 26], + ["jump_false", 18, "eq_ni_464", 762, 26], "_nop_tc_2", - ["jump", "eq_ni_452", 762, 26], + ["jump", "eq_ni_464", 762, 26], ["eq_int", 17, 15, 16, 762, 26], - ["jump", "eq_done_451", 762, 26], - "eq_ni_452", + ["jump", "eq_done_463", 762, 26], + "eq_ni_464", ["is_num", 18, 15, 762, 26], - ["jump_false", 18, "eq_nn_453", 762, 26], + ["jump_false", 18, "eq_nn_465", 762, 26], ["is_num", 19, 16, 762, 26], - ["jump_false", 19, "eq_nn_453", 762, 26], + ["jump_false", 19, "eq_nn_465", 762, 26], ["eq_float", 17, 15, 16, 762, 26], - ["jump", "eq_done_451", 762, 26], - "eq_nn_453", + ["jump", "eq_done_463", 762, 26], + "eq_nn_465", ["is_text", 18, 15, 762, 26], - ["jump_false", 18, "eq_nt_454", 762, 26], + ["jump_false", 18, "eq_nt_466", 762, 26], ["is_text", 19, 16, 762, 26], - ["jump_false", 19, "eq_nt_454", 762, 26], + ["jump_false", 19, "eq_nt_466", 762, 26], ["eq_text", 17, 15, 16, 762, 26], - ["jump", "eq_done_451", 762, 26], - "eq_nt_454", + ["jump", "eq_done_463", 762, 26], + "eq_nt_466", ["is_null", 18, 15, 762, 26], - ["jump_false", 18, "eq_nnl_455", 762, 26], + ["jump_false", 18, "eq_nnl_467", 762, 26], ["is_null", 19, 16, 762, 26], - ["jump_false", 19, "eq_nnl_455", 762, 26], + ["jump_false", 19, "eq_nnl_467", 762, 26], ["true", 17, 762, 26], - ["jump", "eq_done_451", 762, 26], - "eq_nnl_455", + ["jump", "eq_done_463", 762, 26], + "eq_nnl_467", ["is_bool", 18, 15, 762, 26], - ["jump_false", 18, "eq_nb_456", 762, 26], + ["jump_false", 18, "eq_nb_468", 762, 26], ["is_bool", 19, 16, 762, 26], - ["jump_false", 19, "eq_nb_456", 762, 26], + ["jump_false", 19, "eq_nb_468", 762, 26], ["eq_bool", 17, 15, 16, 762, 26], - ["jump", "eq_done_451", 762, 26], - "eq_nb_456", + ["jump", "eq_done_463", 762, 26], + "eq_nb_468", ["false", 17, 762, 26], - "eq_done_451", - ["jump_false", 17, "if_else_449", 762, 26], + "eq_done_463", + ["jump_false", 17, "if_else_461", 762, 26], ["load_field", 20, 1, "from", 763, 12], ["move", 4, 20, 763, 12], ["get", 21, 75, 1, 764, 15], @@ -4556,113 +4556,113 @@ ["load_field", 24, 23, "id", 764, 29], ["load_dynamic", 25, 21, 24, 764, 29], ["move", 2, 25, 764, 29], - ["jump_false", 2, "if_else_457", 765, 9], + ["jump_false", 2, "if_else_469", 765, 9], ["load_field", 26, 1, "message", 765, 26], ["frame", 28, 2, 1, 765, 18], ["null", 29, 765, 18], ["setarg", 28, 0, 29, 765, 18], ["setarg", 28, 1, 26, 765, 18], ["invoke", 28, 27, 765, 18], - ["jump", "if_end_458", 765, 18], - "if_else_457", - "if_end_458", + ["jump", "if_end_470", 765, 18], + "if_else_469", + "if_end_470", ["load_field", 30, 1, "message", 766, 9], ["load_field", 31, 30, "type", 766, 9], ["access", 32, "disrupt", 766, 29], ["is_identical", 33, 31, 32, 766, 29], - ["jump_true", 33, "eq_done_461", 766, 29], + ["jump_true", 33, "eq_done_473", 766, 29], ["is_int", 34, 31, 766, 29], - ["jump_false", 34, "eq_ni_462", 766, 29], + ["jump_false", 34, "eq_ni_474", 766, 29], "_nop_tc_3", - ["jump", "eq_ni_462", 766, 29], + ["jump", "eq_ni_474", 766, 29], ["eq_int", 33, 31, 32, 766, 29], - ["jump", "eq_done_461", 766, 29], - "eq_ni_462", + ["jump", "eq_done_473", 766, 29], + "eq_ni_474", ["is_num", 34, 31, 766, 29], - ["jump_false", 34, "eq_nn_463", 766, 29], + ["jump_false", 34, "eq_nn_475", 766, 29], ["is_num", 35, 32, 766, 29], - ["jump_false", 35, "eq_nn_463", 766, 29], + ["jump_false", 35, "eq_nn_475", 766, 29], ["eq_float", 33, 31, 32, 766, 29], - ["jump", "eq_done_461", 766, 29], - "eq_nn_463", + ["jump", "eq_done_473", 766, 29], + "eq_nn_475", ["is_text", 34, 31, 766, 29], - ["jump_false", 34, "eq_nt_464", 766, 29], + ["jump_false", 34, "eq_nt_476", 766, 29], ["is_text", 35, 32, 766, 29], - ["jump_false", 35, "eq_nt_464", 766, 29], + ["jump_false", 35, "eq_nt_476", 766, 29], ["eq_text", 33, 31, 32, 766, 29], - ["jump", "eq_done_461", 766, 29], - "eq_nt_464", + ["jump", "eq_done_473", 766, 29], + "eq_nt_476", ["is_null", 34, 31, 766, 29], - ["jump_false", 34, "eq_nnl_465", 766, 29], + ["jump_false", 34, "eq_nnl_477", 766, 29], ["is_null", 35, 32, 766, 29], - ["jump_false", 35, "eq_nnl_465", 766, 29], + ["jump_false", 35, "eq_nnl_477", 766, 29], ["true", 33, 766, 29], - ["jump", "eq_done_461", 766, 29], - "eq_nnl_465", + ["jump", "eq_done_473", 766, 29], + "eq_nnl_477", ["is_bool", 34, 31, 766, 29], - ["jump_false", 34, "eq_nb_466", 766, 29], + ["jump_false", 34, "eq_nb_478", 766, 29], ["is_bool", 35, 32, 766, 29], - ["jump_false", 35, "eq_nb_466", 766, 29], + ["jump_false", 35, "eq_nb_478", 766, 29], ["eq_bool", 33, 31, 32, 766, 29], - ["jump", "eq_done_461", 766, 29], - "eq_nb_466", + ["jump", "eq_done_473", 766, 29], + "eq_nb_478", ["false", 33, 766, 29], - "eq_done_461", - ["jump_false", 33, "if_else_459", 766, 29], + "eq_done_473", + ["jump_false", 33, "if_else_471", 766, 29], ["get", 37, 12, 1, 767, 14], ["get", 38, 27, 1, 767, 30], ["load_dynamic", 39, 4, 38, 767, 30], ["load_field", 40, 39, "id", 767, 30], ["delete", 36, 37, 40, 767, 30], - ["jump", "if_end_460", 767, 30], - "if_else_459", - "if_end_460", - ["jump", "if_end_450", 767, 30], - "if_else_449", + ["jump", "if_end_472", 767, 30], + "if_else_471", + "if_end_472", + ["jump", "if_end_462", 767, 30], + "if_else_461", ["load_field", 41, 1, "kind", 768, 14], ["access", 42, "contact", 768, 26], ["is_identical", 43, 41, 42, 768, 26], - ["jump_true", 43, "eq_done_469", 768, 26], + ["jump_true", 43, "eq_done_481", 768, 26], ["is_int", 44, 41, 768, 26], - ["jump_false", 44, "eq_ni_470", 768, 26], + ["jump_false", 44, "eq_ni_482", 768, 26], "_nop_tc_4", - ["jump", "eq_ni_470", 768, 26], + ["jump", "eq_ni_482", 768, 26], ["eq_int", 43, 41, 42, 768, 26], - ["jump", "eq_done_469", 768, 26], - "eq_ni_470", + ["jump", "eq_done_481", 768, 26], + "eq_ni_482", ["is_num", 44, 41, 768, 26], - ["jump_false", 44, "eq_nn_471", 768, 26], + ["jump_false", 44, "eq_nn_483", 768, 26], ["is_num", 45, 42, 768, 26], - ["jump_false", 45, "eq_nn_471", 768, 26], + ["jump_false", 45, "eq_nn_483", 768, 26], ["eq_float", 43, 41, 42, 768, 26], - ["jump", "eq_done_469", 768, 26], - "eq_nn_471", + ["jump", "eq_done_481", 768, 26], + "eq_nn_483", ["is_text", 44, 41, 768, 26], - ["jump_false", 44, "eq_nt_472", 768, 26], + ["jump_false", 44, "eq_nt_484", 768, 26], ["is_text", 45, 42, 768, 26], - ["jump_false", 45, "eq_nt_472", 768, 26], + ["jump_false", 45, "eq_nt_484", 768, 26], ["eq_text", 43, 41, 42, 768, 26], - ["jump", "eq_done_469", 768, 26], - "eq_nt_472", + ["jump", "eq_done_481", 768, 26], + "eq_nt_484", ["is_null", 44, 41, 768, 26], - ["jump_false", 44, "eq_nnl_473", 768, 26], + ["jump_false", 44, "eq_nnl_485", 768, 26], ["is_null", 45, 42, 768, 26], - ["jump_false", 45, "eq_nnl_473", 768, 26], + ["jump_false", 45, "eq_nnl_485", 768, 26], ["true", 43, 768, 26], - ["jump", "eq_done_469", 768, 26], - "eq_nnl_473", + ["jump", "eq_done_481", 768, 26], + "eq_nnl_485", ["is_bool", 44, 41, 768, 26], - ["jump_false", 44, "eq_nb_474", 768, 26], + ["jump_false", 44, "eq_nb_486", 768, 26], ["is_bool", 45, 42, 768, 26], - ["jump_false", 45, "eq_nb_474", 768, 26], + ["jump_false", 45, "eq_nb_486", 768, 26], ["eq_bool", 43, 41, 42, 768, 26], - ["jump", "eq_done_469", 768, 26], - "eq_nb_474", + ["jump", "eq_done_481", 768, 26], + "eq_nb_486", ["false", 43, 768, 26], - "eq_done_469", - ["jump_false", 43, "if_else_467", 768, 26], + "eq_done_481", + ["jump_false", 43, "if_else_479", 768, 26], ["get", 46, 36, 1, 769, 9], - ["jump_false", 46, "if_else_475", 769, 9], + ["jump_false", 46, "if_else_487", 769, 9], ["load_field", 47, 1, "data", 770, 17], ["move", 3, 47, 770, 17], ["get", 48, 41, 1, 771, 15], @@ -4674,12 +4674,12 @@ ["setarg", 52, 0, 53, 773, 7], ["setarg", 52, 1, 3, 773, 7], ["invoke", 52, 50, 773, 7], - ["jump", "if_end_476", 773, 7], - "if_else_475", + ["jump", "if_end_488", 773, 7], + "if_else_487", ["access", 54, "Got a contact message, but no portal is established.", 775, 17], ["get", 56, 63, 1, 775, 7], ["is_proxy", 57, 56, 775, 7], - ["jump_false", 57, "record_path_477", 775, 7], + ["jump_false", 57, "record_path_489", 775, 7], ["null", 58, 775, 7], ["access", 59, "error", 775, 7], ["array", 60, 0, 775, 7], @@ -4689,60 +4689,60 @@ ["setarg", 61, 1, 59, 775, 7], ["setarg", 61, 2, 60, 775, 7], ["invoke", 61, 55, 775, 7], - ["jump", "call_done_478", 775, 7], - "record_path_477", + ["jump", "call_done_490", 775, 7], + "record_path_489", ["load_field", 62, 56, "error", 775, 7], ["frame", 63, 62, 1, 775, 7], ["setarg", 63, 0, 56, 775, 7], ["setarg", 63, 1, 54, 775, 7], ["invoke", 63, 55, 775, 7], - "call_done_478", + "call_done_490", ["disrupt", 776, 7], - "if_end_476", - ["jump", "if_end_468", 776, 7], - "if_else_467", + "if_end_488", + ["jump", "if_end_480", 776, 7], + "if_else_479", ["load_field", 64, 1, "kind", 778, 14], ["access", 65, "couple", 778, 26], ["is_identical", 66, 64, 65, 778, 26], - ["jump_true", 66, "eq_done_481", 778, 26], + ["jump_true", 66, "eq_done_493", 778, 26], ["is_int", 67, 64, 778, 26], - ["jump_false", 67, "eq_ni_482", 778, 26], + ["jump_false", 67, "eq_ni_494", 778, 26], "_nop_tc_5", - ["jump", "eq_ni_482", 778, 26], + ["jump", "eq_ni_494", 778, 26], ["eq_int", 66, 64, 65, 778, 26], - ["jump", "eq_done_481", 778, 26], - "eq_ni_482", + ["jump", "eq_done_493", 778, 26], + "eq_ni_494", ["is_num", 67, 64, 778, 26], - ["jump_false", 67, "eq_nn_483", 778, 26], + ["jump_false", 67, "eq_nn_495", 778, 26], ["is_num", 68, 65, 778, 26], - ["jump_false", 68, "eq_nn_483", 778, 26], + ["jump_false", 68, "eq_nn_495", 778, 26], ["eq_float", 66, 64, 65, 778, 26], - ["jump", "eq_done_481", 778, 26], - "eq_nn_483", + ["jump", "eq_done_493", 778, 26], + "eq_nn_495", ["is_text", 67, 64, 778, 26], - ["jump_false", 67, "eq_nt_484", 778, 26], + ["jump_false", 67, "eq_nt_496", 778, 26], ["is_text", 68, 65, 778, 26], - ["jump_false", 68, "eq_nt_484", 778, 26], + ["jump_false", 68, "eq_nt_496", 778, 26], ["eq_text", 66, 64, 65, 778, 26], - ["jump", "eq_done_481", 778, 26], - "eq_nt_484", + ["jump", "eq_done_493", 778, 26], + "eq_nt_496", ["is_null", 67, 64, 778, 26], - ["jump_false", 67, "eq_nnl_485", 778, 26], + ["jump_false", 67, "eq_nnl_497", 778, 26], ["is_null", 68, 65, 778, 26], - ["jump_false", 68, "eq_nnl_485", 778, 26], + ["jump_false", 68, "eq_nnl_497", 778, 26], ["true", 66, 778, 26], - ["jump", "eq_done_481", 778, 26], - "eq_nnl_485", + ["jump", "eq_done_493", 778, 26], + "eq_nnl_497", ["is_bool", 67, 64, 778, 26], - ["jump_false", 67, "eq_nb_486", 778, 26], + ["jump_false", 67, "eq_nb_498", 778, 26], ["is_bool", 68, 65, 778, 26], - ["jump_false", 68, "eq_nb_486", 778, 26], + ["jump_false", 68, "eq_nb_498", 778, 26], ["eq_bool", 66, 64, 65, 778, 26], - ["jump", "eq_done_481", 778, 26], - "eq_nb_486", + ["jump", "eq_done_493", 778, 26], + "eq_nb_498", ["false", 66, 778, 26], - "eq_done_481", - ["jump_false", 66, "if_else_479", 778, 26], + "eq_done_493", + ["jump_false", 66, "if_else_491", 778, 26], ["load_field", 69, 1, "from", 780, 12], ["move", 4, 69, 780, 12], ["true", 70, 781, 38], @@ -4773,7 +4773,7 @@ ["invoke", 79, 78, 1, 1], ["get", 82, 63, 1, 782, 5], ["is_proxy", 83, 82, 782, 5], - ["jump_false", 83, "record_path_487", 782, 5], + ["jump_false", 83, "record_path_499", 782, 5], ["null", 84, 782, 5], ["access", 85, "system", 782, 5], ["array", 86, 0, 782, 5], @@ -4783,20 +4783,20 @@ ["setarg", 87, 1, 85, 782, 5], ["setarg", 87, 2, 86, 782, 5], ["invoke", 87, 81, 782, 5], - ["jump", "call_done_488", 782, 5], - "record_path_487", + ["jump", "call_done_500", 782, 5], + "record_path_499", ["load_field", 88, 82, "system", 782, 5], ["frame", 89, 88, 1, 782, 5], ["setarg", 89, 0, 82, 782, 5], ["setarg", 89, 1, 78, 782, 5], ["invoke", 89, 81, 782, 5], - "call_done_488", - ["jump", "if_end_480", 782, 5], - "if_else_479", + "call_done_500", + ["jump", "if_end_492", 782, 5], + "if_else_491", + "if_end_492", "if_end_480", - "if_end_468", - "if_end_450", - "if_end_442", + "if_end_462", + "if_end_454", ["null", 90, 782, 5], ["return", 90, 782, 5] ], @@ -4813,7 +4813,7 @@ ["null", 2, 788, 12], ["get", 4, 73, 1, 790, 11], ["load_dynamic", 5, 1, 4, 790, 11], - ["jump_false", 5, "if_else_489", 790, 11], + ["jump_false", 5, "if_else_501", 790, 11], ["get", 6, 73, 1, 791, 22], ["load_dynamic", 7, 1, 6, 791, 22], ["load_field", 8, 1, "from", 791, 30], @@ -4826,51 +4826,51 @@ ["invoke", 11, 9, 791, 5], ["null", 13, 792, 5], ["return", 13, 792, 5], - ["jump", "if_end_490", 792, 5], - "if_else_489", - "if_end_490", + ["jump", "if_end_502", 792, 5], + "if_else_501", + "if_end_502", ["load_field", 14, 1, "type", 795, 7], ["access", 15, "user", 795, 19], ["is_identical", 16, 14, 15, 795, 19], - ["jump_true", 16, "eq_done_493", 795, 19], + ["jump_true", 16, "eq_done_505", 795, 19], ["is_int", 17, 14, 795, 19], - ["jump_false", 17, "eq_ni_494", 795, 19], + ["jump_false", 17, "eq_ni_506", 795, 19], "_nop_tc_1", - ["jump", "eq_ni_494", 795, 19], + ["jump", "eq_ni_506", 795, 19], ["eq_int", 16, 14, 15, 795, 19], - ["jump", "eq_done_493", 795, 19], - "eq_ni_494", + ["jump", "eq_done_505", 795, 19], + "eq_ni_506", ["is_num", 17, 14, 795, 19], - ["jump_false", 17, "eq_nn_495", 795, 19], + ["jump_false", 17, "eq_nn_507", 795, 19], ["is_num", 18, 15, 795, 19], - ["jump_false", 18, "eq_nn_495", 795, 19], + ["jump_false", 18, "eq_nn_507", 795, 19], ["eq_float", 16, 14, 15, 795, 19], - ["jump", "eq_done_493", 795, 19], - "eq_nn_495", + ["jump", "eq_done_505", 795, 19], + "eq_nn_507", ["is_text", 17, 14, 795, 19], - ["jump_false", 17, "eq_nt_496", 795, 19], + ["jump_false", 17, "eq_nt_508", 795, 19], ["is_text", 18, 15, 795, 19], - ["jump_false", 18, "eq_nt_496", 795, 19], + ["jump_false", 18, "eq_nt_508", 795, 19], ["eq_text", 16, 14, 15, 795, 19], - ["jump", "eq_done_493", 795, 19], - "eq_nt_496", + ["jump", "eq_done_505", 795, 19], + "eq_nt_508", ["is_null", 17, 14, 795, 19], - ["jump_false", 17, "eq_nnl_497", 795, 19], + ["jump_false", 17, "eq_nnl_509", 795, 19], ["is_null", 18, 15, 795, 19], - ["jump_false", 18, "eq_nnl_497", 795, 19], + ["jump_false", 18, "eq_nnl_509", 795, 19], ["true", 16, 795, 19], - ["jump", "eq_done_493", 795, 19], - "eq_nnl_497", + ["jump", "eq_done_505", 795, 19], + "eq_nnl_509", ["is_bool", 17, 14, 795, 19], - ["jump_false", 17, "eq_nb_498", 795, 19], + ["jump_false", 17, "eq_nb_510", 795, 19], ["is_bool", 18, 15, 795, 19], - ["jump_false", 18, "eq_nb_498", 795, 19], + ["jump_false", 18, "eq_nb_510", 795, 19], ["eq_bool", 16, 14, 15, 795, 19], - ["jump", "eq_done_493", 795, 19], - "eq_nb_498", + ["jump", "eq_done_505", 795, 19], + "eq_nb_510", ["false", 16, 795, 19], - "eq_done_493", - ["jump_false", 16, "if_else_491", 795, 19], + "eq_done_505", + ["jump_false", 16, "if_else_503", 795, 19], ["load_field", 19, 1, "data", 796, 14], ["move", 3, 19, 796, 14], ["get", 20, 41, 1, 797, 35], @@ -4923,83 +4923,83 @@ ["setarg", 34, 3, 28, 800, 5], ["invoke", 34, 32, 800, 5], ["load_field", 36, 1, "return", 804, 9], - ["jump_false", 36, "if_else_499", 804, 9], + ["jump_false", 36, "if_else_511", 804, 9], ["get", 37, 64, 1, 805, 12], ["load_field", 38, 1, "return", 805, 20], ["load_dynamic", 39, 37, 38, 805, 20], ["move", 2, 39, 805, 20], - ["jump_false", 2, "if_else_501", 806, 11], + ["jump_false", 2, "if_else_513", 806, 11], ["frame", 41, 2, 1, 806, 15], ["null", 42, 806, 15], ["setarg", 41, 0, 42, 806, 15], ["setarg", 41, 1, 3, 806, 15], ["invoke", 41, 40, 806, 15], - ["jump", "if_end_502", 806, 15], - "if_else_501", - "if_end_502", + ["jump", "if_end_514", 806, 15], + "if_else_513", + "if_end_514", ["get", 44, 64, 1, 807, 14], ["load_field", 45, 1, "return", 807, 22], ["delete", 43, 44, 45, 807, 22], ["null", 46, 808, 7], ["return", 46, 808, 7], - ["jump", "if_end_500", 808, 7], - "if_else_499", - "if_end_500", + ["jump", "if_end_512", 808, 7], + "if_else_511", + "if_end_512", ["get", 47, 14, 1, 811, 9], - ["jump_false", 47, "if_else_503", 811, 9], + ["jump_false", 47, "if_else_515", 811, 9], ["get", 49, 14, 1, 811, 21], ["frame", 50, 49, 1, 811, 21], ["null", 51, 811, 21], ["setarg", 50, 0, 51, 811, 21], ["setarg", 50, 1, 3, 811, 21], ["invoke", 50, 48, 811, 21], + ["jump", "if_end_516", 811, 21], + "if_else_515", + "if_end_516", ["jump", "if_end_504", 811, 21], "if_else_503", - "if_end_504", - ["jump", "if_end_492", 811, 21], - "if_else_491", ["load_field", 52, 1, "type", 812, 14], ["access", 53, "stopped", 812, 26], ["is_identical", 54, 52, 53, 812, 26], - ["jump_true", 54, "eq_done_507", 812, 26], + ["jump_true", 54, "eq_done_519", 812, 26], ["is_int", 55, 52, 812, 26], - ["jump_false", 55, "eq_ni_508", 812, 26], + ["jump_false", 55, "eq_ni_520", 812, 26], "_nop_tc_2", - ["jump", "eq_ni_508", 812, 26], + ["jump", "eq_ni_520", 812, 26], ["eq_int", 54, 52, 53, 812, 26], - ["jump", "eq_done_507", 812, 26], - "eq_ni_508", + ["jump", "eq_done_519", 812, 26], + "eq_ni_520", ["is_num", 55, 52, 812, 26], - ["jump_false", 55, "eq_nn_509", 812, 26], + ["jump_false", 55, "eq_nn_521", 812, 26], ["is_num", 56, 53, 812, 26], - ["jump_false", 56, "eq_nn_509", 812, 26], + ["jump_false", 56, "eq_nn_521", 812, 26], ["eq_float", 54, 52, 53, 812, 26], - ["jump", "eq_done_507", 812, 26], - "eq_nn_509", + ["jump", "eq_done_519", 812, 26], + "eq_nn_521", ["is_text", 55, 52, 812, 26], - ["jump_false", 55, "eq_nt_510", 812, 26], + ["jump_false", 55, "eq_nt_522", 812, 26], ["is_text", 56, 53, 812, 26], - ["jump_false", 56, "eq_nt_510", 812, 26], + ["jump_false", 56, "eq_nt_522", 812, 26], ["eq_text", 54, 52, 53, 812, 26], - ["jump", "eq_done_507", 812, 26], - "eq_nt_510", + ["jump", "eq_done_519", 812, 26], + "eq_nt_522", ["is_null", 55, 52, 812, 26], - ["jump_false", 55, "eq_nnl_511", 812, 26], + ["jump_false", 55, "eq_nnl_523", 812, 26], ["is_null", 56, 53, 812, 26], - ["jump_false", 56, "eq_nnl_511", 812, 26], + ["jump_false", 56, "eq_nnl_523", 812, 26], ["true", 54, 812, 26], - ["jump", "eq_done_507", 812, 26], - "eq_nnl_511", + ["jump", "eq_done_519", 812, 26], + "eq_nnl_523", ["is_bool", 55, 52, 812, 26], - ["jump_false", 55, "eq_nb_512", 812, 26], + ["jump_false", 55, "eq_nb_524", 812, 26], ["is_bool", 56, 53, 812, 26], - ["jump_false", 56, "eq_nb_512", 812, 26], + ["jump_false", 56, "eq_nb_524", 812, 26], ["eq_bool", 54, 52, 53, 812, 26], - ["jump", "eq_done_507", 812, 26], - "eq_nb_512", + ["jump", "eq_done_519", 812, 26], + "eq_nb_524", ["false", 54, 812, 26], - "eq_done_507", - ["jump_false", 54, "if_else_505", 812, 26], + "eq_done_519", + ["jump_false", 54, "if_else_517", 812, 26], ["load_field", 57, 1, "id", 813, 29], ["get", 59, 25, 1, 813, 5], ["frame", 60, 59, 1, 813, 5], @@ -5007,10 +5007,10 @@ ["setarg", 60, 0, 61, 813, 5], ["setarg", 60, 1, 57, 813, 5], ["invoke", 60, 58, 813, 5], - ["jump", "if_end_506", 813, 5], - "if_else_505", - "if_end_506", - "if_end_492", + ["jump", "if_end_518", 813, 5], + "if_else_517", + "if_end_518", + "if_end_504", ["null", 62, 813, 5], ["return", 62, 813, 5] ], @@ -5024,11 +5024,11 @@ "nr_close_slots": 0, "instructions": [ ["get", 1, 23, 1, 819, 7], - ["jump_false", 1, "if_else_513", 819, 7], + ["jump_false", 1, "if_else_525", 819, 7], ["get", 2, 48, 1, 819, 30], ["get", 4, 23, 1, 819, 15], ["is_proxy", 5, 4, 819, 15], - ["jump_false", 5, "record_path_515", 819, 15], + ["jump_false", 5, "record_path_527", 819, 15], ["null", 6, 819, 15], ["access", 7, "service", 819, 15], ["array", 8, 0, 819, 15], @@ -5038,22 +5038,22 @@ ["setarg", 9, 1, 7, 819, 15], ["setarg", 9, 2, 8, 819, 15], ["invoke", 9, 3, 819, 15], - ["jump", "call_done_516", 819, 15], - "record_path_515", + ["jump", "call_done_528", 819, 15], + "record_path_527", ["load_field", 10, 4, "service", 819, 15], ["frame", 11, 10, 1, 819, 15], ["setarg", 11, 0, 4, 819, 15], ["setarg", 11, 1, 2, 819, 15], ["invoke", 11, 3, 819, 15], - "call_done_516", - ["jump", "if_end_514", 819, 15], - "if_else_513", - "if_end_514", + "call_done_528", + ["jump", "if_end_526", 819, 15], + "if_else_525", + "if_end_526", ["get", 12, 37, 1, 821, 12], ["get", 13, 60, 1, 821, 24], ["get", 15, 2, 1, 821, 3], ["is_proxy", 16, 15, 821, 3], - ["jump_false", 16, "record_path_517", 821, 3], + ["jump_false", 16, "record_path_529", 821, 3], ["null", 17, 821, 3], ["access", 18, "delay", 821, 3], ["array", 19, 0, 821, 3], @@ -5064,15 +5064,15 @@ ["setarg", 20, 1, 18, 821, 3], ["setarg", 20, 2, 19, 821, 3], ["invoke", 20, 14, 821, 3], - ["jump", "call_done_518", 821, 3], - "record_path_517", + ["jump", "call_done_530", 821, 3], + "record_path_529", ["load_field", 21, 15, "delay", 821, 3], ["frame", 22, 21, 2, 821, 3], ["setarg", 22, 0, 15, 821, 3], ["setarg", 22, 1, 12, 821, 3], ["setarg", 22, 2, 13, 821, 3], ["invoke", 22, 14, 821, 3], - "call_done_518", + "call_done_530", ["null", 23, 821, 3], ["return", 23, 821, 3] ], @@ -5102,12 +5102,12 @@ "nr_close_slots": 0, "instructions": [ ["get", 2, 7, 1, 291, 11], - ["jump_false", 2, "if_else_554", 291, 11], + ["jump_false", 2, "if_else_568", 291, 11], ["null", 3, 291, 21], ["return", 3, 291, 21], - ["jump", "if_end_555", 291, 21], - "if_else_554", - "if_end_555", + ["jump", "if_end_569", 291, 21], + "if_else_568", + "if_end_569", [ "access", 4, @@ -5189,7 +5189,7 @@ ["access", 9, "time_limit", 265, 37], ["get", 11, 21, 2, 265, 5], ["is_proxy", 12, 11, 265, 5], - ["jump_false", 12, "record_path_552", 265, 5], + ["jump_false", 12, "record_path_566", 265, 5], ["null", 13, 265, 5], ["access", 14, "check_callback", 265, 5], ["array", 15, 0, 265, 5], @@ -5200,15 +5200,15 @@ ["setarg", 16, 1, 14, 265, 5], ["setarg", 16, 2, 15, 265, 5], ["invoke", 16, 10, 265, 5], - ["jump", "call_done_553", 265, 5], - "record_path_552", + ["jump", "call_done_567", 265, 5], + "record_path_566", ["load_field", 17, 11, "check_callback", 265, 5], ["frame", 18, 17, 2, 265, 5], ["setarg", 18, 0, 11, 265, 5], ["setarg", 18, 1, 1, 265, 5], ["setarg", 18, 2, 9, 265, 5], ["invoke", 18, 10, 265, 5], - "call_done_553", + "call_done_567", ["false", 7, 266, 20], ["null", 3, 267, 28], ["null", 5, 268, 24], @@ -5216,7 +5216,7 @@ ["get", 20, 2, 1, 296, 8], ["get", 22, 2, 2, 290, 20], ["is_proxy", 23, 22, 290, 20], - ["jump_false", 23, "record_path_556", 290, 20], + ["jump_false", 23, "record_path_570", 290, 20], ["null", 24, 290, 20], ["access", 25, "delay", 290, 20], ["array", 26, 0, 290, 20], @@ -5227,15 +5227,15 @@ ["setarg", 27, 1, 25, 290, 20], ["setarg", 27, 2, 26, 290, 20], ["invoke", 27, 21, 290, 20], - ["jump", "call_done_557", 290, 20], - "record_path_556", + ["jump", "call_done_571", 290, 20], + "record_path_570", ["load_field", 28, 22, "delay", 290, 20], ["frame", 29, 28, 2, 290, 20], ["setarg", 29, 0, 22, 290, 20], ["setarg", 29, 1, 19, 290, 20], ["setarg", 29, 2, 20, 290, 20], ["invoke", 29, 21, 290, 20], - "call_done_557", + "call_done_571", ["move", 5, 21, 290, 20], ["frame", 31, 6, 0, 312, 5], ["null", 32, 312, 5], @@ -5257,7 +5257,7 @@ "instructions": [ ["get", 4, 21, 1, 255, 8], ["is_proxy", 5, 4, 255, 8], - ["jump_false", 5, "record_path_539", 255, 8], + ["jump_false", 5, "record_path_553", 255, 8], ["null", 6, 255, 8], ["access", 7, "is_requestor", 255, 8], ["array", 8, 0, 255, 8], @@ -5267,20 +5267,20 @@ ["setarg", 9, 1, 7, 255, 8], ["setarg", 9, 2, 8, 255, 8], ["invoke", 9, 3, 255, 8], - ["jump", "call_done_540", 255, 8], - "record_path_539", + ["jump", "call_done_554", 255, 8], + "record_path_553", ["load_field", 10, 4, "is_requestor", 255, 8], ["frame", 11, 10, 1, 255, 8], ["setarg", 11, 0, 4, 255, 8], ["setarg", 11, 1, 1, 255, 8], ["invoke", 11, 3, 255, 8], - "call_done_540", + "call_done_554", "_nop_bl_1", - ["jump_true", 3, "if_else_537", 255, 8], + ["jump_true", 3, "if_else_551", 255, 8], ["access", 13, "time_limit: first argument must be a requestor", 256, 15], ["get", 15, 63, 1, 256, 5], ["is_proxy", 16, 15, 256, 5], - ["jump_false", 16, "record_path_541", 256, 5], + ["jump_false", 16, "record_path_555", 256, 5], ["null", 17, 256, 5], ["access", 18, "error", 256, 5], ["array", 19, 0, 256, 5], @@ -5290,53 +5290,53 @@ ["setarg", 20, 1, 18, 256, 5], ["setarg", 20, 2, 19, 256, 5], ["invoke", 20, 14, 256, 5], - ["jump", "call_done_542", 256, 5], - "record_path_541", + ["jump", "call_done_556", 256, 5], + "record_path_555", ["load_field", 21, 15, "error", 256, 5], ["frame", 22, 21, 1, 256, 5], ["setarg", 22, 0, 15, 256, 5], ["setarg", 22, 1, 13, 256, 5], ["invoke", 22, 14, 256, 5], - "call_done_542", + "call_done_556", ["disrupt", 257, 5], - ["jump", "if_end_538", 257, 5], - "if_else_537", - "if_end_538", + ["jump", "if_end_552", 257, 5], + "if_else_551", + "if_end_552", ["is_num", 23, 2, 259, 18], ["not", 24, 23, 259, 18], ["move", 25, 24, 259, 18], - ["jump_true", 25, "or_end_545", 259, 18], + ["jump_true", 25, "or_end_559", 259, 18], ["access", 26, 0, 259, 41], ["is_int", 28, 2, 259, 41], - ["jump_false", 28, "rel_ni_546", 259, 41], + ["jump_false", 28, "rel_ni_560", 259, 41], "_nop_tc_1", - ["jump", "rel_ni_546", 259, 41], + ["jump", "rel_ni_560", 259, 41], ["le_int", 27, 2, 26, 259, 41], - ["jump", "rel_done_548", 259, 41], - "rel_ni_546", + ["jump", "rel_done_562", 259, 41], + "rel_ni_560", ["is_num", 28, 2, 259, 41], - ["jump_false", 28, "rel_nn_547", 259, 41], + ["jump_false", 28, "rel_nn_561", 259, 41], ["is_num", 29, 26, 259, 41], - ["jump_false", 29, "rel_nn_547", 259, 41], + ["jump_false", 29, "rel_nn_561", 259, 41], ["le_float", 27, 2, 26, 259, 41], - ["jump", "rel_done_548", 259, 41], - "rel_nn_547", + ["jump", "rel_done_562", 259, 41], + "rel_nn_561", ["is_text", 28, 2, 259, 41], - ["jump_false", 28, "rel_err_549", 259, 41], + ["jump_false", 28, "rel_err_563", 259, 41], ["is_text", 29, 26, 259, 41], - ["jump_false", 29, "rel_err_549", 259, 41], + ["jump_false", 29, "rel_err_563", 259, 41], ["le_text", 27, 2, 26, 259, 41], - ["jump", "rel_done_548", 259, 41], - "rel_err_549", + ["jump", "rel_done_562", 259, 41], + "rel_err_563", ["disrupt", 259, 41], - "rel_done_548", + "rel_done_562", ["move", 25, 27, 259, 41], - "or_end_545", - ["jump_false", 25, "if_else_543", 259, 41], + "or_end_559", + ["jump_false", 25, "if_else_557", 259, 41], ["access", 30, "time_limit: seconds must be a positive number", 260, 15], ["get", 32, 63, 1, 260, 5], ["is_proxy", 33, 32, 260, 5], - ["jump_false", 33, "record_path_550", 260, 5], + ["jump_false", 33, "record_path_564", 260, 5], ["null", 34, 260, 5], ["access", 35, "error", 260, 5], ["array", 36, 0, 260, 5], @@ -5346,18 +5346,18 @@ ["setarg", 37, 1, 35, 260, 5], ["setarg", 37, 2, 36, 260, 5], ["invoke", 37, 31, 260, 5], - ["jump", "call_done_551", 260, 5], - "record_path_550", + ["jump", "call_done_565", 260, 5], + "record_path_564", ["load_field", 38, 32, "error", 260, 5], ["frame", 39, 38, 1, 260, 5], ["setarg", 39, 0, 32, 260, 5], ["setarg", 39, 1, 30, 260, 5], ["invoke", 39, 31, 260, 5], - "call_done_551", + "call_done_565", ["disrupt", 261, 5], - ["jump", "if_end_544", 261, 5], - "if_else_543", - "if_end_544", + ["jump", "if_end_558", 261, 5], + "if_else_557", + "if_end_558", ["function", 40, 41, 264, 10], ["return", 40, 264, 10], ["null", 41, 264, 10], @@ -5374,7 +5374,7 @@ "instructions": [ ["get", 3, 3, 2, 371, 8], ["is_proxy", 4, 3, 371, 8], - ["jump_false", 4, "record_path_558", 371, 8], + ["jump_false", 4, "record_path_572", 371, 8], ["null", 5, 371, 8], ["access", 6, "number", 371, 8], ["array", 7, 0, 371, 8], @@ -5383,13 +5383,13 @@ ["setarg", 8, 1, 6, 371, 8], ["setarg", 8, 2, 7, 371, 8], ["invoke", 8, 2, 371, 8], - ["jump", "call_done_559", 371, 8], - "record_path_558", + ["jump", "call_done_573", 371, 8], + "record_path_572", ["load_field", 9, 3, "number", 371, 8], ["frame", 10, 9, 0, 371, 8], ["setarg", 10, 0, 3, 371, 8], ["invoke", 10, 2, 371, 8], - "call_done_559", + "call_done_573", ["get", 12, 1, 1, 371, 5], ["frame", 13, 12, 1, 371, 5], ["null", 14, 371, 5], @@ -5416,7 +5416,7 @@ ["function", 2, 43, 370, 19], ["get", 4, 30, 1, 370, 3], ["is_proxy", 5, 4, 370, 3], - ["jump_false", 5, "record_path_560", 370, 3], + ["jump_false", 5, "record_path_574", 370, 3], ["null", 6, 370, 3], ["access", 7, "clock", 370, 3], ["array", 8, 0, 370, 3], @@ -5426,14 +5426,14 @@ ["setarg", 9, 1, 7, 370, 3], ["setarg", 9, 2, 8, 370, 3], ["invoke", 9, 3, 370, 3], - ["jump", "call_done_561", 370, 3], - "record_path_560", + ["jump", "call_done_575", 370, 3], + "record_path_574", ["load_field", 10, 4, "clock", 370, 3], ["frame", 11, 10, 1, 370, 3], ["setarg", 11, 0, 4, 370, 3], ["setarg", 11, 1, 2, 370, 3], ["invoke", 11, 3, 370, 3], - "call_done_561", + "call_done_575", ["null", 12, 370, 3], ["return", 12, 370, 3] ], @@ -5462,7 +5462,7 @@ ["load_field", 8, 7, "id", 408, 26], ["load_dynamic", 9, 5, 8, 408, 26], ["move", 4, 9, 408, 26], - ["jump_false", 4, "if_else_562", 409, 7], + ["jump_false", 4, "if_else_576", 409, 7], ["get", 11, 28, 1, 410, 14], ["frame", 12, 11, 1, 410, 14], ["null", 13, 410, 14], @@ -5476,15 +5476,15 @@ ["invoke", 15, 14, 410, 5], ["null", 17, 411, 5], ["return", 17, 411, 5], - ["jump", "if_end_563", 411, 5], - "if_else_562", - "if_end_563", + ["jump", "if_end_577", 411, 5], + "if_else_576", + "if_end_577", ["get", 18, 27, 1, 413, 37], ["load_dynamic", 19, 2, 18, 413, 37], ["load_field", 20, 19, "id", 413, 37], ["get", 22, 30, 1, 413, 7], ["is_proxy", 23, 22, 413, 7], - ["jump_false", 23, "record_path_566", 413, 7], + ["jump_false", 23, "record_path_580", 413, 7], ["null", 24, 413, 7], ["access", 25, "mailbox_exist", 413, 7], ["array", 26, 0, 413, 7], @@ -5494,15 +5494,15 @@ ["setarg", 27, 1, 25, 413, 7], ["setarg", 27, 2, 26, 413, 7], ["invoke", 27, 21, 413, 7], - ["jump", "call_done_567", 413, 7], - "record_path_566", + ["jump", "call_done_581", 413, 7], + "record_path_580", ["load_field", 28, 22, "mailbox_exist", 413, 7], ["frame", 29, 28, 1, 413, 7], ["setarg", 29, 0, 22, 413, 7], ["setarg", 29, 1, 20, 413, 7], ["invoke", 29, 21, 413, 7], - "call_done_567", - ["jump_false", 21, "if_else_564", 413, 7], + "call_done_581", + ["jump_false", 21, "if_else_578", 413, 7], ["record", 30, 0], ["access", 31, "local", 414, 20], ["store_field", 30, 31, "type", 414, 20], @@ -5513,9 +5513,9 @@ ["invoke", 33, 32, 414, 5], ["null", 35, 415, 5], ["return", 35, 415, 5], - ["jump", "if_end_565", 415, 5], - "if_else_564", - "if_end_565", + ["jump", "if_end_579", 415, 5], + "if_else_578", + "if_end_579", ["frame", 37, 1, 0, 418, 3], ["null", 38, 418, 3], ["setarg", 37, 0, 38, 418, 3], @@ -5533,7 +5533,7 @@ "nr_close_slots": 0, "instructions": [ ["get", 3, 23, 1, 429, 7], - ["jump_false", 3, "if_else_568", 429, 7], + ["jump_false", 3, "if_else_582", 429, 7], ["get", 4, 23, 1, 1, 1], ["load_field", 5, 4, "port", 1, 1], ["array", 6, 0, 1, 1], @@ -5558,7 +5558,7 @@ ["invoke", 10, 9, 1, 1], ["get", 13, 63, 1, 430, 5], ["is_proxy", 14, 13, 430, 5], - ["jump_false", 14, "record_path_570", 430, 5], + ["jump_false", 14, "record_path_584", 430, 5], ["null", 15, 430, 5], ["access", 16, "error", 430, 5], ["array", 17, 0, 430, 5], @@ -5568,24 +5568,24 @@ ["setarg", 18, 1, 16, 430, 5], ["setarg", 18, 2, 17, 430, 5], ["invoke", 18, 12, 430, 5], - ["jump", "call_done_571", 430, 5], - "record_path_570", + ["jump", "call_done_585", 430, 5], + "record_path_584", ["load_field", 19, 13, "error", 430, 5], ["frame", 20, 19, 1, 430, 5], ["setarg", 20, 0, 13, 430, 5], ["setarg", 20, 1, 9, 430, 5], ["invoke", 20, 12, 430, 5], - "call_done_571", + "call_done_585", ["disrupt", 431, 5], - ["jump", "if_end_569", 431, 5], - "if_else_568", - "if_end_569", + ["jump", "if_end_583", 431, 5], + "if_else_582", + "if_end_583", "_nop_bl_1", - ["jump_true", 2, "if_else_572", 433, 8], + ["jump_true", 2, "if_else_586", 433, 8], ["access", 22, "Requires a valid port.", 434, 15], ["get", 24, 63, 1, 434, 5], ["is_proxy", 25, 24, 434, 5], - ["jump_false", 25, "record_path_574", 434, 5], + ["jump_false", 25, "record_path_588", 434, 5], ["null", 26, 434, 5], ["access", 27, "error", 434, 5], ["array", 28, 0, 434, 5], @@ -5595,18 +5595,18 @@ ["setarg", 29, 1, 27, 434, 5], ["setarg", 29, 2, 28, 434, 5], ["invoke", 29, 23, 434, 5], - ["jump", "call_done_575", 434, 5], - "record_path_574", + ["jump", "call_done_589", 434, 5], + "record_path_588", ["load_field", 30, 24, "error", 434, 5], ["frame", 31, 30, 1, 434, 5], ["setarg", 31, 0, 24, 434, 5], ["setarg", 31, 1, 22, 434, 5], ["invoke", 31, 23, 434, 5], - "call_done_575", + "call_done_589", ["disrupt", 435, 5], - ["jump", "if_end_573", 435, 5], - "if_else_572", - "if_end_573", + ["jump", "if_end_587", 435, 5], + "if_else_586", + "if_end_587", ["array", 32, 0, 1, 1], ["push", 32, 2, 1, 1], [ @@ -5629,7 +5629,7 @@ ["invoke", 36, 35, 1, 1], ["get", 39, 63, 1, 437, 3], ["is_proxy", 40, 39, 437, 3], - ["jump_false", 40, "record_path_576", 437, 3], + ["jump_false", 40, "record_path_590", 437, 3], ["null", 41, 437, 3], ["access", 42, "system", 437, 3], ["array", 43, 0, 437, 3], @@ -5639,14 +5639,14 @@ ["setarg", 44, 1, 42, 437, 3], ["setarg", 44, 2, 43, 437, 3], ["invoke", 44, 38, 437, 3], - ["jump", "call_done_577", 437, 3], - "record_path_576", + ["jump", "call_done_591", 437, 3], + "record_path_590", ["load_field", 45, 39, "system", 437, 3], ["frame", 46, 45, 1, 437, 3], ["setarg", 46, 0, 39, 437, 3], ["setarg", 46, 1, 35, 437, 3], ["invoke", 46, 38, 437, 3], - "call_done_577", + "call_done_591", ["record", 47, 0], ["access", 48, "any", 438, 39], ["store_field", 47, 48, "address", 438, 39], @@ -5663,7 +5663,7 @@ 12 ], ["is_proxy", 51, 50, 438, 12], - ["jump_false", 51, "record_path_578", 438, 12], + ["jump_false", 51, "record_path_592", 438, 12], ["null", 52, 438, 12], ["access", 53, "create_host", 438, 12], ["array", 54, 0, 438, 12], @@ -5673,14 +5673,14 @@ ["setarg", 55, 1, 53, 438, 12], ["setarg", 55, 2, 54, 438, 12], ["invoke", 55, 49, 438, 12], - ["jump", "call_done_579", 438, 12], - "record_path_578", + ["jump", "call_done_593", 438, 12], + "record_path_592", ["load_field", 56, 50, "create_host", 438, 12], ["frame", 57, 56, 1, 438, 12], ["setarg", 57, 0, 50, 438, 12], ["setarg", 57, 1, 47, 438, 12], ["invoke", 57, 49, 438, 12], - "call_done_579", + "call_done_593", ["put", 49, 23, 1, 438, 12], ["put", 1, 36, 1, 439, 15], ["null", 58, 439, 15], @@ -5735,12 +5735,12 @@ "nr_close_slots": 0, "instructions": [ "_nop_bl_1", - ["jump_true", 2, "if_else_580", 495, 10], + ["jump_true", 2, "if_else_594", 495, 10], ["null", 6, 495, 19], ["return", 6, 495, 19], - ["jump", "if_end_581", 495, 19], - "if_else_580", - "if_end_581", + ["jump", "if_end_595", 495, 19], + "if_else_594", + "if_end_595", ["get", 8, 6, 1, 497, 14], ["frame", 9, 8, 0, 497, 14], ["null", 10, 497, 14], @@ -5772,12 +5772,12 @@ ["record", 17, 0], ["store_field", 17, 3, "startup", 505, 27], ["is_array", 18, 16, 505, 27], - ["jump_false", 18, "push_err_582", 505, 27], + ["jump_false", 18, "push_err_596", 505, 27], ["push", 16, 17, 505, 27], - ["jump", "push_done_583", 505, 27], - "push_err_582", + ["jump", "push_done_597", 505, 27], + "push_err_596", ["disrupt", 505, 27], - "push_done_583", + "push_done_597", ["null", 19, 505, 27], ["return", 19, 505, 27] ], @@ -5791,14 +5791,14 @@ "nr_close_slots": 0, "instructions": [ "_nop_bl_1", - ["jump_true", 1, "if_else_584", 510, 8], + ["jump_true", 1, "if_else_598", 510, 8], ["true", 3, 511, 17], ["put", 3, 51, 1, 511, 17], ["null", 4, 512, 5], ["return", 4, 512, 5], - ["jump", "if_end_585", 512, 5], - "if_else_584", - "if_end_585", + ["jump", "if_end_599", 512, 5], + "if_else_598", + "if_end_599", ["get", 6, 5, 1, 514, 8], ["frame", 7, 6, 1, 514, 8], ["null", 8, 514, 8], @@ -5806,11 +5806,11 @@ ["setarg", 7, 1, 1, 514, 8], ["invoke", 7, 5, 514, 8], "_nop_bl_2", - ["jump_true", 5, "if_else_586", 514, 8], + ["jump_true", 5, "if_else_600", 514, 8], ["access", 10, "Can only call stop on an actor.", 515, 15], ["get", 12, 63, 1, 515, 5], ["is_proxy", 13, 12, 515, 5], - ["jump_false", 13, "record_path_588", 515, 5], + ["jump_false", 13, "record_path_602", 515, 5], ["null", 14, 515, 5], ["access", 15, "error", 515, 5], ["array", 16, 0, 515, 5], @@ -5820,29 +5820,29 @@ ["setarg", 17, 1, 15, 515, 5], ["setarg", 17, 2, 16, 515, 5], ["invoke", 17, 11, 515, 5], - ["jump", "call_done_589", 515, 5], - "record_path_588", + ["jump", "call_done_603", 515, 5], + "record_path_602", ["load_field", 18, 12, "error", 515, 5], ["frame", 19, 18, 1, 515, 5], ["setarg", 19, 0, 12, 515, 5], ["setarg", 19, 1, 10, 515, 5], ["invoke", 19, 11, 515, 5], - "call_done_589", + "call_done_603", ["disrupt", 516, 5], - ["jump", "if_end_587", 516, 5], - "if_else_586", - "if_end_587", + ["jump", "if_end_601", 516, 5], + "if_else_600", + "if_end_601", ["get", 20, 12, 1, 518, 15], ["get", 21, 27, 1, 518, 32], ["load_dynamic", 22, 1, 21, 518, 32], ["load_field", 23, 22, "id", 518, 32], ["load_dynamic", 24, 20, 23, 518, 32], ["is_null", 25, 24, 518, 32], - ["jump_false", 25, "if_else_590", 518, 32], + ["jump_false", 25, "if_else_604", 518, 32], ["access", 26, "Can only call stop on an underling or self.", 519, 15], ["get", 28, 63, 1, 519, 5], ["is_proxy", 29, 28, 519, 5], - ["jump_false", 29, "record_path_592", 519, 5], + ["jump_false", 29, "record_path_606", 519, 5], ["null", 30, 519, 5], ["access", 31, "error", 519, 5], ["array", 32, 0, 519, 5], @@ -5852,18 +5852,18 @@ ["setarg", 33, 1, 31, 519, 5], ["setarg", 33, 2, 32, 519, 5], ["invoke", 33, 27, 519, 5], - ["jump", "call_done_593", 519, 5], - "record_path_592", + ["jump", "call_done_607", 519, 5], + "record_path_606", ["load_field", 34, 28, "error", 519, 5], ["frame", 35, 34, 1, 519, 5], ["setarg", 35, 0, 28, 519, 5], ["setarg", 35, 1, 26, 519, 5], ["invoke", 35, 27, 519, 5], - "call_done_593", + "call_done_607", ["disrupt", 520, 5], - ["jump", "if_end_591", 520, 5], - "if_else_590", - "if_end_591", + ["jump", "if_end_605", 520, 5], + "if_else_604", + "if_end_605", ["record", 36, 0], ["access", 37, "stop", 523, 24], ["store_field", 36, 37, "kind", 523, 24], @@ -5888,7 +5888,7 @@ "instructions": [ ["get", 4, 30, 1, 528, 3], ["is_proxy", 5, 4, 528, 3], - ["jump_false", 5, "record_path_594", 528, 3], + ["jump_false", 5, "record_path_608", 528, 3], ["null", 6, 528, 3], ["access", 7, "unneeded", 528, 3], ["array", 8, 0, 528, 3], @@ -5899,15 +5899,15 @@ ["setarg", 9, 1, 7, 528, 3], ["setarg", 9, 2, 8, 528, 3], ["invoke", 9, 3, 528, 3], - ["jump", "call_done_595", 528, 3], - "record_path_594", + ["jump", "call_done_609", 528, 3], + "record_path_608", ["load_field", 10, 4, "unneeded", 528, 3], ["frame", 11, 10, 2, 528, 3], ["setarg", 11, 0, 4, 528, 3], ["setarg", 11, 1, 1, 528, 3], ["setarg", 11, 2, 2, 528, 3], ["invoke", 11, 3, 528, 3], - "call_done_595", + "call_done_609", ["null", 12, 528, 3], ["return", 12, 528, 3] ], @@ -5923,7 +5923,7 @@ ["get", 1, 4, 1, 539, 45], ["get", 3, 30, 2, 539, 23], ["is_proxy", 4, 3, 539, 23], - ["jump_false", 4, "record_path_606", 539, 23], + ["jump_false", 4, "record_path_620", 539, 23], ["null", 5, 539, 23], ["access", 6, "removetimer", 539, 23], ["array", 7, 0, 539, 23], @@ -5933,14 +5933,14 @@ ["setarg", 8, 1, 6, 539, 23], ["setarg", 8, 2, 7, 539, 23], ["invoke", 8, 2, 539, 23], - ["jump", "call_done_607", 539, 23], - "record_path_606", + ["jump", "call_done_621", 539, 23], + "record_path_620", ["load_field", 9, 3, "removetimer", 539, 23], ["frame", 10, 9, 1, 539, 23], ["setarg", 10, 0, 3, 539, 23], ["setarg", 10, 1, 1, 539, 23], ["invoke", 10, 2, 539, 23], - "call_done_607", + "call_done_621", ["null", 11, 539, 23], ["return", 11, 539, 23] ], @@ -5955,55 +5955,55 @@ "instructions": [ ["null", 6, 533, 29], ["is_identical", 7, 2, 6, 533, 29], - ["jump_true", 7, "eq_done_598", 533, 29], + ["jump_true", 7, "eq_done_612", 533, 29], ["is_int", 8, 2, 533, 29], - ["jump_false", 8, "eq_ni_599", 533, 29], + ["jump_false", 8, "eq_ni_613", 533, 29], "_nop_tc_1", - ["jump", "eq_ni_599", 533, 29], + ["jump", "eq_ni_613", 533, 29], ["eq_int", 7, 2, 6, 533, 29], - ["jump", "eq_done_598", 533, 29], - "eq_ni_599", + ["jump", "eq_done_612", 533, 29], + "eq_ni_613", ["is_num", 8, 2, 533, 29], - ["jump_false", 8, "eq_nn_600", 533, 29], + ["jump_false", 8, "eq_nn_614", 533, 29], ["is_num", 9, 6, 533, 29], - ["jump_false", 9, "eq_nn_600", 533, 29], + ["jump_false", 9, "eq_nn_614", 533, 29], ["eq_float", 7, 2, 6, 533, 29], - ["jump", "eq_done_598", 533, 29], - "eq_nn_600", + ["jump", "eq_done_612", 533, 29], + "eq_nn_614", ["is_text", 8, 2, 533, 29], - ["jump_false", 8, "eq_nt_601", 533, 29], + ["jump_false", 8, "eq_nt_615", 533, 29], ["is_text", 9, 6, 533, 29], - ["jump_false", 9, "eq_nt_601", 533, 29], + ["jump_false", 9, "eq_nt_615", 533, 29], ["eq_text", 7, 2, 6, 533, 29], - ["jump", "eq_done_598", 533, 29], - "eq_nt_601", + ["jump", "eq_done_612", 533, 29], + "eq_nt_615", ["is_null", 8, 2, 533, 29], - ["jump_false", 8, "eq_nnl_602", 533, 29], + ["jump_false", 8, "eq_nnl_616", 533, 29], ["is_null", 9, 6, 533, 29], - ["jump_false", 9, "eq_nnl_602", 533, 29], + ["jump_false", 9, "eq_nnl_616", 533, 29], ["true", 7, 533, 29], - ["jump", "eq_done_598", 533, 29], - "eq_nnl_602", + ["jump", "eq_done_612", 533, 29], + "eq_nnl_616", ["is_bool", 8, 2, 533, 29], - ["jump_false", 8, "eq_nb_603", 533, 29], + ["jump_false", 8, "eq_nb_617", 533, 29], ["is_bool", 9, 6, 533, 29], - ["jump_false", 9, "eq_nb_603", 533, 29], + ["jump_false", 9, "eq_nb_617", 533, 29], ["eq_bool", 7, 2, 6, 533, 29], - ["jump", "eq_done_598", 533, 29], - "eq_nb_603", + ["jump", "eq_done_612", 533, 29], + "eq_nb_617", ["false", 7, 533, 29], - "eq_done_598", - ["jump_false", 7, "tern_else_596", 533, 29], + "eq_done_612", + ["jump_false", 7, "tern_else_610", 533, 29], ["access", 11, 0, 533, 36], ["move", 10, 11, 533, 36], - ["jump", "tern_end_597", 533, 36], - "tern_else_596", + ["jump", "tern_end_611", 533, 36], + "tern_else_610", ["move", 10, 2, 533, 40], - "tern_end_597", + "tern_end_611", ["move", 3, 10, 533, 40], ["get", 13, 30, 1, 538, 12], ["is_proxy", 14, 13, 538, 12], - ["jump_false", 14, "record_path_604", 538, 12], + ["jump_false", 14, "record_path_618", 538, 12], ["null", 15, 538, 12], ["access", 16, "delay", 538, 12], ["array", 17, 0, 538, 12], @@ -6014,15 +6014,15 @@ ["setarg", 18, 1, 16, 538, 12], ["setarg", 18, 2, 17, 538, 12], ["invoke", 18, 12, 538, 12], - ["jump", "call_done_605", 538, 12], - "record_path_604", + ["jump", "call_done_619", 538, 12], + "record_path_618", ["load_field", 19, 13, "delay", 538, 12], ["frame", 20, 19, 2, 538, 12], ["setarg", 20, 0, 13, 538, 12], ["setarg", 20, 1, 5, 538, 12], ["setarg", 20, 2, 3, 538, 12], ["invoke", 20, 12, 538, 12], - "call_done_605", + "call_done_619", ["move", 4, 12, 538, 12], ["function", 21, 52, 539, 10], ["return", 21, 539, 10], @@ -6041,50 +6041,50 @@ ["get", 2, 2, 1, 547, 16], ["load_field", 3, 2, "self", 547, 16], ["is_identical", 4, 1, 3, 547, 16], - ["jump_true", 4, "eq_done_610", 547, 16], + ["jump_true", 4, "eq_done_624", 547, 16], ["is_int", 5, 1, 547, 16], - ["jump_false", 5, "eq_ni_611", 547, 16], + ["jump_false", 5, "eq_ni_625", 547, 16], ["is_int", 6, 3, 547, 16], - ["jump_false", 6, "eq_ni_611", 547, 16], + ["jump_false", 6, "eq_ni_625", 547, 16], ["eq_int", 4, 1, 3, 547, 16], - ["jump", "eq_done_610", 547, 16], - "eq_ni_611", + ["jump", "eq_done_624", 547, 16], + "eq_ni_625", ["is_num", 5, 1, 547, 16], - ["jump_false", 5, "eq_nn_612", 547, 16], + ["jump_false", 5, "eq_nn_626", 547, 16], ["is_num", 6, 3, 547, 16], - ["jump_false", 6, "eq_nn_612", 547, 16], + ["jump_false", 6, "eq_nn_626", 547, 16], ["eq_float", 4, 1, 3, 547, 16], - ["jump", "eq_done_610", 547, 16], - "eq_nn_612", + ["jump", "eq_done_624", 547, 16], + "eq_nn_626", ["is_text", 5, 1, 547, 16], - ["jump_false", 5, "eq_nt_613", 547, 16], + ["jump_false", 5, "eq_nt_627", 547, 16], ["is_text", 6, 3, 547, 16], - ["jump_false", 6, "eq_nt_613", 547, 16], + ["jump_false", 6, "eq_nt_627", 547, 16], ["eq_text", 4, 1, 3, 547, 16], - ["jump", "eq_done_610", 547, 16], - "eq_nt_613", + ["jump", "eq_done_624", 547, 16], + "eq_nt_627", ["is_null", 5, 1, 547, 16], - ["jump_false", 5, "eq_nnl_614", 547, 16], + ["jump_false", 5, "eq_nnl_628", 547, 16], ["is_null", 6, 3, 547, 16], - ["jump_false", 6, "eq_nnl_614", 547, 16], + ["jump_false", 6, "eq_nnl_628", 547, 16], ["true", 4, 547, 16], - ["jump", "eq_done_610", 547, 16], - "eq_nnl_614", + ["jump", "eq_done_624", 547, 16], + "eq_nnl_628", ["is_bool", 5, 1, 547, 16], - ["jump_false", 5, "eq_nb_615", 547, 16], + ["jump_false", 5, "eq_nb_629", 547, 16], ["is_bool", 6, 3, 547, 16], - ["jump_false", 6, "eq_nb_615", 547, 16], + ["jump_false", 6, "eq_nb_629", 547, 16], ["eq_bool", 4, 1, 3, 547, 16], - ["jump", "eq_done_610", 547, 16], - "eq_nb_615", + ["jump", "eq_done_624", 547, 16], + "eq_nb_629", ["false", 4, 547, 16], - "eq_done_610", - ["jump_false", 4, "if_else_608", 547, 16], + "eq_done_624", + ["jump_false", 4, "if_else_622", 547, 16], ["null", 7, 547, 25], ["return", 7, 547, 25], - ["jump", "if_end_609", 547, 25], - "if_else_608", - "if_end_609", + ["jump", "if_end_623", 547, 25], + "if_else_622", + "if_end_623", ["true", 8, 548, 36], ["get", 9, 26, 1, 548, 3], ["get", 10, 27, 1, 548, 19], @@ -6126,7 +6126,7 @@ ["invoke", 25, 24, 1, 1], ["get", 28, 63, 1, 550, 3], ["is_proxy", 29, 28, 550, 3], - ["jump_false", 29, "record_path_616", 550, 3], + ["jump_false", 29, "record_path_630", 550, 3], ["null", 30, 550, 3], ["access", 31, "system", 550, 3], ["array", 32, 0, 550, 3], @@ -6136,14 +6136,14 @@ ["setarg", 33, 1, 31, 550, 3], ["setarg", 33, 2, 32, 550, 3], ["invoke", 33, 27, 550, 3], - ["jump", "call_done_617", 550, 3], - "record_path_616", + ["jump", "call_done_631", 550, 3], + "record_path_630", ["load_field", 34, 28, "system", 550, 3], ["frame", 35, 34, 1, 550, 3], ["setarg", 35, 0, 28, 550, 3], ["setarg", 35, 1, 24, 550, 3], ["invoke", 35, 27, 550, 3], - "call_done_617", + "call_done_631", ["null", 36, 550, 3], ["return", 36, 550, 3] ], @@ -6174,36 +6174,36 @@ "instructions": [ ["access", 4, "core/", 878, 14], "_nop_tc_1", - ["jump", "add_ni_747", 878, 24], + ["jump", "add_ni_763", 878, 24], ["is_int", 7, 1, 878, 24], - ["jump_false", 7, "add_ni_747", 878, 24], + ["jump_false", 7, "add_ni_763", 878, 24], ["add_int", 5, 4, 1, 878, 24], - ["jump", "add_done_749", 878, 24], - "add_ni_747", + ["jump", "add_done_765", 878, 24], + "add_ni_763", ["is_text", 7, 1, 878, 24], - ["jump_false", 7, "add_nt_748", 878, 24], + ["jump_false", 7, "add_nt_764", 878, 24], ["concat", 5, 4, 1, 878, 24], - ["jump", "add_done_749", 878, 24], - "add_nt_748", + ["jump", "add_done_765", 878, 24], + "add_nt_764", ["is_num", 6, 4, 878, 24], - ["jump_false", 6, "add_err_750", 878, 24], + ["jump_false", 6, "add_err_766", 878, 24], ["is_num", 7, 1, 878, 24], - ["jump_false", 7, "add_err_750", 878, 24], + ["jump_false", 7, "add_err_766", 878, 24], ["add_float", 5, 4, 1, 878, 24], - ["jump", "add_done_749", 878, 24], - "add_err_750", + ["jump", "add_done_765", 878, 24], + "add_err_766", ["disrupt", 878, 24], - "add_done_749", + "add_done_765", ["move", 2, 5, 878, 24], ["get", 8, 67, 2, 879, 9], ["load_dynamic", 9, 8, 2, 879, 19], - ["jump_false", 9, "if_else_751", 879, 19], + ["jump_false", 9, "if_else_767", 879, 19], ["get", 10, 67, 2, 879, 31], ["load_dynamic", 11, 10, 2, 879, 41], ["return", 11, 879, 41], - ["jump", "if_end_752", 879, 41], - "if_else_751", - "if_end_752", + ["jump", "if_end_768", 879, 41], + "if_else_767", + "if_end_768", ["get", 13, 32, 2, 880, 20], ["frame", 14, 13, 1, 880, 20], ["null", 15, 880, 20], @@ -6211,15 +6211,15 @@ ["setarg", 14, 1, 1, 880, 20], ["invoke", 14, 12, 880, 20], ["move", 3, 12, 880, 20], - ["jump_false", 3, "if_else_753", 881, 9], + ["jump_false", 3, "if_else_769", 881, 9], ["return", 3, 881, 26], - ["jump", "if_end_754", 881, 26], - "if_else_753", - "if_end_754", + ["jump", "if_end_770", 881, 26], + "if_else_769", + "if_end_770", ["get", 16, 8, 1, 882, 27], ["get", 18, 50, 2, 882, 12], ["is_proxy", 19, 18, 882, 12], - ["jump_false", 19, "record_path_755", 882, 12], + ["jump_false", 19, "record_path_771", 882, 12], ["null", 20, 882, 12], ["access", 21, "use", 882, 12], ["array", 22, 0, 882, 12], @@ -6230,15 +6230,15 @@ ["setarg", 23, 1, 21, 882, 12], ["setarg", 23, 2, 22, 882, 12], ["invoke", 23, 17, 882, 12], - ["jump", "call_done_756", 882, 12], - "record_path_755", + ["jump", "call_done_772", 882, 12], + "record_path_771", ["load_field", 24, 18, "use", 882, 12], ["frame", 25, 24, 2, 882, 12], ["setarg", 25, 0, 18, 882, 12], ["setarg", 25, 1, 1, 882, 12], ["setarg", 25, 2, 16, 882, 12], ["invoke", 25, 17, 882, 12], - "call_done_756", + "call_done_772", ["return", 17, 882, 12], ["null", 26, 882, 12], ["return", 26, 882, 12] @@ -6249,16 +6249,16 @@ }, { "disruption_pc": 0, - "nr_slots": 126, + "nr_slots": 131, "nr_close_slots": 0, "instructions": [ ["get", 12, 50, 1, 858, 19], ["load_field", 13, 12, "file_info", 858, 19], - ["jump_false", 13, "tern_else_706", 858, 19], + ["jump_false", 13, "tern_else_720", 858, 19], ["get", 15, 68, 1, 858, 51], ["get", 17, 50, 1, 858, 36], ["is_proxy", 18, 17, 858, 36], - ["jump_false", 18, "record_path_708", 858, 36], + ["jump_false", 18, "record_path_722", 858, 36], ["null", 19, 858, 36], ["access", 20, "file_info", 858, 36], ["array", 21, 0, 858, 36], @@ -6268,27 +6268,27 @@ ["setarg", 22, 1, 20, 858, 36], ["setarg", 22, 2, 21, 858, 36], ["invoke", 22, 16, 858, 36], - ["jump", "call_done_709", 858, 36], - "record_path_708", + ["jump", "call_done_723", 858, 36], + "record_path_722", ["load_field", 23, 17, "file_info", 858, 36], ["frame", 24, 23, 1, 858, 36], ["setarg", 24, 0, 17, 858, 36], ["setarg", 24, 1, 15, 858, 36], ["invoke", 24, 16, 858, 36], - "call_done_709", + "call_done_723", ["move", 14, 16, 858, 36], - ["jump", "tern_end_707", 858, 36], - "tern_else_706", + ["jump", "tern_end_721", 858, 36], + "tern_else_720", ["null", 25, 858, 64], ["move", 14, 25, 858, 64], - "tern_end_707", + "tern_end_721", ["move", 2, 14, 858, 64], ["get", 26, 50, 1, 859, 16], ["load_field", 27, 26, "script_inject_for", 859, 16], - ["jump_false", 27, "tern_else_710", 859, 16], + ["jump_false", 27, "tern_else_724", 859, 16], ["get", 30, 50, 1, 859, 41], ["is_proxy", 31, 30, 859, 41], - ["jump_false", 31, "record_path_712", 859, 41], + ["jump_false", 31, "record_path_726", 859, 41], ["null", 32, 859, 41], ["access", 33, "script_inject_for", 859, 41], ["array", 34, 0, 859, 41], @@ -6298,20 +6298,20 @@ ["setarg", 35, 1, 33, 859, 41], ["setarg", 35, 2, 34, 859, 41], ["invoke", 35, 29, 859, 41], - ["jump", "call_done_713", 859, 41], - "record_path_712", + ["jump", "call_done_727", 859, 41], + "record_path_726", ["load_field", 36, 30, "script_inject_for", 859, 41], ["frame", 37, 36, 1, 859, 41], ["setarg", 37, 0, 30, 859, 41], ["setarg", 37, 1, 2, 859, 41], ["invoke", 37, 29, 859, 41], - "call_done_713", + "call_done_727", ["move", 28, 29, 859, 41], - ["jump", "tern_end_711", 859, 41], - "tern_else_710", + ["jump", "tern_end_725", 859, 41], + "tern_else_724", ["array", 38, 0, 859, 77], ["move", 28, 38, 859, 77], - "tern_end_711", + "tern_end_725", ["move", 3, 28, 859, 77], ["record", 39, 0], ["move", 6, 39, 862, 13], @@ -6333,106 +6333,106 @@ ["setarg", 43, 1, 40, 863, 10], ["invoke", 43, 41, 863, 10], ["function", 45, 55, 863, 30], - [ - "access", - 47, - { - "name": "arrfor", - "kind": "name", - "make": "intrinsic" - }, - 863, - 3 - ], - ["frame", 48, 47, 2, 863, 3], - ["null", 49, 863, 3], - ["setarg", 48, 0, 49, 863, 3], - ["setarg", 48, 1, 41, 863, 3], - ["setarg", 48, 2, 45, 863, 3], - ["invoke", 48, 46, 863, 3], + ["length", 47, 41, 863, 30], + ["int", 48, 0, 863, 30], + ["int", 52, 1, 863, 30], + ["null", 51, 863, 30], + "arrfor_loop_728", + ["lt_int", 49, 48, 47, 863, 30], + ["jump_false", 49, "arrfor_done_729", 863, 30], + ["load_index", 50, 41, 48, 863, 30], + ["frame", 53, 45, 2, 863, 30], + ["setarg", 53, 0, 51, 863, 30], + ["setarg", 53, 1, 50, 863, 30], + ["setarg", 53, 2, 48, 863, 30], + ["invoke", 53, 54, 863, 30], + ["add_int", 48, 48, 52, 863, 30], + ["jump", "arrfor_loop_728", 863, 30], + "arrfor_done_729", + ["null", 46, 863, 30], ["access", 9, 0, 864, 13], ["null", 7, 865, 13], ["null", 5, 866, 13], - "while_start_714", - ["length", 50, 3, 867, 23], - ["is_int", 52, 9, 867, 23], - ["jump_false", 52, "rel_ni_716", 867, 23], + "while_start_730", + ["length", 55, 3, 867, 23], + ["is_int", 57, 9, 867, 23], + ["jump_false", 57, "rel_ni_732", 867, 23], "_nop_tc_1", "_nop_tc_2", - ["lt_int", 51, 9, 50, 867, 23], - ["jump", "rel_done_718", 867, 23], - "rel_ni_716", - ["is_num", 52, 9, 867, 23], - ["jump_false", 52, "rel_nn_717", 867, 23], - ["is_num", 53, 50, 867, 23], - ["jump_false", 53, "rel_nn_717", 867, 23], - ["lt_float", 51, 9, 50, 867, 23], - ["jump", "rel_done_718", 867, 23], - "rel_nn_717", - ["is_text", 52, 9, 867, 23], - ["jump_false", 52, "rel_err_719", 867, 23], - ["is_text", 53, 50, 867, 23], - ["jump_false", 53, "rel_err_719", 867, 23], - ["lt_text", 51, 9, 50, 867, 23], - ["jump", "rel_done_718", 867, 23], - "rel_err_719", + ["lt_int", 56, 9, 55, 867, 23], + ["jump", "rel_done_734", 867, 23], + "rel_ni_732", + ["is_num", 57, 9, 867, 23], + ["jump_false", 57, "rel_nn_733", 867, 23], + ["is_num", 58, 55, 867, 23], + ["jump_false", 58, "rel_nn_733", 867, 23], + ["lt_float", 56, 9, 55, 867, 23], + ["jump", "rel_done_734", 867, 23], + "rel_nn_733", + ["is_text", 57, 9, 867, 23], + ["jump_false", 57, "rel_err_735", 867, 23], + ["is_text", 58, 55, 867, 23], + ["jump_false", 58, "rel_err_735", 867, 23], + ["lt_text", 56, 9, 55, 867, 23], + ["jump", "rel_done_734", 867, 23], + "rel_err_735", ["disrupt", 867, 23], - "rel_done_718", - ["jump_false", 51, "while_end_715", 867, 23], - ["load_dynamic", 54, 3, 9, 868, 18], - ["move", 7, 54, 868, 18], + "rel_done_734", + ["jump_false", 56, "while_end_731", 867, 23], + ["load_dynamic", 59, 3, 9, 868, 18], + ["move", 7, 59, 868, 18], ["move", 5, 7, 869, 11], - ["move", 55, 5, 870, 9], - ["jump_false", 55, "and_end_722", 870, 9], - ["access", 56, 0, 870, 20], - ["load_index", 57, 5, 56, 870, 20], - ["access", 58, "$", 870, 26], - ["is_identical", 59, 57, 58, 870, 26], - ["jump_true", 59, "eq_done_723", 870, 26], - ["is_int", 60, 57, 870, 26], - ["jump_false", 60, "eq_ni_724", 870, 26], + ["move", 60, 5, 870, 9], + ["jump_false", 60, "and_end_738", 870, 9], + ["access", 61, 0, 870, 20], + ["load_index", 62, 5, 61, 870, 20], + ["access", 63, "$", 870, 26], + ["is_identical", 64, 62, 63, 870, 26], + ["jump_true", 64, "eq_done_739", 870, 26], + ["is_int", 65, 62, 870, 26], + ["jump_false", 65, "eq_ni_740", 870, 26], "_nop_tc_3", - ["jump", "eq_ni_724", 870, 26], - ["eq_int", 59, 57, 58, 870, 26], - ["jump", "eq_done_723", 870, 26], - "eq_ni_724", - ["is_num", 60, 57, 870, 26], - ["jump_false", 60, "eq_nn_725", 870, 26], - ["is_num", 61, 58, 870, 26], - ["jump_false", 61, "eq_nn_725", 870, 26], - ["eq_float", 59, 57, 58, 870, 26], - ["jump", "eq_done_723", 870, 26], - "eq_nn_725", - ["is_text", 60, 57, 870, 26], - ["jump_false", 60, "eq_nt_726", 870, 26], - ["is_text", 61, 58, 870, 26], - ["jump_false", 61, "eq_nt_726", 870, 26], - ["eq_text", 59, 57, 58, 870, 26], - ["jump", "eq_done_723", 870, 26], - "eq_nt_726", - ["is_null", 60, 57, 870, 26], - ["jump_false", 60, "eq_nnl_727", 870, 26], - ["is_null", 61, 58, 870, 26], - ["jump_false", 61, "eq_nnl_727", 870, 26], - ["true", 59, 870, 26], - ["jump", "eq_done_723", 870, 26], - "eq_nnl_727", - ["is_bool", 60, 57, 870, 26], - ["jump_false", 60, "eq_nb_728", 870, 26], - ["is_bool", 61, 58, 870, 26], - ["jump_false", 61, "eq_nb_728", 870, 26], - ["eq_bool", 59, 57, 58, 870, 26], - ["jump", "eq_done_723", 870, 26], - "eq_nb_728", - ["false", 59, 870, 26], - "eq_done_723", - ["move", 55, 59, 870, 26], - "and_end_722", - ["jump_false", 55, "if_else_720", 870, 26], - ["access", 62, 1, 870, 47], + ["jump", "eq_ni_740", 870, 26], + ["eq_int", 64, 62, 63, 870, 26], + ["jump", "eq_done_739", 870, 26], + "eq_ni_740", + ["is_num", 65, 62, 870, 26], + ["jump_false", 65, "eq_nn_741", 870, 26], + ["is_num", 66, 63, 870, 26], + ["jump_false", 66, "eq_nn_741", 870, 26], + ["eq_float", 64, 62, 63, 870, 26], + ["jump", "eq_done_739", 870, 26], + "eq_nn_741", + ["is_text", 65, 62, 870, 26], + ["jump_false", 65, "eq_nt_742", 870, 26], + ["is_text", 66, 63, 870, 26], + ["jump_false", 66, "eq_nt_742", 870, 26], + ["eq_text", 64, 62, 63, 870, 26], + ["jump", "eq_done_739", 870, 26], + "eq_nt_742", + ["is_null", 65, 62, 870, 26], + ["jump_false", 65, "eq_nnl_743", 870, 26], + ["is_null", 66, 63, 870, 26], + ["jump_false", 66, "eq_nnl_743", 870, 26], + ["true", 64, 870, 26], + ["jump", "eq_done_739", 870, 26], + "eq_nnl_743", + ["is_bool", 65, 62, 870, 26], + ["jump_false", 65, "eq_nb_744", 870, 26], + ["is_bool", 66, 63, 870, 26], + ["jump_false", 66, "eq_nb_744", 870, 26], + ["eq_bool", 64, 62, 63, 870, 26], + ["jump", "eq_done_739", 870, 26], + "eq_nb_744", + ["false", 64, 870, 26], + "eq_done_739", + ["move", 60, 64, 870, 26], + "and_end_738", + ["jump_false", 60, "if_else_736", 870, 26], + ["access", 67, 1, 870, 47], [ "access", - 64, + 69, { "name": "text", "kind": "name", @@ -6441,152 +6441,152 @@ 870, 37 ], - ["frame", 65, 64, 2, 870, 37], - ["null", 66, 870, 37], - ["setarg", 65, 0, 66, 870, 37], - ["setarg", 65, 1, 5, 870, 37], - ["setarg", 65, 2, 62, 870, 37], - ["invoke", 65, 63, 870, 37], - ["move", 5, 63, 870, 37], - ["jump", "if_end_721", 870, 37], - "if_else_720", - "if_end_721", - ["access", 67, "fd", 871, 16], - ["is_identical", 68, 5, 67, 871, 16], - ["jump_true", 68, "eq_done_731", 871, 16], - ["is_int", 69, 5, 871, 16], - ["jump_false", 69, "eq_ni_732", 871, 16], + ["frame", 70, 69, 2, 870, 37], + ["null", 71, 870, 37], + ["setarg", 70, 0, 71, 870, 37], + ["setarg", 70, 1, 5, 870, 37], + ["setarg", 70, 2, 67, 870, 37], + ["invoke", 70, 68, 870, 37], + ["move", 5, 68, 870, 37], + ["jump", "if_end_737", 870, 37], + "if_else_736", + "if_end_737", + ["access", 72, "fd", 871, 16], + ["is_identical", 73, 5, 72, 871, 16], + ["jump_true", 73, "eq_done_747", 871, 16], + ["is_int", 74, 5, 871, 16], + ["jump_false", 74, "eq_ni_748", 871, 16], "_nop_tc_4", - ["jump", "eq_ni_732", 871, 16], - ["eq_int", 68, 5, 67, 871, 16], - ["jump", "eq_done_731", 871, 16], - "eq_ni_732", - ["is_num", 69, 5, 871, 16], - ["jump_false", 69, "eq_nn_733", 871, 16], - ["is_num", 70, 67, 871, 16], - ["jump_false", 70, "eq_nn_733", 871, 16], - ["eq_float", 68, 5, 67, 871, 16], - ["jump", "eq_done_731", 871, 16], - "eq_nn_733", - ["is_text", 69, 5, 871, 16], - ["jump_false", 69, "eq_nt_734", 871, 16], - ["is_text", 70, 67, 871, 16], - ["jump_false", 70, "eq_nt_734", 871, 16], - ["eq_text", 68, 5, 67, 871, 16], - ["jump", "eq_done_731", 871, 16], - "eq_nt_734", - ["is_null", 69, 5, 871, 16], - ["jump_false", 69, "eq_nnl_735", 871, 16], - ["is_null", 70, 67, 871, 16], - ["jump_false", 70, "eq_nnl_735", 871, 16], - ["true", 68, 871, 16], - ["jump", "eq_done_731", 871, 16], - "eq_nnl_735", - ["is_bool", 69, 5, 871, 16], - ["jump_false", 69, "eq_nb_736", 871, 16], - ["is_bool", 70, 67, 871, 16], - ["jump_false", 70, "eq_nb_736", 871, 16], - ["eq_bool", 68, 5, 67, 871, 16], - ["jump", "eq_done_731", 871, 16], - "eq_nb_736", - ["false", 68, 871, 16], - "eq_done_731", - ["jump_false", 68, "if_else_729", 871, 16], - ["get", 71, 20, 1, 871, 35], - ["access", 72, "$fd", 871, 26], - ["store_field", 6, 71, 72, 871, 26], - ["jump", "if_end_730", 871, 26], - "if_else_729", - ["get", 73, 2, 1, 872, 27], - ["load_dynamic", 74, 73, 5, 872, 30], - ["access", 75, "$", 872, 14], + ["jump", "eq_ni_748", 871, 16], + ["eq_int", 73, 5, 72, 871, 16], + ["jump", "eq_done_747", 871, 16], + "eq_ni_748", + ["is_num", 74, 5, 871, 16], + ["jump_false", 74, "eq_nn_749", 871, 16], + ["is_num", 75, 72, 871, 16], + ["jump_false", 75, "eq_nn_749", 871, 16], + ["eq_float", 73, 5, 72, 871, 16], + ["jump", "eq_done_747", 871, 16], + "eq_nn_749", + ["is_text", 74, 5, 871, 16], + ["jump_false", 74, "eq_nt_750", 871, 16], + ["is_text", 75, 72, 871, 16], + ["jump_false", 75, "eq_nt_750", 871, 16], + ["eq_text", 73, 5, 72, 871, 16], + ["jump", "eq_done_747", 871, 16], + "eq_nt_750", + ["is_null", 74, 5, 871, 16], + ["jump_false", 74, "eq_nnl_751", 871, 16], + ["is_null", 75, 72, 871, 16], + ["jump_false", 75, "eq_nnl_751", 871, 16], + ["true", 73, 871, 16], + ["jump", "eq_done_747", 871, 16], + "eq_nnl_751", + ["is_bool", 74, 5, 871, 16], + ["jump_false", 74, "eq_nb_752", 871, 16], + ["is_bool", 75, 72, 871, 16], + ["jump_false", 75, "eq_nb_752", 871, 16], + ["eq_bool", 73, 5, 72, 871, 16], + ["jump", "eq_done_747", 871, 16], + "eq_nb_752", + ["false", 73, 871, 16], + "eq_done_747", + ["jump_false", 73, "if_else_745", 871, 16], + ["get", 76, 20, 1, 871, 35], + ["access", 77, "$fd", 871, 26], + ["store_field", 6, 76, 77, 871, 26], + ["jump", "if_end_746", 871, 26], + "if_else_745", + ["get", 78, 2, 1, 872, 27], + ["load_dynamic", 79, 78, 5, 872, 30], + ["access", 80, "$", 872, 14], "_nop_tc_5", - ["jump", "add_ni_737", 872, 20], - ["is_int", 78, 5, 872, 20], - ["jump_false", 78, "add_ni_737", 872, 20], - ["add_int", 76, 75, 5, 872, 20], - ["jump", "add_done_739", 872, 20], - "add_ni_737", - ["is_text", 78, 5, 872, 20], - ["jump_false", 78, "add_nt_738", 872, 20], - ["concat", 76, 75, 5, 872, 20], - ["jump", "add_done_739", 872, 20], - "add_nt_738", - ["is_num", 77, 75, 872, 20], - ["jump_false", 77, "add_err_740", 872, 20], - ["is_num", 78, 5, 872, 20], - ["jump_false", 78, "add_err_740", 872, 20], - ["add_float", 76, 75, 5, 872, 20], - ["jump", "add_done_739", 872, 20], - "add_err_740", + ["jump", "add_ni_753", 872, 20], + ["is_int", 83, 5, 872, 20], + ["jump_false", 83, "add_ni_753", 872, 20], + ["add_int", 81, 80, 5, 872, 20], + ["jump", "add_done_755", 872, 20], + "add_ni_753", + ["is_text", 83, 5, 872, 20], + ["jump_false", 83, "add_nt_754", 872, 20], + ["concat", 81, 80, 5, 872, 20], + ["jump", "add_done_755", 872, 20], + "add_nt_754", + ["is_num", 82, 80, 872, 20], + ["jump_false", 82, "add_err_756", 872, 20], + ["is_num", 83, 5, 872, 20], + ["jump_false", 83, "add_err_756", 872, 20], + ["add_float", 81, 80, 5, 872, 20], + ["jump", "add_done_755", 872, 20], + "add_err_756", ["disrupt", 872, 20], - "add_done_739", - ["store_dynamic", 6, 74, 76, 872, 20], - "if_end_730", - ["access", 79, 1, 873, 17], - ["is_int", 81, 9, 873, 17], - ["jump_false", 81, "add_ni_741", 873, 17], - ["add_int", 80, 9, 79, 873, 17], - ["jump", "add_done_743", 873, 17], - "add_ni_741", - ["is_text", 81, 9, 873, 17], - ["jump_false", 81, "add_nt_742", 873, 17], - ["is_text", 82, 79, 873, 17], - ["jump_false", 82, "add_nt_742", 873, 17], - ["concat", 80, 9, 79, 873, 17], - ["jump", "add_done_743", 873, 17], - "add_nt_742", - ["is_num", 81, 9, 873, 17], - ["jump_false", 81, "add_err_744", 873, 17], - ["add_float", 80, 9, 79, 873, 17], - ["jump", "add_done_743", 873, 17], - "add_err_744", + "add_done_755", + ["store_dynamic", 6, 79, 81, 872, 20], + "if_end_746", + ["access", 84, 1, 873, 17], + ["is_int", 86, 9, 873, 17], + ["jump_false", 86, "add_ni_757", 873, 17], + ["add_int", 85, 9, 84, 873, 17], + ["jump", "add_done_759", 873, 17], + "add_ni_757", + ["is_text", 86, 9, 873, 17], + ["jump_false", 86, "add_nt_758", 873, 17], + ["is_text", 87, 84, 873, 17], + ["jump_false", 87, "add_nt_758", 873, 17], + ["concat", 85, 9, 84, 873, 17], + ["jump", "add_done_759", 873, 17], + "add_nt_758", + ["is_num", 86, 9, 873, 17], + ["jump_false", 86, "add_err_760", 873, 17], + ["add_float", 85, 9, 84, 873, 17], + ["jump", "add_done_759", 873, 17], + "add_err_760", ["disrupt", 873, 17], - "add_done_743", - ["move", 9, 80, 873, 17], - ["jump", "while_start_714", 873, 17], - "while_end_715", - ["jump_false", 2, "tern_else_745", 876, 13], - ["load_field", 84, 2, "package", 876, 25], - ["move", 83, 84, 876, 25], - ["jump", "tern_end_746", 876, 25], - "tern_else_745", - ["null", 85, 876, 45], - ["move", 83, 85, 876, 45], - "tern_end_746", - ["move", 8, 83, 876, 45], - ["function", 86, 56, 877, 13], - ["store_field", 6, 86, "use", 877, 3], - ["get", 87, 11, 1, 884, 14], - ["load_field", 88, 87, "args", 884, 14], - ["load_field", 89, 88, "arg", 884, 14], - ["store_field", 6, 89, "args", 884, 3], - ["get", 90, 63, 1, 885, 14], - ["store_field", 6, 90, "log", 885, 3], - ["get", 91, 68, 1, 887, 30], - ["get", 93, 20, 1, 887, 21], - ["is_proxy", 94, 93, 887, 21], - ["jump_false", 94, "record_path_757", 887, 21], - ["null", 95, 887, 21], - ["access", 96, "slurp", 887, 21], - ["array", 97, 0, 887, 21], - ["push", 97, 91, 887, 21], - ["frame", 98, 93, 2, 887, 21], - ["setarg", 98, 0, 95, 887, 21], - ["setarg", 98, 1, 96, 887, 21], - ["setarg", 98, 2, 97, 887, 21], - ["invoke", 98, 92, 887, 21], - ["jump", "call_done_758", 887, 21], - "record_path_757", - ["load_field", 99, 93, "slurp", 887, 21], - ["frame", 100, 99, 1, 887, 21], - ["setarg", 100, 0, 93, 887, 21], - ["setarg", 100, 1, 91, 887, 21], - ["invoke", 100, 92, 887, 21], - "call_done_758", + "add_done_759", + ["move", 9, 85, 873, 17], + ["jump", "while_start_730", 873, 17], + "while_end_731", + ["jump_false", 2, "tern_else_761", 876, 13], + ["load_field", 89, 2, "package", 876, 25], + ["move", 88, 89, 876, 25], + ["jump", "tern_end_762", 876, 25], + "tern_else_761", + ["null", 90, 876, 45], + ["move", 88, 90, 876, 45], + "tern_end_762", + ["move", 8, 88, 876, 45], + ["function", 91, 56, 877, 13], + ["store_field", 6, 91, "use", 877, 3], + ["get", 92, 11, 1, 884, 14], + ["load_field", 93, 92, "args", 884, 14], + ["load_field", 94, 93, "arg", 884, 14], + ["store_field", 6, 94, "args", 884, 3], + ["get", 95, 63, 1, 885, 14], + ["store_field", 6, 95, "log", 885, 3], + ["get", 96, 68, 1, 887, 30], + ["get", 98, 20, 1, 887, 21], + ["is_proxy", 99, 98, 887, 21], + ["jump_false", 99, "record_path_773", 887, 21], + ["null", 100, 887, 21], + ["access", 101, "slurp", 887, 21], + ["array", 102, 0, 887, 21], + ["push", 102, 96, 887, 21], + ["frame", 103, 98, 2, 887, 21], + ["setarg", 103, 0, 100, 887, 21], + ["setarg", 103, 1, 101, 887, 21], + ["setarg", 103, 2, 102, 887, 21], + ["invoke", 103, 97, 887, 21], + ["jump", "call_done_774", 887, 21], + "record_path_773", + ["load_field", 104, 98, "slurp", 887, 21], + ["frame", 105, 104, 1, 887, 21], + ["setarg", 105, 0, 98, 887, 21], + ["setarg", 105, 1, 96, 887, 21], + ["invoke", 105, 97, 887, 21], + "call_done_774", [ "access", - 102, + 107, { "name": "text", "kind": "name", @@ -6595,16 +6595,16 @@ 887, 16 ], - ["frame", 103, 102, 1, 887, 16], - ["null", 104, 887, 16], - ["setarg", 103, 0, 104, 887, 16], - ["setarg", 103, 1, 92, 887, 16], - ["invoke", 103, 101, 887, 16], - ["move", 4, 101, 887, 16], - ["get", 105, 68, 1, 888, 29], + ["frame", 108, 107, 1, 887, 16], + ["null", 109, 887, 16], + ["setarg", 108, 0, 109, 887, 16], + ["setarg", 108, 1, 97, 887, 16], + ["invoke", 108, 106, 887, 16], + ["move", 4, 106, 887, 16], + ["get", 110, 68, 1, 888, 29], [ "access", - 107, + 112, { "name": "analyze", "kind": "name", @@ -6613,17 +6613,17 @@ 888, 13 ], - ["frame", 108, 107, 2, 888, 13], - ["null", 109, 888, 13], - ["setarg", 108, 0, 109, 888, 13], - ["setarg", 108, 1, 4, 888, 13], - ["setarg", 108, 2, 105, 888, 13], - ["invoke", 108, 106, 888, 13], - ["move", 10, 106, 888, 13], - ["get", 110, 46, 1, 889, 24], + ["frame", 113, 112, 2, 888, 13], + ["null", 114, 888, 13], + ["setarg", 113, 0, 114, 888, 13], + ["setarg", 113, 1, 4, 888, 13], + ["setarg", 113, 2, 110, 888, 13], + ["invoke", 113, 111, 888, 13], + ["move", 10, 111, 888, 13], + ["get", 115, 46, 1, 889, 24], [ "access", - 112, + 117, { "name": "run_ast_fn", "kind": "name", @@ -6632,42 +6632,42 @@ 889, 13 ], - ["frame", 113, 112, 3, 889, 13], - ["null", 114, 889, 13], - ["setarg", 113, 0, 114, 889, 13], - ["setarg", 113, 1, 110, 889, 13], - ["setarg", 113, 2, 10, 889, 13], - ["setarg", 113, 3, 6, 889, 13], - ["invoke", 113, 111, 889, 13], - ["move", 11, 111, 889, 13], - ["jump_false", 11, "if_else_759", 890, 7], - ["access", 115, "Program must not return anything", 891, 15], - ["get", 117, 63, 1, 891, 5], - ["is_proxy", 118, 117, 891, 5], - ["jump_false", 118, "record_path_761", 891, 5], - ["null", 119, 891, 5], - ["access", 120, "error", 891, 5], - ["array", 121, 0, 891, 5], - ["push", 121, 115, 891, 5], - ["frame", 122, 117, 2, 891, 5], - ["setarg", 122, 0, 119, 891, 5], - ["setarg", 122, 1, 120, 891, 5], - ["setarg", 122, 2, 121, 891, 5], - ["invoke", 122, 116, 891, 5], - ["jump", "call_done_762", 891, 5], - "record_path_761", - ["load_field", 123, 117, "error", 891, 5], - ["frame", 124, 123, 1, 891, 5], - ["setarg", 124, 0, 117, 891, 5], - ["setarg", 124, 1, 115, 891, 5], - ["invoke", 124, 116, 891, 5], - "call_done_762", + ["frame", 118, 117, 3, 889, 13], + ["null", 119, 889, 13], + ["setarg", 118, 0, 119, 889, 13], + ["setarg", 118, 1, 115, 889, 13], + ["setarg", 118, 2, 10, 889, 13], + ["setarg", 118, 3, 6, 889, 13], + ["invoke", 118, 116, 889, 13], + ["move", 11, 116, 889, 13], + ["jump_false", 11, "if_else_775", 890, 7], + ["access", 120, "Program must not return anything", 891, 15], + ["get", 122, 63, 1, 891, 5], + ["is_proxy", 123, 122, 891, 5], + ["jump_false", 123, "record_path_777", 891, 5], + ["null", 124, 891, 5], + ["access", 125, "error", 891, 5], + ["array", 126, 0, 891, 5], + ["push", 126, 120, 891, 5], + ["frame", 127, 122, 2, 891, 5], + ["setarg", 127, 0, 124, 891, 5], + ["setarg", 127, 1, 125, 891, 5], + ["setarg", 127, 2, 126, 891, 5], + ["invoke", 127, 121, 891, 5], + ["jump", "call_done_778", 891, 5], + "record_path_777", + ["load_field", 128, 122, "error", 891, 5], + ["frame", 129, 128, 1, 891, 5], + ["setarg", 129, 0, 122, 891, 5], + ["setarg", 129, 1, 120, 891, 5], + ["invoke", 129, 121, 891, 5], + "call_done_778", ["disrupt", 892, 5], - ["jump", "if_end_760", 892, 5], - "if_else_759", - "if_end_760", - ["null", 125, 892, 5], - ["return", 125, 892, 5] + ["jump", "if_end_776", 892, 5], + "if_else_775", + "if_end_776", + ["null", 130, 892, 5], + ["return", 130, 892, 5] ], "name": "", "filename": "internal/engine.cm", @@ -6677,7 +6677,7 @@ "main": { "nr_args": 0, "nr_close_slots": 0, - "nr_slots": 498, + "nr_slots": 503, "instructions": [ ["function", 78, 0, 0, 0], ["move", 17, 78, 0, 0], @@ -6775,7 +6775,7 @@ 23 ], ["is_proxy", 116, 115, 15, 23], - ["jump_false", 116, "record_path_519", 15, 23], + ["jump_false", 116, "record_path_531", 15, 23], ["null", 117, 15, 23], ["access", 118, "platform", 15, 23], ["array", 119, 0, 15, 23], @@ -6784,13 +6784,13 @@ ["setarg", 120, 1, 118, 15, 23], ["setarg", 120, 2, 119, 15, 23], ["invoke", 120, 114, 15, 23], - ["jump", "call_done_520", 15, 23], - "record_path_519", + ["jump", "call_done_532", 15, 23], + "record_path_531", ["load_field", 121, 115, "platform", 15, 23], ["frame", 122, 121, 0, 15, 23], ["setarg", 122, 0, 115, 15, 23], ["invoke", 122, 114, 15, 23], - "call_done_520", + "call_done_532", ["load_dynamic", 123, 4, 114, 15, 23], ["access", 44, ".cm", 17, 15], [ @@ -6831,7 +6831,7 @@ 54, 21 ], - ["jump_false", 134, "tern_else_521", 54, 21], + ["jump_false", 134, "tern_else_533", 54, 21], [ "access", 136, @@ -6845,32 +6845,32 @@ ], ["access", 137, "/packages", 54, 45], ["is_int", 139, 136, 54, 45], - ["jump_false", 139, "add_ni_523", 54, 45], + ["jump_false", 139, "add_ni_535", 54, 45], "_nop_tc_1", - ["jump", "add_ni_523", 54, 45], + ["jump", "add_ni_535", 54, 45], ["add_int", 138, 136, 137, 54, 45], - ["jump", "add_done_525", 54, 45], - "add_ni_523", + ["jump", "add_done_537", 54, 45], + "add_ni_535", ["is_text", 139, 136, 54, 45], - ["jump_false", 139, "add_nt_524", 54, 45], + ["jump_false", 139, "add_nt_536", 54, 45], ["concat", 138, 136, 137, 54, 45], - ["jump", "add_done_525", 54, 45], - "add_nt_524", + ["jump", "add_done_537", 54, 45], + "add_nt_536", ["is_num", 139, 136, 54, 45], - ["jump_false", 139, "add_err_526", 54, 45], + ["jump_false", 139, "add_err_538", 54, 45], ["is_num", 140, 137, 54, 45], - ["jump_false", 140, "add_err_526", 54, 45], + ["jump_false", 140, "add_err_538", 54, 45], ["add_float", 138, 136, 137, 54, 45], - ["jump", "add_done_525", 54, 45], - "add_err_526", + ["jump", "add_done_537", 54, 45], + "add_err_538", ["disrupt", 54, 45], - "add_done_525", + "add_done_537", ["move", 135, 138, 54, 45], - ["jump", "tern_end_522", 54, 45], - "tern_else_521", + ["jump", "tern_end_534", 54, 45], + "tern_else_533", ["null", 141, 54, 59], ["move", 135, 141, 54, 59], - "tern_end_522", + "tern_end_534", ["record", 142, 0], ["move", 67, 142, 56, 17], [ @@ -6944,50 +6944,50 @@ ], ["null", 171, 199, 22], ["is_identical", 172, 170, 171, 199, 22], - ["jump_true", 172, "ne_nid_530", 199, 22], - ["jump", "ne_ni_531", 199, 22], - "ne_nid_530", + ["jump_true", 172, "ne_nid_542", 199, 22], + ["jump", "ne_ni_543", 199, 22], + "ne_nid_542", ["false", 172, 199, 22], - ["jump", "ne_done_529", 199, 22], - "ne_ni_531", + ["jump", "ne_done_541", 199, 22], + "ne_ni_543", ["is_int", 173, 170, 199, 22], - ["jump_false", 173, "ne_nn_532", 199, 22], + ["jump_false", 173, "ne_nn_544", 199, 22], ["is_int", 174, 171, 199, 22], - ["jump_false", 174, "ne_nn_532", 199, 22], + ["jump_false", 174, "ne_nn_544", 199, 22], ["ne_int", 172, 170, 171, 199, 22], - ["jump", "ne_done_529", 199, 22], - "ne_nn_532", + ["jump", "ne_done_541", 199, 22], + "ne_nn_544", ["is_num", 173, 170, 199, 22], - ["jump_false", 173, "ne_nt_533", 199, 22], + ["jump_false", 173, "ne_nt_545", 199, 22], ["is_num", 174, 171, 199, 22], - ["jump_false", 174, "ne_nt_533", 199, 22], + ["jump_false", 174, "ne_nt_545", 199, 22], ["ne_float", 172, 170, 171, 199, 22], - ["jump", "ne_done_529", 199, 22], - "ne_nt_533", + ["jump", "ne_done_541", 199, 22], + "ne_nt_545", ["is_text", 173, 170, 199, 22], - ["jump_false", 173, "ne_nnl_534", 199, 22], + ["jump_false", 173, "ne_nnl_546", 199, 22], ["is_text", 174, 171, 199, 22], - ["jump_false", 174, "ne_nnl_534", 199, 22], + ["jump_false", 174, "ne_nnl_546", 199, 22], ["ne_text", 172, 170, 171, 199, 22], - ["jump", "ne_done_529", 199, 22], - "ne_nnl_534", + ["jump", "ne_done_541", 199, 22], + "ne_nnl_546", ["is_null", 173, 170, 199, 22], - ["jump_false", 173, "ne_nb_535", 199, 22], + ["jump_false", 173, "ne_nb_547", 199, 22], ["is_null", 174, 171, 199, 22], - ["jump_false", 174, "ne_nb_535", 199, 22], + ["jump_false", 174, "ne_nb_547", 199, 22], ["false", 172, 199, 22], - ["jump", "ne_done_529", 199, 22], - "ne_nb_535", + ["jump", "ne_done_541", 199, 22], + "ne_nb_547", ["is_bool", 173, 170, 199, 22], - ["jump_false", 173, "ne_mis_536", 199, 22], + ["jump_false", 173, "ne_mis_548", 199, 22], ["is_bool", 174, 171, 199, 22], - ["jump_false", 174, "ne_mis_536", 199, 22], + ["jump_false", 174, "ne_mis_548", 199, 22], ["ne_bool", 172, 170, 171, 199, 22], - ["jump", "ne_done_529", 199, 22], - "ne_mis_536", + ["jump", "ne_done_541", 199, 22], + "ne_mis_548", ["true", 172, 199, 22], - "ne_done_529", - ["jump_false", 172, "tern_else_527", 199, 22], + "ne_done_541", + ["jump_false", 172, "tern_else_539", 199, 22], [ "access", 176, @@ -7000,11 +7000,11 @@ 29 ], ["move", 175, 176, 199, 29], - ["jump", "tern_end_528", 199, 29], - "tern_else_527", + ["jump", "tern_end_540", 199, 29], + "tern_else_539", ["record", 177, 0], ["move", 175, 177, 199, 36], - "tern_end_528", + "tern_end_540", ["store_field", 11, 175, "args", 199, 1], ["access", 178, "newguy", 200, 12], ["store_field", 11, 178, "id", 200, 1], @@ -7228,26 +7228,26 @@ ["setarg", 216, 1, 42, 248, 8], ["invoke", 216, 214, 248, 8], ["function", 218, 38, 248, 28], + ["length", 220, 214, 248, 28], + ["int", 221, 0, 248, 28], + ["int", 225, 1, 248, 28], + ["null", 224, 248, 28], + "arrfor_loop_549", + ["lt_int", 222, 221, 220, 248, 28], + ["jump_false", 222, "arrfor_done_550", 248, 28], + ["load_index", 223, 214, 221, 248, 28], + ["frame", 226, 218, 2, 248, 28], + ["setarg", 226, 0, 224, 248, 28], + ["setarg", 226, 1, 223, 248, 28], + ["setarg", 226, 2, 221, 248, 28], + ["invoke", 226, 227, 248, 28], + ["add_int", 221, 221, 225, 248, 28], + ["jump", "arrfor_loop_549", 248, 28], + "arrfor_done_550", + ["null", 219, 248, 28], [ "access", - 220, - { - "name": "arrfor", - "kind": "name", - "make": "intrinsic" - }, - 248, - 1 - ], - ["frame", 221, 220, 2, 248, 1], - ["null", 222, 248, 1], - ["setarg", 221, 0, 222, 248, 1], - ["setarg", 221, 1, 214, 248, 1], - ["setarg", 221, 2, 218, 248, 1], - ["invoke", 221, 219, 248, 1], - [ - "access", - 223, + 228, { "name": "os", "kind": "name", @@ -7256,77 +7256,77 @@ 251, 1 ], - ["store_field", 223, 42, "runtime_env", 251, 1], - ["function", 224, 42, 253, 17], - ["store_field", 2, 224, "time_limit", 253, 1], - ["record", 225, 0], - ["access", 226, 60, 321, 13], - ["store_field", 225, 226, "ar_timer", 321, 13], - ["access", 227, 0, 322, 16], - ["store_field", 225, 227, "actor_memory", 322, 16], - ["access", 228, 0.1, 323, 15], - ["store_field", 225, 228, "net_service", 323, 15], - ["access", 229, 60, 324, 17], - ["store_field", 225, 229, "reply_timeout", 324, 17], - ["true", 230, 325, 9], - ["store_field", 225, 230, "main", 325, 9], - ["move", 31, 225, 325, 9], + ["store_field", 228, 42, "runtime_env", 251, 1], + ["function", 229, 42, 253, 17], + ["store_field", 2, 229, "time_limit", 253, 1], + ["record", 230, 0], + ["access", 231, 60, 321, 13], + ["store_field", 230, 231, "ar_timer", 321, 13], + ["access", 232, 0, 322, 16], + ["store_field", 230, 232, "actor_memory", 322, 16], + ["access", 233, 0.1, 323, 15], + ["store_field", 230, 233, "net_service", 323, 15], + ["access", 234, 60, 324, 17], + ["store_field", 230, 234, "reply_timeout", 324, 17], + ["true", 235, 325, 9], + ["store_field", 230, 235, "main", 325, 9], + ["move", 31, 230, 325, 9], ["store_field", 11, 31, "config", 328, 1], - ["load_field", 231, 31, "net_service", 330, 15], - ["move", 60, 231, 330, 15], - ["load_field", 232, 31, "reply_timeout", 331, 16], - ["move", 35, 232, 331, 16], - ["record", 233, 0], - ["move", 41, 233, 366, 14], - ["function", 234, 44, 369, 12], - ["store_field", 2, 234, "clock", 369, 1], - ["record", 235, 0], - ["move", 12, 235, 376, 18], + ["load_field", 236, 31, "net_service", 330, 15], + ["move", 60, 236, 330, 15], + ["load_field", 237, 31, "reply_timeout", 331, 16], + ["move", 35, 237, 331, 16], + ["record", 238, 0], + ["move", 41, 238, 366, 14], + ["function", 239, 44, 369, 12], + ["store_field", 2, 239, "clock", 369, 1], + ["record", 240, 0], + ["move", 12, 240, 376, 18], ["null", 39, 377, 16], ["null", 57, 378, 12], ["null", 14, 380, 18], - ["record", 236, 0], - ["move", 75, 236, 381, 16], - ["function", 237, 45, 407, 17], - ["store_field", 2, 237, "connection", 407, 1], - ["record", 238, 0], - ["move", 24, 238, 421, 13], - ["record", 239, 0], - ["move", 55, 239, 423, 18], + ["record", 241, 0], + ["move", 75, 241, 381, 16], + ["function", 242, 45, 407, 17], + ["store_field", 2, 242, "connection", 407, 1], + ["record", 243, 0], + ["move", 24, 243, 421, 13], + ["record", 244, 0], + ["move", 55, 244, 423, 18], ["null", 23, 424, 14], ["null", 36, 425, 17], - ["function", 240, 46, 428, 13], - ["store_field", 2, 240, "portal", 428, 1], - ["function", 241, 47, 485, 14], - ["store_field", 2, 241, "contact", 485, 1], - ["function", 242, 48, 490, 15], - ["store_field", 2, 242, "receiver", 490, 1], - ["function", 243, 49, 494, 12], - ["store_field", 2, 243, "start", 494, 1], - ["function", 244, 50, 509, 11], - ["store_field", 2, 244, "stop", 509, 1], - ["function", 245, 51, 527, 15], - ["store_field", 2, 245, "unneeded", 527, 1], - ["function", 246, 53, 532, 12], - ["store_field", 2, 246, "delay", 532, 1], - ["access", 247, "enet", 542, 21], - ["frame", 249, 32, 1, 542, 12], - ["null", 250, 542, 12], - ["setarg", 249, 0, 250, 542, 12], - ["setarg", 249, 1, 247, 542, 12], - ["invoke", 249, 248, 542, 12], - ["move", 22, 248, 542, 12], - ["record", 251, 0], - ["move", 26, 251, 545, 17], - ["function", 252, 54, 546, 13], - ["store_field", 2, 252, "couple", 546, 1], - ["array", 253, 0, 617, 21], - ["move", 43, 253, 617, 21], - ["record", 254, 0], - ["move", 64, 254, 639, 15], + ["function", 245, 46, 428, 13], + ["store_field", 2, 245, "portal", 428, 1], + ["function", 246, 47, 485, 14], + ["store_field", 2, 246, "contact", 485, 1], + ["function", 247, 48, 490, 15], + ["store_field", 2, 247, "receiver", 490, 1], + ["function", 248, 49, 494, 12], + ["store_field", 2, 248, "start", 494, 1], + ["function", 249, 50, 509, 11], + ["store_field", 2, 249, "stop", 509, 1], + ["function", 250, 51, 527, 15], + ["store_field", 2, 250, "unneeded", 527, 1], + ["function", 251, 53, 532, 12], + ["store_field", 2, 251, "delay", 532, 1], + ["access", 252, "enet", 542, 21], + ["frame", 254, 32, 1, 542, 12], + ["null", 255, 542, 12], + ["setarg", 254, 0, 255, 542, 12], + ["setarg", 254, 1, 252, 542, 12], + ["invoke", 254, 253, 542, 12], + ["move", 22, 253, 542, 12], + ["record", 256, 0], + ["move", 26, 256, 545, 17], + ["function", 257, 54, 546, 13], + ["store_field", 2, 257, "couple", 546, 1], + ["array", 258, 0, 617, 21], + ["move", 43, 258, 617, 21], + ["record", 259, 0], + ["move", 64, 259, 639, 15], [ "access", - 256, + 261, { "name": "stone", "kind": "name", @@ -7335,224 +7335,224 @@ 687, 1 ], - ["frame", 257, 256, 1, 687, 1], - ["null", 258, 687, 1], - ["setarg", 257, 0, 258, 687, 1], - ["setarg", 257, 1, 71, 687, 1], - ["invoke", 257, 255, 687, 1], - ["load_field", 259, 11, "args", 689, 6], - ["load_field", 260, 259, "id", 689, 6], + ["frame", 262, 261, 1, 687, 1], + ["null", 263, 687, 1], + ["setarg", 262, 0, 263, 687, 1], + ["setarg", 262, 1, 71, 687, 1], + ["invoke", 262, 260, 687, 1], + ["load_field", 264, 11, "args", 689, 6], + ["load_field", 265, 264, "id", 689, 6], "_nop_bl_1", - ["jump_true", 260, "if_else_618", 689, 6], - ["frame", 263, 6, 0, 689, 32], - ["null", 264, 689, 32], - ["setarg", 263, 0, 264, 689, 32], - ["invoke", 263, 262, 689, 32], - ["store_field", 11, 262, "id", 689, 21], - ["jump", "if_end_619", 689, 21], - "if_else_618", - ["load_field", 265, 11, "args", 690, 17], - ["load_field", 266, 265, "id", 690, 17], - ["store_field", 11, 266, "id", 690, 6], - "if_end_619", - ["load_field", 267, 11, "id", 692, 25], - ["load_field", 268, 2, "self", 692, 1], - ["load_dynamic", 269, 268, 27, 692, 9], - ["store_field", 269, 267, "id", 692, 9], - ["load_field", 270, 11, "id", 703, 26], - ["true", 271, 703, 42], - ["load_field", 272, 31, "ar_timer", 703, 48], - ["is_proxy", 274, 30, 703, 1], - ["jump_false", 274, "record_path_620", 703, 1], - ["null", 275, 703, 1], - ["access", 276, "register_actor", 703, 1], - ["array", 277, 0, 703, 1], - ["push", 277, 270, 703, 1], - ["push", 277, 8, 703, 1], - ["push", 277, 271, 703, 1], - ["push", 277, 272, 703, 1], - ["frame", 278, 30, 2, 703, 1], - ["setarg", 278, 0, 275, 703, 1], - ["setarg", 278, 1, 276, 703, 1], - ["setarg", 278, 2, 277, 703, 1], - ["invoke", 278, 273, 703, 1], - ["jump", "call_done_621", 703, 1], - "record_path_620", - ["load_field", 279, 30, "register_actor", 703, 1], - ["frame", 280, 279, 4, 703, 1], - ["setarg", 280, 0, 30, 703, 1], - ["setarg", 280, 1, 270, 703, 1], - ["setarg", 280, 2, 8, 703, 1], - ["setarg", 280, 3, 271, 703, 1], - ["setarg", 280, 4, 272, 703, 1], - ["invoke", 280, 273, 703, 1], - "call_done_621", - ["load_field", 281, 31, "actor_memory", 705, 5], - ["jump_false", 281, "if_else_622", 705, 5], - ["load_field", 282, 31, "actor_memory", 706, 16], - ["is_proxy", 284, 74, 706, 3], - ["jump_false", 284, "record_path_624", 706, 3], - ["null", 285, 706, 3], - ["access", 286, "mem_limit", 706, 3], - ["array", 287, 0, 706, 3], - ["push", 287, 282, 706, 3], - ["frame", 288, 74, 2, 706, 3], - ["setarg", 288, 0, 285, 706, 3], - ["setarg", 288, 1, 286, 706, 3], - ["setarg", 288, 2, 287, 706, 3], - ["invoke", 288, 283, 706, 3], - ["jump", "call_done_625", 706, 3], - "record_path_624", - ["load_field", 289, 74, "mem_limit", 706, 3], - ["frame", 290, 289, 1, 706, 3], - ["setarg", 290, 0, 74, 706, 3], - ["setarg", 290, 1, 282, 706, 3], - ["invoke", 290, 283, 706, 3], - "call_done_625", - ["jump", "if_end_623", 706, 3], - "if_else_622", - "if_end_623", - ["load_field", 291, 31, "stack_max", 708, 5], - ["jump_false", 291, "if_else_626", 708, 5], - ["load_field", 292, 31, "system", 709, 20], - ["load_field", 293, 292, "stack_max", 709, 20], - ["is_proxy", 295, 74, 709, 3], - ["jump_false", 295, "record_path_628", 709, 3], - ["null", 296, 709, 3], - ["access", 297, "max_stacksize", 709, 3], - ["array", 298, 0, 709, 3], - ["push", 298, 293, 709, 3], - ["frame", 299, 74, 2, 709, 3], - ["setarg", 299, 0, 296, 709, 3], - ["setarg", 299, 1, 297, 709, 3], - ["setarg", 299, 2, 298, 709, 3], - ["invoke", 299, 294, 709, 3], - ["jump", "call_done_629", 709, 3], - "record_path_628", - ["load_field", 300, 74, "max_stacksize", 709, 3], - ["frame", 301, 300, 1, 709, 3], - ["setarg", 301, 0, 74, 709, 3], - ["setarg", 301, 1, 293, 709, 3], - ["invoke", 301, 294, 709, 3], - "call_done_629", - ["jump", "if_end_627", 709, 3], - "if_else_626", - "if_end_627", - ["load_field", 302, 11, "args", 711, 12], - ["load_field", 303, 302, "overling", 711, 12], - ["move", 39, 303, 711, 12], + ["jump_true", 265, "if_else_632", 689, 6], + ["frame", 268, 6, 0, 689, 32], + ["null", 269, 689, 32], + ["setarg", 268, 0, 269, 689, 32], + ["invoke", 268, 267, 689, 32], + ["store_field", 11, 267, "id", 689, 21], + ["jump", "if_end_633", 689, 21], + "if_else_632", + ["load_field", 270, 11, "args", 690, 17], + ["load_field", 271, 270, "id", 690, 17], + ["store_field", 11, 271, "id", 690, 6], + "if_end_633", + ["load_field", 272, 11, "id", 692, 25], + ["load_field", 273, 2, "self", 692, 1], + ["load_dynamic", 274, 273, 27, 692, 9], + ["store_field", 274, 272, "id", 692, 9], + ["load_field", 275, 11, "id", 703, 26], + ["true", 276, 703, 42], + ["load_field", 277, 31, "ar_timer", 703, 48], + ["is_proxy", 279, 30, 703, 1], + ["jump_false", 279, "record_path_634", 703, 1], + ["null", 280, 703, 1], + ["access", 281, "register_actor", 703, 1], + ["array", 282, 0, 703, 1], + ["push", 282, 275, 703, 1], + ["push", 282, 8, 703, 1], + ["push", 282, 276, 703, 1], + ["push", 282, 277, 703, 1], + ["frame", 283, 30, 2, 703, 1], + ["setarg", 283, 0, 280, 703, 1], + ["setarg", 283, 1, 281, 703, 1], + ["setarg", 283, 2, 282, 703, 1], + ["invoke", 283, 278, 703, 1], + ["jump", "call_done_635", 703, 1], + "record_path_634", + ["load_field", 284, 30, "register_actor", 703, 1], + ["frame", 285, 284, 4, 703, 1], + ["setarg", 285, 0, 30, 703, 1], + ["setarg", 285, 1, 275, 703, 1], + ["setarg", 285, 2, 8, 703, 1], + ["setarg", 285, 3, 276, 703, 1], + ["setarg", 285, 4, 277, 703, 1], + ["invoke", 285, 278, 703, 1], + "call_done_635", + ["load_field", 286, 31, "actor_memory", 705, 5], + ["jump_false", 286, "if_else_636", 705, 5], + ["load_field", 287, 31, "actor_memory", 706, 16], + ["is_proxy", 289, 74, 706, 3], + ["jump_false", 289, "record_path_638", 706, 3], + ["null", 290, 706, 3], + ["access", 291, "mem_limit", 706, 3], + ["array", 292, 0, 706, 3], + ["push", 292, 287, 706, 3], + ["frame", 293, 74, 2, 706, 3], + ["setarg", 293, 0, 290, 706, 3], + ["setarg", 293, 1, 291, 706, 3], + ["setarg", 293, 2, 292, 706, 3], + ["invoke", 293, 288, 706, 3], + ["jump", "call_done_639", 706, 3], + "record_path_638", + ["load_field", 294, 74, "mem_limit", 706, 3], + ["frame", 295, 294, 1, 706, 3], + ["setarg", 295, 0, 74, 706, 3], + ["setarg", 295, 1, 287, 706, 3], + ["invoke", 295, 288, 706, 3], + "call_done_639", + ["jump", "if_end_637", 706, 3], + "if_else_636", + "if_end_637", + ["load_field", 296, 31, "stack_max", 708, 5], + ["jump_false", 296, "if_else_640", 708, 5], + ["load_field", 297, 31, "system", 709, 20], + ["load_field", 298, 297, "stack_max", 709, 20], + ["is_proxy", 300, 74, 709, 3], + ["jump_false", 300, "record_path_642", 709, 3], + ["null", 301, 709, 3], + ["access", 302, "max_stacksize", 709, 3], + ["array", 303, 0, 709, 3], + ["push", 303, 298, 709, 3], + ["frame", 304, 74, 2, 709, 3], + ["setarg", 304, 0, 301, 709, 3], + ["setarg", 304, 1, 302, 709, 3], + ["setarg", 304, 2, 303, 709, 3], + ["invoke", 304, 299, 709, 3], + ["jump", "call_done_643", 709, 3], + "record_path_642", + ["load_field", 305, 74, "max_stacksize", 709, 3], + ["frame", 306, 305, 1, 709, 3], + ["setarg", 306, 0, 74, 709, 3], + ["setarg", 306, 1, 298, 709, 3], + ["invoke", 306, 299, 709, 3], + "call_done_643", + ["jump", "if_end_641", 709, 3], + "if_else_640", + "if_end_641", + ["load_field", 307, 11, "args", 711, 12], + ["load_field", 308, 307, "overling", 711, 12], + ["move", 39, 308, 711, 12], ["store_field", 2, 39, "overling", 712, 1], - ["load_field", 304, 11, "args", 714, 8], - ["load_field", 305, 304, "root", 714, 8], - ["move", 57, 305, 714, 8], - ["null", 306, 715, 13], - ["is_identical", 307, 57, 306, 715, 13], - ["jump_true", 307, "eq_done_632", 715, 13], - ["is_int", 308, 57, 715, 13], - ["jump_false", 308, "eq_ni_633", 715, 13], + ["load_field", 309, 11, "args", 714, 8], + ["load_field", 310, 309, "root", 714, 8], + ["move", 57, 310, 714, 8], + ["null", 311, 715, 13], + ["is_identical", 312, 57, 311, 715, 13], + ["jump_true", 312, "eq_done_646", 715, 13], + ["is_int", 313, 57, 715, 13], + ["jump_false", 313, "eq_ni_647", 715, 13], "_nop_tc_2", - ["jump", "eq_ni_633", 715, 13], - ["eq_int", 307, 57, 306, 715, 13], - ["jump", "eq_done_632", 715, 13], - "eq_ni_633", - ["is_num", 308, 57, 715, 13], - ["jump_false", 308, "eq_nn_634", 715, 13], - ["is_num", 309, 306, 715, 13], - ["jump_false", 309, "eq_nn_634", 715, 13], - ["eq_float", 307, 57, 306, 715, 13], - ["jump", "eq_done_632", 715, 13], - "eq_nn_634", - ["is_text", 308, 57, 715, 13], - ["jump_false", 308, "eq_nt_635", 715, 13], - ["is_text", 309, 306, 715, 13], - ["jump_false", 309, "eq_nt_635", 715, 13], - ["eq_text", 307, 57, 306, 715, 13], - ["jump", "eq_done_632", 715, 13], - "eq_nt_635", - ["is_null", 308, 57, 715, 13], - ["jump_false", 308, "eq_nnl_636", 715, 13], - ["is_null", 309, 306, 715, 13], - ["jump_false", 309, "eq_nnl_636", 715, 13], - ["true", 307, 715, 13], - ["jump", "eq_done_632", 715, 13], - "eq_nnl_636", - ["is_bool", 308, 57, 715, 13], - ["jump_false", 308, "eq_nb_637", 715, 13], - ["is_bool", 309, 306, 715, 13], - ["jump_false", 309, "eq_nb_637", 715, 13], - ["eq_bool", 307, 57, 306, 715, 13], - ["jump", "eq_done_632", 715, 13], - "eq_nb_637", - ["false", 307, 715, 13], - "eq_done_632", - ["jump_false", 307, "if_else_630", 715, 13], - ["load_field", 310, 2, "self", 715, 26], - ["move", 57, 310, 715, 26], - ["jump", "if_end_631", 715, 26], - "if_else_630", - "if_end_631", - ["jump_false", 39, "if_else_638", 717, 5], - ["is_proxy", 312, 2, 718, 3], - ["jump_false", 312, "record_path_640", 718, 3], - ["null", 313, 718, 3], - ["access", 314, "couple", 718, 3], - ["array", 315, 0, 718, 3], - ["push", 315, 39, 718, 3], - ["frame", 316, 2, 2, 718, 3], - ["setarg", 316, 0, 313, 718, 3], - ["setarg", 316, 1, 314, 718, 3], - ["setarg", 316, 2, 315, 718, 3], - ["invoke", 316, 311, 718, 3], - ["jump", "call_done_641", 718, 3], - "record_path_640", - ["load_field", 317, 2, "couple", 718, 3], - ["frame", 318, 317, 1, 718, 3], - ["setarg", 318, 0, 2, 718, 3], - ["setarg", 318, 1, 39, 718, 3], - ["invoke", 318, 311, 718, 3], - "call_done_641", - ["record", 319, 0], - ["access", 320, "greet", 720, 28], - ["store_field", 319, 320, "type", 720, 28], - ["load_field", 321, 2, "self", 720, 44], - ["store_field", 319, 321, "actor", 720, 44], - ["frame", 323, 18, 1, 720, 3], - ["null", 324, 720, 3], - ["setarg", 323, 0, 324, 720, 3], - ["setarg", 323, 1, 319, 720, 3], - ["invoke", 323, 322, 720, 3], - ["jump", "if_end_639", 720, 3], - "if_else_638", - "if_end_639", - ["load_field", 325, 11, "args", 737, 15], - ["load_field", 326, 325, "program", 737, 15], - ["move", 69, 326, 737, 15], + ["jump", "eq_ni_647", 715, 13], + ["eq_int", 312, 57, 311, 715, 13], + ["jump", "eq_done_646", 715, 13], + "eq_ni_647", + ["is_num", 313, 57, 715, 13], + ["jump_false", 313, "eq_nn_648", 715, 13], + ["is_num", 314, 311, 715, 13], + ["jump_false", 314, "eq_nn_648", 715, 13], + ["eq_float", 312, 57, 311, 715, 13], + ["jump", "eq_done_646", 715, 13], + "eq_nn_648", + ["is_text", 313, 57, 715, 13], + ["jump_false", 313, "eq_nt_649", 715, 13], + ["is_text", 314, 311, 715, 13], + ["jump_false", 314, "eq_nt_649", 715, 13], + ["eq_text", 312, 57, 311, 715, 13], + ["jump", "eq_done_646", 715, 13], + "eq_nt_649", + ["is_null", 313, 57, 715, 13], + ["jump_false", 313, "eq_nnl_650", 715, 13], + ["is_null", 314, 311, 715, 13], + ["jump_false", 314, "eq_nnl_650", 715, 13], + ["true", 312, 715, 13], + ["jump", "eq_done_646", 715, 13], + "eq_nnl_650", + ["is_bool", 313, 57, 715, 13], + ["jump_false", 313, "eq_nb_651", 715, 13], + ["is_bool", 314, 311, 715, 13], + ["jump_false", 314, "eq_nb_651", 715, 13], + ["eq_bool", 312, 57, 311, 715, 13], + ["jump", "eq_done_646", 715, 13], + "eq_nb_651", + ["false", 312, 715, 13], + "eq_done_646", + ["jump_false", 312, "if_else_644", 715, 13], + ["load_field", 315, 2, "self", 715, 26], + ["move", 57, 315, 715, 26], + ["jump", "if_end_645", 715, 26], + "if_else_644", + "if_end_645", + ["jump_false", 39, "if_else_652", 717, 5], + ["is_proxy", 317, 2, 718, 3], + ["jump_false", 317, "record_path_654", 718, 3], + ["null", 318, 718, 3], + ["access", 319, "couple", 718, 3], + ["array", 320, 0, 718, 3], + ["push", 320, 39, 718, 3], + ["frame", 321, 2, 2, 718, 3], + ["setarg", 321, 0, 318, 718, 3], + ["setarg", 321, 1, 319, 718, 3], + ["setarg", 321, 2, 320, 718, 3], + ["invoke", 321, 316, 718, 3], + ["jump", "call_done_655", 718, 3], + "record_path_654", + ["load_field", 322, 2, "couple", 718, 3], + ["frame", 323, 322, 1, 718, 3], + ["setarg", 323, 0, 2, 718, 3], + ["setarg", 323, 1, 39, 718, 3], + ["invoke", 323, 316, 718, 3], + "call_done_655", + ["record", 324, 0], + ["access", 325, "greet", 720, 28], + ["store_field", 324, 325, "type", 720, 28], + ["load_field", 326, 2, "self", 720, 44], + ["store_field", 324, 326, "actor", 720, 44], + ["frame", 328, 18, 1, 720, 3], + ["null", 329, 720, 3], + ["setarg", 328, 0, 329, 720, 3], + ["setarg", 328, 1, 324, 720, 3], + ["invoke", 328, 327, 720, 3], + ["jump", "if_end_653", 720, 3], + "if_else_652", + "if_end_653", + ["load_field", 330, 11, "args", 737, 15], + ["load_field", 331, 330, "program", 737, 15], + ["move", 69, 331, 737, 15], "_nop_bl_2", - ["jump_true", 69, "if_else_642", 739, 6], - ["access", 328, "No program specified. Usage: cell [args...]", 740, 13], - ["is_proxy", 330, 63, 740, 3], - ["jump_false", 330, "record_path_644", 740, 3], - ["null", 331, 740, 3], - ["access", 332, "error", 740, 3], - ["array", 333, 0, 740, 3], - ["push", 333, 328, 740, 3], - ["frame", 334, 63, 2, 740, 3], - ["setarg", 334, 0, 331, 740, 3], - ["setarg", 334, 1, 332, 740, 3], - ["setarg", 334, 2, 333, 740, 3], - ["invoke", 334, 329, 740, 3], - ["jump", "call_done_645", 740, 3], - "record_path_644", - ["load_field", 335, 63, "error", 740, 3], - ["frame", 336, 335, 1, 740, 3], - ["setarg", 336, 0, 63, 740, 3], - ["setarg", 336, 1, 328, 740, 3], - ["invoke", 336, 329, 740, 3], - "call_done_645", - ["access", 337, 1, 741, 11], + ["jump_true", 69, "if_else_656", 739, 6], + ["access", 333, "No program specified. Usage: cell [args...]", 740, 13], + ["is_proxy", 335, 63, 740, 3], + ["jump_false", 335, "record_path_658", 740, 3], + ["null", 336, 740, 3], + ["access", 337, "error", 740, 3], + ["array", 338, 0, 740, 3], + ["push", 338, 333, 740, 3], + ["frame", 339, 63, 2, 740, 3], + ["setarg", 339, 0, 336, 740, 3], + ["setarg", 339, 1, 337, 740, 3], + ["setarg", 339, 2, 338, 740, 3], + ["invoke", 339, 334, 740, 3], + ["jump", "call_done_659", 740, 3], + "record_path_658", + ["load_field", 340, 63, "error", 740, 3], + ["frame", 341, 340, 1, 740, 3], + ["setarg", 341, 0, 63, 740, 3], + ["setarg", 341, 1, 333, 740, 3], + ["invoke", 341, 334, 740, 3], + "call_done_659", + ["access", 342, 1, 741, 11], [ "access", - 339, + 344, { "name": "os", "kind": "name", @@ -7561,65 +7561,65 @@ 741, 3 ], - ["is_proxy", 340, 339, 741, 3], - ["jump_false", 340, "record_path_646", 741, 3], - ["null", 341, 741, 3], - ["access", 342, "exit", 741, 3], - ["array", 343, 0, 741, 3], - ["push", 343, 337, 741, 3], - ["frame", 344, 339, 2, 741, 3], - ["setarg", 344, 0, 341, 741, 3], - ["setarg", 344, 1, 342, 741, 3], - ["setarg", 344, 2, 343, 741, 3], - ["invoke", 344, 338, 741, 3], - ["jump", "call_done_647", 741, 3], - "record_path_646", - ["load_field", 345, 339, "exit", 741, 3], - ["frame", 346, 345, 1, 741, 3], - ["setarg", 346, 0, 339, 741, 3], - ["setarg", 346, 1, 337, 741, 3], - ["invoke", 346, 338, 741, 3], - "call_done_647", - ["jump", "if_end_643", 741, 3], - "if_else_642", - "if_end_643", - ["load_field", 347, 11, "args", 827, 19], - ["load_field", 348, 347, "program", 827, 19], - ["is_proxy", 350, 30, 827, 1], - ["jump_false", 350, "record_path_648", 827, 1], - ["null", 351, 827, 1], - ["access", 352, "setname", 827, 1], - ["array", 353, 0, 827, 1], - ["push", 353, 348, 827, 1], - ["frame", 354, 30, 2, 827, 1], - ["setarg", 354, 0, 351, 827, 1], - ["setarg", 354, 1, 352, 827, 1], - ["setarg", 354, 2, 353, 827, 1], - ["invoke", 354, 349, 827, 1], - ["jump", "call_done_649", 827, 1], - "record_path_648", - ["load_field", 355, 30, "setname", 827, 1], - ["frame", 356, 355, 1, 827, 1], - ["setarg", 356, 0, 30, 827, 1], - ["setarg", 356, 1, 348, 827, 1], - ["invoke", 356, 349, 827, 1], - "call_done_649", - ["load_field", 357, 11, "args", 829, 12], - ["load_field", 358, 357, "program", 829, 12], - ["move", 46, 358, 829, 12], - ["access", 359, ".cm", 830, 21], - ["frame", 361, 40, 2, 830, 5], - ["null", 362, 830, 5], - ["setarg", 361, 0, 362, 830, 5], - ["setarg", 361, 1, 46, 830, 5], - ["setarg", 361, 2, 359, 830, 5], - ["invoke", 361, 360, 830, 5], - ["jump_false", 360, "if_else_650", 830, 5], - ["array", 363, 0, 1, 1], - ["push", 363, 46, 1, 1], + ["is_proxy", 345, 344, 741, 3], + ["jump_false", 345, "record_path_660", 741, 3], + ["null", 346, 741, 3], + ["access", 347, "exit", 741, 3], + ["array", 348, 0, 741, 3], + ["push", 348, 342, 741, 3], + ["frame", 349, 344, 2, 741, 3], + ["setarg", 349, 0, 346, 741, 3], + ["setarg", 349, 1, 347, 741, 3], + ["setarg", 349, 2, 348, 741, 3], + ["invoke", 349, 343, 741, 3], + ["jump", "call_done_661", 741, 3], + "record_path_660", + ["load_field", 350, 344, "exit", 741, 3], + ["frame", 351, 350, 1, 741, 3], + ["setarg", 351, 0, 344, 741, 3], + ["setarg", 351, 1, 342, 741, 3], + ["invoke", 351, 343, 741, 3], + "call_done_661", + ["jump", "if_end_657", 741, 3], + "if_else_656", + "if_end_657", + ["load_field", 352, 11, "args", 827, 19], + ["load_field", 353, 352, "program", 827, 19], + ["is_proxy", 355, 30, 827, 1], + ["jump_false", 355, "record_path_662", 827, 1], + ["null", 356, 827, 1], + ["access", 357, "setname", 827, 1], + ["array", 358, 0, 827, 1], + ["push", 358, 353, 827, 1], + ["frame", 359, 30, 2, 827, 1], + ["setarg", 359, 0, 356, 827, 1], + ["setarg", 359, 1, 357, 827, 1], + ["setarg", 359, 2, 358, 827, 1], + ["invoke", 359, 354, 827, 1], + ["jump", "call_done_663", 827, 1], + "record_path_662", + ["load_field", 360, 30, "setname", 827, 1], + ["frame", 361, 360, 1, 827, 1], + ["setarg", 361, 0, 30, 827, 1], + ["setarg", 361, 1, 353, 827, 1], + ["invoke", 361, 354, 827, 1], + "call_done_663", + ["load_field", 362, 11, "args", 829, 12], + ["load_field", 363, 362, "program", 829, 12], + ["move", 46, 363, 829, 12], + ["access", 364, ".cm", 830, 21], + ["frame", 366, 40, 2, 830, 5], + ["null", 367, 830, 5], + ["setarg", 366, 0, 367, 830, 5], + ["setarg", 366, 1, 46, 830, 5], + ["setarg", 366, 2, 364, 830, 5], + ["invoke", 366, 365, 830, 5], + ["jump_false", 365, "if_else_664", 830, 5], + ["array", 368, 0, 1, 1], + ["push", 368, 46, 1, 1], [ "access", - 364, + 369, { "name": "format", "kind": "name", @@ -7628,16 +7628,16 @@ 1, 1 ], - ["access", 365, "error: {0} is a module (.cm), not a program (.ce)\n", 1, 1], - ["frame", 367, 364, 2, 1, 1], - ["null", 368, 1, 1], - ["setarg", 367, 0, 368, 1, 1], - ["setarg", 367, 1, 365, 1, 1], - ["setarg", 367, 2, 363, 1, 1], - ["invoke", 367, 366, 1, 1], + ["access", 370, "error: {0} is a module (.cm), not a program (.ce)\n", 1, 1], + ["frame", 372, 369, 2, 1, 1], + ["null", 373, 1, 1], + ["setarg", 372, 0, 373, 1, 1], + ["setarg", 372, 1, 370, 1, 1], + ["setarg", 372, 2, 368, 1, 1], + ["invoke", 372, 371, 1, 1], [ "access", - 370, + 375, { "name": "os", "kind": "name", @@ -7646,29 +7646,29 @@ 831, 3 ], - ["is_proxy", 371, 370, 831, 3], - ["jump_false", 371, "record_path_652", 831, 3], - ["null", 372, 831, 3], - ["access", 373, "print", 831, 3], - ["array", 374, 0, 831, 3], - ["push", 374, 366, 831, 3], - ["frame", 375, 370, 2, 831, 3], - ["setarg", 375, 0, 372, 831, 3], - ["setarg", 375, 1, 373, 831, 3], - ["setarg", 375, 2, 374, 831, 3], - ["invoke", 375, 369, 831, 3], - ["jump", "call_done_653", 831, 3], - "record_path_652", - ["load_field", 376, 370, "print", 831, 3], - ["frame", 377, 376, 1, 831, 3], - ["setarg", 377, 0, 370, 831, 3], - ["setarg", 377, 1, 366, 831, 3], - ["invoke", 377, 369, 831, 3], - "call_done_653", - ["access", 378, 1, 832, 11], + ["is_proxy", 376, 375, 831, 3], + ["jump_false", 376, "record_path_666", 831, 3], + ["null", 377, 831, 3], + ["access", 378, "print", 831, 3], + ["array", 379, 0, 831, 3], + ["push", 379, 371, 831, 3], + ["frame", 380, 375, 2, 831, 3], + ["setarg", 380, 0, 377, 831, 3], + ["setarg", 380, 1, 378, 831, 3], + ["setarg", 380, 2, 379, 831, 3], + ["invoke", 380, 374, 831, 3], + ["jump", "call_done_667", 831, 3], + "record_path_666", + ["load_field", 381, 375, "print", 831, 3], + ["frame", 382, 381, 1, 831, 3], + ["setarg", 382, 0, 375, 831, 3], + ["setarg", 382, 1, 371, 831, 3], + ["invoke", 382, 374, 831, 3], + "call_done_667", + ["access", 383, 1, 832, 11], [ "access", - 380, + 385, { "name": "os", "kind": "name", @@ -7677,41 +7677,41 @@ 832, 3 ], - ["is_proxy", 381, 380, 832, 3], - ["jump_false", 381, "record_path_654", 832, 3], - ["null", 382, 832, 3], - ["access", 383, "exit", 832, 3], - ["array", 384, 0, 832, 3], - ["push", 384, 378, 832, 3], - ["frame", 385, 380, 2, 832, 3], - ["setarg", 385, 0, 382, 832, 3], - ["setarg", 385, 1, 383, 832, 3], - ["setarg", 385, 2, 384, 832, 3], - ["invoke", 385, 379, 832, 3], - ["jump", "call_done_655", 832, 3], - "record_path_654", - ["load_field", 386, 380, "exit", 832, 3], - ["frame", 387, 386, 1, 832, 3], - ["setarg", 387, 0, 380, 832, 3], - ["setarg", 387, 1, 378, 832, 3], - ["invoke", 387, 379, 832, 3], - "call_done_655", - ["jump", "if_end_651", 832, 3], - "if_else_650", - "if_end_651", - ["access", 388, ".ce", 834, 21], - ["frame", 390, 40, 2, 834, 5], - ["null", 391, 834, 5], - ["setarg", 390, 0, 391, 834, 5], - ["setarg", 390, 1, 46, 834, 5], - ["setarg", 390, 2, 388, 834, 5], - ["invoke", 390, 389, 834, 5], - ["jump_false", 389, "if_else_656", 834, 5], - ["access", 392, 0, 834, 47], - ["access", 393, -3, 834, 50], + ["is_proxy", 386, 385, 832, 3], + ["jump_false", 386, "record_path_668", 832, 3], + ["null", 387, 832, 3], + ["access", 388, "exit", 832, 3], + ["array", 389, 0, 832, 3], + ["push", 389, 383, 832, 3], + ["frame", 390, 385, 2, 832, 3], + ["setarg", 390, 0, 387, 832, 3], + ["setarg", 390, 1, 388, 832, 3], + ["setarg", 390, 2, 389, 832, 3], + ["invoke", 390, 384, 832, 3], + ["jump", "call_done_669", 832, 3], + "record_path_668", + ["load_field", 391, 385, "exit", 832, 3], + ["frame", 392, 391, 1, 832, 3], + ["setarg", 392, 0, 385, 832, 3], + ["setarg", 392, 1, 383, 832, 3], + ["invoke", 392, 384, 832, 3], + "call_done_669", + ["jump", "if_end_665", 832, 3], + "if_else_664", + "if_end_665", + ["access", 393, ".ce", 834, 21], + ["frame", 395, 40, 2, 834, 5], + ["null", 396, 834, 5], + ["setarg", 395, 0, 396, 834, 5], + ["setarg", 395, 1, 46, 834, 5], + ["setarg", 395, 2, 393, 834, 5], + ["invoke", 395, 394, 834, 5], + ["jump_false", 394, "if_else_670", 834, 5], + ["access", 397, 0, 834, 47], + ["access", 398, -3, 834, 50], [ "access", - 395, + 400, { "name": "text", "kind": "name", @@ -7720,189 +7720,189 @@ 834, 36 ], - ["frame", 396, 395, 3, 834, 36], - ["null", 397, 834, 36], - ["setarg", 396, 0, 397, 834, 36], - ["setarg", 396, 1, 46, 834, 36], - ["setarg", 396, 2, 392, 834, 36], - ["setarg", 396, 3, 393, 834, 36], - ["invoke", 396, 394, 834, 36], - ["move", 46, 394, 834, 36], - ["jump", "if_end_657", 834, 36], - "if_else_656", - "if_end_657", - ["access", 398, "package", 836, 24], - ["frame", 400, 32, 1, 836, 15], - ["null", 401, 836, 15], - ["setarg", 400, 0, 401, 836, 15], - ["setarg", 400, 1, 398, 836, 15], - ["invoke", 400, 399, 836, 15], - ["move", 29, 399, 836, 15], - ["access", 402, ".ce", 839, 24], - ["is_int", 404, 46, 839, 24], - ["jump_false", 404, "add_ni_658", 839, 24], + ["frame", 401, 400, 3, 834, 36], + ["null", 402, 834, 36], + ["setarg", 401, 0, 402, 834, 36], + ["setarg", 401, 1, 46, 834, 36], + ["setarg", 401, 2, 397, 834, 36], + ["setarg", 401, 3, 398, 834, 36], + ["invoke", 401, 399, 834, 36], + ["move", 46, 399, 834, 36], + ["jump", "if_end_671", 834, 36], + "if_else_670", + "if_end_671", + ["access", 403, "package", 836, 24], + ["frame", 405, 32, 1, 836, 15], + ["null", 406, 836, 15], + ["setarg", 405, 0, 406, 836, 15], + ["setarg", 405, 1, 403, 836, 15], + ["invoke", 405, 404, 836, 15], + ["move", 29, 404, 836, 15], + ["access", 407, ".ce", 839, 24], + ["is_int", 409, 46, 839, 24], + ["jump_false", 409, "add_ni_672", 839, 24], "_nop_tc_3", - ["jump", "add_ni_658", 839, 24], - ["add_int", 403, 46, 402, 839, 24], - ["jump", "add_done_660", 839, 24], - "add_ni_658", - ["is_text", 404, 46, 839, 24], - ["jump_false", 404, "add_nt_659", 839, 24], - ["concat", 403, 46, 402, 839, 24], - ["jump", "add_done_660", 839, 24], - "add_nt_659", - ["is_num", 404, 46, 839, 24], - ["jump_false", 404, "add_err_661", 839, 24], - ["is_num", 405, 402, 839, 24], - ["jump_false", 405, "add_err_661", 839, 24], - ["add_float", 403, 46, 402, 839, 24], - ["jump", "add_done_660", 839, 24], - "add_err_661", + ["jump", "add_ni_672", 839, 24], + ["add_int", 408, 46, 407, 839, 24], + ["jump", "add_done_674", 839, 24], + "add_ni_672", + ["is_text", 409, 46, 839, 24], + ["jump_false", 409, "add_nt_673", 839, 24], + ["concat", 408, 46, 407, 839, 24], + ["jump", "add_done_674", 839, 24], + "add_nt_673", + ["is_num", 409, 46, 839, 24], + ["jump_false", 409, "add_err_675", 839, 24], + ["is_num", 410, 407, 839, 24], + ["jump_false", 410, "add_err_675", 839, 24], + ["add_float", 408, 46, 407, 839, 24], + ["jump", "add_done_674", 839, 24], + "add_err_675", ["disrupt", 839, 24], - "add_done_660", - ["move", 68, 403, 839, 24], + "add_done_674", + ["move", 68, 408, 839, 24], ["null", 76, 840, 15], ["null", 77, 841, 16], - ["is_proxy", 407, 20, 842, 6], - ["jump_false", 407, "record_path_664", 842, 6], - ["null", 408, 842, 6], - ["access", 409, "is_file", 842, 6], - ["array", 410, 0, 842, 6], - ["push", 410, 68, 842, 6], - ["frame", 411, 20, 2, 842, 6], - ["setarg", 411, 0, 408, 842, 6], - ["setarg", 411, 1, 409, 842, 6], - ["setarg", 411, 2, 410, 842, 6], - ["invoke", 411, 406, 842, 6], - ["jump", "call_done_665", 842, 6], - "record_path_664", - ["load_field", 412, 20, "is_file", 842, 6], - ["frame", 413, 412, 1, 842, 6], - ["setarg", 413, 0, 20, 842, 6], - ["setarg", 413, 1, 68, 842, 6], - ["invoke", 413, 406, 842, 6], - "call_done_665", + ["is_proxy", 412, 20, 842, 6], + ["jump_false", 412, "record_path_678", 842, 6], + ["null", 413, 842, 6], + ["access", 414, "is_file", 842, 6], + ["array", 415, 0, 842, 6], + ["push", 415, 68, 842, 6], + ["frame", 416, 20, 2, 842, 6], + ["setarg", 416, 0, 413, 842, 6], + ["setarg", 416, 1, 414, 842, 6], + ["setarg", 416, 2, 415, 842, 6], + ["invoke", 416, 411, 842, 6], + ["jump", "call_done_679", 842, 6], + "record_path_678", + ["load_field", 417, 20, "is_file", 842, 6], + ["frame", 418, 417, 1, 842, 6], + ["setarg", 418, 0, 20, 842, 6], + ["setarg", 418, 1, 68, 842, 6], + ["invoke", 418, 411, 842, 6], + "call_done_679", "_nop_bl_3", - ["jump_true", 406, "if_else_662", 842, 6], - ["is_proxy", 416, 29, 843, 13], - ["jump_false", 416, "record_path_666", 843, 13], - ["null", 417, 843, 13], - ["access", 418, "find_package_dir", 843, 13], - ["array", 419, 0, 843, 13], - ["push", 419, 68, 843, 13], - ["frame", 420, 29, 2, 843, 13], - ["setarg", 420, 0, 417, 843, 13], - ["setarg", 420, 1, 418, 843, 13], - ["setarg", 420, 2, 419, 843, 13], - ["invoke", 420, 415, 843, 13], - ["jump", "call_done_667", 843, 13], - "record_path_666", - ["load_field", 421, 29, "find_package_dir", 843, 13], - ["frame", 422, 421, 1, 843, 13], - ["setarg", 422, 0, 29, 843, 13], - ["setarg", 422, 1, 68, 843, 13], - ["invoke", 422, 415, 843, 13], - "call_done_667", - ["move", 76, 415, 843, 13], - ["jump_false", 76, "if_else_668", 844, 7], - ["access", 423, "/", 845, 27], - ["is_int", 425, 76, 845, 27], - ["jump_false", 425, "add_ni_670", 845, 27], + ["jump_true", 411, "if_else_676", 842, 6], + ["is_proxy", 421, 29, 843, 13], + ["jump_false", 421, "record_path_680", 843, 13], + ["null", 422, 843, 13], + ["access", 423, "find_package_dir", 843, 13], + ["array", 424, 0, 843, 13], + ["push", 424, 68, 843, 13], + ["frame", 425, 29, 2, 843, 13], + ["setarg", 425, 0, 422, 843, 13], + ["setarg", 425, 1, 423, 843, 13], + ["setarg", 425, 2, 424, 843, 13], + ["invoke", 425, 420, 843, 13], + ["jump", "call_done_681", 843, 13], + "record_path_680", + ["load_field", 426, 29, "find_package_dir", 843, 13], + ["frame", 427, 426, 1, 843, 13], + ["setarg", 427, 0, 29, 843, 13], + ["setarg", 427, 1, 68, 843, 13], + ["invoke", 427, 420, 843, 13], + "call_done_681", + ["move", 76, 420, 843, 13], + ["jump_false", 76, "if_else_682", 844, 7], + ["access", 428, "/", 845, 27], + ["is_int", 430, 76, 845, 27], + ["jump_false", 430, "add_ni_684", 845, 27], "_nop_tc_4", - ["jump", "add_ni_670", 845, 27], - ["add_int", 424, 76, 423, 845, 27], - ["jump", "add_done_672", 845, 27], - "add_ni_670", - ["is_text", 425, 76, 845, 27], - ["jump_false", 425, "add_nt_671", 845, 27], - ["concat", 424, 76, 423, 845, 27], - ["jump", "add_done_672", 845, 27], - "add_nt_671", - ["is_num", 425, 76, 845, 27], - ["jump_false", 425, "add_err_673", 845, 27], - ["is_num", 426, 423, 845, 27], - ["jump_false", 426, "add_err_673", 845, 27], - ["add_float", 424, 76, 423, 845, 27], - ["jump", "add_done_672", 845, 27], - "add_err_673", + ["jump", "add_ni_684", 845, 27], + ["add_int", 429, 76, 428, 845, 27], + ["jump", "add_done_686", 845, 27], + "add_ni_684", + ["is_text", 430, 76, 845, 27], + ["jump_false", 430, "add_nt_685", 845, 27], + ["concat", 429, 76, 428, 845, 27], + ["jump", "add_done_686", 845, 27], + "add_nt_685", + ["is_num", 430, 76, 845, 27], + ["jump_false", 430, "add_err_687", 845, 27], + ["is_num", 431, 428, 845, 27], + ["jump_false", 431, "add_err_687", 845, 27], + ["add_float", 429, 76, 428, 845, 27], + ["jump", "add_done_686", 845, 27], + "add_err_687", ["disrupt", 845, 27], - "add_done_672", - ["is_int", 428, 424, 845, 33], - ["jump_false", 428, "add_ni_674", 845, 33], - ["is_int", 429, 46, 845, 33], - ["jump_false", 429, "add_ni_674", 845, 33], - ["add_int", 427, 424, 46, 845, 33], - ["jump", "add_done_676", 845, 33], - "add_ni_674", - ["is_text", 428, 424, 845, 33], - ["jump_false", 428, "add_nt_675", 845, 33], - ["is_text", 429, 46, 845, 33], - ["jump_false", 429, "add_nt_675", 845, 33], - ["concat", 427, 424, 46, 845, 33], - ["jump", "add_done_676", 845, 33], - "add_nt_675", - ["is_num", 428, 424, 845, 33], - ["jump_false", 428, "add_err_677", 845, 33], - ["is_num", 429, 46, 845, 33], - ["jump_false", 429, "add_err_677", 845, 33], - ["add_float", 427, 424, 46, 845, 33], - ["jump", "add_done_676", 845, 33], - "add_err_677", + "add_done_686", + ["is_int", 433, 429, 845, 33], + ["jump_false", 433, "add_ni_688", 845, 33], + ["is_int", 434, 46, 845, 33], + ["jump_false", 434, "add_ni_688", 845, 33], + ["add_int", 432, 429, 46, 845, 33], + ["jump", "add_done_690", 845, 33], + "add_ni_688", + ["is_text", 433, 429, 845, 33], + ["jump_false", 433, "add_nt_689", 845, 33], + ["is_text", 434, 46, 845, 33], + ["jump_false", 434, "add_nt_689", 845, 33], + ["concat", 432, 429, 46, 845, 33], + ["jump", "add_done_690", 845, 33], + "add_nt_689", + ["is_num", 433, 429, 845, 33], + ["jump_false", 433, "add_err_691", 845, 33], + ["is_num", 434, 46, 845, 33], + ["jump_false", 434, "add_err_691", 845, 33], + ["add_float", 432, 429, 46, 845, 33], + ["jump", "add_done_690", 845, 33], + "add_err_691", ["disrupt", 845, 33], - "add_done_676", - ["access", 430, ".ce", 845, 40], - ["is_int", 432, 427, 845, 40], - ["jump_false", 432, "add_ni_678", 845, 40], + "add_done_690", + ["access", 435, ".ce", 845, 40], + ["is_int", 437, 432, 845, 40], + ["jump_false", 437, "add_ni_692", 845, 40], "_nop_tc_5", - ["jump", "add_ni_678", 845, 40], - ["add_int", 431, 427, 430, 845, 40], - ["jump", "add_done_680", 845, 40], - "add_ni_678", - ["is_text", 432, 427, 845, 40], - ["jump_false", 432, "add_nt_679", 845, 40], - ["concat", 431, 427, 430, 845, 40], - ["jump", "add_done_680", 845, 40], - "add_nt_679", - ["is_num", 432, 427, 845, 40], - ["jump_false", 432, "add_err_681", 845, 40], - ["is_num", 433, 430, 845, 40], - ["jump_false", 433, "add_err_681", 845, 40], - ["add_float", 431, 427, 430, 845, 40], - ["jump", "add_done_680", 845, 40], - "add_err_681", + ["jump", "add_ni_692", 845, 40], + ["add_int", 436, 432, 435, 845, 40], + ["jump", "add_done_694", 845, 40], + "add_ni_692", + ["is_text", 437, 432, 845, 40], + ["jump_false", 437, "add_nt_693", 845, 40], + ["concat", 436, 432, 435, 845, 40], + ["jump", "add_done_694", 845, 40], + "add_nt_693", + ["is_num", 437, 432, 845, 40], + ["jump_false", 437, "add_err_695", 845, 40], + ["is_num", 438, 435, 845, 40], + ["jump_false", 438, "add_err_695", 845, 40], + ["add_float", 436, 432, 435, 845, 40], + ["jump", "add_done_694", 845, 40], + "add_err_695", ["disrupt", 845, 40], - "add_done_680", - ["move", 68, 431, 845, 40], - ["jump", "if_end_669", 845, 40], - "if_else_668", - "if_end_669", - ["jump", "if_end_663", 845, 40], - "if_else_662", - "if_end_663", - ["is_proxy", 435, 20, 847, 6], - ["jump_false", 435, "record_path_684", 847, 6], - ["null", 436, 847, 6], - ["access", 437, "is_file", 847, 6], - ["array", 438, 0, 847, 6], - ["push", 438, 68, 847, 6], - ["frame", 439, 20, 2, 847, 6], - ["setarg", 439, 0, 436, 847, 6], - ["setarg", 439, 1, 437, 847, 6], - ["setarg", 439, 2, 438, 847, 6], - ["invoke", 439, 434, 847, 6], - ["jump", "call_done_685", 847, 6], - "record_path_684", - ["load_field", 440, 20, "is_file", 847, 6], - ["frame", 441, 440, 1, 847, 6], - ["setarg", 441, 0, 20, 847, 6], - ["setarg", 441, 1, 68, 847, 6], - ["invoke", 441, 434, 847, 6], - "call_done_685", + "add_done_694", + ["move", 68, 436, 845, 40], + ["jump", "if_end_683", 845, 40], + "if_else_682", + "if_end_683", + ["jump", "if_end_677", 845, 40], + "if_else_676", + "if_end_677", + ["is_proxy", 440, 20, 847, 6], + ["jump_false", 440, "record_path_698", 847, 6], + ["null", 441, 847, 6], + ["access", 442, "is_file", 847, 6], + ["array", 443, 0, 847, 6], + ["push", 443, 68, 847, 6], + ["frame", 444, 20, 2, 847, 6], + ["setarg", 444, 0, 441, 847, 6], + ["setarg", 444, 1, 442, 847, 6], + ["setarg", 444, 2, 443, 847, 6], + ["invoke", 444, 439, 847, 6], + ["jump", "call_done_699", 847, 6], + "record_path_698", + ["load_field", 445, 20, "is_file", 847, 6], + ["frame", 446, 445, 1, 847, 6], + ["setarg", 446, 0, 20, 847, 6], + ["setarg", 446, 1, 68, 847, 6], + ["invoke", 446, 439, 847, 6], + "call_done_699", "_nop_bl_4", - ["jump_true", 434, "if_else_682", 847, 6], + ["jump_true", 439, "if_else_696", 847, 6], [ "access", - 443, + 448, { "name": "core_path", "kind": "name", @@ -7911,104 +7911,104 @@ 849, 14 ], - ["move", 77, 443, 849, 14], - ["access", 444, "/", 850, 26], - ["is_int", 446, 77, 850, 26], - ["jump_false", 446, "add_ni_686", 850, 26], + ["move", 77, 448, 849, 14], + ["access", 449, "/", 850, 26], + ["is_int", 451, 77, 850, 26], + ["jump_false", 451, "add_ni_700", 850, 26], "_nop_tc_6", - ["jump", "add_ni_686", 850, 26], - ["add_int", 445, 77, 444, 850, 26], - ["jump", "add_done_688", 850, 26], - "add_ni_686", - ["is_text", 446, 77, 850, 26], - ["jump_false", 446, "add_nt_687", 850, 26], - ["concat", 445, 77, 444, 850, 26], - ["jump", "add_done_688", 850, 26], - "add_nt_687", - ["is_num", 446, 77, 850, 26], - ["jump_false", 446, "add_err_689", 850, 26], - ["is_num", 447, 444, 850, 26], - ["jump_false", 447, "add_err_689", 850, 26], - ["add_float", 445, 77, 444, 850, 26], - ["jump", "add_done_688", 850, 26], - "add_err_689", + ["jump", "add_ni_700", 850, 26], + ["add_int", 450, 77, 449, 850, 26], + ["jump", "add_done_702", 850, 26], + "add_ni_700", + ["is_text", 451, 77, 850, 26], + ["jump_false", 451, "add_nt_701", 850, 26], + ["concat", 450, 77, 449, 850, 26], + ["jump", "add_done_702", 850, 26], + "add_nt_701", + ["is_num", 451, 77, 850, 26], + ["jump_false", 451, "add_err_703", 850, 26], + ["is_num", 452, 449, 850, 26], + ["jump_false", 452, "add_err_703", 850, 26], + ["add_float", 450, 77, 449, 850, 26], + ["jump", "add_done_702", 850, 26], + "add_err_703", ["disrupt", 850, 26], - "add_done_688", - ["is_int", 449, 445, 850, 32], - ["jump_false", 449, "add_ni_690", 850, 32], - ["is_int", 450, 46, 850, 32], - ["jump_false", 450, "add_ni_690", 850, 32], - ["add_int", 448, 445, 46, 850, 32], - ["jump", "add_done_692", 850, 32], - "add_ni_690", - ["is_text", 449, 445, 850, 32], - ["jump_false", 449, "add_nt_691", 850, 32], - ["is_text", 450, 46, 850, 32], - ["jump_false", 450, "add_nt_691", 850, 32], - ["concat", 448, 445, 46, 850, 32], - ["jump", "add_done_692", 850, 32], - "add_nt_691", - ["is_num", 449, 445, 850, 32], - ["jump_false", 449, "add_err_693", 850, 32], - ["is_num", 450, 46, 850, 32], - ["jump_false", 450, "add_err_693", 850, 32], - ["add_float", 448, 445, 46, 850, 32], - ["jump", "add_done_692", 850, 32], - "add_err_693", + "add_done_702", + ["is_int", 454, 450, 850, 32], + ["jump_false", 454, "add_ni_704", 850, 32], + ["is_int", 455, 46, 850, 32], + ["jump_false", 455, "add_ni_704", 850, 32], + ["add_int", 453, 450, 46, 850, 32], + ["jump", "add_done_706", 850, 32], + "add_ni_704", + ["is_text", 454, 450, 850, 32], + ["jump_false", 454, "add_nt_705", 850, 32], + ["is_text", 455, 46, 850, 32], + ["jump_false", 455, "add_nt_705", 850, 32], + ["concat", 453, 450, 46, 850, 32], + ["jump", "add_done_706", 850, 32], + "add_nt_705", + ["is_num", 454, 450, 850, 32], + ["jump_false", 454, "add_err_707", 850, 32], + ["is_num", 455, 46, 850, 32], + ["jump_false", 455, "add_err_707", 850, 32], + ["add_float", 453, 450, 46, 850, 32], + ["jump", "add_done_706", 850, 32], + "add_err_707", ["disrupt", 850, 32], - "add_done_692", - ["access", 451, ".ce", 850, 39], - ["is_int", 453, 448, 850, 39], - ["jump_false", 453, "add_ni_694", 850, 39], + "add_done_706", + ["access", 456, ".ce", 850, 39], + ["is_int", 458, 453, 850, 39], + ["jump_false", 458, "add_ni_708", 850, 39], "_nop_tc_7", - ["jump", "add_ni_694", 850, 39], - ["add_int", 452, 448, 451, 850, 39], - ["jump", "add_done_696", 850, 39], - "add_ni_694", - ["is_text", 453, 448, 850, 39], - ["jump_false", 453, "add_nt_695", 850, 39], - ["concat", 452, 448, 451, 850, 39], - ["jump", "add_done_696", 850, 39], - "add_nt_695", - ["is_num", 453, 448, 850, 39], - ["jump_false", 453, "add_err_697", 850, 39], - ["is_num", 454, 451, 850, 39], - ["jump_false", 454, "add_err_697", 850, 39], - ["add_float", 452, 448, 451, 850, 39], - ["jump", "add_done_696", 850, 39], - "add_err_697", + ["jump", "add_ni_708", 850, 39], + ["add_int", 457, 453, 456, 850, 39], + ["jump", "add_done_710", 850, 39], + "add_ni_708", + ["is_text", 458, 453, 850, 39], + ["jump_false", 458, "add_nt_709", 850, 39], + ["concat", 457, 453, 456, 850, 39], + ["jump", "add_done_710", 850, 39], + "add_nt_709", + ["is_num", 458, 453, 850, 39], + ["jump_false", 458, "add_err_711", 850, 39], + ["is_num", 459, 456, 850, 39], + ["jump_false", 459, "add_err_711", 850, 39], + ["add_float", 457, 453, 456, 850, 39], + ["jump", "add_done_710", 850, 39], + "add_err_711", ["disrupt", 850, 39], - "add_done_696", - ["move", 68, 452, 850, 39], - ["jump", "if_end_683", 850, 39], - "if_else_682", - "if_end_683", - ["is_proxy", 456, 20, 852, 6], - ["jump_false", 456, "record_path_700", 852, 6], - ["null", 457, 852, 6], - ["access", 458, "is_file", 852, 6], - ["array", 459, 0, 852, 6], - ["push", 459, 68, 852, 6], - ["frame", 460, 20, 2, 852, 6], - ["setarg", 460, 0, 457, 852, 6], - ["setarg", 460, 1, 458, 852, 6], - ["setarg", 460, 2, 459, 852, 6], - ["invoke", 460, 455, 852, 6], - ["jump", "call_done_701", 852, 6], - "record_path_700", - ["load_field", 461, 20, "is_file", 852, 6], - ["frame", 462, 461, 1, 852, 6], - ["setarg", 462, 0, 20, 852, 6], - ["setarg", 462, 1, 68, 852, 6], - ["invoke", 462, 455, 852, 6], - "call_done_701", + "add_done_710", + ["move", 68, 457, 850, 39], + ["jump", "if_end_697", 850, 39], + "if_else_696", + "if_end_697", + ["is_proxy", 461, 20, 852, 6], + ["jump_false", 461, "record_path_714", 852, 6], + ["null", 462, 852, 6], + ["access", 463, "is_file", 852, 6], + ["array", 464, 0, 852, 6], + ["push", 464, 68, 852, 6], + ["frame", 465, 20, 2, 852, 6], + ["setarg", 465, 0, 462, 852, 6], + ["setarg", 465, 1, 463, 852, 6], + ["setarg", 465, 2, 464, 852, 6], + ["invoke", 465, 460, 852, 6], + ["jump", "call_done_715", 852, 6], + "record_path_714", + ["load_field", 466, 20, "is_file", 852, 6], + ["frame", 467, 466, 1, 852, 6], + ["setarg", 467, 0, 20, 852, 6], + ["setarg", 467, 1, 68, 852, 6], + ["invoke", 467, 460, 852, 6], + "call_done_715", "_nop_bl_5", - ["jump_true", 455, "if_else_698", 852, 6], - ["array", 464, 0, 1, 1], - ["push", 464, 46, 1, 1], + ["jump_true", 460, "if_else_712", 852, 6], + ["array", 469, 0, 1, 1], + ["push", 469, 46, 1, 1], [ "access", - 465, + 470, { "name": "format", "kind": "name", @@ -8017,16 +8017,16 @@ 1, 1 ], - ["access", 466, "Main program {0} could not be found\n", 1, 1], - ["frame", 468, 465, 2, 1, 1], - ["null", 469, 1, 1], - ["setarg", 468, 0, 469, 1, 1], - ["setarg", 468, 1, 466, 1, 1], - ["setarg", 468, 2, 464, 1, 1], - ["invoke", 468, 467, 1, 1], + ["access", 471, "Main program {0} could not be found\n", 1, 1], + ["frame", 473, 470, 2, 1, 1], + ["null", 474, 1, 1], + ["setarg", 473, 0, 474, 1, 1], + ["setarg", 473, 1, 471, 1, 1], + ["setarg", 473, 2, 469, 1, 1], + ["invoke", 473, 472, 1, 1], [ "access", - 471, + 476, { "name": "os", "kind": "name", @@ -8035,29 +8035,29 @@ 853, 3 ], - ["is_proxy", 472, 471, 853, 3], - ["jump_false", 472, "record_path_702", 853, 3], - ["null", 473, 853, 3], - ["access", 474, "print", 853, 3], - ["array", 475, 0, 853, 3], - ["push", 475, 467, 853, 3], - ["frame", 476, 471, 2, 853, 3], - ["setarg", 476, 0, 473, 853, 3], - ["setarg", 476, 1, 474, 853, 3], - ["setarg", 476, 2, 475, 853, 3], - ["invoke", 476, 470, 853, 3], - ["jump", "call_done_703", 853, 3], - "record_path_702", - ["load_field", 477, 471, "print", 853, 3], - ["frame", 478, 477, 1, 853, 3], - ["setarg", 478, 0, 471, 853, 3], - ["setarg", 478, 1, 467, 853, 3], - ["invoke", 478, 470, 853, 3], - "call_done_703", - ["access", 479, 1, 854, 11], + ["is_proxy", 477, 476, 853, 3], + ["jump_false", 477, "record_path_716", 853, 3], + ["null", 478, 853, 3], + ["access", 479, "print", 853, 3], + ["array", 480, 0, 853, 3], + ["push", 480, 472, 853, 3], + ["frame", 481, 476, 2, 853, 3], + ["setarg", 481, 0, 478, 853, 3], + ["setarg", 481, 1, 479, 853, 3], + ["setarg", 481, 2, 480, 853, 3], + ["invoke", 481, 475, 853, 3], + ["jump", "call_done_717", 853, 3], + "record_path_716", + ["load_field", 482, 476, "print", 853, 3], + ["frame", 483, 482, 1, 853, 3], + ["setarg", 483, 0, 476, 853, 3], + ["setarg", 483, 1, 472, 853, 3], + ["invoke", 483, 475, 853, 3], + "call_done_717", + ["access", 484, 1, 854, 11], [ "access", - 481, + 486, { "name": "os", "kind": "name", @@ -8066,49 +8066,49 @@ 854, 3 ], - ["is_proxy", 482, 481, 854, 3], - ["jump_false", 482, "record_path_704", 854, 3], - ["null", 483, 854, 3], - ["access", 484, "exit", 854, 3], - ["array", 485, 0, 854, 3], - ["push", 485, 479, 854, 3], - ["frame", 486, 481, 2, 854, 3], - ["setarg", 486, 0, 483, 854, 3], - ["setarg", 486, 1, 484, 854, 3], - ["setarg", 486, 2, 485, 854, 3], - ["invoke", 486, 480, 854, 3], - ["jump", "call_done_705", 854, 3], - "record_path_704", - ["load_field", 487, 481, "exit", 854, 3], - ["frame", 488, 487, 1, 854, 3], - ["setarg", 488, 0, 481, 854, 3], - ["setarg", 488, 1, 479, 854, 3], - ["invoke", 488, 480, 854, 3], - "call_done_705", - ["jump", "if_end_699", 854, 3], - "if_else_698", - "if_end_699", - ["function", 489, 57, 857, 10], - ["is_proxy", 491, 2, 857, 1], - ["jump_false", 491, "record_path_763", 857, 1], - ["null", 492, 857, 1], - ["access", 493, "clock", 857, 1], - ["array", 494, 0, 857, 1], - ["push", 494, 489, 857, 1], - ["frame", 495, 2, 2, 857, 1], - ["setarg", 495, 0, 492, 857, 1], - ["setarg", 495, 1, 493, 857, 1], - ["setarg", 495, 2, 494, 857, 1], - ["invoke", 495, 490, 857, 1], - ["jump", "call_done_764", 857, 1], - "record_path_763", - ["load_field", 496, 2, "clock", 857, 1], - ["frame", 497, 496, 1, 857, 1], - ["setarg", 497, 0, 2, 857, 1], - ["setarg", 497, 1, 489, 857, 1], - ["invoke", 497, 490, 857, 1], - "call_done_764", - ["return", 490, 857, 1] + ["is_proxy", 487, 486, 854, 3], + ["jump_false", 487, "record_path_718", 854, 3], + ["null", 488, 854, 3], + ["access", 489, "exit", 854, 3], + ["array", 490, 0, 854, 3], + ["push", 490, 484, 854, 3], + ["frame", 491, 486, 2, 854, 3], + ["setarg", 491, 0, 488, 854, 3], + ["setarg", 491, 1, 489, 854, 3], + ["setarg", 491, 2, 490, 854, 3], + ["invoke", 491, 485, 854, 3], + ["jump", "call_done_719", 854, 3], + "record_path_718", + ["load_field", 492, 486, "exit", 854, 3], + ["frame", 493, 492, 1, 854, 3], + ["setarg", 493, 0, 486, 854, 3], + ["setarg", 493, 1, 484, 854, 3], + ["invoke", 493, 485, 854, 3], + "call_done_719", + ["jump", "if_end_713", 854, 3], + "if_else_712", + "if_end_713", + ["function", 494, 57, 857, 10], + ["is_proxy", 496, 2, 857, 1], + ["jump_false", 496, "record_path_779", 857, 1], + ["null", 497, 857, 1], + ["access", 498, "clock", 857, 1], + ["array", 499, 0, 857, 1], + ["push", 499, 494, 857, 1], + ["frame", 500, 2, 2, 857, 1], + ["setarg", 500, 0, 497, 857, 1], + ["setarg", 500, 1, 498, 857, 1], + ["setarg", 500, 2, 499, 857, 1], + ["invoke", 500, 495, 857, 1], + ["jump", "call_done_780", 857, 1], + "record_path_779", + ["load_field", 501, 2, "clock", 857, 1], + ["frame", 502, 501, 1, 857, 1], + ["setarg", 502, 0, 2, 857, 1], + ["setarg", 502, 1, 494, 857, 1], + ["invoke", 502, 495, 857, 1], + "call_done_780", + ["return", 495, 857, 1] ] }, "filename": "internal/engine.cm", diff --git a/source/quickjs-internal.h b/source/quickjs-internal.h index 2b6959de..02d61f52 100644 --- a/source/quickjs-internal.h +++ b/source/quickjs-internal.h @@ -1081,18 +1081,18 @@ struct JSContext { size_t current_block_size; /* current block size (64KB initially) */ size_t next_block_size; /* doubles if <10% recovered after GC */ - /* Stone arena - permanent immutable allocations */ - uint8_t *stone_base; /* stone arena base */ - uint8_t *stone_free; /* stone arena bump pointer */ - uint8_t *stone_end; /* stone arena end */ + /* Constant text pool — compilation constants */ + uint8_t *ct_base; /* pool base */ + uint8_t *ct_free; /* pool bump pointer */ + uint8_t *ct_end; /* pool end */ - /* Stone text intern table */ - void *st_pages; /* stone page list for large allocations */ - uint32_t *st_text_hash; /* hash table (slot -> id) */ - JSText **st_text_array; /* array of JSText pointers indexed by id */ - uint32_t st_text_size; /* hash table size (power of 2) */ - uint32_t st_text_count; /* number of interned texts */ - uint32_t st_text_resize; /* threshold for resize */ + /* Constant text intern table */ + void *ct_pages; /* page list for large allocations */ + uint32_t *ct_hash; /* hash table (slot -> id) */ + JSText **ct_array; /* array of JSText pointers indexed by id */ + uint32_t ct_size; /* hash table size (power of 2) */ + uint32_t ct_count; /* number of interned texts */ + uint32_t ct_resize_threshold; /* threshold for resize */ uint16_t binary_object_count; int binary_object_size; @@ -1161,22 +1161,22 @@ static inline const char *JS_KeyGetStr (JSContext *ctx, char *buf, size_t buf_si /* ============================================================ - Stone Arena Functions + Constant Text Pool Functions ============================================================ */ -/* Stone page for large allocations */ -typedef struct StonePage { - struct StonePage *next; +/* Constant text page for large allocations */ +typedef struct CTPage { + struct CTPage *next; size_t size; uint8_t data[]; -} StonePage; +} CTPage; -/* Initial stone text table size */ -#define ST_TEXT_INITIAL_SIZE 256 +/* Initial constant text table size */ +#define CT_INITIAL_SIZE 256 -/* Allocate from stone arena (permanent, immutable memory) */ +/* Allocate from constant text pool */ -/* Resize the stone text intern hash table */ +/* Resize the constant text intern hash table */ /* Realloc with slack reporting (for bump allocator) WARNING: This function is NOT GC-safe! The caller must protect the source @@ -1192,9 +1192,9 @@ static int ctx_gc (JSContext *ctx, int allow_grow, size_t alloc_size); /* JS_MarkValue - mark a value during GC traversal. With copying GC, this is a no-op as we discover live objects by tracing. */ -/* Helper to check if a pointer is in stone memory */ -static inline int is_stone_ptr (JSContext *ctx, void *ptr) { - return (uint8_t *)ptr >= ctx->stone_base && (uint8_t *)ptr < ctx->stone_end; +/* Helper to check if a pointer is in constant text pool memory */ +static inline int is_ct_ptr (JSContext *ctx, void *ptr) { + return (uint8_t *)ptr >= ctx->ct_base && (uint8_t *)ptr < ctx->ct_end; } /* Intern a UTF-32 string as a stone text, returning a JSValue string */ @@ -1554,9 +1554,9 @@ JSText *pretext_concat_value (JSContext *ctx, JSText *s, JSValue v); JSValue js_new_blob (JSContext *ctx, blob *b); /* Functions from header region (defined in runtime.c) */ void *js_realloc (JSContext *ctx, void *ptr, size_t size); -void *st_alloc (JSContext *ctx, size_t bytes, size_t align); -void st_free_all (JSContext *ctx); -int st_text_resize (JSContext *ctx); +void *ct_alloc (JSContext *ctx, size_t bytes, size_t align); +void ct_free_all (JSContext *ctx); +int ct_resize (JSContext *ctx); JSValue intern_text_to_value (JSContext *ctx, const uint32_t *utf32, uint32_t len); JSValue js_key_new (JSContext *ctx, const char *str); JSValue js_key_new_len (JSContext *ctx, const char *str, size_t len); diff --git a/source/runtime.c b/source/runtime.c index 0b03f3cb..f9914a24 100644 --- a/source/runtime.c +++ b/source/runtime.c @@ -134,53 +134,53 @@ void JS_DeleteGCRef (JSContext *ctx, JSGCRef *ref) { } } -void *st_alloc (JSContext *ctx, size_t bytes, size_t align) { +void *ct_alloc (JSContext *ctx, size_t bytes, size_t align) { /* Align the request */ bytes = (bytes + align - 1) & ~(align - 1); - /* Check if we have space in the stone arena */ - if (ctx->stone_base && ctx->stone_free + bytes <= ctx->stone_end) { - void *ptr = ctx->stone_free; - ctx->stone_free += bytes; + /* Check if we have space in the constant text pool */ + if (ctx->ct_base && ctx->ct_free + bytes <= ctx->ct_end) { + void *ptr = ctx->ct_free; + ctx->ct_free += bytes; return ptr; } - /* No stone arena or not enough space - allocate a page */ - size_t page_size = sizeof (StonePage) + bytes; - StonePage *page = malloc (page_size); + /* No pool space - allocate a page */ + size_t page_size = sizeof (CTPage) + bytes; + CTPage *page = malloc (page_size); if (!page) return NULL; - page->next = ctx->st_pages; + page->next = ctx->ct_pages; page->size = bytes; - ctx->st_pages = page; + ctx->ct_pages = page; return page->data; } -/* Free all stone arena pages */ -void st_free_all (JSContext *ctx) { - StonePage *page = ctx->st_pages; +/* Free all constant text pool pages */ +void ct_free_all (JSContext *ctx) { + CTPage *page = ctx->ct_pages; while (page) { - StonePage *next = page->next; + CTPage *next = page->next; free (page); page = next; } - ctx->st_pages = NULL; + ctx->ct_pages = NULL; } -int st_text_resize (JSContext *ctx) { - uint32_t new_size, new_resize; +int ct_resize (JSContext *ctx) { + uint32_t new_size, new_threshold; uint32_t *new_hash; JSText **new_array; - if (ctx->st_text_size == 0) { + if (ctx->ct_size == 0) { /* Initial allocation */ - new_size = ST_TEXT_INITIAL_SIZE; + new_size = CT_INITIAL_SIZE; } else { /* Double the size */ - new_size = ctx->st_text_size * 2; + new_size = ctx->ct_size * 2; } - new_resize = new_size * 3 / 4; /* 75% load factor */ + new_threshold = new_size * 3 / 4; /* 75% load factor */ /* Allocate new hash table (use runtime malloc, not bump allocator) */ new_hash = js_malloc_rt (new_size * sizeof (uint32_t)); @@ -196,10 +196,10 @@ int st_text_resize (JSContext *ctx) { memset (new_array, 0, (new_size + 1) * sizeof (JSText *)); /* Rehash existing entries */ - if (ctx->st_text_count > 0) { + if (ctx->ct_count > 0) { uint32_t mask = new_size - 1; - for (uint32_t id = 1; id <= ctx->st_text_count; id++) { - JSText *text = ctx->st_text_array[id]; + for (uint32_t id = 1; id <= ctx->ct_count; id++) { + JSText *text = ctx->ct_array[id]; new_array[id] = text; /* Compute hash and find slot */ @@ -212,13 +212,13 @@ int st_text_resize (JSContext *ctx) { } /* Free old tables */ - if (ctx->st_text_hash) js_free_rt (ctx->st_text_hash); - if (ctx->st_text_array) js_free_rt (ctx->st_text_array); + if (ctx->ct_hash) js_free_rt (ctx->ct_hash); + if (ctx->ct_array) js_free_rt (ctx->ct_array); - ctx->st_text_hash = new_hash; - ctx->st_text_array = new_array; - ctx->st_text_size = new_size; - ctx->st_text_resize = new_resize; + ctx->ct_hash = new_hash; + ctx->ct_array = new_array; + ctx->ct_size = new_size; + ctx->ct_resize_threshold = new_threshold; return 0; } @@ -251,12 +251,12 @@ JSValue intern_text_to_value (JSContext *ctx, const uint32_t *utf32, uint32_t le uint64_t hash = fash64_hash_words (packed, word_count, len); /* Look up in hash table */ - uint32_t mask = ctx->st_text_size - 1; + uint32_t mask = ctx->ct_size - 1; uint32_t slot = hash & mask; - while (ctx->st_text_hash[slot] != 0) { - uint32_t id = ctx->st_text_hash[slot]; - JSText *existing = ctx->st_text_array[id]; + while (ctx->ct_hash[slot] != 0) { + uint32_t id = ctx->ct_hash[slot]; + JSText *existing = ctx->ct_array[id]; if (text_equal (existing, packed, len)) { /* Found existing entry */ return JS_MKPTR (existing); @@ -265,18 +265,18 @@ JSValue intern_text_to_value (JSContext *ctx, const uint32_t *utf32, uint32_t le } /* Not found - create new entry */ - if (ctx->st_text_count >= ctx->st_text_resize) { - if (st_text_resize (ctx) < 0) return JS_NULL; /* OOM */ + if (ctx->ct_count >= ctx->ct_resize_threshold) { + if (ct_resize (ctx) < 0) return JS_NULL; /* OOM */ /* Recompute slot after resize */ - mask = ctx->st_text_size - 1; + mask = ctx->ct_size - 1; slot = hash & mask; - while (ctx->st_text_hash[slot] != 0) + while (ctx->ct_hash[slot] != 0) slot = (slot + 1) & mask; } - /* Allocate JSText in stone arena */ + /* Allocate JSText in constant text pool */ size_t text_size = sizeof (JSText) + word_count * sizeof (uint64_t); - JSText *text = st_alloc (ctx, text_size, 8); + JSText *text = ct_alloc (ctx, text_size, 8); if (!text) return JS_NULL; /* OOM */ /* Initialize the text */ @@ -285,9 +285,9 @@ JSValue intern_text_to_value (JSContext *ctx, const uint32_t *utf32, uint32_t le memcpy (text->packed, packed, word_count * sizeof (uint64_t)); /* Add to intern table */ - uint32_t new_id = ++ctx->st_text_count; - ctx->st_text_hash[slot] = new_id; - ctx->st_text_array[new_id] = text; + uint32_t new_id = ++ctx->ct_count; + ctx->ct_hash[slot] = new_id; + ctx->ct_array[new_id] = text; return JS_MKPTR (text); } @@ -875,22 +875,11 @@ PPretext *ppretext_append_int (PPretext *p, int n) { } /* Convert a JSValue string to a property key. - For immediates, returns the value as-is (can be used directly as keys). - For heap strings, returns interned version. */ + Returns the value as-is for immediates and heap texts. + No allocation — cannot trigger GC. */ JSValue js_key_from_string (JSContext *ctx, JSValue val) { - if (MIST_IsImmediateASCII (val)) { - return val; /* Immediates can be used directly as keys */ - } - if (JS_IsText (val)) { - JSText *p = JS_VALUE_GET_TEXT (val); - int64_t len = JSText_len (p); /* Use JSText_len which checks header for stoned text */ - /* Extract UTF-32 characters and intern */ - uint32_t *utf32_buf = alloca (len * sizeof (uint32_t)); - for (int64_t i = 0; i < len; i++) { - utf32_buf[i] = string_get (p, i); - } - return intern_text_to_value (ctx, utf32_buf, len); - } + if (MIST_IsImmediateASCII (val)) return val; + if (JS_IsText (val)) return val; return JS_NULL; } @@ -1019,7 +1008,7 @@ JSValue gc_copy_value (JSContext *ctx, JSValue v, uint8_t *from_base, uint8_t *f for (;;) { void *ptr = JS_VALUE_GET_PTR (v); - if (is_stone_ptr (ctx, ptr)) return v; + if (is_ct_ptr (ctx, ptr)) return v; if (!ptr_in_range (ptr, from_base, from_end)) return v; @@ -1198,7 +1187,7 @@ int ctx_gc (JSContext *ctx, int allow_grow, size_t alloc_size) { void *gptr = JS_VALUE_GET_PTR(ctx->global_obj); printf(" ptr=%p in_from=%d is_stone=%d\n", gptr, ((uint8_t*)gptr >= from_base && (uint8_t*)gptr < from_end), - is_stone_ptr(ctx, gptr)); + is_ct_ptr(ctx, gptr)); fflush(stdout); } #endif @@ -1414,14 +1403,14 @@ JSContext *JS_NewContextRawWithHeapSize (JSRuntime *rt, size_t heap_size) { /* Initialize per-context execution state (moved from JSRuntime) */ ctx->current_exception = JS_NULL; - /* Initialize stone text intern table */ - ctx->st_pages = NULL; - ctx->st_text_array = NULL; - ctx->st_text_hash = NULL; - ctx->st_text_count = 0; - ctx->st_text_size = 0; - ctx->st_text_resize = 0; - if (st_text_resize (ctx) < 0) { + /* Initialize constant text intern table */ + ctx->ct_pages = NULL; + ctx->ct_array = NULL; + ctx->ct_hash = NULL; + ctx->ct_count = 0; + ctx->ct_size = 0; + ctx->ct_resize_threshold = 0; + if (ct_resize (ctx) < 0) { js_free_rt (ctx->class_array); js_free_rt (ctx->class_proto); js_free_rt (ctx); @@ -1433,8 +1422,8 @@ JSContext *JS_NewContextRawWithHeapSize (JSRuntime *rt, size_t heap_size) { ctx->next_block_size = ctx->current_block_size; ctx->heap_base = heap_block_alloc (rt, ctx->current_block_size); if (!ctx->heap_base) { - js_free_rt (ctx->st_text_hash); - js_free_rt (ctx->st_text_array); + js_free_rt (ctx->ct_hash); + js_free_rt (ctx->ct_array); js_free_rt (ctx->class_array); js_free_rt (ctx->class_proto); js_free_rt (ctx); @@ -1501,10 +1490,10 @@ void JS_FreeContext (JSContext *ctx) { js_free_rt (ctx->class_array); js_free_rt (ctx->class_proto); - /* Free stone arena and intern table */ - st_free_all (ctx); - js_free_rt (ctx->st_text_hash); - js_free_rt (ctx->st_text_array); + /* Free constant text pool and intern table */ + ct_free_all (ctx); + js_free_rt (ctx->ct_hash); + js_free_rt (ctx->ct_array); /* Free heap block */ if (ctx->heap_base) { @@ -2734,10 +2723,10 @@ JSValue JS_GetPropertyValue (JSContext *ctx, JSValue this_obj, JSValue prop) { if (JS_IsArray (this_obj)) { return JS_NULL; } - /* Create an interned key from the string */ + /* Use text directly as key */ JSValue key = js_key_from_string (ctx, prop); ret = JS_GetProperty (ctx, this_obj, key); - /* key is interned or immediate, no need to free */ + /* key is the original text or immediate */ return ret; } @@ -2919,7 +2908,7 @@ JSValue JS_GetPropertyKey (JSContext *ctx, JSValue this_obj, JSValue key) { return rec_get (ctx, rec, key); } - /* For string keys, create an interned key and use JS_GetProperty */ + /* For string keys, use text directly as key */ if (JS_IsText (key)) { JSValue prop_key = js_key_from_string (ctx, key); return JS_GetProperty (ctx, this_obj, prop_key); @@ -2946,7 +2935,7 @@ int JS_SetPropertyKey (JSContext *ctx, JSValue this_obj, JSValue key, JSValue va return rec_set_own (ctx, rec, key, val); } - /* For string keys, create an interned key */ + /* For string keys, use text directly as key */ if (JS_IsText (key)) { JSValue prop_key = js_key_from_string (ctx, key); return JS_SetPropertyInternal (ctx, this_obj, prop_key, val); @@ -2956,8 +2945,8 @@ int JS_SetPropertyKey (JSContext *ctx, JSValue this_obj, JSValue key, JSValue va return JS_SetPropertyInternal (ctx, this_obj, key, val); } -/* GC-SAFE for record keys (no allocations). - String keys call js_key_from_string then JS_HasProperty which re-chases. */ +/* GC-SAFE: no allocations. + String keys pass through js_key_from_string (no interning). */ int JS_HasPropertyKey (JSContext *ctx, JSValue obj, JSValue key) { if (JS_IsRecord (key)) { if (!JS_IsRecord (obj)) return FALSE; @@ -2970,7 +2959,7 @@ int JS_HasPropertyKey (JSContext *ctx, JSValue obj, JSValue key) { return FALSE; } - /* For string keys, create an interned key */ + /* For string keys, use text directly as key */ if (JS_IsText (key)) { JSValue prop_key = js_key_from_string (ctx, key); return JS_HasProperty (ctx, obj, prop_key); @@ -2998,7 +2987,7 @@ int JS_DeletePropertyKey (JSContext *ctx, JSValue obj, JSValue key) { return TRUE; } - /* For string keys, create an interned key */ + /* For string keys, use text directly as key */ if (JS_IsText (key)) { JSValue prop_key = js_key_from_string (ctx, key); return JS_DeleteProperty (ctx, obj, prop_key); @@ -8281,7 +8270,7 @@ static JSValue js_cell_array_sort (JSContext *ctx, JSValue this_val, int argc, J } else if (JS_VALUE_GET_TAG (argv[1]) == JS_TAG_STRING || JS_VALUE_GET_TAG (argv[1]) == JS_TAG_STRING_IMM) { JSValue prop_key = js_key_from_string (ctx, argv[1]); - /* Re-read items[i] after allocation (js_key_from_string can trigger GC) */ + /* Re-read items[i] (js_key_from_string no longer allocates, but re-read is harmless) */ arr = JS_VALUE_GET_ARRAY (arr_ref.val); items[i] = arr->values[i]; key = JS_GetProperty (ctx, items[i], prop_key); @@ -8564,7 +8553,7 @@ static JSValue js_cell_object (JSContext *ctx, JSValue this_val, int argc, JSVal if (i >= (int)keys->len) break; JSValue key = keys->values[i]; if (JS_IsText (key)) { - /* Use JSValue key directly - create interned key */ + /* Use text directly as key */ JSValue prop_key = js_key_from_string (ctx, key); JSValue val; if (argc < 2 || JS_IsNull (func_ref.val)) {