diff --git a/boot/bootstrap.cm.mcode b/boot/bootstrap.cm.mcode index c6110906..62b72b90 100644 --- a/boot/bootstrap.cm.mcode +++ b/boot/bootstrap.cm.mcode @@ -50,7 +50,7 @@ "add_err_7", ["disrupt", 7, 39], "add_done_6", - ["get", 11, 18, 1, 7, 10], + ["get", 11, 19, 1, 7, 10], ["frame", 12, 11, 1, 7, 10], ["null", 13, 7, 10], ["setarg", 12, 0, 13, 7, 10], @@ -69,7 +69,7 @@ "nr_slots": 17, "nr_close_slots": 0, "instructions": [ - ["get", 3, 19, 1, 21, 15], + ["get", 3, 20, 1, 21, 15], ["is_proxy", 4, 3, 21, 15], ["jump_false", 4, "record_path_8", 21, 15], ["null", 5, 21, 15], @@ -281,7 +281,7 @@ ["disrupt", 31, 25], "add_done_28", ["move", 1, 7, 31, 25], - ["get", 11, 15, 1, 32, 8], + ["get", 11, 16, 1, 32, 8], ["is_proxy", 12, 11, 32, 8], ["jump_false", 12, "record_path_32", 32, 8], ["null", 13, 32, 8], @@ -303,7 +303,7 @@ "call_done_33", "_nop_bl_2", ["jump_true", 10, "if_else_30", 32, 8], - ["get", 21, 15, 1, 33, 5], + ["get", 21, 16, 1, 33, 5], ["is_proxy", 22, 21, 33, 5], ["jump_false", 22, "record_path_34", 33, 5], ["null", 23, 33, 5], @@ -339,10 +339,10 @@ "nr_slots": 19, "nr_close_slots": 0, "instructions": [ - ["get", 3, 22, 1, 40, 7], + ["get", 3, 23, 1, 40, 7], ["load_dynamic", 4, 3, 1, 40, 17], ["jump_false", 4, "if_else_36", 40, 17], - ["get", 5, 22, 1, 41, 12], + ["get", 5, 23, 1, 41, 12], ["load_dynamic", 6, 5, 1, 41, 22], ["return", 6, 41, 22], ["jump", "if_end_37", 41, 22], @@ -368,14 +368,14 @@ ["setarg", 11, 2, 7, 42, 26], ["setarg", 11, 3, 8, 42, 26], ["invoke", 11, 9, 42, 26], - ["get", 14, 12, 1, 42, 16], + ["get", 14, 13, 1, 42, 16], ["frame", 15, 14, 1, 42, 16], ["null", 16, 42, 16], ["setarg", 15, 0, 16, 42, 16], ["setarg", 15, 1, 9, 42, 16], ["invoke", 15, 13, 42, 16], ["move", 2, 13, 42, 16], - ["get", 17, 22, 1, 43, 3], + ["get", 17, 23, 1, 43, 3], ["store_dynamic", 17, 2, 1, 43, 13], ["return", 2, 44, 10], ["null", 18, 44, 10], @@ -474,7 +474,7 @@ ["null", 7, 52, 16], ["null", 6, 53, 20], ["null", 3, 54, 19], - ["get", 22, 15, 1, 55, 7], + ["get", 22, 16, 1, 55, 7], ["is_proxy", 23, 22, 55, 7], ["jump_false", 23, "record_path_52", 55, 7], ["null", 24, 55, 7], @@ -495,7 +495,7 @@ ["invoke", 29, 21, 55, 7], "call_done_53", ["jump_false", 21, "if_else_50", 55, 7], - ["get", 31, 15, 1, 56, 18], + ["get", 31, 16, 1, 56, 18], ["is_proxy", 32, 31, 56, 18], ["jump_false", 32, "record_path_54", 56, 18], ["null", 33, 56, 18], @@ -523,7 +523,7 @@ ["setarg", 41, 1, 4, 57, 12], ["invoke", 41, 39, 57, 12], ["move", 5, 39, 57, 12], - ["get", 44, 13, 1, 58, 14], + ["get", 44, 14, 1, 58, 14], ["frame", 45, 44, 1, 58, 14], ["null", 46, 58, 14], ["setarg", 45, 0, 46, 58, 14], @@ -532,7 +532,7 @@ ["move", 7, 43, 58, 14], ["move", 47, 7, 59, 9], ["jump_false", 47, "and_end_58", 59, 9], - ["get", 49, 15, 1, 59, 19], + ["get", 49, 16, 1, 59, 19], ["is_proxy", 50, 49, 59, 19], ["jump_false", 50, "record_path_59", 59, 19], ["null", 51, 59, 19], @@ -555,7 +555,7 @@ ["move", 47, 48, 59, 19], "and_end_58", ["jump_false", 47, "if_else_56", 59, 19], - ["get", 58, 15, 1, 60, 24], + ["get", 58, 16, 1, 60, 24], ["is_proxy", 59, 58, 60, 24], ["jump_false", 59, "record_path_61", 60, 24], ["null", 60, 60, 24], @@ -637,7 +637,7 @@ ["null", 81, 65, 7], ["setarg", 80, 0, 81, 65, 7], ["invoke", 80, 78, 65, 7], - ["get", 83, 15, 1, 66, 7], + ["get", 83, 16, 1, 66, 7], ["is_proxy", 84, 83, 66, 7], ["jump_false", 84, "record_path_65", 66, 7], ["null", 85, 66, 7], @@ -970,7 +970,7 @@ ["disrupt", 111, 36], "add_done_95", ["move", 8, 61, 111, 36], - ["get", 65, 15, 1, 112, 9], + ["get", 65, 16, 1, 112, 9], ["is_proxy", 66, 65, 112, 9], ["jump_false", 66, "record_path_100", 112, 9], ["null", 67, 112, 9], @@ -992,7 +992,7 @@ "call_done_101", ["move", 73, 64, 112, 9], ["jump_false", 73, "and_end_99", 112, 9], - ["get", 75, 15, 1, 112, 35], + ["get", 75, 16, 1, 112, 35], ["is_proxy", 76, 75, 112, 35], ["jump_false", 76, "record_path_102", 112, 35], ["null", 77, 112, 35], @@ -1015,7 +1015,7 @@ ["move", 73, 74, 112, 35], "and_end_99", ["jump_false", 73, "if_else_97", 112, 35], - ["get", 84, 15, 1, 113, 23], + ["get", 84, 16, 1, 113, 23], ["is_proxy", 85, 84, 113, 23], ["jump_false", 85, "record_path_104", 113, 23], ["null", 86, 113, 23], @@ -1036,7 +1036,7 @@ ["invoke", 91, 83, 113, 23], "call_done_105", ["move", 5, 83, 113, 23], - ["get", 93, 15, 1, 114, 17], + ["get", 93, 16, 1, 114, 17], ["is_proxy", 94, 93, 114, 17], ["jump_false", 94, "record_path_106", 114, 17], ["null", 95, 114, 17], @@ -1266,7 +1266,7 @@ ["move", 4, 13, 130, 20], ["load_field", 17, 4, "tokens", 131, 23], ["get", 18, 4, 1, 131, 57], - ["get", 20, 16, 1, 131, 13], + ["get", 20, 17, 1, 131, 13], ["frame", 21, 20, 4, 131, 13], ["null", 22, 131, 13], ["setarg", 21, 0, 22, 131, 13], @@ -1728,7 +1728,7 @@ ["jump", "if_end_148", 157, 5], "if_else_147", "if_end_148", - ["get", 94, 14, 1, 159, 9], + ["get", 94, 15, 1, 159, 9], ["frame", 95, 94, 1, 159, 9], ["null", 96, 159, 9], ["setarg", 95, 0, 96, 159, 9], @@ -1745,19 +1745,19 @@ }, { "disruption_pc": 0, - "nr_slots": 46, + "nr_slots": 52, "nr_close_slots": 0, "instructions": [ - ["get", 7, 7, 1, 172, 18], - ["frame", 8, 7, 1, 172, 18], - ["null", 9, 172, 18], - ["setarg", 8, 0, 9, 172, 18], - ["setarg", 8, 1, 2, 172, 18], - ["invoke", 8, 6, 172, 18], - ["move", 4, 6, 172, 18], + ["get", 9, 7, 1, 172, 18], + ["frame", 10, 9, 1, 172, 18], + ["null", 11, 172, 18], + ["setarg", 10, 0, 11, 172, 18], + ["setarg", 10, 1, 2, 172, 18], + ["invoke", 10, 8, 172, 18], + ["move", 4, 8, 172, 18], [ "access", - 10, + 12, { "name": "os", "kind": "name", @@ -1766,125 +1766,143 @@ 173, 7 ], - ["load_field", 11, 10, "_verify_ir", 173, 7], - ["jump_false", 11, "if_else_197", 173, 7], - ["get", 12, 17, 1, 174, 9], - ["null", 13, 174, 27], - ["is_identical", 14, 12, 13, 174, 27], - ["jump_true", 14, "eq_done_201", 174, 27], - ["is_int", 15, 12, 174, 27], - ["jump_false", 15, "eq_ni_202", 174, 27], + ["load_field", 13, 12, "_verify_ir", 173, 7], + ["jump_false", 13, "if_else_197", 173, 7], + ["get", 14, 18, 1, 174, 9], + ["null", 15, 174, 27], + ["is_identical", 16, 14, 15, 174, 27], + ["jump_true", 16, "eq_done_201", 174, 27], + ["is_int", 17, 14, 174, 27], + ["jump_false", 17, "eq_ni_202", 174, 27], "_nop_tc_1", ["jump", "eq_ni_202", 174, 27], - ["eq_int", 14, 12, 13, 174, 27], + ["eq_int", 16, 14, 15, 174, 27], ["jump", "eq_done_201", 174, 27], "eq_ni_202", - ["is_num", 15, 12, 174, 27], - ["jump_false", 15, "eq_nn_203", 174, 27], - ["is_num", 16, 13, 174, 27], - ["jump_false", 16, "eq_nn_203", 174, 27], - ["eq_float", 14, 12, 13, 174, 27], + ["is_num", 17, 14, 174, 27], + ["jump_false", 17, "eq_nn_203", 174, 27], + ["is_num", 18, 15, 174, 27], + ["jump_false", 18, "eq_nn_203", 174, 27], + ["eq_float", 16, 14, 15, 174, 27], ["jump", "eq_done_201", 174, 27], "eq_nn_203", - ["is_text", 15, 12, 174, 27], - ["jump_false", 15, "eq_nt_204", 174, 27], - ["is_text", 16, 13, 174, 27], - ["jump_false", 16, "eq_nt_204", 174, 27], - ["eq_text", 14, 12, 13, 174, 27], + ["is_text", 17, 14, 174, 27], + ["jump_false", 17, "eq_nt_204", 174, 27], + ["is_text", 18, 15, 174, 27], + ["jump_false", 18, "eq_nt_204", 174, 27], + ["eq_text", 16, 14, 15, 174, 27], ["jump", "eq_done_201", 174, 27], "eq_nt_204", - ["is_null", 15, 12, 174, 27], - ["jump_false", 15, "eq_nnl_205", 174, 27], - ["is_null", 16, 13, 174, 27], - ["jump_false", 16, "eq_nnl_205", 174, 27], - ["true", 14, 174, 27], + ["is_null", 17, 14, 174, 27], + ["jump_false", 17, "eq_nnl_205", 174, 27], + ["is_null", 18, 15, 174, 27], + ["jump_false", 18, "eq_nnl_205", 174, 27], + ["true", 16, 174, 27], ["jump", "eq_done_201", 174, 27], "eq_nnl_205", - ["is_bool", 15, 12, 174, 27], - ["jump_false", 15, "eq_nb_206", 174, 27], - ["is_bool", 16, 13, 174, 27], - ["jump_false", 16, "eq_nb_206", 174, 27], - ["eq_bool", 14, 12, 13, 174, 27], + ["is_bool", 17, 14, 174, 27], + ["jump_false", 17, "eq_nb_206", 174, 27], + ["is_bool", 18, 15, 174, 27], + ["jump_false", 18, "eq_nb_206", 174, 27], + ["eq_bool", 16, 14, 15, 174, 27], ["jump", "eq_done_201", 174, 27], "eq_nb_206", - ["false", 14, 174, 27], + ["false", 16, 174, 27], "eq_done_201", - ["jump_false", 14, "if_else_199", 174, 27], - ["access", 17, "verify_ir", 175, 34], - ["get", 18, 10, 1, 175, 47], - ["get", 20, 21, 1, 175, 24], - ["frame", 21, 20, 2, 175, 24], - ["null", 22, 175, 24], - ["setarg", 21, 0, 22, 175, 24], - ["setarg", 21, 1, 17, 175, 24], - ["setarg", 21, 2, 18, 175, 24], - ["invoke", 21, 19, 175, 24], - ["put", 19, 17, 1, 175, 24], + ["jump_false", 16, "if_else_199", 174, 27], + ["access", 19, "verify_ir", 175, 34], + ["get", 20, 10, 1, 175, 47], + ["get", 22, 22, 1, 175, 24], + ["frame", 23, 22, 2, 175, 24], + ["null", 24, 175, 24], + ["setarg", 23, 0, 24, 175, 24], + ["setarg", 23, 1, 19, 175, 24], + ["setarg", 23, 2, 20, 175, 24], + ["invoke", 23, 21, 175, 24], + ["put", 21, 18, 1, 175, 24], ["jump", "if_end_200", 175, 24], "if_else_199", "if_end_200", - ["true", 23, 177, 24], - ["store_field", 4, 23, "_verify", 177, 5], - ["get", 24, 17, 1, 178, 28], - ["store_field", 4, 24, "_verify_mod", 178, 5], + ["true", 25, 177, 24], + ["store_field", 4, 25, "_verify", 177, 5], + ["get", 26, 18, 1, 178, 28], + ["store_field", 4, 26, "_verify_mod", 178, 5], ["jump", "if_end_198", 178, 5], "if_else_197", "if_end_198", - ["get", 26, 24, 1, 180, 19], - ["frame", 27, 26, 1, 180, 19], - ["null", 28, 180, 19], - ["setarg", 27, 0, 28, 180, 19], - ["setarg", 27, 1, 4, 180, 19], - ["invoke", 27, 25, 180, 19], - ["move", 5, 25, 180, 19], - ["load_field", 29, 5, "_verify", 182, 7], - ["jump_false", 29, "if_else_207", 182, 7], - ["delete", 30, 5, "_verify"], - ["delete", 31, 5, "_verify_mod"], + ["get", 28, 25, 1, 180, 19], + ["frame", 29, 28, 1, 180, 19], + ["null", 30, 180, 19], + ["setarg", 29, 0, 30, 180, 19], + ["setarg", 29, 1, 4, 180, 19], + ["invoke", 29, 27, 180, 19], + ["move", 6, 27, 180, 19], + ["load_field", 31, 6, "_verify", 182, 7], + ["jump_false", 31, "if_else_207", 182, 7], + ["delete", 32, 6, "_verify"], + ["delete", 33, 6, "_verify_mod"], ["jump", "if_end_208", 184, 12], "if_else_207", "if_end_208", - ["get", 33, 25, 1, 186, 32], - ["is_proxy", 34, 33, 186, 32], - ["jump_false", 34, "record_path_209", 186, 32], - ["null", 35, 186, 32], - ["access", 36, "encode", 186, 32], - ["array", 37, 0, 186, 32], - ["push", 37, 5, 186, 32], - ["frame", 38, 33, 2, 186, 32], - ["setarg", 38, 0, 35, 186, 32], - ["setarg", 38, 1, 36, 186, 32], - ["setarg", 38, 2, 37, 186, 32], - ["invoke", 38, 32, 186, 32], - ["jump", "call_done_210", 186, 32], + ["get", 35, 26, 1, 186, 20], + ["is_proxy", 36, 35, 186, 20], + ["jump_false", 36, "record_path_209", 186, 20], + ["null", 37, 186, 20], + ["access", 38, "encode", 186, 20], + ["array", 39, 0, 186, 20], + ["push", 39, 6, 186, 20], + ["frame", 40, 35, 2, 186, 20], + ["setarg", 40, 0, 37, 186, 20], + ["setarg", 40, 1, 38, 186, 20], + ["setarg", 40, 2, 39, 186, 20], + ["invoke", 40, 34, 186, 20], + ["jump", "call_done_210", 186, 20], "record_path_209", - ["load_field", 39, 33, "encode", 186, 32], - ["frame", 40, 39, 1, 186, 32], - ["setarg", 40, 0, 33, 186, 32], - ["setarg", 40, 1, 5, 186, 32], - ["invoke", 40, 32, 186, 32], + ["load_field", 41, 35, "encode", 186, 20], + ["frame", 42, 41, 1, 186, 20], + ["setarg", 42, 0, 35, 186, 20], + ["setarg", 42, 1, 6, 186, 20], + ["invoke", 42, 34, 186, 20], "call_done_210", + ["move", 5, 34, 186, 20], [ "access", - 42, + 44, { - "name": "mach_eval_mcode", + "name": "mach_compile_mcode_bin", "kind": "name", "make": "intrinsic" }, - 186, + 187, + 19 + ], + ["frame", 45, 44, 2, 187, 19], + ["null", 46, 187, 19], + ["setarg", 45, 0, 46, 187, 19], + ["setarg", 45, 1, 1, 187, 19], + ["setarg", 45, 2, 5, 187, 19], + ["invoke", 45, 43, 187, 19], + ["move", 7, 43, 187, 19], + [ + "access", + 48, + { + "name": "mach_load", + "kind": "name", + "make": "intrinsic" + }, + 188, 10 ], - ["frame", 43, 42, 3, 186, 10], - ["null", 44, 186, 10], - ["setarg", 43, 0, 44, 186, 10], - ["setarg", 43, 1, 1, 186, 10], - ["setarg", 43, 2, 32, 186, 10], - ["setarg", 43, 3, 3, 186, 10], - ["invoke", 43, 41, 186, 10], - ["return", 41, 186, 10], - ["null", 45, 186, 10], - ["return", 45, 186, 10] + ["frame", 49, 48, 2, 188, 10], + ["null", 50, 188, 10], + ["setarg", 49, 0, 50, 188, 10], + ["setarg", 49, 1, 7, 188, 10], + ["setarg", 49, 2, 3, 188, 10], + ["invoke", 49, 47, 188, 10], + ["return", 47, 188, 10], + ["null", 51, 188, 10], + ["return", 51, 188, 10] ], "name": "run_ast", "filename": "internal/bootstrap.cm", @@ -1892,62 +1910,144 @@ }, { "disruption_pc": 0, - "nr_slots": 23, + "nr_slots": 29, "nr_close_slots": 0, "instructions": [ - ["get", 6, 7, 1, 191, 18], - ["frame", 7, 6, 1, 191, 18], - ["null", 8, 191, 18], - ["setarg", 7, 0, 8, 191, 18], - ["setarg", 7, 1, 2, 191, 18], - ["invoke", 7, 5, 191, 18], - ["move", 4, 5, 191, 18], - ["get", 10, 25, 1, 192, 32], - ["is_proxy", 11, 10, 192, 32], - ["jump_false", 11, "record_path_211", 192, 32], - ["null", 12, 192, 32], - ["access", 13, "encode", 192, 32], - ["array", 14, 0, 192, 32], - ["push", 14, 4, 192, 32], - ["frame", 15, 10, 2, 192, 32], - ["setarg", 15, 0, 12, 192, 32], - ["setarg", 15, 1, 13, 192, 32], - ["setarg", 15, 2, 14, 192, 32], - ["invoke", 15, 9, 192, 32], - ["jump", "call_done_212", 192, 32], + ["get", 8, 7, 1, 193, 18], + ["frame", 9, 8, 1, 193, 18], + ["null", 10, 193, 18], + ["setarg", 9, 0, 10, 193, 18], + ["setarg", 9, 1, 2, 193, 18], + ["invoke", 9, 7, 193, 18], + ["move", 4, 7, 193, 18], + ["get", 12, 26, 1, 194, 20], + ["is_proxy", 13, 12, 194, 20], + ["jump_false", 13, "record_path_211", 194, 20], + ["null", 14, 194, 20], + ["access", 15, "encode", 194, 20], + ["array", 16, 0, 194, 20], + ["push", 16, 4, 194, 20], + ["frame", 17, 12, 2, 194, 20], + ["setarg", 17, 0, 14, 194, 20], + ["setarg", 17, 1, 15, 194, 20], + ["setarg", 17, 2, 16, 194, 20], + ["invoke", 17, 11, 194, 20], + ["jump", "call_done_212", 194, 20], "record_path_211", - ["load_field", 16, 10, "encode", 192, 32], - ["frame", 17, 16, 1, 192, 32], - ["setarg", 17, 0, 10, 192, 32], - ["setarg", 17, 1, 4, 192, 32], - ["invoke", 17, 9, 192, 32], + ["load_field", 18, 12, "encode", 194, 20], + ["frame", 19, 18, 1, 194, 20], + ["setarg", 19, 0, 12, 194, 20], + ["setarg", 19, 1, 4, 194, 20], + ["invoke", 19, 11, 194, 20], "call_done_212", + ["move", 5, 11, 194, 20], [ "access", - 19, + 21, { - "name": "mach_eval_mcode", + "name": "mach_compile_mcode_bin", "kind": "name", "make": "intrinsic" }, - 192, + 195, + 19 + ], + ["frame", 22, 21, 2, 195, 19], + ["null", 23, 195, 19], + ["setarg", 22, 0, 23, 195, 19], + ["setarg", 22, 1, 1, 195, 19], + ["setarg", 22, 2, 5, 195, 19], + ["invoke", 22, 20, 195, 19], + ["move", 6, 20, 195, 19], + [ + "access", + 25, + { + "name": "mach_load", + "kind": "name", + "make": "intrinsic" + }, + 196, 10 ], - ["frame", 20, 19, 3, 192, 10], - ["null", 21, 192, 10], - ["setarg", 20, 0, 21, 192, 10], - ["setarg", 20, 1, 1, 192, 10], - ["setarg", 20, 2, 9, 192, 10], - ["setarg", 20, 3, 3, 192, 10], - ["invoke", 20, 18, 192, 10], - ["return", 18, 192, 10], - ["null", 22, 192, 10], - ["return", 22, 192, 10] + ["frame", 26, 25, 2, 196, 10], + ["null", 27, 196, 10], + ["setarg", 26, 0, 27, 196, 10], + ["setarg", 26, 1, 6, 196, 10], + ["setarg", 26, 2, 3, 196, 10], + ["invoke", 26, 24, 196, 10], + ["return", 24, 196, 10], + ["null", 28, 196, 10], + ["return", 28, 196, 10] ], "name": "run_ast_noopt", "filename": "internal/bootstrap.cm", "nr_args": 3 }, + { + "disruption_pc": 0, + "nr_slots": 27, + "nr_close_slots": 0, + "instructions": [ + ["get", 6, 7, 1, 201, 18], + ["frame", 7, 6, 1, 201, 18], + ["null", 8, 201, 18], + ["setarg", 7, 0, 8, 201, 18], + ["setarg", 7, 1, 2, 201, 18], + ["invoke", 7, 5, 201, 18], + ["move", 3, 5, 201, 18], + ["get", 10, 25, 1, 202, 19], + ["frame", 11, 10, 1, 202, 19], + ["null", 12, 202, 19], + ["setarg", 11, 0, 12, 202, 19], + ["setarg", 11, 1, 3, 202, 19], + ["invoke", 11, 9, 202, 19], + ["move", 4, 9, 202, 19], + ["get", 14, 26, 1, 203, 39], + ["is_proxy", 15, 14, 203, 39], + ["jump_false", 15, "record_path_213", 203, 39], + ["null", 16, 203, 39], + ["access", 17, "encode", 203, 39], + ["array", 18, 0, 203, 39], + ["push", 18, 4, 203, 39], + ["frame", 19, 14, 2, 203, 39], + ["setarg", 19, 0, 16, 203, 39], + ["setarg", 19, 1, 17, 203, 39], + ["setarg", 19, 2, 18, 203, 39], + ["invoke", 19, 13, 203, 39], + ["jump", "call_done_214", 203, 39], + "record_path_213", + ["load_field", 20, 14, "encode", 203, 39], + ["frame", 21, 20, 1, 203, 39], + ["setarg", 21, 0, 14, 203, 39], + ["setarg", 21, 1, 4, 203, 39], + ["invoke", 21, 13, 203, 39], + "call_done_214", + [ + "access", + 23, + { + "name": "mach_compile_mcode_bin", + "kind": "name", + "make": "intrinsic" + }, + 203, + 10 + ], + ["frame", 24, 23, 2, 203, 10], + ["null", 25, 203, 10], + ["setarg", 24, 0, 25, 203, 10], + ["setarg", 24, 1, 1, 203, 10], + ["setarg", 24, 2, 13, 203, 10], + ["invoke", 24, 22, 203, 10], + ["return", 22, 203, 10], + ["null", 26, 203, 10], + ["return", 26, 203, 10] + ], + "name": "compile_to_blob", + "filename": "internal/bootstrap.cm", + "nr_args": 2 + }, { "disruption_pc": 0, "nr_slots": 119, @@ -1961,140 +2061,140 @@ "kind": "name", "make": "intrinsic" }, - 197, + 208, 20 ], - ["access", 12, "/boot/engine.cm.mcode", 197, 32], - ["is_int", 14, 11, 197, 32], - ["jump_false", 14, "add_ni_213", 197, 32], + ["access", 12, "/boot/engine.cm.mcode", 208, 32], + ["is_int", 14, 11, 208, 32], + ["jump_false", 14, "add_ni_215", 208, 32], "_nop_tc_1", - ["jump", "add_ni_213", 197, 32], - ["add_int", 13, 11, 12, 197, 32], - ["jump", "add_done_215", 197, 32], - "add_ni_213", - ["is_text", 14, 11, 197, 32], - ["jump_false", 14, "add_nt_214", 197, 32], - ["concat", 13, 11, 12, 197, 32], - ["jump", "add_done_215", 197, 32], - "add_nt_214", - ["is_num", 14, 11, 197, 32], - ["jump_false", 14, "add_err_216", 197, 32], - ["is_num", 15, 12, 197, 32], - ["jump_false", 15, "add_err_216", 197, 32], - ["add_float", 13, 11, 12, 197, 32], - ["jump", "add_done_215", 197, 32], - "add_err_216", - ["disrupt", 197, 32], - "add_done_215", - ["move", 10, 13, 197, 32], - ["null", 3, 198, 20], - ["null", 4, 199, 14], - ["null", 9, 200, 16], - ["null", 8, 201, 20], - ["null", 2, 202, 19], - ["null", 5, 203, 20], - ["null", 6, 204, 20], - ["get", 17, 15, 1, 205, 7], - ["is_proxy", 18, 17, 205, 7], - ["jump_false", 18, "record_path_219", 205, 7], - ["null", 19, 205, 7], - ["access", 20, "is_file", 205, 7], - ["array", 21, 0, 205, 7], - ["push", 21, 10, 205, 7], - ["frame", 22, 17, 2, 205, 7], - ["setarg", 22, 0, 19, 205, 7], - ["setarg", 22, 1, 20, 205, 7], - ["setarg", 22, 2, 21, 205, 7], - ["invoke", 22, 16, 205, 7], - ["jump", "call_done_220", 205, 7], - "record_path_219", - ["load_field", 23, 17, "is_file", 205, 7], - ["frame", 24, 23, 1, 205, 7], - ["setarg", 24, 0, 17, 205, 7], - ["setarg", 24, 1, 10, 205, 7], - ["invoke", 24, 16, 205, 7], - "call_done_220", - ["jump_false", 16, "if_else_217", 205, 7], - ["get", 26, 15, 1, 206, 18], - ["is_proxy", 27, 26, 206, 18], - ["jump_false", 27, "record_path_221", 206, 18], - ["null", 28, 206, 18], - ["access", 29, "slurp", 206, 18], - ["array", 30, 0, 206, 18], - ["push", 30, 10, 206, 18], - ["frame", 31, 26, 2, 206, 18], - ["setarg", 31, 0, 28, 206, 18], - ["setarg", 31, 1, 29, 206, 18], - ["setarg", 31, 2, 30, 206, 18], - ["invoke", 31, 25, 206, 18], - ["jump", "call_done_222", 206, 18], + ["jump", "add_ni_215", 208, 32], + ["add_int", 13, 11, 12, 208, 32], + ["jump", "add_done_217", 208, 32], + "add_ni_215", + ["is_text", 14, 11, 208, 32], + ["jump_false", 14, "add_nt_216", 208, 32], + ["concat", 13, 11, 12, 208, 32], + ["jump", "add_done_217", 208, 32], + "add_nt_216", + ["is_num", 14, 11, 208, 32], + ["jump_false", 14, "add_err_218", 208, 32], + ["is_num", 15, 12, 208, 32], + ["jump_false", 15, "add_err_218", 208, 32], + ["add_float", 13, 11, 12, 208, 32], + ["jump", "add_done_217", 208, 32], + "add_err_218", + ["disrupt", 208, 32], + "add_done_217", + ["move", 10, 13, 208, 32], + ["null", 3, 209, 20], + ["null", 4, 210, 14], + ["null", 9, 211, 16], + ["null", 8, 212, 20], + ["null", 2, 213, 19], + ["null", 5, 214, 20], + ["null", 6, 215, 20], + ["get", 17, 16, 1, 216, 7], + ["is_proxy", 18, 17, 216, 7], + ["jump_false", 18, "record_path_221", 216, 7], + ["null", 19, 216, 7], + ["access", 20, "is_file", 216, 7], + ["array", 21, 0, 216, 7], + ["push", 21, 10, 216, 7], + ["frame", 22, 17, 2, 216, 7], + ["setarg", 22, 0, 19, 216, 7], + ["setarg", 22, 1, 20, 216, 7], + ["setarg", 22, 2, 21, 216, 7], + ["invoke", 22, 16, 216, 7], + ["jump", "call_done_222", 216, 7], "record_path_221", - ["load_field", 32, 26, "slurp", 206, 18], - ["frame", 33, 32, 1, 206, 18], - ["setarg", 33, 0, 26, 206, 18], - ["setarg", 33, 1, 10, 206, 18], - ["invoke", 33, 25, 206, 18], + ["load_field", 23, 17, "is_file", 216, 7], + ["frame", 24, 23, 1, 216, 7], + ["setarg", 24, 0, 17, 216, 7], + ["setarg", 24, 1, 10, 216, 7], + ["invoke", 24, 16, 216, 7], "call_done_222", - ["move", 3, 25, 206, 18], - ["get", 35, 11, 1, 207, 12], - ["frame", 36, 35, 1, 207, 12], - ["null", 37, 207, 12], - ["setarg", 36, 0, 37, 207, 12], - ["setarg", 36, 1, 3, 207, 12], - ["invoke", 36, 34, 207, 12], - ["move", 4, 34, 207, 12], - ["get", 39, 13, 1, 208, 14], - ["frame", 40, 39, 1, 208, 14], - ["null", 41, 208, 14], - ["setarg", 40, 0, 41, 208, 14], - ["setarg", 40, 1, 4, 208, 14], - ["invoke", 40, 38, 208, 14], - ["move", 9, 38, 208, 14], - ["move", 42, 9, 209, 9], - ["jump_false", 42, "and_end_225", 209, 9], - ["get", 44, 15, 1, 209, 19], - ["is_proxy", 45, 44, 209, 19], - ["jump_false", 45, "record_path_226", 209, 19], - ["null", 46, 209, 19], - ["access", 47, "is_file", 209, 19], - ["array", 48, 0, 209, 19], - ["push", 48, 9, 209, 19], - ["frame", 49, 44, 2, 209, 19], - ["setarg", 49, 0, 46, 209, 19], - ["setarg", 49, 1, 47, 209, 19], - ["setarg", 49, 2, 48, 209, 19], - ["invoke", 49, 43, 209, 19], - ["jump", "call_done_227", 209, 19], - "record_path_226", - ["load_field", 50, 44, "is_file", 209, 19], - ["frame", 51, 50, 1, 209, 19], - ["setarg", 51, 0, 44, 209, 19], - ["setarg", 51, 1, 9, 209, 19], - ["invoke", 51, 43, 209, 19], - "call_done_227", - ["move", 42, 43, 209, 19], - "and_end_225", - ["jump_false", 42, "if_else_223", 209, 19], - ["get", 53, 15, 1, 210, 24], - ["is_proxy", 54, 53, 210, 24], - ["jump_false", 54, "record_path_228", 210, 24], - ["null", 55, 210, 24], - ["access", 56, "slurp", 210, 24], - ["array", 57, 0, 210, 24], - ["push", 57, 9, 210, 24], - ["frame", 58, 53, 2, 210, 24], - ["setarg", 58, 0, 55, 210, 24], - ["setarg", 58, 1, 56, 210, 24], - ["setarg", 58, 2, 57, 210, 24], - ["invoke", 58, 52, 210, 24], - ["jump", "call_done_229", 210, 24], + ["jump_false", 16, "if_else_219", 216, 7], + ["get", 26, 16, 1, 217, 18], + ["is_proxy", 27, 26, 217, 18], + ["jump_false", 27, "record_path_223", 217, 18], + ["null", 28, 217, 18], + ["access", 29, "slurp", 217, 18], + ["array", 30, 0, 217, 18], + ["push", 30, 10, 217, 18], + ["frame", 31, 26, 2, 217, 18], + ["setarg", 31, 0, 28, 217, 18], + ["setarg", 31, 1, 29, 217, 18], + ["setarg", 31, 2, 30, 217, 18], + ["invoke", 31, 25, 217, 18], + ["jump", "call_done_224", 217, 18], + "record_path_223", + ["load_field", 32, 26, "slurp", 217, 18], + ["frame", 33, 32, 1, 217, 18], + ["setarg", 33, 0, 26, 217, 18], + ["setarg", 33, 1, 10, 217, 18], + ["invoke", 33, 25, 217, 18], + "call_done_224", + ["move", 3, 25, 217, 18], + ["get", 35, 11, 1, 218, 12], + ["frame", 36, 35, 1, 218, 12], + ["null", 37, 218, 12], + ["setarg", 36, 0, 37, 218, 12], + ["setarg", 36, 1, 3, 218, 12], + ["invoke", 36, 34, 218, 12], + ["move", 4, 34, 218, 12], + ["get", 39, 14, 1, 219, 14], + ["frame", 40, 39, 1, 219, 14], + ["null", 41, 219, 14], + ["setarg", 40, 0, 41, 219, 14], + ["setarg", 40, 1, 4, 219, 14], + ["invoke", 40, 38, 219, 14], + ["move", 9, 38, 219, 14], + ["move", 42, 9, 220, 9], + ["jump_false", 42, "and_end_227", 220, 9], + ["get", 44, 16, 1, 220, 19], + ["is_proxy", 45, 44, 220, 19], + ["jump_false", 45, "record_path_228", 220, 19], + ["null", 46, 220, 19], + ["access", 47, "is_file", 220, 19], + ["array", 48, 0, 220, 19], + ["push", 48, 9, 220, 19], + ["frame", 49, 44, 2, 220, 19], + ["setarg", 49, 0, 46, 220, 19], + ["setarg", 49, 1, 47, 220, 19], + ["setarg", 49, 2, 48, 220, 19], + ["invoke", 49, 43, 220, 19], + ["jump", "call_done_229", 220, 19], "record_path_228", - ["load_field", 59, 53, "slurp", 210, 24], - ["frame", 60, 59, 1, 210, 24], - ["setarg", 60, 0, 53, 210, 24], - ["setarg", 60, 1, 9, 210, 24], - ["invoke", 60, 52, 210, 24], + ["load_field", 50, 44, "is_file", 220, 19], + ["frame", 51, 50, 1, 220, 19], + ["setarg", 51, 0, 44, 220, 19], + ["setarg", 51, 1, 9, 220, 19], + ["invoke", 51, 43, 220, 19], "call_done_229", + ["move", 42, 43, 220, 19], + "and_end_227", + ["jump_false", 42, "if_else_225", 220, 19], + ["get", 53, 16, 1, 221, 24], + ["is_proxy", 54, 53, 221, 24], + ["jump_false", 54, "record_path_230", 221, 24], + ["null", 55, 221, 24], + ["access", 56, "slurp", 221, 24], + ["array", 57, 0, 221, 24], + ["push", 57, 9, 221, 24], + ["frame", 58, 53, 2, 221, 24], + ["setarg", 58, 0, 55, 221, 24], + ["setarg", 58, 1, 56, 221, 24], + ["setarg", 58, 2, 57, 221, 24], + ["invoke", 58, 52, 221, 24], + ["jump", "call_done_231", 221, 24], + "record_path_230", + ["load_field", 59, 53, "slurp", 221, 24], + ["frame", 60, 59, 1, 221, 24], + ["setarg", 60, 0, 53, 221, 24], + ["setarg", 60, 1, 9, 221, 24], + ["invoke", 60, 52, 221, 24], + "call_done_231", [ "access", 62, @@ -2103,19 +2203,19 @@ "kind": "name", "make": "intrinsic" }, - 210, + 221, 14 ], - ["frame", 63, 62, 2, 210, 14], - ["null", 64, 210, 14], - ["setarg", 63, 0, 64, 210, 14], - ["setarg", 63, 1, 52, 210, 14], - ["setarg", 63, 2, 1, 210, 14], - ["invoke", 63, 61, 210, 14], - ["return", 61, 210, 14], - ["jump", "if_end_224", 210, 14], - "if_else_223", - "if_end_224", + ["frame", 63, 62, 2, 221, 14], + ["null", 64, 221, 14], + ["setarg", 63, 0, 64, 221, 14], + ["setarg", 63, 1, 52, 221, 14], + ["setarg", 63, 2, 1, 221, 14], + ["invoke", 63, 61, 221, 14], + ["return", 61, 221, 14], + ["jump", "if_end_226", 221, 14], + "if_else_225", + "if_end_226", [ "access", 66, @@ -2124,16 +2224,16 @@ "kind": "name", "make": "intrinsic" }, - 212, + 223, 18 ], - ["frame", 67, 66, 1, 212, 18], - ["null", 68, 212, 18], - ["setarg", 67, 0, 68, 212, 18], - ["setarg", 67, 1, 3, 212, 18], - ["invoke", 67, 65, 212, 18], - ["move", 8, 65, 212, 18], - ["access", 69, "engine", 213, 40], + ["frame", 67, 66, 1, 223, 18], + ["null", 68, 223, 18], + ["setarg", 67, 0, 68, 223, 18], + ["setarg", 67, 1, 3, 223, 18], + ["invoke", 67, 65, 223, 18], + ["move", 8, 65, 223, 18], + ["access", 69, "engine", 224, 40], [ "access", 71, @@ -2142,47 +2242,47 @@ "kind": "name", "make": "intrinsic" }, - 213, + 224, 17 ], - ["frame", 72, 71, 2, 213, 17], - ["null", 73, 213, 17], - ["setarg", 72, 0, 73, 213, 17], - ["setarg", 72, 1, 69, 213, 17], - ["setarg", 72, 2, 8, 213, 17], - ["invoke", 72, 70, 213, 17], - ["move", 2, 70, 213, 17], - ["jump_false", 9, "if_else_230", 214, 9], - ["get", 75, 1, 1, 215, 7], - ["frame", 76, 75, 0, 215, 7], - ["null", 77, 215, 7], - ["setarg", 76, 0, 77, 215, 7], - ["invoke", 76, 74, 215, 7], - ["get", 79, 15, 1, 216, 7], - ["is_proxy", 80, 79, 216, 7], - ["jump_false", 80, "record_path_232", 216, 7], - ["null", 81, 216, 7], - ["access", 82, "slurpwrite", 216, 7], - ["array", 83, 0, 216, 7], - ["push", 83, 9, 216, 7], - ["push", 83, 2, 216, 7], - ["frame", 84, 79, 2, 216, 7], - ["setarg", 84, 0, 81, 216, 7], - ["setarg", 84, 1, 82, 216, 7], - ["setarg", 84, 2, 83, 216, 7], - ["invoke", 84, 78, 216, 7], - ["jump", "call_done_233", 216, 7], - "record_path_232", - ["load_field", 85, 79, "slurpwrite", 216, 7], - ["frame", 86, 85, 2, 216, 7], - ["setarg", 86, 0, 79, 216, 7], - ["setarg", 86, 1, 9, 216, 7], - ["setarg", 86, 2, 2, 216, 7], - ["invoke", 86, 78, 216, 7], - "call_done_233", - ["jump", "if_end_231", 216, 7], - "if_else_230", - "if_end_231", + ["frame", 72, 71, 2, 224, 17], + ["null", 73, 224, 17], + ["setarg", 72, 0, 73, 224, 17], + ["setarg", 72, 1, 69, 224, 17], + ["setarg", 72, 2, 8, 224, 17], + ["invoke", 72, 70, 224, 17], + ["move", 2, 70, 224, 17], + ["jump_false", 9, "if_else_232", 225, 9], + ["get", 75, 1, 1, 226, 7], + ["frame", 76, 75, 0, 226, 7], + ["null", 77, 226, 7], + ["setarg", 76, 0, 77, 226, 7], + ["invoke", 76, 74, 226, 7], + ["get", 79, 16, 1, 227, 7], + ["is_proxy", 80, 79, 227, 7], + ["jump_false", 80, "record_path_234", 227, 7], + ["null", 81, 227, 7], + ["access", 82, "slurpwrite", 227, 7], + ["array", 83, 0, 227, 7], + ["push", 83, 9, 227, 7], + ["push", 83, 2, 227, 7], + ["frame", 84, 79, 2, 227, 7], + ["setarg", 84, 0, 81, 227, 7], + ["setarg", 84, 1, 82, 227, 7], + ["setarg", 84, 2, 83, 227, 7], + ["invoke", 84, 78, 227, 7], + ["jump", "call_done_235", 227, 7], + "record_path_234", + ["load_field", 85, 79, "slurpwrite", 227, 7], + ["frame", 86, 85, 2, 227, 7], + ["setarg", 86, 0, 79, 227, 7], + ["setarg", 86, 1, 9, 227, 7], + ["setarg", 86, 2, 2, 227, 7], + ["invoke", 86, 78, 227, 7], + "call_done_235", + ["jump", "if_end_233", 227, 7], + "if_else_232", + "if_end_233", [ "access", 88, @@ -2191,19 +2291,19 @@ "kind": "name", "make": "intrinsic" }, - 218, + 229, 12 ], - ["frame", 89, 88, 2, 218, 12], - ["null", 90, 218, 12], - ["setarg", 89, 0, 90, 218, 12], - ["setarg", 89, 1, 2, 218, 12], - ["setarg", 89, 2, 1, 218, 12], - ["invoke", 89, 87, 218, 12], - ["return", 87, 218, 12], - ["jump", "if_end_218", 218, 12], - "if_else_217", - "if_end_218", + ["frame", 89, 88, 2, 229, 12], + ["null", 90, 229, 12], + ["setarg", 89, 0, 90, 229, 12], + ["setarg", 89, 1, 2, 229, 12], + ["setarg", 89, 2, 1, 229, 12], + ["invoke", 89, 87, 229, 12], + ["return", 87, 229, 12], + ["jump", "if_end_220", 229, 12], + "if_else_219", + "if_end_220", [ "access", 91, @@ -2212,52 +2312,52 @@ "kind": "name", "make": "intrinsic" }, - 221, + 232, 19 ], - ["access", 92, "/internal/engine.cm", 221, 31], - ["is_int", 94, 91, 221, 31], - ["jump_false", 94, "add_ni_234", 221, 31], + ["access", 92, "/internal/engine.cm", 232, 31], + ["is_int", 94, 91, 232, 31], + ["jump_false", 94, "add_ni_236", 232, 31], "_nop_tc_2", - ["jump", "add_ni_234", 221, 31], - ["add_int", 93, 91, 92, 221, 31], - ["jump", "add_done_236", 221, 31], - "add_ni_234", - ["is_text", 94, 91, 221, 31], - ["jump_false", 94, "add_nt_235", 221, 31], - ["concat", 93, 91, 92, 221, 31], - ["jump", "add_done_236", 221, 31], - "add_nt_235", - ["is_num", 94, 91, 221, 31], - ["jump_false", 94, "add_err_237", 221, 31], - ["is_num", 95, 92, 221, 31], - ["jump_false", 95, "add_err_237", 221, 31], - ["add_float", 93, 91, 92, 221, 31], - ["jump", "add_done_236", 221, 31], - "add_err_237", - ["disrupt", 221, 31], - "add_done_236", - ["move", 7, 93, 221, 31], - ["get", 97, 15, 1, 222, 21], - ["is_proxy", 98, 97, 222, 21], - ["jump_false", 98, "record_path_238", 222, 21], - ["null", 99, 222, 21], - ["access", 100, "slurp", 222, 21], - ["array", 101, 0, 222, 21], - ["push", 101, 7, 222, 21], - ["frame", 102, 97, 2, 222, 21], - ["setarg", 102, 0, 99, 222, 21], - ["setarg", 102, 1, 100, 222, 21], - ["setarg", 102, 2, 101, 222, 21], - ["invoke", 102, 96, 222, 21], - ["jump", "call_done_239", 222, 21], - "record_path_238", - ["load_field", 103, 97, "slurp", 222, 21], - ["frame", 104, 103, 1, 222, 21], - ["setarg", 104, 0, 97, 222, 21], - ["setarg", 104, 1, 7, 222, 21], - ["invoke", 104, 96, 222, 21], - "call_done_239", + ["jump", "add_ni_236", 232, 31], + ["add_int", 93, 91, 92, 232, 31], + ["jump", "add_done_238", 232, 31], + "add_ni_236", + ["is_text", 94, 91, 232, 31], + ["jump_false", 94, "add_nt_237", 232, 31], + ["concat", 93, 91, 92, 232, 31], + ["jump", "add_done_238", 232, 31], + "add_nt_237", + ["is_num", 94, 91, 232, 31], + ["jump_false", 94, "add_err_239", 232, 31], + ["is_num", 95, 92, 232, 31], + ["jump_false", 95, "add_err_239", 232, 31], + ["add_float", 93, 91, 92, 232, 31], + ["jump", "add_done_238", 232, 31], + "add_err_239", + ["disrupt", 232, 31], + "add_done_238", + ["move", 7, 93, 232, 31], + ["get", 97, 16, 1, 233, 21], + ["is_proxy", 98, 97, 233, 21], + ["jump_false", 98, "record_path_240", 233, 21], + ["null", 99, 233, 21], + ["access", 100, "slurp", 233, 21], + ["array", 101, 0, 233, 21], + ["push", 101, 7, 233, 21], + ["frame", 102, 97, 2, 233, 21], + ["setarg", 102, 0, 99, 233, 21], + ["setarg", 102, 1, 100, 233, 21], + ["setarg", 102, 2, 101, 233, 21], + ["invoke", 102, 96, 233, 21], + ["jump", "call_done_241", 233, 21], + "record_path_240", + ["load_field", 103, 97, "slurp", 233, 21], + ["frame", 104, 103, 1, 233, 21], + ["setarg", 104, 0, 97, 233, 21], + ["setarg", 104, 1, 7, 233, 21], + ["invoke", 104, 96, 233, 21], + "call_done_241", [ "access", 106, @@ -2266,35 +2366,35 @@ "kind": "name", "make": "intrinsic" }, - 222, + 233, 16 ], - ["frame", 107, 106, 1, 222, 16], - ["null", 108, 222, 16], - ["setarg", 107, 0, 108, 222, 16], - ["setarg", 107, 1, 96, 222, 16], - ["invoke", 107, 105, 222, 16], - ["move", 5, 105, 222, 16], - ["get", 110, 8, 1, 223, 16], - ["frame", 111, 110, 2, 223, 16], - ["null", 112, 223, 16], - ["setarg", 111, 0, 112, 223, 16], - ["setarg", 111, 1, 5, 223, 16], - ["setarg", 111, 2, 7, 223, 16], - ["invoke", 111, 109, 223, 16], - ["move", 6, 109, 223, 16], - ["access", 113, "engine", 224, 18], - ["get", 115, 20, 1, 224, 10], - ["frame", 116, 115, 3, 224, 10], - ["null", 117, 224, 10], - ["setarg", 116, 0, 117, 224, 10], - ["setarg", 116, 1, 113, 224, 10], - ["setarg", 116, 2, 6, 224, 10], - ["setarg", 116, 3, 1, 224, 10], - ["invoke", 116, 114, 224, 10], - ["return", 114, 224, 10], - ["null", 118, 224, 10], - ["return", 118, 224, 10] + ["frame", 107, 106, 1, 233, 16], + ["null", 108, 233, 16], + ["setarg", 107, 0, 108, 233, 16], + ["setarg", 107, 1, 96, 233, 16], + ["invoke", 107, 105, 233, 16], + ["move", 5, 105, 233, 16], + ["get", 110, 8, 1, 234, 16], + ["frame", 111, 110, 2, 234, 16], + ["null", 112, 234, 16], + ["setarg", 111, 0, 112, 234, 16], + ["setarg", 111, 1, 5, 234, 16], + ["setarg", 111, 2, 7, 234, 16], + ["invoke", 111, 109, 234, 16], + ["move", 6, 109, 234, 16], + ["access", 113, "engine", 235, 18], + ["get", 115, 21, 1, 235, 10], + ["frame", 116, 115, 3, 235, 10], + ["null", 117, 235, 10], + ["setarg", 116, 0, 117, 235, 10], + ["setarg", 116, 1, 113, 235, 10], + ["setarg", 116, 2, 6, 235, 10], + ["setarg", 116, 3, 1, 235, 10], + ["invoke", 116, 114, 235, 10], + ["return", 114, 235, 10], + ["null", 118, 235, 10], + ["return", 118, 235, 10] ], "name": "load_engine", "filename": "internal/bootstrap.cm", @@ -2304,33 +2404,35 @@ "main": { "nr_args": 0, "nr_close_slots": 0, - "nr_slots": 136, + "nr_slots": 138, "instructions": [ - ["function", 27, 0, 0, 0], - ["move", 12, 27, 0, 0], - ["function", 28, 1, 0, 0], - ["move", 11, 28, 0, 0], - ["function", 29, 2, 0, 0], - ["move", 13, 29, 0, 0], - ["function", 30, 3, 0, 0], - ["move", 1, 30, 0, 0], - ["function", 31, 4, 0, 0], - ["move", 2, 31, 0, 0], - ["function", 32, 5, 0, 0], - ["move", 21, 32, 0, 0], - ["function", 33, 6, 0, 0], - ["move", 9, 33, 0, 0], - ["function", 34, 7, 0, 0], - ["move", 8, 34, 0, 0], - ["function", 35, 8, 0, 0], - ["move", 20, 35, 0, 0], - ["function", 36, 9, 0, 0], - ["move", 26, 36, 0, 0], - ["function", 37, 10, 0, 0], - ["move", 3, 37, 0, 0], + ["function", 28, 0, 0, 0], + ["move", 13, 28, 0, 0], + ["function", 29, 1, 0, 0], + ["move", 11, 29, 0, 0], + ["function", 30, 2, 0, 0], + ["move", 14, 30, 0, 0], + ["function", 31, 3, 0, 0], + ["move", 1, 31, 0, 0], + ["function", 32, 4, 0, 0], + ["move", 2, 32, 0, 0], + ["function", 33, 5, 0, 0], + ["move", 22, 33, 0, 0], + ["function", 34, 6, 0, 0], + ["move", 9, 34, 0, 0], + ["function", 35, 7, 0, 0], + ["move", 8, 35, 0, 0], + ["function", 36, 8, 0, 0], + ["move", 21, 36, 0, 0], + ["function", 37, 9, 0, 0], + ["move", 27, 37, 0, 0], + ["function", 38, 10, 0, 0], + ["move", 6, 38, 0, 0], + ["function", 39, 11, 0, 0], + ["move", 3, 39, 0, 0], [ "access", - 38, + 40, { "name": "os", "kind": "name", @@ -2339,36 +2441,36 @@ 5, 21 ], - ["load_field", 39, 38, "load_internal", 5, 21], - ["move", 18, 39, 5, 21], - ["access", 40, "fd", 10, 20], - ["frame", 42, 12, 1, 10, 10], - ["null", 43, 10, 10], - ["setarg", 42, 0, 43, 10, 10], - ["setarg", 42, 1, 40, 10, 10], - ["invoke", 42, 41, 10, 10], - ["move", 15, 41, 10, 10], - ["access", 44, "json", 11, 22], - ["frame", 46, 12, 1, 11, 12], - ["null", 47, 11, 12], - ["setarg", 46, 0, 47, 11, 12], - ["setarg", 46, 1, 44, 11, 12], - ["invoke", 46, 45, 11, 12], - ["move", 25, 45, 11, 12], - ["access", 48, "crypto", 12, 24], - ["frame", 50, 12, 1, 12, 14], - ["null", 51, 12, 14], - ["setarg", 50, 0, 51, 12, 14], - ["setarg", 50, 1, 48, 12, 14], - ["invoke", 50, 49, 12, 14], - ["move", 19, 49, 12, 14], - ["record", 52, 0], - ["move", 22, 52, 14, 17], - ["access", 53, "fd", 15, 11], - ["store_field", 22, 15, 53, 15, 11], + ["load_field", 41, 40, "load_internal", 5, 21], + ["move", 19, 41, 5, 21], + ["access", 42, "fd", 10, 20], + ["frame", 44, 13, 1, 10, 10], + ["null", 45, 10, 10], + ["setarg", 44, 0, 45, 10, 10], + ["setarg", 44, 1, 42, 10, 10], + ["invoke", 44, 43, 10, 10], + ["move", 16, 43, 10, 10], + ["access", 46, "json", 11, 22], + ["frame", 48, 13, 1, 11, 12], + ["null", 49, 11, 12], + ["setarg", 48, 0, 49, 11, 12], + ["setarg", 48, 1, 46, 11, 12], + ["invoke", 48, 47, 11, 12], + ["move", 26, 47, 11, 12], + ["access", 50, "crypto", 12, 24], + ["frame", 52, 13, 1, 12, 14], + ["null", 53, 12, 14], + ["setarg", 52, 0, 53, 12, 14], + ["setarg", 52, 1, 50, 12, 14], + ["invoke", 52, 51, 12, 14], + ["move", 20, 51, 12, 14], + ["record", 54, 0], + ["move", 23, 54, 14, 17], + ["access", 55, "fd", 15, 11], + ["store_field", 23, 16, 55, 15, 11], [ "access", - 54, + 56, { "name": "os", "kind": "name", @@ -2377,413 +2479,421 @@ 16, 19 ], - ["access", 55, "os", 16, 11], - ["store_field", 22, 54, 55, 16, 11], - ["access", 56, "json", 17, 11], - ["store_field", 22, 25, 56, 17, 11], - ["access", 57, "crypto", 18, 11], - ["store_field", 22, 19, 57, 18, 11], - ["record", 58, 0], - ["store_field", 58, 2, "use", 74, 22], - ["move", 10, 58, 74, 22], - ["access", 59, "tokenize", 75, 30], - ["frame", 61, 21, 2, 75, 20], - ["null", 62, 75, 20], - ["setarg", 61, 0, 62, 75, 20], - ["setarg", 61, 1, 59, 75, 20], - ["setarg", 61, 2, 10, 75, 20], - ["invoke", 61, 60, 75, 20], - ["move", 4, 60, 75, 20], - ["access", 63, "parse", 76, 27], - ["frame", 65, 21, 2, 76, 17], - ["null", 66, 76, 17], - ["setarg", 65, 0, 66, 76, 17], - ["setarg", 65, 1, 63, 76, 17], - ["setarg", 65, 2, 10, 76, 17], - ["invoke", 65, 64, 76, 17], - ["move", 16, 64, 76, 17], - ["access", 67, "fold", 77, 26], - ["frame", 69, 21, 2, 77, 16], - ["null", 70, 77, 16], - ["setarg", 69, 0, 70, 77, 16], - ["setarg", 69, 1, 67, 77, 16], - ["setarg", 69, 2, 10, 77, 16], - ["invoke", 69, 68, 77, 16], - ["move", 14, 68, 77, 16], - ["access", 71, "tokenize", 78, 11], - ["store_field", 22, 4, 71, 78, 11], - ["access", 72, "parse", 79, 11], - ["store_field", 22, 16, 72, 79, 11], - ["access", 73, "fold", 80, 11], - ["store_field", 22, 14, 73, 80, 11], - ["access", 74, "mcode", 83, 27], - ["frame", 76, 21, 2, 83, 17], - ["null", 77, 83, 17], - ["setarg", 76, 0, 77, 83, 17], - ["setarg", 76, 1, 74, 83, 17], - ["setarg", 76, 2, 10, 83, 17], - ["invoke", 76, 75, 83, 17], - ["move", 7, 75, 83, 17], - ["access", 78, "mcode", 84, 11], - ["store_field", 22, 7, 78, 84, 11], - ["null", 24, 85, 22], - ["frame", 80, 9, 0, 126, 1], - ["null", 81, 126, 1], - ["setarg", 80, 0, 81, 126, 1], - ["invoke", 80, 79, 126, 1], - ["access", 82, "streamline", 164, 28], - ["frame", 84, 21, 2, 164, 18], - ["null", 85, 164, 18], - ["setarg", 84, 0, 85, 164, 18], - ["setarg", 84, 1, 82, 164, 18], - ["setarg", 84, 2, 10, 164, 18], - ["invoke", 84, 83, 164, 18], - ["move", 24, 83, 164, 18], - ["access", 86, "streamline", 165, 11], - ["store_field", 22, 24, 86, 165, 11], - ["null", 17, 168, 22], - ["null", 23, 229, 15], - ["array", 87, 0, 230, 17], - ["move", 5, 87, 230, 17], - ["access", 6, 0, 231, 10], + ["access", 57, "os", 16, 11], + ["store_field", 23, 56, 57, 16, 11], + ["access", 58, "json", 17, 11], + ["store_field", 23, 26, 58, 17, 11], + ["access", 59, "crypto", 18, 11], + ["store_field", 23, 20, 59, 18, 11], + ["record", 60, 0], + ["store_field", 60, 2, "use", 74, 22], + ["move", 10, 60, 74, 22], + ["access", 61, "tokenize", 75, 30], + ["frame", 63, 22, 2, 75, 20], + ["null", 64, 75, 20], + ["setarg", 63, 0, 64, 75, 20], + ["setarg", 63, 1, 61, 75, 20], + ["setarg", 63, 2, 10, 75, 20], + ["invoke", 63, 62, 75, 20], + ["move", 4, 62, 75, 20], + ["access", 65, "parse", 76, 27], + ["frame", 67, 22, 2, 76, 17], + ["null", 68, 76, 17], + ["setarg", 67, 0, 68, 76, 17], + ["setarg", 67, 1, 65, 76, 17], + ["setarg", 67, 2, 10, 76, 17], + ["invoke", 67, 66, 76, 17], + ["move", 17, 66, 76, 17], + ["access", 69, "fold", 77, 26], + ["frame", 71, 22, 2, 77, 16], + ["null", 72, 77, 16], + ["setarg", 71, 0, 72, 77, 16], + ["setarg", 71, 1, 69, 77, 16], + ["setarg", 71, 2, 10, 77, 16], + ["invoke", 71, 70, 77, 16], + ["move", 15, 70, 77, 16], + ["access", 73, "tokenize", 78, 11], + ["store_field", 23, 4, 73, 78, 11], + ["access", 74, "parse", 79, 11], + ["store_field", 23, 17, 74, 79, 11], + ["access", 75, "fold", 80, 11], + ["store_field", 23, 15, 75, 80, 11], + ["access", 76, "mcode", 83, 27], + ["frame", 78, 22, 2, 83, 17], + ["null", 79, 83, 17], + ["setarg", 78, 0, 79, 83, 17], + ["setarg", 78, 1, 76, 83, 17], + ["setarg", 78, 2, 10, 83, 17], + ["invoke", 78, 77, 83, 17], + ["move", 7, 77, 83, 17], + ["access", 80, "mcode", 84, 11], + ["store_field", 23, 7, 80, 84, 11], + ["null", 25, 85, 22], + ["frame", 82, 9, 0, 126, 1], + ["null", 83, 126, 1], + ["setarg", 82, 0, 83, 126, 1], + ["invoke", 82, 81, 126, 1], + ["access", 84, "streamline", 164, 28], + ["frame", 86, 22, 2, 164, 18], + ["null", 87, 164, 18], + ["setarg", 86, 0, 87, 164, 18], + ["setarg", 86, 1, 84, 164, 18], + ["setarg", 86, 2, 10, 164, 18], + ["invoke", 86, 85, 164, 18], + ["move", 25, 85, 164, 18], + ["access", 88, "streamline", 165, 11], + ["store_field", 23, 25, 88, 165, 11], + ["null", 18, 168, 22], + ["null", 24, 240, 15], + ["array", 89, 0, 241, 17], + ["move", 5, 89, 241, 17], + ["access", 12, 0, 242, 10], [ "access", - 88, + 90, { "name": "args", "kind": "name", "make": "intrinsic" }, - 233, + 244, 5 ], - ["null", 89, 233, 13], - ["is_identical", 90, 88, 89, 233, 13], - ["jump_true", 90, "ne_nid_243", 233, 13], - ["jump", "ne_ni_244", 233, 13], - "ne_nid_243", - ["false", 90, 233, 13], - ["jump", "ne_done_242", 233, 13], - "ne_ni_244", - ["is_int", 91, 88, 233, 13], - ["jump_false", 91, "ne_nn_245", 233, 13], - ["is_int", 92, 89, 233, 13], - ["jump_false", 92, "ne_nn_245", 233, 13], - ["ne_int", 90, 88, 89, 233, 13], - ["jump", "ne_done_242", 233, 13], - "ne_nn_245", - ["is_num", 91, 88, 233, 13], - ["jump_false", 91, "ne_nt_246", 233, 13], - ["is_num", 92, 89, 233, 13], - ["jump_false", 92, "ne_nt_246", 233, 13], - ["ne_float", 90, 88, 89, 233, 13], - ["jump", "ne_done_242", 233, 13], - "ne_nt_246", - ["is_text", 91, 88, 233, 13], - ["jump_false", 91, "ne_nnl_247", 233, 13], - ["is_text", 92, 89, 233, 13], - ["jump_false", 92, "ne_nnl_247", 233, 13], - ["ne_text", 90, 88, 89, 233, 13], - ["jump", "ne_done_242", 233, 13], - "ne_nnl_247", - ["is_null", 91, 88, 233, 13], - ["jump_false", 91, "ne_nb_248", 233, 13], - ["is_null", 92, 89, 233, 13], - ["jump_false", 92, "ne_nb_248", 233, 13], - ["false", 90, 233, 13], - ["jump", "ne_done_242", 233, 13], - "ne_nb_248", - ["is_bool", 91, 88, 233, 13], - ["jump_false", 91, "ne_mis_249", 233, 13], - ["is_bool", 92, 89, 233, 13], - ["jump_false", 92, "ne_mis_249", 233, 13], - ["ne_bool", 90, 88, 89, 233, 13], - ["jump", "ne_done_242", 233, 13], - "ne_mis_249", - ["true", 90, 233, 13], - "ne_done_242", - ["jump_false", 90, "if_else_240", 233, 13], + ["null", 91, 244, 13], + ["is_identical", 92, 90, 91, 244, 13], + ["jump_true", 92, "ne_nid_245", 244, 13], + ["jump", "ne_ni_246", 244, 13], + "ne_nid_245", + ["false", 92, 244, 13], + ["jump", "ne_done_244", 244, 13], + "ne_ni_246", + ["is_int", 93, 90, 244, 13], + ["jump_false", 93, "ne_nn_247", 244, 13], + ["is_int", 94, 91, 244, 13], + ["jump_false", 94, "ne_nn_247", 244, 13], + ["ne_int", 92, 90, 91, 244, 13], + ["jump", "ne_done_244", 244, 13], + "ne_nn_247", + ["is_num", 93, 90, 244, 13], + ["jump_false", 93, "ne_nt_248", 244, 13], + ["is_num", 94, 91, 244, 13], + ["jump_false", 94, "ne_nt_248", 244, 13], + ["ne_float", 92, 90, 91, 244, 13], + ["jump", "ne_done_244", 244, 13], + "ne_nt_248", + ["is_text", 93, 90, 244, 13], + ["jump_false", 93, "ne_nnl_249", 244, 13], + ["is_text", 94, 91, 244, 13], + ["jump_false", 94, "ne_nnl_249", 244, 13], + ["ne_text", 92, 90, 91, 244, 13], + ["jump", "ne_done_244", 244, 13], + "ne_nnl_249", + ["is_null", 93, 90, 244, 13], + ["jump_false", 93, "ne_nb_250", 244, 13], + ["is_null", 94, 91, 244, 13], + ["jump_false", 94, "ne_nb_250", 244, 13], + ["false", 92, 244, 13], + ["jump", "ne_done_244", 244, 13], + "ne_nb_250", + ["is_bool", 93, 90, 244, 13], + ["jump_false", 93, "ne_mis_251", 244, 13], + ["is_bool", 94, 91, 244, 13], + ["jump_false", 94, "ne_mis_251", 244, 13], + ["ne_bool", 92, 90, 91, 244, 13], + ["jump", "ne_done_244", 244, 13], + "ne_mis_251", + ["true", 92, 244, 13], + "ne_done_244", + ["jump_false", 92, "if_else_242", 244, 13], [ "access", - 93, + 95, { "name": "args", "kind": "name", "make": "intrinsic" }, - 235, + 246, 13 ], - ["access", 94, 0, 235, 18], - ["load_index", 95, 93, 94, 235, 18], - ["move", 23, 95, 235, 18], + ["access", 96, 0, 246, 18], + ["load_index", 97, 95, 96, 246, 18], + ["move", 24, 97, 246, 18], "_nop_bl_1", - ["jump_true", 23, "if_else_250", 236, 8], - ["access", 97, "error: no program specified\n", 237, 11], + ["jump_true", 24, "if_else_252", 247, 8], + ["access", 99, "error: no program specified\n", 248, 11], [ "access", - 99, + 101, { "name": "print", "kind": "name", "make": "intrinsic" }, - 237, + 248, 5 ], - ["frame", 100, 99, 1, 237, 5], - ["null", 101, 237, 5], - ["setarg", 100, 0, 101, 237, 5], - ["setarg", 100, 1, 97, 237, 5], - ["invoke", 100, 98, 237, 5], - ["disrupt", 238, 5], - ["jump", "if_end_251", 238, 5], - "if_else_250", - "if_end_251", - ["access", 102, 1, 240, 8], - ["move", 6, 102, 240, 8], - "while_start_252", + ["frame", 102, 101, 1, 248, 5], + ["null", 103, 248, 5], + ["setarg", 102, 0, 103, 248, 5], + ["setarg", 102, 1, 99, 248, 5], + ["invoke", 102, 100, 248, 5], + ["disrupt", 249, 5], + ["jump", "if_end_253", 249, 5], + "if_else_252", + "if_end_253", + ["access", 104, 1, 251, 8], + ["move", 12, 104, 251, 8], + "while_start_254", [ "access", - 103, + 105, { "name": "args", "kind": "name", "make": "intrinsic" }, - 241, + 252, 22 ], - ["length", 104, 103, 241, 22], - ["is_int", 106, 6, 241, 22], - ["jump_false", 106, "rel_ni_254", 241, 22], + ["length", 106, 105, 252, 22], + ["is_int", 108, 12, 252, 22], + ["jump_false", 108, "rel_ni_256", 252, 22], "_nop_tc_1", "_nop_tc_2", - ["lt_int", 105, 6, 104, 241, 22], - ["jump", "rel_done_256", 241, 22], - "rel_ni_254", - ["is_num", 106, 6, 241, 22], - ["jump_false", 106, "rel_nn_255", 241, 22], - ["is_num", 107, 104, 241, 22], - ["jump_false", 107, "rel_nn_255", 241, 22], - ["lt_float", 105, 6, 104, 241, 22], - ["jump", "rel_done_256", 241, 22], - "rel_nn_255", - ["is_text", 106, 6, 241, 22], - ["jump_false", 106, "rel_err_257", 241, 22], - ["is_text", 107, 104, 241, 22], - ["jump_false", 107, "rel_err_257", 241, 22], - ["lt_text", 105, 6, 104, 241, 22], - ["jump", "rel_done_256", 241, 22], - "rel_err_257", - ["disrupt", 241, 22], - "rel_done_256", - ["jump_false", 105, "while_end_253", 241, 22], + ["lt_int", 107, 12, 106, 252, 22], + ["jump", "rel_done_258", 252, 22], + "rel_ni_256", + ["is_num", 108, 12, 252, 22], + ["jump_false", 108, "rel_nn_257", 252, 22], + ["is_num", 109, 106, 252, 22], + ["jump_false", 109, "rel_nn_257", 252, 22], + ["lt_float", 107, 12, 106, 252, 22], + ["jump", "rel_done_258", 252, 22], + "rel_nn_257", + ["is_text", 108, 12, 252, 22], + ["jump_false", 108, "rel_err_259", 252, 22], + ["is_text", 109, 106, 252, 22], + ["jump_false", 109, "rel_err_259", 252, 22], + ["lt_text", 107, 12, 106, 252, 22], + ["jump", "rel_done_258", 252, 22], + "rel_err_259", + ["disrupt", 252, 22], + "rel_done_258", + ["jump_false", 107, "while_end_255", 252, 22], [ "access", - 108, + 110, { "name": "args", "kind": "name", "make": "intrinsic" }, - 242, + 253, 21 ], - ["load_dynamic", 109, 108, 6, 242, 26], - ["is_array", 110, 5, 242, 26], - ["jump_false", 110, "push_err_258", 242, 26], - ["push", 5, 109, 242, 26], - ["jump", "push_done_259", 242, 26], - "push_err_258", - ["disrupt", 242, 26], - "push_done_259", - ["access", 111, 1, 243, 15], - ["is_int", 113, 6, 243, 15], - ["jump_false", 113, "add_ni_260", 243, 15], - ["add_int", 112, 6, 111, 243, 15], - ["jump", "add_done_262", 243, 15], - "add_ni_260", - ["is_text", 113, 6, 243, 15], - ["jump_false", 113, "add_nt_261", 243, 15], - ["is_text", 114, 111, 243, 15], - ["jump_false", 114, "add_nt_261", 243, 15], - ["concat", 112, 6, 111, 243, 15], - ["jump", "add_done_262", 243, 15], - "add_nt_261", - ["is_num", 113, 6, 243, 15], - ["jump_false", 113, "add_err_263", 243, 15], - ["add_float", 112, 6, 111, 243, 15], - ["jump", "add_done_262", 243, 15], - "add_err_263", - ["disrupt", 243, 15], - "add_done_262", - ["move", 6, 112, 243, 15], - ["jump", "while_start_252", 243, 15], - "while_end_253", - ["record", 115, 0], + ["load_dynamic", 111, 110, 12, 253, 26], + ["is_array", 112, 5, 253, 26], + ["jump_false", 112, "push_err_260", 253, 26], + ["push", 5, 111, 253, 26], + ["jump", "push_done_261", 253, 26], + "push_err_260", + ["disrupt", 253, 26], + "push_done_261", + ["access", 113, 1, 254, 15], + ["is_int", 115, 12, 254, 15], + ["jump_false", 115, "add_ni_262", 254, 15], + ["add_int", 114, 12, 113, 254, 15], + ["jump", "add_done_264", 254, 15], + "add_ni_262", + ["is_text", 115, 12, 254, 15], + ["jump_false", 115, "add_nt_263", 254, 15], + ["is_text", 116, 113, 254, 15], + ["jump_false", 116, "add_nt_263", 254, 15], + ["concat", 114, 12, 113, 254, 15], + ["jump", "add_done_264", 254, 15], + "add_nt_263", + ["is_num", 115, 12, 254, 15], + ["jump_false", 115, "add_err_265", 254, 15], + ["add_float", 114, 12, 113, 254, 15], + ["jump", "add_done_264", 254, 15], + "add_err_265", + ["disrupt", 254, 15], + "add_done_264", + ["move", 12, 114, 254, 15], + ["jump", "while_start_254", 254, 15], + "while_end_255", + ["record", 117, 0], [ "access", - 116, + 118, { "name": "os", "kind": "name", "make": "intrinsic" }, - 247, + 258, 9 ], - ["store_field", 115, 116, "os", 247, 9], + ["store_field", 117, 118, "os", 258, 9], [ "access", - 117, + 119, { "name": "actorsym", "kind": "name", "make": "intrinsic" }, - 247, + 258, 23 ], - ["store_field", 115, 117, "actorsym", 247, 23], - ["record", 118, 0], - ["store_field", 118, 23, "program", 248, 21], - ["store_field", 118, 5, "arg", 248, 35], - ["store_field", 115, 118, "init", 248, 35], + ["store_field", 117, 119, "actorsym", 258, 23], + ["record", 120, 0], + ["store_field", 120, 24, "program", 259, 21], + ["store_field", 120, 5, "arg", 259, 35], + ["store_field", 117, 120, "init", 259, 35], [ "access", - 119, + 121, { "name": "core_path", "kind": "name", "make": "intrinsic" }, - 249, + 260, 16 ], - ["store_field", 115, 119, "core_path", 249, 16], + ["store_field", 117, 121, "core_path", 260, 16], [ "access", - 120, + 122, { "name": "shop_path", "kind": "name", "make": "intrinsic" }, - 249, + 260, 38 ], - ["store_field", 115, 120, "shop_path", 249, 38], - ["store_field", 115, 25, "json", 249, 55], - ["store_field", 115, 8, "analyze", 250, 14], - ["store_field", 115, 20, "run_ast_fn", 250, 35], - ["store_field", 115, 26, "run_ast_noopt_fn", 250, 62], - ["store_field", 115, 22, "use_cache", 251, 16], - ["frame", 122, 3, 1, 246, 3], - ["null", 123, 246, 3], - ["setarg", 122, 0, 123, 246, 3], - ["setarg", 122, 1, 115, 246, 3], - ["invoke", 122, 121, 246, 3], - ["jump", "if_end_241", 246, 3], - "if_else_240", - ["record", 124, 0], + ["store_field", 117, 122, "shop_path", 260, 38], + ["store_field", 117, 26, "json", 260, 55], + ["store_field", 117, 8, "analyze", 261, 14], + ["store_field", 117, 21, "run_ast_fn", 261, 35], + ["store_field", 117, 27, "run_ast_noopt_fn", 261, 62], + ["store_field", 117, 23, "use_cache", 262, 16], + ["store_field", 117, 11, "content_hash", 263, 19], + ["store_field", 117, 14, "cache_path", 263, 45], + ["store_field", 117, 1, "ensure_build_dir", 264, 23], + ["store_field", 117, 6, "compile_to_blob_fn", 264, 61], + ["frame", 124, 3, 1, 257, 3], + ["null", 125, 257, 3], + ["setarg", 124, 0, 125, 257, 3], + ["setarg", 124, 1, 117, 257, 3], + ["invoke", 124, 123, 257, 3], + ["jump", "if_end_243", 257, 3], + "if_else_242", + ["record", 126, 0], [ "access", - 125, + 127, { "name": "os", "kind": "name", "make": "intrinsic" }, - 256, + 269, 9 ], - ["store_field", 124, 125, "os", 256, 9], + ["store_field", 126, 127, "os", 269, 9], [ "access", - 126, + 128, { "name": "actorsym", "kind": "name", "make": "intrinsic" }, - 256, + 269, 23 ], - ["store_field", 124, 126, "actorsym", 256, 23], + ["store_field", 126, 128, "actorsym", 269, 23], [ "access", - 127, + 129, { "name": "init", "kind": "name", "make": "intrinsic" }, - 256, + 269, 39 ], - ["store_field", 124, 127, "init", 256, 39], + ["store_field", 126, 129, "init", 269, 39], [ "access", - 128, + 130, { "name": "core_path", "kind": "name", "make": "intrinsic" }, - 257, + 270, 16 ], - ["store_field", 124, 128, "core_path", 257, 16], + ["store_field", 126, 130, "core_path", 270, 16], [ "access", - 129, + 131, { "name": "shop_path", "kind": "name", "make": "intrinsic" }, - 257, + 270, 38 ], - ["store_field", 124, 129, "shop_path", 257, 38], - ["store_field", 124, 25, "json", 257, 55], + ["store_field", 126, 131, "shop_path", 270, 38], + ["store_field", 126, 26, "json", 270, 55], [ "access", - 130, + 132, { "name": "nota", "kind": "name", "make": "intrinsic" }, - 257, + 270, 67 ], - ["store_field", 124, 130, "nota", 257, 67], + ["store_field", 126, 132, "nota", 270, 67], [ "access", - 131, + 133, { "name": "wota", "kind": "name", "make": "intrinsic" }, - 257, + 270, 79 ], - ["store_field", 124, 131, "wota", 257, 79], - ["store_field", 124, 8, "analyze", 258, 14], - ["store_field", 124, 20, "run_ast_fn", 258, 35], - ["store_field", 124, 26, "run_ast_noopt_fn", 258, 62], - ["store_field", 124, 22, "use_cache", 259, 16], - ["frame", 133, 3, 1, 255, 3], - ["null", 134, 255, 3], - ["setarg", 133, 0, 134, 255, 3], - ["setarg", 133, 1, 124, 255, 3], - ["invoke", 133, 132, 255, 3], - "if_end_241", - ["null", 135, 255, 3], - ["return", 135, 255, 3] + ["store_field", 126, 133, "wota", 270, 79], + ["store_field", 126, 8, "analyze", 271, 14], + ["store_field", 126, 21, "run_ast_fn", 271, 35], + ["store_field", 126, 27, "run_ast_noopt_fn", 271, 62], + ["store_field", 126, 23, "use_cache", 272, 16], + ["store_field", 126, 11, "content_hash", 273, 19], + ["store_field", 126, 14, "cache_path", 273, 45], + ["store_field", 126, 1, "ensure_build_dir", 274, 23], + ["store_field", 126, 6, "compile_to_blob_fn", 274, 61], + ["frame", 135, 3, 1, 268, 3], + ["null", 136, 268, 3], + ["setarg", 135, 0, 136, 268, 3], + ["setarg", 135, 1, 126, 268, 3], + ["invoke", 135, 134, 268, 3], + "if_end_243", + ["null", 137, 268, 3], + ["return", 137, 268, 3] ] }, "filename": "internal/bootstrap.cm", diff --git a/boot/engine.cm.mcode b/boot/engine.cm.mcode index faa2a802..e91198fc 100644 --- a/boot/engine.cm.mcode +++ b/boot/engine.cm.mcode @@ -737,7 +737,7 @@ "instructions": [ ["get", 2, 58, 2, 83, 53], ["load_dynamic", 3, 2, 1, 83, 65], - ["get", 4, 7, 1, 83, 44], + ["get", 4, 11, 1, 83, 44], ["store_dynamic", 4, 3, 1, 83, 48], ["null", 5, 83, 48], ["return", 5, 83, 48] @@ -748,36 +748,36 @@ }, { "disruption_pc": 0, - "nr_slots": 186, + "nr_slots": 287, "nr_close_slots": 0, "instructions": [ - ["access", 12, "core/", 63, 19], + ["access", 17, "core/", 63, 19], "_nop_tc_1", ["jump", "add_ni_90", 63, 29], - ["is_int", 15, 1, 63, 29], - ["jump_false", 15, "add_ni_90", 63, 29], - ["add_int", 13, 12, 1, 63, 29], + ["is_int", 20, 1, 63, 29], + ["jump_false", 20, "add_ni_90", 63, 29], + ["add_int", 18, 17, 1, 63, 29], ["jump", "add_done_92", 63, 29], "add_ni_90", - ["is_text", 15, 1, 63, 29], - ["jump_false", 15, "add_nt_91", 63, 29], - ["concat", 13, 12, 1, 63, 29], + ["is_text", 20, 1, 63, 29], + ["jump_false", 20, "add_nt_91", 63, 29], + ["concat", 18, 17, 1, 63, 29], ["jump", "add_done_92", 63, 29], "add_nt_91", - ["is_num", 14, 12, 63, 29], - ["jump_false", 14, "add_err_93", 63, 29], - ["is_num", 15, 1, 63, 29], - ["jump_false", 15, "add_err_93", 63, 29], - ["add_float", 13, 12, 1, 63, 29], + ["is_num", 19, 17, 63, 29], + ["jump_false", 19, "add_err_93", 63, 29], + ["is_num", 20, 1, 63, 29], + ["jump_false", 20, "add_err_93", 63, 29], + ["add_float", 18, 17, 1, 63, 29], ["jump", "add_done_92", 63, 29], "add_err_93", ["disrupt", 63, 29], "add_done_92", - ["move", 11, 13, 63, 29], - ["null", 7, 64, 13], + ["move", 15, 18, 63, 29], + ["null", 11, 64, 13], [ "access", - 16, + 21, { "name": "use_cache", "kind": "name", @@ -786,11 +786,11 @@ 65, 7 ], - ["load_dynamic", 17, 16, 11, 65, 17], - ["jump_false", 17, "if_else_94", 65, 17], + ["load_dynamic", 22, 21, 15, 65, 17], + ["jump_false", 22, "if_else_94", 65, 17], [ "access", - 18, + 23, { "name": "use_cache", "kind": "name", @@ -799,16 +799,16 @@ 66, 12 ], - ["load_dynamic", 19, 18, 11, 66, 22], - ["return", 19, 66, 22], + ["load_dynamic", 24, 23, 15, 66, 22], + ["return", 24, 66, 22], ["jump", "if_end_95", 66, 22], "if_else_94", "if_end_95", - ["access", 20, "/", 68, 37], - ["access", 21, "_", 68, 42], + ["access", 25, "/", 68, 37], + ["access", 26, "_", 68, 42], [ "access", - 23, + 28, { "name": "replace", "kind": "name", @@ -817,73 +817,73 @@ 68, 23 ], - ["frame", 24, 23, 3, 68, 23], - ["null", 25, 68, 23], - ["setarg", 24, 0, 25, 68, 23], - ["setarg", 24, 1, 1, 68, 23], - ["setarg", 24, 2, 20, 68, 23], - ["setarg", 24, 3, 21, 68, 23], - ["invoke", 24, 22, 68, 23], - ["get", 27, 17, 1, 68, 13], - ["frame", 28, 27, 1, 68, 13], - ["null", 29, 68, 13], - ["setarg", 28, 0, 29, 68, 13], - ["setarg", 28, 1, 22, 68, 13], - ["invoke", 28, 26, 68, 13], - ["move", 4, 26, 68, 13], - ["null", 2, 69, 16], - ["null", 3, 70, 16], - ["null", 8, 71, 13], - ["null", 5, 72, 21], - ["jump_false", 4, "if_else_96", 75, 7], - ["access", 30, "core/internal/", 76, 19], + ["frame", 29, 28, 3, 68, 23], + ["null", 30, 68, 23], + ["setarg", 29, 0, 30, 68, 23], + ["setarg", 29, 1, 1, 68, 23], + ["setarg", 29, 2, 25, 68, 23], + ["setarg", 29, 3, 26, 68, 23], + ["invoke", 29, 27, 68, 23], + ["get", 32, 17, 1, 68, 13], + ["frame", 33, 32, 1, 68, 13], + ["null", 34, 68, 13], + ["setarg", 33, 0, 34, 68, 13], + ["setarg", 33, 1, 27, 68, 13], + ["invoke", 33, 31, 68, 13], + ["move", 6, 31, 68, 13], + ["null", 3, 69, 16], + ["null", 5, 70, 16], + ["null", 12, 71, 13], + ["null", 7, 72, 21], + ["jump_false", 6, "if_else_96", 75, 7], + ["access", 35, "core/internal/", 76, 19], "_nop_tc_2", ["jump", "add_ni_98", 76, 38], - ["is_int", 33, 1, 76, 38], - ["jump_false", 33, "add_ni_98", 76, 38], - ["add_int", 31, 30, 1, 76, 38], + ["is_int", 38, 1, 76, 38], + ["jump_false", 38, "add_ni_98", 76, 38], + ["add_int", 36, 35, 1, 76, 38], ["jump", "add_done_100", 76, 38], "add_ni_98", - ["is_text", 33, 1, 76, 38], - ["jump_false", 33, "add_nt_99", 76, 38], - ["concat", 31, 30, 1, 76, 38], + ["is_text", 38, 1, 76, 38], + ["jump_false", 38, "add_nt_99", 76, 38], + ["concat", 36, 35, 1, 76, 38], ["jump", "add_done_100", 76, 38], "add_nt_99", - ["is_num", 32, 30, 76, 38], - ["jump_false", 32, "add_err_101", 76, 38], - ["is_num", 33, 1, 76, 38], - ["jump_false", 33, "add_err_101", 76, 38], - ["add_float", 31, 30, 1, 76, 38], + ["is_num", 37, 35, 76, 38], + ["jump_false", 37, "add_err_101", 76, 38], + ["is_num", 38, 1, 76, 38], + ["jump_false", 38, "add_err_101", 76, 38], + ["add_float", 36, 35, 1, 76, 38], ["jump", "add_done_100", 76, 38], "add_err_101", ["disrupt", 76, 38], "add_done_100", - ["access", 34, "_c", 76, 45], - ["is_int", 36, 31, 76, 45], - ["jump_false", 36, "add_ni_102", 76, 45], + ["access", 39, "_c", 76, 45], + ["is_int", 41, 36, 76, 45], + ["jump_false", 41, "add_ni_102", 76, 45], "_nop_tc_3", ["jump", "add_ni_102", 76, 45], - ["add_int", 35, 31, 34, 76, 45], + ["add_int", 40, 36, 39, 76, 45], ["jump", "add_done_104", 76, 45], "add_ni_102", - ["is_text", 36, 31, 76, 45], - ["jump_false", 36, "add_nt_103", 76, 45], - ["concat", 35, 31, 34, 76, 45], + ["is_text", 41, 36, 76, 45], + ["jump_false", 41, "add_nt_103", 76, 45], + ["concat", 40, 36, 39, 76, 45], ["jump", "add_done_104", 76, 45], "add_nt_103", - ["is_num", 36, 31, 76, 45], - ["jump_false", 36, "add_err_105", 76, 45], - ["is_num", 37, 34, 76, 45], - ["jump_false", 37, "add_err_105", 76, 45], - ["add_float", 35, 31, 34, 76, 45], + ["is_num", 41, 36, 76, 45], + ["jump_false", 41, "add_err_105", 76, 45], + ["is_num", 42, 39, 76, 45], + ["jump_false", 42, "add_err_105", 76, 45], + ["add_float", 40, 36, 39, 76, 45], ["jump", "add_done_104", 76, 45], "add_err_105", ["disrupt", 76, 45], "add_done_104", - ["move", 5, 35, 76, 45], + ["move", 7, 40, 76, 45], [ "access", - 38, + 43, { "name": "use_cache", "kind": "name", @@ -892,12 +892,12 @@ 77, 10 ], - ["load_dynamic", 39, 38, 5, 77, 20], + ["load_dynamic", 44, 43, 7, 77, 20], "_nop_bl_1", - ["jump_true", 39, "if_else_106", 77, 20], + ["jump_true", 44, "if_else_106", 77, 20], [ "access", - 41, + 46, { "name": "use_cache", "kind": "name", @@ -906,21 +906,21 @@ 78, 7 ], - ["store_dynamic", 41, 4, 5, 78, 17], + ["store_dynamic", 46, 6, 7, 78, 17], ["jump", "if_end_107", 78, 17], "if_else_106", "if_end_107", ["jump", "if_end_97", 78, 17], "if_else_96", "if_end_97", - ["record", 42, 0], - ["get", 43, 32, 1, 82, 15], - ["store_field", 42, 43, "use", 82, 15], - ["move", 7, 42, 82, 15], - ["get", 44, 58, 1, 83, 16], + ["record", 47, 0], + ["get", 48, 32, 1, 82, 15], + ["store_field", 47, 48, "use", 82, 15], + ["move", 11, 47, 82, 15], + ["get", 49, 58, 1, 83, 16], [ "access", - 46, + 51, { "name": "array", "kind": "name", @@ -929,32 +929,32 @@ 83, 10 ], - ["frame", 47, 46, 1, 83, 10], - ["null", 48, 83, 10], - ["setarg", 47, 0, 48, 83, 10], - ["setarg", 47, 1, 44, 83, 10], - ["invoke", 47, 45, 83, 10], - ["function", 49, 7, 83, 30], - ["length", 51, 45, 83, 30], - ["int", 52, 0, 83, 30], - ["int", 56, 1, 83, 30], - ["null", 55, 83, 30], + ["frame", 52, 51, 1, 83, 10], + ["null", 53, 83, 10], + ["setarg", 52, 0, 53, 83, 10], + ["setarg", 52, 1, 49, 83, 10], + ["invoke", 52, 50, 83, 10], + ["function", 54, 7, 83, 30], + ["length", 56, 50, 83, 30], + ["int", 57, 0, 83, 30], + ["int", 61, 1, 83, 30], + ["null", 60, 83, 30], "arrfor_loop_108", - ["lt_int", 53, 52, 51, 83, 30], - ["jump_false", 53, "arrfor_done_109", 83, 30], - ["load_index", 54, 45, 52, 83, 30], - ["frame", 57, 49, 2, 83, 30], - ["setarg", 57, 0, 55, 83, 30], - ["setarg", 57, 1, 54, 83, 30], - ["setarg", 57, 2, 52, 83, 30], - ["invoke", 57, 58, 83, 30], - ["add_int", 52, 52, 56, 83, 30], + ["lt_int", 58, 57, 56, 83, 30], + ["jump_false", 58, "arrfor_done_109", 83, 30], + ["load_index", 59, 50, 57, 83, 30], + ["frame", 62, 54, 2, 83, 30], + ["setarg", 62, 0, 60, 83, 30], + ["setarg", 62, 1, 59, 83, 30], + ["setarg", 62, 2, 57, 83, 30], + ["invoke", 62, 63, 83, 30], + ["add_int", 57, 57, 61, 83, 30], ["jump", "arrfor_loop_108", 83, 30], "arrfor_done_109", - ["null", 50, 83, 30], + ["null", 55, 83, 30], [ "access", - 59, + 64, { "name": "core_path", "kind": "name", @@ -963,118 +963,118 @@ 86, 19 ], - ["access", 60, "/", 86, 31], - ["is_int", 62, 59, 86, 31], - ["jump_false", 62, "add_ni_110", 86, 31], + ["access", 65, "/", 86, 31], + ["is_int", 67, 64, 86, 31], + ["jump_false", 67, "add_ni_110", 86, 31], "_nop_tc_4", ["jump", "add_ni_110", 86, 31], - ["add_int", 61, 59, 60, 86, 31], + ["add_int", 66, 64, 65, 86, 31], ["jump", "add_done_112", 86, 31], "add_ni_110", - ["is_text", 62, 59, 86, 31], - ["jump_false", 62, "add_nt_111", 86, 31], - ["concat", 61, 59, 60, 86, 31], + ["is_text", 67, 64, 86, 31], + ["jump_false", 67, "add_nt_111", 86, 31], + ["concat", 66, 64, 65, 86, 31], ["jump", "add_done_112", 86, 31], "add_nt_111", - ["is_num", 62, 59, 86, 31], - ["jump_false", 62, "add_err_113", 86, 31], - ["is_num", 63, 60, 86, 31], - ["jump_false", 63, "add_err_113", 86, 31], - ["add_float", 61, 59, 60, 86, 31], + ["is_num", 67, 64, 86, 31], + ["jump_false", 67, "add_err_113", 86, 31], + ["is_num", 68, 65, 86, 31], + ["jump_false", 68, "add_err_113", 86, 31], + ["add_float", 66, 64, 65, 86, 31], ["jump", "add_done_112", 86, 31], "add_err_113", ["disrupt", 86, 31], "add_done_112", - ["is_int", 65, 61, 86, 37], - ["jump_false", 65, "add_ni_114", 86, 37], - ["is_int", 66, 1, 86, 37], - ["jump_false", 66, "add_ni_114", 86, 37], - ["add_int", 64, 61, 1, 86, 37], + ["is_int", 70, 66, 86, 37], + ["jump_false", 70, "add_ni_114", 86, 37], + ["is_int", 71, 1, 86, 37], + ["jump_false", 71, "add_ni_114", 86, 37], + ["add_int", 69, 66, 1, 86, 37], ["jump", "add_done_116", 86, 37], "add_ni_114", - ["is_text", 65, 61, 86, 37], - ["jump_false", 65, "add_nt_115", 86, 37], - ["is_text", 66, 1, 86, 37], - ["jump_false", 66, "add_nt_115", 86, 37], - ["concat", 64, 61, 1, 86, 37], + ["is_text", 70, 66, 86, 37], + ["jump_false", 70, "add_nt_115", 86, 37], + ["is_text", 71, 1, 86, 37], + ["jump_false", 71, "add_nt_115", 86, 37], + ["concat", 69, 66, 1, 86, 37], ["jump", "add_done_116", 86, 37], "add_nt_115", - ["is_num", 65, 61, 86, 37], - ["jump_false", 65, "add_err_117", 86, 37], - ["is_num", 66, 1, 86, 37], - ["jump_false", 66, "add_err_117", 86, 37], - ["add_float", 64, 61, 1, 86, 37], + ["is_num", 70, 66, 86, 37], + ["jump_false", 70, "add_err_117", 86, 37], + ["is_num", 71, 1, 86, 37], + ["jump_false", 71, "add_err_117", 86, 37], + ["add_float", 69, 66, 1, 86, 37], ["jump", "add_done_116", 86, 37], "add_err_117", ["disrupt", 86, 37], "add_done_116", - ["access", 67, ".cm.mach", 86, 44], - ["is_int", 69, 64, 86, 44], - ["jump_false", 69, "add_ni_118", 86, 44], + ["access", 72, ".cm.mach", 86, 44], + ["is_int", 74, 69, 86, 44], + ["jump_false", 74, "add_ni_118", 86, 44], "_nop_tc_5", ["jump", "add_ni_118", 86, 44], - ["add_int", 68, 64, 67, 86, 44], + ["add_int", 73, 69, 72, 86, 44], ["jump", "add_done_120", 86, 44], "add_ni_118", - ["is_text", 69, 64, 86, 44], - ["jump_false", 69, "add_nt_119", 86, 44], - ["concat", 68, 64, 67, 86, 44], + ["is_text", 74, 69, 86, 44], + ["jump_false", 74, "add_nt_119", 86, 44], + ["concat", 73, 69, 72, 86, 44], ["jump", "add_done_120", 86, 44], "add_nt_119", - ["is_num", 69, 64, 86, 44], - ["jump_false", 69, "add_err_121", 86, 44], - ["is_num", 70, 67, 86, 44], - ["jump_false", 70, "add_err_121", 86, 44], - ["add_float", 68, 64, 67, 86, 44], + ["is_num", 74, 69, 86, 44], + ["jump_false", 74, "add_err_121", 86, 44], + ["is_num", 75, 72, 86, 44], + ["jump_false", 75, "add_err_121", 86, 44], + ["add_float", 73, 69, 72, 86, 44], ["jump", "add_done_120", 86, 44], "add_err_121", ["disrupt", 86, 44], "add_done_120", - ["move", 9, 68, 86, 44], - ["get", 72, 20, 1, 87, 7], - ["is_proxy", 73, 72, 87, 7], - ["jump_false", 73, "record_path_124", 87, 7], - ["null", 74, 87, 7], - ["access", 75, "is_file", 87, 7], - ["array", 76, 0, 87, 7], - ["push", 76, 9, 87, 7], - ["frame", 77, 72, 2, 87, 7], - ["setarg", 77, 0, 74, 87, 7], - ["setarg", 77, 1, 75, 87, 7], - ["setarg", 77, 2, 76, 87, 7], - ["invoke", 77, 71, 87, 7], + ["move", 13, 73, 86, 44], + ["get", 77, 20, 1, 87, 7], + ["is_proxy", 78, 77, 87, 7], + ["jump_false", 78, "record_path_124", 87, 7], + ["null", 79, 87, 7], + ["access", 80, "is_file", 87, 7], + ["array", 81, 0, 87, 7], + ["push", 81, 13, 87, 7], + ["frame", 82, 77, 2, 87, 7], + ["setarg", 82, 0, 79, 87, 7], + ["setarg", 82, 1, 80, 87, 7], + ["setarg", 82, 2, 81, 87, 7], + ["invoke", 82, 76, 87, 7], ["jump", "call_done_125", 87, 7], "record_path_124", - ["load_field", 78, 72, "is_file", 87, 7], - ["frame", 79, 78, 1, 87, 7], - ["setarg", 79, 0, 72, 87, 7], - ["setarg", 79, 1, 9, 87, 7], - ["invoke", 79, 71, 87, 7], + ["load_field", 83, 77, "is_file", 87, 7], + ["frame", 84, 83, 1, 87, 7], + ["setarg", 84, 0, 77, 87, 7], + ["setarg", 84, 1, 13, 87, 7], + ["invoke", 84, 76, 87, 7], "call_done_125", - ["jump_false", 71, "if_else_122", 87, 7], - ["get", 81, 20, 1, 88, 24], - ["is_proxy", 82, 81, 88, 24], - ["jump_false", 82, "record_path_126", 88, 24], - ["null", 83, 88, 24], - ["access", 84, "slurp", 88, 24], - ["array", 85, 0, 88, 24], - ["push", 85, 9, 88, 24], - ["frame", 86, 81, 2, 88, 24], - ["setarg", 86, 0, 83, 88, 24], - ["setarg", 86, 1, 84, 88, 24], - ["setarg", 86, 2, 85, 88, 24], - ["invoke", 86, 80, 88, 24], + ["jump_false", 76, "if_else_122", 87, 7], + ["get", 86, 20, 1, 88, 24], + ["is_proxy", 87, 86, 88, 24], + ["jump_false", 87, "record_path_126", 88, 24], + ["null", 88, 88, 24], + ["access", 89, "slurp", 88, 24], + ["array", 90, 0, 88, 24], + ["push", 90, 13, 88, 24], + ["frame", 91, 86, 2, 88, 24], + ["setarg", 91, 0, 88, 88, 24], + ["setarg", 91, 1, 89, 88, 24], + ["setarg", 91, 2, 90, 88, 24], + ["invoke", 91, 85, 88, 24], ["jump", "call_done_127", 88, 24], "record_path_126", - ["load_field", 87, 81, "slurp", 88, 24], - ["frame", 88, 87, 1, 88, 24], - ["setarg", 88, 0, 81, 88, 24], - ["setarg", 88, 1, 9, 88, 24], - ["invoke", 88, 80, 88, 24], + ["load_field", 92, 86, "slurp", 88, 24], + ["frame", 93, 92, 1, 88, 24], + ["setarg", 93, 0, 86, 88, 24], + ["setarg", 93, 1, 13, 88, 24], + ["invoke", 93, 85, 88, 24], "call_done_127", [ "access", - 90, + 95, { "name": "mach_load", "kind": "name", @@ -1083,16 +1083,16 @@ 88, 14 ], - ["frame", 91, 90, 2, 88, 14], - ["null", 92, 88, 14], - ["setarg", 91, 0, 92, 88, 14], - ["setarg", 91, 1, 80, 88, 14], - ["setarg", 91, 2, 7, 88, 14], - ["invoke", 91, 89, 88, 14], - ["move", 2, 89, 88, 14], + ["frame", 96, 95, 2, 88, 14], + ["null", 97, 88, 14], + ["setarg", 96, 0, 97, 88, 14], + ["setarg", 96, 1, 85, 88, 14], + ["setarg", 96, 2, 11, 88, 14], + ["invoke", 96, 94, 88, 14], + ["move", 3, 94, 88, 14], [ "access", - 93, + 98, { "name": "use_cache", "kind": "name", @@ -1101,14 +1101,14 @@ 89, 5 ], - ["store_dynamic", 93, 2, 11, 89, 15], - ["return", 2, 90, 12], + ["store_dynamic", 98, 3, 15, 89, 15], + ["return", 3, 90, 12], ["jump", "if_end_123", 90, 12], "if_else_122", "if_end_123", [ "access", - 94, + 99, { "name": "core_path", "kind": "name", @@ -1117,417 +1117,740 @@ 94, 20 ], - ["access", 95, "/", 94, 32], - ["is_int", 97, 94, 94, 32], - ["jump_false", 97, "add_ni_128", 94, 32], + ["access", 100, "/", 94, 32], + ["is_int", 102, 99, 94, 32], + ["jump_false", 102, "add_ni_128", 94, 32], "_nop_tc_6", ["jump", "add_ni_128", 94, 32], - ["add_int", 96, 94, 95, 94, 32], + ["add_int", 101, 99, 100, 94, 32], ["jump", "add_done_130", 94, 32], "add_ni_128", - ["is_text", 97, 94, 94, 32], - ["jump_false", 97, "add_nt_129", 94, 32], - ["concat", 96, 94, 95, 94, 32], + ["is_text", 102, 99, 94, 32], + ["jump_false", 102, "add_nt_129", 94, 32], + ["concat", 101, 99, 100, 94, 32], ["jump", "add_done_130", 94, 32], "add_nt_129", - ["is_num", 97, 94, 94, 32], - ["jump_false", 97, "add_err_131", 94, 32], - ["is_num", 98, 95, 94, 32], - ["jump_false", 98, "add_err_131", 94, 32], - ["add_float", 96, 94, 95, 94, 32], + ["is_num", 102, 99, 94, 32], + ["jump_false", 102, "add_err_131", 94, 32], + ["is_num", 103, 100, 94, 32], + ["jump_false", 103, "add_err_131", 94, 32], + ["add_float", 101, 99, 100, 94, 32], ["jump", "add_done_130", 94, 32], "add_err_131", ["disrupt", 94, 32], "add_done_130", - ["is_int", 100, 96, 94, 38], - ["jump_false", 100, "add_ni_132", 94, 38], - ["is_int", 101, 1, 94, 38], - ["jump_false", 101, "add_ni_132", 94, 38], - ["add_int", 99, 96, 1, 94, 38], + ["is_int", 105, 101, 94, 38], + ["jump_false", 105, "add_ni_132", 94, 38], + ["is_int", 106, 1, 94, 38], + ["jump_false", 106, "add_ni_132", 94, 38], + ["add_int", 104, 101, 1, 94, 38], ["jump", "add_done_134", 94, 38], "add_ni_132", - ["is_text", 100, 96, 94, 38], - ["jump_false", 100, "add_nt_133", 94, 38], - ["is_text", 101, 1, 94, 38], - ["jump_false", 101, "add_nt_133", 94, 38], - ["concat", 99, 96, 1, 94, 38], + ["is_text", 105, 101, 94, 38], + ["jump_false", 105, "add_nt_133", 94, 38], + ["is_text", 106, 1, 94, 38], + ["jump_false", 106, "add_nt_133", 94, 38], + ["concat", 104, 101, 1, 94, 38], ["jump", "add_done_134", 94, 38], "add_nt_133", - ["is_num", 100, 96, 94, 38], - ["jump_false", 100, "add_err_135", 94, 38], - ["is_num", 101, 1, 94, 38], - ["jump_false", 101, "add_err_135", 94, 38], - ["add_float", 99, 96, 1, 94, 38], + ["is_num", 105, 101, 94, 38], + ["jump_false", 105, "add_err_135", 94, 38], + ["is_num", 106, 1, 94, 38], + ["jump_false", 106, "add_err_135", 94, 38], + ["add_float", 104, 101, 1, 94, 38], ["jump", "add_done_134", 94, 38], "add_err_135", ["disrupt", 94, 38], "add_done_134", - ["access", 102, ".cm.mcode", 94, 45], - ["is_int", 104, 99, 94, 45], - ["jump_false", 104, "add_ni_136", 94, 45], + ["access", 107, ".cm.mcode", 94, 45], + ["is_int", 109, 104, 94, 45], + ["jump_false", 109, "add_ni_136", 94, 45], "_nop_tc_7", ["jump", "add_ni_136", 94, 45], - ["add_int", 103, 99, 102, 94, 45], + ["add_int", 108, 104, 107, 94, 45], ["jump", "add_done_138", 94, 45], "add_ni_136", - ["is_text", 104, 99, 94, 45], - ["jump_false", 104, "add_nt_137", 94, 45], - ["concat", 103, 99, 102, 94, 45], + ["is_text", 109, 104, 94, 45], + ["jump_false", 109, "add_nt_137", 94, 45], + ["concat", 108, 104, 107, 94, 45], ["jump", "add_done_138", 94, 45], "add_nt_137", - ["is_num", 104, 99, 94, 45], - ["jump_false", 104, "add_err_139", 94, 45], - ["is_num", 105, 102, 94, 45], - ["jump_false", 105, "add_err_139", 94, 45], - ["add_float", 103, 99, 102, 94, 45], + ["is_num", 109, 104, 94, 45], + ["jump_false", 109, "add_err_139", 94, 45], + ["is_num", 110, 107, 94, 45], + ["jump_false", 110, "add_err_139", 94, 45], + ["add_float", 108, 104, 107, 94, 45], ["jump", "add_done_138", 94, 45], "add_err_139", ["disrupt", 94, 45], "add_done_138", - ["move", 6, 103, 94, 45], - ["get", 107, 20, 1, 95, 7], - ["is_proxy", 108, 107, 95, 7], - ["jump_false", 108, "record_path_142", 95, 7], - ["null", 109, 95, 7], - ["access", 110, "is_file", 95, 7], - ["array", 111, 0, 95, 7], - ["push", 111, 6, 95, 7], - ["frame", 112, 107, 2, 95, 7], - ["setarg", 112, 0, 109, 95, 7], - ["setarg", 112, 1, 110, 95, 7], - ["setarg", 112, 2, 111, 95, 7], - ["invoke", 112, 106, 95, 7], - ["jump", "call_done_143", 95, 7], + ["move", 8, 108, 94, 45], + ["null", 2, 95, 20], + ["null", 4, 96, 14], + ["null", 16, 97, 21], + ["null", 9, 98, 19], + ["null", 10, 99, 21], + ["get", 112, 20, 1, 100, 7], + ["is_proxy", 113, 112, 100, 7], + ["jump_false", 113, "record_path_142", 100, 7], + ["null", 114, 100, 7], + ["access", 115, "is_file", 100, 7], + ["array", 116, 0, 100, 7], + ["push", 116, 8, 100, 7], + ["frame", 117, 112, 2, 100, 7], + ["setarg", 117, 0, 114, 100, 7], + ["setarg", 117, 1, 115, 100, 7], + ["setarg", 117, 2, 116, 100, 7], + ["invoke", 117, 111, 100, 7], + ["jump", "call_done_143", 100, 7], "record_path_142", - ["load_field", 113, 107, "is_file", 95, 7], - ["frame", 114, 113, 1, 95, 7], - ["setarg", 114, 0, 107, 95, 7], - ["setarg", 114, 1, 6, 95, 7], - ["invoke", 114, 106, 95, 7], + ["load_field", 118, 112, "is_file", 100, 7], + ["frame", 119, 118, 1, 100, 7], + ["setarg", 119, 0, 112, 100, 7], + ["setarg", 119, 1, 8, 100, 7], + ["invoke", 119, 111, 100, 7], "call_done_143", - ["jump_false", 106, "if_else_140", 95, 7], - ["access", 115, "core:", 96, 30], - "_nop_tc_8", - ["jump", "add_ni_144", 96, 40], - ["is_int", 118, 1, 96, 40], - ["jump_false", 118, "add_ni_144", 96, 40], - ["add_int", 116, 115, 1, 96, 40], - ["jump", "add_done_146", 96, 40], - "add_ni_144", - ["is_text", 118, 1, 96, 40], - ["jump_false", 118, "add_nt_145", 96, 40], - ["concat", 116, 115, 1, 96, 40], - ["jump", "add_done_146", 96, 40], - "add_nt_145", - ["is_num", 117, 115, 96, 40], - ["jump_false", 117, "add_err_147", 96, 40], - ["is_num", 118, 1, 96, 40], - ["jump_false", 118, "add_err_147", 96, 40], - ["add_float", 116, 115, 1, 96, 40], - ["jump", "add_done_146", 96, 40], - "add_err_147", - ["disrupt", 96, 40], - "add_done_146", - ["get", 120, 20, 1, 96, 51], - ["is_proxy", 121, 120, 96, 51], - ["jump_false", 121, "record_path_148", 96, 51], - ["null", 122, 96, 51], - ["access", 123, "slurp", 96, 51], - ["array", 124, 0, 96, 51], - ["push", 124, 6, 96, 51], - ["frame", 125, 120, 2, 96, 51], - ["setarg", 125, 0, 122, 96, 51], - ["setarg", 125, 1, 123, 96, 51], - ["setarg", 125, 2, 124, 96, 51], - ["invoke", 125, 119, 96, 51], - ["jump", "call_done_149", 96, 51], - "record_path_148", - ["load_field", 126, 120, "slurp", 96, 51], - ["frame", 127, 126, 1, 96, 51], - ["setarg", 127, 0, 120, 96, 51], - ["setarg", 127, 1, 6, 96, 51], - ["invoke", 127, 119, 96, 51], - "call_done_149", + ["jump_false", 111, "if_else_140", 100, 7], + ["get", 121, 20, 1, 101, 18], + ["is_proxy", 122, 121, 101, 18], + ["jump_false", 122, "record_path_144", 101, 18], + ["null", 123, 101, 18], + ["access", 124, "slurp", 101, 18], + ["array", 125, 0, 101, 18], + ["push", 125, 8, 101, 18], + ["frame", 126, 121, 2, 101, 18], + ["setarg", 126, 0, 123, 101, 18], + ["setarg", 126, 1, 124, 101, 18], + ["setarg", 126, 2, 125, 101, 18], + ["invoke", 126, 120, 101, 18], + ["jump", "call_done_145", 101, 18], + "record_path_144", + ["load_field", 127, 121, "slurp", 101, 18], + ["frame", 128, 127, 1, 101, 18], + ["setarg", 128, 0, 121, 101, 18], + ["setarg", 128, 1, 8, 101, 18], + ["invoke", 128, 120, 101, 18], + "call_done_145", + ["move", 2, 120, 101, 18], [ "access", - 129, + 130, + { + "name": "content_hash", + "kind": "name", + "make": "intrinsic" + }, + 102, + 12 + ], + ["frame", 131, 130, 1, 102, 12], + ["null", 132, 102, 12], + ["setarg", 131, 0, 132, 102, 12], + ["setarg", 131, 1, 2, 102, 12], + ["invoke", 131, 129, 102, 12], + ["move", 4, 129, 102, 12], + [ + "access", + 134, + { + "name": "cache_path", + "kind": "name", + "make": "intrinsic" + }, + 103, + 19 + ], + ["frame", 135, 134, 1, 103, 19], + ["null", 136, 103, 19], + ["setarg", 135, 0, 136, 103, 19], + ["setarg", 135, 1, 4, 103, 19], + ["invoke", 135, 133, 103, 19], + ["move", 16, 133, 103, 19], + ["move", 137, 16, 104, 9], + ["jump_false", 137, "and_end_148", 104, 9], + ["get", 139, 20, 1, 104, 24], + ["is_proxy", 140, 139, 104, 24], + ["jump_false", 140, "record_path_149", 104, 24], + ["null", 141, 104, 24], + ["access", 142, "is_file", 104, 24], + ["array", 143, 0, 104, 24], + ["push", 143, 16, 104, 24], + ["frame", 144, 139, 2, 104, 24], + ["setarg", 144, 0, 141, 104, 24], + ["setarg", 144, 1, 142, 104, 24], + ["setarg", 144, 2, 143, 104, 24], + ["invoke", 144, 138, 104, 24], + ["jump", "call_done_150", 104, 24], + "record_path_149", + ["load_field", 145, 139, "is_file", 104, 24], + ["frame", 146, 145, 1, 104, 24], + ["setarg", 146, 0, 139, 104, 24], + ["setarg", 146, 1, 16, 104, 24], + ["invoke", 146, 138, 104, 24], + "call_done_150", + ["move", 137, 138, 104, 24], + "and_end_148", + ["jump_false", 137, "if_else_146", 104, 24], + ["get", 148, 20, 1, 105, 26], + ["is_proxy", 149, 148, 105, 26], + ["jump_false", 149, "record_path_151", 105, 26], + ["null", 150, 105, 26], + ["access", 151, "slurp", 105, 26], + ["array", 152, 0, 105, 26], + ["push", 152, 16, 105, 26], + ["frame", 153, 148, 2, 105, 26], + ["setarg", 153, 0, 150, 105, 26], + ["setarg", 153, 1, 151, 105, 26], + ["setarg", 153, 2, 152, 105, 26], + ["invoke", 153, 147, 105, 26], + ["jump", "call_done_152", 105, 26], + "record_path_151", + ["load_field", 154, 148, "slurp", 105, 26], + ["frame", 155, 154, 1, 105, 26], + ["setarg", 155, 0, 148, 105, 26], + ["setarg", 155, 1, 16, 105, 26], + ["invoke", 155, 147, 105, 26], + "call_done_152", + [ + "access", + 157, + { + "name": "mach_load", + "kind": "name", + "make": "intrinsic" + }, + 105, + 16 + ], + ["frame", 158, 157, 2, 105, 16], + ["null", 159, 105, 16], + ["setarg", 158, 0, 159, 105, 16], + ["setarg", 158, 1, 147, 105, 16], + ["setarg", 158, 2, 11, 105, 16], + ["invoke", 158, 156, 105, 16], + ["move", 3, 156, 105, 16], + ["jump", "if_end_147", 105, 16], + "if_else_146", + ["access", 160, "core:", 107, 42], + "_nop_tc_8", + ["jump", "add_ni_153", 107, 52], + ["is_int", 163, 1, 107, 52], + ["jump_false", 163, "add_ni_153", 107, 52], + ["add_int", 161, 160, 1, 107, 52], + ["jump", "add_done_155", 107, 52], + "add_ni_153", + ["is_text", 163, 1, 107, 52], + ["jump_false", 163, "add_nt_154", 107, 52], + ["concat", 161, 160, 1, 107, 52], + ["jump", "add_done_155", 107, 52], + "add_nt_154", + ["is_num", 162, 160, 107, 52], + ["jump_false", 162, "add_err_156", 107, 52], + ["is_num", 163, 1, 107, 52], + ["jump_false", 163, "add_err_156", 107, 52], + ["add_float", 161, 160, 1, 107, 52], + ["jump", "add_done_155", 107, 52], + "add_err_156", + ["disrupt", 107, 52], + "add_done_155", + [ + "access", + 165, { "name": "text", "kind": "name", "make": "intrinsic" }, - 96, - 46 + 107, + 58 ], - ["frame", 130, 129, 1, 96, 46], - ["null", 131, 96, 46], - ["setarg", 130, 0, 131, 96, 46], - ["setarg", 130, 1, 119, 96, 46], - ["invoke", 130, 128, 96, 46], + ["frame", 166, 165, 1, 107, 58], + ["null", 167, 107, 58], + ["setarg", 166, 0, 167, 107, 58], + ["setarg", 166, 1, 2, 107, 58], + ["invoke", 166, 164, 107, 58], [ "access", - 133, + 169, { - "name": "mach_eval_mcode", + "name": "mach_compile_mcode_bin", "kind": "name", "make": "intrinsic" }, - 96, - 14 + 107, + 19 ], - ["frame", 134, 133, 3, 96, 14], - ["null", 135, 96, 14], - ["setarg", 134, 0, 135, 96, 14], - ["setarg", 134, 1, 116, 96, 14], - ["setarg", 134, 2, 128, 96, 14], - ["setarg", 134, 3, 7, 96, 14], - ["invoke", 134, 132, 96, 14], - ["move", 2, 132, 96, 14], + ["frame", 170, 169, 2, 107, 19], + ["null", 171, 107, 19], + ["setarg", 170, 0, 171, 107, 19], + ["setarg", 170, 1, 161, 107, 19], + ["setarg", 170, 2, 164, 107, 19], + ["invoke", 170, 168, 107, 19], + ["move", 9, 168, 107, 19], + ["jump_false", 16, "if_else_157", 108, 11], [ "access", - 136, + 173, + { + "name": "ensure_build_dir", + "kind": "name", + "make": "intrinsic" + }, + 109, + 9 + ], + ["frame", 174, 173, 0, 109, 9], + ["null", 175, 109, 9], + ["setarg", 174, 0, 175, 109, 9], + ["invoke", 174, 172, 109, 9], + ["get", 177, 20, 1, 110, 9], + ["is_proxy", 178, 177, 110, 9], + ["jump_false", 178, "record_path_159", 110, 9], + ["null", 179, 110, 9], + ["access", 180, "slurpwrite", 110, 9], + ["array", 181, 0, 110, 9], + ["push", 181, 16, 110, 9], + ["push", 181, 9, 110, 9], + ["frame", 182, 177, 2, 110, 9], + ["setarg", 182, 0, 179, 110, 9], + ["setarg", 182, 1, 180, 110, 9], + ["setarg", 182, 2, 181, 110, 9], + ["invoke", 182, 176, 110, 9], + ["jump", "call_done_160", 110, 9], + "record_path_159", + ["load_field", 183, 177, "slurpwrite", 110, 9], + ["frame", 184, 183, 2, 110, 9], + ["setarg", 184, 0, 177, 110, 9], + ["setarg", 184, 1, 16, 110, 9], + ["setarg", 184, 2, 9, 110, 9], + ["invoke", 184, 176, 110, 9], + "call_done_160", + ["jump", "if_end_158", 110, 9], + "if_else_157", + "if_end_158", + [ + "access", + 186, + { + "name": "mach_load", + "kind": "name", + "make": "intrinsic" + }, + 112, + 16 + ], + ["frame", 187, 186, 2, 112, 16], + ["null", 188, 112, 16], + ["setarg", 187, 0, 188, 112, 16], + ["setarg", 187, 1, 9, 112, 16], + ["setarg", 187, 2, 11, 112, 16], + ["invoke", 187, 185, 112, 16], + ["move", 3, 185, 112, 16], + "if_end_147", + [ + "access", + 189, { "name": "use_cache", "kind": "name", "make": "intrinsic" }, - 97, + 114, 5 ], - ["store_dynamic", 136, 2, 11, 97, 15], - ["return", 2, 98, 12], - ["jump", "if_end_141", 98, 12], + ["store_dynamic", 189, 3, 15, 114, 15], + ["return", 3, 115, 12], + ["jump", "if_end_141", 115, 12], "if_else_140", "if_end_141", [ "access", - 137, + 190, { "name": "core_path", "kind": "name", "make": "intrinsic" }, - 102, + 119, 19 ], - ["access", 138, "/", 102, 31], - ["is_int", 140, 137, 102, 31], - ["jump_false", 140, "add_ni_150", 102, 31], + ["access", 191, "/", 119, 31], + ["is_int", 193, 190, 119, 31], + ["jump_false", 193, "add_ni_161", 119, 31], "_nop_tc_9", - ["jump", "add_ni_150", 102, 31], - ["add_int", 139, 137, 138, 102, 31], - ["jump", "add_done_152", 102, 31], - "add_ni_150", - ["is_text", 140, 137, 102, 31], - ["jump_false", 140, "add_nt_151", 102, 31], - ["concat", 139, 137, 138, 102, 31], - ["jump", "add_done_152", 102, 31], - "add_nt_151", - ["is_num", 140, 137, 102, 31], - ["jump_false", 140, "add_err_153", 102, 31], - ["is_num", 141, 138, 102, 31], - ["jump_false", 141, "add_err_153", 102, 31], - ["add_float", 139, 137, 138, 102, 31], - ["jump", "add_done_152", 102, 31], - "add_err_153", - ["disrupt", 102, 31], - "add_done_152", - ["is_int", 143, 139, 102, 37], - ["jump_false", 143, "add_ni_154", 102, 37], - ["is_int", 144, 1, 102, 37], - ["jump_false", 144, "add_ni_154", 102, 37], - ["add_int", 142, 139, 1, 102, 37], - ["jump", "add_done_156", 102, 37], - "add_ni_154", - ["is_text", 143, 139, 102, 37], - ["jump_false", 143, "add_nt_155", 102, 37], - ["is_text", 144, 1, 102, 37], - ["jump_false", 144, "add_nt_155", 102, 37], - ["concat", 142, 139, 1, 102, 37], - ["jump", "add_done_156", 102, 37], - "add_nt_155", - ["is_num", 143, 139, 102, 37], - ["jump_false", 143, "add_err_157", 102, 37], - ["is_num", 144, 1, 102, 37], - ["jump_false", 144, "add_err_157", 102, 37], - ["add_float", 142, 139, 1, 102, 37], - ["jump", "add_done_156", 102, 37], - "add_err_157", - ["disrupt", 102, 37], - "add_done_156", - ["get", 145, 44, 1, 102, 44], - ["is_int", 147, 142, 102, 44], - ["jump_false", 147, "add_ni_158", 102, 44], - ["is_int", 148, 145, 102, 44], - ["jump_false", 148, "add_ni_158", 102, 44], - ["add_int", 146, 142, 145, 102, 44], - ["jump", "add_done_160", 102, 44], - "add_ni_158", - ["is_text", 147, 142, 102, 44], - ["jump_false", 147, "add_nt_159", 102, 44], - ["is_text", 148, 145, 102, 44], - ["jump_false", 148, "add_nt_159", 102, 44], - ["concat", 146, 142, 145, 102, 44], - ["jump", "add_done_160", 102, 44], - "add_nt_159", - ["is_num", 147, 142, 102, 44], - ["jump_false", 147, "add_err_161", 102, 44], - ["is_num", 148, 145, 102, 44], - ["jump_false", 148, "add_err_161", 102, 44], - ["add_float", 146, 142, 145, 102, 44], - ["jump", "add_done_160", 102, 44], - "add_err_161", - ["disrupt", 102, 44], - "add_done_160", - ["move", 10, 146, 102, 44], - ["get", 150, 20, 1, 103, 7], - ["is_proxy", 151, 150, 103, 7], - ["jump_false", 151, "record_path_164", 103, 7], - ["null", 152, 103, 7], - ["access", 153, "is_file", 103, 7], - ["array", 154, 0, 103, 7], - ["push", 154, 10, 103, 7], - ["frame", 155, 150, 2, 103, 7], - ["setarg", 155, 0, 152, 103, 7], - ["setarg", 155, 1, 153, 103, 7], - ["setarg", 155, 2, 154, 103, 7], - ["invoke", 155, 149, 103, 7], - ["jump", "call_done_165", 103, 7], - "record_path_164", - ["load_field", 156, 150, "is_file", 103, 7], - ["frame", 157, 156, 1, 103, 7], - ["setarg", 157, 0, 150, 103, 7], - ["setarg", 157, 1, 10, 103, 7], - ["invoke", 157, 149, 103, 7], - "call_done_165", - ["jump_false", 149, "if_else_162", 103, 7], - ["get", 159, 20, 1, 104, 19], - ["is_proxy", 160, 159, 104, 19], - ["jump_false", 160, "record_path_166", 104, 19], - ["null", 161, 104, 19], - ["access", 162, "slurp", 104, 19], - ["array", 163, 0, 104, 19], - ["push", 163, 10, 104, 19], - ["frame", 164, 159, 2, 104, 19], - ["setarg", 164, 0, 161, 104, 19], - ["setarg", 164, 1, 162, 104, 19], - ["setarg", 164, 2, 163, 104, 19], - ["invoke", 164, 158, 104, 19], - ["jump", "call_done_167", 104, 19], - "record_path_166", - ["load_field", 165, 159, "slurp", 104, 19], - ["frame", 166, 165, 1, 104, 19], - ["setarg", 166, 0, 159, 104, 19], - ["setarg", 166, 1, 10, 104, 19], - ["invoke", 166, 158, 104, 19], - "call_done_167", + ["jump", "add_ni_161", 119, 31], + ["add_int", 192, 190, 191, 119, 31], + ["jump", "add_done_163", 119, 31], + "add_ni_161", + ["is_text", 193, 190, 119, 31], + ["jump_false", 193, "add_nt_162", 119, 31], + ["concat", 192, 190, 191, 119, 31], + ["jump", "add_done_163", 119, 31], + "add_nt_162", + ["is_num", 193, 190, 119, 31], + ["jump_false", 193, "add_err_164", 119, 31], + ["is_num", 194, 191, 119, 31], + ["jump_false", 194, "add_err_164", 119, 31], + ["add_float", 192, 190, 191, 119, 31], + ["jump", "add_done_163", 119, 31], + "add_err_164", + ["disrupt", 119, 31], + "add_done_163", + ["is_int", 196, 192, 119, 37], + ["jump_false", 196, "add_ni_165", 119, 37], + ["is_int", 197, 1, 119, 37], + ["jump_false", 197, "add_ni_165", 119, 37], + ["add_int", 195, 192, 1, 119, 37], + ["jump", "add_done_167", 119, 37], + "add_ni_165", + ["is_text", 196, 192, 119, 37], + ["jump_false", 196, "add_nt_166", 119, 37], + ["is_text", 197, 1, 119, 37], + ["jump_false", 197, "add_nt_166", 119, 37], + ["concat", 195, 192, 1, 119, 37], + ["jump", "add_done_167", 119, 37], + "add_nt_166", + ["is_num", 196, 192, 119, 37], + ["jump_false", 196, "add_err_168", 119, 37], + ["is_num", 197, 1, 119, 37], + ["jump_false", 197, "add_err_168", 119, 37], + ["add_float", 195, 192, 1, 119, 37], + ["jump", "add_done_167", 119, 37], + "add_err_168", + ["disrupt", 119, 37], + "add_done_167", + ["get", 198, 44, 1, 119, 44], + ["is_int", 200, 195, 119, 44], + ["jump_false", 200, "add_ni_169", 119, 44], + ["is_int", 201, 198, 119, 44], + ["jump_false", 201, "add_ni_169", 119, 44], + ["add_int", 199, 195, 198, 119, 44], + ["jump", "add_done_171", 119, 44], + "add_ni_169", + ["is_text", 200, 195, 119, 44], + ["jump_false", 200, "add_nt_170", 119, 44], + ["is_text", 201, 198, 119, 44], + ["jump_false", 201, "add_nt_170", 119, 44], + ["concat", 199, 195, 198, 119, 44], + ["jump", "add_done_171", 119, 44], + "add_nt_170", + ["is_num", 200, 195, 119, 44], + ["jump_false", 200, "add_err_172", 119, 44], + ["is_num", 201, 198, 119, 44], + ["jump_false", 201, "add_err_172", 119, 44], + ["add_float", 199, 195, 198, 119, 44], + ["jump", "add_done_171", 119, 44], + "add_err_172", + ["disrupt", 119, 44], + "add_done_171", + ["move", 14, 199, 119, 44], + ["get", 203, 20, 1, 120, 7], + ["is_proxy", 204, 203, 120, 7], + ["jump_false", 204, "record_path_175", 120, 7], + ["null", 205, 120, 7], + ["access", 206, "is_file", 120, 7], + ["array", 207, 0, 120, 7], + ["push", 207, 14, 120, 7], + ["frame", 208, 203, 2, 120, 7], + ["setarg", 208, 0, 205, 120, 7], + ["setarg", 208, 1, 206, 120, 7], + ["setarg", 208, 2, 207, 120, 7], + ["invoke", 208, 202, 120, 7], + ["jump", "call_done_176", 120, 7], + "record_path_175", + ["load_field", 209, 203, "is_file", 120, 7], + ["frame", 210, 209, 1, 120, 7], + ["setarg", 210, 0, 203, 120, 7], + ["setarg", 210, 1, 14, 120, 7], + ["invoke", 210, 202, 120, 7], + "call_done_176", + ["jump_false", 202, "if_else_173", 120, 7], + ["get", 212, 20, 1, 121, 19], + ["is_proxy", 213, 212, 121, 19], + ["jump_false", 213, "record_path_177", 121, 19], + ["null", 214, 121, 19], + ["access", 215, "slurp", 121, 19], + ["array", 216, 0, 121, 19], + ["push", 216, 14, 121, 19], + ["frame", 217, 212, 2, 121, 19], + ["setarg", 217, 0, 214, 121, 19], + ["setarg", 217, 1, 215, 121, 19], + ["setarg", 217, 2, 216, 121, 19], + ["invoke", 217, 211, 121, 19], + ["jump", "call_done_178", 121, 19], + "record_path_177", + ["load_field", 218, 212, "slurp", 121, 19], + ["frame", 219, 218, 1, 121, 19], + ["setarg", 219, 0, 212, 121, 19], + ["setarg", 219, 1, 14, 121, 19], + ["invoke", 219, 211, 121, 19], + "call_done_178", + ["move", 10, 211, 121, 19], [ "access", - 168, + 221, + { + "name": "content_hash", + "kind": "name", + "make": "intrinsic" + }, + 122, + 12 + ], + ["frame", 222, 221, 1, 122, 12], + ["null", 223, 122, 12], + ["setarg", 222, 0, 223, 122, 12], + ["setarg", 222, 1, 10, 122, 12], + ["invoke", 222, 220, 122, 12], + ["move", 4, 220, 122, 12], + [ + "access", + 225, + { + "name": "cache_path", + "kind": "name", + "make": "intrinsic" + }, + 123, + 19 + ], + ["frame", 226, 225, 1, 123, 19], + ["null", 227, 123, 19], + ["setarg", 226, 0, 227, 123, 19], + ["setarg", 226, 1, 4, 123, 19], + ["invoke", 226, 224, 123, 19], + ["move", 16, 224, 123, 19], + ["move", 228, 16, 124, 9], + ["jump_false", 228, "and_end_181", 124, 9], + ["get", 230, 20, 1, 124, 24], + ["is_proxy", 231, 230, 124, 24], + ["jump_false", 231, "record_path_182", 124, 24], + ["null", 232, 124, 24], + ["access", 233, "is_file", 124, 24], + ["array", 234, 0, 124, 24], + ["push", 234, 16, 124, 24], + ["frame", 235, 230, 2, 124, 24], + ["setarg", 235, 0, 232, 124, 24], + ["setarg", 235, 1, 233, 124, 24], + ["setarg", 235, 2, 234, 124, 24], + ["invoke", 235, 229, 124, 24], + ["jump", "call_done_183", 124, 24], + "record_path_182", + ["load_field", 236, 230, "is_file", 124, 24], + ["frame", 237, 236, 1, 124, 24], + ["setarg", 237, 0, 230, 124, 24], + ["setarg", 237, 1, 16, 124, 24], + ["invoke", 237, 229, 124, 24], + "call_done_183", + ["move", 228, 229, 124, 24], + "and_end_181", + ["jump_false", 228, "if_else_179", 124, 24], + ["get", 239, 20, 1, 125, 26], + ["is_proxy", 240, 239, 125, 26], + ["jump_false", 240, "record_path_184", 125, 26], + ["null", 241, 125, 26], + ["access", 242, "slurp", 125, 26], + ["array", 243, 0, 125, 26], + ["push", 243, 16, 125, 26], + ["frame", 244, 239, 2, 125, 26], + ["setarg", 244, 0, 241, 125, 26], + ["setarg", 244, 1, 242, 125, 26], + ["setarg", 244, 2, 243, 125, 26], + ["invoke", 244, 238, 125, 26], + ["jump", "call_done_185", 125, 26], + "record_path_184", + ["load_field", 245, 239, "slurp", 125, 26], + ["frame", 246, 245, 1, 125, 26], + ["setarg", 246, 0, 239, 125, 26], + ["setarg", 246, 1, 16, 125, 26], + ["invoke", 246, 238, 125, 26], + "call_done_185", + [ + "access", + 248, + { + "name": "mach_load", + "kind": "name", + "make": "intrinsic" + }, + 125, + 16 + ], + ["frame", 249, 248, 2, 125, 16], + ["null", 250, 125, 16], + ["setarg", 249, 0, 250, 125, 16], + ["setarg", 249, 1, 238, 125, 16], + ["setarg", 249, 2, 11, 125, 16], + ["invoke", 249, 247, 125, 16], + ["move", 3, 247, 125, 16], + ["jump", "if_end_180", 125, 16], + "if_else_179", + [ + "access", + 252, { "name": "text", "kind": "name", "make": "intrinsic" }, - 104, - 14 + 127, + 16 ], - ["frame", 169, 168, 1, 104, 14], - ["null", 170, 104, 14], - ["setarg", 169, 0, 170, 104, 14], - ["setarg", 169, 1, 158, 104, 14], - ["invoke", 169, 167, 104, 14], - ["move", 3, 167, 104, 14], + ["frame", 253, 252, 1, 127, 16], + ["null", 254, 127, 16], + ["setarg", 253, 0, 254, 127, 16], + ["setarg", 253, 1, 10, 127, 16], + ["invoke", 253, 251, 127, 16], + ["move", 5, 251, 127, 16], [ "access", - 172, + 256, { "name": "analyze", "kind": "name", "make": "intrinsic" }, - 105, - 11 + 128, + 13 ], - ["frame", 173, 172, 2, 105, 11], - ["null", 174, 105, 11], - ["setarg", 173, 0, 174, 105, 11], - ["setarg", 173, 1, 3, 105, 11], - ["setarg", 173, 2, 10, 105, 11], - ["invoke", 173, 171, 105, 11], - ["move", 8, 171, 105, 11], - ["access", 175, "core:", 106, 25], + ["frame", 257, 256, 2, 128, 13], + ["null", 258, 128, 13], + ["setarg", 257, 0, 258, 128, 13], + ["setarg", 257, 1, 5, 128, 13], + ["setarg", 257, 2, 14, 128, 13], + ["invoke", 257, 255, 128, 13], + ["move", 12, 255, 128, 13], + ["access", 259, "core:", 129, 38], "_nop_tc_10", - ["jump", "add_ni_168", 106, 35], - ["is_int", 178, 1, 106, 35], - ["jump_false", 178, "add_ni_168", 106, 35], - ["add_int", 176, 175, 1, 106, 35], - ["jump", "add_done_170", 106, 35], - "add_ni_168", - ["is_text", 178, 1, 106, 35], - ["jump_false", 178, "add_nt_169", 106, 35], - ["concat", 176, 175, 1, 106, 35], - ["jump", "add_done_170", 106, 35], - "add_nt_169", - ["is_num", 177, 175, 106, 35], - ["jump_false", 177, "add_err_171", 106, 35], - ["is_num", 178, 1, 106, 35], - ["jump_false", 178, "add_err_171", 106, 35], - ["add_float", 176, 175, 1, 106, 35], - ["jump", "add_done_170", 106, 35], - "add_err_171", - ["disrupt", 106, 35], - "add_done_170", + ["jump", "add_ni_186", 129, 48], + ["is_int", 262, 1, 129, 48], + ["jump_false", 262, "add_ni_186", 129, 48], + ["add_int", 260, 259, 1, 129, 48], + ["jump", "add_done_188", 129, 48], + "add_ni_186", + ["is_text", 262, 1, 129, 48], + ["jump_false", 262, "add_nt_187", 129, 48], + ["concat", 260, 259, 1, 129, 48], + ["jump", "add_done_188", 129, 48], + "add_nt_187", + ["is_num", 261, 259, 129, 48], + ["jump_false", 261, "add_err_189", 129, 48], + ["is_num", 262, 1, 129, 48], + ["jump_false", 262, "add_err_189", 129, 48], + ["add_float", 260, 259, 1, 129, 48], + ["jump", "add_done_188", 129, 48], + "add_err_189", + ["disrupt", 129, 48], + "add_done_188", [ "access", - 180, + 264, { - "name": "run_ast_fn", + "name": "compile_to_blob_fn", "kind": "name", "make": "intrinsic" }, - 106, - 14 + 129, + 19 ], - ["frame", 181, 180, 3, 106, 14], - ["null", 182, 106, 14], - ["setarg", 181, 0, 182, 106, 14], - ["setarg", 181, 1, 176, 106, 14], - ["setarg", 181, 2, 8, 106, 14], - ["setarg", 181, 3, 7, 106, 14], - ["invoke", 181, 179, 106, 14], - ["move", 2, 179, 106, 14], + ["frame", 265, 264, 2, 129, 19], + ["null", 266, 129, 19], + ["setarg", 265, 0, 266, 129, 19], + ["setarg", 265, 1, 260, 129, 19], + ["setarg", 265, 2, 12, 129, 19], + ["invoke", 265, 263, 129, 19], + ["move", 9, 263, 129, 19], + ["jump_false", 16, "if_else_190", 130, 11], [ "access", - 183, + 268, + { + "name": "ensure_build_dir", + "kind": "name", + "make": "intrinsic" + }, + 131, + 9 + ], + ["frame", 269, 268, 0, 131, 9], + ["null", 270, 131, 9], + ["setarg", 269, 0, 270, 131, 9], + ["invoke", 269, 267, 131, 9], + ["get", 272, 20, 1, 132, 9], + ["is_proxy", 273, 272, 132, 9], + ["jump_false", 273, "record_path_192", 132, 9], + ["null", 274, 132, 9], + ["access", 275, "slurpwrite", 132, 9], + ["array", 276, 0, 132, 9], + ["push", 276, 16, 132, 9], + ["push", 276, 9, 132, 9], + ["frame", 277, 272, 2, 132, 9], + ["setarg", 277, 0, 274, 132, 9], + ["setarg", 277, 1, 275, 132, 9], + ["setarg", 277, 2, 276, 132, 9], + ["invoke", 277, 271, 132, 9], + ["jump", "call_done_193", 132, 9], + "record_path_192", + ["load_field", 278, 272, "slurpwrite", 132, 9], + ["frame", 279, 278, 2, 132, 9], + ["setarg", 279, 0, 272, 132, 9], + ["setarg", 279, 1, 16, 132, 9], + ["setarg", 279, 2, 9, 132, 9], + ["invoke", 279, 271, 132, 9], + "call_done_193", + ["jump", "if_end_191", 132, 9], + "if_else_190", + "if_end_191", + [ + "access", + 281, + { + "name": "mach_load", + "kind": "name", + "make": "intrinsic" + }, + 134, + 16 + ], + ["frame", 282, 281, 2, 134, 16], + ["null", 283, 134, 16], + ["setarg", 282, 0, 283, 134, 16], + ["setarg", 282, 1, 9, 134, 16], + ["setarg", 282, 2, 11, 134, 16], + ["invoke", 282, 280, 134, 16], + ["move", 3, 280, 134, 16], + "if_end_180", + [ + "access", + 284, { "name": "use_cache", "kind": "name", "make": "intrinsic" }, - 107, + 136, 5 ], - ["store_dynamic", 183, 2, 11, 107, 15], - ["return", 2, 108, 12], - ["jump", "if_end_163", 108, 12], - "if_else_162", - "if_end_163", + ["store_dynamic", 284, 3, 15, 136, 15], + ["return", 3, 137, 12], + ["jump", "if_end_174", 137, 12], + "if_else_173", + "if_end_174", [ "access", - 184, + 285, { "name": "use_cache", "kind": "name", "make": "intrinsic" }, - 112, + 141, 3 ], - ["store_dynamic", 184, 4, 11, 112, 13], - ["return", 4, 113, 10], - ["null", 185, 113, 10], - ["return", 185, 113, 10] + ["store_dynamic", 285, 6, 15, 141, 13], + ["return", 6, 142, 10], + ["null", 286, 142, 10], + ["return", 286, 142, 10] ], "name": "use_core", "filename": "internal/engine.cm", @@ -1550,16 +1873,16 @@ "nr_slots": 7, "nr_close_slots": 0, "instructions": [ - ["is_record", 2, 1, 130, 20], - ["move", 3, 2, 130, 20], - ["jump_false", 3, "and_end_172", 130, 20], - ["get", 4, 27, 1, 130, 36], - ["load_dynamic", 5, 1, 4, 130, 36], - ["move", 3, 5, 130, 36], - "and_end_172", - ["return", 3, 130, 36], - ["null", 6, 130, 36], - ["return", 6, 130, 36] + ["is_record", 2, 1, 159, 20], + ["move", 3, 2, 159, 20], + ["jump_false", 3, "and_end_194", 159, 20], + ["get", 4, 27, 1, 159, 36], + ["load_dynamic", 5, 1, 4, 159, 36], + ["move", 3, 5, 159, 36], + "and_end_194", + ["return", 3, 159, 36], + ["null", 6, 159, 36], + ["return", 6, 159, 36] ], "name": "is_actor", "filename": "internal/engine.cm", @@ -1571,13 +1894,13 @@ "nr_close_slots": 0, "instructions": [ ["record", 2, 0], - ["access", 3, "nofile", 138, 17], - ["store_field", 2, 3, "file", 138, 17], - ["access", 4, 0, 138, 33], - ["store_field", 2, 4, "line", 138, 33], - ["return", 2, 138, 33], - ["null", 5, 138, 33], - ["return", 5, 138, 33] + ["access", 3, "nofile", 167, 17], + ["store_field", 2, 3, "file", 167, 17], + ["access", 4, 0, 167, 33], + ["store_field", 2, 4, "line", 167, 33], + ["return", 2, 167, 33], + ["null", 5, 167, 33], + ["return", 5, 167, 33] ], "name": "caller_data", "filename": "internal/engine.cm", @@ -1646,68 +1969,68 @@ "nr_slots": 94, "nr_close_slots": 0, "instructions": [ - ["access", 5, 1, 147, 28], - ["get", 7, 53, 1, 147, 16], - ["frame", 8, 7, 1, 147, 16], - ["null", 9, 147, 16], - ["setarg", 8, 0, 9, 147, 16], - ["setarg", 8, 1, 5, 147, 16], - ["invoke", 8, 6, 147, 16], - ["move", 4, 6, 147, 16], - ["access", 10, 0, 148, 18], - ["load_index", 11, 2, 10, 148, 18], - ["move", 3, 11, 148, 18], - ["access", 12, "console", 150, 15], - ["is_identical", 13, 1, 12, 150, 15], - ["jump_true", 13, "eq_done_175", 150, 15], - ["is_int", 14, 1, 150, 15], - ["jump_false", 14, "eq_ni_176", 150, 15], + ["access", 5, 1, 176, 28], + ["get", 7, 53, 1, 176, 16], + ["frame", 8, 7, 1, 176, 16], + ["null", 9, 176, 16], + ["setarg", 8, 0, 9, 176, 16], + ["setarg", 8, 1, 5, 176, 16], + ["invoke", 8, 6, 176, 16], + ["move", 4, 6, 176, 16], + ["access", 10, 0, 177, 18], + ["load_index", 11, 2, 10, 177, 18], + ["move", 3, 11, 177, 18], + ["access", 12, "console", 179, 15], + ["is_identical", 13, 1, 12, 179, 15], + ["jump_true", 13, "eq_done_197", 179, 15], + ["is_int", 14, 1, 179, 15], + ["jump_false", 14, "eq_ni_198", 179, 15], "_nop_tc_1", - ["jump", "eq_ni_176", 150, 15], - ["eq_int", 13, 1, 12, 150, 15], - ["jump", "eq_done_175", 150, 15], - "eq_ni_176", - ["is_num", 14, 1, 150, 15], - ["jump_false", 14, "eq_nn_177", 150, 15], - ["is_num", 15, 12, 150, 15], - ["jump_false", 15, "eq_nn_177", 150, 15], - ["eq_float", 13, 1, 12, 150, 15], - ["jump", "eq_done_175", 150, 15], - "eq_nn_177", - ["is_text", 14, 1, 150, 15], - ["jump_false", 14, "eq_nt_178", 150, 15], - ["is_text", 15, 12, 150, 15], - ["jump_false", 15, "eq_nt_178", 150, 15], - ["eq_text", 13, 1, 12, 150, 15], - ["jump", "eq_done_175", 150, 15], - "eq_nt_178", - ["is_null", 14, 1, 150, 15], - ["jump_false", 14, "eq_nnl_179", 150, 15], - ["is_null", 15, 12, 150, 15], - ["jump_false", 15, "eq_nnl_179", 150, 15], - ["true", 13, 150, 15], - ["jump", "eq_done_175", 150, 15], - "eq_nnl_179", - ["is_bool", 14, 1, 150, 15], - ["jump_false", 14, "eq_nb_180", 150, 15], - ["is_bool", 15, 12, 150, 15], - ["jump_false", 15, "eq_nb_180", 150, 15], - ["eq_bool", 13, 1, 12, 150, 15], - ["jump", "eq_done_175", 150, 15], - "eq_nb_180", - ["false", 13, 150, 15], - "eq_done_175", - ["jump_false", 13, "if_else_173", 150, 15], - ["load_field", 16, 4, "line", 151, 26], - ["load_field", 17, 4, "file", 151, 39], - ["get", 19, 13, 1, 151, 14], - ["frame", 20, 19, 3, 151, 14], - ["null", 21, 151, 14], - ["setarg", 20, 0, 21, 151, 14], - ["setarg", 20, 1, 16, 151, 14], - ["setarg", 20, 2, 17, 151, 14], - ["setarg", 20, 3, 3, 151, 14], - ["invoke", 20, 18, 151, 14], + ["jump", "eq_ni_198", 179, 15], + ["eq_int", 13, 1, 12, 179, 15], + ["jump", "eq_done_197", 179, 15], + "eq_ni_198", + ["is_num", 14, 1, 179, 15], + ["jump_false", 14, "eq_nn_199", 179, 15], + ["is_num", 15, 12, 179, 15], + ["jump_false", 15, "eq_nn_199", 179, 15], + ["eq_float", 13, 1, 12, 179, 15], + ["jump", "eq_done_197", 179, 15], + "eq_nn_199", + ["is_text", 14, 1, 179, 15], + ["jump_false", 14, "eq_nt_200", 179, 15], + ["is_text", 15, 12, 179, 15], + ["jump_false", 15, "eq_nt_200", 179, 15], + ["eq_text", 13, 1, 12, 179, 15], + ["jump", "eq_done_197", 179, 15], + "eq_nt_200", + ["is_null", 14, 1, 179, 15], + ["jump_false", 14, "eq_nnl_201", 179, 15], + ["is_null", 15, 12, 179, 15], + ["jump_false", 15, "eq_nnl_201", 179, 15], + ["true", 13, 179, 15], + ["jump", "eq_done_197", 179, 15], + "eq_nnl_201", + ["is_bool", 14, 1, 179, 15], + ["jump_false", 14, "eq_nb_202", 179, 15], + ["is_bool", 15, 12, 179, 15], + ["jump_false", 15, "eq_nb_202", 179, 15], + ["eq_bool", 13, 1, 12, 179, 15], + ["jump", "eq_done_197", 179, 15], + "eq_nb_202", + ["false", 13, 179, 15], + "eq_done_197", + ["jump_false", 13, "if_else_195", 179, 15], + ["load_field", 16, 4, "line", 180, 26], + ["load_field", 17, 4, "file", 180, 39], + ["get", 19, 13, 1, 180, 14], + ["frame", 20, 19, 3, 180, 14], + ["null", 21, 180, 14], + ["setarg", 20, 0, 21, 180, 14], + ["setarg", 20, 1, 16, 180, 14], + ["setarg", 20, 2, 17, 180, 14], + ["setarg", 20, 3, 3, 180, 14], + ["invoke", 20, 18, 180, 14], [ "access", 23, @@ -1716,127 +2039,127 @@ "kind": "name", "make": "intrinsic" }, - 151, + 180, 5 ], - ["is_proxy", 24, 23, 151, 5], - ["jump_false", 24, "record_path_181", 151, 5], - ["null", 25, 151, 5], - ["access", 26, "print", 151, 5], - ["array", 27, 0, 151, 5], - ["push", 27, 18, 151, 5], - ["frame", 28, 23, 2, 151, 5], - ["setarg", 28, 0, 25, 151, 5], - ["setarg", 28, 1, 26, 151, 5], - ["setarg", 28, 2, 27, 151, 5], - ["invoke", 28, 22, 151, 5], - ["jump", "call_done_182", 151, 5], - "record_path_181", - ["load_field", 29, 23, "print", 151, 5], - ["frame", 30, 29, 1, 151, 5], - ["setarg", 30, 0, 23, 151, 5], - ["setarg", 30, 1, 18, 151, 5], - ["invoke", 30, 22, 151, 5], - "call_done_182", - ["jump", "if_end_174", 151, 5], - "if_else_173", - ["access", 31, "error", 152, 22], - ["is_identical", 32, 1, 31, 152, 22], - ["jump_true", 32, "eq_done_185", 152, 22], - ["is_int", 33, 1, 152, 22], - ["jump_false", 33, "eq_ni_186", 152, 22], + ["is_proxy", 24, 23, 180, 5], + ["jump_false", 24, "record_path_203", 180, 5], + ["null", 25, 180, 5], + ["access", 26, "print", 180, 5], + ["array", 27, 0, 180, 5], + ["push", 27, 18, 180, 5], + ["frame", 28, 23, 2, 180, 5], + ["setarg", 28, 0, 25, 180, 5], + ["setarg", 28, 1, 26, 180, 5], + ["setarg", 28, 2, 27, 180, 5], + ["invoke", 28, 22, 180, 5], + ["jump", "call_done_204", 180, 5], + "record_path_203", + ["load_field", 29, 23, "print", 180, 5], + ["frame", 30, 29, 1, 180, 5], + ["setarg", 30, 0, 23, 180, 5], + ["setarg", 30, 1, 18, 180, 5], + ["invoke", 30, 22, 180, 5], + "call_done_204", + ["jump", "if_end_196", 180, 5], + "if_else_195", + ["access", 31, "error", 181, 22], + ["is_identical", 32, 1, 31, 181, 22], + ["jump_true", 32, "eq_done_207", 181, 22], + ["is_int", 33, 1, 181, 22], + ["jump_false", 33, "eq_ni_208", 181, 22], "_nop_tc_2", - ["jump", "eq_ni_186", 152, 22], - ["eq_int", 32, 1, 31, 152, 22], - ["jump", "eq_done_185", 152, 22], - "eq_ni_186", - ["is_num", 33, 1, 152, 22], - ["jump_false", 33, "eq_nn_187", 152, 22], - ["is_num", 34, 31, 152, 22], - ["jump_false", 34, "eq_nn_187", 152, 22], - ["eq_float", 32, 1, 31, 152, 22], - ["jump", "eq_done_185", 152, 22], - "eq_nn_187", - ["is_text", 33, 1, 152, 22], - ["jump_false", 33, "eq_nt_188", 152, 22], - ["is_text", 34, 31, 152, 22], - ["jump_false", 34, "eq_nt_188", 152, 22], - ["eq_text", 32, 1, 31, 152, 22], - ["jump", "eq_done_185", 152, 22], - "eq_nt_188", - ["is_null", 33, 1, 152, 22], - ["jump_false", 33, "eq_nnl_189", 152, 22], - ["is_null", 34, 31, 152, 22], - ["jump_false", 34, "eq_nnl_189", 152, 22], - ["true", 32, 152, 22], - ["jump", "eq_done_185", 152, 22], - "eq_nnl_189", - ["is_bool", 33, 1, 152, 22], - ["jump_false", 33, "eq_nb_190", 152, 22], - ["is_bool", 34, 31, 152, 22], - ["jump_false", 34, "eq_nb_190", 152, 22], - ["eq_bool", 32, 1, 31, 152, 22], - ["jump", "eq_done_185", 152, 22], - "eq_nb_190", - ["false", 32, 152, 22], - "eq_done_185", - ["jump_false", 32, "if_else_183", 152, 22], - ["null", 35, 153, 16], - ["is_identical", 36, 3, 35, 153, 16], - ["jump_true", 36, "eq_done_193", 153, 16], - ["is_int", 37, 3, 153, 16], - ["jump_false", 37, "eq_ni_194", 153, 16], + ["jump", "eq_ni_208", 181, 22], + ["eq_int", 32, 1, 31, 181, 22], + ["jump", "eq_done_207", 181, 22], + "eq_ni_208", + ["is_num", 33, 1, 181, 22], + ["jump_false", 33, "eq_nn_209", 181, 22], + ["is_num", 34, 31, 181, 22], + ["jump_false", 34, "eq_nn_209", 181, 22], + ["eq_float", 32, 1, 31, 181, 22], + ["jump", "eq_done_207", 181, 22], + "eq_nn_209", + ["is_text", 33, 1, 181, 22], + ["jump_false", 33, "eq_nt_210", 181, 22], + ["is_text", 34, 31, 181, 22], + ["jump_false", 34, "eq_nt_210", 181, 22], + ["eq_text", 32, 1, 31, 181, 22], + ["jump", "eq_done_207", 181, 22], + "eq_nt_210", + ["is_null", 33, 1, 181, 22], + ["jump_false", 33, "eq_nnl_211", 181, 22], + ["is_null", 34, 31, 181, 22], + ["jump_false", 34, "eq_nnl_211", 181, 22], + ["true", 32, 181, 22], + ["jump", "eq_done_207", 181, 22], + "eq_nnl_211", + ["is_bool", 33, 1, 181, 22], + ["jump_false", 33, "eq_nb_212", 181, 22], + ["is_bool", 34, 31, 181, 22], + ["jump_false", 34, "eq_nb_212", 181, 22], + ["eq_bool", 32, 1, 31, 181, 22], + ["jump", "eq_done_207", 181, 22], + "eq_nb_212", + ["false", 32, 181, 22], + "eq_done_207", + ["jump_false", 32, "if_else_205", 181, 22], + ["null", 35, 182, 16], + ["is_identical", 36, 3, 35, 182, 16], + ["jump_true", 36, "eq_done_215", 182, 16], + ["is_int", 37, 3, 182, 16], + ["jump_false", 37, "eq_ni_216", 182, 16], "_nop_tc_3", - ["jump", "eq_ni_194", 153, 16], - ["eq_int", 36, 3, 35, 153, 16], - ["jump", "eq_done_193", 153, 16], - "eq_ni_194", - ["is_num", 37, 3, 153, 16], - ["jump_false", 37, "eq_nn_195", 153, 16], - ["is_num", 38, 35, 153, 16], - ["jump_false", 38, "eq_nn_195", 153, 16], - ["eq_float", 36, 3, 35, 153, 16], - ["jump", "eq_done_193", 153, 16], - "eq_nn_195", - ["is_text", 37, 3, 153, 16], - ["jump_false", 37, "eq_nt_196", 153, 16], - ["is_text", 38, 35, 153, 16], - ["jump_false", 38, "eq_nt_196", 153, 16], - ["eq_text", 36, 3, 35, 153, 16], - ["jump", "eq_done_193", 153, 16], - "eq_nt_196", - ["is_null", 37, 3, 153, 16], - ["jump_false", 37, "eq_nnl_197", 153, 16], - ["is_null", 38, 35, 153, 16], - ["jump_false", 38, "eq_nnl_197", 153, 16], - ["true", 36, 153, 16], - ["jump", "eq_done_193", 153, 16], - "eq_nnl_197", - ["is_bool", 37, 3, 153, 16], - ["jump_false", 37, "eq_nb_198", 153, 16], - ["is_bool", 38, 35, 153, 16], - ["jump_false", 38, "eq_nb_198", 153, 16], - ["eq_bool", 36, 3, 35, 153, 16], - ["jump", "eq_done_193", 153, 16], - "eq_nb_198", - ["false", 36, 153, 16], - "eq_done_193", - ["jump_false", 36, "if_else_191", 153, 16], - ["access", 39, "error", 153, 28], - ["move", 3, 39, 153, 28], - ["jump", "if_end_192", 153, 28], - "if_else_191", - "if_end_192", - ["load_field", 40, 4, "line", 154, 26], - ["load_field", 41, 4, "file", 154, 39], - ["get", 43, 13, 1, 154, 14], - ["frame", 44, 43, 3, 154, 14], - ["null", 45, 154, 14], - ["setarg", 44, 0, 45, 154, 14], - ["setarg", 44, 1, 40, 154, 14], - ["setarg", 44, 2, 41, 154, 14], - ["setarg", 44, 3, 3, 154, 14], - ["invoke", 44, 42, 154, 14], + ["jump", "eq_ni_216", 182, 16], + ["eq_int", 36, 3, 35, 182, 16], + ["jump", "eq_done_215", 182, 16], + "eq_ni_216", + ["is_num", 37, 3, 182, 16], + ["jump_false", 37, "eq_nn_217", 182, 16], + ["is_num", 38, 35, 182, 16], + ["jump_false", 38, "eq_nn_217", 182, 16], + ["eq_float", 36, 3, 35, 182, 16], + ["jump", "eq_done_215", 182, 16], + "eq_nn_217", + ["is_text", 37, 3, 182, 16], + ["jump_false", 37, "eq_nt_218", 182, 16], + ["is_text", 38, 35, 182, 16], + ["jump_false", 38, "eq_nt_218", 182, 16], + ["eq_text", 36, 3, 35, 182, 16], + ["jump", "eq_done_215", 182, 16], + "eq_nt_218", + ["is_null", 37, 3, 182, 16], + ["jump_false", 37, "eq_nnl_219", 182, 16], + ["is_null", 38, 35, 182, 16], + ["jump_false", 38, "eq_nnl_219", 182, 16], + ["true", 36, 182, 16], + ["jump", "eq_done_215", 182, 16], + "eq_nnl_219", + ["is_bool", 37, 3, 182, 16], + ["jump_false", 37, "eq_nb_220", 182, 16], + ["is_bool", 38, 35, 182, 16], + ["jump_false", 38, "eq_nb_220", 182, 16], + ["eq_bool", 36, 3, 35, 182, 16], + ["jump", "eq_done_215", 182, 16], + "eq_nb_220", + ["false", 36, 182, 16], + "eq_done_215", + ["jump_false", 36, "if_else_213", 182, 16], + ["access", 39, "error", 182, 28], + ["move", 3, 39, 182, 28], + ["jump", "if_end_214", 182, 28], + "if_else_213", + "if_end_214", + ["load_field", 40, 4, "line", 183, 26], + ["load_field", 41, 4, "file", 183, 39], + ["get", 43, 13, 1, 183, 14], + ["frame", 44, 43, 3, 183, 14], + ["null", 45, 183, 14], + ["setarg", 44, 0, 45, 183, 14], + ["setarg", 44, 1, 40, 183, 14], + ["setarg", 44, 2, 41, 183, 14], + ["setarg", 44, 3, 3, 183, 14], + ["invoke", 44, 42, 183, 14], [ "access", 47, @@ -1845,104 +2168,104 @@ "kind": "name", "make": "intrinsic" }, - 154, + 183, 5 ], - ["is_proxy", 48, 47, 154, 5], - ["jump_false", 48, "record_path_199", 154, 5], - ["null", 49, 154, 5], - ["access", 50, "print", 154, 5], - ["array", 51, 0, 154, 5], - ["push", 51, 42, 154, 5], - ["frame", 52, 47, 2, 154, 5], - ["setarg", 52, 0, 49, 154, 5], - ["setarg", 52, 1, 50, 154, 5], - ["setarg", 52, 2, 51, 154, 5], - ["invoke", 52, 46, 154, 5], - ["jump", "call_done_200", 154, 5], - "record_path_199", - ["load_field", 53, 47, "print", 154, 5], - ["frame", 54, 53, 1, 154, 5], - ["setarg", 54, 0, 47, 154, 5], - ["setarg", 54, 1, 42, 154, 5], - ["invoke", 54, 46, 154, 5], - "call_done_200", - ["jump", "if_end_184", 154, 5], - "if_else_183", - ["access", 55, "system", 155, 22], - ["is_identical", 56, 1, 55, 155, 22], - ["jump_true", 56, "eq_done_203", 155, 22], - ["is_int", 57, 1, 155, 22], - ["jump_false", 57, "eq_ni_204", 155, 22], + ["is_proxy", 48, 47, 183, 5], + ["jump_false", 48, "record_path_221", 183, 5], + ["null", 49, 183, 5], + ["access", 50, "print", 183, 5], + ["array", 51, 0, 183, 5], + ["push", 51, 42, 183, 5], + ["frame", 52, 47, 2, 183, 5], + ["setarg", 52, 0, 49, 183, 5], + ["setarg", 52, 1, 50, 183, 5], + ["setarg", 52, 2, 51, 183, 5], + ["invoke", 52, 46, 183, 5], + ["jump", "call_done_222", 183, 5], + "record_path_221", + ["load_field", 53, 47, "print", 183, 5], + ["frame", 54, 53, 1, 183, 5], + ["setarg", 54, 0, 47, 183, 5], + ["setarg", 54, 1, 42, 183, 5], + ["invoke", 54, 46, 183, 5], + "call_done_222", + ["jump", "if_end_206", 183, 5], + "if_else_205", + ["access", 55, "system", 184, 22], + ["is_identical", 56, 1, 55, 184, 22], + ["jump_true", 56, "eq_done_225", 184, 22], + ["is_int", 57, 1, 184, 22], + ["jump_false", 57, "eq_ni_226", 184, 22], "_nop_tc_4", - ["jump", "eq_ni_204", 155, 22], - ["eq_int", 56, 1, 55, 155, 22], - ["jump", "eq_done_203", 155, 22], - "eq_ni_204", - ["is_num", 57, 1, 155, 22], - ["jump_false", 57, "eq_nn_205", 155, 22], - ["is_num", 58, 55, 155, 22], - ["jump_false", 58, "eq_nn_205", 155, 22], - ["eq_float", 56, 1, 55, 155, 22], - ["jump", "eq_done_203", 155, 22], - "eq_nn_205", - ["is_text", 57, 1, 155, 22], - ["jump_false", 57, "eq_nt_206", 155, 22], - ["is_text", 58, 55, 155, 22], - ["jump_false", 58, "eq_nt_206", 155, 22], - ["eq_text", 56, 1, 55, 155, 22], - ["jump", "eq_done_203", 155, 22], - "eq_nt_206", - ["is_null", 57, 1, 155, 22], - ["jump_false", 57, "eq_nnl_207", 155, 22], - ["is_null", 58, 55, 155, 22], - ["jump_false", 58, "eq_nnl_207", 155, 22], - ["true", 56, 155, 22], - ["jump", "eq_done_203", 155, 22], - "eq_nnl_207", - ["is_bool", 57, 1, 155, 22], - ["jump_false", 57, "eq_nb_208", 155, 22], - ["is_bool", 58, 55, 155, 22], - ["jump_false", 58, "eq_nb_208", 155, 22], - ["eq_bool", 56, 1, 55, 155, 22], - ["jump", "eq_done_203", 155, 22], - "eq_nb_208", - ["false", 56, 155, 22], - "eq_done_203", - ["jump_false", 56, "if_else_201", 155, 22], - ["access", 59, "[SYSTEM] ", 156, 11], + ["jump", "eq_ni_226", 184, 22], + ["eq_int", 56, 1, 55, 184, 22], + ["jump", "eq_done_225", 184, 22], + "eq_ni_226", + ["is_num", 57, 1, 184, 22], + ["jump_false", 57, "eq_nn_227", 184, 22], + ["is_num", 58, 55, 184, 22], + ["jump_false", 58, "eq_nn_227", 184, 22], + ["eq_float", 56, 1, 55, 184, 22], + ["jump", "eq_done_225", 184, 22], + "eq_nn_227", + ["is_text", 57, 1, 184, 22], + ["jump_false", 57, "eq_nt_228", 184, 22], + ["is_text", 58, 55, 184, 22], + ["jump_false", 58, "eq_nt_228", 184, 22], + ["eq_text", 56, 1, 55, 184, 22], + ["jump", "eq_done_225", 184, 22], + "eq_nt_228", + ["is_null", 57, 1, 184, 22], + ["jump_false", 57, "eq_nnl_229", 184, 22], + ["is_null", 58, 55, 184, 22], + ["jump_false", 58, "eq_nnl_229", 184, 22], + ["true", 56, 184, 22], + ["jump", "eq_done_225", 184, 22], + "eq_nnl_229", + ["is_bool", 57, 1, 184, 22], + ["jump_false", 57, "eq_nb_230", 184, 22], + ["is_bool", 58, 55, 184, 22], + ["jump_false", 58, "eq_nb_230", 184, 22], + ["eq_bool", 56, 1, 55, 184, 22], + ["jump", "eq_done_225", 184, 22], + "eq_nb_230", + ["false", 56, 184, 22], + "eq_done_225", + ["jump_false", 56, "if_else_223", 184, 22], + ["access", 59, "[SYSTEM] ", 185, 11], "_nop_tc_5", - ["jump", "add_ni_209", 156, 25], - ["is_int", 62, 3, 156, 25], - ["jump_false", 62, "add_ni_209", 156, 25], - ["add_int", 60, 59, 3, 156, 25], - ["jump", "add_done_211", 156, 25], - "add_ni_209", - ["is_text", 62, 3, 156, 25], - ["jump_false", 62, "add_nt_210", 156, 25], - ["concat", 60, 59, 3, 156, 25], - ["jump", "add_done_211", 156, 25], - "add_nt_210", - ["is_num", 61, 59, 156, 25], - ["jump_false", 61, "add_err_212", 156, 25], - ["is_num", 62, 3, 156, 25], - ["jump_false", 62, "add_err_212", 156, 25], - ["add_float", 60, 59, 3, 156, 25], - ["jump", "add_done_211", 156, 25], - "add_err_212", - ["disrupt", 156, 25], - "add_done_211", - ["move", 3, 60, 156, 25], - ["load_field", 63, 4, "line", 157, 26], - ["load_field", 64, 4, "file", 157, 39], - ["get", 66, 13, 1, 157, 14], - ["frame", 67, 66, 3, 157, 14], - ["null", 68, 157, 14], - ["setarg", 67, 0, 68, 157, 14], - ["setarg", 67, 1, 63, 157, 14], - ["setarg", 67, 2, 64, 157, 14], - ["setarg", 67, 3, 3, 157, 14], - ["invoke", 67, 65, 157, 14], + ["jump", "add_ni_231", 185, 25], + ["is_int", 62, 3, 185, 25], + ["jump_false", 62, "add_ni_231", 185, 25], + ["add_int", 60, 59, 3, 185, 25], + ["jump", "add_done_233", 185, 25], + "add_ni_231", + ["is_text", 62, 3, 185, 25], + ["jump_false", 62, "add_nt_232", 185, 25], + ["concat", 60, 59, 3, 185, 25], + ["jump", "add_done_233", 185, 25], + "add_nt_232", + ["is_num", 61, 59, 185, 25], + ["jump_false", 61, "add_err_234", 185, 25], + ["is_num", 62, 3, 185, 25], + ["jump_false", 62, "add_err_234", 185, 25], + ["add_float", 60, 59, 3, 185, 25], + ["jump", "add_done_233", 185, 25], + "add_err_234", + ["disrupt", 185, 25], + "add_done_233", + ["move", 3, 60, 185, 25], + ["load_field", 63, 4, "line", 186, 26], + ["load_field", 64, 4, "file", 186, 39], + ["get", 66, 13, 1, 186, 14], + ["frame", 67, 66, 3, 186, 14], + ["null", 68, 186, 14], + ["setarg", 67, 0, 68, 186, 14], + ["setarg", 67, 1, 63, 186, 14], + ["setarg", 67, 2, 64, 186, 14], + ["setarg", 67, 3, 3, 186, 14], + ["invoke", 67, 65, 186, 14], [ "access", 70, @@ -1951,30 +2274,30 @@ "kind": "name", "make": "intrinsic" }, - 157, + 186, 5 ], - ["is_proxy", 71, 70, 157, 5], - ["jump_false", 71, "record_path_213", 157, 5], - ["null", 72, 157, 5], - ["access", 73, "print", 157, 5], - ["array", 74, 0, 157, 5], - ["push", 74, 65, 157, 5], - ["frame", 75, 70, 2, 157, 5], - ["setarg", 75, 0, 72, 157, 5], - ["setarg", 75, 1, 73, 157, 5], - ["setarg", 75, 2, 74, 157, 5], - ["invoke", 75, 69, 157, 5], - ["jump", "call_done_214", 157, 5], - "record_path_213", - ["load_field", 76, 70, "print", 157, 5], - ["frame", 77, 76, 1, 157, 5], - ["setarg", 77, 0, 70, 157, 5], - ["setarg", 77, 1, 65, 157, 5], - ["invoke", 77, 69, 157, 5], - "call_done_214", - ["jump", "if_end_202", 157, 5], - "if_else_201", + ["is_proxy", 71, 70, 186, 5], + ["jump_false", 71, "record_path_235", 186, 5], + ["null", 72, 186, 5], + ["access", 73, "print", 186, 5], + ["array", 74, 0, 186, 5], + ["push", 74, 65, 186, 5], + ["frame", 75, 70, 2, 186, 5], + ["setarg", 75, 0, 72, 186, 5], + ["setarg", 75, 1, 73, 186, 5], + ["setarg", 75, 2, 74, 186, 5], + ["invoke", 75, 69, 186, 5], + ["jump", "call_done_236", 186, 5], + "record_path_235", + ["load_field", 76, 70, "print", 186, 5], + ["frame", 77, 76, 1, 186, 5], + ["setarg", 77, 0, 70, 186, 5], + ["setarg", 77, 1, 65, 186, 5], + ["invoke", 77, 69, 186, 5], + "call_done_236", + ["jump", "if_end_224", 186, 5], + "if_else_223", ["array", 78, 0, 1, 1], ["push", 78, 1, 1, 1], [ @@ -1995,31 +2318,31 @@ ["setarg", 82, 1, 80, 1, 1], ["setarg", 82, 2, 78, 1, 1], ["invoke", 82, 81, 1, 1], - ["get", 85, 63, 1, 159, 5], - ["is_proxy", 86, 85, 159, 5], - ["jump_false", 86, "record_path_215", 159, 5], - ["null", 87, 159, 5], - ["access", 88, "console", 159, 5], - ["array", 89, 0, 159, 5], - ["push", 89, 81, 159, 5], - ["frame", 90, 85, 2, 159, 5], - ["setarg", 90, 0, 87, 159, 5], - ["setarg", 90, 1, 88, 159, 5], - ["setarg", 90, 2, 89, 159, 5], - ["invoke", 90, 84, 159, 5], - ["jump", "call_done_216", 159, 5], - "record_path_215", - ["load_field", 91, 85, "console", 159, 5], - ["frame", 92, 91, 1, 159, 5], - ["setarg", 92, 0, 85, 159, 5], - ["setarg", 92, 1, 81, 159, 5], - ["invoke", 92, 84, 159, 5], - "call_done_216", - "if_end_202", - "if_end_184", - "if_end_174", - ["null", 93, 159, 5], - ["return", 93, 159, 5] + ["get", 85, 63, 1, 188, 5], + ["is_proxy", 86, 85, 188, 5], + ["jump_false", 86, "record_path_237", 188, 5], + ["null", 87, 188, 5], + ["access", 88, "console", 188, 5], + ["array", 89, 0, 188, 5], + ["push", 89, 81, 188, 5], + ["frame", 90, 85, 2, 188, 5], + ["setarg", 90, 0, 87, 188, 5], + ["setarg", 90, 1, 88, 188, 5], + ["setarg", 90, 2, 89, 188, 5], + ["invoke", 90, 84, 188, 5], + ["jump", "call_done_238", 188, 5], + "record_path_237", + ["load_field", 91, 85, "console", 188, 5], + ["frame", 92, 91, 1, 188, 5], + ["setarg", 92, 0, 85, 188, 5], + ["setarg", 92, 1, 81, 188, 5], + ["invoke", 92, 84, 188, 5], + "call_done_238", + "if_end_224", + "if_end_206", + "if_end_196", + ["null", 93, 188, 5], + ["return", 93, 188, 5] ], "name": "log", "filename": "internal/engine.cm", @@ -2050,56 +2373,56 @@ ["setarg", 7, 1, 5, 1, 1], ["setarg", 7, 2, 3, 1, 1], ["invoke", 7, 6, 1, 1], - ["get", 10, 63, 2, 186, 7], - ["is_proxy", 11, 10, 186, 7], - ["jump_false", 11, "record_path_236", 186, 7], - ["null", 12, 186, 7], - ["access", 13, "console", 186, 7], - ["array", 14, 0, 186, 7], - ["push", 14, 6, 186, 7], - ["frame", 15, 10, 2, 186, 7], - ["setarg", 15, 0, 12, 186, 7], - ["setarg", 15, 1, 13, 186, 7], - ["setarg", 15, 2, 14, 186, 7], - ["invoke", 15, 9, 186, 7], - ["jump", "call_done_237", 186, 7], - "record_path_236", - ["load_field", 16, 10, "console", 186, 7], - ["frame", 17, 16, 1, 186, 7], - ["setarg", 17, 0, 10, 186, 7], - ["setarg", 17, 1, 6, 186, 7], - ["invoke", 17, 9, 186, 7], - "call_done_237", + ["get", 10, 63, 2, 215, 7], + ["is_proxy", 11, 10, 215, 7], + ["jump_false", 11, "record_path_258", 215, 7], + ["null", 12, 215, 7], + ["access", 13, "console", 215, 7], + ["array", 14, 0, 215, 7], + ["push", 14, 6, 215, 7], + ["frame", 15, 10, 2, 215, 7], + ["setarg", 15, 0, 12, 215, 7], + ["setarg", 15, 1, 13, 215, 7], + ["setarg", 15, 2, 14, 215, 7], + ["invoke", 15, 9, 215, 7], + ["jump", "call_done_259", 215, 7], + "record_path_258", + ["load_field", 16, 10, "console", 215, 7], + ["frame", 17, 16, 1, 215, 7], + ["setarg", 17, 0, 10, 215, 7], + ["setarg", 17, 1, 6, 215, 7], + ["invoke", 17, 9, 215, 7], + "call_done_259", ["record", 18, 0], - ["store_field", 18, 1, "id", 187, 29], - ["get", 20, 72, 2, 187, 15], - ["frame", 21, 20, 1, 187, 15], - ["null", 22, 187, 15], - ["setarg", 21, 0, 22, 187, 15], - ["setarg", 21, 1, 18, 187, 15], - ["invoke", 21, 19, 187, 15], - ["get", 24, 2, 2, 187, 7], - ["is_proxy", 25, 24, 187, 7], - ["jump_false", 25, "record_path_238", 187, 7], - ["null", 26, 187, 7], - ["access", 27, "stop", 187, 7], - ["array", 28, 0, 187, 7], - ["push", 28, 19, 187, 7], - ["frame", 29, 24, 2, 187, 7], - ["setarg", 29, 0, 26, 187, 7], - ["setarg", 29, 1, 27, 187, 7], - ["setarg", 29, 2, 28, 187, 7], - ["invoke", 29, 23, 187, 7], - ["jump", "call_done_239", 187, 7], - "record_path_238", - ["load_field", 30, 24, "stop", 187, 7], - ["frame", 31, 30, 1, 187, 7], - ["setarg", 31, 0, 24, 187, 7], - ["setarg", 31, 1, 19, 187, 7], - ["invoke", 31, 23, 187, 7], - "call_done_239", - ["null", 32, 187, 7], - ["return", 32, 187, 7] + ["store_field", 18, 1, "id", 216, 29], + ["get", 20, 72, 2, 216, 15], + ["frame", 21, 20, 1, 216, 15], + ["null", 22, 216, 15], + ["setarg", 21, 0, 22, 216, 15], + ["setarg", 21, 1, 18, 216, 15], + ["invoke", 21, 19, 216, 15], + ["get", 24, 2, 2, 216, 7], + ["is_proxy", 25, 24, 216, 7], + ["jump_false", 25, "record_path_260", 216, 7], + ["null", 26, 216, 7], + ["access", 27, "stop", 216, 7], + ["array", 28, 0, 216, 7], + ["push", 28, 19, 216, 7], + ["frame", 29, 24, 2, 216, 7], + ["setarg", 29, 0, 26, 216, 7], + ["setarg", 29, 1, 27, 216, 7], + ["setarg", 29, 2, 28, 216, 7], + ["invoke", 29, 23, 216, 7], + ["jump", "call_done_261", 216, 7], + "record_path_260", + ["load_field", 30, 24, "stop", 216, 7], + ["frame", 31, 30, 1, 216, 7], + ["setarg", 31, 0, 24, 216, 7], + ["setarg", 31, 1, 19, 216, 7], + ["invoke", 31, 23, 216, 7], + "call_done_261", + ["null", 32, 216, 7], + ["return", 32, 216, 7] ], "name": "", "filename": "internal/engine.cm", @@ -2110,32 +2433,32 @@ "nr_slots": 107, "nr_close_slots": 0, "instructions": [ - ["null", 2, 165, 16], - ["null", 3, 166, 16], - ["move", 4, 1, 168, 7], - ["jump_false", 4, "and_end_219", 168, 7], - ["load_field", 5, 1, "toString", 168, 26], - ["is_func", 6, 5, 168, 26], - ["move", 4, 6, 168, 26], - "and_end_219", - ["jump_false", 4, "if_else_217", 168, 26], - ["is_proxy", 8, 1, 169, 14], - ["jump_false", 8, "record_path_220", 169, 14], - ["null", 9, 169, 14], - ["access", 10, "toString", 169, 14], - ["array", 11, 0, 169, 14], - ["frame", 12, 1, 2, 169, 14], - ["setarg", 12, 0, 9, 169, 14], - ["setarg", 12, 1, 10, 169, 14], - ["setarg", 12, 2, 11, 169, 14], - ["invoke", 12, 7, 169, 14], - ["jump", "call_done_221", 169, 14], - "record_path_220", - ["load_field", 13, 1, "toString", 169, 14], - ["frame", 14, 13, 0, 169, 14], - ["setarg", 14, 0, 1, 169, 14], - ["invoke", 14, 7, 169, 14], - "call_done_221", + ["null", 2, 194, 16], + ["null", 3, 195, 16], + ["move", 4, 1, 197, 7], + ["jump_false", 4, "and_end_241", 197, 7], + ["load_field", 5, 1, "toString", 197, 26], + ["is_func", 6, 5, 197, 26], + ["move", 4, 6, 197, 26], + "and_end_241", + ["jump_false", 4, "if_else_239", 197, 26], + ["is_proxy", 8, 1, 198, 14], + ["jump_false", 8, "record_path_242", 198, 14], + ["null", 9, 198, 14], + ["access", 10, "toString", 198, 14], + ["array", 11, 0, 198, 14], + ["frame", 12, 1, 2, 198, 14], + ["setarg", 12, 0, 9, 198, 14], + ["setarg", 12, 1, 10, 198, 14], + ["setarg", 12, 2, 11, 198, 14], + ["invoke", 12, 7, 198, 14], + ["jump", "call_done_243", 198, 14], + "record_path_242", + ["load_field", 13, 1, "toString", 198, 14], + ["frame", 14, 13, 0, 198, 14], + ["setarg", 14, 0, 1, 198, 14], + ["invoke", 14, 7, 198, 14], + "call_done_243", [ "access", 16, @@ -2144,29 +2467,29 @@ "kind": "name", "make": "intrinsic" }, - 169, + 198, 5 ], - ["is_proxy", 17, 16, 169, 5], - ["jump_false", 17, "record_path_222", 169, 5], - ["null", 18, 169, 5], - ["access", 19, "print", 169, 5], - ["array", 20, 0, 169, 5], - ["push", 20, 7, 169, 5], - ["frame", 21, 16, 2, 169, 5], - ["setarg", 21, 0, 18, 169, 5], - ["setarg", 21, 1, 19, 169, 5], - ["setarg", 21, 2, 20, 169, 5], - ["invoke", 21, 15, 169, 5], - ["jump", "call_done_223", 169, 5], - "record_path_222", - ["load_field", 22, 16, "print", 169, 5], - ["frame", 23, 22, 1, 169, 5], - ["setarg", 23, 0, 16, 169, 5], - ["setarg", 23, 1, 7, 169, 5], - ["invoke", 23, 15, 169, 5], - "call_done_223", - ["access", 24, "\n", 170, 14], + ["is_proxy", 17, 16, 198, 5], + ["jump_false", 17, "record_path_244", 198, 5], + ["null", 18, 198, 5], + ["access", 19, "print", 198, 5], + ["array", 20, 0, 198, 5], + ["push", 20, 7, 198, 5], + ["frame", 21, 16, 2, 198, 5], + ["setarg", 21, 0, 18, 198, 5], + ["setarg", 21, 1, 19, 198, 5], + ["setarg", 21, 2, 20, 198, 5], + ["invoke", 21, 15, 198, 5], + ["jump", "call_done_245", 198, 5], + "record_path_244", + ["load_field", 22, 16, "print", 198, 5], + ["frame", 23, 22, 1, 198, 5], + ["setarg", 23, 0, 16, 198, 5], + ["setarg", 23, 1, 7, 198, 5], + ["invoke", 23, 15, 198, 5], + "call_done_245", + ["access", 24, "\n", 199, 14], [ "access", 26, @@ -2175,31 +2498,31 @@ "kind": "name", "make": "intrinsic" }, - 170, + 199, 5 ], - ["is_proxy", 27, 26, 170, 5], - ["jump_false", 27, "record_path_224", 170, 5], - ["null", 28, 170, 5], - ["access", 29, "print", 170, 5], - ["array", 30, 0, 170, 5], - ["push", 30, 24, 170, 5], - ["frame", 31, 26, 2, 170, 5], - ["setarg", 31, 0, 28, 170, 5], - ["setarg", 31, 1, 29, 170, 5], - ["setarg", 31, 2, 30, 170, 5], - ["invoke", 31, 25, 170, 5], - ["jump", "call_done_225", 170, 5], - "record_path_224", - ["load_field", 32, 26, "print", 170, 5], - ["frame", 33, 32, 1, 170, 5], - ["setarg", 33, 0, 26, 170, 5], - ["setarg", 33, 1, 24, 170, 5], - ["invoke", 33, 25, 170, 5], - "call_done_225", - ["load_field", 34, 1, "stack", 171, 9], - ["jump_false", 34, "if_else_226", 171, 9], - ["load_field", 35, 1, "stack", 171, 29], + ["is_proxy", 27, 26, 199, 5], + ["jump_false", 27, "record_path_246", 199, 5], + ["null", 28, 199, 5], + ["access", 29, "print", 199, 5], + ["array", 30, 0, 199, 5], + ["push", 30, 24, 199, 5], + ["frame", 31, 26, 2, 199, 5], + ["setarg", 31, 0, 28, 199, 5], + ["setarg", 31, 1, 29, 199, 5], + ["setarg", 31, 2, 30, 199, 5], + ["invoke", 31, 25, 199, 5], + ["jump", "call_done_247", 199, 5], + "record_path_246", + ["load_field", 32, 26, "print", 199, 5], + ["frame", 33, 32, 1, 199, 5], + ["setarg", 33, 0, 26, 199, 5], + ["setarg", 33, 1, 24, 199, 5], + ["invoke", 33, 25, 199, 5], + "call_done_247", + ["load_field", 34, 1, "stack", 200, 9], + ["jump_false", 34, "if_else_248", 200, 9], + ["load_field", 35, 1, "stack", 200, 29], [ "access", 37, @@ -2208,66 +2531,66 @@ "kind": "name", "make": "intrinsic" }, - 171, + 200, 20 ], - ["is_proxy", 38, 37, 171, 20], - ["jump_false", 38, "record_path_228", 171, 20], - ["null", 39, 171, 20], - ["access", 40, "print", 171, 20], - ["array", 41, 0, 171, 20], - ["push", 41, 35, 171, 20], - ["frame", 42, 37, 2, 171, 20], - ["setarg", 42, 0, 39, 171, 20], - ["setarg", 42, 1, 40, 171, 20], - ["setarg", 42, 2, 41, 171, 20], - ["invoke", 42, 36, 171, 20], - ["jump", "call_done_229", 171, 20], - "record_path_228", - ["load_field", 43, 37, "print", 171, 20], - ["frame", 44, 43, 1, 171, 20], - ["setarg", 44, 0, 37, 171, 20], - ["setarg", 44, 1, 35, 171, 20], - ["invoke", 44, 36, 171, 20], - "call_done_229", - ["jump", "if_end_227", 171, 20], - "if_else_226", - "if_end_227", - ["jump", "if_end_218", 171, 20], - "if_else_217", - "if_end_218", - ["get", 45, 39, 1, 174, 7], - ["jump_false", 45, "if_else_230", 174, 7], - ["jump_false", 1, "if_else_232", 175, 9], - ["move", 2, 1, 177, 16], + ["is_proxy", 38, 37, 200, 20], + ["jump_false", 38, "record_path_250", 200, 20], + ["null", 39, 200, 20], + ["access", 40, "print", 200, 20], + ["array", 41, 0, 200, 20], + ["push", 41, 35, 200, 20], + ["frame", 42, 37, 2, 200, 20], + ["setarg", 42, 0, 39, 200, 20], + ["setarg", 42, 1, 40, 200, 20], + ["setarg", 42, 2, 41, 200, 20], + ["invoke", 42, 36, 200, 20], + ["jump", "call_done_251", 200, 20], + "record_path_250", + ["load_field", 43, 37, "print", 200, 20], + ["frame", 44, 43, 1, 200, 20], + ["setarg", 44, 0, 37, 200, 20], + ["setarg", 44, 1, 35, 200, 20], + ["invoke", 44, 36, 200, 20], + "call_done_251", + ["jump", "if_end_249", 200, 20], + "if_else_248", + "if_end_249", + ["jump", "if_end_240", 200, 20], + "if_else_239", + "if_end_240", + ["get", 45, 39, 1, 203, 7], + ["jump_false", 45, "if_else_252", 203, 7], + ["jump_false", 1, "if_else_254", 204, 9], + ["move", 2, 1, 206, 16], ["record", 46, 0], - ["access", 47, "disrupt", 178, 32], - ["store_field", 46, 47, "type", 178, 32], - ["store_field", 46, 2, "reason", 178, 43], - ["get", 49, 18, 1, 178, 7], - ["frame", 50, 49, 1, 178, 7], - ["null", 51, 178, 7], - ["setarg", 50, 0, 51, 178, 7], - ["setarg", 50, 1, 46, 178, 7], - ["invoke", 50, 48, 178, 7], - ["jump", "if_end_233", 178, 7], - "if_else_232", + ["access", 47, "disrupt", 207, 32], + ["store_field", 46, 47, "type", 207, 32], + ["store_field", 46, 2, "reason", 207, 43], + ["get", 49, 18, 1, 207, 7], + ["frame", 50, 49, 1, 207, 7], + ["null", 51, 207, 7], + ["setarg", 50, 0, 51, 207, 7], + ["setarg", 50, 1, 46, 207, 7], + ["invoke", 50, 48, 207, 7], + ["jump", "if_end_255", 207, 7], + "if_else_254", ["record", 52, 0], - ["access", 53, "stop", 180, 32], - ["store_field", 52, 53, "type", 180, 32], - ["get", 55, 18, 1, 180, 7], - ["frame", 56, 55, 1, 180, 7], - ["null", 57, 180, 7], - ["setarg", 56, 0, 57, 180, 7], - ["setarg", 56, 1, 52, 180, 7], - ["invoke", 56, 54, 180, 7], - "if_end_233", - ["jump", "if_end_231", 180, 7], - "if_else_230", - "if_end_231", - ["get", 58, 12, 1, 183, 7], - ["jump_false", 58, "if_else_234", 183, 7], - ["get", 59, 12, 1, 184, 20], + ["access", 53, "stop", 209, 32], + ["store_field", 52, 53, "type", 209, 32], + ["get", 55, 18, 1, 209, 7], + ["frame", 56, 55, 1, 209, 7], + ["null", 57, 209, 7], + ["setarg", 56, 0, 57, 209, 7], + ["setarg", 56, 1, 52, 209, 7], + ["invoke", 56, 54, 209, 7], + "if_end_255", + ["jump", "if_end_253", 209, 7], + "if_else_252", + "if_end_253", + ["get", 58, 12, 1, 212, 7], + ["jump_false", 58, "if_else_256", 212, 7], + ["get", 59, 12, 1, 213, 20], [ "access", 61, @@ -2276,117 +2599,117 @@ "kind": "name", "make": "intrinsic" }, - 184, + 213, 14 ], - ["frame", 62, 61, 1, 184, 14], - ["null", 63, 184, 14], - ["setarg", 62, 0, 63, 184, 14], - ["setarg", 62, 1, 59, 184, 14], - ["invoke", 62, 60, 184, 14], - ["move", 3, 60, 184, 14], - ["function", 64, 14, 185, 20], - ["length", 66, 3, 185, 20], - ["int", 67, 0, 185, 20], - ["int", 71, 1, 185, 20], - ["null", 70, 185, 20], - "arrfor_loop_240", - ["lt_int", 68, 67, 66, 185, 20], - ["jump_false", 68, "arrfor_done_241", 185, 20], - ["load_index", 69, 3, 67, 185, 20], - ["frame", 72, 64, 2, 185, 20], - ["setarg", 72, 0, 70, 185, 20], - ["setarg", 72, 1, 69, 185, 20], - ["setarg", 72, 2, 67, 185, 20], - ["invoke", 72, 73, 185, 20], - ["add_int", 67, 67, 71, 185, 20], - ["jump", "arrfor_loop_240", 185, 20], - "arrfor_done_241", - ["null", 65, 185, 20], - ["jump", "if_end_235", 185, 20], - "if_else_234", - "if_end_235", - ["jump_false", 1, "if_else_242", 191, 7], - ["load_field", 74, 1, "message", 192, 9], - ["jump_false", 74, "if_else_244", 192, 9], - ["load_field", 75, 1, "message", 193, 19], - ["get", 77, 63, 1, 193, 7], - ["is_proxy", 78, 77, 193, 7], - ["jump_false", 78, "record_path_246", 193, 7], - ["null", 79, 193, 7], - ["access", 80, "console", 193, 7], - ["array", 81, 0, 193, 7], - ["push", 81, 75, 193, 7], - ["frame", 82, 77, 2, 193, 7], - ["setarg", 82, 0, 79, 193, 7], - ["setarg", 82, 1, 80, 193, 7], - ["setarg", 82, 2, 81, 193, 7], - ["invoke", 82, 76, 193, 7], - ["jump", "call_done_247", 193, 7], - "record_path_246", - ["load_field", 83, 77, "console", 193, 7], - ["frame", 84, 83, 1, 193, 7], - ["setarg", 84, 0, 77, 193, 7], - ["setarg", 84, 1, 75, 193, 7], - ["invoke", 84, 76, 193, 7], - "call_done_247", - ["jump", "if_end_245", 193, 7], - "if_else_244", - "if_end_245", - ["load_field", 85, 1, "stack", 194, 9], - ["jump_false", 85, "if_else_248", 194, 9], - ["load_field", 86, 1, "stack", 195, 19], - ["get", 88, 63, 1, 195, 7], - ["is_proxy", 89, 88, 195, 7], - ["jump_false", 89, "record_path_250", 195, 7], - ["null", 90, 195, 7], - ["access", 91, "console", 195, 7], - ["array", 92, 0, 195, 7], - ["push", 92, 86, 195, 7], - ["frame", 93, 88, 2, 195, 7], - ["setarg", 93, 0, 90, 195, 7], - ["setarg", 93, 1, 91, 195, 7], - ["setarg", 93, 2, 92, 195, 7], - ["invoke", 93, 87, 195, 7], - ["jump", "call_done_251", 195, 7], - "record_path_250", - ["load_field", 94, 88, "console", 195, 7], - ["frame", 95, 94, 1, 195, 7], - ["setarg", 95, 0, 88, 195, 7], - ["setarg", 95, 1, 86, 195, 7], - ["invoke", 95, 87, 195, 7], - "call_done_251", - ["jump", "if_end_249", 195, 7], - "if_else_248", - "if_end_249", - ["jump", "if_end_243", 195, 7], - "if_else_242", - "if_end_243", - ["get", 97, 30, 1, 198, 3], - ["access", 98, "disrupt", 198, 13], - ["is_proxy", 99, 97, 198, 13], - ["jump_false", 99, "dyn_record_path_252", 198, 13], + ["frame", 62, 61, 1, 213, 14], + ["null", 63, 213, 14], + ["setarg", 62, 0, 63, 213, 14], + ["setarg", 62, 1, 59, 213, 14], + ["invoke", 62, 60, 213, 14], + ["move", 3, 60, 213, 14], + ["function", 64, 14, 214, 20], + ["length", 66, 3, 214, 20], + ["int", 67, 0, 214, 20], + ["int", 71, 1, 214, 20], + ["null", 70, 214, 20], + "arrfor_loop_262", + ["lt_int", 68, 67, 66, 214, 20], + ["jump_false", 68, "arrfor_done_263", 214, 20], + ["load_index", 69, 3, 67, 214, 20], + ["frame", 72, 64, 2, 214, 20], + ["setarg", 72, 0, 70, 214, 20], + ["setarg", 72, 1, 69, 214, 20], + ["setarg", 72, 2, 67, 214, 20], + ["invoke", 72, 73, 214, 20], + ["add_int", 67, 67, 71, 214, 20], + ["jump", "arrfor_loop_262", 214, 20], + "arrfor_done_263", + ["null", 65, 214, 20], + ["jump", "if_end_257", 214, 20], + "if_else_256", + "if_end_257", + ["jump_false", 1, "if_else_264", 220, 7], + ["load_field", 74, 1, "message", 221, 9], + ["jump_false", 74, "if_else_266", 221, 9], + ["load_field", 75, 1, "message", 222, 19], + ["get", 77, 63, 1, 222, 7], + ["is_proxy", 78, 77, 222, 7], + ["jump_false", 78, "record_path_268", 222, 7], + ["null", 79, 222, 7], + ["access", 80, "console", 222, 7], + ["array", 81, 0, 222, 7], + ["push", 81, 75, 222, 7], + ["frame", 82, 77, 2, 222, 7], + ["setarg", 82, 0, 79, 222, 7], + ["setarg", 82, 1, 80, 222, 7], + ["setarg", 82, 2, 81, 222, 7], + ["invoke", 82, 76, 222, 7], + ["jump", "call_done_269", 222, 7], + "record_path_268", + ["load_field", 83, 77, "console", 222, 7], + ["frame", 84, 83, 1, 222, 7], + ["setarg", 84, 0, 77, 222, 7], + ["setarg", 84, 1, 75, 222, 7], + ["invoke", 84, 76, 222, 7], + "call_done_269", + ["jump", "if_end_267", 222, 7], + "if_else_266", + "if_end_267", + ["load_field", 85, 1, "stack", 223, 9], + ["jump_false", 85, "if_else_270", 223, 9], + ["load_field", 86, 1, "stack", 224, 19], + ["get", 88, 63, 1, 224, 7], + ["is_proxy", 89, 88, 224, 7], + ["jump_false", 89, "record_path_272", 224, 7], + ["null", 90, 224, 7], + ["access", 91, "console", 224, 7], + ["array", 92, 0, 224, 7], + ["push", 92, 86, 224, 7], + ["frame", 93, 88, 2, 224, 7], + ["setarg", 93, 0, 90, 224, 7], + ["setarg", 93, 1, 91, 224, 7], + ["setarg", 93, 2, 92, 224, 7], + ["invoke", 93, 87, 224, 7], + ["jump", "call_done_273", 224, 7], + "record_path_272", + ["load_field", 94, 88, "console", 224, 7], + ["frame", 95, 94, 1, 224, 7], + ["setarg", 95, 0, 88, 224, 7], + ["setarg", 95, 1, 86, 224, 7], + ["invoke", 95, 87, 224, 7], + "call_done_273", + ["jump", "if_end_271", 224, 7], + "if_else_270", + "if_end_271", + ["jump", "if_end_265", 224, 7], + "if_else_264", + "if_end_265", + ["get", 97, 30, 1, 227, 3], + ["access", 98, "disrupt", 227, 13], + ["is_proxy", 99, 97, 227, 13], + ["jump_false", 99, "dyn_record_path_274", 227, 13], "_nop_tc_1", "_nop_tc_2", - ["null", 101, 198, 13], - ["array", 102, 0, 198, 13], - ["frame", 103, 97, 2, 198, 13], - ["setarg", 103, 0, 101, 198, 13], - ["setarg", 103, 1, 98, 198, 13], - ["setarg", 103, 2, 102, 198, 13], - ["invoke", 103, 96, 198, 13], - ["jump", "dyn_call_done_253", 198, 13], - "dyn_error_254", - ["disrupt", 198, 13], - ["jump", "dyn_call_done_253", 198, 13], - "dyn_record_path_252", - ["load_dynamic", 104, 97, 98, 198, 13], - ["frame", 105, 104, 0, 198, 13], - ["setarg", 105, 0, 97, 198, 13], - ["invoke", 105, 96, 198, 13], - "dyn_call_done_253", - ["null", 106, 198, 13], - ["return", 106, 198, 13] + ["null", 101, 227, 13], + ["array", 102, 0, 227, 13], + ["frame", 103, 97, 2, 227, 13], + ["setarg", 103, 0, 101, 227, 13], + ["setarg", 103, 1, 98, 227, 13], + ["setarg", 103, 2, 102, 227, 13], + ["invoke", 103, 96, 227, 13], + ["jump", "dyn_call_done_275", 227, 13], + "dyn_error_276", + ["disrupt", 227, 13], + ["jump", "dyn_call_done_275", 227, 13], + "dyn_record_path_274", + ["load_dynamic", 104, 97, 98, 227, 13], + ["frame", 105, 104, 0, 227, 13], + ["setarg", 105, 0, 97, 227, 13], + ["invoke", 105, 96, 227, 13], + "dyn_call_done_275", + ["null", 106, 227, 13], + ["return", 106, 227, 13] ], "name": "actor_die", "filename": "internal/engine.cm", @@ -2397,67 +2720,67 @@ "nr_slots": 17, "nr_close_slots": 0, "instructions": [ - ["null", 4, 209, 23], - ["is_identical", 5, 1, 4, 209, 23], - ["jump_true", 5, "eq_done_257", 209, 23], - ["is_int", 6, 1, 209, 23], - ["jump_false", 6, "eq_ni_258", 209, 23], + ["null", 4, 238, 23], + ["is_identical", 5, 1, 4, 238, 23], + ["jump_true", 5, "eq_done_279", 238, 23], + ["is_int", 6, 1, 238, 23], + ["jump_false", 6, "eq_ni_280", 238, 23], "_nop_tc_1", - ["jump", "eq_ni_258", 209, 23], - ["eq_int", 5, 1, 4, 209, 23], - ["jump", "eq_done_257", 209, 23], - "eq_ni_258", - ["is_num", 6, 1, 209, 23], - ["jump_false", 6, "eq_nn_259", 209, 23], - ["is_num", 7, 4, 209, 23], - ["jump_false", 7, "eq_nn_259", 209, 23], - ["eq_float", 5, 1, 4, 209, 23], - ["jump", "eq_done_257", 209, 23], - "eq_nn_259", - ["is_text", 6, 1, 209, 23], - ["jump_false", 6, "eq_nt_260", 209, 23], - ["is_text", 7, 4, 209, 23], - ["jump_false", 7, "eq_nt_260", 209, 23], - ["eq_text", 5, 1, 4, 209, 23], - ["jump", "eq_done_257", 209, 23], - "eq_nt_260", - ["is_null", 6, 1, 209, 23], - ["jump_false", 6, "eq_nnl_261", 209, 23], - ["is_null", 7, 4, 209, 23], - ["jump_false", 7, "eq_nnl_261", 209, 23], - ["true", 5, 209, 23], - ["jump", "eq_done_257", 209, 23], - "eq_nnl_261", - ["is_bool", 6, 1, 209, 23], - ["jump_false", 6, "eq_nb_262", 209, 23], - ["is_bool", 7, 4, 209, 23], - ["jump_false", 7, "eq_nb_262", 209, 23], - ["eq_bool", 5, 1, 4, 209, 23], - ["jump", "eq_done_257", 209, 23], - "eq_nb_262", - ["false", 5, 209, 23], - "eq_done_257", - ["jump_false", 5, "tern_else_255", 209, 23], + ["jump", "eq_ni_280", 238, 23], + ["eq_int", 5, 1, 4, 238, 23], + ["jump", "eq_done_279", 238, 23], + "eq_ni_280", + ["is_num", 6, 1, 238, 23], + ["jump_false", 6, "eq_nn_281", 238, 23], + ["is_num", 7, 4, 238, 23], + ["jump_false", 7, "eq_nn_281", 238, 23], + ["eq_float", 5, 1, 4, 238, 23], + ["jump", "eq_done_279", 238, 23], + "eq_nn_281", + ["is_text", 6, 1, 238, 23], + ["jump_false", 6, "eq_nt_282", 238, 23], + ["is_text", 7, 4, 238, 23], + ["jump_false", 7, "eq_nt_282", 238, 23], + ["eq_text", 5, 1, 4, 238, 23], + ["jump", "eq_done_279", 238, 23], + "eq_nt_282", + ["is_null", 6, 1, 238, 23], + ["jump_false", 6, "eq_nnl_283", 238, 23], + ["is_null", 7, 4, 238, 23], + ["jump_false", 7, "eq_nnl_283", 238, 23], + ["true", 5, 238, 23], + ["jump", "eq_done_279", 238, 23], + "eq_nnl_283", + ["is_bool", 6, 1, 238, 23], + ["jump_false", 6, "eq_nb_284", 238, 23], + ["is_bool", 7, 4, 238, 23], + ["jump_false", 7, "eq_nb_284", 238, 23], + ["eq_bool", 5, 1, 4, 238, 23], + ["jump", "eq_done_279", 238, 23], + "eq_nb_284", + ["false", 5, 238, 23], + "eq_done_279", + ["jump_false", 5, "tern_else_277", 238, 23], ["record", 9, 0], - ["get", 11, 6, 1, 209, 34], - ["frame", 12, 11, 0, 209, 34], - ["null", 13, 209, 34], - ["setarg", 12, 0, 13, 209, 34], - ["invoke", 12, 10, 209, 34], - ["store_field", 9, 10, "id", 209, 34], - ["move", 8, 9, 209, 34], - ["jump", "tern_end_256", 209, 34], - "tern_else_255", - ["move", 8, 1, 209, 44], - "tern_end_256", - ["move", 2, 8, 209, 44], + ["get", 11, 6, 1, 238, 34], + ["frame", 12, 11, 0, 238, 34], + ["null", 13, 238, 34], + ["setarg", 12, 0, 13, 238, 34], + ["invoke", 12, 10, 238, 34], + ["store_field", 9, 10, "id", 238, 34], + ["move", 8, 9, 238, 34], + ["jump", "tern_end_278", 238, 34], + "tern_else_277", + ["move", 8, 1, 238, 44], + "tern_end_278", + ["move", 2, 8, 238, 44], ["record", 14, 0], - ["move", 3, 14, 210, 15], - ["get", 15, 27, 1, 211, 9], - ["store_dynamic", 3, 2, 15, 211, 9], - ["return", 3, 212, 10], - ["null", 16, 212, 10], - ["return", 16, 212, 10] + ["move", 3, 14, 239, 15], + ["get", 15, 27, 1, 240, 9], + ["store_dynamic", 3, 2, 15, 240, 9], + ["return", 3, 241, 10], + ["null", 16, 241, 10], + ["return", 16, 241, 10] ], "name": "create_actor", "filename": "internal/engine.cm", @@ -2468,54 +2791,54 @@ "nr_slots": 26, "nr_close_slots": 0, "instructions": [ - ["null", 4, 366, 23], - ["is_identical", 5, 1, 4, 366, 23], - ["jump_true", 5, "eq_done_265", 366, 23], - ["is_int", 6, 1, 366, 23], - ["jump_false", 6, "eq_ni_266", 366, 23], + ["null", 4, 402, 23], + ["is_identical", 5, 1, 4, 402, 23], + ["jump_true", 5, "eq_done_287", 402, 23], + ["is_int", 6, 1, 402, 23], + ["jump_false", 6, "eq_ni_288", 402, 23], "_nop_tc_1", - ["jump", "eq_ni_266", 366, 23], - ["eq_int", 5, 1, 4, 366, 23], - ["jump", "eq_done_265", 366, 23], - "eq_ni_266", - ["is_num", 6, 1, 366, 23], - ["jump_false", 6, "eq_nn_267", 366, 23], - ["is_num", 7, 4, 366, 23], - ["jump_false", 7, "eq_nn_267", 366, 23], - ["eq_float", 5, 1, 4, 366, 23], - ["jump", "eq_done_265", 366, 23], - "eq_nn_267", - ["is_text", 6, 1, 366, 23], - ["jump_false", 6, "eq_nt_268", 366, 23], - ["is_text", 7, 4, 366, 23], - ["jump_false", 7, "eq_nt_268", 366, 23], - ["eq_text", 5, 1, 4, 366, 23], - ["jump", "eq_done_265", 366, 23], - "eq_nt_268", - ["is_null", 6, 1, 366, 23], - ["jump_false", 6, "eq_nnl_269", 366, 23], - ["is_null", 7, 4, 366, 23], - ["jump_false", 7, "eq_nnl_269", 366, 23], - ["true", 5, 366, 23], - ["jump", "eq_done_265", 366, 23], - "eq_nnl_269", - ["is_bool", 6, 1, 366, 23], - ["jump_false", 6, "eq_nb_270", 366, 23], - ["is_bool", 7, 4, 366, 23], - ["jump_false", 7, "eq_nb_270", 366, 23], - ["eq_bool", 5, 1, 4, 366, 23], - ["jump", "eq_done_265", 366, 23], - "eq_nb_270", - ["false", 5, 366, 23], - "eq_done_265", - ["jump_false", 5, "tern_else_263", 366, 23], - ["access", 9, 256, 366, 30], - ["move", 8, 9, 366, 30], - ["jump", "tern_end_264", 366, 30], - "tern_else_263", - ["move", 8, 1, 366, 36], - "tern_end_264", - ["move", 3, 8, 366, 36], + ["jump", "eq_ni_288", 402, 23], + ["eq_int", 5, 1, 4, 402, 23], + ["jump", "eq_done_287", 402, 23], + "eq_ni_288", + ["is_num", 6, 1, 402, 23], + ["jump_false", 6, "eq_nn_289", 402, 23], + ["is_num", 7, 4, 402, 23], + ["jump_false", 7, "eq_nn_289", 402, 23], + ["eq_float", 5, 1, 4, 402, 23], + ["jump", "eq_done_287", 402, 23], + "eq_nn_289", + ["is_text", 6, 1, 402, 23], + ["jump_false", 6, "eq_nt_290", 402, 23], + ["is_text", 7, 4, 402, 23], + ["jump_false", 7, "eq_nt_290", 402, 23], + ["eq_text", 5, 1, 4, 402, 23], + ["jump", "eq_done_287", 402, 23], + "eq_nt_290", + ["is_null", 6, 1, 402, 23], + ["jump_false", 6, "eq_nnl_291", 402, 23], + ["is_null", 7, 4, 402, 23], + ["jump_false", 7, "eq_nnl_291", 402, 23], + ["true", 5, 402, 23], + ["jump", "eq_done_287", 402, 23], + "eq_nnl_291", + ["is_bool", 6, 1, 402, 23], + ["jump_false", 6, "eq_nb_292", 402, 23], + ["is_bool", 7, 4, 402, 23], + ["jump_false", 7, "eq_nb_292", 402, 23], + ["eq_bool", 5, 1, 4, 402, 23], + ["jump", "eq_done_287", 402, 23], + "eq_nb_292", + ["false", 5, 402, 23], + "eq_done_287", + ["jump_false", 5, "tern_else_285", 402, 23], + ["access", 9, 256, 402, 30], + ["move", 8, 9, 402, 30], + ["jump", "tern_end_286", 402, 30], + "tern_else_285", + ["move", 8, 1, 402, 36], + "tern_end_286", + ["move", 3, 8, 402, 36], [ "access", 10, @@ -2524,18 +2847,18 @@ "kind": "name", "make": "intrinsic" }, - 367, + 403, 26 ], - ["load_field", 11, 10, "random", 367, 26], - ["get", 13, 62, 1, 367, 14], - ["frame", 14, 13, 2, 367, 14], - ["null", 15, 367, 14], - ["setarg", 14, 0, 15, 367, 14], - ["setarg", 14, 1, 3, 367, 14], - ["setarg", 14, 2, 11, 367, 14], - ["invoke", 14, 12, 367, 14], - ["move", 2, 12, 367, 14], + ["load_field", 11, 10, "random", 403, 26], + ["get", 13, 62, 1, 403, 14], + ["frame", 14, 13, 2, 403, 14], + ["null", 15, 403, 14], + ["setarg", 14, 0, 15, 403, 14], + ["setarg", 14, 1, 3, 403, 14], + ["setarg", 14, 2, 11, 403, 14], + ["invoke", 14, 12, 403, 14], + ["move", 2, 12, 403, 14], [ "access", 17, @@ -2544,15 +2867,15 @@ "kind": "name", "make": "intrinsic" }, - 368, + 404, 3 ], - ["frame", 18, 17, 1, 368, 3], - ["null", 19, 368, 3], - ["setarg", 18, 0, 19, 368, 3], - ["setarg", 18, 1, 2, 368, 3], - ["invoke", 18, 16, 368, 3], - ["access", 20, "h", 369, 20], + ["frame", 18, 17, 1, 404, 3], + ["null", 19, 404, 3], + ["setarg", 18, 0, 19, 404, 3], + ["setarg", 18, 1, 2, 404, 3], + ["invoke", 18, 16, 404, 3], + ["access", 20, "h", 405, 20], [ "access", 22, @@ -2561,18 +2884,18 @@ "kind": "name", "make": "intrinsic" }, - 369, + 405, 10 ], - ["frame", 23, 22, 2, 369, 10], - ["null", 24, 369, 10], - ["setarg", 23, 0, 24, 369, 10], - ["setarg", 23, 1, 2, 369, 10], - ["setarg", 23, 2, 20, 369, 10], - ["invoke", 23, 21, 369, 10], - ["return", 21, 369, 10], - ["null", 25, 369, 10], - ["return", 25, 369, 10] + ["frame", 23, 22, 2, 405, 10], + ["null", 24, 405, 10], + ["setarg", 23, 0, 24, 405, 10], + ["setarg", 23, 1, 2, 405, 10], + ["setarg", 23, 2, 20, 405, 10], + ["invoke", 23, 21, 405, 10], + ["return", 21, 405, 10], + ["null", 25, 405, 10], + ["return", 25, 405, 10] ], "name": "guid", "filename": "internal/engine.cm", @@ -2584,39 +2907,39 @@ "nr_close_slots": 0, "instructions": [ ["record", 2, 0], - ["load_field", 3, 1, "rtt", 391, 14], - ["store_field", 2, 3, "latency", 391, 14], + ["load_field", 3, 1, "rtt", 427, 14], + ["store_field", 2, 3, "latency", 427, 14], ["record", 4, 0], - ["load_field", 5, 1, "incoming_bandwidth", 393, 17], - ["store_field", 4, 5, "incoming", 393, 17], - ["load_field", 6, 1, "outgoing_bandwidth", 394, 17], - ["store_field", 4, 6, "outgoing", 394, 17], - ["store_field", 2, 4, "bandwidth", 394, 17], + ["load_field", 5, 1, "incoming_bandwidth", 429, 17], + ["store_field", 4, 5, "incoming", 429, 17], + ["load_field", 6, 1, "outgoing_bandwidth", 430, 17], + ["store_field", 4, 6, "outgoing", 430, 17], + ["store_field", 2, 4, "bandwidth", 430, 17], ["record", 7, 0], - ["load_field", 8, 1, "last_send_time", 397, 18], - ["store_field", 7, 8, "last_sent", 397, 18], - ["load_field", 9, 1, "last_receive_time", 398, 22], - ["store_field", 7, 9, "last_received", 398, 22], - ["store_field", 2, 7, "activity", 398, 22], - ["load_field", 10, 1, "mtu", 400, 10], - ["store_field", 2, 10, "mtu", 400, 10], + ["load_field", 8, 1, "last_send_time", 433, 18], + ["store_field", 7, 8, "last_sent", 433, 18], + ["load_field", 9, 1, "last_receive_time", 434, 22], + ["store_field", 7, 9, "last_received", 434, 22], + ["store_field", 2, 7, "activity", 434, 22], + ["load_field", 10, 1, "mtu", 436, 10], + ["store_field", 2, 10, "mtu", 436, 10], ["record", 11, 0], - ["load_field", 12, 1, "incoming_data_total", 402, 23], - ["store_field", 11, 12, "incoming_total", 402, 23], - ["load_field", 13, 1, "outgoing_data_total", 403, 23], - ["store_field", 11, 13, "outgoing_total", 403, 23], - ["load_field", 14, 1, "reliable_data_in_transit", 404, 28], - ["store_field", 11, 14, "reliable_in_transit", 404, 28], - ["store_field", 2, 11, "data", 404, 28], - ["load_field", 15, 1, "rtt_variance", 406, 23], - ["store_field", 2, 15, "latency_variance", 406, 23], - ["load_field", 16, 1, "packet_loss", 407, 18], - ["store_field", 2, 16, "packet_loss", 407, 18], - ["load_field", 17, 1, "state", 408, 12], - ["store_field", 2, 17, "state", 408, 12], - ["return", 2, 408, 12], - ["null", 18, 408, 12], - ["return", 18, 408, 12] + ["load_field", 12, 1, "incoming_data_total", 438, 23], + ["store_field", 11, 12, "incoming_total", 438, 23], + ["load_field", 13, 1, "outgoing_data_total", 439, 23], + ["store_field", 11, 13, "outgoing_total", 439, 23], + ["load_field", 14, 1, "reliable_data_in_transit", 440, 28], + ["store_field", 11, 14, "reliable_in_transit", 440, 28], + ["store_field", 2, 11, "data", 440, 28], + ["load_field", 15, 1, "rtt_variance", 442, 23], + ["store_field", 2, 15, "latency_variance", 442, 23], + ["load_field", 16, 1, "packet_loss", 443, 18], + ["store_field", 2, 16, "packet_loss", 443, 18], + ["load_field", 17, 1, "state", 444, 12], + ["store_field", 2, 17, "state", 444, 12], + ["return", 2, 444, 12], + ["null", 18, 444, 12], + ["return", 18, 444, 12] ], "name": "peer_connection", "filename": "internal/engine.cm", @@ -2627,50 +2950,50 @@ "nr_slots": 23, "nr_close_slots": 0, "instructions": [ - ["get", 4, 49, 2, 457, 49], - ["is_proxy", 5, 4, 457, 49], - ["jump_false", 5, "record_path_285", 457, 49], - ["null", 6, 457, 49], - ["access", 7, "encode", 457, 49], - ["array", 8, 0, 457, 49], - ["push", 8, 1, 457, 49], - ["frame", 9, 4, 2, 457, 49], - ["setarg", 9, 0, 6, 457, 49], - ["setarg", 9, 1, 7, 457, 49], - ["setarg", 9, 2, 8, 457, 49], - ["invoke", 9, 3, 457, 49], - ["jump", "call_done_286", 457, 49], - "record_path_285", - ["load_field", 10, 4, "encode", 457, 49], - ["frame", 11, 10, 1, 457, 49], - ["setarg", 11, 0, 4, 457, 49], - ["setarg", 11, 1, 1, 457, 49], - ["invoke", 11, 3, 457, 49], - "call_done_286", - ["get", 13, 1, 1, 457, 37], - ["load_field", 14, 13, "peer", 457, 37], - ["is_proxy", 15, 14, 457, 37], - ["jump_false", 15, "record_path_287", 457, 37], - ["null", 16, 457, 37], - ["access", 17, "send", 457, 37], - ["array", 18, 0, 457, 37], - ["push", 18, 3, 457, 37], - ["frame", 19, 14, 2, 457, 37], - ["setarg", 19, 0, 16, 457, 37], - ["setarg", 19, 1, 17, 457, 37], - ["setarg", 19, 2, 18, 457, 37], - ["invoke", 19, 12, 457, 37], - ["jump", "call_done_288", 457, 37], - "record_path_287", - ["load_field", 20, 14, "send", 457, 37], - ["frame", 21, 20, 1, 457, 37], - ["setarg", 21, 0, 14, 457, 37], - ["setarg", 21, 1, 3, 457, 37], - ["invoke", 21, 12, 457, 37], - "call_done_288", - ["return", 12, 457, 37], - ["null", 22, 457, 37], - ["return", 22, 457, 37] + ["get", 4, 49, 2, 493, 49], + ["is_proxy", 5, 4, 493, 49], + ["jump_false", 5, "record_path_307", 493, 49], + ["null", 6, 493, 49], + ["access", 7, "encode", 493, 49], + ["array", 8, 0, 493, 49], + ["push", 8, 1, 493, 49], + ["frame", 9, 4, 2, 493, 49], + ["setarg", 9, 0, 6, 493, 49], + ["setarg", 9, 1, 7, 493, 49], + ["setarg", 9, 2, 8, 493, 49], + ["invoke", 9, 3, 493, 49], + ["jump", "call_done_308", 493, 49], + "record_path_307", + ["load_field", 10, 4, "encode", 493, 49], + ["frame", 11, 10, 1, 493, 49], + ["setarg", 11, 0, 4, 493, 49], + ["setarg", 11, 1, 1, 493, 49], + ["invoke", 11, 3, 493, 49], + "call_done_308", + ["get", 13, 1, 1, 493, 37], + ["load_field", 14, 13, "peer", 493, 37], + ["is_proxy", 15, 14, 493, 37], + ["jump_false", 15, "record_path_309", 493, 37], + ["null", 16, 493, 37], + ["access", 17, "send", 493, 37], + ["array", 18, 0, 493, 37], + ["push", 18, 3, 493, 37], + ["frame", 19, 14, 2, 493, 37], + ["setarg", 19, 0, 16, 493, 37], + ["setarg", 19, 1, 17, 493, 37], + ["setarg", 19, 2, 18, 493, 37], + ["invoke", 19, 12, 493, 37], + ["jump", "call_done_310", 493, 37], + "record_path_309", + ["load_field", 20, 14, "send", 493, 37], + ["frame", 21, 20, 1, 493, 37], + ["setarg", 21, 0, 14, 493, 37], + ["setarg", 21, 1, 3, 493, 37], + ["invoke", 21, 12, 493, 37], + "call_done_310", + ["return", 12, 493, 37], + ["null", 22, 493, 37], + ["return", 22, 493, 37] ], "name": "", "filename": "internal/engine.cm", @@ -2681,57 +3004,57 @@ "nr_slots": 13, "nr_close_slots": 0, "instructions": [ - ["get", 3, 24, 2, 464, 11], - ["load_dynamic", 4, 3, 1, 464, 17], - ["get", 5, 1, 1, 464, 24], - ["load_field", 6, 5, "peer", 464, 24], - ["is_identical", 7, 4, 6, 464, 24], - ["jump_true", 7, "eq_done_307", 464, 24], - ["is_int", 8, 4, 464, 24], - ["jump_false", 8, "eq_ni_308", 464, 24], - ["is_int", 9, 6, 464, 24], - ["jump_false", 9, "eq_ni_308", 464, 24], - ["eq_int", 7, 4, 6, 464, 24], - ["jump", "eq_done_307", 464, 24], - "eq_ni_308", - ["is_num", 8, 4, 464, 24], - ["jump_false", 8, "eq_nn_309", 464, 24], - ["is_num", 9, 6, 464, 24], - ["jump_false", 9, "eq_nn_309", 464, 24], - ["eq_float", 7, 4, 6, 464, 24], - ["jump", "eq_done_307", 464, 24], - "eq_nn_309", - ["is_text", 8, 4, 464, 24], - ["jump_false", 8, "eq_nt_310", 464, 24], - ["is_text", 9, 6, 464, 24], - ["jump_false", 9, "eq_nt_310", 464, 24], - ["eq_text", 7, 4, 6, 464, 24], - ["jump", "eq_done_307", 464, 24], - "eq_nt_310", - ["is_null", 8, 4, 464, 24], - ["jump_false", 8, "eq_nnl_311", 464, 24], - ["is_null", 9, 6, 464, 24], - ["jump_false", 9, "eq_nnl_311", 464, 24], - ["true", 7, 464, 24], - ["jump", "eq_done_307", 464, 24], - "eq_nnl_311", - ["is_bool", 8, 4, 464, 24], - ["jump_false", 8, "eq_nb_312", 464, 24], - ["is_bool", 9, 6, 464, 24], - ["jump_false", 9, "eq_nb_312", 464, 24], - ["eq_bool", 7, 4, 6, 464, 24], - ["jump", "eq_done_307", 464, 24], - "eq_nb_312", - ["false", 7, 464, 24], - "eq_done_307", - ["jump_false", 7, "if_else_305", 464, 24], - ["get", 11, 24, 2, 464, 39], - ["delete", 10, 11, 1, 464, 45], - ["jump", "if_end_306", 464, 45], - "if_else_305", - "if_end_306", - ["null", 12, 464, 45], - ["return", 12, 464, 45] + ["get", 3, 24, 2, 500, 11], + ["load_dynamic", 4, 3, 1, 500, 17], + ["get", 5, 1, 1, 500, 24], + ["load_field", 6, 5, "peer", 500, 24], + ["is_identical", 7, 4, 6, 500, 24], + ["jump_true", 7, "eq_done_329", 500, 24], + ["is_int", 8, 4, 500, 24], + ["jump_false", 8, "eq_ni_330", 500, 24], + ["is_int", 9, 6, 500, 24], + ["jump_false", 9, "eq_ni_330", 500, 24], + ["eq_int", 7, 4, 6, 500, 24], + ["jump", "eq_done_329", 500, 24], + "eq_ni_330", + ["is_num", 8, 4, 500, 24], + ["jump_false", 8, "eq_nn_331", 500, 24], + ["is_num", 9, 6, 500, 24], + ["jump_false", 9, "eq_nn_331", 500, 24], + ["eq_float", 7, 4, 6, 500, 24], + ["jump", "eq_done_329", 500, 24], + "eq_nn_331", + ["is_text", 8, 4, 500, 24], + ["jump_false", 8, "eq_nt_332", 500, 24], + ["is_text", 9, 6, 500, 24], + ["jump_false", 9, "eq_nt_332", 500, 24], + ["eq_text", 7, 4, 6, 500, 24], + ["jump", "eq_done_329", 500, 24], + "eq_nt_332", + ["is_null", 8, 4, 500, 24], + ["jump_false", 8, "eq_nnl_333", 500, 24], + ["is_null", 9, 6, 500, 24], + ["jump_false", 9, "eq_nnl_333", 500, 24], + ["true", 7, 500, 24], + ["jump", "eq_done_329", 500, 24], + "eq_nnl_333", + ["is_bool", 8, 4, 500, 24], + ["jump_false", 8, "eq_nb_334", 500, 24], + ["is_bool", 9, 6, 500, 24], + ["jump_false", 9, "eq_nb_334", 500, 24], + ["eq_bool", 7, 4, 6, 500, 24], + ["jump", "eq_done_329", 500, 24], + "eq_nb_334", + ["false", 7, 500, 24], + "eq_done_329", + ["jump_false", 7, "if_else_327", 500, 24], + ["get", 11, 24, 2, 500, 39], + ["delete", 10, 11, 1, 500, 45], + ["jump", "if_end_328", 500, 45], + "if_else_327", + "if_end_328", + ["null", 12, 500, 45], + ["return", 12, 500, 45] ], "name": "", "filename": "internal/engine.cm", @@ -2742,50 +3065,50 @@ "nr_slots": 175, "nr_close_slots": 0, "instructions": [ - ["null", 3, 449, 15], - ["null", 2, 450, 14], - ["load_field", 4, 1, "type", 452, 7], - ["access", 5, "connect", 452, 17], - ["is_identical", 6, 4, 5, 452, 17], - ["jump_true", 6, "eq_done_273", 452, 17], - ["is_int", 7, 4, 452, 17], - ["jump_false", 7, "eq_ni_274", 452, 17], + ["null", 3, 485, 15], + ["null", 2, 486, 14], + ["load_field", 4, 1, "type", 488, 7], + ["access", 5, "connect", 488, 17], + ["is_identical", 6, 4, 5, 488, 17], + ["jump_true", 6, "eq_done_295", 488, 17], + ["is_int", 7, 4, 488, 17], + ["jump_false", 7, "eq_ni_296", 488, 17], "_nop_tc_1", - ["jump", "eq_ni_274", 452, 17], - ["eq_int", 6, 4, 5, 452, 17], - ["jump", "eq_done_273", 452, 17], - "eq_ni_274", - ["is_num", 7, 4, 452, 17], - ["jump_false", 7, "eq_nn_275", 452, 17], - ["is_num", 8, 5, 452, 17], - ["jump_false", 8, "eq_nn_275", 452, 17], - ["eq_float", 6, 4, 5, 452, 17], - ["jump", "eq_done_273", 452, 17], - "eq_nn_275", - ["is_text", 7, 4, 452, 17], - ["jump_false", 7, "eq_nt_276", 452, 17], - ["is_text", 8, 5, 452, 17], - ["jump_false", 8, "eq_nt_276", 452, 17], - ["eq_text", 6, 4, 5, 452, 17], - ["jump", "eq_done_273", 452, 17], - "eq_nt_276", - ["is_null", 7, 4, 452, 17], - ["jump_false", 7, "eq_nnl_277", 452, 17], - ["is_null", 8, 5, 452, 17], - ["jump_false", 8, "eq_nnl_277", 452, 17], - ["true", 6, 452, 17], - ["jump", "eq_done_273", 452, 17], - "eq_nnl_277", - ["is_bool", 7, 4, 452, 17], - ["jump_false", 7, "eq_nb_278", 452, 17], - ["is_bool", 8, 5, 452, 17], - ["jump_false", 8, "eq_nb_278", 452, 17], - ["eq_bool", 6, 4, 5, 452, 17], - ["jump", "eq_done_273", 452, 17], - "eq_nb_278", - ["false", 6, 452, 17], - "eq_done_273", - ["jump_false", 6, "if_else_271", 452, 17], + ["jump", "eq_ni_296", 488, 17], + ["eq_int", 6, 4, 5, 488, 17], + ["jump", "eq_done_295", 488, 17], + "eq_ni_296", + ["is_num", 7, 4, 488, 17], + ["jump_false", 7, "eq_nn_297", 488, 17], + ["is_num", 8, 5, 488, 17], + ["jump_false", 8, "eq_nn_297", 488, 17], + ["eq_float", 6, 4, 5, 488, 17], + ["jump", "eq_done_295", 488, 17], + "eq_nn_297", + ["is_text", 7, 4, 488, 17], + ["jump_false", 7, "eq_nt_298", 488, 17], + ["is_text", 8, 5, 488, 17], + ["jump_false", 8, "eq_nt_298", 488, 17], + ["eq_text", 6, 4, 5, 488, 17], + ["jump", "eq_done_295", 488, 17], + "eq_nt_298", + ["is_null", 7, 4, 488, 17], + ["jump_false", 7, "eq_nnl_299", 488, 17], + ["is_null", 8, 5, 488, 17], + ["jump_false", 8, "eq_nnl_299", 488, 17], + ["true", 6, 488, 17], + ["jump", "eq_done_295", 488, 17], + "eq_nnl_299", + ["is_bool", 7, 4, 488, 17], + ["jump_false", 7, "eq_nb_300", 488, 17], + ["is_bool", 8, 5, 488, 17], + ["jump_false", 8, "eq_nb_300", 488, 17], + ["eq_bool", 6, 4, 5, 488, 17], + ["jump", "eq_done_295", 488, 17], + "eq_nb_300", + ["false", 6, 488, 17], + "eq_done_295", + ["jump_false", 6, "if_else_293", 488, 17], ["load_field", 9, 1, "peer", 1, 1], ["load_field", 10, 9, "address", 1, 1], ["load_field", 11, 1, "peer", 1, 1], @@ -2811,28 +3134,28 @@ ["setarg", 17, 1, 15, 1, 1], ["setarg", 17, 2, 13, 1, 1], ["invoke", 17, 16, 1, 1], - ["get", 20, 63, 1, 453, 5], - ["is_proxy", 21, 20, 453, 5], - ["jump_false", 21, "record_path_279", 453, 5], - ["null", 22, 453, 5], - ["access", 23, "system", 453, 5], - ["array", 24, 0, 453, 5], - ["push", 24, 16, 453, 5], - ["frame", 25, 20, 2, 453, 5], - ["setarg", 25, 0, 22, 453, 5], - ["setarg", 25, 1, 23, 453, 5], - ["setarg", 25, 2, 24, 453, 5], - ["invoke", 25, 19, 453, 5], - ["jump", "call_done_280", 453, 5], - "record_path_279", - ["load_field", 26, 20, "system", 453, 5], - ["frame", 27, 26, 1, 453, 5], - ["setarg", 27, 0, 20, 453, 5], - ["setarg", 27, 1, 16, 453, 5], - ["invoke", 27, 19, 453, 5], - "call_done_280", - ["load_field", 28, 1, "peer", 454, 49], - ["get", 29, 24, 1, 454, 5], + ["get", 20, 63, 1, 489, 5], + ["is_proxy", 21, 20, 489, 5], + ["jump_false", 21, "record_path_301", 489, 5], + ["null", 22, 489, 5], + ["access", 23, "system", 489, 5], + ["array", 24, 0, 489, 5], + ["push", 24, 16, 489, 5], + ["frame", 25, 20, 2, 489, 5], + ["setarg", 25, 0, 22, 489, 5], + ["setarg", 25, 1, 23, 489, 5], + ["setarg", 25, 2, 24, 489, 5], + ["invoke", 25, 19, 489, 5], + ["jump", "call_done_302", 489, 5], + "record_path_301", + ["load_field", 26, 20, "system", 489, 5], + ["frame", 27, 26, 1, 489, 5], + ["setarg", 27, 0, 20, 489, 5], + ["setarg", 27, 1, 16, 489, 5], + ["invoke", 27, 19, 489, 5], + "call_done_302", + ["load_field", 28, 1, "peer", 490, 49], + ["get", 29, 24, 1, 490, 5], ["load_field", 30, 1, "peer", 1, 1], ["load_field", 31, 30, "address", 1, 1], ["load_field", 32, 1, "peer", 1, 1], @@ -2859,158 +3182,158 @@ ["setarg", 38, 2, 34, 1, 1], ["invoke", 38, 37, 1, 1], ["store_dynamic", 29, 28, 37, 1, 1], - ["load_field", 40, 1, "peer", 455, 28], - ["get", 42, 55, 1, 455, 13], - ["is_proxy", 43, 42, 455, 13], - ["jump_false", 43, "record_path_281", 455, 13], - ["null", 44, 455, 13], - ["access", 45, "get", 455, 13], - ["array", 46, 0, 455, 13], - ["push", 46, 40, 455, 13], - ["frame", 47, 42, 2, 455, 13], - ["setarg", 47, 0, 44, 455, 13], - ["setarg", 47, 1, 45, 455, 13], - ["setarg", 47, 2, 46, 455, 13], - ["invoke", 47, 41, 455, 13], - ["jump", "call_done_282", 455, 13], - "record_path_281", - ["load_field", 48, 42, "get", 455, 13], - ["frame", 49, 48, 1, 455, 13], - ["setarg", 49, 0, 42, 455, 13], - ["setarg", 49, 1, 40, 455, 13], - ["invoke", 49, 41, 455, 13], - "call_done_282", - ["move", 3, 41, 455, 13], - ["jump_false", 3, "if_else_283", 456, 9], - ["function", 50, 19, 457, 21], - ["length", 52, 3, 457, 21], - ["int", 53, 0, 457, 21], - ["int", 57, 1, 457, 21], - ["null", 56, 457, 21], - "arrfor_loop_289", - ["lt_int", 54, 53, 52, 457, 21], - ["jump_false", 54, "arrfor_done_290", 457, 21], - ["load_index", 55, 3, 53, 457, 21], - ["frame", 58, 50, 2, 457, 21], - ["setarg", 58, 0, 56, 457, 21], - ["setarg", 58, 1, 55, 457, 21], - ["setarg", 58, 2, 53, 457, 21], - ["invoke", 58, 59, 457, 21], - ["add_int", 53, 53, 57, 457, 21], - ["jump", "arrfor_loop_289", 457, 21], - "arrfor_done_290", - ["null", 51, 457, 21], - ["access", 60, "sent queue out of queue", 458, 18], - ["get", 62, 63, 1, 458, 7], - ["is_proxy", 63, 62, 458, 7], - ["jump_false", 63, "record_path_291", 458, 7], - ["null", 64, 458, 7], - ["access", 65, "system", 458, 7], - ["array", 66, 0, 458, 7], - ["push", 66, 60, 458, 7], - ["frame", 67, 62, 2, 458, 7], - ["setarg", 67, 0, 64, 458, 7], - ["setarg", 67, 1, 65, 458, 7], - ["setarg", 67, 2, 66, 458, 7], - ["invoke", 67, 61, 458, 7], - ["jump", "call_done_292", 458, 7], - "record_path_291", - ["load_field", 68, 62, "system", 458, 7], - ["frame", 69, 68, 1, 458, 7], - ["setarg", 69, 0, 62, 458, 7], - ["setarg", 69, 1, 60, 458, 7], - ["invoke", 69, 61, 458, 7], - "call_done_292", - ["load_field", 70, 1, "peer", 459, 25], - ["get", 72, 55, 1, 459, 7], - ["is_proxy", 73, 72, 459, 7], - ["jump_false", 73, "record_path_293", 459, 7], - ["null", 74, 459, 7], - ["access", 75, "delete", 459, 7], - ["array", 76, 0, 459, 7], - ["push", 76, 70, 459, 7], - ["frame", 77, 72, 2, 459, 7], - ["setarg", 77, 0, 74, 459, 7], - ["setarg", 77, 1, 75, 459, 7], - ["setarg", 77, 2, 76, 459, 7], - ["invoke", 77, 71, 459, 7], - ["jump", "call_done_294", 459, 7], - "record_path_293", - ["load_field", 78, 72, "delete", 459, 7], - ["frame", 79, 78, 1, 459, 7], - ["setarg", 79, 0, 72, 459, 7], - ["setarg", 79, 1, 70, 459, 7], - ["invoke", 79, 71, 459, 7], - "call_done_294", - ["jump", "if_end_284", 459, 7], - "if_else_283", - "if_end_284", - ["jump", "if_end_272", 459, 7], - "if_else_271", - ["load_field", 80, 1, "type", 461, 14], - ["access", 81, "disconnect", 461, 24], - ["is_identical", 82, 80, 81, 461, 24], - ["jump_true", 82, "eq_done_297", 461, 24], - ["is_int", 83, 80, 461, 24], - ["jump_false", 83, "eq_ni_298", 461, 24], - "_nop_tc_2", - ["jump", "eq_ni_298", 461, 24], - ["eq_int", 82, 80, 81, 461, 24], - ["jump", "eq_done_297", 461, 24], - "eq_ni_298", - ["is_num", 83, 80, 461, 24], - ["jump_false", 83, "eq_nn_299", 461, 24], - ["is_num", 84, 81, 461, 24], - ["jump_false", 84, "eq_nn_299", 461, 24], - ["eq_float", 82, 80, 81, 461, 24], - ["jump", "eq_done_297", 461, 24], - "eq_nn_299", - ["is_text", 83, 80, 461, 24], - ["jump_false", 83, "eq_nt_300", 461, 24], - ["is_text", 84, 81, 461, 24], - ["jump_false", 84, "eq_nt_300", 461, 24], - ["eq_text", 82, 80, 81, 461, 24], - ["jump", "eq_done_297", 461, 24], - "eq_nt_300", - ["is_null", 83, 80, 461, 24], - ["jump_false", 83, "eq_nnl_301", 461, 24], - ["is_null", 84, 81, 461, 24], - ["jump_false", 84, "eq_nnl_301", 461, 24], - ["true", 82, 461, 24], - ["jump", "eq_done_297", 461, 24], - "eq_nnl_301", - ["is_bool", 83, 80, 461, 24], - ["jump_false", 83, "eq_nb_302", 461, 24], - ["is_bool", 84, 81, 461, 24], - ["jump_false", 84, "eq_nb_302", 461, 24], - ["eq_bool", 82, 80, 81, 461, 24], - ["jump", "eq_done_297", 461, 24], - "eq_nb_302", - ["false", 82, 461, 24], - "eq_done_297", - ["jump_false", 82, "if_else_295", 461, 24], - ["load_field", 85, 1, "peer", 462, 23], - ["get", 87, 55, 1, 462, 5], - ["is_proxy", 88, 87, 462, 5], - ["jump_false", 88, "record_path_303", 462, 5], - ["null", 89, 462, 5], - ["access", 90, "delete", 462, 5], - ["array", 91, 0, 462, 5], - ["push", 91, 85, 462, 5], - ["frame", 92, 87, 2, 462, 5], - ["setarg", 92, 0, 89, 462, 5], - ["setarg", 92, 1, 90, 462, 5], - ["setarg", 92, 2, 91, 462, 5], - ["invoke", 92, 86, 462, 5], - ["jump", "call_done_304", 462, 5], + ["load_field", 40, 1, "peer", 491, 28], + ["get", 42, 55, 1, 491, 13], + ["is_proxy", 43, 42, 491, 13], + ["jump_false", 43, "record_path_303", 491, 13], + ["null", 44, 491, 13], + ["access", 45, "get", 491, 13], + ["array", 46, 0, 491, 13], + ["push", 46, 40, 491, 13], + ["frame", 47, 42, 2, 491, 13], + ["setarg", 47, 0, 44, 491, 13], + ["setarg", 47, 1, 45, 491, 13], + ["setarg", 47, 2, 46, 491, 13], + ["invoke", 47, 41, 491, 13], + ["jump", "call_done_304", 491, 13], "record_path_303", - ["load_field", 93, 87, "delete", 462, 5], - ["frame", 94, 93, 1, 462, 5], - ["setarg", 94, 0, 87, 462, 5], - ["setarg", 94, 1, 85, 462, 5], - ["invoke", 94, 86, 462, 5], + ["load_field", 48, 42, "get", 491, 13], + ["frame", 49, 48, 1, 491, 13], + ["setarg", 49, 0, 42, 491, 13], + ["setarg", 49, 1, 40, 491, 13], + ["invoke", 49, 41, 491, 13], "call_done_304", - ["get", 95, 24, 1, 463, 18], + ["move", 3, 41, 491, 13], + ["jump_false", 3, "if_else_305", 492, 9], + ["function", 50, 19, 493, 21], + ["length", 52, 3, 493, 21], + ["int", 53, 0, 493, 21], + ["int", 57, 1, 493, 21], + ["null", 56, 493, 21], + "arrfor_loop_311", + ["lt_int", 54, 53, 52, 493, 21], + ["jump_false", 54, "arrfor_done_312", 493, 21], + ["load_index", 55, 3, 53, 493, 21], + ["frame", 58, 50, 2, 493, 21], + ["setarg", 58, 0, 56, 493, 21], + ["setarg", 58, 1, 55, 493, 21], + ["setarg", 58, 2, 53, 493, 21], + ["invoke", 58, 59, 493, 21], + ["add_int", 53, 53, 57, 493, 21], + ["jump", "arrfor_loop_311", 493, 21], + "arrfor_done_312", + ["null", 51, 493, 21], + ["access", 60, "sent queue out of queue", 494, 18], + ["get", 62, 63, 1, 494, 7], + ["is_proxy", 63, 62, 494, 7], + ["jump_false", 63, "record_path_313", 494, 7], + ["null", 64, 494, 7], + ["access", 65, "system", 494, 7], + ["array", 66, 0, 494, 7], + ["push", 66, 60, 494, 7], + ["frame", 67, 62, 2, 494, 7], + ["setarg", 67, 0, 64, 494, 7], + ["setarg", 67, 1, 65, 494, 7], + ["setarg", 67, 2, 66, 494, 7], + ["invoke", 67, 61, 494, 7], + ["jump", "call_done_314", 494, 7], + "record_path_313", + ["load_field", 68, 62, "system", 494, 7], + ["frame", 69, 68, 1, 494, 7], + ["setarg", 69, 0, 62, 494, 7], + ["setarg", 69, 1, 60, 494, 7], + ["invoke", 69, 61, 494, 7], + "call_done_314", + ["load_field", 70, 1, "peer", 495, 25], + ["get", 72, 55, 1, 495, 7], + ["is_proxy", 73, 72, 495, 7], + ["jump_false", 73, "record_path_315", 495, 7], + ["null", 74, 495, 7], + ["access", 75, "delete", 495, 7], + ["array", 76, 0, 495, 7], + ["push", 76, 70, 495, 7], + ["frame", 77, 72, 2, 495, 7], + ["setarg", 77, 0, 74, 495, 7], + ["setarg", 77, 1, 75, 495, 7], + ["setarg", 77, 2, 76, 495, 7], + ["invoke", 77, 71, 495, 7], + ["jump", "call_done_316", 495, 7], + "record_path_315", + ["load_field", 78, 72, "delete", 495, 7], + ["frame", 79, 78, 1, 495, 7], + ["setarg", 79, 0, 72, 495, 7], + ["setarg", 79, 1, 70, 495, 7], + ["invoke", 79, 71, 495, 7], + "call_done_316", + ["jump", "if_end_306", 495, 7], + "if_else_305", + "if_end_306", + ["jump", "if_end_294", 495, 7], + "if_else_293", + ["load_field", 80, 1, "type", 497, 14], + ["access", 81, "disconnect", 497, 24], + ["is_identical", 82, 80, 81, 497, 24], + ["jump_true", 82, "eq_done_319", 497, 24], + ["is_int", 83, 80, 497, 24], + ["jump_false", 83, "eq_ni_320", 497, 24], + "_nop_tc_2", + ["jump", "eq_ni_320", 497, 24], + ["eq_int", 82, 80, 81, 497, 24], + ["jump", "eq_done_319", 497, 24], + "eq_ni_320", + ["is_num", 83, 80, 497, 24], + ["jump_false", 83, "eq_nn_321", 497, 24], + ["is_num", 84, 81, 497, 24], + ["jump_false", 84, "eq_nn_321", 497, 24], + ["eq_float", 82, 80, 81, 497, 24], + ["jump", "eq_done_319", 497, 24], + "eq_nn_321", + ["is_text", 83, 80, 497, 24], + ["jump_false", 83, "eq_nt_322", 497, 24], + ["is_text", 84, 81, 497, 24], + ["jump_false", 84, "eq_nt_322", 497, 24], + ["eq_text", 82, 80, 81, 497, 24], + ["jump", "eq_done_319", 497, 24], + "eq_nt_322", + ["is_null", 83, 80, 497, 24], + ["jump_false", 83, "eq_nnl_323", 497, 24], + ["is_null", 84, 81, 497, 24], + ["jump_false", 84, "eq_nnl_323", 497, 24], + ["true", 82, 497, 24], + ["jump", "eq_done_319", 497, 24], + "eq_nnl_323", + ["is_bool", 83, 80, 497, 24], + ["jump_false", 83, "eq_nb_324", 497, 24], + ["is_bool", 84, 81, 497, 24], + ["jump_false", 84, "eq_nb_324", 497, 24], + ["eq_bool", 82, 80, 81, 497, 24], + ["jump", "eq_done_319", 497, 24], + "eq_nb_324", + ["false", 82, 497, 24], + "eq_done_319", + ["jump_false", 82, "if_else_317", 497, 24], + ["load_field", 85, 1, "peer", 498, 23], + ["get", 87, 55, 1, 498, 5], + ["is_proxy", 88, 87, 498, 5], + ["jump_false", 88, "record_path_325", 498, 5], + ["null", 89, 498, 5], + ["access", 90, "delete", 498, 5], + ["array", 91, 0, 498, 5], + ["push", 91, 85, 498, 5], + ["frame", 92, 87, 2, 498, 5], + ["setarg", 92, 0, 89, 498, 5], + ["setarg", 92, 1, 90, 498, 5], + ["setarg", 92, 2, 91, 498, 5], + ["invoke", 92, 86, 498, 5], + ["jump", "call_done_326", 498, 5], + "record_path_325", + ["load_field", 93, 87, "delete", 498, 5], + ["frame", 94, 93, 1, 498, 5], + ["setarg", 94, 0, 87, 498, 5], + ["setarg", 94, 1, 85, 498, 5], + ["invoke", 94, 86, 498, 5], + "call_done_326", + ["get", 95, 24, 1, 499, 18], [ "access", 97, @@ -3019,239 +3342,239 @@ "kind": "name", "make": "intrinsic" }, - 463, + 499, 12 ], - ["frame", 98, 97, 1, 463, 12], - ["null", 99, 463, 12], - ["setarg", 98, 0, 99, 463, 12], - ["setarg", 98, 1, 95, 463, 12], - ["invoke", 98, 96, 463, 12], - ["function", 100, 20, 463, 26], - ["length", 102, 96, 463, 26], - ["int", 103, 0, 463, 26], - ["int", 107, 1, 463, 26], - ["null", 106, 463, 26], - "arrfor_loop_313", - ["lt_int", 104, 103, 102, 463, 26], - ["jump_false", 104, "arrfor_done_314", 463, 26], - ["load_index", 105, 96, 103, 463, 26], - ["frame", 108, 100, 2, 463, 26], - ["setarg", 108, 0, 106, 463, 26], - ["setarg", 108, 1, 105, 463, 26], - ["setarg", 108, 2, 103, 463, 26], - ["invoke", 108, 109, 463, 26], - ["add_int", 103, 103, 107, 463, 26], - ["jump", "arrfor_loop_313", 463, 26], - "arrfor_done_314", - ["null", 101, 463, 26], - ["access", 110, "portal got disconnect from ", 466, 16], - ["load_field", 111, 1, "peer", 466, 48], - ["load_field", 112, 111, "address", 466, 48], + ["frame", 98, 97, 1, 499, 12], + ["null", 99, 499, 12], + ["setarg", 98, 0, 99, 499, 12], + ["setarg", 98, 1, 95, 499, 12], + ["invoke", 98, 96, 499, 12], + ["function", 100, 20, 499, 26], + ["length", 102, 96, 499, 26], + ["int", 103, 0, 499, 26], + ["int", 107, 1, 499, 26], + ["null", 106, 499, 26], + "arrfor_loop_335", + ["lt_int", 104, 103, 102, 499, 26], + ["jump_false", 104, "arrfor_done_336", 499, 26], + ["load_index", 105, 96, 103, 499, 26], + ["frame", 108, 100, 2, 499, 26], + ["setarg", 108, 0, 106, 499, 26], + ["setarg", 108, 1, 105, 499, 26], + ["setarg", 108, 2, 103, 499, 26], + ["invoke", 108, 109, 499, 26], + ["add_int", 103, 103, 107, 499, 26], + ["jump", "arrfor_loop_335", 499, 26], + "arrfor_done_336", + ["null", 101, 499, 26], + ["access", 110, "portal got disconnect from ", 502, 16], + ["load_field", 111, 1, "peer", 502, 48], + ["load_field", 112, 111, "address", 502, 48], "_nop_tc_3", - ["jump", "add_ni_315", 466, 48], - ["is_int", 115, 112, 466, 48], - ["jump_false", 115, "add_ni_315", 466, 48], - ["add_int", 113, 110, 112, 466, 48], - ["jump", "add_done_317", 466, 48], - "add_ni_315", - ["is_text", 115, 112, 466, 48], - ["jump_false", 115, "add_nt_316", 466, 48], - ["concat", 113, 110, 112, 466, 48], - ["jump", "add_done_317", 466, 48], - "add_nt_316", - ["is_num", 114, 110, 466, 48], - ["jump_false", 114, "add_err_318", 466, 48], - ["is_num", 115, 112, 466, 48], - ["jump_false", 115, "add_err_318", 466, 48], - ["add_float", 113, 110, 112, 466, 48], - ["jump", "add_done_317", 466, 48], - "add_err_318", - ["disrupt", 466, 48], - "add_done_317", - ["access", 116, ":", 466, 65], - ["is_int", 118, 113, 466, 65], - ["jump_false", 118, "add_ni_319", 466, 65], + ["jump", "add_ni_337", 502, 48], + ["is_int", 115, 112, 502, 48], + ["jump_false", 115, "add_ni_337", 502, 48], + ["add_int", 113, 110, 112, 502, 48], + ["jump", "add_done_339", 502, 48], + "add_ni_337", + ["is_text", 115, 112, 502, 48], + ["jump_false", 115, "add_nt_338", 502, 48], + ["concat", 113, 110, 112, 502, 48], + ["jump", "add_done_339", 502, 48], + "add_nt_338", + ["is_num", 114, 110, 502, 48], + ["jump_false", 114, "add_err_340", 502, 48], + ["is_num", 115, 112, 502, 48], + ["jump_false", 115, "add_err_340", 502, 48], + ["add_float", 113, 110, 112, 502, 48], + ["jump", "add_done_339", 502, 48], + "add_err_340", + ["disrupt", 502, 48], + "add_done_339", + ["access", 116, ":", 502, 65], + ["is_int", 118, 113, 502, 65], + ["jump_false", 118, "add_ni_341", 502, 65], "_nop_tc_4", - ["jump", "add_ni_319", 466, 65], - ["add_int", 117, 113, 116, 466, 65], - ["jump", "add_done_321", 466, 65], - "add_ni_319", - ["is_text", 118, 113, 466, 65], - ["jump_false", 118, "add_nt_320", 466, 65], - ["concat", 117, 113, 116, 466, 65], - ["jump", "add_done_321", 466, 65], - "add_nt_320", - ["is_num", 118, 113, 466, 65], - ["jump_false", 118, "add_err_322", 466, 65], - ["is_num", 119, 116, 466, 65], - ["jump_false", 119, "add_err_322", 466, 65], - ["add_float", 117, 113, 116, 466, 65], - ["jump", "add_done_321", 466, 65], - "add_err_322", - ["disrupt", 466, 65], - "add_done_321", - ["load_field", 120, 1, "peer", 466, 71], - ["load_field", 121, 120, "port", 466, 71], - ["is_int", 123, 117, 466, 71], - ["jump_false", 123, "add_ni_323", 466, 71], - ["is_int", 124, 121, 466, 71], - ["jump_false", 124, "add_ni_323", 466, 71], - ["add_int", 122, 117, 121, 466, 71], - ["jump", "add_done_325", 466, 71], - "add_ni_323", - ["is_text", 123, 117, 466, 71], - ["jump_false", 123, "add_nt_324", 466, 71], - ["is_text", 124, 121, 466, 71], - ["jump_false", 124, "add_nt_324", 466, 71], - ["concat", 122, 117, 121, 466, 71], - ["jump", "add_done_325", 466, 71], - "add_nt_324", - ["is_num", 123, 117, 466, 71], - ["jump_false", 123, "add_err_326", 466, 71], - ["is_num", 124, 121, 466, 71], - ["jump_false", 124, "add_err_326", 466, 71], - ["add_float", 122, 117, 121, 466, 71], - ["jump", "add_done_325", 466, 71], - "add_err_326", - ["disrupt", 466, 71], - "add_done_325", - ["get", 126, 63, 1, 466, 5], - ["is_proxy", 127, 126, 466, 5], - ["jump_false", 127, "record_path_327", 466, 5], - ["null", 128, 466, 5], - ["access", 129, "system", 466, 5], - ["array", 130, 0, 466, 5], - ["push", 130, 122, 466, 5], - ["frame", 131, 126, 2, 466, 5], - ["setarg", 131, 0, 128, 466, 5], - ["setarg", 131, 1, 129, 466, 5], - ["setarg", 131, 2, 130, 466, 5], - ["invoke", 131, 125, 466, 5], - ["jump", "call_done_328", 466, 5], - "record_path_327", - ["load_field", 132, 126, "system", 466, 5], - ["frame", 133, 132, 1, 466, 5], - ["setarg", 133, 0, 126, 466, 5], - ["setarg", 133, 1, 122, 466, 5], - ["invoke", 133, 125, 466, 5], - "call_done_328", - ["jump", "if_end_296", 466, 5], - "if_else_295", - ["load_field", 134, 1, "type", 467, 14], - ["access", 135, "receive", 467, 24], - ["is_identical", 136, 134, 135, 467, 24], - ["jump_true", 136, "eq_done_331", 467, 24], - ["is_int", 137, 134, 467, 24], - ["jump_false", 137, "eq_ni_332", 467, 24], + ["jump", "add_ni_341", 502, 65], + ["add_int", 117, 113, 116, 502, 65], + ["jump", "add_done_343", 502, 65], + "add_ni_341", + ["is_text", 118, 113, 502, 65], + ["jump_false", 118, "add_nt_342", 502, 65], + ["concat", 117, 113, 116, 502, 65], + ["jump", "add_done_343", 502, 65], + "add_nt_342", + ["is_num", 118, 113, 502, 65], + ["jump_false", 118, "add_err_344", 502, 65], + ["is_num", 119, 116, 502, 65], + ["jump_false", 119, "add_err_344", 502, 65], + ["add_float", 117, 113, 116, 502, 65], + ["jump", "add_done_343", 502, 65], + "add_err_344", + ["disrupt", 502, 65], + "add_done_343", + ["load_field", 120, 1, "peer", 502, 71], + ["load_field", 121, 120, "port", 502, 71], + ["is_int", 123, 117, 502, 71], + ["jump_false", 123, "add_ni_345", 502, 71], + ["is_int", 124, 121, 502, 71], + ["jump_false", 124, "add_ni_345", 502, 71], + ["add_int", 122, 117, 121, 502, 71], + ["jump", "add_done_347", 502, 71], + "add_ni_345", + ["is_text", 123, 117, 502, 71], + ["jump_false", 123, "add_nt_346", 502, 71], + ["is_text", 124, 121, 502, 71], + ["jump_false", 124, "add_nt_346", 502, 71], + ["concat", 122, 117, 121, 502, 71], + ["jump", "add_done_347", 502, 71], + "add_nt_346", + ["is_num", 123, 117, 502, 71], + ["jump_false", 123, "add_err_348", 502, 71], + ["is_num", 124, 121, 502, 71], + ["jump_false", 124, "add_err_348", 502, 71], + ["add_float", 122, 117, 121, 502, 71], + ["jump", "add_done_347", 502, 71], + "add_err_348", + ["disrupt", 502, 71], + "add_done_347", + ["get", 126, 63, 1, 502, 5], + ["is_proxy", 127, 126, 502, 5], + ["jump_false", 127, "record_path_349", 502, 5], + ["null", 128, 502, 5], + ["access", 129, "system", 502, 5], + ["array", 130, 0, 502, 5], + ["push", 130, 122, 502, 5], + ["frame", 131, 126, 2, 502, 5], + ["setarg", 131, 0, 128, 502, 5], + ["setarg", 131, 1, 129, 502, 5], + ["setarg", 131, 2, 130, 502, 5], + ["invoke", 131, 125, 502, 5], + ["jump", "call_done_350", 502, 5], + "record_path_349", + ["load_field", 132, 126, "system", 502, 5], + ["frame", 133, 132, 1, 502, 5], + ["setarg", 133, 0, 126, 502, 5], + ["setarg", 133, 1, 122, 502, 5], + ["invoke", 133, 125, 502, 5], + "call_done_350", + ["jump", "if_end_318", 502, 5], + "if_else_317", + ["load_field", 134, 1, "type", 503, 14], + ["access", 135, "receive", 503, 24], + ["is_identical", 136, 134, 135, 503, 24], + ["jump_true", 136, "eq_done_353", 503, 24], + ["is_int", 137, 134, 503, 24], + ["jump_false", 137, "eq_ni_354", 503, 24], "_nop_tc_5", - ["jump", "eq_ni_332", 467, 24], - ["eq_int", 136, 134, 135, 467, 24], - ["jump", "eq_done_331", 467, 24], - "eq_ni_332", - ["is_num", 137, 134, 467, 24], - ["jump_false", 137, "eq_nn_333", 467, 24], - ["is_num", 138, 135, 467, 24], - ["jump_false", 138, "eq_nn_333", 467, 24], - ["eq_float", 136, 134, 135, 467, 24], - ["jump", "eq_done_331", 467, 24], - "eq_nn_333", - ["is_text", 137, 134, 467, 24], - ["jump_false", 137, "eq_nt_334", 467, 24], - ["is_text", 138, 135, 467, 24], - ["jump_false", 138, "eq_nt_334", 467, 24], - ["eq_text", 136, 134, 135, 467, 24], - ["jump", "eq_done_331", 467, 24], - "eq_nt_334", - ["is_null", 137, 134, 467, 24], - ["jump_false", 137, "eq_nnl_335", 467, 24], - ["is_null", 138, 135, 467, 24], - ["jump_false", 138, "eq_nnl_335", 467, 24], - ["true", 136, 467, 24], - ["jump", "eq_done_331", 467, 24], - "eq_nnl_335", - ["is_bool", 137, 134, 467, 24], - ["jump_false", 137, "eq_nb_336", 467, 24], - ["is_bool", 138, 135, 467, 24], - ["jump_false", 138, "eq_nb_336", 467, 24], - ["eq_bool", 136, 134, 135, 467, 24], - ["jump", "eq_done_331", 467, 24], - "eq_nb_336", - ["false", 136, 467, 24], - "eq_done_331", - ["jump_false", 136, "if_else_329", 467, 24], - ["load_field", 139, 1, "data", 468, 24], - ["get", 141, 49, 1, 468, 12], - ["is_proxy", 142, 141, 468, 12], - ["jump_false", 142, "record_path_337", 468, 12], - ["null", 143, 468, 12], - ["access", 144, "decode", 468, 12], - ["array", 145, 0, 468, 12], - ["push", 145, 139, 468, 12], - ["frame", 146, 141, 2, 468, 12], - ["setarg", 146, 0, 143, 468, 12], - ["setarg", 146, 1, 144, 468, 12], - ["setarg", 146, 2, 145, 468, 12], - ["invoke", 146, 140, 468, 12], - ["jump", "call_done_338", 468, 12], - "record_path_337", - ["load_field", 147, 141, "decode", 468, 12], - ["frame", 148, 147, 1, 468, 12], - ["setarg", 148, 0, 141, 468, 12], - ["setarg", 148, 1, 139, 468, 12], - ["invoke", 148, 140, 468, 12], - "call_done_338", - ["move", 2, 140, 468, 12], - ["load_field", 149, 2, "replycc", 469, 9], - ["move", 150, 149, 469, 9], - ["jump_false", 150, "and_end_341", 469, 9], - ["load_field", 151, 2, "replycc", 469, 26], - ["load_field", 152, 151, "address", 469, 26], - ["not", 153, 152, 469, 26], - ["move", 150, 153, 469, 26], - "and_end_341", - ["jump_false", 150, "if_else_339", 469, 26], - ["load_field", 154, 1, "peer", 470, 41], - ["load_field", 155, 154, "address", 470, 41], - ["load_field", 156, 2, "replycc", 470, 7], - ["get", 157, 27, 1, 470, 20], - ["load_dynamic", 158, 156, 157, 470, 20], - ["store_field", 158, 155, "address", 470, 20], - ["load_field", 159, 1, "peer", 471, 38], - ["load_field", 160, 159, "port", 471, 38], - ["load_field", 161, 2, "replycc", 471, 7], - ["get", 162, 27, 1, 471, 20], - ["load_dynamic", 163, 161, 162, 471, 20], - ["store_field", 163, 160, "port", 471, 20], - ["jump", "if_end_340", 471, 20], - "if_else_339", - "if_end_340", - ["load_field", 164, 2, "data", 473, 9], - ["jump_false", 164, "if_else_342", 473, 9], - ["load_field", 165, 2, "data", 473, 45], - ["get", 167, 61, 1, 473, 20], - ["frame", 168, 167, 2, 473, 20], - ["null", 169, 473, 20], - ["setarg", 168, 0, 169, 473, 20], - ["setarg", 168, 1, 165, 473, 20], - ["setarg", 168, 2, 1, 473, 20], - ["invoke", 168, 166, 473, 20], - ["jump", "if_end_343", 473, 20], - "if_else_342", - "if_end_343", - ["get", 171, 8, 1, 474, 5], - ["frame", 172, 171, 1, 474, 5], - ["null", 173, 474, 5], - ["setarg", 172, 0, 173, 474, 5], - ["setarg", 172, 1, 2, 474, 5], - ["invoke", 172, 170, 474, 5], - ["jump", "if_end_330", 474, 5], - "if_else_329", - "if_end_330", - "if_end_296", - "if_end_272", - ["null", 174, 474, 5], - ["return", 174, 474, 5] + ["jump", "eq_ni_354", 503, 24], + ["eq_int", 136, 134, 135, 503, 24], + ["jump", "eq_done_353", 503, 24], + "eq_ni_354", + ["is_num", 137, 134, 503, 24], + ["jump_false", 137, "eq_nn_355", 503, 24], + ["is_num", 138, 135, 503, 24], + ["jump_false", 138, "eq_nn_355", 503, 24], + ["eq_float", 136, 134, 135, 503, 24], + ["jump", "eq_done_353", 503, 24], + "eq_nn_355", + ["is_text", 137, 134, 503, 24], + ["jump_false", 137, "eq_nt_356", 503, 24], + ["is_text", 138, 135, 503, 24], + ["jump_false", 138, "eq_nt_356", 503, 24], + ["eq_text", 136, 134, 135, 503, 24], + ["jump", "eq_done_353", 503, 24], + "eq_nt_356", + ["is_null", 137, 134, 503, 24], + ["jump_false", 137, "eq_nnl_357", 503, 24], + ["is_null", 138, 135, 503, 24], + ["jump_false", 138, "eq_nnl_357", 503, 24], + ["true", 136, 503, 24], + ["jump", "eq_done_353", 503, 24], + "eq_nnl_357", + ["is_bool", 137, 134, 503, 24], + ["jump_false", 137, "eq_nb_358", 503, 24], + ["is_bool", 138, 135, 503, 24], + ["jump_false", 138, "eq_nb_358", 503, 24], + ["eq_bool", 136, 134, 135, 503, 24], + ["jump", "eq_done_353", 503, 24], + "eq_nb_358", + ["false", 136, 503, 24], + "eq_done_353", + ["jump_false", 136, "if_else_351", 503, 24], + ["load_field", 139, 1, "data", 504, 24], + ["get", 141, 49, 1, 504, 12], + ["is_proxy", 142, 141, 504, 12], + ["jump_false", 142, "record_path_359", 504, 12], + ["null", 143, 504, 12], + ["access", 144, "decode", 504, 12], + ["array", 145, 0, 504, 12], + ["push", 145, 139, 504, 12], + ["frame", 146, 141, 2, 504, 12], + ["setarg", 146, 0, 143, 504, 12], + ["setarg", 146, 1, 144, 504, 12], + ["setarg", 146, 2, 145, 504, 12], + ["invoke", 146, 140, 504, 12], + ["jump", "call_done_360", 504, 12], + "record_path_359", + ["load_field", 147, 141, "decode", 504, 12], + ["frame", 148, 147, 1, 504, 12], + ["setarg", 148, 0, 141, 504, 12], + ["setarg", 148, 1, 139, 504, 12], + ["invoke", 148, 140, 504, 12], + "call_done_360", + ["move", 2, 140, 504, 12], + ["load_field", 149, 2, "replycc", 505, 9], + ["move", 150, 149, 505, 9], + ["jump_false", 150, "and_end_363", 505, 9], + ["load_field", 151, 2, "replycc", 505, 26], + ["load_field", 152, 151, "address", 505, 26], + ["not", 153, 152, 505, 26], + ["move", 150, 153, 505, 26], + "and_end_363", + ["jump_false", 150, "if_else_361", 505, 26], + ["load_field", 154, 1, "peer", 506, 41], + ["load_field", 155, 154, "address", 506, 41], + ["load_field", 156, 2, "replycc", 506, 7], + ["get", 157, 27, 1, 506, 20], + ["load_dynamic", 158, 156, 157, 506, 20], + ["store_field", 158, 155, "address", 506, 20], + ["load_field", 159, 1, "peer", 507, 38], + ["load_field", 160, 159, "port", 507, 38], + ["load_field", 161, 2, "replycc", 507, 7], + ["get", 162, 27, 1, 507, 20], + ["load_dynamic", 163, 161, 162, 507, 20], + ["store_field", 163, 160, "port", 507, 20], + ["jump", "if_end_362", 507, 20], + "if_else_361", + "if_end_362", + ["load_field", 164, 2, "data", 509, 9], + ["jump_false", 164, "if_else_364", 509, 9], + ["load_field", 165, 2, "data", 509, 45], + ["get", 167, 61, 1, 509, 20], + ["frame", 168, 167, 2, 509, 20], + ["null", 169, 509, 20], + ["setarg", 168, 0, 169, 509, 20], + ["setarg", 168, 1, 165, 509, 20], + ["setarg", 168, 2, 1, 509, 20], + ["invoke", 168, 166, 509, 20], + ["jump", "if_end_365", 509, 20], + "if_else_364", + "if_end_365", + ["get", 171, 8, 1, 510, 5], + ["frame", 172, 171, 1, 510, 5], + ["null", 173, 510, 5], + ["setarg", 172, 0, 173, 510, 5], + ["setarg", 172, 1, 2, 510, 5], + ["invoke", 172, 170, 510, 5], + ["jump", "if_end_352", 510, 5], + "if_else_351", + "if_end_352", + "if_end_318", + "if_end_294", + ["null", 174, 510, 5], + ["return", 174, 510, 5] ], "name": "handle_host", "filename": "internal/engine.cm", @@ -3262,24 +3585,24 @@ "nr_slots": 13, "nr_close_slots": 0, "instructions": [ - ["get", 3, 1, 1, 485, 16], - ["in", 4, 1, 3, 485, 16], - ["jump_false", 4, "if_else_349", 485, 16], - ["get", 5, 1, 1, 486, 32], - ["load_dynamic", 6, 5, 1, 486, 36], - ["get", 7, 2, 1, 486, 42], - ["get", 9, 61, 2, 486, 7], - ["frame", 10, 9, 2, 486, 7], - ["null", 11, 486, 7], - ["setarg", 10, 0, 11, 486, 7], - ["setarg", 10, 1, 6, 486, 7], - ["setarg", 10, 2, 7, 486, 7], - ["invoke", 10, 8, 486, 7], - ["jump", "if_end_350", 486, 7], - "if_else_349", - "if_end_350", - ["null", 12, 486, 7], - ["return", 12, 486, 7] + ["get", 3, 1, 1, 521, 16], + ["in", 4, 1, 3, 521, 16], + ["jump_false", 4, "if_else_371", 521, 16], + ["get", 5, 1, 1, 522, 32], + ["load_dynamic", 6, 5, 1, 522, 36], + ["get", 7, 2, 1, 522, 42], + ["get", 9, 61, 2, 522, 7], + ["frame", 10, 9, 2, 522, 7], + ["null", 11, 522, 7], + ["setarg", 10, 0, 11, 522, 7], + ["setarg", 10, 1, 6, 522, 7], + ["setarg", 10, 2, 7, 522, 7], + ["invoke", 10, 8, 522, 7], + ["jump", "if_end_372", 522, 7], + "if_else_371", + "if_end_372", + ["null", 12, 522, 7], + ["return", 12, 522, 7] ], "name": "", "filename": "internal/engine.cm", @@ -3290,38 +3613,38 @@ "nr_slots": 36, "nr_close_slots": 0, "instructions": [ - ["is_record", 3, 1, 479, 18], + ["is_record", 3, 1, 515, 18], "_nop_bl_1", - ["jump_true", 3, "if_else_344", 479, 18], - ["null", 5, 479, 24], - ["return", 5, 479, 24], - ["jump", "if_end_345", 479, 24], - "if_else_344", - "if_end_345", - ["get", 6, 27, 1, 480, 11], - ["load_dynamic", 7, 1, 6, 480, 11], - ["move", 8, 7, 480, 11], - ["jump_false", 8, "and_end_348", 480, 11], - ["get", 9, 27, 1, 480, 30], - ["load_dynamic", 10, 1, 9, 480, 30], - ["load_field", 11, 10, "address", 480, 30], - ["not", 12, 11, 480, 30], - ["move", 8, 12, 480, 30], - "and_end_348", - ["jump_false", 8, "if_else_346", 480, 30], - ["load_field", 13, 2, "peer", 481, 30], - ["load_field", 14, 13, "address", 481, 30], - ["get", 15, 27, 1, 481, 9], - ["load_dynamic", 16, 1, 15, 481, 9], - ["store_field", 16, 14, "address", 481, 9], - ["load_field", 17, 2, "peer", 482, 27], - ["load_field", 18, 17, "port", 482, 27], - ["get", 19, 27, 1, 482, 9], - ["load_dynamic", 20, 1, 19, 482, 9], - ["store_field", 20, 18, "port", 482, 9], - ["jump", "if_end_347", 482, 9], - "if_else_346", - "if_end_347", + ["jump_true", 3, "if_else_366", 515, 18], + ["null", 5, 515, 24], + ["return", 5, 515, 24], + ["jump", "if_end_367", 515, 24], + "if_else_366", + "if_end_367", + ["get", 6, 27, 1, 516, 11], + ["load_dynamic", 7, 1, 6, 516, 11], + ["move", 8, 7, 516, 11], + ["jump_false", 8, "and_end_370", 516, 11], + ["get", 9, 27, 1, 516, 30], + ["load_dynamic", 10, 1, 9, 516, 30], + ["load_field", 11, 10, "address", 516, 30], + ["not", 12, 11, 516, 30], + ["move", 8, 12, 516, 30], + "and_end_370", + ["jump_false", 8, "if_else_368", 516, 30], + ["load_field", 13, 2, "peer", 517, 30], + ["load_field", 14, 13, "address", 517, 30], + ["get", 15, 27, 1, 517, 9], + ["load_dynamic", 16, 1, 15, 517, 9], + ["store_field", 16, 14, "address", 517, 9], + ["load_field", 17, 2, "peer", 518, 27], + ["load_field", 18, 17, "port", 518, 27], + ["get", 19, 27, 1, 518, 9], + ["load_dynamic", 20, 1, 19, 518, 9], + ["store_field", 20, 18, "port", 518, 9], + ["jump", "if_end_369", 518, 9], + "if_else_368", + "if_end_369", [ "access", 22, @@ -3330,34 +3653,34 @@ "kind": "name", "make": "intrinsic" }, - 484, + 520, 10 ], - ["frame", 23, 22, 1, 484, 10], - ["null", 24, 484, 10], - ["setarg", 23, 0, 24, 484, 10], - ["setarg", 23, 1, 1, 484, 10], - ["invoke", 23, 21, 484, 10], - ["function", 25, 22, 484, 22], - ["length", 27, 21, 484, 22], - ["int", 28, 0, 484, 22], - ["int", 32, 1, 484, 22], - ["null", 31, 484, 22], - "arrfor_loop_351", - ["lt_int", 29, 28, 27, 484, 22], - ["jump_false", 29, "arrfor_done_352", 484, 22], - ["load_index", 30, 21, 28, 484, 22], - ["frame", 33, 25, 2, 484, 22], - ["setarg", 33, 0, 31, 484, 22], - ["setarg", 33, 1, 30, 484, 22], - ["setarg", 33, 2, 28, 484, 22], - ["invoke", 33, 34, 484, 22], - ["add_int", 28, 28, 32, 484, 22], - ["jump", "arrfor_loop_351", 484, 22], - "arrfor_done_352", - ["null", 26, 484, 22], - ["null", 35, 484, 22], - ["return", 35, 484, 22] + ["frame", 23, 22, 1, 520, 10], + ["null", 24, 520, 10], + ["setarg", 23, 0, 24, 520, 10], + ["setarg", 23, 1, 1, 520, 10], + ["invoke", 23, 21, 520, 10], + ["function", 25, 22, 520, 22], + ["length", 27, 21, 520, 22], + ["int", 28, 0, 520, 22], + ["int", 32, 1, 520, 22], + ["null", 31, 520, 22], + "arrfor_loop_373", + ["lt_int", 29, 28, 27, 520, 22], + ["jump_false", 29, "arrfor_done_374", 520, 22], + ["load_index", 30, 21, 28, 520, 22], + ["frame", 33, 25, 2, 520, 22], + ["setarg", 33, 0, 31, 520, 22], + ["setarg", 33, 1, 30, 520, 22], + ["setarg", 33, 2, 28, 520, 22], + ["invoke", 33, 34, 520, 22], + ["add_int", 28, 28, 32, 520, 22], + ["jump", "arrfor_loop_373", 520, 22], + "arrfor_done_374", + ["null", 26, 520, 22], + ["null", 35, 520, 22], + ["return", 35, 520, 22] ], "name": "populate_actor_addresses", "filename": "internal/engine.cm", @@ -3368,19 +3691,19 @@ "nr_slots": 7, "nr_close_slots": 0, "instructions": [ - ["get", 3, 43, 1, 560, 8], + ["get", 3, 43, 1, 596, 8], ["record", 4, 0], - ["store_field", 4, 1, "actor", 560, 24], - ["store_field", 4, 2, "send", 560, 30], - ["is_array", 5, 3, 560, 30], - ["jump_false", 5, "push_err_353", 560, 30], - ["push", 3, 4, 560, 30], - ["jump", "push_done_354", 560, 30], - "push_err_353", - ["disrupt", 560, 30], - "push_done_354", - ["null", 6, 560, 30], - ["return", 6, 560, 30] + ["store_field", 4, 1, "actor", 596, 24], + ["store_field", 4, 2, "send", 596, 30], + ["is_array", 5, 3, 596, 30], + ["jump_false", 5, "push_err_375", 596, 30], + ["push", 3, 4, 596, 30], + ["jump", "push_done_376", 596, 30], + "push_err_375", + ["disrupt", 596, 30], + "push_done_376", + ["null", 6, 596, 30], + ["return", 6, 596, 30] ], "name": "actor_prep", "filename": "internal/engine.cm", @@ -3391,15 +3714,15 @@ "nr_slots": 8, "nr_close_slots": 0, "instructions": [ - ["get", 4, 33, 1, 565, 3], - ["frame", 5, 4, 2, 565, 3], - ["null", 6, 565, 3], - ["setarg", 5, 0, 6, 565, 3], - ["setarg", 5, 1, 1, 565, 3], - ["setarg", 5, 2, 2, 565, 3], - ["invoke", 5, 3, 565, 3], - ["null", 7, 565, 3], - ["return", 7, 565, 3] + ["get", 4, 33, 1, 601, 3], + ["frame", 5, 4, 2, 601, 3], + ["null", 6, 601, 3], + ["setarg", 5, 0, 6, 601, 3], + ["setarg", 5, 1, 1, 601, 3], + ["setarg", 5, 2, 2, 601, 3], + ["invoke", 5, 3, 601, 3], + ["null", 7, 601, 3], + ["return", 7, 601, 3] ], "name": "actor_send_immediate", "filename": "internal/engine.cm", @@ -3410,44 +3733,44 @@ "nr_slots": 253, "nr_close_slots": 0, "instructions": [ - ["null", 4, 569, 19], - ["null", 3, 570, 14], - ["get", 5, 41, 1, 572, 13], - ["load_dynamic", 6, 1, 5, 572, 13], - ["move", 7, 6, 572, 13], - ["jump_false", 7, "and_end_357", 572, 13], - ["get", 8, 41, 1, 572, 31], - ["load_dynamic", 9, 1, 8, 572, 31], - ["load_field", 10, 9, "replycc", 572, 31], - ["not", 11, 10, 572, 31], - ["move", 7, 11, 572, 31], - "and_end_357", - ["jump_false", 7, "if_else_355", 572, 31], - ["null", 12, 573, 5], - ["return", 12, 573, 5], - ["jump", "if_end_356", 573, 5], - "if_else_355", - "if_end_356", - ["get", 14, 5, 1, 575, 8], - ["frame", 15, 14, 1, 575, 8], - ["null", 16, 575, 8], - ["setarg", 15, 0, 16, 575, 8], - ["setarg", 15, 1, 1, 575, 8], - ["invoke", 15, 13, 575, 8], - ["not", 17, 13, 575, 8], - ["move", 18, 17, 575, 8], - ["jump_false", 18, "and_end_360", 575, 8], - ["load_field", 19, 1, "replycc", 575, 37], - ["get", 21, 5, 1, 575, 28], - ["frame", 22, 21, 1, 575, 28], - ["null", 23, 575, 28], - ["setarg", 22, 0, 23, 575, 28], - ["setarg", 22, 1, 19, 575, 28], - ["invoke", 22, 20, 575, 28], - ["not", 24, 20, 575, 28], - ["move", 18, 24, 575, 28], - "and_end_360", - ["jump_false", 18, "if_else_358", 575, 28], + ["null", 4, 605, 19], + ["null", 3, 606, 14], + ["get", 5, 41, 1, 608, 13], + ["load_dynamic", 6, 1, 5, 608, 13], + ["move", 7, 6, 608, 13], + ["jump_false", 7, "and_end_379", 608, 13], + ["get", 8, 41, 1, 608, 31], + ["load_dynamic", 9, 1, 8, 608, 31], + ["load_field", 10, 9, "replycc", 608, 31], + ["not", 11, 10, 608, 31], + ["move", 7, 11, 608, 31], + "and_end_379", + ["jump_false", 7, "if_else_377", 608, 31], + ["null", 12, 609, 5], + ["return", 12, 609, 5], + ["jump", "if_end_378", 609, 5], + "if_else_377", + "if_end_378", + ["get", 14, 5, 1, 611, 8], + ["frame", 15, 14, 1, 611, 8], + ["null", 16, 611, 8], + ["setarg", 15, 0, 16, 611, 8], + ["setarg", 15, 1, 1, 611, 8], + ["invoke", 15, 13, 611, 8], + ["not", 17, 13, 611, 8], + ["move", 18, 17, 611, 8], + ["jump_false", 18, "and_end_382", 611, 8], + ["load_field", 19, 1, "replycc", 611, 37], + ["get", 21, 5, 1, 611, 28], + ["frame", 22, 21, 1, 611, 28], + ["null", 23, 611, 28], + ["setarg", 22, 0, 23, 611, 28], + ["setarg", 22, 1, 19, 611, 28], + ["invoke", 22, 20, 611, 28], + ["not", 24, 20, 611, 28], + ["move", 18, 24, 611, 28], + "and_end_382", + ["jump_false", 18, "if_else_380", 611, 28], ["array", 25, 0, 1, 1], ["push", 25, 1, 1, 1], [ @@ -3468,323 +3791,323 @@ ["setarg", 29, 1, 27, 1, 1], ["setarg", 29, 2, 25, 1, 1], ["invoke", 29, 28, 1, 1], - ["get", 32, 63, 1, 576, 5], - ["is_proxy", 33, 32, 576, 5], - ["jump_false", 33, "record_path_361", 576, 5], - ["null", 34, 576, 5], - ["access", 35, "error", 576, 5], - ["array", 36, 0, 576, 5], - ["push", 36, 28, 576, 5], - ["frame", 37, 32, 2, 576, 5], - ["setarg", 37, 0, 34, 576, 5], - ["setarg", 37, 1, 35, 576, 5], - ["setarg", 37, 2, 36, 576, 5], - ["invoke", 37, 31, 576, 5], - ["jump", "call_done_362", 576, 5], - "record_path_361", - ["load_field", 38, 32, "error", 576, 5], - ["frame", 39, 38, 1, 576, 5], - ["setarg", 39, 0, 32, 576, 5], - ["setarg", 39, 1, 28, 576, 5], - ["invoke", 39, 31, 576, 5], - "call_done_362", - ["disrupt", 577, 5], - ["jump", "if_end_359", 577, 5], - "if_else_358", - "if_end_359", - ["is_record", 40, 2, 580, 18], + ["get", 32, 63, 1, 612, 5], + ["is_proxy", 33, 32, 612, 5], + ["jump_false", 33, "record_path_383", 612, 5], + ["null", 34, 612, 5], + ["access", 35, "error", 612, 5], + ["array", 36, 0, 612, 5], + ["push", 36, 28, 612, 5], + ["frame", 37, 32, 2, 612, 5], + ["setarg", 37, 0, 34, 612, 5], + ["setarg", 37, 1, 35, 612, 5], + ["setarg", 37, 2, 36, 612, 5], + ["invoke", 37, 31, 612, 5], + ["jump", "call_done_384", 612, 5], + "record_path_383", + ["load_field", 38, 32, "error", 612, 5], + ["frame", 39, 38, 1, 612, 5], + ["setarg", 39, 0, 32, 612, 5], + ["setarg", 39, 1, 28, 612, 5], + ["invoke", 39, 31, 612, 5], + "call_done_384", + ["disrupt", 613, 5], + ["jump", "if_end_381", 613, 5], + "if_else_380", + "if_end_381", + ["is_record", 40, 2, 616, 18], "_nop_bl_1", - ["jump_true", 40, "if_else_363", 580, 18], - ["access", 42, "Must send an object record.", 581, 15], - ["get", 44, 63, 1, 581, 5], - ["is_proxy", 45, 44, 581, 5], - ["jump_false", 45, "record_path_365", 581, 5], - ["null", 46, 581, 5], - ["access", 47, "error", 581, 5], - ["array", 48, 0, 581, 5], - ["push", 48, 42, 581, 5], - ["frame", 49, 44, 2, 581, 5], - ["setarg", 49, 0, 46, 581, 5], - ["setarg", 49, 1, 47, 581, 5], - ["setarg", 49, 2, 48, 581, 5], - ["invoke", 49, 43, 581, 5], - ["jump", "call_done_366", 581, 5], - "record_path_365", - ["load_field", 50, 44, "error", 581, 5], - ["frame", 51, 50, 1, 581, 5], - ["setarg", 51, 0, 44, 581, 5], - ["setarg", 51, 1, 42, 581, 5], - ["invoke", 51, 43, 581, 5], - "call_done_366", - ["disrupt", 582, 5], - ["jump", "if_end_364", 582, 5], - "if_else_363", - "if_end_364", - ["get", 52, 27, 1, 586, 13], - ["load_dynamic", 53, 1, 52, 586, 13], - ["load_field", 54, 53, "id", 586, 13], - ["get", 55, 11, 1, 586, 30], - ["load_field", 56, 55, "id", 586, 30], - ["is_identical", 57, 54, 56, 586, 30], - ["jump_true", 57, "eq_done_369", 586, 30], - ["is_int", 58, 54, 586, 30], - ["jump_false", 58, "eq_ni_370", 586, 30], - ["is_int", 59, 56, 586, 30], - ["jump_false", 59, "eq_ni_370", 586, 30], - ["eq_int", 57, 54, 56, 586, 30], - ["jump", "eq_done_369", 586, 30], - "eq_ni_370", - ["is_num", 58, 54, 586, 30], - ["jump_false", 58, "eq_nn_371", 586, 30], - ["is_num", 59, 56, 586, 30], - ["jump_false", 59, "eq_nn_371", 586, 30], - ["eq_float", 57, 54, 56, 586, 30], - ["jump", "eq_done_369", 586, 30], - "eq_nn_371", - ["is_text", 58, 54, 586, 30], - ["jump_false", 58, "eq_nt_372", 586, 30], - ["is_text", 59, 56, 586, 30], - ["jump_false", 59, "eq_nt_372", 586, 30], - ["eq_text", 57, 54, 56, 586, 30], - ["jump", "eq_done_369", 586, 30], - "eq_nt_372", - ["is_null", 58, 54, 586, 30], - ["jump_false", 58, "eq_nnl_373", 586, 30], - ["is_null", 59, 56, 586, 30], - ["jump_false", 59, "eq_nnl_373", 586, 30], - ["true", 57, 586, 30], - ["jump", "eq_done_369", 586, 30], - "eq_nnl_373", - ["is_bool", 58, 54, 586, 30], - ["jump_false", 58, "eq_nb_374", 586, 30], - ["is_bool", 59, 56, 586, 30], - ["jump_false", 59, "eq_nb_374", 586, 30], - ["eq_bool", 57, 54, 56, 586, 30], - ["jump", "eq_done_369", 586, 30], - "eq_nb_374", - ["false", 57, 586, 30], - "eq_done_369", - ["jump_false", 57, "if_else_367", 586, 30], - ["get", 60, 14, 1, 587, 9], - ["jump_false", 60, "if_else_375", 587, 9], - ["load_field", 61, 2, "data", 587, 32], - ["get", 63, 14, 1, 587, 21], - ["frame", 64, 63, 1, 587, 21], - ["null", 65, 587, 21], - ["setarg", 64, 0, 65, 587, 21], - ["setarg", 64, 1, 61, 587, 21], - ["invoke", 64, 62, 587, 21], - ["jump", "if_end_376", 587, 21], - "if_else_375", - "if_end_376", - ["null", 66, 588, 5], - ["return", 66, 588, 5], - ["jump", "if_end_368", 588, 5], - "if_else_367", - "if_end_368", - ["get", 67, 27, 1, 592, 13], - ["load_dynamic", 68, 1, 67, 592, 13], - ["load_field", 69, 68, "id", 592, 13], - ["move", 70, 69, 592, 13], - ["jump_false", 70, "and_end_379", 592, 13], - ["get", 71, 27, 1, 592, 60], - ["load_dynamic", 72, 1, 71, 592, 60], - ["load_field", 73, 72, "id", 592, 60], - ["get", 75, 30, 1, 592, 30], - ["is_proxy", 76, 75, 592, 30], - ["jump_false", 76, "record_path_380", 592, 30], - ["null", 77, 592, 30], - ["access", 78, "mailbox_exist", 592, 30], - ["array", 79, 0, 592, 30], - ["push", 79, 73, 592, 30], - ["frame", 80, 75, 2, 592, 30], - ["setarg", 80, 0, 77, 592, 30], - ["setarg", 80, 1, 78, 592, 30], - ["setarg", 80, 2, 79, 592, 30], - ["invoke", 80, 74, 592, 30], - ["jump", "call_done_381", 592, 30], - "record_path_380", - ["load_field", 81, 75, "mailbox_exist", 592, 30], - ["frame", 82, 81, 1, 592, 30], - ["setarg", 82, 0, 75, 592, 30], - ["setarg", 82, 1, 73, 592, 30], - ["invoke", 82, 74, 592, 30], - "call_done_381", - ["move", 70, 74, 592, 30], - "and_end_379", - ["jump_false", 70, "if_else_377", 592, 30], - ["get", 84, 7, 1, 593, 17], - ["is_proxy", 85, 84, 593, 17], - ["jump_false", 85, "record_path_382", 593, 17], - ["null", 86, 593, 17], - ["access", 87, "encode", 593, 17], - ["array", 88, 0, 593, 17], - ["push", 88, 2, 593, 17], - ["frame", 89, 84, 2, 593, 17], - ["setarg", 89, 0, 86, 593, 17], - ["setarg", 89, 1, 87, 593, 17], - ["setarg", 89, 2, 88, 593, 17], - ["invoke", 89, 83, 593, 17], - ["jump", "call_done_383", 593, 17], - "record_path_382", - ["load_field", 90, 84, "encode", 593, 17], - ["frame", 91, 90, 1, 593, 17], - ["setarg", 91, 0, 84, 593, 17], - ["setarg", 91, 1, 2, 593, 17], - ["invoke", 91, 83, 593, 17], - "call_done_383", - ["move", 4, 83, 593, 17], - ["get", 92, 27, 1, 594, 34], - ["load_dynamic", 93, 1, 92, 594, 34], - ["load_field", 94, 93, "id", 594, 34], - ["get", 96, 30, 1, 594, 5], - ["is_proxy", 97, 96, 594, 5], - ["jump_false", 97, "record_path_384", 594, 5], - ["null", 98, 594, 5], - ["access", 99, "mailbox_push", 594, 5], - ["array", 100, 0, 594, 5], - ["push", 100, 94, 594, 5], - ["push", 100, 4, 594, 5], - ["frame", 101, 96, 2, 594, 5], - ["setarg", 101, 0, 98, 594, 5], - ["setarg", 101, 1, 99, 594, 5], - ["setarg", 101, 2, 100, 594, 5], - ["invoke", 101, 95, 594, 5], - ["jump", "call_done_385", 594, 5], - "record_path_384", - ["load_field", 102, 96, "mailbox_push", 594, 5], - ["frame", 103, 102, 2, 594, 5], - ["setarg", 103, 0, 96, 594, 5], - ["setarg", 103, 1, 94, 594, 5], - ["setarg", 103, 2, 4, 594, 5], - ["invoke", 103, 95, 594, 5], - "call_done_385", - ["null", 104, 595, 5], - ["return", 104, 595, 5], - ["jump", "if_end_378", 595, 5], - "if_else_377", - "if_end_378", - ["get", 105, 27, 1, 598, 13], - ["load_dynamic", 106, 1, 105, 598, 13], - ["load_field", 107, 106, "address", 598, 13], - ["jump_false", 107, "if_else_386", 598, 13], - ["get", 108, 27, 1, 599, 15], - ["load_dynamic", 109, 1, 108, 599, 15], - ["load_field", 110, 109, "id", 599, 15], - ["jump_false", 110, "if_else_388", 599, 15], - ["get", 111, 27, 1, 600, 30], - ["load_dynamic", 112, 1, 111, 600, 30], - ["load_field", 113, 112, "id", 600, 30], - ["store_field", 2, 113, "target", 600, 7], - ["jump", "if_end_389", 600, 7], - "if_else_388", - ["access", 114, "contact", 602, 22], - ["store_field", 2, 114, "type", 602, 7], - "if_end_389", - ["get", 115, 24, 1, 604, 12], - ["get", 116, 27, 1, 604, 24], - ["load_dynamic", 117, 1, 116, 604, 24], - ["load_field", 118, 117, "address", 604, 24], - ["access", 119, ":", 604, 45], - ["is_int", 121, 118, 604, 45], - ["jump_false", 121, "add_ni_390", 604, 45], - "_nop_tc_1", - ["jump", "add_ni_390", 604, 45], - ["add_int", 120, 118, 119, 604, 45], - ["jump", "add_done_392", 604, 45], - "add_ni_390", - ["is_text", 121, 118, 604, 45], - ["jump_false", 121, "add_nt_391", 604, 45], - ["concat", 120, 118, 119, 604, 45], - ["jump", "add_done_392", 604, 45], - "add_nt_391", - ["is_num", 121, 118, 604, 45], - ["jump_false", 121, "add_err_393", 604, 45], - ["is_num", 122, 119, 604, 45], - ["jump_false", 122, "add_err_393", 604, 45], - ["add_float", 120, 118, 119, 604, 45], - ["jump", "add_done_392", 604, 45], - "add_err_393", - ["disrupt", 604, 45], - "add_done_392", - ["get", 123, 27, 1, 604, 57], - ["load_dynamic", 124, 1, 123, 604, 57], - ["load_field", 125, 124, "port", 604, 57], - ["is_int", 127, 120, 604, 57], - ["jump_false", 127, "add_ni_394", 604, 57], - ["is_int", 128, 125, 604, 57], - ["jump_false", 128, "add_ni_394", 604, 57], - ["add_int", 126, 120, 125, 604, 57], - ["jump", "add_done_396", 604, 57], - "add_ni_394", - ["is_text", 127, 120, 604, 57], - ["jump_false", 127, "add_nt_395", 604, 57], - ["is_text", 128, 125, 604, 57], - ["jump_false", 128, "add_nt_395", 604, 57], - ["concat", 126, 120, 125, 604, 57], - ["jump", "add_done_396", 604, 57], - "add_nt_395", - ["is_num", 127, 120, 604, 57], - ["jump_false", 127, "add_err_397", 604, 57], - ["is_num", 128, 125, 604, 57], - ["jump_false", 128, "add_err_397", 604, 57], - ["add_float", 126, 120, 125, 604, 57], - ["jump", "add_done_396", 604, 57], - "add_err_397", - ["disrupt", 604, 57], - "add_done_396", - ["load_dynamic", 129, 115, 126, 604, 57], - ["move", 3, 129, 604, 57], - "_nop_bl_2", - ["jump_true", 3, "if_else_398", 605, 10], - ["get", 131, 23, 1, 606, 12], - "_nop_bl_3", - ["jump_true", 131, "if_else_400", 606, 12], - ["access", 133, "creating a contactor ...", 607, 20], - ["get", 135, 63, 1, 607, 9], - ["is_proxy", 136, 135, 607, 9], - ["jump_false", 136, "record_path_402", 607, 9], - ["null", 137, 607, 9], - ["access", 138, "system", 607, 9], - ["array", 139, 0, 607, 9], - ["push", 139, 133, 607, 9], - ["frame", 140, 135, 2, 607, 9], - ["setarg", 140, 0, 137, 607, 9], - ["setarg", 140, 1, 138, 607, 9], - ["setarg", 140, 2, 139, 607, 9], - ["invoke", 140, 134, 607, 9], - ["jump", "call_done_403", 607, 9], + ["jump_true", 40, "if_else_385", 616, 18], + ["access", 42, "Must send an object record.", 617, 15], + ["get", 44, 63, 1, 617, 5], + ["is_proxy", 45, 44, 617, 5], + ["jump_false", 45, "record_path_387", 617, 5], + ["null", 46, 617, 5], + ["access", 47, "error", 617, 5], + ["array", 48, 0, 617, 5], + ["push", 48, 42, 617, 5], + ["frame", 49, 44, 2, 617, 5], + ["setarg", 49, 0, 46, 617, 5], + ["setarg", 49, 1, 47, 617, 5], + ["setarg", 49, 2, 48, 617, 5], + ["invoke", 49, 43, 617, 5], + ["jump", "call_done_388", 617, 5], + "record_path_387", + ["load_field", 50, 44, "error", 617, 5], + ["frame", 51, 50, 1, 617, 5], + ["setarg", 51, 0, 44, 617, 5], + ["setarg", 51, 1, 42, 617, 5], + ["invoke", 51, 43, 617, 5], + "call_done_388", + ["disrupt", 618, 5], + ["jump", "if_end_386", 618, 5], + "if_else_385", + "if_end_386", + ["get", 52, 27, 1, 622, 13], + ["load_dynamic", 53, 1, 52, 622, 13], + ["load_field", 54, 53, "id", 622, 13], + ["get", 55, 11, 1, 622, 30], + ["load_field", 56, 55, "id", 622, 30], + ["is_identical", 57, 54, 56, 622, 30], + ["jump_true", 57, "eq_done_391", 622, 30], + ["is_int", 58, 54, 622, 30], + ["jump_false", 58, "eq_ni_392", 622, 30], + ["is_int", 59, 56, 622, 30], + ["jump_false", 59, "eq_ni_392", 622, 30], + ["eq_int", 57, 54, 56, 622, 30], + ["jump", "eq_done_391", 622, 30], + "eq_ni_392", + ["is_num", 58, 54, 622, 30], + ["jump_false", 58, "eq_nn_393", 622, 30], + ["is_num", 59, 56, 622, 30], + ["jump_false", 59, "eq_nn_393", 622, 30], + ["eq_float", 57, 54, 56, 622, 30], + ["jump", "eq_done_391", 622, 30], + "eq_nn_393", + ["is_text", 58, 54, 622, 30], + ["jump_false", 58, "eq_nt_394", 622, 30], + ["is_text", 59, 56, 622, 30], + ["jump_false", 59, "eq_nt_394", 622, 30], + ["eq_text", 57, 54, 56, 622, 30], + ["jump", "eq_done_391", 622, 30], + "eq_nt_394", + ["is_null", 58, 54, 622, 30], + ["jump_false", 58, "eq_nnl_395", 622, 30], + ["is_null", 59, 56, 622, 30], + ["jump_false", 59, "eq_nnl_395", 622, 30], + ["true", 57, 622, 30], + ["jump", "eq_done_391", 622, 30], + "eq_nnl_395", + ["is_bool", 58, 54, 622, 30], + ["jump_false", 58, "eq_nb_396", 622, 30], + ["is_bool", 59, 56, 622, 30], + ["jump_false", 59, "eq_nb_396", 622, 30], + ["eq_bool", 57, 54, 56, 622, 30], + ["jump", "eq_done_391", 622, 30], + "eq_nb_396", + ["false", 57, 622, 30], + "eq_done_391", + ["jump_false", 57, "if_else_389", 622, 30], + ["get", 60, 14, 1, 623, 9], + ["jump_false", 60, "if_else_397", 623, 9], + ["load_field", 61, 2, "data", 623, 32], + ["get", 63, 14, 1, 623, 21], + ["frame", 64, 63, 1, 623, 21], + ["null", 65, 623, 21], + ["setarg", 64, 0, 65, 623, 21], + ["setarg", 64, 1, 61, 623, 21], + ["invoke", 64, 62, 623, 21], + ["jump", "if_end_398", 623, 21], + "if_else_397", + "if_end_398", + ["null", 66, 624, 5], + ["return", 66, 624, 5], + ["jump", "if_end_390", 624, 5], + "if_else_389", + "if_end_390", + ["get", 67, 27, 1, 628, 13], + ["load_dynamic", 68, 1, 67, 628, 13], + ["load_field", 69, 68, "id", 628, 13], + ["move", 70, 69, 628, 13], + ["jump_false", 70, "and_end_401", 628, 13], + ["get", 71, 27, 1, 628, 60], + ["load_dynamic", 72, 1, 71, 628, 60], + ["load_field", 73, 72, "id", 628, 60], + ["get", 75, 30, 1, 628, 30], + ["is_proxy", 76, 75, 628, 30], + ["jump_false", 76, "record_path_402", 628, 30], + ["null", 77, 628, 30], + ["access", 78, "mailbox_exist", 628, 30], + ["array", 79, 0, 628, 30], + ["push", 79, 73, 628, 30], + ["frame", 80, 75, 2, 628, 30], + ["setarg", 80, 0, 77, 628, 30], + ["setarg", 80, 1, 78, 628, 30], + ["setarg", 80, 2, 79, 628, 30], + ["invoke", 80, 74, 628, 30], + ["jump", "call_done_403", 628, 30], "record_path_402", - ["load_field", 141, 135, "system", 607, 9], - ["frame", 142, 141, 1, 607, 9], - ["setarg", 142, 0, 135, 607, 9], - ["setarg", 142, 1, 133, 607, 9], - ["invoke", 142, 134, 607, 9], + ["load_field", 81, 75, "mailbox_exist", 628, 30], + ["frame", 82, 81, 1, 628, 30], + ["setarg", 82, 0, 75, 628, 30], + ["setarg", 82, 1, 73, 628, 30], + ["invoke", 82, 74, 628, 30], "call_done_403", - ["record", 143, 0], - ["access", 144, "any", 608, 44], - ["store_field", 143, 144, "address", 608, 44], - ["get", 146, 22, 1, 608, 18], - ["is_proxy", 147, 146, 608, 18], - ["jump_false", 147, "record_path_404", 608, 18], - ["null", 148, 608, 18], - ["access", 149, "create_host", 608, 18], - ["array", 150, 0, 608, 18], - ["push", 150, 143, 608, 18], - ["frame", 151, 146, 2, 608, 18], - ["setarg", 151, 0, 148, 608, 18], - ["setarg", 151, 1, 149, 608, 18], - ["setarg", 151, 2, 150, 608, 18], - ["invoke", 151, 145, 608, 18], - ["jump", "call_done_405", 608, 18], + ["move", 70, 74, 628, 30], + "and_end_401", + ["jump_false", 70, "if_else_399", 628, 30], + ["get", 84, 7, 1, 629, 17], + ["is_proxy", 85, 84, 629, 17], + ["jump_false", 85, "record_path_404", 629, 17], + ["null", 86, 629, 17], + ["access", 87, "encode", 629, 17], + ["array", 88, 0, 629, 17], + ["push", 88, 2, 629, 17], + ["frame", 89, 84, 2, 629, 17], + ["setarg", 89, 0, 86, 629, 17], + ["setarg", 89, 1, 87, 629, 17], + ["setarg", 89, 2, 88, 629, 17], + ["invoke", 89, 83, 629, 17], + ["jump", "call_done_405", 629, 17], "record_path_404", - ["load_field", 152, 146, "create_host", 608, 18], - ["frame", 153, 152, 1, 608, 18], - ["setarg", 153, 0, 146, 608, 18], - ["setarg", 153, 1, 143, 608, 18], - ["invoke", 153, 145, 608, 18], + ["load_field", 90, 84, "encode", 629, 17], + ["frame", 91, 90, 1, 629, 17], + ["setarg", 91, 0, 84, 629, 17], + ["setarg", 91, 1, 2, 629, 17], + ["invoke", 91, 83, 629, 17], "call_done_405", - ["put", 145, 23, 1, 608, 18], + ["move", 4, 83, 629, 17], + ["get", 92, 27, 1, 630, 34], + ["load_dynamic", 93, 1, 92, 630, 34], + ["load_field", 94, 93, "id", 630, 34], + ["get", 96, 30, 1, 630, 5], + ["is_proxy", 97, 96, 630, 5], + ["jump_false", 97, "record_path_406", 630, 5], + ["null", 98, 630, 5], + ["access", 99, "mailbox_push", 630, 5], + ["array", 100, 0, 630, 5], + ["push", 100, 94, 630, 5], + ["push", 100, 4, 630, 5], + ["frame", 101, 96, 2, 630, 5], + ["setarg", 101, 0, 98, 630, 5], + ["setarg", 101, 1, 99, 630, 5], + ["setarg", 101, 2, 100, 630, 5], + ["invoke", 101, 95, 630, 5], + ["jump", "call_done_407", 630, 5], + "record_path_406", + ["load_field", 102, 96, "mailbox_push", 630, 5], + ["frame", 103, 102, 2, 630, 5], + ["setarg", 103, 0, 96, 630, 5], + ["setarg", 103, 1, 94, 630, 5], + ["setarg", 103, 2, 4, 630, 5], + ["invoke", 103, 95, 630, 5], + "call_done_407", + ["null", 104, 631, 5], + ["return", 104, 631, 5], + ["jump", "if_end_400", 631, 5], + "if_else_399", + "if_end_400", + ["get", 105, 27, 1, 634, 13], + ["load_dynamic", 106, 1, 105, 634, 13], + ["load_field", 107, 106, "address", 634, 13], + ["jump_false", 107, "if_else_408", 634, 13], + ["get", 108, 27, 1, 635, 15], + ["load_dynamic", 109, 1, 108, 635, 15], + ["load_field", 110, 109, "id", 635, 15], + ["jump_false", 110, "if_else_410", 635, 15], + ["get", 111, 27, 1, 636, 30], + ["load_dynamic", 112, 1, 111, 636, 30], + ["load_field", 113, 112, "id", 636, 30], + ["store_field", 2, 113, "target", 636, 7], + ["jump", "if_end_411", 636, 7], + "if_else_410", + ["access", 114, "contact", 638, 22], + ["store_field", 2, 114, "type", 638, 7], + "if_end_411", + ["get", 115, 24, 1, 640, 12], + ["get", 116, 27, 1, 640, 24], + ["load_dynamic", 117, 1, 116, 640, 24], + ["load_field", 118, 117, "address", 640, 24], + ["access", 119, ":", 640, 45], + ["is_int", 121, 118, 640, 45], + ["jump_false", 121, "add_ni_412", 640, 45], + "_nop_tc_1", + ["jump", "add_ni_412", 640, 45], + ["add_int", 120, 118, 119, 640, 45], + ["jump", "add_done_414", 640, 45], + "add_ni_412", + ["is_text", 121, 118, 640, 45], + ["jump_false", 121, "add_nt_413", 640, 45], + ["concat", 120, 118, 119, 640, 45], + ["jump", "add_done_414", 640, 45], + "add_nt_413", + ["is_num", 121, 118, 640, 45], + ["jump_false", 121, "add_err_415", 640, 45], + ["is_num", 122, 119, 640, 45], + ["jump_false", 122, "add_err_415", 640, 45], + ["add_float", 120, 118, 119, 640, 45], + ["jump", "add_done_414", 640, 45], + "add_err_415", + ["disrupt", 640, 45], + "add_done_414", + ["get", 123, 27, 1, 640, 57], + ["load_dynamic", 124, 1, 123, 640, 57], + ["load_field", 125, 124, "port", 640, 57], + ["is_int", 127, 120, 640, 57], + ["jump_false", 127, "add_ni_416", 640, 57], + ["is_int", 128, 125, 640, 57], + ["jump_false", 128, "add_ni_416", 640, 57], + ["add_int", 126, 120, 125, 640, 57], + ["jump", "add_done_418", 640, 57], + "add_ni_416", + ["is_text", 127, 120, 640, 57], + ["jump_false", 127, "add_nt_417", 640, 57], + ["is_text", 128, 125, 640, 57], + ["jump_false", 128, "add_nt_417", 640, 57], + ["concat", 126, 120, 125, 640, 57], + ["jump", "add_done_418", 640, 57], + "add_nt_417", + ["is_num", 127, 120, 640, 57], + ["jump_false", 127, "add_err_419", 640, 57], + ["is_num", 128, 125, 640, 57], + ["jump_false", 128, "add_err_419", 640, 57], + ["add_float", 126, 120, 125, 640, 57], + ["jump", "add_done_418", 640, 57], + "add_err_419", + ["disrupt", 640, 57], + "add_done_418", + ["load_dynamic", 129, 115, 126, 640, 57], + ["move", 3, 129, 640, 57], + "_nop_bl_2", + ["jump_true", 3, "if_else_420", 641, 10], + ["get", 131, 23, 1, 642, 12], + "_nop_bl_3", + ["jump_true", 131, "if_else_422", 642, 12], + ["access", 133, "creating a contactor ...", 643, 20], + ["get", 135, 63, 1, 643, 9], + ["is_proxy", 136, 135, 643, 9], + ["jump_false", 136, "record_path_424", 643, 9], + ["null", 137, 643, 9], + ["access", 138, "system", 643, 9], + ["array", 139, 0, 643, 9], + ["push", 139, 133, 643, 9], + ["frame", 140, 135, 2, 643, 9], + ["setarg", 140, 0, 137, 643, 9], + ["setarg", 140, 1, 138, 643, 9], + ["setarg", 140, 2, 139, 643, 9], + ["invoke", 140, 134, 643, 9], + ["jump", "call_done_425", 643, 9], + "record_path_424", + ["load_field", 141, 135, "system", 643, 9], + ["frame", 142, 141, 1, 643, 9], + ["setarg", 142, 0, 135, 643, 9], + ["setarg", 142, 1, 133, 643, 9], + ["invoke", 142, 134, 643, 9], + "call_done_425", + ["record", 143, 0], + ["access", 144, "any", 644, 44], + ["store_field", 143, 144, "address", 644, 44], + ["get", 146, 22, 1, 644, 18], + ["is_proxy", 147, 146, 644, 18], + ["jump_false", 147, "record_path_426", 644, 18], + ["null", 148, 644, 18], + ["access", 149, "create_host", 644, 18], + ["array", 150, 0, 644, 18], + ["push", 150, 143, 644, 18], + ["frame", 151, 146, 2, 644, 18], + ["setarg", 151, 0, 148, 644, 18], + ["setarg", 151, 1, 149, 644, 18], + ["setarg", 151, 2, 150, 644, 18], + ["invoke", 151, 145, 644, 18], + ["jump", "call_done_427", 644, 18], + "record_path_426", + ["load_field", 152, 146, "create_host", 644, 18], + ["frame", 153, 152, 1, 644, 18], + ["setarg", 153, 0, 146, 644, 18], + ["setarg", 153, 1, 143, 644, 18], + ["invoke", 153, 145, 644, 18], + "call_done_427", + ["put", 145, 23, 1, 644, 18], ["get", 154, 23, 1, 1, 1], ["load_field", 155, 154, "port", 1, 1], ["array", 156, 0, 1, 1], @@ -3807,29 +4130,29 @@ ["setarg", 160, 1, 158, 1, 1], ["setarg", 160, 2, 156, 1, 1], ["invoke", 160, 159, 1, 1], - ["get", 163, 63, 1, 609, 9], - ["is_proxy", 164, 163, 609, 9], - ["jump_false", 164, "record_path_406", 609, 9], - ["null", 165, 609, 9], - ["access", 166, "system", 609, 9], - ["array", 167, 0, 609, 9], - ["push", 167, 159, 609, 9], - ["frame", 168, 163, 2, 609, 9], - ["setarg", 168, 0, 165, 609, 9], - ["setarg", 168, 1, 166, 609, 9], - ["setarg", 168, 2, 167, 609, 9], - ["invoke", 168, 162, 609, 9], - ["jump", "call_done_407", 609, 9], - "record_path_406", - ["load_field", 169, 163, "system", 609, 9], - ["frame", 170, 169, 1, 609, 9], - ["setarg", 170, 0, 163, 609, 9], - ["setarg", 170, 1, 159, 609, 9], - ["invoke", 170, 162, 609, 9], - "call_done_407", - ["jump", "if_end_401", 609, 9], - "if_else_400", - "if_end_401", + ["get", 163, 63, 1, 645, 9], + ["is_proxy", 164, 163, 645, 9], + ["jump_false", 164, "record_path_428", 645, 9], + ["null", 165, 645, 9], + ["access", 166, "system", 645, 9], + ["array", 167, 0, 645, 9], + ["push", 167, 159, 645, 9], + ["frame", 168, 163, 2, 645, 9], + ["setarg", 168, 0, 165, 645, 9], + ["setarg", 168, 1, 166, 645, 9], + ["setarg", 168, 2, 167, 645, 9], + ["invoke", 168, 162, 645, 9], + ["jump", "call_done_429", 645, 9], + "record_path_428", + ["load_field", 169, 163, "system", 645, 9], + ["frame", 170, 169, 1, 645, 9], + ["setarg", 170, 0, 163, 645, 9], + ["setarg", 170, 1, 159, 645, 9], + ["invoke", 170, 162, 645, 9], + "call_done_429", + ["jump", "if_end_423", 645, 9], + "if_else_422", + "if_end_423", ["get", 171, 27, 1, 1, 7], ["load_dynamic", 172, 1, 171, 1, 7], ["load_field", 173, 172, "address", 1, 7], @@ -3857,126 +4180,126 @@ ["setarg", 181, 1, 179, 1, 7], ["setarg", 181, 2, 177, 1, 7], ["invoke", 181, 180, 1, 7], - ["get", 184, 63, 1, 611, 7], - ["is_proxy", 185, 184, 611, 7], - ["jump_false", 185, "record_path_408", 611, 7], - ["null", 186, 611, 7], - ["access", 187, "system", 611, 7], - ["array", 188, 0, 611, 7], - ["push", 188, 180, 611, 7], - ["frame", 189, 184, 2, 611, 7], - ["setarg", 189, 0, 186, 611, 7], - ["setarg", 189, 1, 187, 611, 7], - ["setarg", 189, 2, 188, 611, 7], - ["invoke", 189, 183, 611, 7], - ["jump", "call_done_409", 611, 7], - "record_path_408", - ["load_field", 190, 184, "system", 611, 7], - ["frame", 191, 190, 1, 611, 7], - ["setarg", 191, 0, 184, 611, 7], - ["setarg", 191, 1, 180, 611, 7], - ["invoke", 191, 183, 611, 7], - "call_done_409", - ["get", 192, 27, 1, 612, 35], - ["load_dynamic", 193, 1, 192, 612, 35], - ["load_field", 194, 193, "address", 612, 35], - ["get", 195, 27, 1, 612, 61], - ["load_dynamic", 196, 1, 195, 612, 61], - ["load_field", 197, 196, "port", 612, 61], - ["get", 199, 23, 1, 612, 14], - ["is_proxy", 200, 199, 612, 14], - ["jump_false", 200, "record_path_410", 612, 14], - ["null", 201, 612, 14], - ["access", 202, "connect", 612, 14], - ["array", 203, 0, 612, 14], - ["push", 203, 194, 612, 14], - ["push", 203, 197, 612, 14], - ["frame", 204, 199, 2, 612, 14], - ["setarg", 204, 0, 201, 612, 14], - ["setarg", 204, 1, 202, 612, 14], - ["setarg", 204, 2, 203, 612, 14], - ["invoke", 204, 198, 612, 14], - ["jump", "call_done_411", 612, 14], - "record_path_410", - ["load_field", 205, 199, "connect", 612, 14], - ["frame", 206, 205, 2, 612, 14], - ["setarg", 206, 0, 199, 612, 14], - ["setarg", 206, 1, 194, 612, 14], - ["setarg", 206, 2, 197, 612, 14], - ["invoke", 206, 198, 612, 14], - "call_done_411", - ["move", 3, 198, 612, 14], - ["array", 207, 0, 613, 29], - ["push", 207, 2, 613, 29], - ["get", 209, 55, 1, 613, 7], - ["is_proxy", 210, 209, 613, 7], - ["jump_false", 210, "record_path_412", 613, 7], - ["null", 211, 613, 7], - ["access", 212, "set", 613, 7], - ["array", 213, 0, 613, 7], - ["push", 213, 3, 613, 7], - ["push", 213, 207, 613, 7], - ["frame", 214, 209, 2, 613, 7], - ["setarg", 214, 0, 211, 613, 7], - ["setarg", 214, 1, 212, 613, 7], - ["setarg", 214, 2, 213, 613, 7], - ["invoke", 214, 208, 613, 7], - ["jump", "call_done_413", 613, 7], - "record_path_412", - ["load_field", 215, 209, "set", 613, 7], - ["frame", 216, 215, 2, 613, 7], - ["setarg", 216, 0, 209, 613, 7], - ["setarg", 216, 1, 3, 613, 7], - ["setarg", 216, 2, 207, 613, 7], - ["invoke", 216, 208, 613, 7], - "call_done_413", - ["jump", "if_end_399", 613, 7], - "if_else_398", - ["get", 218, 49, 1, 615, 17], - ["is_proxy", 219, 218, 615, 17], - ["jump_false", 219, "record_path_414", 615, 17], - ["null", 220, 615, 17], - ["access", 221, "encode", 615, 17], - ["array", 222, 0, 615, 17], - ["push", 222, 2, 615, 17], - ["frame", 223, 218, 2, 615, 17], - ["setarg", 223, 0, 220, 615, 17], - ["setarg", 223, 1, 221, 615, 17], - ["setarg", 223, 2, 222, 615, 17], - ["invoke", 223, 217, 615, 17], - ["jump", "call_done_415", 615, 17], - "record_path_414", - ["load_field", 224, 218, "encode", 615, 17], - ["frame", 225, 224, 1, 615, 17], - ["setarg", 225, 0, 218, 615, 17], - ["setarg", 225, 1, 2, 615, 17], - ["invoke", 225, 217, 615, 17], - "call_done_415", - ["is_proxy", 227, 3, 615, 7], - ["jump_false", 227, "record_path_416", 615, 7], - ["null", 228, 615, 7], - ["access", 229, "send", 615, 7], - ["array", 230, 0, 615, 7], - ["push", 230, 217, 615, 7], - ["frame", 231, 3, 2, 615, 7], - ["setarg", 231, 0, 228, 615, 7], - ["setarg", 231, 1, 229, 615, 7], - ["setarg", 231, 2, 230, 615, 7], - ["invoke", 231, 226, 615, 7], - ["jump", "call_done_417", 615, 7], - "record_path_416", - ["load_field", 232, 3, "send", 615, 7], - ["frame", 233, 232, 1, 615, 7], - ["setarg", 233, 0, 3, 615, 7], - ["setarg", 233, 1, 217, 615, 7], - ["invoke", 233, 226, 615, 7], - "call_done_417", - "if_end_399", - ["null", 234, 617, 5], - ["return", 234, 617, 5], - ["jump", "if_end_387", 617, 5], - "if_else_386", - "if_end_387", + ["get", 184, 63, 1, 647, 7], + ["is_proxy", 185, 184, 647, 7], + ["jump_false", 185, "record_path_430", 647, 7], + ["null", 186, 647, 7], + ["access", 187, "system", 647, 7], + ["array", 188, 0, 647, 7], + ["push", 188, 180, 647, 7], + ["frame", 189, 184, 2, 647, 7], + ["setarg", 189, 0, 186, 647, 7], + ["setarg", 189, 1, 187, 647, 7], + ["setarg", 189, 2, 188, 647, 7], + ["invoke", 189, 183, 647, 7], + ["jump", "call_done_431", 647, 7], + "record_path_430", + ["load_field", 190, 184, "system", 647, 7], + ["frame", 191, 190, 1, 647, 7], + ["setarg", 191, 0, 184, 647, 7], + ["setarg", 191, 1, 180, 647, 7], + ["invoke", 191, 183, 647, 7], + "call_done_431", + ["get", 192, 27, 1, 648, 35], + ["load_dynamic", 193, 1, 192, 648, 35], + ["load_field", 194, 193, "address", 648, 35], + ["get", 195, 27, 1, 648, 61], + ["load_dynamic", 196, 1, 195, 648, 61], + ["load_field", 197, 196, "port", 648, 61], + ["get", 199, 23, 1, 648, 14], + ["is_proxy", 200, 199, 648, 14], + ["jump_false", 200, "record_path_432", 648, 14], + ["null", 201, 648, 14], + ["access", 202, "connect", 648, 14], + ["array", 203, 0, 648, 14], + ["push", 203, 194, 648, 14], + ["push", 203, 197, 648, 14], + ["frame", 204, 199, 2, 648, 14], + ["setarg", 204, 0, 201, 648, 14], + ["setarg", 204, 1, 202, 648, 14], + ["setarg", 204, 2, 203, 648, 14], + ["invoke", 204, 198, 648, 14], + ["jump", "call_done_433", 648, 14], + "record_path_432", + ["load_field", 205, 199, "connect", 648, 14], + ["frame", 206, 205, 2, 648, 14], + ["setarg", 206, 0, 199, 648, 14], + ["setarg", 206, 1, 194, 648, 14], + ["setarg", 206, 2, 197, 648, 14], + ["invoke", 206, 198, 648, 14], + "call_done_433", + ["move", 3, 198, 648, 14], + ["array", 207, 0, 649, 29], + ["push", 207, 2, 649, 29], + ["get", 209, 55, 1, 649, 7], + ["is_proxy", 210, 209, 649, 7], + ["jump_false", 210, "record_path_434", 649, 7], + ["null", 211, 649, 7], + ["access", 212, "set", 649, 7], + ["array", 213, 0, 649, 7], + ["push", 213, 3, 649, 7], + ["push", 213, 207, 649, 7], + ["frame", 214, 209, 2, 649, 7], + ["setarg", 214, 0, 211, 649, 7], + ["setarg", 214, 1, 212, 649, 7], + ["setarg", 214, 2, 213, 649, 7], + ["invoke", 214, 208, 649, 7], + ["jump", "call_done_435", 649, 7], + "record_path_434", + ["load_field", 215, 209, "set", 649, 7], + ["frame", 216, 215, 2, 649, 7], + ["setarg", 216, 0, 209, 649, 7], + ["setarg", 216, 1, 3, 649, 7], + ["setarg", 216, 2, 207, 649, 7], + ["invoke", 216, 208, 649, 7], + "call_done_435", + ["jump", "if_end_421", 649, 7], + "if_else_420", + ["get", 218, 49, 1, 651, 17], + ["is_proxy", 219, 218, 651, 17], + ["jump_false", 219, "record_path_436", 651, 17], + ["null", 220, 651, 17], + ["access", 221, "encode", 651, 17], + ["array", 222, 0, 651, 17], + ["push", 222, 2, 651, 17], + ["frame", 223, 218, 2, 651, 17], + ["setarg", 223, 0, 220, 651, 17], + ["setarg", 223, 1, 221, 651, 17], + ["setarg", 223, 2, 222, 651, 17], + ["invoke", 223, 217, 651, 17], + ["jump", "call_done_437", 651, 17], + "record_path_436", + ["load_field", 224, 218, "encode", 651, 17], + ["frame", 225, 224, 1, 651, 17], + ["setarg", 225, 0, 218, 651, 17], + ["setarg", 225, 1, 2, 651, 17], + ["invoke", 225, 217, 651, 17], + "call_done_437", + ["is_proxy", 227, 3, 651, 7], + ["jump_false", 227, "record_path_438", 651, 7], + ["null", 228, 651, 7], + ["access", 229, "send", 651, 7], + ["array", 230, 0, 651, 7], + ["push", 230, 217, 651, 7], + ["frame", 231, 3, 2, 651, 7], + ["setarg", 231, 0, 228, 651, 7], + ["setarg", 231, 1, 229, 651, 7], + ["setarg", 231, 2, 230, 651, 7], + ["invoke", 231, 226, 651, 7], + ["jump", "call_done_439", 651, 7], + "record_path_438", + ["load_field", 232, 3, "send", 651, 7], + ["frame", 233, 232, 1, 651, 7], + ["setarg", 233, 0, 3, 651, 7], + ["setarg", 233, 1, 217, 651, 7], + ["invoke", 233, 226, 651, 7], + "call_done_439", + "if_end_421", + ["null", 234, 653, 5], + ["return", 234, 653, 5], + ["jump", "if_end_409", 653, 5], + "if_else_408", + "if_end_409", ["get", 235, 27, 1, 1, 7], ["load_dynamic", 236, 1, 235, 1, 7], ["array", 237, 0, 1, 7], @@ -3999,28 +4322,28 @@ ["setarg", 241, 1, 239, 1, 7], ["setarg", 241, 2, 237, 1, 7], ["invoke", 241, 240, 1, 7], - ["get", 244, 63, 1, 619, 3], - ["is_proxy", 245, 244, 619, 3], - ["jump_false", 245, "record_path_418", 619, 3], - ["null", 246, 619, 3], - ["access", 247, "system", 619, 3], - ["array", 248, 0, 619, 3], - ["push", 248, 240, 619, 3], - ["frame", 249, 244, 2, 619, 3], - ["setarg", 249, 0, 246, 619, 3], - ["setarg", 249, 1, 247, 619, 3], - ["setarg", 249, 2, 248, 619, 3], - ["invoke", 249, 243, 619, 3], - ["jump", "call_done_419", 619, 3], - "record_path_418", - ["load_field", 250, 244, "system", 619, 3], - ["frame", 251, 250, 1, 619, 3], - ["setarg", 251, 0, 244, 619, 3], - ["setarg", 251, 1, 240, 619, 3], - ["invoke", 251, 243, 619, 3], - "call_done_419", - ["null", 252, 619, 3], - ["return", 252, 619, 3] + ["get", 244, 63, 1, 655, 3], + ["is_proxy", 245, 244, 655, 3], + ["jump_false", 245, "record_path_440", 655, 3], + ["null", 246, 655, 3], + ["access", 247, "system", 655, 3], + ["array", 248, 0, 655, 3], + ["push", 248, 240, 655, 3], + ["frame", 249, 244, 2, 655, 3], + ["setarg", 249, 0, 246, 655, 3], + ["setarg", 249, 1, 247, 655, 3], + ["setarg", 249, 2, 248, 655, 3], + ["invoke", 249, 243, 655, 3], + ["jump", "call_done_441", 655, 3], + "record_path_440", + ["load_field", 250, 244, "system", 655, 3], + ["frame", 251, 250, 1, 655, 3], + ["setarg", 251, 0, 244, 655, 3], + ["setarg", 251, 1, 240, 655, 3], + ["invoke", 251, 243, 655, 3], + "call_done_441", + ["null", 252, 655, 3], + ["return", 252, 655, 3] ], "name": "actor_send", "filename": "internal/engine.cm", @@ -4031,43 +4354,43 @@ "nr_slots": 21, "nr_close_slots": 0, "instructions": [ - ["load_field", 3, 1, "startup", 634, 10], - ["jump_false", 3, "if_else_422", 634, 10], - ["load_field", 4, 1, "startup", 636, 30], - ["get", 6, 30, 2, 636, 8], - ["is_proxy", 7, 6, 636, 8], - ["jump_false", 7, "record_path_424", 636, 8], - ["null", 8, 636, 8], - ["access", 9, "createactor", 636, 8], - ["array", 10, 0, 636, 8], - ["push", 10, 4, 636, 8], - ["frame", 11, 6, 2, 636, 8], - ["setarg", 11, 0, 8, 636, 8], - ["setarg", 11, 1, 9, 636, 8], - ["setarg", 11, 2, 10, 636, 8], - ["invoke", 11, 5, 636, 8], - ["jump", "call_done_425", 636, 8], - "record_path_424", - ["load_field", 12, 6, "createactor", 636, 8], - ["frame", 13, 12, 1, 636, 8], - ["setarg", 13, 0, 6, 636, 8], - ["setarg", 13, 1, 4, 636, 8], - ["invoke", 13, 5, 636, 8], - "call_done_425", - ["jump", "if_end_423", 636, 8], - "if_else_422", - ["load_field", 14, 1, "actor", 638, 19], - ["load_field", 15, 1, "send", 638, 30], - ["get", 17, 33, 2, 638, 8], - ["frame", 18, 17, 2, 638, 8], - ["null", 19, 638, 8], - ["setarg", 18, 0, 19, 638, 8], - ["setarg", 18, 1, 14, 638, 8], - ["setarg", 18, 2, 15, 638, 8], - ["invoke", 18, 16, 638, 8], - "if_end_423", - ["null", 20, 638, 8], - ["return", 20, 638, 8] + ["load_field", 3, 1, "startup", 670, 10], + ["jump_false", 3, "if_else_444", 670, 10], + ["load_field", 4, 1, "startup", 672, 30], + ["get", 6, 30, 2, 672, 8], + ["is_proxy", 7, 6, 672, 8], + ["jump_false", 7, "record_path_446", 672, 8], + ["null", 8, 672, 8], + ["access", 9, "createactor", 672, 8], + ["array", 10, 0, 672, 8], + ["push", 10, 4, 672, 8], + ["frame", 11, 6, 2, 672, 8], + ["setarg", 11, 0, 8, 672, 8], + ["setarg", 11, 1, 9, 672, 8], + ["setarg", 11, 2, 10, 672, 8], + ["invoke", 11, 5, 672, 8], + ["jump", "call_done_447", 672, 8], + "record_path_446", + ["load_field", 12, 6, "createactor", 672, 8], + ["frame", 13, 12, 1, 672, 8], + ["setarg", 13, 0, 6, 672, 8], + ["setarg", 13, 1, 4, 672, 8], + ["invoke", 13, 5, 672, 8], + "call_done_447", + ["jump", "if_end_445", 672, 8], + "if_else_444", + ["load_field", 14, 1, "actor", 674, 19], + ["load_field", 15, 1, "send", 674, 30], + ["get", 17, 33, 2, 674, 8], + ["frame", 18, 17, 2, 674, 8], + ["null", 19, 674, 8], + ["setarg", 18, 0, 19, 674, 8], + ["setarg", 18, 1, 14, 674, 8], + ["setarg", 18, 2, 15, 674, 8], + ["invoke", 18, 16, 674, 8], + "if_end_445", + ["null", 20, 674, 8], + ["return", 20, 674, 8] ], "name": "", "filename": "internal/engine.cm", @@ -4078,43 +4401,43 @@ "nr_slots": 21, "nr_close_slots": 0, "instructions": [ - ["get", 1, 51, 1, 627, 8], - ["jump_false", 1, "if_else_420", 627, 8], - ["get", 3, 65, 1, 628, 6], - ["frame", 4, 3, 0, 628, 6], - ["null", 5, 628, 6], - ["setarg", 4, 0, 5, 628, 6], - ["invoke", 4, 2, 628, 6], - ["array", 6, 0, 629, 22], - ["put", 6, 43, 1, 629, 22], - ["null", 7, 630, 6], - ["return", 7, 630, 6], - ["jump", "if_end_421", 630, 6], - "if_else_420", - "if_end_421", - ["get", 8, 43, 1, 633, 11], - ["function", 9, 27, 633, 26], - ["length", 11, 8, 633, 26], - ["int", 12, 0, 633, 26], - ["int", 16, 1, 633, 26], - ["null", 15, 633, 26], - "arrfor_loop_426", - ["lt_int", 13, 12, 11, 633, 26], - ["jump_false", 13, "arrfor_done_427", 633, 26], - ["load_index", 14, 8, 12, 633, 26], - ["frame", 17, 9, 2, 633, 26], - ["setarg", 17, 0, 15, 633, 26], - ["setarg", 17, 1, 14, 633, 26], - ["setarg", 17, 2, 12, 633, 26], - ["invoke", 17, 18, 633, 26], - ["add_int", 12, 12, 16, 633, 26], - ["jump", "arrfor_loop_426", 633, 26], - "arrfor_done_427", - ["null", 10, 633, 26], - ["array", 19, 0, 642, 20], - ["put", 19, 43, 1, 642, 20], - ["null", 20, 642, 20], - ["return", 20, 642, 20] + ["get", 1, 51, 1, 663, 8], + ["jump_false", 1, "if_else_442", 663, 8], + ["get", 3, 65, 1, 664, 6], + ["frame", 4, 3, 0, 664, 6], + ["null", 5, 664, 6], + ["setarg", 4, 0, 5, 664, 6], + ["invoke", 4, 2, 664, 6], + ["array", 6, 0, 665, 22], + ["put", 6, 43, 1, 665, 22], + ["null", 7, 666, 6], + ["return", 7, 666, 6], + ["jump", "if_end_443", 666, 6], + "if_else_442", + "if_end_443", + ["get", 8, 43, 1, 669, 11], + ["function", 9, 27, 669, 26], + ["length", 11, 8, 669, 26], + ["int", 12, 0, 669, 26], + ["int", 16, 1, 669, 26], + ["null", 15, 669, 26], + "arrfor_loop_448", + ["lt_int", 13, 12, 11, 669, 26], + ["jump_false", 13, "arrfor_done_449", 669, 26], + ["load_index", 14, 8, 12, 669, 26], + ["frame", 17, 9, 2, 669, 26], + ["setarg", 17, 0, 15, 669, 26], + ["setarg", 17, 1, 14, 669, 26], + ["setarg", 17, 2, 12, 669, 26], + ["invoke", 17, 18, 669, 26], + ["add_int", 12, 12, 16, 669, 26], + ["jump", "arrfor_loop_448", 669, 26], + "arrfor_done_449", + ["null", 10, 669, 26], + ["array", 19, 0, 678, 20], + ["put", 19, 43, 1, 678, 20], + ["null", 20, 678, 20], + ["return", 20, 678, 20] ], "name": "send_messages", "filename": "internal/engine.cm", @@ -4125,47 +4448,47 @@ "nr_slots": 21, "nr_close_slots": 0, "instructions": [ - ["get", 2, 64, 2, 680, 11], - ["get", 3, 7, 1, 680, 19], - ["load_dynamic", 4, 2, 3, 680, 19], - ["jump_false", 4, "if_else_446", 680, 19], - ["null", 5, 681, 21], - ["access", 6, "timeout", 681, 27], - ["get", 8, 64, 2, 681, 9], - ["get", 9, 7, 1, 681, 17], - ["is_proxy", 10, 8, 681, 17], - ["jump_false", 10, "dyn_record_path_448", 681, 17], - ["is_text", 11, 9, 681, 17], - ["jump_false", 11, "dyn_error_450", 681, 17], - ["null", 12, 681, 17], - ["array", 13, 0, 681, 17], - ["push", 13, 5, 681, 17], - ["push", 13, 6, 681, 17], - ["frame", 14, 8, 2, 681, 17], - ["setarg", 14, 0, 12, 681, 17], - ["setarg", 14, 1, 9, 681, 17], - ["setarg", 14, 2, 13, 681, 17], - ["invoke", 14, 7, 681, 17], - ["jump", "dyn_call_done_449", 681, 17], - "dyn_error_450", - ["disrupt", 681, 17], - ["jump", "dyn_call_done_449", 681, 17], - "dyn_record_path_448", - ["load_dynamic", 15, 8, 9, 681, 17], - ["frame", 16, 15, 2, 681, 17], - ["setarg", 16, 0, 8, 681, 17], - ["setarg", 16, 1, 5, 681, 17], - ["setarg", 16, 2, 6, 681, 17], - ["invoke", 16, 7, 681, 17], - "dyn_call_done_449", - ["get", 18, 64, 2, 682, 16], - ["get", 19, 7, 1, 682, 24], - ["delete", 17, 18, 19, 682, 24], - ["jump", "if_end_447", 682, 24], - "if_else_446", - "if_end_447", - ["null", 20, 682, 24], - ["return", 20, 682, 24] + ["get", 2, 64, 2, 716, 11], + ["get", 3, 7, 1, 716, 19], + ["load_dynamic", 4, 2, 3, 716, 19], + ["jump_false", 4, "if_else_468", 716, 19], + ["null", 5, 717, 21], + ["access", 6, "timeout", 717, 27], + ["get", 8, 64, 2, 717, 9], + ["get", 9, 7, 1, 717, 17], + ["is_proxy", 10, 8, 717, 17], + ["jump_false", 10, "dyn_record_path_470", 717, 17], + ["is_text", 11, 9, 717, 17], + ["jump_false", 11, "dyn_error_472", 717, 17], + ["null", 12, 717, 17], + ["array", 13, 0, 717, 17], + ["push", 13, 5, 717, 17], + ["push", 13, 6, 717, 17], + ["frame", 14, 8, 2, 717, 17], + ["setarg", 14, 0, 12, 717, 17], + ["setarg", 14, 1, 9, 717, 17], + ["setarg", 14, 2, 13, 717, 17], + ["invoke", 14, 7, 717, 17], + ["jump", "dyn_call_done_471", 717, 17], + "dyn_error_472", + ["disrupt", 717, 17], + ["jump", "dyn_call_done_471", 717, 17], + "dyn_record_path_470", + ["load_dynamic", 15, 8, 9, 717, 17], + ["frame", 16, 15, 2, 717, 17], + ["setarg", 16, 0, 8, 717, 17], + ["setarg", 16, 1, 5, 717, 17], + ["setarg", 16, 2, 6, 717, 17], + ["invoke", 16, 7, 717, 17], + "dyn_call_done_471", + ["get", 18, 64, 2, 718, 16], + ["get", 19, 7, 1, 718, 24], + ["delete", 17, 18, 19, 718, 24], + ["jump", "if_end_469", 718, 24], + "if_else_468", + "if_end_469", + ["null", 20, 718, 24], + ["return", 20, 718, 24] ], "name": "", "filename": "internal/engine.cm", @@ -4176,13 +4499,13 @@ "nr_slots": 98, "nr_close_slots": 0, "instructions": [ - ["null", 6, 648, 18], - ["null", 4, 649, 16], - ["null", 5, 650, 16], - ["null", 7, 651, 12], - ["is_record", 8, 1, 653, 18], + ["null", 6, 684, 18], + ["null", 4, 685, 16], + ["null", 5, 686, 16], + ["null", 7, 687, 12], + ["is_record", 8, 1, 689, 18], "_nop_bl_1", - ["jump_true", 8, "if_else_428", 653, 18], + ["jump_true", 8, "if_else_450", 689, 18], ["array", 10, 0, 1, 1], ["push", 10, 1, 1, 1], [ @@ -4203,92 +4526,92 @@ ["setarg", 14, 1, 12, 1, 1], ["setarg", 14, 2, 10, 1, 1], ["invoke", 14, 13, 1, 1], - ["get", 17, 63, 1, 654, 5], - ["is_proxy", 18, 17, 654, 5], - ["jump_false", 18, "record_path_430", 654, 5], - ["null", 19, 654, 5], - ["access", 20, "error", 654, 5], - ["array", 21, 0, 654, 5], - ["push", 21, 13, 654, 5], - ["frame", 22, 17, 2, 654, 5], - ["setarg", 22, 0, 19, 654, 5], - ["setarg", 22, 1, 20, 654, 5], - ["setarg", 22, 2, 21, 654, 5], - ["invoke", 22, 16, 654, 5], - ["jump", "call_done_431", 654, 5], - "record_path_430", - ["load_field", 23, 17, "error", 654, 5], - ["frame", 24, 23, 1, 654, 5], - ["setarg", 24, 0, 17, 654, 5], - ["setarg", 24, 1, 13, 654, 5], - ["invoke", 24, 16, 654, 5], - "call_done_431", - ["disrupt", 655, 5], - ["jump", "if_end_429", 655, 5], - "if_else_428", - "if_end_429", - ["is_record", 25, 2, 658, 18], + ["get", 17, 63, 1, 690, 5], + ["is_proxy", 18, 17, 690, 5], + ["jump_false", 18, "record_path_452", 690, 5], + ["null", 19, 690, 5], + ["access", 20, "error", 690, 5], + ["array", 21, 0, 690, 5], + ["push", 21, 13, 690, 5], + ["frame", 22, 17, 2, 690, 5], + ["setarg", 22, 0, 19, 690, 5], + ["setarg", 22, 1, 20, 690, 5], + ["setarg", 22, 2, 21, 690, 5], + ["invoke", 22, 16, 690, 5], + ["jump", "call_done_453", 690, 5], + "record_path_452", + ["load_field", 23, 17, "error", 690, 5], + ["frame", 24, 23, 1, 690, 5], + ["setarg", 24, 0, 17, 690, 5], + ["setarg", 24, 1, 13, 690, 5], + ["invoke", 24, 16, 690, 5], + "call_done_453", + ["disrupt", 691, 5], + ["jump", "if_end_451", 691, 5], + "if_else_450", + "if_end_451", + ["is_record", 25, 2, 694, 18], "_nop_bl_2", - ["jump_true", 25, "if_else_432", 658, 18], - ["access", 27, "Message must be an object", 659, 15], - ["get", 29, 63, 1, 659, 5], - ["is_proxy", 30, 29, 659, 5], - ["jump_false", 30, "record_path_434", 659, 5], - ["null", 31, 659, 5], - ["access", 32, "error", 659, 5], - ["array", 33, 0, 659, 5], - ["push", 33, 27, 659, 5], - ["frame", 34, 29, 2, 659, 5], - ["setarg", 34, 0, 31, 659, 5], - ["setarg", 34, 1, 32, 659, 5], - ["setarg", 34, 2, 33, 659, 5], - ["invoke", 34, 28, 659, 5], - ["jump", "call_done_435", 659, 5], - "record_path_434", - ["load_field", 35, 29, "error", 659, 5], - ["frame", 36, 35, 1, 659, 5], - ["setarg", 36, 0, 29, 659, 5], - ["setarg", 36, 1, 27, 659, 5], - ["invoke", 36, 28, 659, 5], - "call_done_435", - ["disrupt", 660, 5], - ["jump", "if_end_433", 660, 5], - "if_else_432", - "if_end_433", + ["jump_true", 25, "if_else_454", 694, 18], + ["access", 27, "Message must be an object", 695, 15], + ["get", 29, 63, 1, 695, 5], + ["is_proxy", 30, 29, 695, 5], + ["jump_false", 30, "record_path_456", 695, 5], + ["null", 31, 695, 5], + ["access", 32, "error", 695, 5], + ["array", 33, 0, 695, 5], + ["push", 33, 27, 695, 5], + ["frame", 34, 29, 2, 695, 5], + ["setarg", 34, 0, 31, 695, 5], + ["setarg", 34, 1, 32, 695, 5], + ["setarg", 34, 2, 33, 695, 5], + ["invoke", 34, 28, 695, 5], + ["jump", "call_done_457", 695, 5], + "record_path_456", + ["load_field", 35, 29, "error", 695, 5], + ["frame", 36, 35, 1, 695, 5], + ["setarg", 36, 0, 29, 695, 5], + ["setarg", 36, 1, 27, 695, 5], + ["invoke", 36, 28, 695, 5], + "call_done_457", + ["disrupt", 696, 5], + ["jump", "if_end_455", 696, 5], + "if_else_454", + "if_end_455", ["record", 37, 0], - ["access", 38, "user", 662, 20], - ["store_field", 37, 38, "type", 662, 20], - ["store_field", 37, 2, "data", 662, 34], - ["move", 6, 37, 662, 34], - ["move", 4, 1, 663, 12], - ["get", 39, 41, 1, 665, 13], - ["load_dynamic", 40, 1, 39, 665, 13], - ["move", 41, 40, 665, 13], - ["jump_false", 41, "and_end_438", 665, 13], - ["get", 42, 41, 1, 665, 30], - ["load_dynamic", 43, 1, 42, 665, 30], - ["load_field", 44, 43, "replycc", 665, 30], - ["move", 41, 44, 665, 30], - "and_end_438", - ["jump_false", 41, "if_else_436", 665, 30], - ["get", 45, 41, 1, 666, 20], - ["load_dynamic", 46, 1, 45, 666, 20], - ["move", 5, 46, 666, 20], - ["load_field", 47, 5, "replycc", 667, 10], - ["not", 48, 47, 667, 10], - ["move", 49, 48, 667, 10], - ["jump_true", 49, "or_end_441", 667, 10], - ["load_field", 50, 5, "replycc", 667, 38], - ["get", 52, 5, 1, 667, 29], - ["frame", 53, 52, 1, 667, 29], - ["null", 54, 667, 29], - ["setarg", 53, 0, 54, 667, 29], - ["setarg", 53, 1, 50, 667, 29], - ["invoke", 53, 51, 667, 29], - ["not", 55, 51, 667, 29], - ["move", 49, 55, 667, 29], - "or_end_441", - ["jump_false", 49, "if_else_439", 667, 29], + ["access", 38, "user", 698, 20], + ["store_field", 37, 38, "type", 698, 20], + ["store_field", 37, 2, "data", 698, 34], + ["move", 6, 37, 698, 34], + ["move", 4, 1, 699, 12], + ["get", 39, 41, 1, 701, 13], + ["load_dynamic", 40, 1, 39, 701, 13], + ["move", 41, 40, 701, 13], + ["jump_false", 41, "and_end_460", 701, 13], + ["get", 42, 41, 1, 701, 30], + ["load_dynamic", 43, 1, 42, 701, 30], + ["load_field", 44, 43, "replycc", 701, 30], + ["move", 41, 44, 701, 30], + "and_end_460", + ["jump_false", 41, "if_else_458", 701, 30], + ["get", 45, 41, 1, 702, 20], + ["load_dynamic", 46, 1, 45, 702, 20], + ["move", 5, 46, 702, 20], + ["load_field", 47, 5, "replycc", 703, 10], + ["not", 48, 47, 703, 10], + ["move", 49, 48, 703, 10], + ["jump_true", 49, "or_end_463", 703, 10], + ["load_field", 50, 5, "replycc", 703, 38], + ["get", 52, 5, 1, 703, 29], + ["frame", 53, 52, 1, 703, 29], + ["null", 54, 703, 29], + ["setarg", 53, 0, 54, 703, 29], + ["setarg", 53, 1, 50, 703, 29], + ["invoke", 53, 51, 703, 29], + ["not", 55, 51, 703, 29], + ["move", 49, 55, 703, 29], + "or_end_463", + ["jump_false", 49, "if_else_461", 703, 29], ["get", 56, 41, 1, 1, 7], ["load_dynamic", 57, 1, 56, 1, 7], ["array", 58, 0, 1, 7], @@ -4311,86 +4634,86 @@ ["setarg", 62, 1, 60, 1, 7], ["setarg", 62, 2, 58, 1, 7], ["invoke", 62, 61, 1, 7], - ["get", 65, 63, 1, 668, 7], - ["is_proxy", 66, 65, 668, 7], - ["jump_false", 66, "record_path_442", 668, 7], - ["null", 67, 668, 7], - ["access", 68, "error", 668, 7], - ["array", 69, 0, 668, 7], - ["push", 69, 61, 668, 7], - ["frame", 70, 65, 2, 668, 7], - ["setarg", 70, 0, 67, 668, 7], - ["setarg", 70, 1, 68, 668, 7], - ["setarg", 70, 2, 69, 668, 7], - ["invoke", 70, 64, 668, 7], - ["jump", "call_done_443", 668, 7], - "record_path_442", - ["load_field", 71, 65, "error", 668, 7], - ["frame", 72, 71, 1, 668, 7], - ["setarg", 72, 0, 65, 668, 7], - ["setarg", 72, 1, 61, 668, 7], - ["invoke", 72, 64, 668, 7], - "call_done_443", - ["disrupt", 669, 7], - ["jump", "if_end_440", 669, 7], - "if_else_439", - "if_end_440", - ["load_field", 73, 5, "replycc", 672, 14], - ["move", 4, 73, 672, 14], - ["load_field", 74, 5, "reply", 673, 23], - ["store_field", 6, 74, "return", 673, 5], - ["jump", "if_end_437", 673, 5], - "if_else_436", - "if_end_437", - ["jump_false", 3, "if_else_444", 676, 7], - ["get", 76, 6, 1, 677, 10], - ["frame", 77, 76, 0, 677, 10], - ["null", 78, 677, 10], - ["setarg", 77, 0, 78, 677, 10], - ["invoke", 77, 75, 677, 10], - ["move", 7, 75, 677, 10], - ["get", 79, 64, 1, 678, 5], - ["store_dynamic", 79, 3, 7, 678, 13], - ["function", 80, 29, 679, 14], - ["get", 81, 35, 1, 684, 8], - ["get", 83, 2, 1, 679, 5], - ["is_proxy", 84, 83, 679, 5], - ["jump_false", 84, "record_path_451", 679, 5], - ["null", 85, 679, 5], - ["access", 86, "delay", 679, 5], - ["array", 87, 0, 679, 5], - ["push", 87, 80, 679, 5], - ["push", 87, 81, 679, 5], - ["frame", 88, 83, 2, 679, 5], - ["setarg", 88, 0, 85, 679, 5], - ["setarg", 88, 1, 86, 679, 5], - ["setarg", 88, 2, 87, 679, 5], - ["invoke", 88, 82, 679, 5], - ["jump", "call_done_452", 679, 5], - "record_path_451", - ["load_field", 89, 83, "delay", 679, 5], - ["frame", 90, 89, 2, 679, 5], - ["setarg", 90, 0, 83, 679, 5], - ["setarg", 90, 1, 80, 679, 5], - ["setarg", 90, 2, 81, 679, 5], - ["invoke", 90, 82, 679, 5], - "call_done_452", - ["store_field", 6, 7, "reply", 685, 5], - ["get", 91, 2, 1, 686, 24], - ["load_field", 92, 91, "self", 686, 24], - ["store_field", 6, 92, "replycc", 686, 5], - ["jump", "if_end_445", 686, 5], - "if_else_444", - "if_end_445", - ["get", 94, 66, 1, 690, 3], - ["frame", 95, 94, 2, 690, 3], - ["null", 96, 690, 3], - ["setarg", 95, 0, 96, 690, 3], - ["setarg", 95, 1, 4, 690, 3], - ["setarg", 95, 2, 6, 690, 3], - ["invoke", 95, 93, 690, 3], - ["null", 97, 690, 3], - ["return", 97, 690, 3] + ["get", 65, 63, 1, 704, 7], + ["is_proxy", 66, 65, 704, 7], + ["jump_false", 66, "record_path_464", 704, 7], + ["null", 67, 704, 7], + ["access", 68, "error", 704, 7], + ["array", 69, 0, 704, 7], + ["push", 69, 61, 704, 7], + ["frame", 70, 65, 2, 704, 7], + ["setarg", 70, 0, 67, 704, 7], + ["setarg", 70, 1, 68, 704, 7], + ["setarg", 70, 2, 69, 704, 7], + ["invoke", 70, 64, 704, 7], + ["jump", "call_done_465", 704, 7], + "record_path_464", + ["load_field", 71, 65, "error", 704, 7], + ["frame", 72, 71, 1, 704, 7], + ["setarg", 72, 0, 65, 704, 7], + ["setarg", 72, 1, 61, 704, 7], + ["invoke", 72, 64, 704, 7], + "call_done_465", + ["disrupt", 705, 7], + ["jump", "if_end_462", 705, 7], + "if_else_461", + "if_end_462", + ["load_field", 73, 5, "replycc", 708, 14], + ["move", 4, 73, 708, 14], + ["load_field", 74, 5, "reply", 709, 23], + ["store_field", 6, 74, "return", 709, 5], + ["jump", "if_end_459", 709, 5], + "if_else_458", + "if_end_459", + ["jump_false", 3, "if_else_466", 712, 7], + ["get", 76, 6, 1, 713, 10], + ["frame", 77, 76, 0, 713, 10], + ["null", 78, 713, 10], + ["setarg", 77, 0, 78, 713, 10], + ["invoke", 77, 75, 713, 10], + ["move", 7, 75, 713, 10], + ["get", 79, 64, 1, 714, 5], + ["store_dynamic", 79, 3, 7, 714, 13], + ["function", 80, 29, 715, 14], + ["get", 81, 35, 1, 720, 8], + ["get", 83, 2, 1, 715, 5], + ["is_proxy", 84, 83, 715, 5], + ["jump_false", 84, "record_path_473", 715, 5], + ["null", 85, 715, 5], + ["access", 86, "delay", 715, 5], + ["array", 87, 0, 715, 5], + ["push", 87, 80, 715, 5], + ["push", 87, 81, 715, 5], + ["frame", 88, 83, 2, 715, 5], + ["setarg", 88, 0, 85, 715, 5], + ["setarg", 88, 1, 86, 715, 5], + ["setarg", 88, 2, 87, 715, 5], + ["invoke", 88, 82, 715, 5], + ["jump", "call_done_474", 715, 5], + "record_path_473", + ["load_field", 89, 83, "delay", 715, 5], + ["frame", 90, 89, 2, 715, 5], + ["setarg", 90, 0, 83, 715, 5], + ["setarg", 90, 1, 80, 715, 5], + ["setarg", 90, 2, 81, 715, 5], + ["invoke", 90, 82, 715, 5], + "call_done_474", + ["store_field", 6, 7, "reply", 721, 5], + ["get", 91, 2, 1, 722, 24], + ["load_field", 92, 91, "self", 722, 24], + ["store_field", 6, 92, "replycc", 722, 5], + ["jump", "if_end_467", 722, 5], + "if_else_466", + "if_end_467", + ["get", 94, 66, 1, 726, 3], + ["frame", 95, 94, 2, 726, 3], + ["null", 96, 726, 3], + ["setarg", 95, 0, 96, 726, 3], + ["setarg", 95, 1, 4, 726, 3], + ["setarg", 95, 2, 6, 726, 3], + ["invoke", 95, 93, 726, 3], + ["null", 97, 726, 3], + ["return", 97, 726, 3] ], "name": "send", "filename": "internal/engine.cm", @@ -4401,40 +4724,40 @@ "nr_slots": 21, "nr_close_slots": 0, "instructions": [ - ["get", 4, 7, 1, 703, 13], - ["is_proxy", 5, 4, 703, 13], - ["jump_false", 5, "record_path_453", 703, 13], - ["null", 6, 703, 13], - ["access", 7, "decode", 703, 13], - ["array", 8, 0, 703, 13], - ["push", 8, 1, 703, 13], - ["frame", 9, 4, 2, 703, 13], - ["setarg", 9, 0, 6, 703, 13], - ["setarg", 9, 1, 7, 703, 13], - ["setarg", 9, 2, 8, 703, 13], - ["invoke", 9, 3, 703, 13], - ["jump", "call_done_454", 703, 13], - "record_path_453", - ["load_field", 10, 4, "decode", 703, 13], - ["frame", 11, 10, 1, 703, 13], - ["setarg", 11, 0, 4, 703, 13], - ["setarg", 11, 1, 1, 703, 13], - ["invoke", 11, 3, 703, 13], - "call_done_454", - ["move", 2, 3, 703, 13], - ["get", 13, 34, 1, 704, 3], - ["frame", 14, 13, 1, 704, 3], - ["null", 15, 704, 3], - ["setarg", 14, 0, 15, 704, 3], - ["setarg", 14, 1, 2, 704, 3], - ["invoke", 14, 12, 704, 3], - ["get", 17, 70, 1, 705, 3], - ["frame", 18, 17, 0, 705, 3], - ["null", 19, 705, 3], - ["setarg", 18, 0, 19, 705, 3], - ["invoke", 18, 16, 705, 3], - ["null", 20, 705, 3], - ["return", 20, 705, 3] + ["get", 4, 7, 1, 739, 13], + ["is_proxy", 5, 4, 739, 13], + ["jump_false", 5, "record_path_475", 739, 13], + ["null", 6, 739, 13], + ["access", 7, "decode", 739, 13], + ["array", 8, 0, 739, 13], + ["push", 8, 1, 739, 13], + ["frame", 9, 4, 2, 739, 13], + ["setarg", 9, 0, 6, 739, 13], + ["setarg", 9, 1, 7, 739, 13], + ["setarg", 9, 2, 8, 739, 13], + ["invoke", 9, 3, 739, 13], + ["jump", "call_done_476", 739, 13], + "record_path_475", + ["load_field", 10, 4, "decode", 739, 13], + ["frame", 11, 10, 1, 739, 13], + ["setarg", 11, 0, 4, 739, 13], + ["setarg", 11, 1, 1, 739, 13], + ["invoke", 11, 3, 739, 13], + "call_done_476", + ["move", 2, 3, 739, 13], + ["get", 13, 34, 1, 740, 3], + ["frame", 14, 13, 1, 740, 3], + ["null", 15, 740, 3], + ["setarg", 14, 0, 15, 740, 3], + ["setarg", 14, 1, 2, 740, 3], + ["invoke", 14, 12, 740, 3], + ["get", 17, 70, 1, 741, 3], + ["frame", 18, 17, 0, 741, 3], + ["null", 19, 741, 3], + ["setarg", 18, 0, 19, 741, 3], + ["invoke", 18, 16, 741, 3], + ["null", 20, 741, 3], + ["return", 20, 741, 3] ], "name": "turn", "filename": "internal/engine.cm", @@ -4446,16 +4769,16 @@ "nr_close_slots": 0, "instructions": [ ["record", 3, 0], - ["store_field", 3, 2, "SYSYM", 732, 30], - ["get", 5, 33, 1, 732, 3], - ["frame", 6, 5, 2, 732, 3], - ["null", 7, 732, 3], - ["setarg", 6, 0, 7, 732, 3], - ["setarg", 6, 1, 1, 732, 3], - ["setarg", 6, 2, 3, 732, 3], - ["invoke", 6, 4, 732, 3], - ["null", 8, 732, 3], - ["return", 8, 732, 3] + ["store_field", 3, 2, "SYSYM", 768, 30], + ["get", 5, 33, 1, 768, 3], + ["frame", 6, 5, 2, 768, 3], + ["null", 7, 768, 3], + ["setarg", 6, 0, 7, 768, 3], + ["setarg", 6, 1, 1, 768, 3], + ["setarg", 6, 2, 3, 768, 3], + ["invoke", 6, 4, 768, 3], + ["null", 8, 768, 3], + ["return", 8, 768, 3] ], "name": "sys_msg", "filename": "internal/engine.cm", @@ -4466,31 +4789,31 @@ "nr_slots": 15, "nr_close_slots": 0, "instructions": [ - ["get", 2, 39, 1, 738, 8], + ["get", 2, 39, 1, 774, 8], "_nop_bl_1", - ["jump_true", 2, "if_else_455", 738, 8], - ["null", 4, 738, 18], - ["return", 4, 738, 18], - ["jump", "if_end_456", 738, 18], - "if_else_455", - "if_end_456", - ["get", 5, 39, 1, 739, 11], + ["jump_true", 2, "if_else_477", 774, 8], + ["null", 4, 774, 18], + ["return", 4, 774, 18], + ["jump", "if_end_478", 774, 18], + "if_else_477", + "if_end_478", + ["get", 5, 39, 1, 775, 11], ["record", 6, 0], - ["access", 7, "underling", 739, 27], - ["store_field", 6, 7, "kind", 739, 27], - ["store_field", 6, 1, "message", 739, 48], - ["get", 8, 2, 1, 739, 59], - ["load_field", 9, 8, "self", 739, 59], - ["store_field", 6, 9, "from", 739, 59], - ["get", 11, 16, 1, 739, 3], - ["frame", 12, 11, 2, 739, 3], - ["null", 13, 739, 3], - ["setarg", 12, 0, 13, 739, 3], - ["setarg", 12, 1, 5, 739, 3], - ["setarg", 12, 2, 6, 739, 3], - ["invoke", 12, 10, 739, 3], - ["null", 14, 739, 3], - ["return", 14, 739, 3] + ["access", 7, "underling", 775, 27], + ["store_field", 6, 7, "kind", 775, 27], + ["store_field", 6, 1, "message", 775, 48], + ["get", 8, 2, 1, 775, 59], + ["load_field", 9, 8, "self", 775, 59], + ["store_field", 6, 9, "from", 775, 59], + ["get", 11, 16, 1, 775, 3], + ["frame", 12, 11, 2, 775, 3], + ["null", 13, 775, 3], + ["setarg", 12, 0, 13, 775, 3], + ["setarg", 12, 1, 5, 775, 3], + ["setarg", 12, 2, 6, 775, 3], + ["invoke", 12, 10, 775, 3], + ["null", 14, 775, 3], + ["return", 14, 775, 3] ], "name": "report_to_overling", "filename": "internal/engine.cm", @@ -4501,24 +4824,24 @@ "nr_slots": 37, "nr_close_slots": 0, "instructions": [ - ["get", 3, 75, 1, 751, 17], - ["load_dynamic", 4, 3, 1, 751, 26], - ["move", 2, 4, 751, 26], - ["jump_false", 2, "if_else_457", 752, 7], + ["get", 3, 75, 1, 787, 17], + ["load_dynamic", 4, 3, 1, 787, 26], + ["move", 2, 4, 787, 26], + ["jump_false", 2, "if_else_479", 788, 7], ["record", 5, 0], - ["access", 6, "stopped", 753, 20], - ["store_field", 5, 6, "type", 753, 20], - ["store_field", 5, 1, "id", 753, 31], - ["frame", 8, 2, 1, 753, 5], - ["null", 9, 753, 5], - ["setarg", 8, 0, 9, 753, 5], - ["setarg", 8, 1, 5, 753, 5], - ["invoke", 8, 7, 753, 5], - ["get", 11, 75, 1, 754, 12], - ["delete", 10, 11, 1, 754, 21], - ["jump", "if_end_458", 754, 21], - "if_else_457", - "if_end_458", + ["access", 6, "stopped", 789, 20], + ["store_field", 5, 6, "type", 789, 20], + ["store_field", 5, 1, "id", 789, 31], + ["frame", 8, 2, 1, 789, 5], + ["null", 9, 789, 5], + ["setarg", 8, 0, 9, 789, 5], + ["setarg", 8, 1, 5, 789, 5], + ["invoke", 8, 7, 789, 5], + ["get", 11, 75, 1, 790, 12], + ["delete", 10, 11, 1, 790, 21], + ["jump", "if_end_480", 790, 21], + "if_else_479", + "if_end_480", ["array", 12, 0, 1, 1], ["push", 12, 1, 1, 1], [ @@ -4539,43 +4862,43 @@ ["setarg", 16, 1, 14, 1, 1], ["setarg", 16, 2, 12, 1, 1], ["invoke", 16, 15, 1, 1], - ["get", 19, 63, 1, 756, 3], - ["is_proxy", 20, 19, 756, 3], - ["jump_false", 20, "record_path_459", 756, 3], - ["null", 21, 756, 3], - ["access", 22, "system", 756, 3], - ["array", 23, 0, 756, 3], - ["push", 23, 15, 756, 3], - ["frame", 24, 19, 2, 756, 3], - ["setarg", 24, 0, 21, 756, 3], - ["setarg", 24, 1, 22, 756, 3], - ["setarg", 24, 2, 23, 756, 3], - ["invoke", 24, 18, 756, 3], - ["jump", "call_done_460", 756, 3], - "record_path_459", - ["load_field", 25, 19, "system", 756, 3], - ["frame", 26, 25, 1, 756, 3], - ["setarg", 26, 0, 19, 756, 3], - ["setarg", 26, 1, 15, 756, 3], - ["invoke", 26, 18, 756, 3], - "call_done_460", - ["get", 27, 26, 1, 757, 16], - ["load_dynamic", 28, 27, 1, 757, 26], - ["is_null", 29, 28, 757, 26], + ["get", 19, 63, 1, 792, 3], + ["is_proxy", 20, 19, 792, 3], + ["jump_false", 20, "record_path_481", 792, 3], + ["null", 21, 792, 3], + ["access", 22, "system", 792, 3], + ["array", 23, 0, 792, 3], + ["push", 23, 15, 792, 3], + ["frame", 24, 19, 2, 792, 3], + ["setarg", 24, 0, 21, 792, 3], + ["setarg", 24, 1, 22, 792, 3], + ["setarg", 24, 2, 23, 792, 3], + ["invoke", 24, 18, 792, 3], + ["jump", "call_done_482", 792, 3], + "record_path_481", + ["load_field", 25, 19, "system", 792, 3], + ["frame", 26, 25, 1, 792, 3], + ["setarg", 26, 0, 19, 792, 3], + ["setarg", 26, 1, 15, 792, 3], + ["invoke", 26, 18, 792, 3], + "call_done_482", + ["get", 27, 26, 1, 793, 16], + ["load_dynamic", 28, 27, 1, 793, 26], + ["is_null", 29, 28, 793, 26], "_nop_bl_1", - ["jump_true", 29, "if_else_461", 757, 26], - ["access", 31, "coupled actor died", 757, 42], - ["get", 33, 65, 1, 757, 32], - ["frame", 34, 33, 1, 757, 32], - ["null", 35, 757, 32], - ["setarg", 34, 0, 35, 757, 32], - ["setarg", 34, 1, 31, 757, 32], - ["invoke", 34, 32, 757, 32], - ["jump", "if_end_462", 757, 32], - "if_else_461", - "if_end_462", - ["null", 36, 757, 32], - ["return", 36, 757, 32] + ["jump_true", 29, "if_else_483", 793, 26], + ["access", 31, "coupled actor died", 793, 42], + ["get", 33, 65, 1, 793, 32], + ["frame", 34, 33, 1, 793, 32], + ["null", 35, 793, 32], + ["setarg", 34, 0, 35, 793, 32], + ["setarg", 34, 1, 31, 793, 32], + ["invoke", 34, 32, 793, 32], + ["jump", "if_end_484", 793, 32], + "if_else_483", + "if_end_484", + ["null", 36, 793, 32], + ["return", 36, 793, 32] ], "name": "handle_actor_disconnect", "filename": "internal/engine.cm", @@ -4586,305 +4909,305 @@ "nr_slots": 91, "nr_close_slots": 0, "instructions": [ - ["null", 4, 762, 14], - ["null", 2, 763, 17], - ["null", 3, 764, 17], - ["load_field", 5, 1, "kind", 766, 7], - ["access", 6, "stop", 766, 19], - ["is_identical", 7, 5, 6, 766, 19], - ["jump_true", 7, "eq_done_465", 766, 19], - ["is_int", 8, 5, 766, 19], - ["jump_false", 8, "eq_ni_466", 766, 19], + ["null", 4, 798, 14], + ["null", 2, 799, 17], + ["null", 3, 800, 17], + ["load_field", 5, 1, "kind", 802, 7], + ["access", 6, "stop", 802, 19], + ["is_identical", 7, 5, 6, 802, 19], + ["jump_true", 7, "eq_done_487", 802, 19], + ["is_int", 8, 5, 802, 19], + ["jump_false", 8, "eq_ni_488", 802, 19], "_nop_tc_1", - ["jump", "eq_ni_466", 766, 19], - ["eq_int", 7, 5, 6, 766, 19], - ["jump", "eq_done_465", 766, 19], - "eq_ni_466", - ["is_num", 8, 5, 766, 19], - ["jump_false", 8, "eq_nn_467", 766, 19], - ["is_num", 9, 6, 766, 19], - ["jump_false", 9, "eq_nn_467", 766, 19], - ["eq_float", 7, 5, 6, 766, 19], - ["jump", "eq_done_465", 766, 19], - "eq_nn_467", - ["is_text", 8, 5, 766, 19], - ["jump_false", 8, "eq_nt_468", 766, 19], - ["is_text", 9, 6, 766, 19], - ["jump_false", 9, "eq_nt_468", 766, 19], - ["eq_text", 7, 5, 6, 766, 19], - ["jump", "eq_done_465", 766, 19], - "eq_nt_468", - ["is_null", 8, 5, 766, 19], - ["jump_false", 8, "eq_nnl_469", 766, 19], - ["is_null", 9, 6, 766, 19], - ["jump_false", 9, "eq_nnl_469", 766, 19], - ["true", 7, 766, 19], - ["jump", "eq_done_465", 766, 19], - "eq_nnl_469", - ["is_bool", 8, 5, 766, 19], - ["jump_false", 8, "eq_nb_470", 766, 19], - ["is_bool", 9, 6, 766, 19], - ["jump_false", 9, "eq_nb_470", 766, 19], - ["eq_bool", 7, 5, 6, 766, 19], - ["jump", "eq_done_465", 766, 19], - "eq_nb_470", - ["false", 7, 766, 19], - "eq_done_465", - ["jump_false", 7, "if_else_463", 766, 19], - ["access", 10, "got stop message", 767, 15], - ["get", 12, 65, 1, 767, 5], - ["frame", 13, 12, 1, 767, 5], - ["null", 14, 767, 5], - ["setarg", 13, 0, 14, 767, 5], - ["setarg", 13, 1, 10, 767, 5], - ["invoke", 13, 11, 767, 5], - ["jump", "if_end_464", 767, 5], - "if_else_463", - ["load_field", 15, 1, "kind", 768, 14], - ["access", 16, "underling", 768, 26], - ["is_identical", 17, 15, 16, 768, 26], - ["jump_true", 17, "eq_done_473", 768, 26], - ["is_int", 18, 15, 768, 26], - ["jump_false", 18, "eq_ni_474", 768, 26], + ["jump", "eq_ni_488", 802, 19], + ["eq_int", 7, 5, 6, 802, 19], + ["jump", "eq_done_487", 802, 19], + "eq_ni_488", + ["is_num", 8, 5, 802, 19], + ["jump_false", 8, "eq_nn_489", 802, 19], + ["is_num", 9, 6, 802, 19], + ["jump_false", 9, "eq_nn_489", 802, 19], + ["eq_float", 7, 5, 6, 802, 19], + ["jump", "eq_done_487", 802, 19], + "eq_nn_489", + ["is_text", 8, 5, 802, 19], + ["jump_false", 8, "eq_nt_490", 802, 19], + ["is_text", 9, 6, 802, 19], + ["jump_false", 9, "eq_nt_490", 802, 19], + ["eq_text", 7, 5, 6, 802, 19], + ["jump", "eq_done_487", 802, 19], + "eq_nt_490", + ["is_null", 8, 5, 802, 19], + ["jump_false", 8, "eq_nnl_491", 802, 19], + ["is_null", 9, 6, 802, 19], + ["jump_false", 9, "eq_nnl_491", 802, 19], + ["true", 7, 802, 19], + ["jump", "eq_done_487", 802, 19], + "eq_nnl_491", + ["is_bool", 8, 5, 802, 19], + ["jump_false", 8, "eq_nb_492", 802, 19], + ["is_bool", 9, 6, 802, 19], + ["jump_false", 9, "eq_nb_492", 802, 19], + ["eq_bool", 7, 5, 6, 802, 19], + ["jump", "eq_done_487", 802, 19], + "eq_nb_492", + ["false", 7, 802, 19], + "eq_done_487", + ["jump_false", 7, "if_else_485", 802, 19], + ["access", 10, "got stop message", 803, 15], + ["get", 12, 65, 1, 803, 5], + ["frame", 13, 12, 1, 803, 5], + ["null", 14, 803, 5], + ["setarg", 13, 0, 14, 803, 5], + ["setarg", 13, 1, 10, 803, 5], + ["invoke", 13, 11, 803, 5], + ["jump", "if_end_486", 803, 5], + "if_else_485", + ["load_field", 15, 1, "kind", 804, 14], + ["access", 16, "underling", 804, 26], + ["is_identical", 17, 15, 16, 804, 26], + ["jump_true", 17, "eq_done_495", 804, 26], + ["is_int", 18, 15, 804, 26], + ["jump_false", 18, "eq_ni_496", 804, 26], "_nop_tc_2", - ["jump", "eq_ni_474", 768, 26], - ["eq_int", 17, 15, 16, 768, 26], - ["jump", "eq_done_473", 768, 26], - "eq_ni_474", - ["is_num", 18, 15, 768, 26], - ["jump_false", 18, "eq_nn_475", 768, 26], - ["is_num", 19, 16, 768, 26], - ["jump_false", 19, "eq_nn_475", 768, 26], - ["eq_float", 17, 15, 16, 768, 26], - ["jump", "eq_done_473", 768, 26], - "eq_nn_475", - ["is_text", 18, 15, 768, 26], - ["jump_false", 18, "eq_nt_476", 768, 26], - ["is_text", 19, 16, 768, 26], - ["jump_false", 19, "eq_nt_476", 768, 26], - ["eq_text", 17, 15, 16, 768, 26], - ["jump", "eq_done_473", 768, 26], - "eq_nt_476", - ["is_null", 18, 15, 768, 26], - ["jump_false", 18, "eq_nnl_477", 768, 26], - ["is_null", 19, 16, 768, 26], - ["jump_false", 19, "eq_nnl_477", 768, 26], - ["true", 17, 768, 26], - ["jump", "eq_done_473", 768, 26], - "eq_nnl_477", - ["is_bool", 18, 15, 768, 26], - ["jump_false", 18, "eq_nb_478", 768, 26], - ["is_bool", 19, 16, 768, 26], - ["jump_false", 19, "eq_nb_478", 768, 26], - ["eq_bool", 17, 15, 16, 768, 26], - ["jump", "eq_done_473", 768, 26], - "eq_nb_478", - ["false", 17, 768, 26], - "eq_done_473", - ["jump_false", 17, "if_else_471", 768, 26], - ["load_field", 20, 1, "from", 769, 12], - ["move", 4, 20, 769, 12], - ["get", 21, 75, 1, 770, 15], - ["get", 22, 27, 1, 770, 29], - ["load_dynamic", 23, 4, 22, 770, 29], - ["load_field", 24, 23, "id", 770, 29], - ["load_dynamic", 25, 21, 24, 770, 29], - ["move", 2, 25, 770, 29], - ["jump_false", 2, "if_else_479", 771, 9], - ["load_field", 26, 1, "message", 771, 26], - ["frame", 28, 2, 1, 771, 18], - ["null", 29, 771, 18], - ["setarg", 28, 0, 29, 771, 18], - ["setarg", 28, 1, 26, 771, 18], - ["invoke", 28, 27, 771, 18], - ["jump", "if_end_480", 771, 18], - "if_else_479", - "if_end_480", - ["load_field", 30, 1, "message", 772, 9], - ["load_field", 31, 30, "type", 772, 9], - ["access", 32, "disrupt", 772, 29], - ["is_identical", 33, 31, 32, 772, 29], - ["jump_true", 33, "eq_done_483", 772, 29], - ["is_int", 34, 31, 772, 29], - ["jump_false", 34, "eq_ni_484", 772, 29], + ["jump", "eq_ni_496", 804, 26], + ["eq_int", 17, 15, 16, 804, 26], + ["jump", "eq_done_495", 804, 26], + "eq_ni_496", + ["is_num", 18, 15, 804, 26], + ["jump_false", 18, "eq_nn_497", 804, 26], + ["is_num", 19, 16, 804, 26], + ["jump_false", 19, "eq_nn_497", 804, 26], + ["eq_float", 17, 15, 16, 804, 26], + ["jump", "eq_done_495", 804, 26], + "eq_nn_497", + ["is_text", 18, 15, 804, 26], + ["jump_false", 18, "eq_nt_498", 804, 26], + ["is_text", 19, 16, 804, 26], + ["jump_false", 19, "eq_nt_498", 804, 26], + ["eq_text", 17, 15, 16, 804, 26], + ["jump", "eq_done_495", 804, 26], + "eq_nt_498", + ["is_null", 18, 15, 804, 26], + ["jump_false", 18, "eq_nnl_499", 804, 26], + ["is_null", 19, 16, 804, 26], + ["jump_false", 19, "eq_nnl_499", 804, 26], + ["true", 17, 804, 26], + ["jump", "eq_done_495", 804, 26], + "eq_nnl_499", + ["is_bool", 18, 15, 804, 26], + ["jump_false", 18, "eq_nb_500", 804, 26], + ["is_bool", 19, 16, 804, 26], + ["jump_false", 19, "eq_nb_500", 804, 26], + ["eq_bool", 17, 15, 16, 804, 26], + ["jump", "eq_done_495", 804, 26], + "eq_nb_500", + ["false", 17, 804, 26], + "eq_done_495", + ["jump_false", 17, "if_else_493", 804, 26], + ["load_field", 20, 1, "from", 805, 12], + ["move", 4, 20, 805, 12], + ["get", 21, 75, 1, 806, 15], + ["get", 22, 27, 1, 806, 29], + ["load_dynamic", 23, 4, 22, 806, 29], + ["load_field", 24, 23, "id", 806, 29], + ["load_dynamic", 25, 21, 24, 806, 29], + ["move", 2, 25, 806, 29], + ["jump_false", 2, "if_else_501", 807, 9], + ["load_field", 26, 1, "message", 807, 26], + ["frame", 28, 2, 1, 807, 18], + ["null", 29, 807, 18], + ["setarg", 28, 0, 29, 807, 18], + ["setarg", 28, 1, 26, 807, 18], + ["invoke", 28, 27, 807, 18], + ["jump", "if_end_502", 807, 18], + "if_else_501", + "if_end_502", + ["load_field", 30, 1, "message", 808, 9], + ["load_field", 31, 30, "type", 808, 9], + ["access", 32, "disrupt", 808, 29], + ["is_identical", 33, 31, 32, 808, 29], + ["jump_true", 33, "eq_done_505", 808, 29], + ["is_int", 34, 31, 808, 29], + ["jump_false", 34, "eq_ni_506", 808, 29], "_nop_tc_3", - ["jump", "eq_ni_484", 772, 29], - ["eq_int", 33, 31, 32, 772, 29], - ["jump", "eq_done_483", 772, 29], - "eq_ni_484", - ["is_num", 34, 31, 772, 29], - ["jump_false", 34, "eq_nn_485", 772, 29], - ["is_num", 35, 32, 772, 29], - ["jump_false", 35, "eq_nn_485", 772, 29], - ["eq_float", 33, 31, 32, 772, 29], - ["jump", "eq_done_483", 772, 29], - "eq_nn_485", - ["is_text", 34, 31, 772, 29], - ["jump_false", 34, "eq_nt_486", 772, 29], - ["is_text", 35, 32, 772, 29], - ["jump_false", 35, "eq_nt_486", 772, 29], - ["eq_text", 33, 31, 32, 772, 29], - ["jump", "eq_done_483", 772, 29], - "eq_nt_486", - ["is_null", 34, 31, 772, 29], - ["jump_false", 34, "eq_nnl_487", 772, 29], - ["is_null", 35, 32, 772, 29], - ["jump_false", 35, "eq_nnl_487", 772, 29], - ["true", 33, 772, 29], - ["jump", "eq_done_483", 772, 29], - "eq_nnl_487", - ["is_bool", 34, 31, 772, 29], - ["jump_false", 34, "eq_nb_488", 772, 29], - ["is_bool", 35, 32, 772, 29], - ["jump_false", 35, "eq_nb_488", 772, 29], - ["eq_bool", 33, 31, 32, 772, 29], - ["jump", "eq_done_483", 772, 29], - "eq_nb_488", - ["false", 33, 772, 29], - "eq_done_483", - ["jump_false", 33, "if_else_481", 772, 29], - ["get", 37, 12, 1, 773, 14], - ["get", 38, 27, 1, 773, 30], - ["load_dynamic", 39, 4, 38, 773, 30], - ["load_field", 40, 39, "id", 773, 30], - ["delete", 36, 37, 40, 773, 30], - ["jump", "if_end_482", 773, 30], - "if_else_481", - "if_end_482", - ["jump", "if_end_472", 773, 30], - "if_else_471", - ["load_field", 41, 1, "kind", 774, 14], - ["access", 42, "contact", 774, 26], - ["is_identical", 43, 41, 42, 774, 26], - ["jump_true", 43, "eq_done_491", 774, 26], - ["is_int", 44, 41, 774, 26], - ["jump_false", 44, "eq_ni_492", 774, 26], + ["jump", "eq_ni_506", 808, 29], + ["eq_int", 33, 31, 32, 808, 29], + ["jump", "eq_done_505", 808, 29], + "eq_ni_506", + ["is_num", 34, 31, 808, 29], + ["jump_false", 34, "eq_nn_507", 808, 29], + ["is_num", 35, 32, 808, 29], + ["jump_false", 35, "eq_nn_507", 808, 29], + ["eq_float", 33, 31, 32, 808, 29], + ["jump", "eq_done_505", 808, 29], + "eq_nn_507", + ["is_text", 34, 31, 808, 29], + ["jump_false", 34, "eq_nt_508", 808, 29], + ["is_text", 35, 32, 808, 29], + ["jump_false", 35, "eq_nt_508", 808, 29], + ["eq_text", 33, 31, 32, 808, 29], + ["jump", "eq_done_505", 808, 29], + "eq_nt_508", + ["is_null", 34, 31, 808, 29], + ["jump_false", 34, "eq_nnl_509", 808, 29], + ["is_null", 35, 32, 808, 29], + ["jump_false", 35, "eq_nnl_509", 808, 29], + ["true", 33, 808, 29], + ["jump", "eq_done_505", 808, 29], + "eq_nnl_509", + ["is_bool", 34, 31, 808, 29], + ["jump_false", 34, "eq_nb_510", 808, 29], + ["is_bool", 35, 32, 808, 29], + ["jump_false", 35, "eq_nb_510", 808, 29], + ["eq_bool", 33, 31, 32, 808, 29], + ["jump", "eq_done_505", 808, 29], + "eq_nb_510", + ["false", 33, 808, 29], + "eq_done_505", + ["jump_false", 33, "if_else_503", 808, 29], + ["get", 37, 12, 1, 809, 14], + ["get", 38, 27, 1, 809, 30], + ["load_dynamic", 39, 4, 38, 809, 30], + ["load_field", 40, 39, "id", 809, 30], + ["delete", 36, 37, 40, 809, 30], + ["jump", "if_end_504", 809, 30], + "if_else_503", + "if_end_504", + ["jump", "if_end_494", 809, 30], + "if_else_493", + ["load_field", 41, 1, "kind", 810, 14], + ["access", 42, "contact", 810, 26], + ["is_identical", 43, 41, 42, 810, 26], + ["jump_true", 43, "eq_done_513", 810, 26], + ["is_int", 44, 41, 810, 26], + ["jump_false", 44, "eq_ni_514", 810, 26], "_nop_tc_4", - ["jump", "eq_ni_492", 774, 26], - ["eq_int", 43, 41, 42, 774, 26], - ["jump", "eq_done_491", 774, 26], - "eq_ni_492", - ["is_num", 44, 41, 774, 26], - ["jump_false", 44, "eq_nn_493", 774, 26], - ["is_num", 45, 42, 774, 26], - ["jump_false", 45, "eq_nn_493", 774, 26], - ["eq_float", 43, 41, 42, 774, 26], - ["jump", "eq_done_491", 774, 26], - "eq_nn_493", - ["is_text", 44, 41, 774, 26], - ["jump_false", 44, "eq_nt_494", 774, 26], - ["is_text", 45, 42, 774, 26], - ["jump_false", 45, "eq_nt_494", 774, 26], - ["eq_text", 43, 41, 42, 774, 26], - ["jump", "eq_done_491", 774, 26], - "eq_nt_494", - ["is_null", 44, 41, 774, 26], - ["jump_false", 44, "eq_nnl_495", 774, 26], - ["is_null", 45, 42, 774, 26], - ["jump_false", 45, "eq_nnl_495", 774, 26], - ["true", 43, 774, 26], - ["jump", "eq_done_491", 774, 26], - "eq_nnl_495", - ["is_bool", 44, 41, 774, 26], - ["jump_false", 44, "eq_nb_496", 774, 26], - ["is_bool", 45, 42, 774, 26], - ["jump_false", 45, "eq_nb_496", 774, 26], - ["eq_bool", 43, 41, 42, 774, 26], - ["jump", "eq_done_491", 774, 26], - "eq_nb_496", - ["false", 43, 774, 26], - "eq_done_491", - ["jump_false", 43, "if_else_489", 774, 26], - ["get", 46, 36, 1, 775, 9], - ["jump_false", 46, "if_else_497", 775, 9], - ["load_field", 47, 1, "data", 776, 17], - ["move", 3, 47, 776, 17], - ["get", 48, 41, 1, 777, 15], - ["store_dynamic", 3, 1, 48, 777, 15], + ["jump", "eq_ni_514", 810, 26], + ["eq_int", 43, 41, 42, 810, 26], + ["jump", "eq_done_513", 810, 26], + "eq_ni_514", + ["is_num", 44, 41, 810, 26], + ["jump_false", 44, "eq_nn_515", 810, 26], + ["is_num", 45, 42, 810, 26], + ["jump_false", 45, "eq_nn_515", 810, 26], + ["eq_float", 43, 41, 42, 810, 26], + ["jump", "eq_done_513", 810, 26], + "eq_nn_515", + ["is_text", 44, 41, 810, 26], + ["jump_false", 44, "eq_nt_516", 810, 26], + ["is_text", 45, 42, 810, 26], + ["jump_false", 45, "eq_nt_516", 810, 26], + ["eq_text", 43, 41, 42, 810, 26], + ["jump", "eq_done_513", 810, 26], + "eq_nt_516", + ["is_null", 44, 41, 810, 26], + ["jump_false", 44, "eq_nnl_517", 810, 26], + ["is_null", 45, 42, 810, 26], + ["jump_false", 45, "eq_nnl_517", 810, 26], + ["true", 43, 810, 26], + ["jump", "eq_done_513", 810, 26], + "eq_nnl_517", + ["is_bool", 44, 41, 810, 26], + ["jump_false", 44, "eq_nb_518", 810, 26], + ["is_bool", 45, 42, 810, 26], + ["jump_false", 45, "eq_nb_518", 810, 26], + ["eq_bool", 43, 41, 42, 810, 26], + ["jump", "eq_done_513", 810, 26], + "eq_nb_518", + ["false", 43, 810, 26], + "eq_done_513", + ["jump_false", 43, "if_else_511", 810, 26], + ["get", 46, 36, 1, 811, 9], + ["jump_false", 46, "if_else_519", 811, 9], + ["load_field", 47, 1, "data", 812, 17], + ["move", 3, 47, 812, 17], + ["get", 48, 41, 1, 813, 15], + ["store_dynamic", 3, 1, 48, 813, 15], ["delete", 49, 1, "data"], - ["get", 51, 36, 1, 779, 7], - ["frame", 52, 51, 1, 779, 7], - ["null", 53, 779, 7], - ["setarg", 52, 0, 53, 779, 7], - ["setarg", 52, 1, 3, 779, 7], - ["invoke", 52, 50, 779, 7], - ["jump", "if_end_498", 779, 7], - "if_else_497", - ["access", 54, "Got a contact message, but no portal is established.", 781, 17], - ["get", 56, 63, 1, 781, 7], - ["is_proxy", 57, 56, 781, 7], - ["jump_false", 57, "record_path_499", 781, 7], - ["null", 58, 781, 7], - ["access", 59, "error", 781, 7], - ["array", 60, 0, 781, 7], - ["push", 60, 54, 781, 7], - ["frame", 61, 56, 2, 781, 7], - ["setarg", 61, 0, 58, 781, 7], - ["setarg", 61, 1, 59, 781, 7], - ["setarg", 61, 2, 60, 781, 7], - ["invoke", 61, 55, 781, 7], - ["jump", "call_done_500", 781, 7], - "record_path_499", - ["load_field", 62, 56, "error", 781, 7], - ["frame", 63, 62, 1, 781, 7], - ["setarg", 63, 0, 56, 781, 7], - ["setarg", 63, 1, 54, 781, 7], - ["invoke", 63, 55, 781, 7], - "call_done_500", - ["disrupt", 782, 7], - "if_end_498", - ["jump", "if_end_490", 782, 7], - "if_else_489", - ["load_field", 64, 1, "kind", 784, 14], - ["access", 65, "couple", 784, 26], - ["is_identical", 66, 64, 65, 784, 26], - ["jump_true", 66, "eq_done_503", 784, 26], - ["is_int", 67, 64, 784, 26], - ["jump_false", 67, "eq_ni_504", 784, 26], + ["get", 51, 36, 1, 815, 7], + ["frame", 52, 51, 1, 815, 7], + ["null", 53, 815, 7], + ["setarg", 52, 0, 53, 815, 7], + ["setarg", 52, 1, 3, 815, 7], + ["invoke", 52, 50, 815, 7], + ["jump", "if_end_520", 815, 7], + "if_else_519", + ["access", 54, "Got a contact message, but no portal is established.", 817, 17], + ["get", 56, 63, 1, 817, 7], + ["is_proxy", 57, 56, 817, 7], + ["jump_false", 57, "record_path_521", 817, 7], + ["null", 58, 817, 7], + ["access", 59, "error", 817, 7], + ["array", 60, 0, 817, 7], + ["push", 60, 54, 817, 7], + ["frame", 61, 56, 2, 817, 7], + ["setarg", 61, 0, 58, 817, 7], + ["setarg", 61, 1, 59, 817, 7], + ["setarg", 61, 2, 60, 817, 7], + ["invoke", 61, 55, 817, 7], + ["jump", "call_done_522", 817, 7], + "record_path_521", + ["load_field", 62, 56, "error", 817, 7], + ["frame", 63, 62, 1, 817, 7], + ["setarg", 63, 0, 56, 817, 7], + ["setarg", 63, 1, 54, 817, 7], + ["invoke", 63, 55, 817, 7], + "call_done_522", + ["disrupt", 818, 7], + "if_end_520", + ["jump", "if_end_512", 818, 7], + "if_else_511", + ["load_field", 64, 1, "kind", 820, 14], + ["access", 65, "couple", 820, 26], + ["is_identical", 66, 64, 65, 820, 26], + ["jump_true", 66, "eq_done_525", 820, 26], + ["is_int", 67, 64, 820, 26], + ["jump_false", 67, "eq_ni_526", 820, 26], "_nop_tc_5", - ["jump", "eq_ni_504", 784, 26], - ["eq_int", 66, 64, 65, 784, 26], - ["jump", "eq_done_503", 784, 26], - "eq_ni_504", - ["is_num", 67, 64, 784, 26], - ["jump_false", 67, "eq_nn_505", 784, 26], - ["is_num", 68, 65, 784, 26], - ["jump_false", 68, "eq_nn_505", 784, 26], - ["eq_float", 66, 64, 65, 784, 26], - ["jump", "eq_done_503", 784, 26], - "eq_nn_505", - ["is_text", 67, 64, 784, 26], - ["jump_false", 67, "eq_nt_506", 784, 26], - ["is_text", 68, 65, 784, 26], - ["jump_false", 68, "eq_nt_506", 784, 26], - ["eq_text", 66, 64, 65, 784, 26], - ["jump", "eq_done_503", 784, 26], - "eq_nt_506", - ["is_null", 67, 64, 784, 26], - ["jump_false", 67, "eq_nnl_507", 784, 26], - ["is_null", 68, 65, 784, 26], - ["jump_false", 68, "eq_nnl_507", 784, 26], - ["true", 66, 784, 26], - ["jump", "eq_done_503", 784, 26], - "eq_nnl_507", - ["is_bool", 67, 64, 784, 26], - ["jump_false", 67, "eq_nb_508", 784, 26], - ["is_bool", 68, 65, 784, 26], - ["jump_false", 68, "eq_nb_508", 784, 26], - ["eq_bool", 66, 64, 65, 784, 26], - ["jump", "eq_done_503", 784, 26], - "eq_nb_508", - ["false", 66, 784, 26], - "eq_done_503", - ["jump_false", 66, "if_else_501", 784, 26], - ["load_field", 69, 1, "from", 786, 12], - ["move", 4, 69, 786, 12], - ["true", 70, 787, 38], - ["get", 71, 12, 1, 787, 5], - ["get", 72, 27, 1, 787, 21], - ["load_dynamic", 73, 4, 72, 787, 21], - ["load_field", 74, 73, "id", 787, 21], - ["store_dynamic", 71, 70, 74, 787, 21], + ["jump", "eq_ni_526", 820, 26], + ["eq_int", 66, 64, 65, 820, 26], + ["jump", "eq_done_525", 820, 26], + "eq_ni_526", + ["is_num", 67, 64, 820, 26], + ["jump_false", 67, "eq_nn_527", 820, 26], + ["is_num", 68, 65, 820, 26], + ["jump_false", 68, "eq_nn_527", 820, 26], + ["eq_float", 66, 64, 65, 820, 26], + ["jump", "eq_done_525", 820, 26], + "eq_nn_527", + ["is_text", 67, 64, 820, 26], + ["jump_false", 67, "eq_nt_528", 820, 26], + ["is_text", 68, 65, 820, 26], + ["jump_false", 68, "eq_nt_528", 820, 26], + ["eq_text", 66, 64, 65, 820, 26], + ["jump", "eq_done_525", 820, 26], + "eq_nt_528", + ["is_null", 67, 64, 820, 26], + ["jump_false", 67, "eq_nnl_529", 820, 26], + ["is_null", 68, 65, 820, 26], + ["jump_false", 68, "eq_nnl_529", 820, 26], + ["true", 66, 820, 26], + ["jump", "eq_done_525", 820, 26], + "eq_nnl_529", + ["is_bool", 67, 64, 820, 26], + ["jump_false", 67, "eq_nb_530", 820, 26], + ["is_bool", 68, 65, 820, 26], + ["jump_false", 68, "eq_nb_530", 820, 26], + ["eq_bool", 66, 64, 65, 820, 26], + ["jump", "eq_done_525", 820, 26], + "eq_nb_530", + ["false", 66, 820, 26], + "eq_done_525", + ["jump_false", 66, "if_else_523", 820, 26], + ["load_field", 69, 1, "from", 822, 12], + ["move", 4, 69, 822, 12], + ["true", 70, 823, 38], + ["get", 71, 12, 1, 823, 5], + ["get", 72, 27, 1, 823, 21], + ["load_dynamic", 73, 4, 72, 823, 21], + ["load_field", 74, 73, "id", 823, 21], + ["store_dynamic", 71, 70, 74, 823, 21], ["array", 75, 0, 1, 1], ["push", 75, 4, 1, 1], [ @@ -4905,34 +5228,34 @@ ["setarg", 79, 1, 77, 1, 1], ["setarg", 79, 2, 75, 1, 1], ["invoke", 79, 78, 1, 1], - ["get", 82, 63, 1, 788, 5], - ["is_proxy", 83, 82, 788, 5], - ["jump_false", 83, "record_path_509", 788, 5], - ["null", 84, 788, 5], - ["access", 85, "system", 788, 5], - ["array", 86, 0, 788, 5], - ["push", 86, 78, 788, 5], - ["frame", 87, 82, 2, 788, 5], - ["setarg", 87, 0, 84, 788, 5], - ["setarg", 87, 1, 85, 788, 5], - ["setarg", 87, 2, 86, 788, 5], - ["invoke", 87, 81, 788, 5], - ["jump", "call_done_510", 788, 5], - "record_path_509", - ["load_field", 88, 82, "system", 788, 5], - ["frame", 89, 88, 1, 788, 5], - ["setarg", 89, 0, 82, 788, 5], - ["setarg", 89, 1, 78, 788, 5], - ["invoke", 89, 81, 788, 5], - "call_done_510", - ["jump", "if_end_502", 788, 5], - "if_else_501", - "if_end_502", - "if_end_490", - "if_end_472", - "if_end_464", - ["null", 90, 788, 5], - ["return", 90, 788, 5] + ["get", 82, 63, 1, 824, 5], + ["is_proxy", 83, 82, 824, 5], + ["jump_false", 83, "record_path_531", 824, 5], + ["null", 84, 824, 5], + ["access", 85, "system", 824, 5], + ["array", 86, 0, 824, 5], + ["push", 86, 78, 824, 5], + ["frame", 87, 82, 2, 824, 5], + ["setarg", 87, 0, 84, 824, 5], + ["setarg", 87, 1, 85, 824, 5], + ["setarg", 87, 2, 86, 824, 5], + ["invoke", 87, 81, 824, 5], + ["jump", "call_done_532", 824, 5], + "record_path_531", + ["load_field", 88, 82, "system", 824, 5], + ["frame", 89, 88, 1, 824, 5], + ["setarg", 89, 0, 82, 824, 5], + ["setarg", 89, 1, 78, 824, 5], + ["invoke", 89, 81, 824, 5], + "call_done_532", + ["jump", "if_end_524", 824, 5], + "if_else_523", + "if_end_524", + "if_end_512", + "if_end_494", + "if_end_486", + ["null", 90, 824, 5], + ["return", 90, 824, 5] ], "name": "handle_sysym", "filename": "internal/engine.cm", @@ -4943,75 +5266,75 @@ "nr_slots": 63, "nr_close_slots": 0, "instructions": [ - ["null", 3, 793, 16], - ["null", 2, 794, 12], - ["get", 4, 73, 1, 796, 11], - ["load_dynamic", 5, 1, 4, 796, 11], - ["jump_false", 5, "if_else_511", 796, 11], - ["get", 6, 73, 1, 797, 22], - ["load_dynamic", 7, 1, 6, 797, 22], - ["load_field", 8, 1, "from", 797, 30], - ["get", 10, 15, 1, 797, 5], - ["frame", 11, 10, 2, 797, 5], - ["null", 12, 797, 5], - ["setarg", 11, 0, 12, 797, 5], - ["setarg", 11, 1, 7, 797, 5], - ["setarg", 11, 2, 8, 797, 5], - ["invoke", 11, 9, 797, 5], - ["null", 13, 798, 5], - ["return", 13, 798, 5], - ["jump", "if_end_512", 798, 5], - "if_else_511", - "if_end_512", - ["load_field", 14, 1, "type", 801, 7], - ["access", 15, "user", 801, 19], - ["is_identical", 16, 14, 15, 801, 19], - ["jump_true", 16, "eq_done_515", 801, 19], - ["is_int", 17, 14, 801, 19], - ["jump_false", 17, "eq_ni_516", 801, 19], + ["null", 3, 829, 16], + ["null", 2, 830, 12], + ["get", 4, 73, 1, 832, 11], + ["load_dynamic", 5, 1, 4, 832, 11], + ["jump_false", 5, "if_else_533", 832, 11], + ["get", 6, 73, 1, 833, 22], + ["load_dynamic", 7, 1, 6, 833, 22], + ["load_field", 8, 1, "from", 833, 30], + ["get", 10, 15, 1, 833, 5], + ["frame", 11, 10, 2, 833, 5], + ["null", 12, 833, 5], + ["setarg", 11, 0, 12, 833, 5], + ["setarg", 11, 1, 7, 833, 5], + ["setarg", 11, 2, 8, 833, 5], + ["invoke", 11, 9, 833, 5], + ["null", 13, 834, 5], + ["return", 13, 834, 5], + ["jump", "if_end_534", 834, 5], + "if_else_533", + "if_end_534", + ["load_field", 14, 1, "type", 837, 7], + ["access", 15, "user", 837, 19], + ["is_identical", 16, 14, 15, 837, 19], + ["jump_true", 16, "eq_done_537", 837, 19], + ["is_int", 17, 14, 837, 19], + ["jump_false", 17, "eq_ni_538", 837, 19], "_nop_tc_1", - ["jump", "eq_ni_516", 801, 19], - ["eq_int", 16, 14, 15, 801, 19], - ["jump", "eq_done_515", 801, 19], - "eq_ni_516", - ["is_num", 17, 14, 801, 19], - ["jump_false", 17, "eq_nn_517", 801, 19], - ["is_num", 18, 15, 801, 19], - ["jump_false", 18, "eq_nn_517", 801, 19], - ["eq_float", 16, 14, 15, 801, 19], - ["jump", "eq_done_515", 801, 19], - "eq_nn_517", - ["is_text", 17, 14, 801, 19], - ["jump_false", 17, "eq_nt_518", 801, 19], - ["is_text", 18, 15, 801, 19], - ["jump_false", 18, "eq_nt_518", 801, 19], - ["eq_text", 16, 14, 15, 801, 19], - ["jump", "eq_done_515", 801, 19], - "eq_nt_518", - ["is_null", 17, 14, 801, 19], - ["jump_false", 17, "eq_nnl_519", 801, 19], - ["is_null", 18, 15, 801, 19], - ["jump_false", 18, "eq_nnl_519", 801, 19], - ["true", 16, 801, 19], - ["jump", "eq_done_515", 801, 19], - "eq_nnl_519", - ["is_bool", 17, 14, 801, 19], - ["jump_false", 17, "eq_nb_520", 801, 19], - ["is_bool", 18, 15, 801, 19], - ["jump_false", 18, "eq_nb_520", 801, 19], - ["eq_bool", 16, 14, 15, 801, 19], - ["jump", "eq_done_515", 801, 19], - "eq_nb_520", - ["false", 16, 801, 19], - "eq_done_515", - ["jump_false", 16, "if_else_513", 801, 19], - ["load_field", 19, 1, "data", 802, 14], - ["move", 3, 19, 802, 14], - ["get", 20, 41, 1, 803, 35], + ["jump", "eq_ni_538", 837, 19], + ["eq_int", 16, 14, 15, 837, 19], + ["jump", "eq_done_537", 837, 19], + "eq_ni_538", + ["is_num", 17, 14, 837, 19], + ["jump_false", 17, "eq_nn_539", 837, 19], + ["is_num", 18, 15, 837, 19], + ["jump_false", 18, "eq_nn_539", 837, 19], + ["eq_float", 16, 14, 15, 837, 19], + ["jump", "eq_done_537", 837, 19], + "eq_nn_539", + ["is_text", 17, 14, 837, 19], + ["jump_false", 17, "eq_nt_540", 837, 19], + ["is_text", 18, 15, 837, 19], + ["jump_false", 18, "eq_nt_540", 837, 19], + ["eq_text", 16, 14, 15, 837, 19], + ["jump", "eq_done_537", 837, 19], + "eq_nt_540", + ["is_null", 17, 14, 837, 19], + ["jump_false", 17, "eq_nnl_541", 837, 19], + ["is_null", 18, 15, 837, 19], + ["jump_false", 18, "eq_nnl_541", 837, 19], + ["true", 16, 837, 19], + ["jump", "eq_done_537", 837, 19], + "eq_nnl_541", + ["is_bool", 17, 14, 837, 19], + ["jump_false", 17, "eq_nb_542", 837, 19], + ["is_bool", 18, 15, 837, 19], + ["jump_false", 18, "eq_nb_542", 837, 19], + ["eq_bool", 16, 14, 15, 837, 19], + ["jump", "eq_done_537", 837, 19], + "eq_nb_542", + ["false", 16, 837, 19], + "eq_done_537", + ["jump_false", 16, "if_else_535", 837, 19], + ["load_field", 19, 1, "data", 838, 14], + ["move", 3, 19, 838, 14], + ["get", 20, 41, 1, 839, 35], ["record", 21, 0], - ["store_field", 21, 1, "value", 804, 14], - ["false", 22, 804, 31], - ["store_field", 21, 22, "enumerable", 804, 31], + ["store_field", 21, 1, "value", 840, 14], + ["false", 22, 840, 31], + ["store_field", 21, 22, "enumerable", 840, 31], [ "access", 24, @@ -5020,24 +5343,24 @@ "kind": "name", "make": "intrinsic" }, - 803, + 839, 5 ], - ["frame", 25, 24, 3, 803, 5], - ["null", 26, 803, 5], - ["setarg", 25, 0, 26, 803, 5], - ["setarg", 25, 1, 3, 803, 5], - ["setarg", 25, 2, 20, 803, 5], - ["setarg", 25, 3, 21, 803, 5], - ["invoke", 25, 23, 803, 5], - ["get", 27, 27, 1, 806, 35], + ["frame", 25, 24, 3, 839, 5], + ["null", 26, 839, 5], + ["setarg", 25, 0, 26, 839, 5], + ["setarg", 25, 1, 3, 839, 5], + ["setarg", 25, 2, 20, 839, 5], + ["setarg", 25, 3, 21, 839, 5], + ["invoke", 25, 23, 839, 5], + ["get", 27, 27, 1, 842, 35], ["record", 28, 0], ["record", 29, 0], - ["load_field", 30, 1, "reply", 807, 23], - ["store_field", 29, 30, "reply", 807, 23], - ["store_field", 28, 29, "value", 807, 23], - ["false", 31, 807, 48], - ["store_field", 28, 31, "enumerable", 807, 48], + ["load_field", 30, 1, "reply", 843, 23], + ["store_field", 29, 30, "reply", 843, 23], + ["store_field", 28, 29, "value", 843, 23], + ["false", 31, 843, 48], + ["store_field", 28, 31, "enumerable", 843, 48], [ "access", 33, @@ -5046,107 +5369,107 @@ "kind": "name", "make": "intrinsic" }, - 806, + 842, 5 ], - ["frame", 34, 33, 3, 806, 5], - ["null", 35, 806, 5], - ["setarg", 34, 0, 35, 806, 5], - ["setarg", 34, 1, 3, 806, 5], - ["setarg", 34, 2, 27, 806, 5], - ["setarg", 34, 3, 28, 806, 5], - ["invoke", 34, 32, 806, 5], - ["load_field", 36, 1, "return", 810, 9], - ["jump_false", 36, "if_else_521", 810, 9], - ["get", 37, 64, 1, 811, 12], - ["load_field", 38, 1, "return", 811, 20], - ["load_dynamic", 39, 37, 38, 811, 20], - ["move", 2, 39, 811, 20], - ["jump_false", 2, "if_else_523", 812, 11], - ["frame", 41, 2, 1, 812, 15], - ["null", 42, 812, 15], - ["setarg", 41, 0, 42, 812, 15], - ["setarg", 41, 1, 3, 812, 15], - ["invoke", 41, 40, 812, 15], - ["jump", "if_end_524", 812, 15], - "if_else_523", - "if_end_524", - ["get", 44, 64, 1, 813, 14], - ["load_field", 45, 1, "return", 813, 22], - ["delete", 43, 44, 45, 813, 22], - ["null", 46, 814, 7], - ["return", 46, 814, 7], - ["jump", "if_end_522", 814, 7], - "if_else_521", - "if_end_522", - ["get", 47, 14, 1, 817, 9], - ["jump_false", 47, "if_else_525", 817, 9], - ["get", 49, 14, 1, 817, 21], - ["frame", 50, 49, 1, 817, 21], - ["null", 51, 817, 21], - ["setarg", 50, 0, 51, 817, 21], - ["setarg", 50, 1, 3, 817, 21], - ["invoke", 50, 48, 817, 21], - ["jump", "if_end_526", 817, 21], - "if_else_525", - "if_end_526", - ["jump", "if_end_514", 817, 21], - "if_else_513", - ["load_field", 52, 1, "type", 818, 14], - ["access", 53, "stopped", 818, 26], - ["is_identical", 54, 52, 53, 818, 26], - ["jump_true", 54, "eq_done_529", 818, 26], - ["is_int", 55, 52, 818, 26], - ["jump_false", 55, "eq_ni_530", 818, 26], + ["frame", 34, 33, 3, 842, 5], + ["null", 35, 842, 5], + ["setarg", 34, 0, 35, 842, 5], + ["setarg", 34, 1, 3, 842, 5], + ["setarg", 34, 2, 27, 842, 5], + ["setarg", 34, 3, 28, 842, 5], + ["invoke", 34, 32, 842, 5], + ["load_field", 36, 1, "return", 846, 9], + ["jump_false", 36, "if_else_543", 846, 9], + ["get", 37, 64, 1, 847, 12], + ["load_field", 38, 1, "return", 847, 20], + ["load_dynamic", 39, 37, 38, 847, 20], + ["move", 2, 39, 847, 20], + ["jump_false", 2, "if_else_545", 848, 11], + ["frame", 41, 2, 1, 848, 15], + ["null", 42, 848, 15], + ["setarg", 41, 0, 42, 848, 15], + ["setarg", 41, 1, 3, 848, 15], + ["invoke", 41, 40, 848, 15], + ["jump", "if_end_546", 848, 15], + "if_else_545", + "if_end_546", + ["get", 44, 64, 1, 849, 14], + ["load_field", 45, 1, "return", 849, 22], + ["delete", 43, 44, 45, 849, 22], + ["null", 46, 850, 7], + ["return", 46, 850, 7], + ["jump", "if_end_544", 850, 7], + "if_else_543", + "if_end_544", + ["get", 47, 14, 1, 853, 9], + ["jump_false", 47, "if_else_547", 853, 9], + ["get", 49, 14, 1, 853, 21], + ["frame", 50, 49, 1, 853, 21], + ["null", 51, 853, 21], + ["setarg", 50, 0, 51, 853, 21], + ["setarg", 50, 1, 3, 853, 21], + ["invoke", 50, 48, 853, 21], + ["jump", "if_end_548", 853, 21], + "if_else_547", + "if_end_548", + ["jump", "if_end_536", 853, 21], + "if_else_535", + ["load_field", 52, 1, "type", 854, 14], + ["access", 53, "stopped", 854, 26], + ["is_identical", 54, 52, 53, 854, 26], + ["jump_true", 54, "eq_done_551", 854, 26], + ["is_int", 55, 52, 854, 26], + ["jump_false", 55, "eq_ni_552", 854, 26], "_nop_tc_2", - ["jump", "eq_ni_530", 818, 26], - ["eq_int", 54, 52, 53, 818, 26], - ["jump", "eq_done_529", 818, 26], - "eq_ni_530", - ["is_num", 55, 52, 818, 26], - ["jump_false", 55, "eq_nn_531", 818, 26], - ["is_num", 56, 53, 818, 26], - ["jump_false", 56, "eq_nn_531", 818, 26], - ["eq_float", 54, 52, 53, 818, 26], - ["jump", "eq_done_529", 818, 26], - "eq_nn_531", - ["is_text", 55, 52, 818, 26], - ["jump_false", 55, "eq_nt_532", 818, 26], - ["is_text", 56, 53, 818, 26], - ["jump_false", 56, "eq_nt_532", 818, 26], - ["eq_text", 54, 52, 53, 818, 26], - ["jump", "eq_done_529", 818, 26], - "eq_nt_532", - ["is_null", 55, 52, 818, 26], - ["jump_false", 55, "eq_nnl_533", 818, 26], - ["is_null", 56, 53, 818, 26], - ["jump_false", 56, "eq_nnl_533", 818, 26], - ["true", 54, 818, 26], - ["jump", "eq_done_529", 818, 26], - "eq_nnl_533", - ["is_bool", 55, 52, 818, 26], - ["jump_false", 55, "eq_nb_534", 818, 26], - ["is_bool", 56, 53, 818, 26], - ["jump_false", 56, "eq_nb_534", 818, 26], - ["eq_bool", 54, 52, 53, 818, 26], - ["jump", "eq_done_529", 818, 26], - "eq_nb_534", - ["false", 54, 818, 26], - "eq_done_529", - ["jump_false", 54, "if_else_527", 818, 26], - ["load_field", 57, 1, "id", 819, 29], - ["get", 59, 25, 1, 819, 5], - ["frame", 60, 59, 1, 819, 5], - ["null", 61, 819, 5], - ["setarg", 60, 0, 61, 819, 5], - ["setarg", 60, 1, 57, 819, 5], - ["invoke", 60, 58, 819, 5], - ["jump", "if_end_528", 819, 5], - "if_else_527", - "if_end_528", - "if_end_514", - ["null", 62, 819, 5], - ["return", 62, 819, 5] + ["jump", "eq_ni_552", 854, 26], + ["eq_int", 54, 52, 53, 854, 26], + ["jump", "eq_done_551", 854, 26], + "eq_ni_552", + ["is_num", 55, 52, 854, 26], + ["jump_false", 55, "eq_nn_553", 854, 26], + ["is_num", 56, 53, 854, 26], + ["jump_false", 56, "eq_nn_553", 854, 26], + ["eq_float", 54, 52, 53, 854, 26], + ["jump", "eq_done_551", 854, 26], + "eq_nn_553", + ["is_text", 55, 52, 854, 26], + ["jump_false", 55, "eq_nt_554", 854, 26], + ["is_text", 56, 53, 854, 26], + ["jump_false", 56, "eq_nt_554", 854, 26], + ["eq_text", 54, 52, 53, 854, 26], + ["jump", "eq_done_551", 854, 26], + "eq_nt_554", + ["is_null", 55, 52, 854, 26], + ["jump_false", 55, "eq_nnl_555", 854, 26], + ["is_null", 56, 53, 854, 26], + ["jump_false", 56, "eq_nnl_555", 854, 26], + ["true", 54, 854, 26], + ["jump", "eq_done_551", 854, 26], + "eq_nnl_555", + ["is_bool", 55, 52, 854, 26], + ["jump_false", 55, "eq_nb_556", 854, 26], + ["is_bool", 56, 53, 854, 26], + ["jump_false", 56, "eq_nb_556", 854, 26], + ["eq_bool", 54, 52, 53, 854, 26], + ["jump", "eq_done_551", 854, 26], + "eq_nb_556", + ["false", 54, 854, 26], + "eq_done_551", + ["jump_false", 54, "if_else_549", 854, 26], + ["load_field", 57, 1, "id", 855, 29], + ["get", 59, 25, 1, 855, 5], + ["frame", 60, 59, 1, 855, 5], + ["null", 61, 855, 5], + ["setarg", 60, 0, 61, 855, 5], + ["setarg", 60, 1, 57, 855, 5], + ["invoke", 60, 58, 855, 5], + ["jump", "if_end_550", 855, 5], + "if_else_549", + "if_end_550", + "if_end_536", + ["null", 62, 855, 5], + ["return", 62, 855, 5] ], "name": "handle_message", "filename": "internal/engine.cm", @@ -5157,58 +5480,58 @@ "nr_slots": 24, "nr_close_slots": 0, "instructions": [ - ["get", 1, 23, 1, 825, 7], - ["jump_false", 1, "if_else_535", 825, 7], - ["get", 2, 48, 1, 825, 30], - ["get", 4, 23, 1, 825, 15], - ["is_proxy", 5, 4, 825, 15], - ["jump_false", 5, "record_path_537", 825, 15], - ["null", 6, 825, 15], - ["access", 7, "service", 825, 15], - ["array", 8, 0, 825, 15], - ["push", 8, 2, 825, 15], - ["frame", 9, 4, 2, 825, 15], - ["setarg", 9, 0, 6, 825, 15], - ["setarg", 9, 1, 7, 825, 15], - ["setarg", 9, 2, 8, 825, 15], - ["invoke", 9, 3, 825, 15], - ["jump", "call_done_538", 825, 15], - "record_path_537", - ["load_field", 10, 4, "service", 825, 15], - ["frame", 11, 10, 1, 825, 15], - ["setarg", 11, 0, 4, 825, 15], - ["setarg", 11, 1, 2, 825, 15], - ["invoke", 11, 3, 825, 15], - "call_done_538", - ["jump", "if_end_536", 825, 15], - "if_else_535", - "if_end_536", - ["get", 12, 37, 1, 827, 12], - ["get", 13, 60, 1, 827, 24], - ["get", 15, 2, 1, 827, 3], - ["is_proxy", 16, 15, 827, 3], - ["jump_false", 16, "record_path_539", 827, 3], - ["null", 17, 827, 3], - ["access", 18, "delay", 827, 3], - ["array", 19, 0, 827, 3], - ["push", 19, 12, 827, 3], - ["push", 19, 13, 827, 3], - ["frame", 20, 15, 2, 827, 3], - ["setarg", 20, 0, 17, 827, 3], - ["setarg", 20, 1, 18, 827, 3], - ["setarg", 20, 2, 19, 827, 3], - ["invoke", 20, 14, 827, 3], - ["jump", "call_done_540", 827, 3], - "record_path_539", - ["load_field", 21, 15, "delay", 827, 3], - ["frame", 22, 21, 2, 827, 3], - ["setarg", 22, 0, 15, 827, 3], - ["setarg", 22, 1, 12, 827, 3], - ["setarg", 22, 2, 13, 827, 3], - ["invoke", 22, 14, 827, 3], - "call_done_540", - ["null", 23, 827, 3], - ["return", 23, 827, 3] + ["get", 1, 23, 1, 861, 7], + ["jump_false", 1, "if_else_557", 861, 7], + ["get", 2, 48, 1, 861, 30], + ["get", 4, 23, 1, 861, 15], + ["is_proxy", 5, 4, 861, 15], + ["jump_false", 5, "record_path_559", 861, 15], + ["null", 6, 861, 15], + ["access", 7, "service", 861, 15], + ["array", 8, 0, 861, 15], + ["push", 8, 2, 861, 15], + ["frame", 9, 4, 2, 861, 15], + ["setarg", 9, 0, 6, 861, 15], + ["setarg", 9, 1, 7, 861, 15], + ["setarg", 9, 2, 8, 861, 15], + ["invoke", 9, 3, 861, 15], + ["jump", "call_done_560", 861, 15], + "record_path_559", + ["load_field", 10, 4, "service", 861, 15], + ["frame", 11, 10, 1, 861, 15], + ["setarg", 11, 0, 4, 861, 15], + ["setarg", 11, 1, 2, 861, 15], + ["invoke", 11, 3, 861, 15], + "call_done_560", + ["jump", "if_end_558", 861, 15], + "if_else_557", + "if_end_558", + ["get", 12, 37, 1, 863, 12], + ["get", 13, 60, 1, 863, 24], + ["get", 15, 2, 1, 863, 3], + ["is_proxy", 16, 15, 863, 3], + ["jump_false", 16, "record_path_561", 863, 3], + ["null", 17, 863, 3], + ["access", 18, "delay", 863, 3], + ["array", 19, 0, 863, 3], + ["push", 19, 12, 863, 3], + ["push", 19, 13, 863, 3], + ["frame", 20, 15, 2, 863, 3], + ["setarg", 20, 0, 17, 863, 3], + ["setarg", 20, 1, 18, 863, 3], + ["setarg", 20, 2, 19, 863, 3], + ["invoke", 20, 14, 863, 3], + ["jump", "call_done_562", 863, 3], + "record_path_561", + ["load_field", 21, 15, "delay", 863, 3], + ["frame", 22, 21, 2, 863, 3], + ["setarg", 22, 0, 15, 863, 3], + ["setarg", 22, 1, 12, 863, 3], + ["setarg", 22, 2, 13, 863, 3], + ["invoke", 22, 14, 863, 3], + "call_done_562", + ["null", 23, 863, 3], + ["return", 23, 863, 3] ], "name": "enet_check", "filename": "internal/engine.cm", @@ -5219,12 +5542,12 @@ "nr_slots": 6, "nr_close_slots": 0, "instructions": [ - ["get", 2, 42, 1, 254, 59], - ["load_dynamic", 3, 2, 1, 254, 71], - ["get", 4, 58, 1, 254, 42], - ["store_dynamic", 4, 3, 1, 254, 54], - ["null", 5, 254, 54], - ["return", 5, 254, 54] + ["get", 2, 42, 1, 293, 59], + ["load_dynamic", 3, 2, 1, 293, 71], + ["get", 4, 58, 1, 293, 42], + ["store_dynamic", 4, 3, 1, 293, 54], + ["null", 5, 293, 54], + ["return", 5, 293, 54] ], "name": "", "filename": "internal/engine.cm", @@ -5235,13 +5558,13 @@ "nr_slots": 22, "nr_close_slots": 0, "instructions": [ - ["get", 2, 7, 1, 297, 11], - ["jump_false", 2, "if_else_578", 297, 11], - ["null", 3, 297, 21], - ["return", 3, 297, 21], - ["jump", "if_end_579", 297, 21], - "if_else_578", - "if_end_579", + ["get", 2, 7, 1, 333, 11], + ["jump_false", 2, "if_else_600", 333, 11], + ["null", 3, 333, 21], + ["return", 3, 333, 21], + ["jump", "if_end_601", 333, 21], + "if_else_600", + "if_end_601", [ "access", 4, @@ -5250,11 +5573,11 @@ "kind": "name", "make": "intrinsic" }, - 298, + 334, 32 ], - ["access", 5, "Timeout.", 298, 41], - ["get", 6, 2, 2, 298, 53], + ["access", 5, "Timeout.", 334, 41], + ["get", 6, 2, 2, 334, 53], [ "access", 8, @@ -5263,35 +5586,35 @@ "kind": "name", "make": "intrinsic" }, - 298, + 334, 20 ], - ["frame", 9, 8, 3, 298, 20], - ["null", 10, 298, 20], - ["setarg", 9, 0, 10, 298, 20], - ["setarg", 9, 1, 4, 298, 20], - ["setarg", 9, 2, 5, 298, 20], - ["setarg", 9, 3, 6, 298, 20], - ["invoke", 9, 7, 298, 20], - ["move", 1, 7, 298, 20], - ["get", 12, 4, 1, 299, 7], - ["frame", 13, 12, 1, 299, 7], - ["null", 14, 299, 7], - ["setarg", 13, 0, 14, 299, 7], - ["setarg", 13, 1, 1, 299, 7], - ["invoke", 13, 11, 299, 7], - ["true", 15, 300, 18], - ["put", 15, 7, 1, 300, 18], - ["null", 16, 301, 16], - ["get", 18, 1, 1, 301, 7], - ["frame", 19, 18, 2, 301, 7], - ["null", 20, 301, 7], - ["setarg", 19, 0, 20, 301, 7], - ["setarg", 19, 1, 16, 301, 7], - ["setarg", 19, 2, 1, 301, 7], - ["invoke", 19, 17, 301, 7], - ["null", 21, 301, 7], - ["return", 21, 301, 7] + ["frame", 9, 8, 3, 334, 20], + ["null", 10, 334, 20], + ["setarg", 9, 0, 10, 334, 20], + ["setarg", 9, 1, 4, 334, 20], + ["setarg", 9, 2, 5, 334, 20], + ["setarg", 9, 3, 6, 334, 20], + ["invoke", 9, 7, 334, 20], + ["move", 1, 7, 334, 20], + ["get", 12, 4, 1, 335, 7], + ["frame", 13, 12, 1, 335, 7], + ["null", 14, 335, 7], + ["setarg", 13, 0, 14, 335, 7], + ["setarg", 13, 1, 1, 335, 7], + ["invoke", 13, 11, 335, 7], + ["true", 15, 336, 18], + ["put", 15, 7, 1, 336, 18], + ["null", 16, 337, 16], + ["get", 18, 1, 1, 337, 7], + ["frame", 19, 18, 2, 337, 7], + ["null", 20, 337, 7], + ["setarg", 19, 0, 20, 337, 7], + ["setarg", 19, 1, 16, 337, 7], + ["setarg", 19, 2, 1, 337, 7], + ["invoke", 19, 17, 337, 7], + ["null", 21, 337, 7], + ["return", 21, 337, 7] ], "name": "", "filename": "internal/engine.cm", @@ -5302,14 +5625,14 @@ "nr_slots": 7, "nr_close_slots": 0, "instructions": [ - ["get", 3, 4, 1, 321, 7], - ["frame", 4, 3, 1, 321, 7], - ["null", 5, 321, 7], - ["setarg", 4, 0, 5, 321, 7], - ["setarg", 4, 1, 1, 321, 7], - ["invoke", 4, 2, 321, 7], - ["null", 6, 321, 7], - ["return", 6, 321, 7] + ["get", 3, 4, 1, 357, 7], + ["frame", 4, 3, 1, 357, 7], + ["null", 5, 357, 7], + ["setarg", 4, 0, 5, 357, 7], + ["setarg", 4, 1, 1, 357, 7], + ["invoke", 4, 2, 357, 7], + ["null", 6, 357, 7], + ["return", 6, 357, 7] ], "name": "", "filename": "internal/engine.cm", @@ -5320,65 +5643,65 @@ "nr_slots": 35, "nr_close_slots": 0, "instructions": [ - ["access", 9, "time_limit", 271, 37], - ["get", 11, 21, 2, 271, 5], - ["is_proxy", 12, 11, 271, 5], - ["jump_false", 12, "record_path_576", 271, 5], - ["null", 13, 271, 5], - ["access", 14, "check_callback", 271, 5], - ["array", 15, 0, 271, 5], - ["push", 15, 1, 271, 5], - ["push", 15, 9, 271, 5], - ["frame", 16, 11, 2, 271, 5], - ["setarg", 16, 0, 13, 271, 5], - ["setarg", 16, 1, 14, 271, 5], - ["setarg", 16, 2, 15, 271, 5], - ["invoke", 16, 10, 271, 5], - ["jump", "call_done_577", 271, 5], - "record_path_576", - ["load_field", 17, 11, "check_callback", 271, 5], - ["frame", 18, 17, 2, 271, 5], - ["setarg", 18, 0, 11, 271, 5], - ["setarg", 18, 1, 1, 271, 5], - ["setarg", 18, 2, 9, 271, 5], - ["invoke", 18, 10, 271, 5], - "call_done_577", - ["false", 7, 272, 20], - ["null", 3, 273, 28], - ["null", 5, 274, 24], - ["function", 19, 39, 296, 29], - ["get", 20, 2, 1, 302, 8], - ["get", 22, 2, 2, 296, 20], - ["is_proxy", 23, 22, 296, 20], - ["jump_false", 23, "record_path_580", 296, 20], - ["null", 24, 296, 20], - ["access", 25, "delay", 296, 20], - ["array", 26, 0, 296, 20], - ["push", 26, 19, 296, 20], - ["push", 26, 20, 296, 20], - ["frame", 27, 22, 2, 296, 20], - ["setarg", 27, 0, 24, 296, 20], - ["setarg", 27, 1, 25, 296, 20], - ["setarg", 27, 2, 26, 296, 20], - ["invoke", 27, 21, 296, 20], - ["jump", "call_done_581", 296, 20], - "record_path_580", - ["load_field", 28, 22, "delay", 296, 20], - ["frame", 29, 28, 2, 296, 20], - ["setarg", 29, 0, 22, 296, 20], - ["setarg", 29, 1, 19, 296, 20], - ["setarg", 29, 2, 20, 296, 20], - ["invoke", 29, 21, 296, 20], - "call_done_581", - ["move", 5, 21, 296, 20], - ["frame", 31, 6, 0, 318, 5], - ["null", 32, 318, 5], - ["setarg", 31, 0, 32, 318, 5], - ["invoke", 31, 30, 318, 5], - ["function", 33, 40, 320, 12], - ["return", 33, 320, 12], - ["null", 34, 320, 12], - ["return", 34, 320, 12] + ["access", 9, "time_limit", 307, 37], + ["get", 11, 21, 2, 307, 5], + ["is_proxy", 12, 11, 307, 5], + ["jump_false", 12, "record_path_598", 307, 5], + ["null", 13, 307, 5], + ["access", 14, "check_callback", 307, 5], + ["array", 15, 0, 307, 5], + ["push", 15, 1, 307, 5], + ["push", 15, 9, 307, 5], + ["frame", 16, 11, 2, 307, 5], + ["setarg", 16, 0, 13, 307, 5], + ["setarg", 16, 1, 14, 307, 5], + ["setarg", 16, 2, 15, 307, 5], + ["invoke", 16, 10, 307, 5], + ["jump", "call_done_599", 307, 5], + "record_path_598", + ["load_field", 17, 11, "check_callback", 307, 5], + ["frame", 18, 17, 2, 307, 5], + ["setarg", 18, 0, 11, 307, 5], + ["setarg", 18, 1, 1, 307, 5], + ["setarg", 18, 2, 9, 307, 5], + ["invoke", 18, 10, 307, 5], + "call_done_599", + ["false", 7, 308, 20], + ["null", 3, 309, 28], + ["null", 5, 310, 24], + ["function", 19, 39, 332, 29], + ["get", 20, 2, 1, 338, 8], + ["get", 22, 2, 2, 332, 20], + ["is_proxy", 23, 22, 332, 20], + ["jump_false", 23, "record_path_602", 332, 20], + ["null", 24, 332, 20], + ["access", 25, "delay", 332, 20], + ["array", 26, 0, 332, 20], + ["push", 26, 19, 332, 20], + ["push", 26, 20, 332, 20], + ["frame", 27, 22, 2, 332, 20], + ["setarg", 27, 0, 24, 332, 20], + ["setarg", 27, 1, 25, 332, 20], + ["setarg", 27, 2, 26, 332, 20], + ["invoke", 27, 21, 332, 20], + ["jump", "call_done_603", 332, 20], + "record_path_602", + ["load_field", 28, 22, "delay", 332, 20], + ["frame", 29, 28, 2, 332, 20], + ["setarg", 29, 0, 22, 332, 20], + ["setarg", 29, 1, 19, 332, 20], + ["setarg", 29, 2, 20, 332, 20], + ["invoke", 29, 21, 332, 20], + "call_done_603", + ["move", 5, 21, 332, 20], + ["frame", 31, 6, 0, 354, 5], + ["null", 32, 354, 5], + ["setarg", 31, 0, 32, 354, 5], + ["invoke", 31, 30, 354, 5], + ["function", 33, 40, 356, 12], + ["return", 33, 356, 12], + ["null", 34, 356, 12], + ["return", 34, 356, 12] ], "name": "time_limit_requestor", "filename": "internal/engine.cm", @@ -5389,113 +5712,113 @@ "nr_slots": 42, "nr_close_slots": 0, "instructions": [ - ["get", 4, 21, 1, 261, 8], - ["is_proxy", 5, 4, 261, 8], - ["jump_false", 5, "record_path_563", 261, 8], - ["null", 6, 261, 8], - ["access", 7, "is_requestor", 261, 8], - ["array", 8, 0, 261, 8], - ["push", 8, 1, 261, 8], - ["frame", 9, 4, 2, 261, 8], - ["setarg", 9, 0, 6, 261, 8], - ["setarg", 9, 1, 7, 261, 8], - ["setarg", 9, 2, 8, 261, 8], - ["invoke", 9, 3, 261, 8], - ["jump", "call_done_564", 261, 8], - "record_path_563", - ["load_field", 10, 4, "is_requestor", 261, 8], - ["frame", 11, 10, 1, 261, 8], - ["setarg", 11, 0, 4, 261, 8], - ["setarg", 11, 1, 1, 261, 8], - ["invoke", 11, 3, 261, 8], - "call_done_564", + ["get", 4, 21, 1, 297, 8], + ["is_proxy", 5, 4, 297, 8], + ["jump_false", 5, "record_path_585", 297, 8], + ["null", 6, 297, 8], + ["access", 7, "is_requestor", 297, 8], + ["array", 8, 0, 297, 8], + ["push", 8, 1, 297, 8], + ["frame", 9, 4, 2, 297, 8], + ["setarg", 9, 0, 6, 297, 8], + ["setarg", 9, 1, 7, 297, 8], + ["setarg", 9, 2, 8, 297, 8], + ["invoke", 9, 3, 297, 8], + ["jump", "call_done_586", 297, 8], + "record_path_585", + ["load_field", 10, 4, "is_requestor", 297, 8], + ["frame", 11, 10, 1, 297, 8], + ["setarg", 11, 0, 4, 297, 8], + ["setarg", 11, 1, 1, 297, 8], + ["invoke", 11, 3, 297, 8], + "call_done_586", "_nop_bl_1", - ["jump_true", 3, "if_else_561", 261, 8], - ["access", 13, "time_limit: first argument must be a requestor", 262, 15], - ["get", 15, 63, 1, 262, 5], - ["is_proxy", 16, 15, 262, 5], - ["jump_false", 16, "record_path_565", 262, 5], - ["null", 17, 262, 5], - ["access", 18, "error", 262, 5], - ["array", 19, 0, 262, 5], - ["push", 19, 13, 262, 5], - ["frame", 20, 15, 2, 262, 5], - ["setarg", 20, 0, 17, 262, 5], - ["setarg", 20, 1, 18, 262, 5], - ["setarg", 20, 2, 19, 262, 5], - ["invoke", 20, 14, 262, 5], - ["jump", "call_done_566", 262, 5], - "record_path_565", - ["load_field", 21, 15, "error", 262, 5], - ["frame", 22, 21, 1, 262, 5], - ["setarg", 22, 0, 15, 262, 5], - ["setarg", 22, 1, 13, 262, 5], - ["invoke", 22, 14, 262, 5], - "call_done_566", - ["disrupt", 263, 5], - ["jump", "if_end_562", 263, 5], - "if_else_561", - "if_end_562", - ["is_num", 23, 2, 265, 18], - ["not", 24, 23, 265, 18], - ["move", 25, 24, 265, 18], - ["jump_true", 25, "or_end_569", 265, 18], - ["access", 26, 0, 265, 41], - ["is_int", 28, 2, 265, 41], - ["jump_false", 28, "rel_ni_570", 265, 41], + ["jump_true", 3, "if_else_583", 297, 8], + ["access", 13, "time_limit: first argument must be a requestor", 298, 15], + ["get", 15, 63, 1, 298, 5], + ["is_proxy", 16, 15, 298, 5], + ["jump_false", 16, "record_path_587", 298, 5], + ["null", 17, 298, 5], + ["access", 18, "error", 298, 5], + ["array", 19, 0, 298, 5], + ["push", 19, 13, 298, 5], + ["frame", 20, 15, 2, 298, 5], + ["setarg", 20, 0, 17, 298, 5], + ["setarg", 20, 1, 18, 298, 5], + ["setarg", 20, 2, 19, 298, 5], + ["invoke", 20, 14, 298, 5], + ["jump", "call_done_588", 298, 5], + "record_path_587", + ["load_field", 21, 15, "error", 298, 5], + ["frame", 22, 21, 1, 298, 5], + ["setarg", 22, 0, 15, 298, 5], + ["setarg", 22, 1, 13, 298, 5], + ["invoke", 22, 14, 298, 5], + "call_done_588", + ["disrupt", 299, 5], + ["jump", "if_end_584", 299, 5], + "if_else_583", + "if_end_584", + ["is_num", 23, 2, 301, 18], + ["not", 24, 23, 301, 18], + ["move", 25, 24, 301, 18], + ["jump_true", 25, "or_end_591", 301, 18], + ["access", 26, 0, 301, 41], + ["is_int", 28, 2, 301, 41], + ["jump_false", 28, "rel_ni_592", 301, 41], "_nop_tc_1", - ["jump", "rel_ni_570", 265, 41], - ["le_int", 27, 2, 26, 265, 41], - ["jump", "rel_done_572", 265, 41], - "rel_ni_570", - ["is_num", 28, 2, 265, 41], - ["jump_false", 28, "rel_nn_571", 265, 41], - ["is_num", 29, 26, 265, 41], - ["jump_false", 29, "rel_nn_571", 265, 41], - ["le_float", 27, 2, 26, 265, 41], - ["jump", "rel_done_572", 265, 41], - "rel_nn_571", - ["is_text", 28, 2, 265, 41], - ["jump_false", 28, "rel_err_573", 265, 41], - ["is_text", 29, 26, 265, 41], - ["jump_false", 29, "rel_err_573", 265, 41], - ["le_text", 27, 2, 26, 265, 41], - ["jump", "rel_done_572", 265, 41], - "rel_err_573", - ["disrupt", 265, 41], - "rel_done_572", - ["move", 25, 27, 265, 41], - "or_end_569", - ["jump_false", 25, "if_else_567", 265, 41], - ["access", 30, "time_limit: seconds must be a positive number", 266, 15], - ["get", 32, 63, 1, 266, 5], - ["is_proxy", 33, 32, 266, 5], - ["jump_false", 33, "record_path_574", 266, 5], - ["null", 34, 266, 5], - ["access", 35, "error", 266, 5], - ["array", 36, 0, 266, 5], - ["push", 36, 30, 266, 5], - ["frame", 37, 32, 2, 266, 5], - ["setarg", 37, 0, 34, 266, 5], - ["setarg", 37, 1, 35, 266, 5], - ["setarg", 37, 2, 36, 266, 5], - ["invoke", 37, 31, 266, 5], - ["jump", "call_done_575", 266, 5], - "record_path_574", - ["load_field", 38, 32, "error", 266, 5], - ["frame", 39, 38, 1, 266, 5], - ["setarg", 39, 0, 32, 266, 5], - ["setarg", 39, 1, 30, 266, 5], - ["invoke", 39, 31, 266, 5], - "call_done_575", - ["disrupt", 267, 5], - ["jump", "if_end_568", 267, 5], - "if_else_567", - "if_end_568", - ["function", 40, 41, 270, 10], - ["return", 40, 270, 10], - ["null", 41, 270, 10], - ["return", 41, 270, 10] + ["jump", "rel_ni_592", 301, 41], + ["le_int", 27, 2, 26, 301, 41], + ["jump", "rel_done_594", 301, 41], + "rel_ni_592", + ["is_num", 28, 2, 301, 41], + ["jump_false", 28, "rel_nn_593", 301, 41], + ["is_num", 29, 26, 301, 41], + ["jump_false", 29, "rel_nn_593", 301, 41], + ["le_float", 27, 2, 26, 301, 41], + ["jump", "rel_done_594", 301, 41], + "rel_nn_593", + ["is_text", 28, 2, 301, 41], + ["jump_false", 28, "rel_err_595", 301, 41], + ["is_text", 29, 26, 301, 41], + ["jump_false", 29, "rel_err_595", 301, 41], + ["le_text", 27, 2, 26, 301, 41], + ["jump", "rel_done_594", 301, 41], + "rel_err_595", + ["disrupt", 301, 41], + "rel_done_594", + ["move", 25, 27, 301, 41], + "or_end_591", + ["jump_false", 25, "if_else_589", 301, 41], + ["access", 30, "time_limit: seconds must be a positive number", 302, 15], + ["get", 32, 63, 1, 302, 5], + ["is_proxy", 33, 32, 302, 5], + ["jump_false", 33, "record_path_596", 302, 5], + ["null", 34, 302, 5], + ["access", 35, "error", 302, 5], + ["array", 36, 0, 302, 5], + ["push", 36, 30, 302, 5], + ["frame", 37, 32, 2, 302, 5], + ["setarg", 37, 0, 34, 302, 5], + ["setarg", 37, 1, 35, 302, 5], + ["setarg", 37, 2, 36, 302, 5], + ["invoke", 37, 31, 302, 5], + ["jump", "call_done_597", 302, 5], + "record_path_596", + ["load_field", 38, 32, "error", 302, 5], + ["frame", 39, 38, 1, 302, 5], + ["setarg", 39, 0, 32, 302, 5], + ["setarg", 39, 1, 30, 302, 5], + ["invoke", 39, 31, 302, 5], + "call_done_597", + ["disrupt", 303, 5], + ["jump", "if_end_590", 303, 5], + "if_else_589", + "if_end_590", + ["function", 40, 41, 306, 10], + ["return", 40, 306, 10], + ["null", 41, 306, 10], + ["return", 41, 306, 10] ], "name": "", "filename": "internal/engine.cm", @@ -5506,37 +5829,37 @@ "nr_slots": 20, "nr_close_slots": 0, "instructions": [ - ["get", 3, 3, 2, 377, 8], - ["is_proxy", 4, 3, 377, 8], - ["jump_false", 4, "record_path_582", 377, 8], - ["null", 5, 377, 8], - ["access", 6, "number", 377, 8], - ["array", 7, 0, 377, 8], - ["frame", 8, 3, 2, 377, 8], - ["setarg", 8, 0, 5, 377, 8], - ["setarg", 8, 1, 6, 377, 8], - ["setarg", 8, 2, 7, 377, 8], - ["invoke", 8, 2, 377, 8], - ["jump", "call_done_583", 377, 8], - "record_path_582", - ["load_field", 9, 3, "number", 377, 8], - ["frame", 10, 9, 0, 377, 8], - ["setarg", 10, 0, 3, 377, 8], - ["invoke", 10, 2, 377, 8], - "call_done_583", - ["get", 12, 1, 1, 377, 5], - ["frame", 13, 12, 1, 377, 5], - ["null", 14, 377, 5], - ["setarg", 13, 0, 14, 377, 5], - ["setarg", 13, 1, 2, 377, 5], - ["invoke", 13, 11, 377, 5], - ["get", 16, 70, 2, 378, 5], - ["frame", 17, 16, 0, 378, 5], - ["null", 18, 378, 5], - ["setarg", 17, 0, 18, 378, 5], - ["invoke", 17, 15, 378, 5], - ["null", 19, 378, 5], - ["return", 19, 378, 5] + ["get", 3, 3, 2, 413, 8], + ["is_proxy", 4, 3, 413, 8], + ["jump_false", 4, "record_path_604", 413, 8], + ["null", 5, 413, 8], + ["access", 6, "number", 413, 8], + ["array", 7, 0, 413, 8], + ["frame", 8, 3, 2, 413, 8], + ["setarg", 8, 0, 5, 413, 8], + ["setarg", 8, 1, 6, 413, 8], + ["setarg", 8, 2, 7, 413, 8], + ["invoke", 8, 2, 413, 8], + ["jump", "call_done_605", 413, 8], + "record_path_604", + ["load_field", 9, 3, "number", 413, 8], + ["frame", 10, 9, 0, 413, 8], + ["setarg", 10, 0, 3, 413, 8], + ["invoke", 10, 2, 413, 8], + "call_done_605", + ["get", 12, 1, 1, 413, 5], + ["frame", 13, 12, 1, 413, 5], + ["null", 14, 413, 5], + ["setarg", 13, 0, 14, 413, 5], + ["setarg", 13, 1, 2, 413, 5], + ["invoke", 13, 11, 413, 5], + ["get", 16, 70, 2, 414, 5], + ["frame", 17, 16, 0, 414, 5], + ["null", 18, 414, 5], + ["setarg", 17, 0, 18, 414, 5], + ["invoke", 17, 15, 414, 5], + ["null", 19, 414, 5], + ["return", 19, 414, 5] ], "name": "", "filename": "internal/engine.cm", @@ -5547,29 +5870,29 @@ "nr_slots": 13, "nr_close_slots": 0, "instructions": [ - ["function", 2, 43, 376, 19], - ["get", 4, 30, 1, 376, 3], - ["is_proxy", 5, 4, 376, 3], - ["jump_false", 5, "record_path_584", 376, 3], - ["null", 6, 376, 3], - ["access", 7, "clock", 376, 3], - ["array", 8, 0, 376, 3], - ["push", 8, 2, 376, 3], - ["frame", 9, 4, 2, 376, 3], - ["setarg", 9, 0, 6, 376, 3], - ["setarg", 9, 1, 7, 376, 3], - ["setarg", 9, 2, 8, 376, 3], - ["invoke", 9, 3, 376, 3], - ["jump", "call_done_585", 376, 3], - "record_path_584", - ["load_field", 10, 4, "clock", 376, 3], - ["frame", 11, 10, 1, 376, 3], - ["setarg", 11, 0, 4, 376, 3], - ["setarg", 11, 1, 2, 376, 3], - ["invoke", 11, 3, 376, 3], - "call_done_585", - ["null", 12, 376, 3], - ["return", 12, 376, 3] + ["function", 2, 43, 412, 19], + ["get", 4, 30, 1, 412, 3], + ["is_proxy", 5, 4, 412, 3], + ["jump_false", 5, "record_path_606", 412, 3], + ["null", 6, 412, 3], + ["access", 7, "clock", 412, 3], + ["array", 8, 0, 412, 3], + ["push", 8, 2, 412, 3], + ["frame", 9, 4, 2, 412, 3], + ["setarg", 9, 0, 6, 412, 3], + ["setarg", 9, 1, 7, 412, 3], + ["setarg", 9, 2, 8, 412, 3], + ["invoke", 9, 3, 412, 3], + ["jump", "call_done_607", 412, 3], + "record_path_606", + ["load_field", 10, 4, "clock", 412, 3], + ["frame", 11, 10, 1, 412, 3], + ["setarg", 11, 0, 4, 412, 3], + ["setarg", 11, 1, 2, 412, 3], + ["invoke", 11, 3, 412, 3], + "call_done_607", + ["null", 12, 412, 3], + ["return", 12, 412, 3] ], "name": "", "filename": "internal/engine.cm", @@ -5588,74 +5911,74 @@ "kind": "name", "make": "intrinsic" }, - 414, + 450, 14 ], - ["get", 6, 27, 1, 414, 26], - ["load_dynamic", 7, 2, 6, 414, 26], - ["load_field", 8, 7, "id", 414, 26], - ["load_dynamic", 9, 5, 8, 414, 26], - ["move", 4, 9, 414, 26], - ["jump_false", 4, "if_else_586", 415, 7], - ["get", 11, 28, 1, 416, 14], - ["frame", 12, 11, 1, 416, 14], - ["null", 13, 416, 14], - ["setarg", 12, 0, 13, 416, 14], - ["setarg", 12, 1, 4, 416, 14], - ["invoke", 12, 10, 416, 14], - ["frame", 15, 1, 1, 416, 5], - ["null", 16, 416, 5], - ["setarg", 15, 0, 16, 416, 5], - ["setarg", 15, 1, 10, 416, 5], - ["invoke", 15, 14, 416, 5], - ["null", 17, 417, 5], - ["return", 17, 417, 5], - ["jump", "if_end_587", 417, 5], - "if_else_586", - "if_end_587", - ["get", 18, 27, 1, 419, 37], - ["load_dynamic", 19, 2, 18, 419, 37], - ["load_field", 20, 19, "id", 419, 37], - ["get", 22, 30, 1, 419, 7], - ["is_proxy", 23, 22, 419, 7], - ["jump_false", 23, "record_path_590", 419, 7], - ["null", 24, 419, 7], - ["access", 25, "mailbox_exist", 419, 7], - ["array", 26, 0, 419, 7], - ["push", 26, 20, 419, 7], - ["frame", 27, 22, 2, 419, 7], - ["setarg", 27, 0, 24, 419, 7], - ["setarg", 27, 1, 25, 419, 7], - ["setarg", 27, 2, 26, 419, 7], - ["invoke", 27, 21, 419, 7], - ["jump", "call_done_591", 419, 7], - "record_path_590", - ["load_field", 28, 22, "mailbox_exist", 419, 7], - ["frame", 29, 28, 1, 419, 7], - ["setarg", 29, 0, 22, 419, 7], - ["setarg", 29, 1, 20, 419, 7], - ["invoke", 29, 21, 419, 7], - "call_done_591", - ["jump_false", 21, "if_else_588", 419, 7], + ["get", 6, 27, 1, 450, 26], + ["load_dynamic", 7, 2, 6, 450, 26], + ["load_field", 8, 7, "id", 450, 26], + ["load_dynamic", 9, 5, 8, 450, 26], + ["move", 4, 9, 450, 26], + ["jump_false", 4, "if_else_608", 451, 7], + ["get", 11, 28, 1, 452, 14], + ["frame", 12, 11, 1, 452, 14], + ["null", 13, 452, 14], + ["setarg", 12, 0, 13, 452, 14], + ["setarg", 12, 1, 4, 452, 14], + ["invoke", 12, 10, 452, 14], + ["frame", 15, 1, 1, 452, 5], + ["null", 16, 452, 5], + ["setarg", 15, 0, 16, 452, 5], + ["setarg", 15, 1, 10, 452, 5], + ["invoke", 15, 14, 452, 5], + ["null", 17, 453, 5], + ["return", 17, 453, 5], + ["jump", "if_end_609", 453, 5], + "if_else_608", + "if_end_609", + ["get", 18, 27, 1, 455, 37], + ["load_dynamic", 19, 2, 18, 455, 37], + ["load_field", 20, 19, "id", 455, 37], + ["get", 22, 30, 1, 455, 7], + ["is_proxy", 23, 22, 455, 7], + ["jump_false", 23, "record_path_612", 455, 7], + ["null", 24, 455, 7], + ["access", 25, "mailbox_exist", 455, 7], + ["array", 26, 0, 455, 7], + ["push", 26, 20, 455, 7], + ["frame", 27, 22, 2, 455, 7], + ["setarg", 27, 0, 24, 455, 7], + ["setarg", 27, 1, 25, 455, 7], + ["setarg", 27, 2, 26, 455, 7], + ["invoke", 27, 21, 455, 7], + ["jump", "call_done_613", 455, 7], + "record_path_612", + ["load_field", 28, 22, "mailbox_exist", 455, 7], + ["frame", 29, 28, 1, 455, 7], + ["setarg", 29, 0, 22, 455, 7], + ["setarg", 29, 1, 20, 455, 7], + ["invoke", 29, 21, 455, 7], + "call_done_613", + ["jump_false", 21, "if_else_610", 455, 7], ["record", 30, 0], - ["access", 31, "local", 420, 20], - ["store_field", 30, 31, "type", 420, 20], - ["frame", 33, 1, 1, 420, 5], - ["null", 34, 420, 5], - ["setarg", 33, 0, 34, 420, 5], - ["setarg", 33, 1, 30, 420, 5], - ["invoke", 33, 32, 420, 5], - ["null", 35, 421, 5], - ["return", 35, 421, 5], - ["jump", "if_end_589", 421, 5], - "if_else_588", - "if_end_589", - ["frame", 37, 1, 0, 424, 3], - ["null", 38, 424, 3], - ["setarg", 37, 0, 38, 424, 3], - ["invoke", 37, 36, 424, 3], - ["null", 39, 424, 3], - ["return", 39, 424, 3] + ["access", 31, "local", 456, 20], + ["store_field", 30, 31, "type", 456, 20], + ["frame", 33, 1, 1, 456, 5], + ["null", 34, 456, 5], + ["setarg", 33, 0, 34, 456, 5], + ["setarg", 33, 1, 30, 456, 5], + ["invoke", 33, 32, 456, 5], + ["null", 35, 457, 5], + ["return", 35, 457, 5], + ["jump", "if_end_611", 457, 5], + "if_else_610", + "if_end_611", + ["frame", 37, 1, 0, 460, 3], + ["null", 38, 460, 3], + ["setarg", 37, 0, 38, 460, 3], + ["invoke", 37, 36, 460, 3], + ["null", 39, 460, 3], + ["return", 39, 460, 3] ], "name": "", "filename": "internal/engine.cm", @@ -5666,8 +5989,8 @@ "nr_slots": 59, "nr_close_slots": 0, "instructions": [ - ["get", 3, 23, 1, 435, 7], - ["jump_false", 3, "if_else_592", 435, 7], + ["get", 3, 23, 1, 471, 7], + ["jump_false", 3, "if_else_614", 471, 7], ["get", 4, 23, 1, 1, 1], ["load_field", 5, 4, "port", 1, 1], ["array", 6, 0, 1, 1], @@ -5690,57 +6013,57 @@ ["setarg", 10, 1, 8, 1, 1], ["setarg", 10, 2, 6, 1, 1], ["invoke", 10, 9, 1, 1], - ["get", 13, 63, 1, 436, 5], - ["is_proxy", 14, 13, 436, 5], - ["jump_false", 14, "record_path_594", 436, 5], - ["null", 15, 436, 5], - ["access", 16, "error", 436, 5], - ["array", 17, 0, 436, 5], - ["push", 17, 9, 436, 5], - ["frame", 18, 13, 2, 436, 5], - ["setarg", 18, 0, 15, 436, 5], - ["setarg", 18, 1, 16, 436, 5], - ["setarg", 18, 2, 17, 436, 5], - ["invoke", 18, 12, 436, 5], - ["jump", "call_done_595", 436, 5], - "record_path_594", - ["load_field", 19, 13, "error", 436, 5], - ["frame", 20, 19, 1, 436, 5], - ["setarg", 20, 0, 13, 436, 5], - ["setarg", 20, 1, 9, 436, 5], - ["invoke", 20, 12, 436, 5], - "call_done_595", - ["disrupt", 437, 5], - ["jump", "if_end_593", 437, 5], - "if_else_592", - "if_end_593", + ["get", 13, 63, 1, 472, 5], + ["is_proxy", 14, 13, 472, 5], + ["jump_false", 14, "record_path_616", 472, 5], + ["null", 15, 472, 5], + ["access", 16, "error", 472, 5], + ["array", 17, 0, 472, 5], + ["push", 17, 9, 472, 5], + ["frame", 18, 13, 2, 472, 5], + ["setarg", 18, 0, 15, 472, 5], + ["setarg", 18, 1, 16, 472, 5], + ["setarg", 18, 2, 17, 472, 5], + ["invoke", 18, 12, 472, 5], + ["jump", "call_done_617", 472, 5], + "record_path_616", + ["load_field", 19, 13, "error", 472, 5], + ["frame", 20, 19, 1, 472, 5], + ["setarg", 20, 0, 13, 472, 5], + ["setarg", 20, 1, 9, 472, 5], + ["invoke", 20, 12, 472, 5], + "call_done_617", + ["disrupt", 473, 5], + ["jump", "if_end_615", 473, 5], + "if_else_614", + "if_end_615", "_nop_bl_1", - ["jump_true", 2, "if_else_596", 439, 8], - ["access", 22, "Requires a valid port.", 440, 15], - ["get", 24, 63, 1, 440, 5], - ["is_proxy", 25, 24, 440, 5], - ["jump_false", 25, "record_path_598", 440, 5], - ["null", 26, 440, 5], - ["access", 27, "error", 440, 5], - ["array", 28, 0, 440, 5], - ["push", 28, 22, 440, 5], - ["frame", 29, 24, 2, 440, 5], - ["setarg", 29, 0, 26, 440, 5], - ["setarg", 29, 1, 27, 440, 5], - ["setarg", 29, 2, 28, 440, 5], - ["invoke", 29, 23, 440, 5], - ["jump", "call_done_599", 440, 5], - "record_path_598", - ["load_field", 30, 24, "error", 440, 5], - ["frame", 31, 30, 1, 440, 5], - ["setarg", 31, 0, 24, 440, 5], - ["setarg", 31, 1, 22, 440, 5], - ["invoke", 31, 23, 440, 5], - "call_done_599", - ["disrupt", 441, 5], - ["jump", "if_end_597", 441, 5], - "if_else_596", - "if_end_597", + ["jump_true", 2, "if_else_618", 475, 8], + ["access", 22, "Requires a valid port.", 476, 15], + ["get", 24, 63, 1, 476, 5], + ["is_proxy", 25, 24, 476, 5], + ["jump_false", 25, "record_path_620", 476, 5], + ["null", 26, 476, 5], + ["access", 27, "error", 476, 5], + ["array", 28, 0, 476, 5], + ["push", 28, 22, 476, 5], + ["frame", 29, 24, 2, 476, 5], + ["setarg", 29, 0, 26, 476, 5], + ["setarg", 29, 1, 27, 476, 5], + ["setarg", 29, 2, 28, 476, 5], + ["invoke", 29, 23, 476, 5], + ["jump", "call_done_621", 476, 5], + "record_path_620", + ["load_field", 30, 24, "error", 476, 5], + ["frame", 31, 30, 1, 476, 5], + ["setarg", 31, 0, 24, 476, 5], + ["setarg", 31, 1, 22, 476, 5], + ["invoke", 31, 23, 476, 5], + "call_done_621", + ["disrupt", 477, 5], + ["jump", "if_end_619", 477, 5], + "if_else_618", + "if_end_619", ["array", 32, 0, 1, 1], ["push", 32, 2, 1, 1], [ @@ -5761,30 +6084,30 @@ ["setarg", 36, 1, 34, 1, 1], ["setarg", 36, 2, 32, 1, 1], ["invoke", 36, 35, 1, 1], - ["get", 39, 63, 1, 443, 3], - ["is_proxy", 40, 39, 443, 3], - ["jump_false", 40, "record_path_600", 443, 3], - ["null", 41, 443, 3], - ["access", 42, "system", 443, 3], - ["array", 43, 0, 443, 3], - ["push", 43, 35, 443, 3], - ["frame", 44, 39, 2, 443, 3], - ["setarg", 44, 0, 41, 443, 3], - ["setarg", 44, 1, 42, 443, 3], - ["setarg", 44, 2, 43, 443, 3], - ["invoke", 44, 38, 443, 3], - ["jump", "call_done_601", 443, 3], - "record_path_600", - ["load_field", 45, 39, "system", 443, 3], - ["frame", 46, 45, 1, 443, 3], - ["setarg", 46, 0, 39, 443, 3], - ["setarg", 46, 1, 35, 443, 3], - ["invoke", 46, 38, 443, 3], - "call_done_601", + ["get", 39, 63, 1, 479, 3], + ["is_proxy", 40, 39, 479, 3], + ["jump_false", 40, "record_path_622", 479, 3], + ["null", 41, 479, 3], + ["access", 42, "system", 479, 3], + ["array", 43, 0, 479, 3], + ["push", 43, 35, 479, 3], + ["frame", 44, 39, 2, 479, 3], + ["setarg", 44, 0, 41, 479, 3], + ["setarg", 44, 1, 42, 479, 3], + ["setarg", 44, 2, 43, 479, 3], + ["invoke", 44, 38, 479, 3], + ["jump", "call_done_623", 479, 3], + "record_path_622", + ["load_field", 45, 39, "system", 479, 3], + ["frame", 46, 45, 1, 479, 3], + ["setarg", 46, 0, 39, 479, 3], + ["setarg", 46, 1, 35, 479, 3], + ["invoke", 46, 38, 479, 3], + "call_done_623", ["record", 47, 0], - ["access", 48, "any", 444, 39], - ["store_field", 47, 48, "address", 444, 39], - ["store_field", 47, 2, "port", 444, 46], + ["access", 48, "any", 480, 39], + ["store_field", 47, 48, "address", 480, 39], + ["store_field", 47, 2, "port", 480, 46], [ "access", 50, @@ -5793,32 +6116,32 @@ "kind": "name", "make": "intrinsic" }, - 444, + 480, 12 ], - ["is_proxy", 51, 50, 444, 12], - ["jump_false", 51, "record_path_602", 444, 12], - ["null", 52, 444, 12], - ["access", 53, "create_host", 444, 12], - ["array", 54, 0, 444, 12], - ["push", 54, 47, 444, 12], - ["frame", 55, 50, 2, 444, 12], - ["setarg", 55, 0, 52, 444, 12], - ["setarg", 55, 1, 53, 444, 12], - ["setarg", 55, 2, 54, 444, 12], - ["invoke", 55, 49, 444, 12], - ["jump", "call_done_603", 444, 12], - "record_path_602", - ["load_field", 56, 50, "create_host", 444, 12], - ["frame", 57, 56, 1, 444, 12], - ["setarg", 57, 0, 50, 444, 12], - ["setarg", 57, 1, 47, 444, 12], - ["invoke", 57, 49, 444, 12], - "call_done_603", - ["put", 49, 23, 1, 444, 12], - ["put", 1, 36, 1, 445, 15], - ["null", 58, 445, 15], - ["return", 58, 445, 15] + ["is_proxy", 51, 50, 480, 12], + ["jump_false", 51, "record_path_624", 480, 12], + ["null", 52, 480, 12], + ["access", 53, "create_host", 480, 12], + ["array", 54, 0, 480, 12], + ["push", 54, 47, 480, 12], + ["frame", 55, 50, 2, 480, 12], + ["setarg", 55, 0, 52, 480, 12], + ["setarg", 55, 1, 53, 480, 12], + ["setarg", 55, 2, 54, 480, 12], + ["invoke", 55, 49, 480, 12], + ["jump", "call_done_625", 480, 12], + "record_path_624", + ["load_field", 56, 50, "create_host", 480, 12], + ["frame", 57, 56, 1, 480, 12], + ["setarg", 57, 0, 50, 480, 12], + ["setarg", 57, 1, 47, 480, 12], + ["invoke", 57, 49, 480, 12], + "call_done_625", + ["put", 49, 23, 1, 480, 12], + ["put", 1, 36, 1, 481, 15], + ["null", 58, 481, 15], + ["return", 58, 481, 15] ], "name": "", "filename": "internal/engine.cm", @@ -5829,22 +6152,22 @@ "nr_slots": 12, "nr_close_slots": 0, "instructions": [ - ["get", 4, 72, 1, 492, 8], - ["frame", 5, 4, 1, 492, 8], - ["null", 6, 492, 8], - ["setarg", 5, 0, 6, 492, 8], - ["setarg", 5, 1, 2, 492, 8], - ["invoke", 5, 3, 492, 8], - ["get", 8, 71, 1, 492, 3], - ["frame", 9, 8, 3, 492, 3], - ["null", 10, 492, 3], - ["setarg", 9, 0, 10, 492, 3], - ["setarg", 9, 1, 3, 492, 3], - ["setarg", 9, 2, 2, 492, 3], - ["setarg", 9, 3, 1, 492, 3], - ["invoke", 9, 7, 492, 3], - ["null", 11, 492, 3], - ["return", 11, 492, 3] + ["get", 4, 72, 1, 528, 8], + ["frame", 5, 4, 1, 528, 8], + ["null", 6, 528, 8], + ["setarg", 5, 0, 6, 528, 8], + ["setarg", 5, 1, 2, 528, 8], + ["invoke", 5, 3, 528, 8], + ["get", 8, 71, 1, 528, 3], + ["frame", 9, 8, 3, 528, 3], + ["null", 10, 528, 3], + ["setarg", 9, 0, 10, 528, 3], + ["setarg", 9, 1, 3, 528, 3], + ["setarg", 9, 2, 2, 528, 3], + ["setarg", 9, 3, 1, 528, 3], + ["invoke", 9, 7, 528, 3], + ["null", 11, 528, 3], + ["return", 11, 528, 3] ], "name": "", "filename": "internal/engine.cm", @@ -5855,9 +6178,9 @@ "nr_slots": 3, "nr_close_slots": 0, "instructions": [ - ["put", 1, 14, 1, 497, 16], - ["null", 2, 497, 16], - ["return", 2, 497, 16] + ["put", 1, 14, 1, 533, 16], + ["null", 2, 533, 16], + ["return", 2, 533, 16] ], "name": "receiver", "filename": "internal/engine.cm", @@ -5869,29 +6192,29 @@ "nr_close_slots": 0, "instructions": [ "_nop_bl_1", - ["jump_true", 2, "if_else_604", 501, 10], - ["null", 6, 501, 19], - ["return", 6, 501, 19], - ["jump", "if_end_605", 501, 19], - "if_else_604", - "if_end_605", - ["get", 8, 6, 1, 503, 14], - ["frame", 9, 8, 0, 503, 14], - ["null", 10, 503, 14], - ["setarg", 9, 0, 10, 503, 14], - ["invoke", 9, 7, 503, 14], - ["move", 4, 7, 503, 14], + ["jump_true", 2, "if_else_626", 537, 10], + ["null", 6, 537, 19], + ["return", 6, 537, 19], + ["jump", "if_end_627", 537, 19], + "if_else_626", + "if_end_627", + ["get", 8, 6, 1, 539, 14], + ["frame", 9, 8, 0, 539, 14], + ["null", 10, 539, 14], + ["setarg", 9, 0, 10, 539, 14], + ["invoke", 9, 7, 539, 14], + ["move", 4, 7, 539, 14], ["record", 11, 0], - ["store_field", 11, 4, "id", 505, 7], - ["get", 12, 2, 1, 506, 17], - ["load_field", 13, 12, "self", 506, 17], - ["store_field", 11, 13, "overling", 506, 17], - ["get", 14, 57, 1, 507, 7], - ["store_field", 11, 14, "root", 507, 7], - ["store_field", 11, 2, "program", 508, 7], - ["move", 3, 11, 508, 7], - ["get", 15, 75, 1, 510, 5], - ["store_dynamic", 15, 1, 4, 510, 14], + ["store_field", 11, 4, "id", 541, 7], + ["get", 12, 2, 1, 542, 17], + ["load_field", 13, 12, "self", 542, 17], + ["store_field", 11, 13, "overling", 542, 17], + ["get", 14, 57, 1, 543, 7], + ["store_field", 11, 14, "root", 543, 7], + ["store_field", 11, 2, "program", 544, 7], + ["move", 3, 11, 544, 7], + ["get", 15, 75, 1, 546, 5], + ["store_dynamic", 15, 1, 4, 546, 14], [ "access", 16, @@ -5900,20 +6223,20 @@ "kind": "name", "make": "intrinsic" }, - 511, + 547, 10 ], ["record", 17, 0], - ["store_field", 17, 3, "startup", 511, 27], - ["is_array", 18, 16, 511, 27], - ["jump_false", 18, "push_err_606", 511, 27], - ["push", 16, 17, 511, 27], - ["jump", "push_done_607", 511, 27], - "push_err_606", - ["disrupt", 511, 27], - "push_done_607", - ["null", 19, 511, 27], - ["return", 19, 511, 27] + ["store_field", 17, 3, "startup", 547, 27], + ["is_array", 18, 16, 547, 27], + ["jump_false", 18, "push_err_628", 547, 27], + ["push", 16, 17, 547, 27], + ["jump", "push_done_629", 547, 27], + "push_err_628", + ["disrupt", 547, 27], + "push_done_629", + ["null", 19, 547, 27], + ["return", 19, 547, 27] ], "name": "start", "filename": "internal/engine.cm", @@ -5925,91 +6248,91 @@ "nr_close_slots": 0, "instructions": [ "_nop_bl_1", - ["jump_true", 1, "if_else_608", 516, 8], - ["true", 3, 517, 17], - ["put", 3, 51, 1, 517, 17], - ["null", 4, 518, 5], - ["return", 4, 518, 5], - ["jump", "if_end_609", 518, 5], - "if_else_608", - "if_end_609", - ["get", 6, 5, 1, 520, 8], - ["frame", 7, 6, 1, 520, 8], - ["null", 8, 520, 8], - ["setarg", 7, 0, 8, 520, 8], - ["setarg", 7, 1, 1, 520, 8], - ["invoke", 7, 5, 520, 8], + ["jump_true", 1, "if_else_630", 552, 8], + ["true", 3, 553, 17], + ["put", 3, 51, 1, 553, 17], + ["null", 4, 554, 5], + ["return", 4, 554, 5], + ["jump", "if_end_631", 554, 5], + "if_else_630", + "if_end_631", + ["get", 6, 5, 1, 556, 8], + ["frame", 7, 6, 1, 556, 8], + ["null", 8, 556, 8], + ["setarg", 7, 0, 8, 556, 8], + ["setarg", 7, 1, 1, 556, 8], + ["invoke", 7, 5, 556, 8], "_nop_bl_2", - ["jump_true", 5, "if_else_610", 520, 8], - ["access", 10, "Can only call stop on an actor.", 521, 15], - ["get", 12, 63, 1, 521, 5], - ["is_proxy", 13, 12, 521, 5], - ["jump_false", 13, "record_path_612", 521, 5], - ["null", 14, 521, 5], - ["access", 15, "error", 521, 5], - ["array", 16, 0, 521, 5], - ["push", 16, 10, 521, 5], - ["frame", 17, 12, 2, 521, 5], - ["setarg", 17, 0, 14, 521, 5], - ["setarg", 17, 1, 15, 521, 5], - ["setarg", 17, 2, 16, 521, 5], - ["invoke", 17, 11, 521, 5], - ["jump", "call_done_613", 521, 5], - "record_path_612", - ["load_field", 18, 12, "error", 521, 5], - ["frame", 19, 18, 1, 521, 5], - ["setarg", 19, 0, 12, 521, 5], - ["setarg", 19, 1, 10, 521, 5], - ["invoke", 19, 11, 521, 5], - "call_done_613", - ["disrupt", 522, 5], - ["jump", "if_end_611", 522, 5], - "if_else_610", - "if_end_611", - ["get", 20, 12, 1, 524, 15], - ["get", 21, 27, 1, 524, 32], - ["load_dynamic", 22, 1, 21, 524, 32], - ["load_field", 23, 22, "id", 524, 32], - ["load_dynamic", 24, 20, 23, 524, 32], - ["is_null", 25, 24, 524, 32], - ["jump_false", 25, "if_else_614", 524, 32], - ["access", 26, "Can only call stop on an underling or self.", 525, 15], - ["get", 28, 63, 1, 525, 5], - ["is_proxy", 29, 28, 525, 5], - ["jump_false", 29, "record_path_616", 525, 5], - ["null", 30, 525, 5], - ["access", 31, "error", 525, 5], - ["array", 32, 0, 525, 5], - ["push", 32, 26, 525, 5], - ["frame", 33, 28, 2, 525, 5], - ["setarg", 33, 0, 30, 525, 5], - ["setarg", 33, 1, 31, 525, 5], - ["setarg", 33, 2, 32, 525, 5], - ["invoke", 33, 27, 525, 5], - ["jump", "call_done_617", 525, 5], - "record_path_616", - ["load_field", 34, 28, "error", 525, 5], - ["frame", 35, 34, 1, 525, 5], - ["setarg", 35, 0, 28, 525, 5], - ["setarg", 35, 1, 26, 525, 5], - ["invoke", 35, 27, 525, 5], - "call_done_617", - ["disrupt", 526, 5], - ["jump", "if_end_615", 526, 5], - "if_else_614", - "if_end_615", + ["jump_true", 5, "if_else_632", 556, 8], + ["access", 10, "Can only call stop on an actor.", 557, 15], + ["get", 12, 63, 1, 557, 5], + ["is_proxy", 13, 12, 557, 5], + ["jump_false", 13, "record_path_634", 557, 5], + ["null", 14, 557, 5], + ["access", 15, "error", 557, 5], + ["array", 16, 0, 557, 5], + ["push", 16, 10, 557, 5], + ["frame", 17, 12, 2, 557, 5], + ["setarg", 17, 0, 14, 557, 5], + ["setarg", 17, 1, 15, 557, 5], + ["setarg", 17, 2, 16, 557, 5], + ["invoke", 17, 11, 557, 5], + ["jump", "call_done_635", 557, 5], + "record_path_634", + ["load_field", 18, 12, "error", 557, 5], + ["frame", 19, 18, 1, 557, 5], + ["setarg", 19, 0, 12, 557, 5], + ["setarg", 19, 1, 10, 557, 5], + ["invoke", 19, 11, 557, 5], + "call_done_635", + ["disrupt", 558, 5], + ["jump", "if_end_633", 558, 5], + "if_else_632", + "if_end_633", + ["get", 20, 12, 1, 560, 15], + ["get", 21, 27, 1, 560, 32], + ["load_dynamic", 22, 1, 21, 560, 32], + ["load_field", 23, 22, "id", 560, 32], + ["load_dynamic", 24, 20, 23, 560, 32], + ["is_null", 25, 24, 560, 32], + ["jump_false", 25, "if_else_636", 560, 32], + ["access", 26, "Can only call stop on an underling or self.", 561, 15], + ["get", 28, 63, 1, 561, 5], + ["is_proxy", 29, 28, 561, 5], + ["jump_false", 29, "record_path_638", 561, 5], + ["null", 30, 561, 5], + ["access", 31, "error", 561, 5], + ["array", 32, 0, 561, 5], + ["push", 32, 26, 561, 5], + ["frame", 33, 28, 2, 561, 5], + ["setarg", 33, 0, 30, 561, 5], + ["setarg", 33, 1, 31, 561, 5], + ["setarg", 33, 2, 32, 561, 5], + ["invoke", 33, 27, 561, 5], + ["jump", "call_done_639", 561, 5], + "record_path_638", + ["load_field", 34, 28, "error", 561, 5], + ["frame", 35, 34, 1, 561, 5], + ["setarg", 35, 0, 28, 561, 5], + ["setarg", 35, 1, 26, 561, 5], + ["invoke", 35, 27, 561, 5], + "call_done_639", + ["disrupt", 562, 5], + ["jump", "if_end_637", 562, 5], + "if_else_636", + "if_end_637", ["record", 36, 0], - ["access", 37, "stop", 529, 24], - ["store_field", 36, 37, "kind", 529, 24], - ["get", 39, 16, 1, 529, 3], - ["frame", 40, 39, 2, 529, 3], - ["null", 41, 529, 3], - ["setarg", 40, 0, 41, 529, 3], - ["setarg", 40, 1, 1, 529, 3], - ["setarg", 40, 2, 36, 529, 3], - ["invoke", 40, 38, 529, 3], - ["null", 42, 529, 3], - ["return", 42, 529, 3] + ["access", 37, "stop", 565, 24], + ["store_field", 36, 37, "kind", 565, 24], + ["get", 39, 16, 1, 565, 3], + ["frame", 40, 39, 2, 565, 3], + ["null", 41, 565, 3], + ["setarg", 40, 0, 41, 565, 3], + ["setarg", 40, 1, 1, 565, 3], + ["setarg", 40, 2, 36, 565, 3], + ["invoke", 40, 38, 565, 3], + ["null", 42, 565, 3], + ["return", 42, 565, 3] ], "name": "stop", "filename": "internal/engine.cm", @@ -6020,30 +6343,30 @@ "nr_slots": 13, "nr_close_slots": 0, "instructions": [ - ["get", 4, 30, 1, 534, 3], - ["is_proxy", 5, 4, 534, 3], - ["jump_false", 5, "record_path_618", 534, 3], - ["null", 6, 534, 3], - ["access", 7, "unneeded", 534, 3], - ["array", 8, 0, 534, 3], - ["push", 8, 1, 534, 3], - ["push", 8, 2, 534, 3], - ["frame", 9, 4, 2, 534, 3], - ["setarg", 9, 0, 6, 534, 3], - ["setarg", 9, 1, 7, 534, 3], - ["setarg", 9, 2, 8, 534, 3], - ["invoke", 9, 3, 534, 3], - ["jump", "call_done_619", 534, 3], - "record_path_618", - ["load_field", 10, 4, "unneeded", 534, 3], - ["frame", 11, 10, 2, 534, 3], - ["setarg", 11, 0, 4, 534, 3], - ["setarg", 11, 1, 1, 534, 3], - ["setarg", 11, 2, 2, 534, 3], - ["invoke", 11, 3, 534, 3], - "call_done_619", - ["null", 12, 534, 3], - ["return", 12, 534, 3] + ["get", 4, 30, 1, 570, 3], + ["is_proxy", 5, 4, 570, 3], + ["jump_false", 5, "record_path_640", 570, 3], + ["null", 6, 570, 3], + ["access", 7, "unneeded", 570, 3], + ["array", 8, 0, 570, 3], + ["push", 8, 1, 570, 3], + ["push", 8, 2, 570, 3], + ["frame", 9, 4, 2, 570, 3], + ["setarg", 9, 0, 6, 570, 3], + ["setarg", 9, 1, 7, 570, 3], + ["setarg", 9, 2, 8, 570, 3], + ["invoke", 9, 3, 570, 3], + ["jump", "call_done_641", 570, 3], + "record_path_640", + ["load_field", 10, 4, "unneeded", 570, 3], + ["frame", 11, 10, 2, 570, 3], + ["setarg", 11, 0, 4, 570, 3], + ["setarg", 11, 1, 1, 570, 3], + ["setarg", 11, 2, 2, 570, 3], + ["invoke", 11, 3, 570, 3], + "call_done_641", + ["null", 12, 570, 3], + ["return", 12, 570, 3] ], "name": "unneeded", "filename": "internal/engine.cm", @@ -6054,29 +6377,29 @@ "nr_slots": 12, "nr_close_slots": 0, "instructions": [ - ["get", 1, 4, 1, 545, 45], - ["get", 3, 30, 2, 545, 23], - ["is_proxy", 4, 3, 545, 23], - ["jump_false", 4, "record_path_630", 545, 23], - ["null", 5, 545, 23], - ["access", 6, "removetimer", 545, 23], - ["array", 7, 0, 545, 23], - ["push", 7, 1, 545, 23], - ["frame", 8, 3, 2, 545, 23], - ["setarg", 8, 0, 5, 545, 23], - ["setarg", 8, 1, 6, 545, 23], - ["setarg", 8, 2, 7, 545, 23], - ["invoke", 8, 2, 545, 23], - ["jump", "call_done_631", 545, 23], - "record_path_630", - ["load_field", 9, 3, "removetimer", 545, 23], - ["frame", 10, 9, 1, 545, 23], - ["setarg", 10, 0, 3, 545, 23], - ["setarg", 10, 1, 1, 545, 23], - ["invoke", 10, 2, 545, 23], - "call_done_631", - ["null", 11, 545, 23], - ["return", 11, 545, 23] + ["get", 1, 4, 1, 581, 45], + ["get", 3, 30, 2, 581, 23], + ["is_proxy", 4, 3, 581, 23], + ["jump_false", 4, "record_path_652", 581, 23], + ["null", 5, 581, 23], + ["access", 6, "removetimer", 581, 23], + ["array", 7, 0, 581, 23], + ["push", 7, 1, 581, 23], + ["frame", 8, 3, 2, 581, 23], + ["setarg", 8, 0, 5, 581, 23], + ["setarg", 8, 1, 6, 581, 23], + ["setarg", 8, 2, 7, 581, 23], + ["invoke", 8, 2, 581, 23], + ["jump", "call_done_653", 581, 23], + "record_path_652", + ["load_field", 9, 3, "removetimer", 581, 23], + ["frame", 10, 9, 1, 581, 23], + ["setarg", 10, 0, 3, 581, 23], + ["setarg", 10, 1, 1, 581, 23], + ["invoke", 10, 2, 581, 23], + "call_done_653", + ["null", 11, 581, 23], + ["return", 11, 581, 23] ], "name": "", "filename": "internal/engine.cm", @@ -6087,81 +6410,81 @@ "nr_slots": 23, "nr_close_slots": 0, "instructions": [ - ["null", 6, 539, 29], - ["is_identical", 7, 2, 6, 539, 29], - ["jump_true", 7, "eq_done_622", 539, 29], - ["is_int", 8, 2, 539, 29], - ["jump_false", 8, "eq_ni_623", 539, 29], + ["null", 6, 575, 29], + ["is_identical", 7, 2, 6, 575, 29], + ["jump_true", 7, "eq_done_644", 575, 29], + ["is_int", 8, 2, 575, 29], + ["jump_false", 8, "eq_ni_645", 575, 29], "_nop_tc_1", - ["jump", "eq_ni_623", 539, 29], - ["eq_int", 7, 2, 6, 539, 29], - ["jump", "eq_done_622", 539, 29], - "eq_ni_623", - ["is_num", 8, 2, 539, 29], - ["jump_false", 8, "eq_nn_624", 539, 29], - ["is_num", 9, 6, 539, 29], - ["jump_false", 9, "eq_nn_624", 539, 29], - ["eq_float", 7, 2, 6, 539, 29], - ["jump", "eq_done_622", 539, 29], - "eq_nn_624", - ["is_text", 8, 2, 539, 29], - ["jump_false", 8, "eq_nt_625", 539, 29], - ["is_text", 9, 6, 539, 29], - ["jump_false", 9, "eq_nt_625", 539, 29], - ["eq_text", 7, 2, 6, 539, 29], - ["jump", "eq_done_622", 539, 29], - "eq_nt_625", - ["is_null", 8, 2, 539, 29], - ["jump_false", 8, "eq_nnl_626", 539, 29], - ["is_null", 9, 6, 539, 29], - ["jump_false", 9, "eq_nnl_626", 539, 29], - ["true", 7, 539, 29], - ["jump", "eq_done_622", 539, 29], - "eq_nnl_626", - ["is_bool", 8, 2, 539, 29], - ["jump_false", 8, "eq_nb_627", 539, 29], - ["is_bool", 9, 6, 539, 29], - ["jump_false", 9, "eq_nb_627", 539, 29], - ["eq_bool", 7, 2, 6, 539, 29], - ["jump", "eq_done_622", 539, 29], - "eq_nb_627", - ["false", 7, 539, 29], - "eq_done_622", - ["jump_false", 7, "tern_else_620", 539, 29], - ["access", 11, 0, 539, 36], - ["move", 10, 11, 539, 36], - ["jump", "tern_end_621", 539, 36], - "tern_else_620", - ["move", 10, 2, 539, 40], - "tern_end_621", - ["move", 3, 10, 539, 40], - ["get", 13, 30, 1, 544, 12], - ["is_proxy", 14, 13, 544, 12], - ["jump_false", 14, "record_path_628", 544, 12], - ["null", 15, 544, 12], - ["access", 16, "delay", 544, 12], - ["array", 17, 0, 544, 12], - ["push", 17, 5, 544, 12], - ["push", 17, 3, 544, 12], - ["frame", 18, 13, 2, 544, 12], - ["setarg", 18, 0, 15, 544, 12], - ["setarg", 18, 1, 16, 544, 12], - ["setarg", 18, 2, 17, 544, 12], - ["invoke", 18, 12, 544, 12], - ["jump", "call_done_629", 544, 12], - "record_path_628", - ["load_field", 19, 13, "delay", 544, 12], - ["frame", 20, 19, 2, 544, 12], - ["setarg", 20, 0, 13, 544, 12], - ["setarg", 20, 1, 5, 544, 12], - ["setarg", 20, 2, 3, 544, 12], - ["invoke", 20, 12, 544, 12], - "call_done_629", - ["move", 4, 12, 544, 12], - ["function", 21, 52, 545, 10], - ["return", 21, 545, 10], - ["null", 22, 545, 10], - ["return", 22, 545, 10] + ["jump", "eq_ni_645", 575, 29], + ["eq_int", 7, 2, 6, 575, 29], + ["jump", "eq_done_644", 575, 29], + "eq_ni_645", + ["is_num", 8, 2, 575, 29], + ["jump_false", 8, "eq_nn_646", 575, 29], + ["is_num", 9, 6, 575, 29], + ["jump_false", 9, "eq_nn_646", 575, 29], + ["eq_float", 7, 2, 6, 575, 29], + ["jump", "eq_done_644", 575, 29], + "eq_nn_646", + ["is_text", 8, 2, 575, 29], + ["jump_false", 8, "eq_nt_647", 575, 29], + ["is_text", 9, 6, 575, 29], + ["jump_false", 9, "eq_nt_647", 575, 29], + ["eq_text", 7, 2, 6, 575, 29], + ["jump", "eq_done_644", 575, 29], + "eq_nt_647", + ["is_null", 8, 2, 575, 29], + ["jump_false", 8, "eq_nnl_648", 575, 29], + ["is_null", 9, 6, 575, 29], + ["jump_false", 9, "eq_nnl_648", 575, 29], + ["true", 7, 575, 29], + ["jump", "eq_done_644", 575, 29], + "eq_nnl_648", + ["is_bool", 8, 2, 575, 29], + ["jump_false", 8, "eq_nb_649", 575, 29], + ["is_bool", 9, 6, 575, 29], + ["jump_false", 9, "eq_nb_649", 575, 29], + ["eq_bool", 7, 2, 6, 575, 29], + ["jump", "eq_done_644", 575, 29], + "eq_nb_649", + ["false", 7, 575, 29], + "eq_done_644", + ["jump_false", 7, "tern_else_642", 575, 29], + ["access", 11, 0, 575, 36], + ["move", 10, 11, 575, 36], + ["jump", "tern_end_643", 575, 36], + "tern_else_642", + ["move", 10, 2, 575, 40], + "tern_end_643", + ["move", 3, 10, 575, 40], + ["get", 13, 30, 1, 580, 12], + ["is_proxy", 14, 13, 580, 12], + ["jump_false", 14, "record_path_650", 580, 12], + ["null", 15, 580, 12], + ["access", 16, "delay", 580, 12], + ["array", 17, 0, 580, 12], + ["push", 17, 5, 580, 12], + ["push", 17, 3, 580, 12], + ["frame", 18, 13, 2, 580, 12], + ["setarg", 18, 0, 15, 580, 12], + ["setarg", 18, 1, 16, 580, 12], + ["setarg", 18, 2, 17, 580, 12], + ["invoke", 18, 12, 580, 12], + ["jump", "call_done_651", 580, 12], + "record_path_650", + ["load_field", 19, 13, "delay", 580, 12], + ["frame", 20, 19, 2, 580, 12], + ["setarg", 20, 0, 13, 580, 12], + ["setarg", 20, 1, 5, 580, 12], + ["setarg", 20, 2, 3, 580, 12], + ["invoke", 20, 12, 580, 12], + "call_done_651", + ["move", 4, 12, 580, 12], + ["function", 21, 52, 581, 10], + ["return", 21, 581, 10], + ["null", 22, 581, 10], + ["return", 22, 581, 10] ], "name": "delay", "filename": "internal/engine.cm", @@ -6172,72 +6495,72 @@ "nr_slots": 37, "nr_close_slots": 0, "instructions": [ - ["get", 2, 2, 1, 553, 16], - ["load_field", 3, 2, "self", 553, 16], - ["is_identical", 4, 1, 3, 553, 16], - ["jump_true", 4, "eq_done_634", 553, 16], - ["is_int", 5, 1, 553, 16], - ["jump_false", 5, "eq_ni_635", 553, 16], - ["is_int", 6, 3, 553, 16], - ["jump_false", 6, "eq_ni_635", 553, 16], - ["eq_int", 4, 1, 3, 553, 16], - ["jump", "eq_done_634", 553, 16], - "eq_ni_635", - ["is_num", 5, 1, 553, 16], - ["jump_false", 5, "eq_nn_636", 553, 16], - ["is_num", 6, 3, 553, 16], - ["jump_false", 6, "eq_nn_636", 553, 16], - ["eq_float", 4, 1, 3, 553, 16], - ["jump", "eq_done_634", 553, 16], - "eq_nn_636", - ["is_text", 5, 1, 553, 16], - ["jump_false", 5, "eq_nt_637", 553, 16], - ["is_text", 6, 3, 553, 16], - ["jump_false", 6, "eq_nt_637", 553, 16], - ["eq_text", 4, 1, 3, 553, 16], - ["jump", "eq_done_634", 553, 16], - "eq_nt_637", - ["is_null", 5, 1, 553, 16], - ["jump_false", 5, "eq_nnl_638", 553, 16], - ["is_null", 6, 3, 553, 16], - ["jump_false", 6, "eq_nnl_638", 553, 16], - ["true", 4, 553, 16], - ["jump", "eq_done_634", 553, 16], - "eq_nnl_638", - ["is_bool", 5, 1, 553, 16], - ["jump_false", 5, "eq_nb_639", 553, 16], - ["is_bool", 6, 3, 553, 16], - ["jump_false", 6, "eq_nb_639", 553, 16], - ["eq_bool", 4, 1, 3, 553, 16], - ["jump", "eq_done_634", 553, 16], - "eq_nb_639", - ["false", 4, 553, 16], - "eq_done_634", - ["jump_false", 4, "if_else_632", 553, 16], - ["null", 7, 553, 25], - ["return", 7, 553, 25], - ["jump", "if_end_633", 553, 25], - "if_else_632", - "if_end_633", - ["true", 8, 554, 36], - ["get", 9, 26, 1, 554, 3], - ["get", 10, 27, 1, 554, 19], - ["load_dynamic", 11, 1, 10, 554, 19], - ["load_field", 12, 11, "id", 554, 19], - ["store_dynamic", 9, 8, 12, 554, 19], + ["get", 2, 2, 1, 589, 16], + ["load_field", 3, 2, "self", 589, 16], + ["is_identical", 4, 1, 3, 589, 16], + ["jump_true", 4, "eq_done_656", 589, 16], + ["is_int", 5, 1, 589, 16], + ["jump_false", 5, "eq_ni_657", 589, 16], + ["is_int", 6, 3, 589, 16], + ["jump_false", 6, "eq_ni_657", 589, 16], + ["eq_int", 4, 1, 3, 589, 16], + ["jump", "eq_done_656", 589, 16], + "eq_ni_657", + ["is_num", 5, 1, 589, 16], + ["jump_false", 5, "eq_nn_658", 589, 16], + ["is_num", 6, 3, 589, 16], + ["jump_false", 6, "eq_nn_658", 589, 16], + ["eq_float", 4, 1, 3, 589, 16], + ["jump", "eq_done_656", 589, 16], + "eq_nn_658", + ["is_text", 5, 1, 589, 16], + ["jump_false", 5, "eq_nt_659", 589, 16], + ["is_text", 6, 3, 589, 16], + ["jump_false", 6, "eq_nt_659", 589, 16], + ["eq_text", 4, 1, 3, 589, 16], + ["jump", "eq_done_656", 589, 16], + "eq_nt_659", + ["is_null", 5, 1, 589, 16], + ["jump_false", 5, "eq_nnl_660", 589, 16], + ["is_null", 6, 3, 589, 16], + ["jump_false", 6, "eq_nnl_660", 589, 16], + ["true", 4, 589, 16], + ["jump", "eq_done_656", 589, 16], + "eq_nnl_660", + ["is_bool", 5, 1, 589, 16], + ["jump_false", 5, "eq_nb_661", 589, 16], + ["is_bool", 6, 3, 589, 16], + ["jump_false", 6, "eq_nb_661", 589, 16], + ["eq_bool", 4, 1, 3, 589, 16], + ["jump", "eq_done_656", 589, 16], + "eq_nb_661", + ["false", 4, 589, 16], + "eq_done_656", + ["jump_false", 4, "if_else_654", 589, 16], + ["null", 7, 589, 25], + ["return", 7, 589, 25], + ["jump", "if_end_655", 589, 25], + "if_else_654", + "if_end_655", + ["true", 8, 590, 36], + ["get", 9, 26, 1, 590, 3], + ["get", 10, 27, 1, 590, 19], + ["load_dynamic", 11, 1, 10, 590, 19], + ["load_field", 12, 11, "id", 590, 19], + ["store_dynamic", 9, 8, 12, 590, 19], ["record", 13, 0], - ["access", 14, "couple", 555, 24], - ["store_field", 13, 14, "kind", 555, 24], - ["get", 15, 2, 1, 555, 40], - ["load_field", 16, 15, "self", 555, 40], - ["store_field", 13, 16, "from", 555, 40], - ["get", 18, 16, 1, 555, 3], - ["frame", 19, 18, 2, 555, 3], - ["null", 20, 555, 3], - ["setarg", 19, 0, 20, 555, 3], - ["setarg", 19, 1, 1, 555, 3], - ["setarg", 19, 2, 13, 555, 3], - ["invoke", 19, 17, 555, 3], + ["access", 14, "couple", 591, 24], + ["store_field", 13, 14, "kind", 591, 24], + ["get", 15, 2, 1, 591, 40], + ["load_field", 16, 15, "self", 591, 40], + ["store_field", 13, 16, "from", 591, 40], + ["get", 18, 16, 1, 591, 3], + ["frame", 19, 18, 2, 591, 3], + ["null", 20, 591, 3], + ["setarg", 19, 0, 20, 591, 3], + ["setarg", 19, 1, 1, 591, 3], + ["setarg", 19, 2, 13, 591, 3], + ["invoke", 19, 17, 591, 3], ["array", 21, 0, 1, 1], ["push", 21, 1, 1, 1], [ @@ -6258,28 +6581,28 @@ ["setarg", 25, 1, 23, 1, 1], ["setarg", 25, 2, 21, 1, 1], ["invoke", 25, 24, 1, 1], - ["get", 28, 63, 1, 556, 3], - ["is_proxy", 29, 28, 556, 3], - ["jump_false", 29, "record_path_640", 556, 3], - ["null", 30, 556, 3], - ["access", 31, "system", 556, 3], - ["array", 32, 0, 556, 3], - ["push", 32, 24, 556, 3], - ["frame", 33, 28, 2, 556, 3], - ["setarg", 33, 0, 30, 556, 3], - ["setarg", 33, 1, 31, 556, 3], - ["setarg", 33, 2, 32, 556, 3], - ["invoke", 33, 27, 556, 3], - ["jump", "call_done_641", 556, 3], - "record_path_640", - ["load_field", 34, 28, "system", 556, 3], - ["frame", 35, 34, 1, 556, 3], - ["setarg", 35, 0, 28, 556, 3], - ["setarg", 35, 1, 24, 556, 3], - ["invoke", 35, 27, 556, 3], - "call_done_641", - ["null", 36, 556, 3], - ["return", 36, 556, 3] + ["get", 28, 63, 1, 592, 3], + ["is_proxy", 29, 28, 592, 3], + ["jump_false", 29, "record_path_662", 592, 3], + ["null", 30, 592, 3], + ["access", 31, "system", 592, 3], + ["array", 32, 0, 592, 3], + ["push", 32, 24, 592, 3], + ["frame", 33, 28, 2, 592, 3], + ["setarg", 33, 0, 30, 592, 3], + ["setarg", 33, 1, 31, 592, 3], + ["setarg", 33, 2, 32, 592, 3], + ["invoke", 33, 27, 592, 3], + ["jump", "call_done_663", 592, 3], + "record_path_662", + ["load_field", 34, 28, "system", 592, 3], + ["frame", 35, 34, 1, 592, 3], + ["setarg", 35, 0, 28, 592, 3], + ["setarg", 35, 1, 24, 592, 3], + ["invoke", 35, 27, 592, 3], + "call_done_663", + ["null", 36, 592, 3], + ["return", 36, 592, 3] ], "name": "couple", "filename": "internal/engine.cm", @@ -6290,12 +6613,12 @@ "nr_slots": 6, "nr_close_slots": 0, "instructions": [ - ["get", 2, 42, 2, 869, 53], - ["load_dynamic", 3, 2, 1, 869, 65], - ["get", 4, 6, 1, 869, 44], - ["store_dynamic", 4, 3, 1, 869, 48], - ["null", 5, 869, 48], - ["return", 5, 869, 48] + ["get", 2, 42, 2, 905, 53], + ["load_dynamic", 3, 2, 1, 905, 65], + ["get", 4, 9, 1, 905, 44], + ["store_dynamic", 4, 3, 1, 905, 48], + ["null", 5, 905, 48], + ["return", 5, 905, 48] ], "name": "", "filename": "internal/engine.cm", @@ -6306,29 +6629,29 @@ "nr_slots": 27, "nr_close_slots": 0, "instructions": [ - ["access", 4, "core/", 884, 14], + ["access", 4, "core/", 920, 14], "_nop_tc_1", - ["jump", "add_ni_773", 884, 24], - ["is_int", 7, 1, 884, 24], - ["jump_false", 7, "add_ni_773", 884, 24], - ["add_int", 5, 4, 1, 884, 24], - ["jump", "add_done_775", 884, 24], - "add_ni_773", - ["is_text", 7, 1, 884, 24], - ["jump_false", 7, "add_nt_774", 884, 24], - ["concat", 5, 4, 1, 884, 24], - ["jump", "add_done_775", 884, 24], - "add_nt_774", - ["is_num", 6, 4, 884, 24], - ["jump_false", 6, "add_err_776", 884, 24], - ["is_num", 7, 1, 884, 24], - ["jump_false", 7, "add_err_776", 884, 24], - ["add_float", 5, 4, 1, 884, 24], - ["jump", "add_done_775", 884, 24], - "add_err_776", - ["disrupt", 884, 24], - "add_done_775", - ["move", 2, 5, 884, 24], + ["jump", "add_ni_795", 920, 24], + ["is_int", 7, 1, 920, 24], + ["jump_false", 7, "add_ni_795", 920, 24], + ["add_int", 5, 4, 1, 920, 24], + ["jump", "add_done_797", 920, 24], + "add_ni_795", + ["is_text", 7, 1, 920, 24], + ["jump_false", 7, "add_nt_796", 920, 24], + ["concat", 5, 4, 1, 920, 24], + ["jump", "add_done_797", 920, 24], + "add_nt_796", + ["is_num", 6, 4, 920, 24], + ["jump_false", 6, "add_err_798", 920, 24], + ["is_num", 7, 1, 920, 24], + ["jump_false", 7, "add_err_798", 920, 24], + ["add_float", 5, 4, 1, 920, 24], + ["jump", "add_done_797", 920, 24], + "add_err_798", + ["disrupt", 920, 24], + "add_done_797", + ["move", 2, 5, 920, 24], [ "access", 8, @@ -6337,11 +6660,11 @@ "kind": "name", "make": "intrinsic" }, - 885, + 921, 9 ], - ["load_dynamic", 9, 8, 2, 885, 19], - ["jump_false", 9, "if_else_777", 885, 19], + ["load_dynamic", 9, 8, 2, 921, 19], + ["jump_false", 9, "if_else_799", 921, 19], [ "access", 10, @@ -6350,52 +6673,52 @@ "kind": "name", "make": "intrinsic" }, - 885, + 921, 31 ], - ["load_dynamic", 11, 10, 2, 885, 41], - ["return", 11, 885, 41], - ["jump", "if_end_778", 885, 41], - "if_else_777", - "if_end_778", - ["get", 13, 32, 2, 886, 20], - ["frame", 14, 13, 1, 886, 20], - ["null", 15, 886, 20], - ["setarg", 14, 0, 15, 886, 20], - ["setarg", 14, 1, 1, 886, 20], - ["invoke", 14, 12, 886, 20], - ["move", 3, 12, 886, 20], - ["jump_false", 3, "if_else_779", 887, 9], - ["return", 3, 887, 26], - ["jump", "if_end_780", 887, 26], - "if_else_779", - "if_end_780", - ["get", 16, 8, 1, 888, 27], - ["get", 18, 50, 2, 888, 12], - ["is_proxy", 19, 18, 888, 12], - ["jump_false", 19, "record_path_781", 888, 12], - ["null", 20, 888, 12], - ["access", 21, "use", 888, 12], - ["array", 22, 0, 888, 12], - ["push", 22, 1, 888, 12], - ["push", 22, 16, 888, 12], - ["frame", 23, 18, 2, 888, 12], - ["setarg", 23, 0, 20, 888, 12], - ["setarg", 23, 1, 21, 888, 12], - ["setarg", 23, 2, 22, 888, 12], - ["invoke", 23, 17, 888, 12], - ["jump", "call_done_782", 888, 12], - "record_path_781", - ["load_field", 24, 18, "use", 888, 12], - ["frame", 25, 24, 2, 888, 12], - ["setarg", 25, 0, 18, 888, 12], - ["setarg", 25, 1, 1, 888, 12], - ["setarg", 25, 2, 16, 888, 12], - ["invoke", 25, 17, 888, 12], - "call_done_782", - ["return", 17, 888, 12], - ["null", 26, 888, 12], - ["return", 26, 888, 12] + ["load_dynamic", 11, 10, 2, 921, 41], + ["return", 11, 921, 41], + ["jump", "if_end_800", 921, 41], + "if_else_799", + "if_end_800", + ["get", 13, 32, 2, 922, 20], + ["frame", 14, 13, 1, 922, 20], + ["null", 15, 922, 20], + ["setarg", 14, 0, 15, 922, 20], + ["setarg", 14, 1, 1, 922, 20], + ["invoke", 14, 12, 922, 20], + ["move", 3, 12, 922, 20], + ["jump_false", 3, "if_else_801", 923, 9], + ["return", 3, 923, 26], + ["jump", "if_end_802", 923, 26], + "if_else_801", + "if_end_802", + ["get", 16, 11, 1, 924, 27], + ["get", 18, 50, 2, 924, 12], + ["is_proxy", 19, 18, 924, 12], + ["jump_false", 19, "record_path_803", 924, 12], + ["null", 20, 924, 12], + ["access", 21, "use", 924, 12], + ["array", 22, 0, 924, 12], + ["push", 22, 1, 924, 12], + ["push", 22, 16, 924, 12], + ["frame", 23, 18, 2, 924, 12], + ["setarg", 23, 0, 20, 924, 12], + ["setarg", 23, 1, 21, 924, 12], + ["setarg", 23, 2, 22, 924, 12], + ["invoke", 23, 17, 924, 12], + ["jump", "call_done_804", 924, 12], + "record_path_803", + ["load_field", 24, 18, "use", 924, 12], + ["frame", 25, 24, 2, 924, 12], + ["setarg", 25, 0, 18, 924, 12], + ["setarg", 25, 1, 1, 924, 12], + ["setarg", 25, 2, 16, 924, 12], + ["invoke", 25, 17, 924, 12], + "call_done_804", + ["return", 17, 924, 12], + ["null", 26, 924, 12], + ["return", 26, 924, 12] ], "name": "", "filename": "internal/engine.cm", @@ -6403,425 +6726,588 @@ }, { "disruption_pc": 0, - "nr_slots": 131, + "nr_slots": 183, "nr_close_slots": 0, "instructions": [ - ["get", 12, 50, 1, 864, 19], - ["load_field", 13, 12, "file_info", 864, 19], - ["jump_false", 13, "tern_else_730", 864, 19], - ["get", 15, 67, 1, 864, 51], - ["get", 17, 50, 1, 864, 36], - ["is_proxy", 18, 17, 864, 36], - ["jump_false", 18, "record_path_732", 864, 36], - ["null", 19, 864, 36], - ["access", 20, "file_info", 864, 36], - ["array", 21, 0, 864, 36], - ["push", 21, 15, 864, 36], - ["frame", 22, 17, 2, 864, 36], - ["setarg", 22, 0, 19, 864, 36], - ["setarg", 22, 1, 20, 864, 36], - ["setarg", 22, 2, 21, 864, 36], - ["invoke", 22, 16, 864, 36], - ["jump", "call_done_733", 864, 36], - "record_path_732", - ["load_field", 23, 17, "file_info", 864, 36], - ["frame", 24, 23, 1, 864, 36], - ["setarg", 24, 0, 17, 864, 36], - ["setarg", 24, 1, 15, 864, 36], - ["invoke", 24, 16, 864, 36], - "call_done_733", - ["move", 14, 16, 864, 36], - ["jump", "tern_end_731", 864, 36], - "tern_else_730", - ["null", 25, 864, 64], - ["move", 14, 25, 864, 64], - "tern_end_731", - ["move", 2, 14, 864, 64], - ["get", 26, 50, 1, 865, 16], - ["load_field", 27, 26, "script_inject_for", 865, 16], - ["jump_false", 27, "tern_else_734", 865, 16], - ["get", 30, 50, 1, 865, 41], - ["is_proxy", 31, 30, 865, 41], - ["jump_false", 31, "record_path_736", 865, 41], - ["null", 32, 865, 41], - ["access", 33, "script_inject_for", 865, 41], - ["array", 34, 0, 865, 41], - ["push", 34, 2, 865, 41], - ["frame", 35, 30, 2, 865, 41], - ["setarg", 35, 0, 32, 865, 41], - ["setarg", 35, 1, 33, 865, 41], - ["setarg", 35, 2, 34, 865, 41], - ["invoke", 35, 29, 865, 41], - ["jump", "call_done_737", 865, 41], - "record_path_736", - ["load_field", 36, 30, "script_inject_for", 865, 41], - ["frame", 37, 36, 1, 865, 41], - ["setarg", 37, 0, 30, 865, 41], - ["setarg", 37, 1, 2, 865, 41], - ["invoke", 37, 29, 865, 41], - "call_done_737", - ["move", 28, 29, 865, 41], - ["jump", "tern_end_735", 865, 41], - "tern_else_734", - ["array", 38, 0, 865, 77], - ["move", 28, 38, 865, 77], - "tern_end_735", - ["move", 3, 28, 865, 77], - ["record", 39, 0], - ["move", 6, 39, 868, 13], - ["get", 40, 42, 1, 869, 16], + ["get", 16, 50, 1, 900, 19], + ["load_field", 17, 16, "file_info", 900, 19], + ["jump_false", 17, "tern_else_752", 900, 19], + ["get", 19, 67, 1, 900, 51], + ["get", 21, 50, 1, 900, 36], + ["is_proxy", 22, 21, 900, 36], + ["jump_false", 22, "record_path_754", 900, 36], + ["null", 23, 900, 36], + ["access", 24, "file_info", 900, 36], + ["array", 25, 0, 900, 36], + ["push", 25, 19, 900, 36], + ["frame", 26, 21, 2, 900, 36], + ["setarg", 26, 0, 23, 900, 36], + ["setarg", 26, 1, 24, 900, 36], + ["setarg", 26, 2, 25, 900, 36], + ["invoke", 26, 20, 900, 36], + ["jump", "call_done_755", 900, 36], + "record_path_754", + ["load_field", 27, 21, "file_info", 900, 36], + ["frame", 28, 27, 1, 900, 36], + ["setarg", 28, 0, 21, 900, 36], + ["setarg", 28, 1, 19, 900, 36], + ["invoke", 28, 20, 900, 36], + "call_done_755", + ["move", 18, 20, 900, 36], + ["jump", "tern_end_753", 900, 36], + "tern_else_752", + ["null", 29, 900, 64], + ["move", 18, 29, 900, 64], + "tern_end_753", + ["move", 2, 18, 900, 64], + ["get", 30, 50, 1, 901, 16], + ["load_field", 31, 30, "script_inject_for", 901, 16], + ["jump_false", 31, "tern_else_756", 901, 16], + ["get", 34, 50, 1, 901, 41], + ["is_proxy", 35, 34, 901, 41], + ["jump_false", 35, "record_path_758", 901, 41], + ["null", 36, 901, 41], + ["access", 37, "script_inject_for", 901, 41], + ["array", 38, 0, 901, 41], + ["push", 38, 2, 901, 41], + ["frame", 39, 34, 2, 901, 41], + ["setarg", 39, 0, 36, 901, 41], + ["setarg", 39, 1, 37, 901, 41], + ["setarg", 39, 2, 38, 901, 41], + ["invoke", 39, 33, 901, 41], + ["jump", "call_done_759", 901, 41], + "record_path_758", + ["load_field", 40, 34, "script_inject_for", 901, 41], + ["frame", 41, 40, 1, 901, 41], + ["setarg", 41, 0, 34, 901, 41], + ["setarg", 41, 1, 2, 901, 41], + ["invoke", 41, 33, 901, 41], + "call_done_759", + ["move", 32, 33, 901, 41], + ["jump", "tern_end_757", 901, 41], + "tern_else_756", + ["array", 42, 0, 901, 77], + ["move", 32, 42, 901, 77], + "tern_end_757", + ["move", 4, 32, 901, 77], + ["record", 43, 0], + ["move", 9, 43, 904, 13], + ["get", 44, 42, 1, 905, 16], [ "access", - 42, + 46, { "name": "array", "kind": "name", "make": "intrinsic" }, - 869, + 905, 10 ], - ["frame", 43, 42, 1, 869, 10], - ["null", 44, 869, 10], - ["setarg", 43, 0, 44, 869, 10], - ["setarg", 43, 1, 40, 869, 10], - ["invoke", 43, 41, 869, 10], - ["function", 45, 55, 869, 30], - ["length", 47, 41, 869, 30], - ["int", 48, 0, 869, 30], - ["int", 52, 1, 869, 30], - ["null", 51, 869, 30], - "arrfor_loop_738", - ["lt_int", 49, 48, 47, 869, 30], - ["jump_false", 49, "arrfor_done_739", 869, 30], - ["load_index", 50, 41, 48, 869, 30], - ["frame", 53, 45, 2, 869, 30], - ["setarg", 53, 0, 51, 869, 30], - ["setarg", 53, 1, 50, 869, 30], - ["setarg", 53, 2, 48, 869, 30], - ["invoke", 53, 54, 869, 30], - ["add_int", 48, 48, 52, 869, 30], - ["jump", "arrfor_loop_738", 869, 30], - "arrfor_done_739", - ["null", 46, 869, 30], - ["access", 9, 0, 870, 13], - ["null", 7, 871, 13], - ["null", 5, 872, 13], - "while_start_740", - ["length", 55, 3, 873, 23], - ["is_int", 57, 9, 873, 23], - ["jump_false", 57, "rel_ni_742", 873, 23], + ["frame", 47, 46, 1, 905, 10], + ["null", 48, 905, 10], + ["setarg", 47, 0, 48, 905, 10], + ["setarg", 47, 1, 44, 905, 10], + ["invoke", 47, 45, 905, 10], + ["function", 49, 55, 905, 30], + ["length", 51, 45, 905, 30], + ["int", 52, 0, 905, 30], + ["int", 56, 1, 905, 30], + ["null", 55, 905, 30], + "arrfor_loop_760", + ["lt_int", 53, 52, 51, 905, 30], + ["jump_false", 53, "arrfor_done_761", 905, 30], + ["load_index", 54, 45, 52, 905, 30], + ["frame", 57, 49, 2, 905, 30], + ["setarg", 57, 0, 55, 905, 30], + ["setarg", 57, 1, 54, 905, 30], + ["setarg", 57, 2, 52, 905, 30], + ["invoke", 57, 58, 905, 30], + ["add_int", 52, 52, 56, 905, 30], + ["jump", "arrfor_loop_760", 905, 30], + "arrfor_done_761", + ["null", 50, 905, 30], + ["access", 12, 0, 906, 13], + ["null", 10, 907, 13], + ["null", 6, 908, 13], + "while_start_762", + ["length", 59, 4, 909, 23], + ["is_int", 61, 12, 909, 23], + ["jump_false", 61, "rel_ni_764", 909, 23], "_nop_tc_1", "_nop_tc_2", - ["lt_int", 56, 9, 55, 873, 23], - ["jump", "rel_done_744", 873, 23], - "rel_ni_742", - ["is_num", 57, 9, 873, 23], - ["jump_false", 57, "rel_nn_743", 873, 23], - ["is_num", 58, 55, 873, 23], - ["jump_false", 58, "rel_nn_743", 873, 23], - ["lt_float", 56, 9, 55, 873, 23], - ["jump", "rel_done_744", 873, 23], - "rel_nn_743", - ["is_text", 57, 9, 873, 23], - ["jump_false", 57, "rel_err_745", 873, 23], - ["is_text", 58, 55, 873, 23], - ["jump_false", 58, "rel_err_745", 873, 23], - ["lt_text", 56, 9, 55, 873, 23], - ["jump", "rel_done_744", 873, 23], - "rel_err_745", - ["disrupt", 873, 23], - "rel_done_744", - ["jump_false", 56, "while_end_741", 873, 23], - ["load_dynamic", 59, 3, 9, 874, 18], - ["move", 7, 59, 874, 18], - ["move", 5, 7, 875, 11], - ["move", 60, 5, 876, 9], - ["jump_false", 60, "and_end_748", 876, 9], - ["access", 61, 0, 876, 20], - ["load_index", 62, 5, 61, 876, 20], - ["access", 63, "$", 876, 26], - ["is_identical", 64, 62, 63, 876, 26], - ["jump_true", 64, "eq_done_749", 876, 26], - ["is_int", 65, 62, 876, 26], - ["jump_false", 65, "eq_ni_750", 876, 26], + ["lt_int", 60, 12, 59, 909, 23], + ["jump", "rel_done_766", 909, 23], + "rel_ni_764", + ["is_num", 61, 12, 909, 23], + ["jump_false", 61, "rel_nn_765", 909, 23], + ["is_num", 62, 59, 909, 23], + ["jump_false", 62, "rel_nn_765", 909, 23], + ["lt_float", 60, 12, 59, 909, 23], + ["jump", "rel_done_766", 909, 23], + "rel_nn_765", + ["is_text", 61, 12, 909, 23], + ["jump_false", 61, "rel_err_767", 909, 23], + ["is_text", 62, 59, 909, 23], + ["jump_false", 62, "rel_err_767", 909, 23], + ["lt_text", 60, 12, 59, 909, 23], + ["jump", "rel_done_766", 909, 23], + "rel_err_767", + ["disrupt", 909, 23], + "rel_done_766", + ["jump_false", 60, "while_end_763", 909, 23], + ["load_dynamic", 63, 4, 12, 910, 18], + ["move", 10, 63, 910, 18], + ["move", 6, 10, 911, 11], + ["move", 64, 6, 912, 9], + ["jump_false", 64, "and_end_770", 912, 9], + ["access", 65, 0, 912, 20], + ["load_index", 66, 6, 65, 912, 20], + ["access", 67, "$", 912, 26], + ["is_identical", 68, 66, 67, 912, 26], + ["jump_true", 68, "eq_done_771", 912, 26], + ["is_int", 69, 66, 912, 26], + ["jump_false", 69, "eq_ni_772", 912, 26], "_nop_tc_3", - ["jump", "eq_ni_750", 876, 26], - ["eq_int", 64, 62, 63, 876, 26], - ["jump", "eq_done_749", 876, 26], - "eq_ni_750", - ["is_num", 65, 62, 876, 26], - ["jump_false", 65, "eq_nn_751", 876, 26], - ["is_num", 66, 63, 876, 26], - ["jump_false", 66, "eq_nn_751", 876, 26], - ["eq_float", 64, 62, 63, 876, 26], - ["jump", "eq_done_749", 876, 26], - "eq_nn_751", - ["is_text", 65, 62, 876, 26], - ["jump_false", 65, "eq_nt_752", 876, 26], - ["is_text", 66, 63, 876, 26], - ["jump_false", 66, "eq_nt_752", 876, 26], - ["eq_text", 64, 62, 63, 876, 26], - ["jump", "eq_done_749", 876, 26], - "eq_nt_752", - ["is_null", 65, 62, 876, 26], - ["jump_false", 65, "eq_nnl_753", 876, 26], - ["is_null", 66, 63, 876, 26], - ["jump_false", 66, "eq_nnl_753", 876, 26], - ["true", 64, 876, 26], - ["jump", "eq_done_749", 876, 26], - "eq_nnl_753", - ["is_bool", 65, 62, 876, 26], - ["jump_false", 65, "eq_nb_754", 876, 26], - ["is_bool", 66, 63, 876, 26], - ["jump_false", 66, "eq_nb_754", 876, 26], - ["eq_bool", 64, 62, 63, 876, 26], - ["jump", "eq_done_749", 876, 26], - "eq_nb_754", - ["false", 64, 876, 26], - "eq_done_749", - ["move", 60, 64, 876, 26], - "and_end_748", - ["jump_false", 60, "if_else_746", 876, 26], - ["access", 67, 1, 876, 47], + ["jump", "eq_ni_772", 912, 26], + ["eq_int", 68, 66, 67, 912, 26], + ["jump", "eq_done_771", 912, 26], + "eq_ni_772", + ["is_num", 69, 66, 912, 26], + ["jump_false", 69, "eq_nn_773", 912, 26], + ["is_num", 70, 67, 912, 26], + ["jump_false", 70, "eq_nn_773", 912, 26], + ["eq_float", 68, 66, 67, 912, 26], + ["jump", "eq_done_771", 912, 26], + "eq_nn_773", + ["is_text", 69, 66, 912, 26], + ["jump_false", 69, "eq_nt_774", 912, 26], + ["is_text", 70, 67, 912, 26], + ["jump_false", 70, "eq_nt_774", 912, 26], + ["eq_text", 68, 66, 67, 912, 26], + ["jump", "eq_done_771", 912, 26], + "eq_nt_774", + ["is_null", 69, 66, 912, 26], + ["jump_false", 69, "eq_nnl_775", 912, 26], + ["is_null", 70, 67, 912, 26], + ["jump_false", 70, "eq_nnl_775", 912, 26], + ["true", 68, 912, 26], + ["jump", "eq_done_771", 912, 26], + "eq_nnl_775", + ["is_bool", 69, 66, 912, 26], + ["jump_false", 69, "eq_nb_776", 912, 26], + ["is_bool", 70, 67, 912, 26], + ["jump_false", 70, "eq_nb_776", 912, 26], + ["eq_bool", 68, 66, 67, 912, 26], + ["jump", "eq_done_771", 912, 26], + "eq_nb_776", + ["false", 68, 912, 26], + "eq_done_771", + ["move", 64, 68, 912, 26], + "and_end_770", + ["jump_false", 64, "if_else_768", 912, 26], + ["access", 71, 1, 912, 47], [ "access", - 69, + 73, { "name": "text", "kind": "name", "make": "intrinsic" }, - 876, + 912, 37 ], - ["frame", 70, 69, 2, 876, 37], - ["null", 71, 876, 37], - ["setarg", 70, 0, 71, 876, 37], - ["setarg", 70, 1, 5, 876, 37], - ["setarg", 70, 2, 67, 876, 37], - ["invoke", 70, 68, 876, 37], - ["move", 5, 68, 876, 37], - ["jump", "if_end_747", 876, 37], - "if_else_746", - "if_end_747", - ["access", 72, "fd", 877, 16], - ["is_identical", 73, 5, 72, 877, 16], - ["jump_true", 73, "eq_done_757", 877, 16], - ["is_int", 74, 5, 877, 16], - ["jump_false", 74, "eq_ni_758", 877, 16], + ["frame", 74, 73, 2, 912, 37], + ["null", 75, 912, 37], + ["setarg", 74, 0, 75, 912, 37], + ["setarg", 74, 1, 6, 912, 37], + ["setarg", 74, 2, 71, 912, 37], + ["invoke", 74, 72, 912, 37], + ["move", 6, 72, 912, 37], + ["jump", "if_end_769", 912, 37], + "if_else_768", + "if_end_769", + ["access", 76, "fd", 913, 16], + ["is_identical", 77, 6, 76, 913, 16], + ["jump_true", 77, "eq_done_779", 913, 16], + ["is_int", 78, 6, 913, 16], + ["jump_false", 78, "eq_ni_780", 913, 16], "_nop_tc_4", - ["jump", "eq_ni_758", 877, 16], - ["eq_int", 73, 5, 72, 877, 16], - ["jump", "eq_done_757", 877, 16], - "eq_ni_758", - ["is_num", 74, 5, 877, 16], - ["jump_false", 74, "eq_nn_759", 877, 16], - ["is_num", 75, 72, 877, 16], - ["jump_false", 75, "eq_nn_759", 877, 16], - ["eq_float", 73, 5, 72, 877, 16], - ["jump", "eq_done_757", 877, 16], - "eq_nn_759", - ["is_text", 74, 5, 877, 16], - ["jump_false", 74, "eq_nt_760", 877, 16], - ["is_text", 75, 72, 877, 16], - ["jump_false", 75, "eq_nt_760", 877, 16], - ["eq_text", 73, 5, 72, 877, 16], - ["jump", "eq_done_757", 877, 16], - "eq_nt_760", - ["is_null", 74, 5, 877, 16], - ["jump_false", 74, "eq_nnl_761", 877, 16], - ["is_null", 75, 72, 877, 16], - ["jump_false", 75, "eq_nnl_761", 877, 16], - ["true", 73, 877, 16], - ["jump", "eq_done_757", 877, 16], - "eq_nnl_761", - ["is_bool", 74, 5, 877, 16], - ["jump_false", 74, "eq_nb_762", 877, 16], - ["is_bool", 75, 72, 877, 16], - ["jump_false", 75, "eq_nb_762", 877, 16], - ["eq_bool", 73, 5, 72, 877, 16], - ["jump", "eq_done_757", 877, 16], - "eq_nb_762", - ["false", 73, 877, 16], - "eq_done_757", - ["jump_false", 73, "if_else_755", 877, 16], - ["get", 76, 20, 1, 877, 35], - ["access", 77, "$fd", 877, 26], - ["store_field", 6, 76, 77, 877, 26], - ["jump", "if_end_756", 877, 26], - "if_else_755", - ["get", 78, 2, 1, 878, 27], - ["load_dynamic", 79, 78, 5, 878, 30], - ["access", 80, "$", 878, 14], + ["jump", "eq_ni_780", 913, 16], + ["eq_int", 77, 6, 76, 913, 16], + ["jump", "eq_done_779", 913, 16], + "eq_ni_780", + ["is_num", 78, 6, 913, 16], + ["jump_false", 78, "eq_nn_781", 913, 16], + ["is_num", 79, 76, 913, 16], + ["jump_false", 79, "eq_nn_781", 913, 16], + ["eq_float", 77, 6, 76, 913, 16], + ["jump", "eq_done_779", 913, 16], + "eq_nn_781", + ["is_text", 78, 6, 913, 16], + ["jump_false", 78, "eq_nt_782", 913, 16], + ["is_text", 79, 76, 913, 16], + ["jump_false", 79, "eq_nt_782", 913, 16], + ["eq_text", 77, 6, 76, 913, 16], + ["jump", "eq_done_779", 913, 16], + "eq_nt_782", + ["is_null", 78, 6, 913, 16], + ["jump_false", 78, "eq_nnl_783", 913, 16], + ["is_null", 79, 76, 913, 16], + ["jump_false", 79, "eq_nnl_783", 913, 16], + ["true", 77, 913, 16], + ["jump", "eq_done_779", 913, 16], + "eq_nnl_783", + ["is_bool", 78, 6, 913, 16], + ["jump_false", 78, "eq_nb_784", 913, 16], + ["is_bool", 79, 76, 913, 16], + ["jump_false", 79, "eq_nb_784", 913, 16], + ["eq_bool", 77, 6, 76, 913, 16], + ["jump", "eq_done_779", 913, 16], + "eq_nb_784", + ["false", 77, 913, 16], + "eq_done_779", + ["jump_false", 77, "if_else_777", 913, 16], + ["get", 80, 20, 1, 913, 35], + ["access", 81, "$fd", 913, 26], + ["store_field", 9, 80, 81, 913, 26], + ["jump", "if_end_778", 913, 26], + "if_else_777", + ["get", 82, 2, 1, 914, 27], + ["load_dynamic", 83, 82, 6, 914, 30], + ["access", 84, "$", 914, 14], "_nop_tc_5", - ["jump", "add_ni_763", 878, 20], - ["is_int", 83, 5, 878, 20], - ["jump_false", 83, "add_ni_763", 878, 20], - ["add_int", 81, 80, 5, 878, 20], - ["jump", "add_done_765", 878, 20], - "add_ni_763", - ["is_text", 83, 5, 878, 20], - ["jump_false", 83, "add_nt_764", 878, 20], - ["concat", 81, 80, 5, 878, 20], - ["jump", "add_done_765", 878, 20], - "add_nt_764", - ["is_num", 82, 80, 878, 20], - ["jump_false", 82, "add_err_766", 878, 20], - ["is_num", 83, 5, 878, 20], - ["jump_false", 83, "add_err_766", 878, 20], - ["add_float", 81, 80, 5, 878, 20], - ["jump", "add_done_765", 878, 20], - "add_err_766", - ["disrupt", 878, 20], - "add_done_765", - ["store_dynamic", 6, 79, 81, 878, 20], - "if_end_756", - ["access", 84, 1, 879, 17], - ["is_int", 86, 9, 879, 17], - ["jump_false", 86, "add_ni_767", 879, 17], - ["add_int", 85, 9, 84, 879, 17], - ["jump", "add_done_769", 879, 17], - "add_ni_767", - ["is_text", 86, 9, 879, 17], - ["jump_false", 86, "add_nt_768", 879, 17], - ["is_text", 87, 84, 879, 17], - ["jump_false", 87, "add_nt_768", 879, 17], - ["concat", 85, 9, 84, 879, 17], - ["jump", "add_done_769", 879, 17], - "add_nt_768", - ["is_num", 86, 9, 879, 17], - ["jump_false", 86, "add_err_770", 879, 17], - ["add_float", 85, 9, 84, 879, 17], - ["jump", "add_done_769", 879, 17], - "add_err_770", - ["disrupt", 879, 17], - "add_done_769", - ["move", 9, 85, 879, 17], - ["jump", "while_start_740", 879, 17], - "while_end_741", - ["jump_false", 2, "tern_else_771", 882, 13], - ["load_field", 89, 2, "package", 882, 25], - ["move", 88, 89, 882, 25], - ["jump", "tern_end_772", 882, 25], - "tern_else_771", - ["null", 90, 882, 45], - ["move", 88, 90, 882, 45], - "tern_end_772", - ["move", 8, 88, 882, 45], - ["function", 91, 56, 883, 13], - ["store_field", 6, 91, "use", 883, 3], - ["get", 92, 11, 1, 890, 14], - ["load_field", 93, 92, "args", 890, 14], - ["load_field", 94, 93, "arg", 890, 14], - ["store_field", 6, 94, "args", 890, 3], - ["get", 95, 63, 1, 891, 14], - ["store_field", 6, 95, "log", 891, 3], - ["get", 96, 67, 1, 893, 30], - ["get", 98, 20, 1, 893, 21], - ["is_proxy", 99, 98, 893, 21], - ["jump_false", 99, "record_path_783", 893, 21], - ["null", 100, 893, 21], - ["access", 101, "slurp", 893, 21], - ["array", 102, 0, 893, 21], - ["push", 102, 96, 893, 21], - ["frame", 103, 98, 2, 893, 21], - ["setarg", 103, 0, 100, 893, 21], - ["setarg", 103, 1, 101, 893, 21], - ["setarg", 103, 2, 102, 893, 21], - ["invoke", 103, 97, 893, 21], - ["jump", "call_done_784", 893, 21], - "record_path_783", - ["load_field", 104, 98, "slurp", 893, 21], - ["frame", 105, 104, 1, 893, 21], - ["setarg", 105, 0, 98, 893, 21], - ["setarg", 105, 1, 96, 893, 21], - ["invoke", 105, 97, 893, 21], - "call_done_784", + ["jump", "add_ni_785", 914, 20], + ["is_int", 87, 6, 914, 20], + ["jump_false", 87, "add_ni_785", 914, 20], + ["add_int", 85, 84, 6, 914, 20], + ["jump", "add_done_787", 914, 20], + "add_ni_785", + ["is_text", 87, 6, 914, 20], + ["jump_false", 87, "add_nt_786", 914, 20], + ["concat", 85, 84, 6, 914, 20], + ["jump", "add_done_787", 914, 20], + "add_nt_786", + ["is_num", 86, 84, 914, 20], + ["jump_false", 86, "add_err_788", 914, 20], + ["is_num", 87, 6, 914, 20], + ["jump_false", 87, "add_err_788", 914, 20], + ["add_float", 85, 84, 6, 914, 20], + ["jump", "add_done_787", 914, 20], + "add_err_788", + ["disrupt", 914, 20], + "add_done_787", + ["store_dynamic", 9, 83, 85, 914, 20], + "if_end_778", + ["access", 88, 1, 915, 17], + ["is_int", 90, 12, 915, 17], + ["jump_false", 90, "add_ni_789", 915, 17], + ["add_int", 89, 12, 88, 915, 17], + ["jump", "add_done_791", 915, 17], + "add_ni_789", + ["is_text", 90, 12, 915, 17], + ["jump_false", 90, "add_nt_790", 915, 17], + ["is_text", 91, 88, 915, 17], + ["jump_false", 91, "add_nt_790", 915, 17], + ["concat", 89, 12, 88, 915, 17], + ["jump", "add_done_791", 915, 17], + "add_nt_790", + ["is_num", 90, 12, 915, 17], + ["jump_false", 90, "add_err_792", 915, 17], + ["add_float", 89, 12, 88, 915, 17], + ["jump", "add_done_791", 915, 17], + "add_err_792", + ["disrupt", 915, 17], + "add_done_791", + ["move", 12, 89, 915, 17], + ["jump", "while_start_762", 915, 17], + "while_end_763", + ["jump_false", 2, "tern_else_793", 918, 13], + ["load_field", 93, 2, "package", 918, 25], + ["move", 92, 93, 918, 25], + ["jump", "tern_end_794", 918, 25], + "tern_else_793", + ["null", 94, 918, 45], + ["move", 92, 94, 918, 45], + "tern_end_794", + ["move", 11, 92, 918, 45], + ["function", 95, 56, 919, 13], + ["store_field", 9, 95, "use", 919, 3], + ["get", 96, 11, 1, 926, 14], + ["load_field", 97, 96, "args", 926, 14], + ["load_field", 98, 97, "arg", 926, 14], + ["store_field", 9, 98, "args", 926, 3], + ["get", 99, 63, 1, 927, 14], + ["store_field", 9, 99, "log", 927, 3], + ["get", 100, 67, 1, 929, 30], + ["get", 102, 20, 1, 929, 21], + ["is_proxy", 103, 102, 929, 21], + ["jump_false", 103, "record_path_805", 929, 21], + ["null", 104, 929, 21], + ["access", 105, "slurp", 929, 21], + ["array", 106, 0, 929, 21], + ["push", 106, 100, 929, 21], + ["frame", 107, 102, 2, 929, 21], + ["setarg", 107, 0, 104, 929, 21], + ["setarg", 107, 1, 105, 929, 21], + ["setarg", 107, 2, 106, 929, 21], + ["invoke", 107, 101, 929, 21], + ["jump", "call_done_806", 929, 21], + "record_path_805", + ["load_field", 108, 102, "slurp", 929, 21], + ["frame", 109, 108, 1, 929, 21], + ["setarg", 109, 0, 102, 929, 21], + ["setarg", 109, 1, 100, 929, 21], + ["invoke", 109, 101, 929, 21], + "call_done_806", + ["move", 7, 101, 929, 21], [ "access", - 107, + 111, + { + "name": "content_hash", + "kind": "name", + "make": "intrinsic" + }, + 930, + 14 + ], + ["frame", 112, 111, 1, 930, 14], + ["null", 113, 930, 14], + ["setarg", 112, 0, 113, 930, 14], + ["setarg", 112, 1, 7, 930, 14], + ["invoke", 112, 110, 930, 14], + ["move", 3, 110, 930, 14], + [ + "access", + 115, + { + "name": "cache_path", + "kind": "name", + "make": "intrinsic" + }, + 931, + 21 + ], + ["frame", 116, 115, 1, 931, 21], + ["null", 117, 931, 21], + ["setarg", 116, 0, 117, 931, 21], + ["setarg", 116, 1, 3, 931, 21], + ["invoke", 116, 114, 931, 21], + ["move", 15, 114, 931, 21], + ["null", 13, 932, 13], + ["null", 5, 933, 16], + ["null", 14, 934, 13], + ["null", 8, 935, 19], + ["move", 118, 15, 936, 7], + ["jump_false", 118, "and_end_809", 936, 7], + ["get", 120, 20, 1, 936, 22], + ["is_proxy", 121, 120, 936, 22], + ["jump_false", 121, "record_path_810", 936, 22], + ["null", 122, 936, 22], + ["access", 123, "is_file", 936, 22], + ["array", 124, 0, 936, 22], + ["push", 124, 15, 936, 22], + ["frame", 125, 120, 2, 936, 22], + ["setarg", 125, 0, 122, 936, 22], + ["setarg", 125, 1, 123, 936, 22], + ["setarg", 125, 2, 124, 936, 22], + ["invoke", 125, 119, 936, 22], + ["jump", "call_done_811", 936, 22], + "record_path_810", + ["load_field", 126, 120, "is_file", 936, 22], + ["frame", 127, 126, 1, 936, 22], + ["setarg", 127, 0, 120, 936, 22], + ["setarg", 127, 1, 15, 936, 22], + ["invoke", 127, 119, 936, 22], + "call_done_811", + ["move", 118, 119, 936, 22], + "and_end_809", + ["jump_false", 118, "if_else_807", 936, 22], + ["get", 129, 20, 1, 937, 21], + ["is_proxy", 130, 129, 937, 21], + ["jump_false", 130, "record_path_812", 937, 21], + ["null", 131, 937, 21], + ["access", 132, "slurp", 937, 21], + ["array", 133, 0, 937, 21], + ["push", 133, 15, 937, 21], + ["frame", 134, 129, 2, 937, 21], + ["setarg", 134, 0, 131, 937, 21], + ["setarg", 134, 1, 132, 937, 21], + ["setarg", 134, 2, 133, 937, 21], + ["invoke", 134, 128, 937, 21], + ["jump", "call_done_813", 937, 21], + "record_path_812", + ["load_field", 135, 129, "slurp", 937, 21], + ["frame", 136, 135, 1, 937, 21], + ["setarg", 136, 0, 129, 937, 21], + ["setarg", 136, 1, 15, 937, 21], + ["invoke", 136, 128, 937, 21], + "call_done_813", + [ + "access", + 138, + { + "name": "mach_load", + "kind": "name", + "make": "intrinsic" + }, + 937, + 11 + ], + ["frame", 139, 138, 2, 937, 11], + ["null", 140, 937, 11], + ["setarg", 139, 0, 140, 937, 11], + ["setarg", 139, 1, 128, 937, 11], + ["setarg", 139, 2, 9, 937, 11], + ["invoke", 139, 137, 937, 11], + ["move", 13, 137, 937, 11], + ["jump", "if_end_808", 937, 11], + "if_else_807", + [ + "access", + 142, { "name": "text", "kind": "name", "make": "intrinsic" }, - 893, - 16 + 939, + 14 ], - ["frame", 108, 107, 1, 893, 16], - ["null", 109, 893, 16], - ["setarg", 108, 0, 109, 893, 16], - ["setarg", 108, 1, 97, 893, 16], - ["invoke", 108, 106, 893, 16], - ["move", 4, 106, 893, 16], - ["get", 110, 67, 1, 894, 29], + ["frame", 143, 142, 1, 939, 14], + ["null", 144, 939, 14], + ["setarg", 143, 0, 144, 939, 14], + ["setarg", 143, 1, 7, 939, 14], + ["invoke", 143, 141, 939, 14], + ["move", 5, 141, 939, 14], + ["get", 145, 67, 1, 940, 27], [ "access", - 112, + 147, { "name": "analyze", "kind": "name", "make": "intrinsic" }, - 894, - 13 + 940, + 11 ], - ["frame", 113, 112, 2, 894, 13], - ["null", 114, 894, 13], - ["setarg", 113, 0, 114, 894, 13], - ["setarg", 113, 1, 4, 894, 13], - ["setarg", 113, 2, 110, 894, 13], - ["invoke", 113, 111, 894, 13], - ["move", 10, 111, 894, 13], - ["get", 115, 46, 1, 895, 24], + ["frame", 148, 147, 2, 940, 11], + ["null", 149, 940, 11], + ["setarg", 148, 0, 149, 940, 11], + ["setarg", 148, 1, 5, 940, 11], + ["setarg", 148, 2, 145, 940, 11], + ["invoke", 148, 146, 940, 11], + ["move", 14, 146, 940, 11], + ["get", 150, 46, 1, 941, 36], [ "access", - 117, + 152, { - "name": "run_ast_fn", + "name": "compile_to_blob_fn", "kind": "name", "make": "intrinsic" }, - 895, - 13 + 941, + 17 ], - ["frame", 118, 117, 3, 895, 13], - ["null", 119, 895, 13], - ["setarg", 118, 0, 119, 895, 13], - ["setarg", 118, 1, 115, 895, 13], - ["setarg", 118, 2, 10, 895, 13], - ["setarg", 118, 3, 6, 895, 13], - ["invoke", 118, 116, 895, 13], - ["move", 11, 116, 895, 13], - ["jump_false", 11, "if_else_785", 896, 7], - ["access", 120, "Program must not return anything", 897, 15], - ["get", 122, 63, 1, 897, 5], - ["is_proxy", 123, 122, 897, 5], - ["jump_false", 123, "record_path_787", 897, 5], - ["null", 124, 897, 5], - ["access", 125, "error", 897, 5], - ["array", 126, 0, 897, 5], - ["push", 126, 120, 897, 5], - ["frame", 127, 122, 2, 897, 5], - ["setarg", 127, 0, 124, 897, 5], - ["setarg", 127, 1, 125, 897, 5], - ["setarg", 127, 2, 126, 897, 5], - ["invoke", 127, 121, 897, 5], - ["jump", "call_done_788", 897, 5], - "record_path_787", - ["load_field", 128, 122, "error", 897, 5], - ["frame", 129, 128, 1, 897, 5], - ["setarg", 129, 0, 122, 897, 5], - ["setarg", 129, 1, 120, 897, 5], - ["invoke", 129, 121, 897, 5], - "call_done_788", - ["disrupt", 898, 5], - ["jump", "if_end_786", 898, 5], - "if_else_785", - "if_end_786", - ["null", 130, 898, 5], - ["return", 130, 898, 5] + ["frame", 153, 152, 2, 941, 17], + ["null", 154, 941, 17], + ["setarg", 153, 0, 154, 941, 17], + ["setarg", 153, 1, 150, 941, 17], + ["setarg", 153, 2, 14, 941, 17], + ["invoke", 153, 151, 941, 17], + ["move", 8, 151, 941, 17], + ["jump_false", 15, "if_else_814", 942, 9], + [ + "access", + 156, + { + "name": "ensure_build_dir", + "kind": "name", + "make": "intrinsic" + }, + 943, + 7 + ], + ["frame", 157, 156, 0, 943, 7], + ["null", 158, 943, 7], + ["setarg", 157, 0, 158, 943, 7], + ["invoke", 157, 155, 943, 7], + ["get", 160, 20, 1, 944, 7], + ["is_proxy", 161, 160, 944, 7], + ["jump_false", 161, "record_path_816", 944, 7], + ["null", 162, 944, 7], + ["access", 163, "slurpwrite", 944, 7], + ["array", 164, 0, 944, 7], + ["push", 164, 15, 944, 7], + ["push", 164, 8, 944, 7], + ["frame", 165, 160, 2, 944, 7], + ["setarg", 165, 0, 162, 944, 7], + ["setarg", 165, 1, 163, 944, 7], + ["setarg", 165, 2, 164, 944, 7], + ["invoke", 165, 159, 944, 7], + ["jump", "call_done_817", 944, 7], + "record_path_816", + ["load_field", 166, 160, "slurpwrite", 944, 7], + ["frame", 167, 166, 2, 944, 7], + ["setarg", 167, 0, 160, 944, 7], + ["setarg", 167, 1, 15, 944, 7], + ["setarg", 167, 2, 8, 944, 7], + ["invoke", 167, 159, 944, 7], + "call_done_817", + ["jump", "if_end_815", 944, 7], + "if_else_814", + "if_end_815", + [ + "access", + 169, + { + "name": "mach_load", + "kind": "name", + "make": "intrinsic" + }, + 946, + 11 + ], + ["frame", 170, 169, 2, 946, 11], + ["null", 171, 946, 11], + ["setarg", 170, 0, 171, 946, 11], + ["setarg", 170, 1, 8, 946, 11], + ["setarg", 170, 2, 9, 946, 11], + ["invoke", 170, 168, 946, 11], + ["move", 13, 168, 946, 11], + "if_end_808", + ["jump_false", 13, "if_else_818", 948, 7], + ["access", 172, "Program must not return anything", 949, 15], + ["get", 174, 63, 1, 949, 5], + ["is_proxy", 175, 174, 949, 5], + ["jump_false", 175, "record_path_820", 949, 5], + ["null", 176, 949, 5], + ["access", 177, "error", 949, 5], + ["array", 178, 0, 949, 5], + ["push", 178, 172, 949, 5], + ["frame", 179, 174, 2, 949, 5], + ["setarg", 179, 0, 176, 949, 5], + ["setarg", 179, 1, 177, 949, 5], + ["setarg", 179, 2, 178, 949, 5], + ["invoke", 179, 173, 949, 5], + ["jump", "call_done_821", 949, 5], + "record_path_820", + ["load_field", 180, 174, "error", 949, 5], + ["frame", 181, 180, 1, 949, 5], + ["setarg", 181, 0, 174, 949, 5], + ["setarg", 181, 1, 172, 949, 5], + ["invoke", 181, 173, 949, 5], + "call_done_821", + ["disrupt", 950, 5], + ["jump", "if_end_819", 950, 5], + "if_else_818", + "if_end_819", + ["null", 182, 950, 5], + ["return", 182, 950, 5] ], "name": "", "filename": "internal/engine.cm", @@ -6831,7 +7317,7 @@ "main": { "nr_args": 0, "nr_close_slots": 0, - "nr_slots": 504, + "nr_slots": 499, "instructions": [ ["function", 77, 0, 0, 0], ["move", 17, 77, 0, 0], @@ -6929,7 +7415,7 @@ 23 ], ["is_proxy", 115, 114, 15, 23], - ["jump_false", 115, "record_path_541", 15, 23], + ["jump_false", 115, "record_path_563", 15, 23], ["null", 116, 15, 23], ["access", 117, "platform", 15, 23], ["array", 118, 0, 15, 23], @@ -6938,13 +7424,13 @@ ["setarg", 119, 1, 117, 15, 23], ["setarg", 119, 2, 118, 15, 23], ["invoke", 119, 113, 15, 23], - ["jump", "call_done_542", 15, 23], - "record_path_541", + ["jump", "call_done_564", 15, 23], + "record_path_563", ["load_field", 120, 114, "platform", 15, 23], ["frame", 121, 120, 0, 15, 23], ["setarg", 121, 0, 114, 15, 23], ["invoke", 121, 113, 15, 23], - "call_done_542", + "call_done_564", ["load_dynamic", 122, 4, 113, 15, 23], ["access", 44, ".cm", 17, 15], [ @@ -6985,7 +7471,7 @@ 54, 21 ], - ["jump_false", 133, "tern_else_543", 54, 21], + ["jump_false", 133, "tern_else_565", 54, 21], [ "access", 135, @@ -6999,32 +7485,32 @@ ], ["access", 136, "/packages", 54, 45], ["is_int", 138, 135, 54, 45], - ["jump_false", 138, "add_ni_545", 54, 45], + ["jump_false", 138, "add_ni_567", 54, 45], "_nop_tc_1", - ["jump", "add_ni_545", 54, 45], + ["jump", "add_ni_567", 54, 45], ["add_int", 137, 135, 136, 54, 45], - ["jump", "add_done_547", 54, 45], - "add_ni_545", + ["jump", "add_done_569", 54, 45], + "add_ni_567", ["is_text", 138, 135, 54, 45], - ["jump_false", 138, "add_nt_546", 54, 45], + ["jump_false", 138, "add_nt_568", 54, 45], ["concat", 137, 135, 136, 54, 45], - ["jump", "add_done_547", 54, 45], - "add_nt_546", + ["jump", "add_done_569", 54, 45], + "add_nt_568", ["is_num", 138, 135, 54, 45], - ["jump_false", 138, "add_err_548", 54, 45], + ["jump_false", 138, "add_err_570", 54, 45], ["is_num", 139, 136, 54, 45], - ["jump_false", 139, "add_err_548", 54, 45], + ["jump_false", 139, "add_err_570", 54, 45], ["add_float", 137, 135, 136, 54, 45], - ["jump", "add_done_547", 54, 45], - "add_err_548", + ["jump", "add_done_569", 54, 45], + "add_err_570", ["disrupt", 54, 45], - "add_done_547", + "add_done_569", ["move", 134, 137, 54, 45], - ["jump", "tern_end_544", 54, 45], - "tern_else_543", + ["jump", "tern_end_566", 54, 45], + "tern_else_565", ["null", 140, 54, 59], ["move", 134, 140, 54, 59], - "tern_end_544", + "tern_end_566", [ "access", 141, @@ -7051,49 +7537,49 @@ ["store_field", 142, 141, 143, 56, 11], ["record", 144, 0], ["move", 58, 144, 59, 19], - ["access", 145, "fd", 117, 15], - ["frame", 147, 32, 1, 117, 6], - ["null", 148, 117, 6], - ["setarg", 147, 0, 148, 117, 6], - ["setarg", 147, 1, 145, 117, 6], - ["invoke", 147, 146, 117, 6], - ["move", 20, 146, 117, 6], - ["access", 149, "js", 118, 10], - ["frame", 151, 32, 1, 118, 1], - ["null", 152, 118, 1], - ["setarg", 151, 0, 152, 118, 1], - ["setarg", 151, 1, 149, 118, 1], - ["invoke", 151, 150, 118, 1], - ["access", 153, "blob", 119, 21], - ["frame", 155, 32, 1, 119, 12], - ["null", 156, 119, 12], - ["setarg", 155, 0, 156, 119, 12], - ["setarg", 155, 1, 153, 119, 12], - ["invoke", 155, 154, 119, 12], - ["move", 62, 154, 119, 12], - ["access", 157, "actor", 125, 26], - ["frame", 159, 32, 1, 125, 17], - ["null", 160, 125, 17], - ["setarg", 159, 0, 160, 125, 17], - ["setarg", 159, 1, 157, 125, 17], - ["invoke", 159, 158, 125, 17], - ["move", 30, 158, 125, 17], - ["access", 161, "wota", 126, 21], - ["frame", 163, 32, 1, 126, 12], - ["null", 164, 126, 12], - ["setarg", 163, 0, 164, 126, 12], - ["setarg", 163, 1, 161, 126, 12], - ["invoke", 163, 162, 126, 12], - ["move", 7, 162, 126, 12], - ["access", 165, "nota", 127, 21], - ["frame", 167, 32, 1, 127, 12], - ["null", 168, 127, 12], - ["setarg", 167, 0, 168, 127, 12], - ["setarg", 167, 1, 165, 127, 12], - ["invoke", 167, 166, 127, 12], - ["move", 49, 166, 127, 12], - ["access", 60, 0.1, 133, 19], - ["access", 35, 60, 134, 20], + ["access", 145, "fd", 146, 15], + ["frame", 147, 32, 1, 146, 6], + ["null", 148, 146, 6], + ["setarg", 147, 0, 148, 146, 6], + ["setarg", 147, 1, 145, 146, 6], + ["invoke", 147, 146, 146, 6], + ["move", 20, 146, 146, 6], + ["access", 149, "js", 147, 10], + ["frame", 151, 32, 1, 147, 1], + ["null", 152, 147, 1], + ["setarg", 151, 0, 152, 147, 1], + ["setarg", 151, 1, 149, 147, 1], + ["invoke", 151, 150, 147, 1], + ["access", 153, "blob", 148, 21], + ["frame", 155, 32, 1, 148, 12], + ["null", 156, 148, 12], + ["setarg", 155, 0, 156, 148, 12], + ["setarg", 155, 1, 153, 148, 12], + ["invoke", 155, 154, 148, 12], + ["move", 62, 154, 148, 12], + ["access", 157, "actor", 154, 26], + ["frame", 159, 32, 1, 154, 17], + ["null", 160, 154, 17], + ["setarg", 159, 0, 160, 154, 17], + ["setarg", 159, 1, 157, 154, 17], + ["invoke", 159, 158, 154, 17], + ["move", 30, 158, 154, 17], + ["access", 161, "wota", 155, 21], + ["frame", 163, 32, 1, 155, 12], + ["null", 164, 155, 12], + ["setarg", 163, 0, 164, 155, 12], + ["setarg", 163, 1, 161, 155, 12], + ["invoke", 163, 162, 155, 12], + ["move", 7, 162, 155, 12], + ["access", 165, "nota", 156, 21], + ["frame", 167, 32, 1, 156, 12], + ["null", 168, 156, 12], + ["setarg", 167, 0, 168, 156, 12], + ["setarg", 167, 1, 165, 156, 12], + ["invoke", 167, 166, 156, 12], + ["move", 49, 166, 156, 12], + ["access", 60, 0.1, 162, 19], + ["access", 35, 60, 163, 20], [ "access", 169, @@ -7102,55 +7588,55 @@ "kind": "name", "make": "intrinsic" }, - 205, + 234, 14 ], - ["null", 170, 205, 22], - ["is_identical", 171, 169, 170, 205, 22], - ["jump_true", 171, "ne_nid_552", 205, 22], - ["jump", "ne_ni_553", 205, 22], - "ne_nid_552", - ["false", 171, 205, 22], - ["jump", "ne_done_551", 205, 22], - "ne_ni_553", - ["is_int", 172, 169, 205, 22], - ["jump_false", 172, "ne_nn_554", 205, 22], - ["is_int", 173, 170, 205, 22], - ["jump_false", 173, "ne_nn_554", 205, 22], - ["ne_int", 171, 169, 170, 205, 22], - ["jump", "ne_done_551", 205, 22], - "ne_nn_554", - ["is_num", 172, 169, 205, 22], - ["jump_false", 172, "ne_nt_555", 205, 22], - ["is_num", 173, 170, 205, 22], - ["jump_false", 173, "ne_nt_555", 205, 22], - ["ne_float", 171, 169, 170, 205, 22], - ["jump", "ne_done_551", 205, 22], - "ne_nt_555", - ["is_text", 172, 169, 205, 22], - ["jump_false", 172, "ne_nnl_556", 205, 22], - ["is_text", 173, 170, 205, 22], - ["jump_false", 173, "ne_nnl_556", 205, 22], - ["ne_text", 171, 169, 170, 205, 22], - ["jump", "ne_done_551", 205, 22], - "ne_nnl_556", - ["is_null", 172, 169, 205, 22], - ["jump_false", 172, "ne_nb_557", 205, 22], - ["is_null", 173, 170, 205, 22], - ["jump_false", 173, "ne_nb_557", 205, 22], - ["false", 171, 205, 22], - ["jump", "ne_done_551", 205, 22], - "ne_nb_557", - ["is_bool", 172, 169, 205, 22], - ["jump_false", 172, "ne_mis_558", 205, 22], - ["is_bool", 173, 170, 205, 22], - ["jump_false", 173, "ne_mis_558", 205, 22], - ["ne_bool", 171, 169, 170, 205, 22], - ["jump", "ne_done_551", 205, 22], - "ne_mis_558", - ["true", 171, 205, 22], - "ne_done_551", - ["jump_false", 171, "tern_else_549", 205, 22], + ["null", 170, 234, 22], + ["is_identical", 171, 169, 170, 234, 22], + ["jump_true", 171, "ne_nid_574", 234, 22], + ["jump", "ne_ni_575", 234, 22], + "ne_nid_574", + ["false", 171, 234, 22], + ["jump", "ne_done_573", 234, 22], + "ne_ni_575", + ["is_int", 172, 169, 234, 22], + ["jump_false", 172, "ne_nn_576", 234, 22], + ["is_int", 173, 170, 234, 22], + ["jump_false", 173, "ne_nn_576", 234, 22], + ["ne_int", 171, 169, 170, 234, 22], + ["jump", "ne_done_573", 234, 22], + "ne_nn_576", + ["is_num", 172, 169, 234, 22], + ["jump_false", 172, "ne_nt_577", 234, 22], + ["is_num", 173, 170, 234, 22], + ["jump_false", 173, "ne_nt_577", 234, 22], + ["ne_float", 171, 169, 170, 234, 22], + ["jump", "ne_done_573", 234, 22], + "ne_nt_577", + ["is_text", 172, 169, 234, 22], + ["jump_false", 172, "ne_nnl_578", 234, 22], + ["is_text", 173, 170, 234, 22], + ["jump_false", 173, "ne_nnl_578", 234, 22], + ["ne_text", 171, 169, 170, 234, 22], + ["jump", "ne_done_573", 234, 22], + "ne_nnl_578", + ["is_null", 172, 169, 234, 22], + ["jump_false", 172, "ne_nb_579", 234, 22], + ["is_null", 173, 170, 234, 22], + ["jump_false", 173, "ne_nb_579", 234, 22], + ["false", 171, 234, 22], + ["jump", "ne_done_573", 234, 22], + "ne_nb_579", + ["is_bool", 172, 169, 234, 22], + ["jump_false", 172, "ne_mis_580", 234, 22], + ["is_bool", 173, 170, 234, 22], + ["jump_false", 173, "ne_mis_580", 234, 22], + ["ne_bool", 171, 169, 170, 234, 22], + ["jump", "ne_done_573", 234, 22], + "ne_mis_580", + ["true", 171, 234, 22], + "ne_done_573", + ["jump_false", 171, "tern_else_571", 234, 22], [ "access", 175, @@ -7159,106 +7645,87 @@ "kind": "name", "make": "intrinsic" }, - 205, + 234, 29 ], - ["move", 174, 175, 205, 29], - ["jump", "tern_end_550", 205, 29], - "tern_else_549", + ["move", 174, 175, 234, 29], + ["jump", "tern_end_572", 234, 29], + "tern_else_571", ["record", 176, 0], - ["move", 174, 176, 205, 36], - "tern_end_550", - ["store_field", 11, 174, "args", 205, 1], - ["access", 177, "newguy", 206, 12], - ["store_field", 11, 177, "id", 206, 1], + ["move", 174, 176, 234, 36], + "tern_end_572", + ["store_field", 11, 174, "args", 234, 1], + ["access", 177, "newguy", 235, 12], + ["store_field", 11, 177, "id", 235, 1], ["record", 178, 0], - ["move", 2, 178, 215, 10], - ["frame", 180, 72, 0, 216, 11], - ["null", 181, 216, 11], - ["setarg", 180, 0, 181, 216, 11], - ["invoke", 180, 179, 216, 11], - ["store_field", 2, 179, "self", 216, 1], + ["move", 2, 178, 244, 10], + ["frame", 180, 72, 0, 245, 11], + ["null", 181, 245, 11], + ["setarg", 180, 0, 181, 245, 11], + ["invoke", 180, 179, 245, 11], + ["store_field", 2, 179, "self", 245, 1], [ "access", 182, { - "name": "use_cache", + "name": "json", "kind": "name", "make": "intrinsic" }, - 218, - 16 + 247, + 26 ], [ "access", 183, { - "name": "os", + "name": "use_cache", "kind": "name", "make": "intrinsic" }, - 218, + 247, 1 ], - ["store_field", 183, 182, "use_cache", 218, 1], + ["access", 184, "core/json", 247, 11], + ["store_field", 183, 182, 184, 247, 11], + ["record", 185, 0], + ["move", 42, 185, 252, 19], [ "access", - 184, + 186, + { + "name": "use_cache", + "kind": "name", + "make": "intrinsic" + }, + 255, + 25 + ], + ["store_field", 58, 186, "use_cache", 255, 1], + [ + "access", + 187, { "name": "shop_path", "kind": "name", "make": "intrinsic" }, - 219, - 23 + 256, + 25 ], + ["store_field", 58, 187, "shop_path", 256, 1], [ "access", - 185, - { - "name": "os", - "kind": "name", - "make": "intrinsic" - }, - 219, - 1 - ], - ["store_field", 185, 184, "global_shop_path", 219, 1], - [ - "access", - 186, - { - "name": "os", - "kind": "name", - "make": "intrinsic" - }, - 220, - 1 - ], - ["store_field", 186, 2, "$_", 220, 1], - [ - "access", - 187, + 188, { "name": "analyze", "kind": "name", "make": "intrinsic" }, - 221, - 14 + 257, + 23 ], - [ - "access", - 188, - { - "name": "os", - "kind": "name", - "make": "intrinsic" - }, - 221, - 1 - ], - ["store_field", 188, 187, "analyze", 221, 1], + ["store_field", 58, 188, "analyze", 257, 1], [ "access", 189, @@ -7267,544 +7734,511 @@ "kind": "name", "make": "intrinsic" }, - 222, - 17 + 258, + 26 ], + ["store_field", 58, 189, "run_ast_fn", 258, 1], [ "access", 190, - { - "name": "os", - "kind": "name", - "make": "intrinsic" - }, - 222, - 1 - ], - ["store_field", 190, 189, "run_ast_fn", 222, 1], - [ - "access", - 191, { "name": "run_ast_noopt_fn", "kind": "name", "make": "intrinsic" }, - 223, - 23 + 259, + 32 ], + ["store_field", 58, 190, "run_ast_noopt_fn", 259, 1], + [ + "access", + 191, + { + "name": "json", + "kind": "name", + "make": "intrinsic" + }, + 260, + 25 + ], + ["store_field", 58, 191, "core_json", 260, 1], + ["store_field", 58, 2, "actor_api", 261, 1], + ["store_field", 58, 42, "runtime_env", 262, 1], [ "access", 192, { - "name": "os", + "name": "content_hash", "kind": "name", "make": "intrinsic" }, - 223, - 1 + 263, + 28 ], - ["store_field", 192, 191, "run_ast_noopt_fn", 223, 1], + ["store_field", 58, 192, "content_hash", 263, 1], [ "access", 193, { - "name": "json", + "name": "cache_path", "kind": "name", "make": "intrinsic" }, - 224, - 11 + 264, + 26 ], + ["store_field", 58, 193, "cache_path", 264, 1], [ "access", 194, { - "name": "os", + "name": "ensure_build_dir", "kind": "name", "make": "intrinsic" }, - 224, - 1 + 265, + 32 ], - ["store_field", 194, 193, "json", 224, 1], + ["store_field", 58, 194, "ensure_build_dir", 265, 1], + ["access", 195, "internal/shop", 268, 21], + ["frame", 197, 32, 1, 268, 12], + ["null", 198, 268, 12], + ["setarg", 197, 0, 198, 268, 12], + ["setarg", 197, 1, 195, 268, 12], + ["invoke", 197, 196, 268, 12], + ["move", 50, 196, 268, 12], + ["access", 199, "time", 269, 21], + ["frame", 201, 32, 1, 269, 12], + ["null", 202, 269, 12], + ["setarg", 201, 0, 202, 269, 12], + ["setarg", 201, 1, 199, 269, 12], + ["invoke", 201, 200, 269, 12], + ["move", 3, 200, 269, 12], + ["access", 203, "pronto", 271, 23], + ["frame", 205, 32, 1, 271, 14], + ["null", 206, 271, 14], + ["setarg", 205, 0, 206, 271, 14], + ["setarg", 205, 1, 203, 271, 14], + ["invoke", 205, 204, 271, 14], + ["move", 21, 204, 271, 14], + ["load_field", 207, 21, "fallback", 272, 16], + ["move", 54, 207, 272, 16], + ["load_field", 208, 21, "parallel", 273, 16], + ["move", 56, 208, 273, 16], + ["load_field", 209, 21, "race", 274, 12], + ["move", 1, 209, 274, 12], + ["load_field", 210, 21, "sequence", 275, 16], + ["move", 19, 210, 275, 16], + ["store_field", 42, 10, "logical", 278, 1], + ["store_field", 42, 9, "some", 279, 1], + ["store_field", 42, 47, "every", 280, 1], + ["store_field", 42, 52, "starts_with", 281, 1], + ["store_field", 42, 40, "ends_with", 282, 1], + ["store_field", 42, 38, "actor", 283, 1], + ["store_field", 42, 5, "is_actor", 284, 1], + ["store_field", 42, 63, "log", 285, 1], + ["store_field", 42, 71, "send", 286, 1], + ["store_field", 42, 54, "fallback", 287, 1], + ["store_field", 42, 56, "parallel", 288, 1], + ["store_field", 42, 1, "race", 289, 1], + ["store_field", 42, 19, "sequence", 290, 1], [ "access", - 195, - { - "name": "json", - "kind": "name", - "make": "intrinsic" - }, - 225, - 26 - ], - [ - "access", - 196, - { - "name": "use_cache", - "kind": "name", - "make": "intrinsic" - }, - 225, - 1 - ], - ["access", 197, "core/json", 225, 11], - ["store_field", 196, 195, 197, 225, 11], - ["access", 198, "internal/shop", 227, 21], - ["frame", 200, 32, 1, 227, 12], - ["null", 201, 227, 12], - ["setarg", 200, 0, 201, 227, 12], - ["setarg", 200, 1, 198, 227, 12], - ["invoke", 200, 199, 227, 12], - ["move", 50, 199, 227, 12], - ["access", 202, "time", 228, 21], - ["frame", 204, 32, 1, 228, 12], - ["null", 205, 228, 12], - ["setarg", 204, 0, 205, 228, 12], - ["setarg", 204, 1, 202, 228, 12], - ["invoke", 204, 203, 228, 12], - ["move", 3, 203, 228, 12], - ["access", 206, "pronto", 230, 23], - ["frame", 208, 32, 1, 230, 14], - ["null", 209, 230, 14], - ["setarg", 208, 0, 209, 230, 14], - ["setarg", 208, 1, 206, 230, 14], - ["invoke", 208, 207, 230, 14], - ["move", 21, 207, 230, 14], - ["load_field", 210, 21, "fallback", 231, 16], - ["move", 54, 210, 231, 16], - ["load_field", 211, 21, "parallel", 232, 16], - ["move", 56, 211, 232, 16], - ["load_field", 212, 21, "race", 233, 12], - ["move", 1, 212, 233, 12], - ["load_field", 213, 21, "sequence", 234, 16], - ["move", 19, 213, 234, 16], - ["record", 214, 0], - ["store_field", 214, 10, "logical", 238, 12], - ["store_field", 214, 9, "some", 239, 9], - ["store_field", 214, 47, "every", 240, 10], - ["store_field", 214, 52, "starts_with", 241, 16], - ["store_field", 214, 40, "ends_with", 242, 14], - ["store_field", 214, 38, "actor", 243, 10], - ["store_field", 214, 5, "is_actor", 244, 13], - ["store_field", 214, 63, "log", 245, 8], - ["store_field", 214, 71, "send", 246, 9], - ["store_field", 214, 54, "fallback", 247, 13], - ["store_field", 214, 56, "parallel", 248, 13], - ["store_field", 214, 1, "race", 249, 9], - ["store_field", 214, 19, "sequence", 250, 13], - ["move", 42, 214, 250, 13], - [ - "access", - 216, + 212, { "name": "array", "kind": "name", "make": "intrinsic" }, - 254, + 293, 8 ], - ["frame", 217, 216, 1, 254, 8], - ["null", 218, 254, 8], - ["setarg", 217, 0, 218, 254, 8], - ["setarg", 217, 1, 42, 254, 8], - ["invoke", 217, 215, 254, 8], - ["function", 219, 38, 254, 28], - ["length", 221, 215, 254, 28], - ["int", 222, 0, 254, 28], - ["int", 226, 1, 254, 28], - ["null", 225, 254, 28], - "arrfor_loop_559", - ["lt_int", 223, 222, 221, 254, 28], - ["jump_false", 223, "arrfor_done_560", 254, 28], - ["load_index", 224, 215, 222, 254, 28], - ["frame", 227, 219, 2, 254, 28], - ["setarg", 227, 0, 225, 254, 28], - ["setarg", 227, 1, 224, 254, 28], - ["setarg", 227, 2, 222, 254, 28], - ["invoke", 227, 228, 254, 28], - ["add_int", 222, 222, 226, 254, 28], - ["jump", "arrfor_loop_559", 254, 28], - "arrfor_done_560", - ["null", 220, 254, 28], - [ - "access", - 229, - { - "name": "os", - "kind": "name", - "make": "intrinsic" - }, - 257, - 1 - ], - ["store_field", 229, 42, "runtime_env", 257, 1], - ["function", 230, 42, 259, 17], - ["store_field", 2, 230, "time_limit", 259, 1], - ["record", 231, 0], - ["access", 232, 60, 327, 13], - ["store_field", 231, 232, "ar_timer", 327, 13], - ["access", 233, 0, 328, 16], - ["store_field", 231, 233, "actor_memory", 328, 16], - ["access", 234, 0.1, 329, 15], - ["store_field", 231, 234, "net_service", 329, 15], - ["access", 235, 60, 330, 17], - ["store_field", 231, 235, "reply_timeout", 330, 17], - ["true", 236, 331, 9], - ["store_field", 231, 236, "main", 331, 9], - ["move", 31, 231, 331, 9], - ["store_field", 11, 31, "config", 334, 1], - ["load_field", 237, 31, "net_service", 336, 15], - ["move", 60, 237, 336, 15], - ["load_field", 238, 31, "reply_timeout", 337, 16], - ["move", 35, 238, 337, 16], + ["frame", 213, 212, 1, 293, 8], + ["null", 214, 293, 8], + ["setarg", 213, 0, 214, 293, 8], + ["setarg", 213, 1, 42, 293, 8], + ["invoke", 213, 211, 293, 8], + ["function", 215, 38, 293, 28], + ["length", 217, 211, 293, 28], + ["int", 218, 0, 293, 28], + ["int", 222, 1, 293, 28], + ["null", 221, 293, 28], + "arrfor_loop_581", + ["lt_int", 219, 218, 217, 293, 28], + ["jump_false", 219, "arrfor_done_582", 293, 28], + ["load_index", 220, 211, 218, 293, 28], + ["frame", 223, 215, 2, 293, 28], + ["setarg", 223, 0, 221, 293, 28], + ["setarg", 223, 1, 220, 293, 28], + ["setarg", 223, 2, 218, 293, 28], + ["invoke", 223, 224, 293, 28], + ["add_int", 218, 218, 222, 293, 28], + ["jump", "arrfor_loop_581", 293, 28], + "arrfor_done_582", + ["null", 216, 293, 28], + ["function", 225, 42, 295, 17], + ["store_field", 2, 225, "time_limit", 295, 1], + ["record", 226, 0], + ["access", 227, 60, 363, 13], + ["store_field", 226, 227, "ar_timer", 363, 13], + ["access", 228, 0, 364, 16], + ["store_field", 226, 228, "actor_memory", 364, 16], + ["access", 229, 0.1, 365, 15], + ["store_field", 226, 229, "net_service", 365, 15], + ["access", 230, 60, 366, 17], + ["store_field", 226, 230, "reply_timeout", 366, 17], + ["true", 231, 367, 9], + ["store_field", 226, 231, "main", 367, 9], + ["move", 31, 226, 367, 9], + ["store_field", 11, 31, "config", 370, 1], + ["load_field", 232, 31, "net_service", 372, 15], + ["move", 60, 232, 372, 15], + ["load_field", 233, 31, "reply_timeout", 373, 16], + ["move", 35, 233, 373, 16], + ["record", 234, 0], + ["move", 41, 234, 408, 14], + ["function", 235, 44, 411, 12], + ["store_field", 2, 235, "clock", 411, 1], + ["record", 236, 0], + ["move", 12, 236, 418, 18], + ["null", 39, 419, 16], + ["null", 57, 420, 12], + ["null", 14, 422, 18], + ["record", 237, 0], + ["move", 75, 237, 423, 16], + ["function", 238, 45, 449, 17], + ["store_field", 2, 238, "connection", 449, 1], ["record", 239, 0], - ["move", 41, 239, 372, 14], - ["function", 240, 44, 375, 12], - ["store_field", 2, 240, "clock", 375, 1], - ["record", 241, 0], - ["move", 12, 241, 382, 18], - ["null", 39, 383, 16], - ["null", 57, 384, 12], - ["null", 14, 386, 18], - ["record", 242, 0], - ["move", 75, 242, 387, 16], - ["function", 243, 45, 413, 17], - ["store_field", 2, 243, "connection", 413, 1], - ["record", 244, 0], - ["move", 24, 244, 427, 13], - ["record", 245, 0], - ["move", 55, 245, 429, 18], - ["null", 23, 430, 14], - ["null", 36, 431, 17], - ["function", 246, 46, 434, 13], - ["store_field", 2, 246, "portal", 434, 1], - ["function", 247, 47, 491, 14], - ["store_field", 2, 247, "contact", 491, 1], - ["function", 248, 48, 496, 15], - ["store_field", 2, 248, "receiver", 496, 1], - ["function", 249, 49, 500, 12], - ["store_field", 2, 249, "start", 500, 1], - ["function", 250, 50, 515, 11], - ["store_field", 2, 250, "stop", 515, 1], - ["function", 251, 51, 533, 15], - ["store_field", 2, 251, "unneeded", 533, 1], - ["function", 252, 53, 538, 12], - ["store_field", 2, 252, "delay", 538, 1], - ["access", 253, "enet", 548, 21], - ["frame", 255, 32, 1, 548, 12], - ["null", 256, 548, 12], - ["setarg", 255, 0, 256, 548, 12], - ["setarg", 255, 1, 253, 548, 12], - ["invoke", 255, 254, 548, 12], - ["move", 22, 254, 548, 12], - ["record", 257, 0], - ["move", 26, 257, 551, 17], - ["function", 258, 54, 552, 13], - ["store_field", 2, 258, "couple", 552, 1], - ["array", 259, 0, 623, 21], - ["move", 43, 259, 623, 21], - ["record", 260, 0], - ["move", 64, 260, 645, 15], + ["move", 24, 239, 463, 13], + ["record", 240, 0], + ["move", 55, 240, 465, 18], + ["null", 23, 466, 14], + ["null", 36, 467, 17], + ["function", 241, 46, 470, 13], + ["store_field", 2, 241, "portal", 470, 1], + ["function", 242, 47, 527, 14], + ["store_field", 2, 242, "contact", 527, 1], + ["function", 243, 48, 532, 15], + ["store_field", 2, 243, "receiver", 532, 1], + ["function", 244, 49, 536, 12], + ["store_field", 2, 244, "start", 536, 1], + ["function", 245, 50, 551, 11], + ["store_field", 2, 245, "stop", 551, 1], + ["function", 246, 51, 569, 15], + ["store_field", 2, 246, "unneeded", 569, 1], + ["function", 247, 53, 574, 12], + ["store_field", 2, 247, "delay", 574, 1], + ["access", 248, "enet", 584, 21], + ["frame", 250, 32, 1, 584, 12], + ["null", 251, 584, 12], + ["setarg", 250, 0, 251, 584, 12], + ["setarg", 250, 1, 248, 584, 12], + ["invoke", 250, 249, 584, 12], + ["move", 22, 249, 584, 12], + ["record", 252, 0], + ["move", 26, 252, 587, 17], + ["function", 253, 54, 588, 13], + ["store_field", 2, 253, "couple", 588, 1], + ["array", 254, 0, 659, 21], + ["move", 43, 254, 659, 21], + ["record", 255, 0], + ["move", 64, 255, 681, 15], [ "access", - 262, + 257, { "name": "stone", "kind": "name", "make": "intrinsic" }, - 693, + 729, 1 ], - ["frame", 263, 262, 1, 693, 1], - ["null", 264, 693, 1], - ["setarg", 263, 0, 264, 693, 1], - ["setarg", 263, 1, 71, 693, 1], - ["invoke", 263, 261, 693, 1], - ["load_field", 265, 11, "args", 695, 6], - ["load_field", 266, 265, "id", 695, 6], + ["frame", 258, 257, 1, 729, 1], + ["null", 259, 729, 1], + ["setarg", 258, 0, 259, 729, 1], + ["setarg", 258, 1, 71, 729, 1], + ["invoke", 258, 256, 729, 1], + ["load_field", 260, 11, "args", 731, 6], + ["load_field", 261, 260, "id", 731, 6], "_nop_bl_1", - ["jump_true", 266, "if_else_642", 695, 6], - ["frame", 269, 6, 0, 695, 32], - ["null", 270, 695, 32], - ["setarg", 269, 0, 270, 695, 32], - ["invoke", 269, 268, 695, 32], - ["store_field", 11, 268, "id", 695, 21], - ["jump", "if_end_643", 695, 21], - "if_else_642", - ["load_field", 271, 11, "args", 696, 17], - ["load_field", 272, 271, "id", 696, 17], - ["store_field", 11, 272, "id", 696, 6], - "if_end_643", - ["load_field", 273, 11, "id", 698, 25], - ["load_field", 274, 2, "self", 698, 1], - ["load_dynamic", 275, 274, 27, 698, 9], - ["store_field", 275, 273, "id", 698, 9], - ["load_field", 276, 11, "id", 709, 26], - ["true", 277, 709, 42], - ["load_field", 278, 31, "ar_timer", 709, 48], - ["is_proxy", 280, 30, 709, 1], - ["jump_false", 280, "record_path_644", 709, 1], - ["null", 281, 709, 1], - ["access", 282, "register_actor", 709, 1], - ["array", 283, 0, 709, 1], - ["push", 283, 276, 709, 1], - ["push", 283, 8, 709, 1], - ["push", 283, 277, 709, 1], - ["push", 283, 278, 709, 1], - ["frame", 284, 30, 2, 709, 1], - ["setarg", 284, 0, 281, 709, 1], - ["setarg", 284, 1, 282, 709, 1], - ["setarg", 284, 2, 283, 709, 1], - ["invoke", 284, 279, 709, 1], - ["jump", "call_done_645", 709, 1], - "record_path_644", - ["load_field", 285, 30, "register_actor", 709, 1], - ["frame", 286, 285, 4, 709, 1], - ["setarg", 286, 0, 30, 709, 1], - ["setarg", 286, 1, 276, 709, 1], - ["setarg", 286, 2, 8, 709, 1], - ["setarg", 286, 3, 277, 709, 1], - ["setarg", 286, 4, 278, 709, 1], - ["invoke", 286, 279, 709, 1], - "call_done_645", - ["load_field", 287, 31, "actor_memory", 711, 5], - ["jump_false", 287, "if_else_646", 711, 5], - ["load_field", 288, 31, "actor_memory", 712, 16], - ["is_proxy", 290, 74, 712, 3], - ["jump_false", 290, "record_path_648", 712, 3], - ["null", 291, 712, 3], - ["access", 292, "mem_limit", 712, 3], - ["array", 293, 0, 712, 3], - ["push", 293, 288, 712, 3], - ["frame", 294, 74, 2, 712, 3], - ["setarg", 294, 0, 291, 712, 3], - ["setarg", 294, 1, 292, 712, 3], - ["setarg", 294, 2, 293, 712, 3], - ["invoke", 294, 289, 712, 3], - ["jump", "call_done_649", 712, 3], - "record_path_648", - ["load_field", 295, 74, "mem_limit", 712, 3], - ["frame", 296, 295, 1, 712, 3], - ["setarg", 296, 0, 74, 712, 3], - ["setarg", 296, 1, 288, 712, 3], - ["invoke", 296, 289, 712, 3], - "call_done_649", - ["jump", "if_end_647", 712, 3], - "if_else_646", - "if_end_647", - ["load_field", 297, 31, "stack_max", 714, 5], - ["jump_false", 297, "if_else_650", 714, 5], - ["load_field", 298, 31, "system", 715, 20], - ["load_field", 299, 298, "stack_max", 715, 20], - ["is_proxy", 301, 74, 715, 3], - ["jump_false", 301, "record_path_652", 715, 3], - ["null", 302, 715, 3], - ["access", 303, "max_stacksize", 715, 3], - ["array", 304, 0, 715, 3], - ["push", 304, 299, 715, 3], - ["frame", 305, 74, 2, 715, 3], - ["setarg", 305, 0, 302, 715, 3], - ["setarg", 305, 1, 303, 715, 3], - ["setarg", 305, 2, 304, 715, 3], - ["invoke", 305, 300, 715, 3], - ["jump", "call_done_653", 715, 3], - "record_path_652", - ["load_field", 306, 74, "max_stacksize", 715, 3], - ["frame", 307, 306, 1, 715, 3], - ["setarg", 307, 0, 74, 715, 3], - ["setarg", 307, 1, 299, 715, 3], - ["invoke", 307, 300, 715, 3], - "call_done_653", - ["jump", "if_end_651", 715, 3], - "if_else_650", - "if_end_651", - ["load_field", 308, 11, "args", 717, 12], - ["load_field", 309, 308, "overling", 717, 12], - ["move", 39, 309, 717, 12], - ["store_field", 2, 39, "overling", 718, 1], - ["load_field", 310, 11, "args", 720, 8], - ["load_field", 311, 310, "root", 720, 8], - ["move", 57, 311, 720, 8], - ["null", 312, 721, 13], - ["is_identical", 313, 57, 312, 721, 13], - ["jump_true", 313, "eq_done_656", 721, 13], - ["is_int", 314, 57, 721, 13], - ["jump_false", 314, "eq_ni_657", 721, 13], + ["jump_true", 261, "if_else_664", 731, 6], + ["frame", 264, 6, 0, 731, 32], + ["null", 265, 731, 32], + ["setarg", 264, 0, 265, 731, 32], + ["invoke", 264, 263, 731, 32], + ["store_field", 11, 263, "id", 731, 21], + ["jump", "if_end_665", 731, 21], + "if_else_664", + ["load_field", 266, 11, "args", 732, 17], + ["load_field", 267, 266, "id", 732, 17], + ["store_field", 11, 267, "id", 732, 6], + "if_end_665", + ["load_field", 268, 11, "id", 734, 25], + ["load_field", 269, 2, "self", 734, 1], + ["load_dynamic", 270, 269, 27, 734, 9], + ["store_field", 270, 268, "id", 734, 9], + ["load_field", 271, 11, "id", 745, 26], + ["true", 272, 745, 42], + ["load_field", 273, 31, "ar_timer", 745, 48], + ["is_proxy", 275, 30, 745, 1], + ["jump_false", 275, "record_path_666", 745, 1], + ["null", 276, 745, 1], + ["access", 277, "register_actor", 745, 1], + ["array", 278, 0, 745, 1], + ["push", 278, 271, 745, 1], + ["push", 278, 8, 745, 1], + ["push", 278, 272, 745, 1], + ["push", 278, 273, 745, 1], + ["frame", 279, 30, 2, 745, 1], + ["setarg", 279, 0, 276, 745, 1], + ["setarg", 279, 1, 277, 745, 1], + ["setarg", 279, 2, 278, 745, 1], + ["invoke", 279, 274, 745, 1], + ["jump", "call_done_667", 745, 1], + "record_path_666", + ["load_field", 280, 30, "register_actor", 745, 1], + ["frame", 281, 280, 4, 745, 1], + ["setarg", 281, 0, 30, 745, 1], + ["setarg", 281, 1, 271, 745, 1], + ["setarg", 281, 2, 8, 745, 1], + ["setarg", 281, 3, 272, 745, 1], + ["setarg", 281, 4, 273, 745, 1], + ["invoke", 281, 274, 745, 1], + "call_done_667", + ["load_field", 282, 31, "actor_memory", 747, 5], + ["jump_false", 282, "if_else_668", 747, 5], + ["load_field", 283, 31, "actor_memory", 748, 16], + ["is_proxy", 285, 74, 748, 3], + ["jump_false", 285, "record_path_670", 748, 3], + ["null", 286, 748, 3], + ["access", 287, "mem_limit", 748, 3], + ["array", 288, 0, 748, 3], + ["push", 288, 283, 748, 3], + ["frame", 289, 74, 2, 748, 3], + ["setarg", 289, 0, 286, 748, 3], + ["setarg", 289, 1, 287, 748, 3], + ["setarg", 289, 2, 288, 748, 3], + ["invoke", 289, 284, 748, 3], + ["jump", "call_done_671", 748, 3], + "record_path_670", + ["load_field", 290, 74, "mem_limit", 748, 3], + ["frame", 291, 290, 1, 748, 3], + ["setarg", 291, 0, 74, 748, 3], + ["setarg", 291, 1, 283, 748, 3], + ["invoke", 291, 284, 748, 3], + "call_done_671", + ["jump", "if_end_669", 748, 3], + "if_else_668", + "if_end_669", + ["load_field", 292, 31, "stack_max", 750, 5], + ["jump_false", 292, "if_else_672", 750, 5], + ["load_field", 293, 31, "system", 751, 20], + ["load_field", 294, 293, "stack_max", 751, 20], + ["is_proxy", 296, 74, 751, 3], + ["jump_false", 296, "record_path_674", 751, 3], + ["null", 297, 751, 3], + ["access", 298, "max_stacksize", 751, 3], + ["array", 299, 0, 751, 3], + ["push", 299, 294, 751, 3], + ["frame", 300, 74, 2, 751, 3], + ["setarg", 300, 0, 297, 751, 3], + ["setarg", 300, 1, 298, 751, 3], + ["setarg", 300, 2, 299, 751, 3], + ["invoke", 300, 295, 751, 3], + ["jump", "call_done_675", 751, 3], + "record_path_674", + ["load_field", 301, 74, "max_stacksize", 751, 3], + ["frame", 302, 301, 1, 751, 3], + ["setarg", 302, 0, 74, 751, 3], + ["setarg", 302, 1, 294, 751, 3], + ["invoke", 302, 295, 751, 3], + "call_done_675", + ["jump", "if_end_673", 751, 3], + "if_else_672", + "if_end_673", + ["load_field", 303, 11, "args", 753, 12], + ["load_field", 304, 303, "overling", 753, 12], + ["move", 39, 304, 753, 12], + ["store_field", 2, 39, "overling", 754, 1], + ["load_field", 305, 11, "args", 756, 8], + ["load_field", 306, 305, "root", 756, 8], + ["move", 57, 306, 756, 8], + ["null", 307, 757, 13], + ["is_identical", 308, 57, 307, 757, 13], + ["jump_true", 308, "eq_done_678", 757, 13], + ["is_int", 309, 57, 757, 13], + ["jump_false", 309, "eq_ni_679", 757, 13], "_nop_tc_2", - ["jump", "eq_ni_657", 721, 13], - ["eq_int", 313, 57, 312, 721, 13], - ["jump", "eq_done_656", 721, 13], - "eq_ni_657", - ["is_num", 314, 57, 721, 13], - ["jump_false", 314, "eq_nn_658", 721, 13], - ["is_num", 315, 312, 721, 13], - ["jump_false", 315, "eq_nn_658", 721, 13], - ["eq_float", 313, 57, 312, 721, 13], - ["jump", "eq_done_656", 721, 13], - "eq_nn_658", - ["is_text", 314, 57, 721, 13], - ["jump_false", 314, "eq_nt_659", 721, 13], - ["is_text", 315, 312, 721, 13], - ["jump_false", 315, "eq_nt_659", 721, 13], - ["eq_text", 313, 57, 312, 721, 13], - ["jump", "eq_done_656", 721, 13], - "eq_nt_659", - ["is_null", 314, 57, 721, 13], - ["jump_false", 314, "eq_nnl_660", 721, 13], - ["is_null", 315, 312, 721, 13], - ["jump_false", 315, "eq_nnl_660", 721, 13], - ["true", 313, 721, 13], - ["jump", "eq_done_656", 721, 13], - "eq_nnl_660", - ["is_bool", 314, 57, 721, 13], - ["jump_false", 314, "eq_nb_661", 721, 13], - ["is_bool", 315, 312, 721, 13], - ["jump_false", 315, "eq_nb_661", 721, 13], - ["eq_bool", 313, 57, 312, 721, 13], - ["jump", "eq_done_656", 721, 13], - "eq_nb_661", - ["false", 313, 721, 13], - "eq_done_656", - ["jump_false", 313, "if_else_654", 721, 13], - ["load_field", 316, 2, "self", 721, 26], - ["move", 57, 316, 721, 26], - ["jump", "if_end_655", 721, 26], - "if_else_654", - "if_end_655", - ["jump_false", 39, "if_else_662", 723, 5], - ["is_proxy", 318, 2, 724, 3], - ["jump_false", 318, "record_path_664", 724, 3], - ["null", 319, 724, 3], - ["access", 320, "couple", 724, 3], - ["array", 321, 0, 724, 3], - ["push", 321, 39, 724, 3], - ["frame", 322, 2, 2, 724, 3], - ["setarg", 322, 0, 319, 724, 3], - ["setarg", 322, 1, 320, 724, 3], - ["setarg", 322, 2, 321, 724, 3], - ["invoke", 322, 317, 724, 3], - ["jump", "call_done_665", 724, 3], - "record_path_664", - ["load_field", 323, 2, "couple", 724, 3], - ["frame", 324, 323, 1, 724, 3], - ["setarg", 324, 0, 2, 724, 3], - ["setarg", 324, 1, 39, 724, 3], - ["invoke", 324, 317, 724, 3], - "call_done_665", - ["record", 325, 0], - ["access", 326, "greet", 726, 28], - ["store_field", 325, 326, "type", 726, 28], - ["load_field", 327, 2, "self", 726, 44], - ["store_field", 325, 327, "actor", 726, 44], - ["frame", 329, 18, 1, 726, 3], - ["null", 330, 726, 3], - ["setarg", 329, 0, 330, 726, 3], - ["setarg", 329, 1, 325, 726, 3], - ["invoke", 329, 328, 726, 3], - ["jump", "if_end_663", 726, 3], - "if_else_662", - "if_end_663", - ["load_field", 331, 11, "args", 743, 15], - ["load_field", 332, 331, "program", 743, 15], - ["move", 69, 332, 743, 15], + ["jump", "eq_ni_679", 757, 13], + ["eq_int", 308, 57, 307, 757, 13], + ["jump", "eq_done_678", 757, 13], + "eq_ni_679", + ["is_num", 309, 57, 757, 13], + ["jump_false", 309, "eq_nn_680", 757, 13], + ["is_num", 310, 307, 757, 13], + ["jump_false", 310, "eq_nn_680", 757, 13], + ["eq_float", 308, 57, 307, 757, 13], + ["jump", "eq_done_678", 757, 13], + "eq_nn_680", + ["is_text", 309, 57, 757, 13], + ["jump_false", 309, "eq_nt_681", 757, 13], + ["is_text", 310, 307, 757, 13], + ["jump_false", 310, "eq_nt_681", 757, 13], + ["eq_text", 308, 57, 307, 757, 13], + ["jump", "eq_done_678", 757, 13], + "eq_nt_681", + ["is_null", 309, 57, 757, 13], + ["jump_false", 309, "eq_nnl_682", 757, 13], + ["is_null", 310, 307, 757, 13], + ["jump_false", 310, "eq_nnl_682", 757, 13], + ["true", 308, 757, 13], + ["jump", "eq_done_678", 757, 13], + "eq_nnl_682", + ["is_bool", 309, 57, 757, 13], + ["jump_false", 309, "eq_nb_683", 757, 13], + ["is_bool", 310, 307, 757, 13], + ["jump_false", 310, "eq_nb_683", 757, 13], + ["eq_bool", 308, 57, 307, 757, 13], + ["jump", "eq_done_678", 757, 13], + "eq_nb_683", + ["false", 308, 757, 13], + "eq_done_678", + ["jump_false", 308, "if_else_676", 757, 13], + ["load_field", 311, 2, "self", 757, 26], + ["move", 57, 311, 757, 26], + ["jump", "if_end_677", 757, 26], + "if_else_676", + "if_end_677", + ["jump_false", 39, "if_else_684", 759, 5], + ["is_proxy", 313, 2, 760, 3], + ["jump_false", 313, "record_path_686", 760, 3], + ["null", 314, 760, 3], + ["access", 315, "couple", 760, 3], + ["array", 316, 0, 760, 3], + ["push", 316, 39, 760, 3], + ["frame", 317, 2, 2, 760, 3], + ["setarg", 317, 0, 314, 760, 3], + ["setarg", 317, 1, 315, 760, 3], + ["setarg", 317, 2, 316, 760, 3], + ["invoke", 317, 312, 760, 3], + ["jump", "call_done_687", 760, 3], + "record_path_686", + ["load_field", 318, 2, "couple", 760, 3], + ["frame", 319, 318, 1, 760, 3], + ["setarg", 319, 0, 2, 760, 3], + ["setarg", 319, 1, 39, 760, 3], + ["invoke", 319, 312, 760, 3], + "call_done_687", + ["record", 320, 0], + ["access", 321, "greet", 762, 28], + ["store_field", 320, 321, "type", 762, 28], + ["load_field", 322, 2, "self", 762, 44], + ["store_field", 320, 322, "actor", 762, 44], + ["frame", 324, 18, 1, 762, 3], + ["null", 325, 762, 3], + ["setarg", 324, 0, 325, 762, 3], + ["setarg", 324, 1, 320, 762, 3], + ["invoke", 324, 323, 762, 3], + ["jump", "if_end_685", 762, 3], + "if_else_684", + "if_end_685", + ["load_field", 326, 11, "args", 779, 15], + ["load_field", 327, 326, "program", 779, 15], + ["move", 69, 327, 779, 15], "_nop_bl_2", - ["jump_true", 69, "if_else_666", 745, 6], - ["access", 334, "No program specified. Usage: cell [args...]", 746, 13], - ["is_proxy", 336, 63, 746, 3], - ["jump_false", 336, "record_path_668", 746, 3], - ["null", 337, 746, 3], - ["access", 338, "error", 746, 3], - ["array", 339, 0, 746, 3], - ["push", 339, 334, 746, 3], - ["frame", 340, 63, 2, 746, 3], - ["setarg", 340, 0, 337, 746, 3], - ["setarg", 340, 1, 338, 746, 3], - ["setarg", 340, 2, 339, 746, 3], - ["invoke", 340, 335, 746, 3], - ["jump", "call_done_669", 746, 3], - "record_path_668", - ["load_field", 341, 63, "error", 746, 3], - ["frame", 342, 341, 1, 746, 3], - ["setarg", 342, 0, 63, 746, 3], - ["setarg", 342, 1, 334, 746, 3], - ["invoke", 342, 335, 746, 3], - "call_done_669", - ["access", 343, 1, 747, 11], + ["jump_true", 69, "if_else_688", 781, 6], + ["access", 329, "No program specified. Usage: cell [args...]", 782, 13], + ["is_proxy", 331, 63, 782, 3], + ["jump_false", 331, "record_path_690", 782, 3], + ["null", 332, 782, 3], + ["access", 333, "error", 782, 3], + ["array", 334, 0, 782, 3], + ["push", 334, 329, 782, 3], + ["frame", 335, 63, 2, 782, 3], + ["setarg", 335, 0, 332, 782, 3], + ["setarg", 335, 1, 333, 782, 3], + ["setarg", 335, 2, 334, 782, 3], + ["invoke", 335, 330, 782, 3], + ["jump", "call_done_691", 782, 3], + "record_path_690", + ["load_field", 336, 63, "error", 782, 3], + ["frame", 337, 336, 1, 782, 3], + ["setarg", 337, 0, 63, 782, 3], + ["setarg", 337, 1, 329, 782, 3], + ["invoke", 337, 330, 782, 3], + "call_done_691", + ["access", 338, 1, 783, 11], [ "access", - 345, + 340, { "name": "os", "kind": "name", "make": "intrinsic" }, - 747, + 783, 3 ], - ["is_proxy", 346, 345, 747, 3], - ["jump_false", 346, "record_path_670", 747, 3], - ["null", 347, 747, 3], - ["access", 348, "exit", 747, 3], - ["array", 349, 0, 747, 3], - ["push", 349, 343, 747, 3], - ["frame", 350, 345, 2, 747, 3], - ["setarg", 350, 0, 347, 747, 3], - ["setarg", 350, 1, 348, 747, 3], - ["setarg", 350, 2, 349, 747, 3], - ["invoke", 350, 344, 747, 3], - ["jump", "call_done_671", 747, 3], - "record_path_670", - ["load_field", 351, 345, "exit", 747, 3], - ["frame", 352, 351, 1, 747, 3], - ["setarg", 352, 0, 345, 747, 3], - ["setarg", 352, 1, 343, 747, 3], - ["invoke", 352, 344, 747, 3], - "call_done_671", - ["jump", "if_end_667", 747, 3], - "if_else_666", - "if_end_667", - ["load_field", 353, 11, "args", 833, 19], - ["load_field", 354, 353, "program", 833, 19], - ["is_proxy", 356, 30, 833, 1], - ["jump_false", 356, "record_path_672", 833, 1], - ["null", 357, 833, 1], - ["access", 358, "setname", 833, 1], - ["array", 359, 0, 833, 1], - ["push", 359, 354, 833, 1], - ["frame", 360, 30, 2, 833, 1], - ["setarg", 360, 0, 357, 833, 1], - ["setarg", 360, 1, 358, 833, 1], - ["setarg", 360, 2, 359, 833, 1], - ["invoke", 360, 355, 833, 1], - ["jump", "call_done_673", 833, 1], - "record_path_672", - ["load_field", 361, 30, "setname", 833, 1], - ["frame", 362, 361, 1, 833, 1], - ["setarg", 362, 0, 30, 833, 1], - ["setarg", 362, 1, 354, 833, 1], - ["invoke", 362, 355, 833, 1], - "call_done_673", - ["load_field", 363, 11, "args", 835, 12], - ["load_field", 364, 363, "program", 835, 12], - ["move", 46, 364, 835, 12], - ["access", 365, ".cm", 836, 21], - ["frame", 367, 40, 2, 836, 5], - ["null", 368, 836, 5], - ["setarg", 367, 0, 368, 836, 5], - ["setarg", 367, 1, 46, 836, 5], - ["setarg", 367, 2, 365, 836, 5], - ["invoke", 367, 366, 836, 5], - ["jump_false", 366, "if_else_674", 836, 5], - ["array", 369, 0, 1, 1], - ["push", 369, 46, 1, 1], + ["is_proxy", 341, 340, 783, 3], + ["jump_false", 341, "record_path_692", 783, 3], + ["null", 342, 783, 3], + ["access", 343, "exit", 783, 3], + ["array", 344, 0, 783, 3], + ["push", 344, 338, 783, 3], + ["frame", 345, 340, 2, 783, 3], + ["setarg", 345, 0, 342, 783, 3], + ["setarg", 345, 1, 343, 783, 3], + ["setarg", 345, 2, 344, 783, 3], + ["invoke", 345, 339, 783, 3], + ["jump", "call_done_693", 783, 3], + "record_path_692", + ["load_field", 346, 340, "exit", 783, 3], + ["frame", 347, 346, 1, 783, 3], + ["setarg", 347, 0, 340, 783, 3], + ["setarg", 347, 1, 338, 783, 3], + ["invoke", 347, 339, 783, 3], + "call_done_693", + ["jump", "if_end_689", 783, 3], + "if_else_688", + "if_end_689", + ["load_field", 348, 11, "args", 869, 19], + ["load_field", 349, 348, "program", 869, 19], + ["is_proxy", 351, 30, 869, 1], + ["jump_false", 351, "record_path_694", 869, 1], + ["null", 352, 869, 1], + ["access", 353, "setname", 869, 1], + ["array", 354, 0, 869, 1], + ["push", 354, 349, 869, 1], + ["frame", 355, 30, 2, 869, 1], + ["setarg", 355, 0, 352, 869, 1], + ["setarg", 355, 1, 353, 869, 1], + ["setarg", 355, 2, 354, 869, 1], + ["invoke", 355, 350, 869, 1], + ["jump", "call_done_695", 869, 1], + "record_path_694", + ["load_field", 356, 30, "setname", 869, 1], + ["frame", 357, 356, 1, 869, 1], + ["setarg", 357, 0, 30, 869, 1], + ["setarg", 357, 1, 349, 869, 1], + ["invoke", 357, 350, 869, 1], + "call_done_695", + ["load_field", 358, 11, "args", 871, 12], + ["load_field", 359, 358, "program", 871, 12], + ["move", 46, 359, 871, 12], + ["access", 360, ".cm", 872, 21], + ["frame", 362, 40, 2, 872, 5], + ["null", 363, 872, 5], + ["setarg", 362, 0, 363, 872, 5], + ["setarg", 362, 1, 46, 872, 5], + ["setarg", 362, 2, 360, 872, 5], + ["invoke", 362, 361, 872, 5], + ["jump_false", 361, "if_else_696", 872, 5], + ["array", 364, 0, 1, 1], + ["push", 364, 46, 1, 1], [ "access", - 370, + 365, { "name": "format", "kind": "name", @@ -7813,387 +8247,387 @@ 1, 1 ], - ["access", 371, "error: {0} is a module (.cm), not a program (.ce)\n", 1, 1], - ["frame", 373, 370, 2, 1, 1], - ["null", 374, 1, 1], - ["setarg", 373, 0, 374, 1, 1], - ["setarg", 373, 1, 371, 1, 1], - ["setarg", 373, 2, 369, 1, 1], - ["invoke", 373, 372, 1, 1], + ["access", 366, "error: {0} is a module (.cm), not a program (.ce)\n", 1, 1], + ["frame", 368, 365, 2, 1, 1], + ["null", 369, 1, 1], + ["setarg", 368, 0, 369, 1, 1], + ["setarg", 368, 1, 366, 1, 1], + ["setarg", 368, 2, 364, 1, 1], + ["invoke", 368, 367, 1, 1], [ "access", - 376, + 371, { "name": "os", "kind": "name", "make": "intrinsic" }, - 837, + 873, 3 ], - ["is_proxy", 377, 376, 837, 3], - ["jump_false", 377, "record_path_676", 837, 3], - ["null", 378, 837, 3], - ["access", 379, "print", 837, 3], - ["array", 380, 0, 837, 3], - ["push", 380, 372, 837, 3], - ["frame", 381, 376, 2, 837, 3], - ["setarg", 381, 0, 378, 837, 3], - ["setarg", 381, 1, 379, 837, 3], - ["setarg", 381, 2, 380, 837, 3], - ["invoke", 381, 375, 837, 3], - ["jump", "call_done_677", 837, 3], - "record_path_676", - ["load_field", 382, 376, "print", 837, 3], - ["frame", 383, 382, 1, 837, 3], - ["setarg", 383, 0, 376, 837, 3], - ["setarg", 383, 1, 372, 837, 3], - ["invoke", 383, 375, 837, 3], - "call_done_677", - ["access", 384, 1, 838, 11], + ["is_proxy", 372, 371, 873, 3], + ["jump_false", 372, "record_path_698", 873, 3], + ["null", 373, 873, 3], + ["access", 374, "print", 873, 3], + ["array", 375, 0, 873, 3], + ["push", 375, 367, 873, 3], + ["frame", 376, 371, 2, 873, 3], + ["setarg", 376, 0, 373, 873, 3], + ["setarg", 376, 1, 374, 873, 3], + ["setarg", 376, 2, 375, 873, 3], + ["invoke", 376, 370, 873, 3], + ["jump", "call_done_699", 873, 3], + "record_path_698", + ["load_field", 377, 371, "print", 873, 3], + ["frame", 378, 377, 1, 873, 3], + ["setarg", 378, 0, 371, 873, 3], + ["setarg", 378, 1, 367, 873, 3], + ["invoke", 378, 370, 873, 3], + "call_done_699", + ["access", 379, 1, 874, 11], [ "access", - 386, + 381, { "name": "os", "kind": "name", "make": "intrinsic" }, - 838, + 874, 3 ], - ["is_proxy", 387, 386, 838, 3], - ["jump_false", 387, "record_path_678", 838, 3], - ["null", 388, 838, 3], - ["access", 389, "exit", 838, 3], - ["array", 390, 0, 838, 3], - ["push", 390, 384, 838, 3], - ["frame", 391, 386, 2, 838, 3], - ["setarg", 391, 0, 388, 838, 3], - ["setarg", 391, 1, 389, 838, 3], - ["setarg", 391, 2, 390, 838, 3], - ["invoke", 391, 385, 838, 3], - ["jump", "call_done_679", 838, 3], - "record_path_678", - ["load_field", 392, 386, "exit", 838, 3], - ["frame", 393, 392, 1, 838, 3], - ["setarg", 393, 0, 386, 838, 3], - ["setarg", 393, 1, 384, 838, 3], - ["invoke", 393, 385, 838, 3], - "call_done_679", - ["jump", "if_end_675", 838, 3], - "if_else_674", - "if_end_675", - ["access", 394, ".ce", 840, 21], - ["frame", 396, 40, 2, 840, 5], - ["null", 397, 840, 5], - ["setarg", 396, 0, 397, 840, 5], - ["setarg", 396, 1, 46, 840, 5], - ["setarg", 396, 2, 394, 840, 5], - ["invoke", 396, 395, 840, 5], - ["jump_false", 395, "if_else_680", 840, 5], - ["access", 398, 0, 840, 47], - ["access", 399, -3, 840, 50], + ["is_proxy", 382, 381, 874, 3], + ["jump_false", 382, "record_path_700", 874, 3], + ["null", 383, 874, 3], + ["access", 384, "exit", 874, 3], + ["array", 385, 0, 874, 3], + ["push", 385, 379, 874, 3], + ["frame", 386, 381, 2, 874, 3], + ["setarg", 386, 0, 383, 874, 3], + ["setarg", 386, 1, 384, 874, 3], + ["setarg", 386, 2, 385, 874, 3], + ["invoke", 386, 380, 874, 3], + ["jump", "call_done_701", 874, 3], + "record_path_700", + ["load_field", 387, 381, "exit", 874, 3], + ["frame", 388, 387, 1, 874, 3], + ["setarg", 388, 0, 381, 874, 3], + ["setarg", 388, 1, 379, 874, 3], + ["invoke", 388, 380, 874, 3], + "call_done_701", + ["jump", "if_end_697", 874, 3], + "if_else_696", + "if_end_697", + ["access", 389, ".ce", 876, 21], + ["frame", 391, 40, 2, 876, 5], + ["null", 392, 876, 5], + ["setarg", 391, 0, 392, 876, 5], + ["setarg", 391, 1, 46, 876, 5], + ["setarg", 391, 2, 389, 876, 5], + ["invoke", 391, 390, 876, 5], + ["jump_false", 390, "if_else_702", 876, 5], + ["access", 393, 0, 876, 47], + ["access", 394, -3, 876, 50], [ "access", - 401, + 396, { "name": "text", "kind": "name", "make": "intrinsic" }, - 840, + 876, 36 ], - ["frame", 402, 401, 3, 840, 36], - ["null", 403, 840, 36], - ["setarg", 402, 0, 403, 840, 36], - ["setarg", 402, 1, 46, 840, 36], - ["setarg", 402, 2, 398, 840, 36], - ["setarg", 402, 3, 399, 840, 36], - ["invoke", 402, 400, 840, 36], - ["move", 46, 400, 840, 36], - ["jump", "if_end_681", 840, 36], - "if_else_680", - "if_end_681", - ["access", 404, "package", 842, 24], - ["frame", 406, 32, 1, 842, 15], - ["null", 407, 842, 15], - ["setarg", 406, 0, 407, 842, 15], - ["setarg", 406, 1, 404, 842, 15], - ["invoke", 406, 405, 842, 15], - ["move", 29, 405, 842, 15], - ["access", 408, ".ce", 845, 24], - ["is_int", 410, 46, 845, 24], - ["jump_false", 410, "add_ni_682", 845, 24], + ["frame", 397, 396, 3, 876, 36], + ["null", 398, 876, 36], + ["setarg", 397, 0, 398, 876, 36], + ["setarg", 397, 1, 46, 876, 36], + ["setarg", 397, 2, 393, 876, 36], + ["setarg", 397, 3, 394, 876, 36], + ["invoke", 397, 395, 876, 36], + ["move", 46, 395, 876, 36], + ["jump", "if_end_703", 876, 36], + "if_else_702", + "if_end_703", + ["access", 399, "package", 878, 24], + ["frame", 401, 32, 1, 878, 15], + ["null", 402, 878, 15], + ["setarg", 401, 0, 402, 878, 15], + ["setarg", 401, 1, 399, 878, 15], + ["invoke", 401, 400, 878, 15], + ["move", 29, 400, 878, 15], + ["access", 403, ".ce", 881, 24], + ["is_int", 405, 46, 881, 24], + ["jump_false", 405, "add_ni_704", 881, 24], "_nop_tc_3", - ["jump", "add_ni_682", 845, 24], - ["add_int", 409, 46, 408, 845, 24], - ["jump", "add_done_684", 845, 24], - "add_ni_682", - ["is_text", 410, 46, 845, 24], - ["jump_false", 410, "add_nt_683", 845, 24], - ["concat", 409, 46, 408, 845, 24], - ["jump", "add_done_684", 845, 24], - "add_nt_683", - ["is_num", 410, 46, 845, 24], - ["jump_false", 410, "add_err_685", 845, 24], - ["is_num", 411, 408, 845, 24], - ["jump_false", 411, "add_err_685", 845, 24], - ["add_float", 409, 46, 408, 845, 24], - ["jump", "add_done_684", 845, 24], - "add_err_685", - ["disrupt", 845, 24], - "add_done_684", - ["move", 67, 409, 845, 24], - ["null", 68, 846, 15], - ["null", 76, 847, 16], - ["is_proxy", 413, 20, 848, 6], - ["jump_false", 413, "record_path_688", 848, 6], - ["null", 414, 848, 6], - ["access", 415, "is_file", 848, 6], - ["array", 416, 0, 848, 6], - ["push", 416, 67, 848, 6], - ["frame", 417, 20, 2, 848, 6], - ["setarg", 417, 0, 414, 848, 6], - ["setarg", 417, 1, 415, 848, 6], - ["setarg", 417, 2, 416, 848, 6], - ["invoke", 417, 412, 848, 6], - ["jump", "call_done_689", 848, 6], - "record_path_688", - ["load_field", 418, 20, "is_file", 848, 6], - ["frame", 419, 418, 1, 848, 6], - ["setarg", 419, 0, 20, 848, 6], - ["setarg", 419, 1, 67, 848, 6], - ["invoke", 419, 412, 848, 6], - "call_done_689", + ["jump", "add_ni_704", 881, 24], + ["add_int", 404, 46, 403, 881, 24], + ["jump", "add_done_706", 881, 24], + "add_ni_704", + ["is_text", 405, 46, 881, 24], + ["jump_false", 405, "add_nt_705", 881, 24], + ["concat", 404, 46, 403, 881, 24], + ["jump", "add_done_706", 881, 24], + "add_nt_705", + ["is_num", 405, 46, 881, 24], + ["jump_false", 405, "add_err_707", 881, 24], + ["is_num", 406, 403, 881, 24], + ["jump_false", 406, "add_err_707", 881, 24], + ["add_float", 404, 46, 403, 881, 24], + ["jump", "add_done_706", 881, 24], + "add_err_707", + ["disrupt", 881, 24], + "add_done_706", + ["move", 67, 404, 881, 24], + ["null", 68, 882, 15], + ["null", 76, 883, 16], + ["is_proxy", 408, 20, 884, 6], + ["jump_false", 408, "record_path_710", 884, 6], + ["null", 409, 884, 6], + ["access", 410, "is_file", 884, 6], + ["array", 411, 0, 884, 6], + ["push", 411, 67, 884, 6], + ["frame", 412, 20, 2, 884, 6], + ["setarg", 412, 0, 409, 884, 6], + ["setarg", 412, 1, 410, 884, 6], + ["setarg", 412, 2, 411, 884, 6], + ["invoke", 412, 407, 884, 6], + ["jump", "call_done_711", 884, 6], + "record_path_710", + ["load_field", 413, 20, "is_file", 884, 6], + ["frame", 414, 413, 1, 884, 6], + ["setarg", 414, 0, 20, 884, 6], + ["setarg", 414, 1, 67, 884, 6], + ["invoke", 414, 407, 884, 6], + "call_done_711", "_nop_bl_3", - ["jump_true", 412, "if_else_686", 848, 6], - ["is_proxy", 422, 29, 849, 13], - ["jump_false", 422, "record_path_690", 849, 13], - ["null", 423, 849, 13], - ["access", 424, "find_package_dir", 849, 13], - ["array", 425, 0, 849, 13], - ["push", 425, 67, 849, 13], - ["frame", 426, 29, 2, 849, 13], - ["setarg", 426, 0, 423, 849, 13], - ["setarg", 426, 1, 424, 849, 13], - ["setarg", 426, 2, 425, 849, 13], - ["invoke", 426, 421, 849, 13], - ["jump", "call_done_691", 849, 13], - "record_path_690", - ["load_field", 427, 29, "find_package_dir", 849, 13], - ["frame", 428, 427, 1, 849, 13], - ["setarg", 428, 0, 29, 849, 13], - ["setarg", 428, 1, 67, 849, 13], - ["invoke", 428, 421, 849, 13], - "call_done_691", - ["move", 68, 421, 849, 13], - ["jump_false", 68, "if_else_692", 850, 7], - ["access", 429, "/", 851, 27], - ["is_int", 431, 68, 851, 27], - ["jump_false", 431, "add_ni_694", 851, 27], + ["jump_true", 407, "if_else_708", 884, 6], + ["is_proxy", 417, 29, 885, 13], + ["jump_false", 417, "record_path_712", 885, 13], + ["null", 418, 885, 13], + ["access", 419, "find_package_dir", 885, 13], + ["array", 420, 0, 885, 13], + ["push", 420, 67, 885, 13], + ["frame", 421, 29, 2, 885, 13], + ["setarg", 421, 0, 418, 885, 13], + ["setarg", 421, 1, 419, 885, 13], + ["setarg", 421, 2, 420, 885, 13], + ["invoke", 421, 416, 885, 13], + ["jump", "call_done_713", 885, 13], + "record_path_712", + ["load_field", 422, 29, "find_package_dir", 885, 13], + ["frame", 423, 422, 1, 885, 13], + ["setarg", 423, 0, 29, 885, 13], + ["setarg", 423, 1, 67, 885, 13], + ["invoke", 423, 416, 885, 13], + "call_done_713", + ["move", 68, 416, 885, 13], + ["jump_false", 68, "if_else_714", 886, 7], + ["access", 424, "/", 887, 27], + ["is_int", 426, 68, 887, 27], + ["jump_false", 426, "add_ni_716", 887, 27], "_nop_tc_4", - ["jump", "add_ni_694", 851, 27], - ["add_int", 430, 68, 429, 851, 27], - ["jump", "add_done_696", 851, 27], - "add_ni_694", - ["is_text", 431, 68, 851, 27], - ["jump_false", 431, "add_nt_695", 851, 27], - ["concat", 430, 68, 429, 851, 27], - ["jump", "add_done_696", 851, 27], - "add_nt_695", - ["is_num", 431, 68, 851, 27], - ["jump_false", 431, "add_err_697", 851, 27], - ["is_num", 432, 429, 851, 27], - ["jump_false", 432, "add_err_697", 851, 27], - ["add_float", 430, 68, 429, 851, 27], - ["jump", "add_done_696", 851, 27], - "add_err_697", - ["disrupt", 851, 27], - "add_done_696", - ["is_int", 434, 430, 851, 33], - ["jump_false", 434, "add_ni_698", 851, 33], - ["is_int", 435, 46, 851, 33], - ["jump_false", 435, "add_ni_698", 851, 33], - ["add_int", 433, 430, 46, 851, 33], - ["jump", "add_done_700", 851, 33], - "add_ni_698", - ["is_text", 434, 430, 851, 33], - ["jump_false", 434, "add_nt_699", 851, 33], - ["is_text", 435, 46, 851, 33], - ["jump_false", 435, "add_nt_699", 851, 33], - ["concat", 433, 430, 46, 851, 33], - ["jump", "add_done_700", 851, 33], - "add_nt_699", - ["is_num", 434, 430, 851, 33], - ["jump_false", 434, "add_err_701", 851, 33], - ["is_num", 435, 46, 851, 33], - ["jump_false", 435, "add_err_701", 851, 33], - ["add_float", 433, 430, 46, 851, 33], - ["jump", "add_done_700", 851, 33], - "add_err_701", - ["disrupt", 851, 33], - "add_done_700", - ["access", 436, ".ce", 851, 40], - ["is_int", 438, 433, 851, 40], - ["jump_false", 438, "add_ni_702", 851, 40], + ["jump", "add_ni_716", 887, 27], + ["add_int", 425, 68, 424, 887, 27], + ["jump", "add_done_718", 887, 27], + "add_ni_716", + ["is_text", 426, 68, 887, 27], + ["jump_false", 426, "add_nt_717", 887, 27], + ["concat", 425, 68, 424, 887, 27], + ["jump", "add_done_718", 887, 27], + "add_nt_717", + ["is_num", 426, 68, 887, 27], + ["jump_false", 426, "add_err_719", 887, 27], + ["is_num", 427, 424, 887, 27], + ["jump_false", 427, "add_err_719", 887, 27], + ["add_float", 425, 68, 424, 887, 27], + ["jump", "add_done_718", 887, 27], + "add_err_719", + ["disrupt", 887, 27], + "add_done_718", + ["is_int", 429, 425, 887, 33], + ["jump_false", 429, "add_ni_720", 887, 33], + ["is_int", 430, 46, 887, 33], + ["jump_false", 430, "add_ni_720", 887, 33], + ["add_int", 428, 425, 46, 887, 33], + ["jump", "add_done_722", 887, 33], + "add_ni_720", + ["is_text", 429, 425, 887, 33], + ["jump_false", 429, "add_nt_721", 887, 33], + ["is_text", 430, 46, 887, 33], + ["jump_false", 430, "add_nt_721", 887, 33], + ["concat", 428, 425, 46, 887, 33], + ["jump", "add_done_722", 887, 33], + "add_nt_721", + ["is_num", 429, 425, 887, 33], + ["jump_false", 429, "add_err_723", 887, 33], + ["is_num", 430, 46, 887, 33], + ["jump_false", 430, "add_err_723", 887, 33], + ["add_float", 428, 425, 46, 887, 33], + ["jump", "add_done_722", 887, 33], + "add_err_723", + ["disrupt", 887, 33], + "add_done_722", + ["access", 431, ".ce", 887, 40], + ["is_int", 433, 428, 887, 40], + ["jump_false", 433, "add_ni_724", 887, 40], "_nop_tc_5", - ["jump", "add_ni_702", 851, 40], - ["add_int", 437, 433, 436, 851, 40], - ["jump", "add_done_704", 851, 40], - "add_ni_702", - ["is_text", 438, 433, 851, 40], - ["jump_false", 438, "add_nt_703", 851, 40], - ["concat", 437, 433, 436, 851, 40], - ["jump", "add_done_704", 851, 40], - "add_nt_703", - ["is_num", 438, 433, 851, 40], - ["jump_false", 438, "add_err_705", 851, 40], - ["is_num", 439, 436, 851, 40], - ["jump_false", 439, "add_err_705", 851, 40], - ["add_float", 437, 433, 436, 851, 40], - ["jump", "add_done_704", 851, 40], - "add_err_705", - ["disrupt", 851, 40], - "add_done_704", - ["move", 67, 437, 851, 40], - ["jump", "if_end_693", 851, 40], - "if_else_692", - "if_end_693", - ["jump", "if_end_687", 851, 40], - "if_else_686", - "if_end_687", - ["is_proxy", 441, 20, 853, 6], - ["jump_false", 441, "record_path_708", 853, 6], - ["null", 442, 853, 6], - ["access", 443, "is_file", 853, 6], - ["array", 444, 0, 853, 6], - ["push", 444, 67, 853, 6], - ["frame", 445, 20, 2, 853, 6], - ["setarg", 445, 0, 442, 853, 6], - ["setarg", 445, 1, 443, 853, 6], - ["setarg", 445, 2, 444, 853, 6], - ["invoke", 445, 440, 853, 6], - ["jump", "call_done_709", 853, 6], - "record_path_708", - ["load_field", 446, 20, "is_file", 853, 6], - ["frame", 447, 446, 1, 853, 6], - ["setarg", 447, 0, 20, 853, 6], - ["setarg", 447, 1, 67, 853, 6], - ["invoke", 447, 440, 853, 6], - "call_done_709", + ["jump", "add_ni_724", 887, 40], + ["add_int", 432, 428, 431, 887, 40], + ["jump", "add_done_726", 887, 40], + "add_ni_724", + ["is_text", 433, 428, 887, 40], + ["jump_false", 433, "add_nt_725", 887, 40], + ["concat", 432, 428, 431, 887, 40], + ["jump", "add_done_726", 887, 40], + "add_nt_725", + ["is_num", 433, 428, 887, 40], + ["jump_false", 433, "add_err_727", 887, 40], + ["is_num", 434, 431, 887, 40], + ["jump_false", 434, "add_err_727", 887, 40], + ["add_float", 432, 428, 431, 887, 40], + ["jump", "add_done_726", 887, 40], + "add_err_727", + ["disrupt", 887, 40], + "add_done_726", + ["move", 67, 432, 887, 40], + ["jump", "if_end_715", 887, 40], + "if_else_714", + "if_end_715", + ["jump", "if_end_709", 887, 40], + "if_else_708", + "if_end_709", + ["is_proxy", 436, 20, 889, 6], + ["jump_false", 436, "record_path_730", 889, 6], + ["null", 437, 889, 6], + ["access", 438, "is_file", 889, 6], + ["array", 439, 0, 889, 6], + ["push", 439, 67, 889, 6], + ["frame", 440, 20, 2, 889, 6], + ["setarg", 440, 0, 437, 889, 6], + ["setarg", 440, 1, 438, 889, 6], + ["setarg", 440, 2, 439, 889, 6], + ["invoke", 440, 435, 889, 6], + ["jump", "call_done_731", 889, 6], + "record_path_730", + ["load_field", 441, 20, "is_file", 889, 6], + ["frame", 442, 441, 1, 889, 6], + ["setarg", 442, 0, 20, 889, 6], + ["setarg", 442, 1, 67, 889, 6], + ["invoke", 442, 435, 889, 6], + "call_done_731", "_nop_bl_4", - ["jump_true", 440, "if_else_706", 853, 6], + ["jump_true", 435, "if_else_728", 889, 6], [ "access", - 449, + 444, { "name": "core_path", "kind": "name", "make": "intrinsic" }, - 855, + 891, 14 ], - ["move", 76, 449, 855, 14], - ["access", 450, "/", 856, 26], - ["is_int", 452, 76, 856, 26], - ["jump_false", 452, "add_ni_710", 856, 26], + ["move", 76, 444, 891, 14], + ["access", 445, "/", 892, 26], + ["is_int", 447, 76, 892, 26], + ["jump_false", 447, "add_ni_732", 892, 26], "_nop_tc_6", - ["jump", "add_ni_710", 856, 26], - ["add_int", 451, 76, 450, 856, 26], - ["jump", "add_done_712", 856, 26], - "add_ni_710", - ["is_text", 452, 76, 856, 26], - ["jump_false", 452, "add_nt_711", 856, 26], - ["concat", 451, 76, 450, 856, 26], - ["jump", "add_done_712", 856, 26], - "add_nt_711", - ["is_num", 452, 76, 856, 26], - ["jump_false", 452, "add_err_713", 856, 26], - ["is_num", 453, 450, 856, 26], - ["jump_false", 453, "add_err_713", 856, 26], - ["add_float", 451, 76, 450, 856, 26], - ["jump", "add_done_712", 856, 26], - "add_err_713", - ["disrupt", 856, 26], - "add_done_712", - ["is_int", 455, 451, 856, 32], - ["jump_false", 455, "add_ni_714", 856, 32], - ["is_int", 456, 46, 856, 32], - ["jump_false", 456, "add_ni_714", 856, 32], - ["add_int", 454, 451, 46, 856, 32], - ["jump", "add_done_716", 856, 32], - "add_ni_714", - ["is_text", 455, 451, 856, 32], - ["jump_false", 455, "add_nt_715", 856, 32], - ["is_text", 456, 46, 856, 32], - ["jump_false", 456, "add_nt_715", 856, 32], - ["concat", 454, 451, 46, 856, 32], - ["jump", "add_done_716", 856, 32], - "add_nt_715", - ["is_num", 455, 451, 856, 32], - ["jump_false", 455, "add_err_717", 856, 32], - ["is_num", 456, 46, 856, 32], - ["jump_false", 456, "add_err_717", 856, 32], - ["add_float", 454, 451, 46, 856, 32], - ["jump", "add_done_716", 856, 32], - "add_err_717", - ["disrupt", 856, 32], - "add_done_716", - ["access", 457, ".ce", 856, 39], - ["is_int", 459, 454, 856, 39], - ["jump_false", 459, "add_ni_718", 856, 39], + ["jump", "add_ni_732", 892, 26], + ["add_int", 446, 76, 445, 892, 26], + ["jump", "add_done_734", 892, 26], + "add_ni_732", + ["is_text", 447, 76, 892, 26], + ["jump_false", 447, "add_nt_733", 892, 26], + ["concat", 446, 76, 445, 892, 26], + ["jump", "add_done_734", 892, 26], + "add_nt_733", + ["is_num", 447, 76, 892, 26], + ["jump_false", 447, "add_err_735", 892, 26], + ["is_num", 448, 445, 892, 26], + ["jump_false", 448, "add_err_735", 892, 26], + ["add_float", 446, 76, 445, 892, 26], + ["jump", "add_done_734", 892, 26], + "add_err_735", + ["disrupt", 892, 26], + "add_done_734", + ["is_int", 450, 446, 892, 32], + ["jump_false", 450, "add_ni_736", 892, 32], + ["is_int", 451, 46, 892, 32], + ["jump_false", 451, "add_ni_736", 892, 32], + ["add_int", 449, 446, 46, 892, 32], + ["jump", "add_done_738", 892, 32], + "add_ni_736", + ["is_text", 450, 446, 892, 32], + ["jump_false", 450, "add_nt_737", 892, 32], + ["is_text", 451, 46, 892, 32], + ["jump_false", 451, "add_nt_737", 892, 32], + ["concat", 449, 446, 46, 892, 32], + ["jump", "add_done_738", 892, 32], + "add_nt_737", + ["is_num", 450, 446, 892, 32], + ["jump_false", 450, "add_err_739", 892, 32], + ["is_num", 451, 46, 892, 32], + ["jump_false", 451, "add_err_739", 892, 32], + ["add_float", 449, 446, 46, 892, 32], + ["jump", "add_done_738", 892, 32], + "add_err_739", + ["disrupt", 892, 32], + "add_done_738", + ["access", 452, ".ce", 892, 39], + ["is_int", 454, 449, 892, 39], + ["jump_false", 454, "add_ni_740", 892, 39], "_nop_tc_7", - ["jump", "add_ni_718", 856, 39], - ["add_int", 458, 454, 457, 856, 39], - ["jump", "add_done_720", 856, 39], - "add_ni_718", - ["is_text", 459, 454, 856, 39], - ["jump_false", 459, "add_nt_719", 856, 39], - ["concat", 458, 454, 457, 856, 39], - ["jump", "add_done_720", 856, 39], - "add_nt_719", - ["is_num", 459, 454, 856, 39], - ["jump_false", 459, "add_err_721", 856, 39], - ["is_num", 460, 457, 856, 39], - ["jump_false", 460, "add_err_721", 856, 39], - ["add_float", 458, 454, 457, 856, 39], - ["jump", "add_done_720", 856, 39], - "add_err_721", - ["disrupt", 856, 39], - "add_done_720", - ["move", 67, 458, 856, 39], - ["jump", "if_end_707", 856, 39], - "if_else_706", - "if_end_707", - ["is_proxy", 462, 20, 858, 6], - ["jump_false", 462, "record_path_724", 858, 6], - ["null", 463, 858, 6], - ["access", 464, "is_file", 858, 6], - ["array", 465, 0, 858, 6], - ["push", 465, 67, 858, 6], - ["frame", 466, 20, 2, 858, 6], - ["setarg", 466, 0, 463, 858, 6], - ["setarg", 466, 1, 464, 858, 6], - ["setarg", 466, 2, 465, 858, 6], - ["invoke", 466, 461, 858, 6], - ["jump", "call_done_725", 858, 6], - "record_path_724", - ["load_field", 467, 20, "is_file", 858, 6], - ["frame", 468, 467, 1, 858, 6], - ["setarg", 468, 0, 20, 858, 6], - ["setarg", 468, 1, 67, 858, 6], - ["invoke", 468, 461, 858, 6], - "call_done_725", + ["jump", "add_ni_740", 892, 39], + ["add_int", 453, 449, 452, 892, 39], + ["jump", "add_done_742", 892, 39], + "add_ni_740", + ["is_text", 454, 449, 892, 39], + ["jump_false", 454, "add_nt_741", 892, 39], + ["concat", 453, 449, 452, 892, 39], + ["jump", "add_done_742", 892, 39], + "add_nt_741", + ["is_num", 454, 449, 892, 39], + ["jump_false", 454, "add_err_743", 892, 39], + ["is_num", 455, 452, 892, 39], + ["jump_false", 455, "add_err_743", 892, 39], + ["add_float", 453, 449, 452, 892, 39], + ["jump", "add_done_742", 892, 39], + "add_err_743", + ["disrupt", 892, 39], + "add_done_742", + ["move", 67, 453, 892, 39], + ["jump", "if_end_729", 892, 39], + "if_else_728", + "if_end_729", + ["is_proxy", 457, 20, 894, 6], + ["jump_false", 457, "record_path_746", 894, 6], + ["null", 458, 894, 6], + ["access", 459, "is_file", 894, 6], + ["array", 460, 0, 894, 6], + ["push", 460, 67, 894, 6], + ["frame", 461, 20, 2, 894, 6], + ["setarg", 461, 0, 458, 894, 6], + ["setarg", 461, 1, 459, 894, 6], + ["setarg", 461, 2, 460, 894, 6], + ["invoke", 461, 456, 894, 6], + ["jump", "call_done_747", 894, 6], + "record_path_746", + ["load_field", 462, 20, "is_file", 894, 6], + ["frame", 463, 462, 1, 894, 6], + ["setarg", 463, 0, 20, 894, 6], + ["setarg", 463, 1, 67, 894, 6], + ["invoke", 463, 456, 894, 6], + "call_done_747", "_nop_bl_5", - ["jump_true", 461, "if_else_722", 858, 6], - ["array", 470, 0, 1, 1], - ["push", 470, 46, 1, 1], + ["jump_true", 456, "if_else_744", 894, 6], + ["array", 465, 0, 1, 1], + ["push", 465, 46, 1, 1], [ "access", - 471, + 466, { "name": "format", "kind": "name", @@ -8202,98 +8636,98 @@ 1, 1 ], - ["access", 472, "Main program {0} could not be found\n", 1, 1], - ["frame", 474, 471, 2, 1, 1], - ["null", 475, 1, 1], - ["setarg", 474, 0, 475, 1, 1], - ["setarg", 474, 1, 472, 1, 1], - ["setarg", 474, 2, 470, 1, 1], - ["invoke", 474, 473, 1, 1], + ["access", 467, "Main program {0} could not be found\n", 1, 1], + ["frame", 469, 466, 2, 1, 1], + ["null", 470, 1, 1], + ["setarg", 469, 0, 470, 1, 1], + ["setarg", 469, 1, 467, 1, 1], + ["setarg", 469, 2, 465, 1, 1], + ["invoke", 469, 468, 1, 1], [ "access", - 477, + 472, { "name": "os", "kind": "name", "make": "intrinsic" }, - 859, + 895, 3 ], - ["is_proxy", 478, 477, 859, 3], - ["jump_false", 478, "record_path_726", 859, 3], - ["null", 479, 859, 3], - ["access", 480, "print", 859, 3], - ["array", 481, 0, 859, 3], - ["push", 481, 473, 859, 3], - ["frame", 482, 477, 2, 859, 3], - ["setarg", 482, 0, 479, 859, 3], - ["setarg", 482, 1, 480, 859, 3], - ["setarg", 482, 2, 481, 859, 3], - ["invoke", 482, 476, 859, 3], - ["jump", "call_done_727", 859, 3], - "record_path_726", - ["load_field", 483, 477, "print", 859, 3], - ["frame", 484, 483, 1, 859, 3], - ["setarg", 484, 0, 477, 859, 3], - ["setarg", 484, 1, 473, 859, 3], - ["invoke", 484, 476, 859, 3], - "call_done_727", - ["access", 485, 1, 860, 11], + ["is_proxy", 473, 472, 895, 3], + ["jump_false", 473, "record_path_748", 895, 3], + ["null", 474, 895, 3], + ["access", 475, "print", 895, 3], + ["array", 476, 0, 895, 3], + ["push", 476, 468, 895, 3], + ["frame", 477, 472, 2, 895, 3], + ["setarg", 477, 0, 474, 895, 3], + ["setarg", 477, 1, 475, 895, 3], + ["setarg", 477, 2, 476, 895, 3], + ["invoke", 477, 471, 895, 3], + ["jump", "call_done_749", 895, 3], + "record_path_748", + ["load_field", 478, 472, "print", 895, 3], + ["frame", 479, 478, 1, 895, 3], + ["setarg", 479, 0, 472, 895, 3], + ["setarg", 479, 1, 468, 895, 3], + ["invoke", 479, 471, 895, 3], + "call_done_749", + ["access", 480, 1, 896, 11], [ "access", - 487, + 482, { "name": "os", "kind": "name", "make": "intrinsic" }, - 860, + 896, 3 ], - ["is_proxy", 488, 487, 860, 3], - ["jump_false", 488, "record_path_728", 860, 3], - ["null", 489, 860, 3], - ["access", 490, "exit", 860, 3], - ["array", 491, 0, 860, 3], - ["push", 491, 485, 860, 3], - ["frame", 492, 487, 2, 860, 3], - ["setarg", 492, 0, 489, 860, 3], - ["setarg", 492, 1, 490, 860, 3], - ["setarg", 492, 2, 491, 860, 3], - ["invoke", 492, 486, 860, 3], - ["jump", "call_done_729", 860, 3], - "record_path_728", - ["load_field", 493, 487, "exit", 860, 3], - ["frame", 494, 493, 1, 860, 3], - ["setarg", 494, 0, 487, 860, 3], - ["setarg", 494, 1, 485, 860, 3], - ["invoke", 494, 486, 860, 3], - "call_done_729", - ["jump", "if_end_723", 860, 3], - "if_else_722", - "if_end_723", - ["function", 495, 57, 863, 10], - ["is_proxy", 497, 2, 863, 1], - ["jump_false", 497, "record_path_789", 863, 1], - ["null", 498, 863, 1], - ["access", 499, "clock", 863, 1], - ["array", 500, 0, 863, 1], - ["push", 500, 495, 863, 1], - ["frame", 501, 2, 2, 863, 1], - ["setarg", 501, 0, 498, 863, 1], - ["setarg", 501, 1, 499, 863, 1], - ["setarg", 501, 2, 500, 863, 1], - ["invoke", 501, 496, 863, 1], - ["jump", "call_done_790", 863, 1], - "record_path_789", - ["load_field", 502, 2, "clock", 863, 1], - ["frame", 503, 502, 1, 863, 1], - ["setarg", 503, 0, 2, 863, 1], - ["setarg", 503, 1, 495, 863, 1], - ["invoke", 503, 496, 863, 1], - "call_done_790", - ["return", 496, 863, 1] + ["is_proxy", 483, 482, 896, 3], + ["jump_false", 483, "record_path_750", 896, 3], + ["null", 484, 896, 3], + ["access", 485, "exit", 896, 3], + ["array", 486, 0, 896, 3], + ["push", 486, 480, 896, 3], + ["frame", 487, 482, 2, 896, 3], + ["setarg", 487, 0, 484, 896, 3], + ["setarg", 487, 1, 485, 896, 3], + ["setarg", 487, 2, 486, 896, 3], + ["invoke", 487, 481, 896, 3], + ["jump", "call_done_751", 896, 3], + "record_path_750", + ["load_field", 488, 482, "exit", 896, 3], + ["frame", 489, 488, 1, 896, 3], + ["setarg", 489, 0, 482, 896, 3], + ["setarg", 489, 1, 480, 896, 3], + ["invoke", 489, 481, 896, 3], + "call_done_751", + ["jump", "if_end_745", 896, 3], + "if_else_744", + "if_end_745", + ["function", 490, 57, 899, 10], + ["is_proxy", 492, 2, 899, 1], + ["jump_false", 492, "record_path_822", 899, 1], + ["null", 493, 899, 1], + ["access", 494, "clock", 899, 1], + ["array", 495, 0, 899, 1], + ["push", 495, 490, 899, 1], + ["frame", 496, 2, 2, 899, 1], + ["setarg", 496, 0, 493, 899, 1], + ["setarg", 496, 1, 494, 899, 1], + ["setarg", 496, 2, 495, 899, 1], + ["invoke", 496, 491, 899, 1], + ["jump", "call_done_823", 899, 1], + "record_path_822", + ["load_field", 497, 2, "clock", 899, 1], + ["frame", 498, 497, 1, 899, 1], + ["setarg", 498, 0, 2, 899, 1], + ["setarg", 498, 1, 490, 899, 1], + ["invoke", 498, 491, 899, 1], + "call_done_823", + ["return", 491, 899, 1] ] }, "filename": "internal/engine.cm", diff --git a/docs/_index.md b/docs/_index.md index ecb258fe..88290af8 100644 --- a/docs/_index.md +++ b/docs/_index.md @@ -34,6 +34,7 @@ pit hello - [**Actors and Modules**](/docs/actors/) — the execution model - [**Requestors**](/docs/requestors/) — asynchronous composition - [**Packages**](/docs/packages/) — code organization and sharing +- [**Shop Architecture**](/docs/shop/) — module resolution, compilation, and caching ## Reference diff --git a/docs/shop.md b/docs/shop.md new file mode 100644 index 00000000..c02375b5 --- /dev/null +++ b/docs/shop.md @@ -0,0 +1,169 @@ +--- +title: "Shop Architecture" +description: "How the shop resolves, compiles, caches, and loads modules" +weight: 35 +type: "docs" +--- + +The shop is the module resolution and loading engine behind `use()`. It handles finding modules, compiling them, caching the results, and loading C extensions. The shop lives in `internal/shop.cm`. + +## Startup Pipeline + +When `pit` runs a program, three layers bootstrap in sequence: + +``` +bootstrap.cm → engine.cm → shop.cm → user program +``` + +**bootstrap.cm** loads the compiler toolchain (tokenize, parse, fold, mcode, streamline) from pre-compiled bytecode. It defines `analyze()` (source to AST) and `compile_to_blob()` (AST to binary blob). It then loads engine.cm. + +**engine.cm** creates the actor runtime (`$_`), defines `use_core()` for loading core modules, and populates the environment that shop receives. It then loads shop.cm via `use_core('internal/shop')`. + +**shop.cm** receives its dependencies through the module environment — `analyze`, `run_ast_fn`, `use_cache`, `shop_path`, `runtime_env`, `content_hash`, `cache_path`, and others. It defines `Shop.use()`, which is the function behind every `use()` call in user code. + +## Module Resolution + +When `use('path')` is called from a package context, the shop resolves the module through a multi-layer search. Both the `.cm` script file and C symbol are resolved independently, and the one with the narrowest scope wins. + +### Resolution Order + +For a call like `use('sprite')` from package `myapp`: + +1. **Own package** — `~/.pit/packages/myapp/sprite.cm` and C symbol `js_myapp_sprite_use` +2. **Aliased dependencies** — if `myapp/pit.toml` has `renderer = "gitea.pockle.world/john/renderer"`, checks `renderer/sprite.cm` and its C symbols +3. **Core** — built-in core modules and internal C symbols + +For calls without a package context (from core modules), only core is searched. + +### Private Modules + +Paths starting with `internal/` are private to their package: + +```javascript +use('internal/helpers') // OK from within the same package +// Cannot be accessed from other packages +``` + +### Explicit Package Imports + +Paths containing a dot in the first component are treated as explicit package references: + +```javascript +use('gitea.pockle.world/john/renderer/sprite') +// Resolves directly to the renderer package's sprite.cm +``` + +## Compilation and Caching + +Every module goes through a content-addressed caching pipeline. The cache key is the BLAKE2 hash of the source content, so changing the source automatically invalidates the cache. + +### Cache Hierarchy + +When loading a module, the shop checks (in order): + +1. **In-memory cache** — `use_cache[key]`, checked first on every `use()` call +2. **Native dylib** — pre-compiled platform-specific `.dylib` in the content-addressed store +3. **Cached .mach blob** — binary bytecode in `~/.pit/build/.mach` +4. **Cached .mcode IR** — JSON IR in `~/.pit/build/.mcode` +5. **Adjacent .mach/.mcode** — files alongside the source (e.g., `sprite.mach`) +6. **Source compilation** — full pipeline: analyze, mcode, streamline, serialize + +Results from steps 4-6 are cached back to the content-addressed store for future loads. + +### Content-Addressed Store + +All cached artifacts live in `~/.pit/build/` named by the BLAKE2 hash of their source content: + +``` +~/.pit/build/ +├── a1b2c3d4...mach # compiled bytecode blob +├── e5f6a7b8...mach # another compiled module +├── c9d0e1f2...mcode # cached JSON IR +└── f3a4b5c6...macos_arm64.dylib # native compiled module +``` + +This scheme provides automatic cache invalidation: when source changes, its hash changes, and the old cache entry is simply never looked up again. + +### Core Module Caching + +Core modules loaded via `use_core()` in engine.cm follow the same pattern. On first startup after a fresh install, core modules are compiled from `.cm.mcode` JSON IR and cached as `.mach` blobs. Subsequent startups load from cache, skipping the JSON parse and compile steps entirely. + +User scripts (`.ce` files) are also cached. The first run compiles and caches; subsequent runs with unchanged source load from cache. + +## C Extension Resolution + +C extensions are resolved alongside script modules. A C module is identified by a symbol name derived from the package and file name: + +``` +package: gitea.pockle.world/john/prosperon +file: sprite.c +symbol: js_gitea_pockle_world_john_prosperon_sprite_use +``` + +### C Resolution Sources + +1. **Internal symbols** — statically linked into the `pit` binary (core modules) +2. **Per-module dylibs** — loaded from `~/.pit/lib/` via a manifest file + +### Manifest Files + +Each package with C extensions has a manifest at `~/.pit/lib/.manifest.json` mapping symbol names to dylib paths: + +```json +{ + "js_mypackage_render_use": "/Users/john/.pit/lib/mypackage_render.dylib", + "js_mypackage_audio_use": "/Users/john/.pit/lib/mypackage_audio.dylib" +} +``` + +The shop loads manifests lazily on first access and caches them. + +### Combined Resolution + +When both a `.cm` script and a C symbol exist for the same module name, both are resolved. The C module is loaded first (as the base), then the `.cm` script can extend it: + +```javascript +// render.cm — extends the C render module +var c_render = use('internal/render_c') +// Add ƿit-level helpers on top of C functions +return record(c_render, { + draw_circle: function(x, y, r) { /* ... */ } +}) +``` + +## Environment Injection + +When a module is loaded, the shop builds an `env` object that becomes the module's set of free variables. This includes: + +- **Runtime functions** — `logical`, `some`, `every`, `starts_with`, `ends_with`, `is_actor`, `log`, `send`, `fallback`, `parallel`, `race`, `sequence` +- **Capability injections** — actor intrinsics like `$self`, `$delay`, `$start`, `$receiver`, `$fd`, etc. +- **`use` function** — scoped to the module's package context + +The set of injected capabilities is controlled by `script_inject_for()`, which can be tuned per package or file. + +## Shop Directory Layout + +``` +~/.pit/ +├── packages/ # installed packages (directories and symlinks) +│ └── core -> ... # symlink to the ƿit core +├── lib/ # compiled C extension dylibs + manifests +├── build/ # content-addressed compilation cache +│ ├── .mach # cached bytecode blobs +│ ├── .mcode # cached JSON IR +│ └── ..dylib # native compiled modules +├── cache/ # downloaded package zip archives +├── lock.toml # installed package versions and commit hashes +└── link.toml # local development link overrides +``` + +## Key Files + +| File | Role | +|------|------| +| `internal/bootstrap.cm` | Loads compiler, defines `analyze()` and `compile_to_blob()` | +| `internal/engine.cm` | Actor runtime, `use_core()`, environment setup | +| `internal/shop.cm` | Module resolution, compilation, caching, C extension loading | +| `internal/os.c` | OS intrinsics: dylib ops, internal symbol lookup, embedded modules | +| `package.cm` | Package directory detection, alias resolution, file listing | +| `link.cm` | Development link management (link.toml read/write) | diff --git a/internal/bootstrap.cm b/internal/bootstrap.cm index 435d9fab..02a7b102 100644 --- a/internal/bootstrap.cm +++ b/internal/bootstrap.cm @@ -183,13 +183,24 @@ function run_ast(name, ast, env) { delete optimized._verify delete optimized._verify_mod } - return mach_eval_mcode(name, json.encode(optimized), env) + var mcode_json = json.encode(optimized) + var mach_blob = mach_compile_mcode_bin(name, mcode_json) + return mach_load(mach_blob, env) } // Run AST through mcode pipeline WITHOUT optimization → register VM function run_ast_noopt(name, ast, env) { var compiled = mcode_mod(ast) - return mach_eval_mcode(name, json.encode(compiled), env) + var mcode_json = json.encode(compiled) + var mach_blob = mach_compile_mcode_bin(name, mcode_json) + return mach_load(mach_blob, env) +} + +// Compile AST to blob without loading (for caching) +function compile_to_blob(name, ast) { + var compiled = mcode_mod(ast) + var optimized = streamline_mod(compiled) + return mach_compile_mcode_bin(name, json.encode(optimized)) } // Helper to load engine.cm and run it with given env @@ -248,7 +259,9 @@ if (args != null) { init: {program: program, arg: user_args}, core_path: core_path, shop_path: shop_path, json: json, analyze: analyze, run_ast_fn: run_ast, run_ast_noopt_fn: run_ast_noopt, - use_cache: use_cache + use_cache: use_cache, + content_hash: content_hash, cache_path: cache_path, + ensure_build_dir: ensure_build_dir, compile_to_blob_fn: compile_to_blob }) } else { // Actor spawn mode — load engine.cm with full actor env @@ -256,6 +269,8 @@ if (args != null) { os: os, actorsym: actorsym, init: init, core_path: core_path, shop_path: shop_path, json: json, nota: nota, wota: wota, analyze: analyze, run_ast_fn: run_ast, run_ast_noopt_fn: run_ast_noopt, - use_cache: use_cache + use_cache: use_cache, + content_hash: content_hash, cache_path: cache_path, + ensure_build_dir: ensure_build_dir, compile_to_blob_fn: compile_to_blob }) } diff --git a/internal/engine.cm b/internal/engine.cm index edaaf974..ec81a8e8 100644 --- a/internal/engine.cm +++ b/internal/engine.cm @@ -1,4 +1,4 @@ -// Hidden vars (os, actorsym, init, core_path, shop_path, analyze, run_ast_fn, run_ast_noopt_fn, json, use_cache) come from env +// Hidden vars (os, actorsym, init, core_path, shop_path, analyze, run_ast_fn, run_ast_noopt_fn, json, use_cache, content_hash, cache_path, ensure_build_dir, compile_to_blob_fn) come from env // In actor spawn mode, also: nota, wota var ACTORDATA = actorsym var SYSYM = '__SYSTEM__' @@ -92,8 +92,25 @@ function use_core(path) { // Check for .cm.mcode JSON IR var mcode_path = core_path + '/' + path + '.cm.mcode' + var mcode_blob = null + var hash = null + var cached_path = null + var mach_blob = null + var source_blob = null if (fd.is_file(mcode_path)) { - result = mach_eval_mcode('core:' + path, text(fd.slurp(mcode_path)), env) + mcode_blob = fd.slurp(mcode_path) + hash = content_hash(mcode_blob) + cached_path = cache_path(hash) + if (cached_path && fd.is_file(cached_path)) { + result = mach_load(fd.slurp(cached_path), env) + } else { + mach_blob = mach_compile_mcode_bin('core:' + path, text(mcode_blob)) + if (cached_path) { + ensure_build_dir() + fd.slurpwrite(cached_path, mach_blob) + } + result = mach_load(mach_blob, env) + } use_cache[cache_key] = result return result } @@ -101,9 +118,21 @@ function use_core(path) { // Fall back to source .cm file — compile at runtime var file_path = core_path + '/' + path + MOD_EXT if (fd.is_file(file_path)) { - script = text(fd.slurp(file_path)) - ast = analyze(script, file_path) - result = run_ast_fn('core:' + path, ast, env) + source_blob = fd.slurp(file_path) + hash = content_hash(source_blob) + cached_path = cache_path(hash) + if (cached_path && fd.is_file(cached_path)) { + result = mach_load(fd.slurp(cached_path), env) + } else { + script = text(source_blob) + ast = analyze(script, file_path) + mach_blob = compile_to_blob_fn('core:' + path, ast) + if (cached_path) { + ensure_build_dir() + fd.slurpwrite(cached_path, mach_blob) + } + result = mach_load(mach_blob, env) + } use_cache[cache_key] = result return result } @@ -215,15 +244,27 @@ function create_actor(desc) { var $_ = {} $_.self = create_actor() -os.use_cache = use_cache -os.global_shop_path = shop_path -os.$_ = $_ -os.analyze = analyze -os.run_ast_fn = run_ast_fn -os.run_ast_noopt_fn = run_ast_noopt_fn -os.json = json use_cache['core/json'] = json +// Create runtime_env early (empty) — filled after pronto loads. +// Shop accesses it lazily (in inject_env, called at module-use time, not load time) +// so it sees the filled version. +var runtime_env = {} + +// Populate core_extras with everything shop (and other core modules) need +core_extras.use_cache = use_cache +core_extras.shop_path = shop_path +core_extras.analyze = analyze +core_extras.run_ast_fn = run_ast_fn +core_extras.run_ast_noopt_fn = run_ast_noopt_fn +core_extras.core_json = json +core_extras.actor_api = $_ +core_extras.runtime_env = runtime_env +core_extras.content_hash = content_hash +core_extras.cache_path = cache_path +core_extras.ensure_build_dir = ensure_build_dir + +// NOW load shop — it receives all of the above via env var shop = use_core('internal/shop') var time = use_core('time') @@ -233,29 +274,24 @@ var parallel = pronto.parallel var race = pronto.race var sequence = pronto.sequence -// Create runtime environment for modules -var runtime_env = { - logical: logical, - some: some, - every: every, - starts_with: starts_with, - ends_with: ends_with, - actor: actor, - is_actor: is_actor, - log: log, - send: send, - fallback: fallback, - parallel: parallel, - race: race, - sequence: sequence -} +// Fill runtime_env (same object reference shop holds) +runtime_env.logical = logical +runtime_env.some = some +runtime_env.every = every +runtime_env.starts_with = starts_with +runtime_env.ends_with = ends_with +runtime_env.actor = actor +runtime_env.is_actor = is_actor +runtime_env.log = log +runtime_env.send = send +runtime_env.fallback = fallback +runtime_env.parallel = parallel +runtime_env.race = race +runtime_env.sequence = sequence // Make runtime functions available to modules loaded via use_core arrfor(array(runtime_env), function(k) { core_extras[k] = runtime_env[k] }) -// Pass to os for shop to access -os.runtime_env = runtime_env - $_.time_limit = function(requestor, seconds) { if (!pronto.is_requestor(requestor)) { @@ -890,9 +926,25 @@ $_.clock(_ => { env.args = _cell.args.arg env.log = log - var script = text(fd.slurp(prog_path)) - var ast = analyze(script, prog_path) - var val = run_ast_fn(prog, ast, env) + var source_blob = fd.slurp(prog_path) + var hash = content_hash(source_blob) + var cached_path = cache_path(hash) + var val = null + var script = null + var ast = null + var mach_blob = null + if (cached_path && fd.is_file(cached_path)) { + val = mach_load(fd.slurp(cached_path), env) + } else { + script = text(source_blob) + ast = analyze(script, prog_path) + mach_blob = compile_to_blob_fn(prog, ast) + if (cached_path) { + ensure_build_dir() + fd.slurpwrite(cached_path, mach_blob) + } + val = mach_load(mach_blob, env) + } if (val) { log.error('Program must not return anything') disrupt diff --git a/internal/shop.cm b/internal/shop.cm index 91ab4d49..f98feddb 100644 --- a/internal/shop.cm +++ b/internal/shop.cm @@ -12,9 +12,12 @@ var pkg_tools = use('package') var os = use('os') var link = use('link') -var analyze = os.analyze -var run_ast_fn = os.run_ast_fn -var shop_json = os.json +// These come from env (via core_extras in engine.cm): +// analyze, run_ast_fn, core_json, use_cache, shop_path, actor_api, runtime_env, +// content_hash, cache_path, ensure_build_dir +var shop_json = core_json +var global_shop_path = shop_path +var my$_ = actor_api var core = "core" @@ -45,11 +48,6 @@ function ensure_dir(path) { } } -function content_hash(content) -{ - return text(crypto.blake2(content), 'h') -} - function hash_path(content) { return global_shop_path + '/build' + '/' + content_hash(content) @@ -66,9 +64,6 @@ var ACTOR_EXT = '.ce' var dylib_ext = '.dylib' // Default extension -var use_cache = os.use_cache -var global_shop_path = os.global_shop_path -var my$_ = os.$_ Shop.get_package_dir = function(name) { return global_shop_path + '/packages/' + name @@ -430,9 +425,8 @@ Shop.get_script_capabilities = function(path) { // Matches engine.cm's approach: env properties become free variables in the module. function inject_env(inject) { var env = {} - var rt = my$_.os ? my$_.os.runtime_env : null - if (rt) { - arrfor(array(rt), function(k) { env[k] = rt[k] }) + if (runtime_env) { + arrfor(array(runtime_env), function(k) { env[k] = runtime_env[k] }) } // Add capability injections with $ prefix diff --git a/website/data/docs_nav.yaml b/website/data/docs_nav.yaml index 176a7060..ae68fd7e 100644 --- a/website/data/docs_nav.yaml +++ b/website/data/docs_nav.yaml @@ -9,6 +9,8 @@ sections: url: "/docs/requestors/" - title: "Packages" url: "/docs/packages/" + - title: "Shop Architecture" + url: "/docs/shop/" - title: "Reference" pages: - title: "Built-in Functions"