diff --git a/Makefile b/Makefile index d9a9593e..a06acf34 100755 --- a/Makefile +++ b/Makefile @@ -48,12 +48,12 @@ cell_main: source/main.c libcell_runtime.dylib # Regenerate .mach bytecode when any .cm source changes .mach.stamp: $(MACH_SOURCES) - ./cell --core . regen.cm + ./cell --dev regen @touch $@ # Force-regenerate all .mach bytecode files regen: - ./cell --core . regen.cm + ./cell --core . regen @touch .mach.stamp # Create the cell shop directories diff --git a/internal/bootstrap.cm b/internal/bootstrap.cm index 31e3272b..5d07193c 100644 --- a/internal/bootstrap.cm +++ b/internal/bootstrap.cm @@ -1,5 +1,5 @@ // Hidden vars come from env: -// CLI mode (cell_init): os, args, core_path, shop_path, emit_qbe, dump_mach +// CLI mode (cell_init): os, args, core_path, shop_path // Actor spawn (script_startup): os, json, nota, wota, actorsym, init, core_path, shop_path // args[0] = script name, args[1..] = user args var load_internal = os.load_internal @@ -54,7 +54,6 @@ use_cache['fold'] = fold_mod var mcode_mod = boot_load("mcode", boot_env) use_cache['mcode'] = mcode_mod var streamline_mod = null -var qbe_emit_mod = null // Warn if any .cm source is newer than its compiled bytecode function check_mach_stale() { @@ -101,7 +100,7 @@ function check_mach_stale() { } if (length(stale) > 0) { print("warning: bytecode is stale for: " + text(stale, ", ") + "\n") - print("run 'make regen' or './cell --core . regen.cm' to update\n") + print("run 'make regen' to update\n") } } check_mach_stale() @@ -169,30 +168,13 @@ function load_module(name, env) { } // Load optimization pipeline modules (needs analyze to be defined) -var qbe_macros = null streamline_mod = load_module("streamline", boot_env) use_cache['streamline'] = streamline_mod -if (emit_qbe) { - qbe_macros = load_module("qbe", boot_env) - qbe_emit_mod = load_module("qbe_emit", boot_env) - use_cache['qbe'] = qbe_macros - use_cache['qbe_emit'] = qbe_emit_mod -} // Run AST through mcode pipeline → register VM function run_ast(name, ast, env) { var compiled = mcode_mod(ast) var optimized = streamline_mod(compiled) - var qbe_il = null - if (emit_qbe) { - qbe_il = qbe_emit_mod(optimized, qbe_macros) - print(qbe_il) - return null - } - if (dump_mach) { - mach_dump_mcode(name, json.encode(optimized), env) - return null - } return mach_eval_mcode(name, json.encode(optimized), env) } @@ -277,45 +259,26 @@ function load_engine(env) { var program = null var user_args = [] var _j = 0 -var script_file = null -var script = null -var ast = null if (args != null) { - // CLI mode — parse args + // CLI mode — always run as actor program (.ce) program = args[0] + if (!program) { + print("error: no program specified\n") + disrupt + } _j = 1 while (_j < length(args)) { push(user_args, args[_j]) _j = _j + 1 } - // Resolve script file: try .cm then .ce in CWD then core_path - script_file = program - if (!ends_with(script_file, '.ce') && !ends_with(script_file, '.cm')) - script_file = program + '.cm' - - if (!fd.is_file(script_file)) - script_file = core_path + '/' + program + '.cm' - if (!fd.is_file(script_file)) - script_file = program + '.ce' - if (!fd.is_file(script_file)) - script_file = core_path + '/' + program + '.ce' - - if (ends_with(script_file, '.ce')) { - // Actor script — delegate to engine - load_engine({ - os: os, actorsym: actorsym, - init: {program: program, arg: user_args}, - core_path: core_path, shop_path: shop_path, json: json, - analyze: analyze, run_ast_fn: run_ast - }) - } else { - // Module script — run directly - script = text(fd.slurp(script_file)) - ast = analyze(script, script_file) - run_ast(program, ast, {use: use_fn, args: user_args, json: json}) - } + load_engine({ + os: os, actorsym: actorsym, + init: {program: program, arg: user_args}, + core_path: core_path, shop_path: shop_path, json: json, + analyze: analyze, run_ast_fn: run_ast + }) } else { // Actor spawn mode — load engine.cm with full actor env load_engine({ diff --git a/internal/bootstrap.cm.mcode b/internal/bootstrap.cm.mcode index dcb66fc4..12005edf 100644 --- a/internal/bootstrap.cm.mcode +++ b/internal/bootstrap.cm.mcode @@ -50,7 +50,7 @@ "add_err_7", ["disrupt", 7, 39], "add_done_6", - ["get", 11, 18, 1, 7, 10], + ["get", 11, 9, 1, 7, 10], ["frame", 12, 11, 1, 7, 10], ["null", 13, 7, 10], ["setarg", 12, 0, 13, 7, 10], @@ -69,10 +69,10 @@ "nr_slots": 19, "nr_close_slots": 0, "instructions": [ - ["get", 3, 22, 1, 20, 7], + ["get", 3, 18, 1, 20, 7], ["load_dynamic", 4, 3, 1, 20, 17], ["jump_false", 4, "if_else_8", 20, 17], - ["get", 5, 22, 1, 21, 12], + ["get", 5, 18, 1, 21, 12], ["load_dynamic", 6, 5, 1, 21, 22], ["return", 6, 21, 22], ["jump", "if_end_9", 21, 22], @@ -98,14 +98,14 @@ ["setarg", 11, 2, 7, 22, 26], ["setarg", 11, 3, 8, 22, 26], ["invoke", 11, 9, 22, 26], - ["get", 14, 14, 1, 22, 16], + ["get", 14, 1, 1, 22, 16], ["frame", 15, 14, 1, 22, 16], ["null", 16, 22, 16], ["setarg", 15, 0, 16, 22, 16], ["setarg", 15, 1, 9, 22, 16], ["invoke", 15, 13, 22, 16], ["move", 2, 13, 22, 16], - ["get", 17, 22, 1, 23, 3], + ["get", 17, 18, 1, 23, 3], ["store_dynamic", 17, 2, 1, 23, 13], ["return", 2, 24, 10], ["null", 18, 24, 10], @@ -280,7 +280,7 @@ ["move", 6, 28, 30, 45], ["null", 3, 31, 14], ["null", 5, 32, 20], - ["get", 32, 16, 1, 33, 7], + ["get", 32, 4, 1, 33, 7], ["is_proxy", 33, 32, 33, 7], ["jump_false", 33, "record_path_36", 33, 7], ["null", 34, 33, 7], @@ -300,7 +300,7 @@ ["invoke", 39, 31, 33, 7], "call_done_37", ["jump_false", 31, "if_else_34", 33, 7], - ["get", 41, 16, 1, 34, 12], + ["get", 41, 4, 1, 34, 12], ["is_proxy", 42, 41, 34, 12], ["jump_false", 42, "record_path_38", 34, 12], ["null", 43, 34, 12], @@ -341,7 +341,7 @@ ["jump", "if_end_35", 35, 12], "if_else_34", "if_end_35", - ["get", 54, 16, 1, 37, 7], + ["get", 54, 4, 1, 37, 7], ["is_proxy", 55, 54, 37, 7], ["jump_false", 55, "record_path_42", 37, 7], ["null", 56, 37, 7], @@ -361,7 +361,7 @@ ["invoke", 61, 53, 37, 7], "call_done_43", ["jump_false", 53, "if_else_40", 37, 7], - ["get", 63, 16, 1, 38, 23], + ["get", 63, 4, 1, 38, 23], ["is_proxy", 64, 63, 38, 23], ["jump_false", 64, "record_path_44", 38, 23], ["null", 65, 38, 23], @@ -492,52 +492,52 @@ "nr_slots": 150, "nr_close_slots": 0, "instructions": [ - ["access", 10, "tokenize.cm", 62, 5], - ["access", 11, "parse.cm", 63, 5], - ["access", 12, "fold.cm", 64, 5], - ["access", 13, "mcode.cm", 65, 5], - ["access", 14, "streamline.cm", 66, 5], - ["access", 15, "qbe.cm", 67, 5], - ["access", 16, "qbe_emit.cm", 68, 5], - ["access", 17, "internal/bootstrap.cm", 69, 5], - ["access", 18, "internal/engine.cm", 70, 5], + ["access", 10, "tokenize.cm", 61, 5], + ["access", 11, "parse.cm", 62, 5], + ["access", 12, "fold.cm", 63, 5], + ["access", 13, "mcode.cm", 64, 5], + ["access", 14, "streamline.cm", 65, 5], + ["access", 15, "qbe.cm", 66, 5], + ["access", 16, "qbe_emit.cm", 67, 5], + ["access", 17, "internal/bootstrap.cm", 68, 5], + ["access", 18, "internal/engine.cm", 69, 5], ["array", 19, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18], - ["move", 7, 19, 70, 5], + ["move", 7, 19, 69, 5], ["array", 20, 0], - ["move", 2, 20, 72, 15], - ["access", 8, 0, 73, 12], - ["null", 1, 74, 17], - ["null", 3, 75, 19], - ["null", 9, 76, 20], - ["null", 4, 77, 17], - ["null", 5, 78, 23], - ["null", 6, 79, 20], + ["move", 2, 20, 71, 15], + ["access", 8, 0, 72, 12], + ["null", 1, 73, 17], + ["null", 3, 74, 19], + ["null", 9, 75, 20], + ["null", 4, 76, 17], + ["null", 5, 77, 23], + ["null", 6, 78, 20], "while_start_54", - ["length", 21, 7, 80, 22], - ["is_int", 23, 8, 80, 22], - ["jump_false", 23, "rel_ni_56", 80, 22], + ["length", 21, 7, 79, 22], + ["is_int", 23, 8, 79, 22], + ["jump_false", 23, "rel_ni_56", 79, 22], "_nop_tc_1", "_nop_tc_2", - ["lt_int", 22, 8, 21, 80, 22], - ["jump", "rel_done_58", 80, 22], + ["lt_int", 22, 8, 21, 79, 22], + ["jump", "rel_done_58", 79, 22], "rel_ni_56", - ["is_num", 23, 8, 80, 22], - ["jump_false", 23, "rel_nn_57", 80, 22], - ["is_num", 24, 21, 80, 22], - ["jump_false", 24, "rel_nn_57", 80, 22], - ["lt_float", 22, 8, 21, 80, 22], - ["jump", "rel_done_58", 80, 22], + ["is_num", 23, 8, 79, 22], + ["jump_false", 23, "rel_nn_57", 79, 22], + ["is_num", 24, 21, 79, 22], + ["jump_false", 24, "rel_nn_57", 79, 22], + ["lt_float", 22, 8, 21, 79, 22], + ["jump", "rel_done_58", 79, 22], "rel_nn_57", - ["is_text", 23, 8, 80, 22], - ["jump_false", 23, "rel_err_59", 80, 22], - ["is_text", 24, 21, 80, 22], - ["jump_false", 24, "rel_err_59", 80, 22], - ["lt_text", 22, 8, 21, 80, 22], - ["jump", "rel_done_58", 80, 22], + ["is_text", 23, 8, 79, 22], + ["jump_false", 23, "rel_err_59", 79, 22], + ["is_text", 24, 21, 79, 22], + ["jump_false", 24, "rel_err_59", 79, 22], + ["lt_text", 22, 8, 21, 79, 22], + ["jump", "rel_done_58", 79, 22], "rel_err_59", - ["disrupt", 80, 22], + ["disrupt", 79, 22], "rel_done_58", - ["jump_false", 22, "while_end_55", 80, 22], + ["jump_false", 22, "while_end_55", 79, 22], [ "access", 25, @@ -546,438 +546,438 @@ "kind": "name", "make": "intrinsic" }, - 81, + 80, 15 ], - ["access", 26, "/", 81, 27], - ["is_int", 28, 25, 81, 27], - ["jump_false", 28, "add_ni_60", 81, 27], + ["access", 26, "/", 80, 27], + ["is_int", 28, 25, 80, 27], + ["jump_false", 28, "add_ni_60", 80, 27], "_nop_tc_3", - ["jump", "add_ni_60", 81, 27], - ["add_int", 27, 25, 26, 81, 27], - ["jump", "add_done_62", 81, 27], + ["jump", "add_ni_60", 80, 27], + ["add_int", 27, 25, 26, 80, 27], + ["jump", "add_done_62", 80, 27], "add_ni_60", - ["is_text", 28, 25, 81, 27], - ["jump_false", 28, "add_nt_61", 81, 27], - ["concat", 27, 25, 26, 81, 27], - ["jump", "add_done_62", 81, 27], + ["is_text", 28, 25, 80, 27], + ["jump_false", 28, "add_nt_61", 80, 27], + ["concat", 27, 25, 26, 80, 27], + ["jump", "add_done_62", 80, 27], "add_nt_61", - ["is_num", 28, 25, 81, 27], - ["jump_false", 28, "add_err_63", 81, 27], - ["is_num", 29, 26, 81, 27], - ["jump_false", 29, "add_err_63", 81, 27], - ["add_float", 27, 25, 26, 81, 27], - ["jump", "add_done_62", 81, 27], + ["is_num", 28, 25, 80, 27], + ["jump_false", 28, "add_err_63", 80, 27], + ["is_num", 29, 26, 80, 27], + ["jump_false", 29, "add_err_63", 80, 27], + ["add_float", 27, 25, 26, 80, 27], + ["jump", "add_done_62", 80, 27], "add_err_63", - ["disrupt", 81, 27], + ["disrupt", 80, 27], "add_done_62", - ["load_dynamic", 30, 7, 8, 81, 41], - ["is_int", 32, 27, 81, 41], - ["jump_false", 32, "add_ni_64", 81, 41], - ["is_int", 33, 30, 81, 41], - ["jump_false", 33, "add_ni_64", 81, 41], - ["add_int", 31, 27, 30, 81, 41], - ["jump", "add_done_66", 81, 41], + ["load_dynamic", 30, 7, 8, 80, 41], + ["is_int", 32, 27, 80, 41], + ["jump_false", 32, "add_ni_64", 80, 41], + ["is_int", 33, 30, 80, 41], + ["jump_false", 33, "add_ni_64", 80, 41], + ["add_int", 31, 27, 30, 80, 41], + ["jump", "add_done_66", 80, 41], "add_ni_64", - ["is_text", 32, 27, 81, 41], - ["jump_false", 32, "add_nt_65", 81, 41], - ["is_text", 33, 30, 81, 41], - ["jump_false", 33, "add_nt_65", 81, 41], - ["concat", 31, 27, 30, 81, 41], - ["jump", "add_done_66", 81, 41], + ["is_text", 32, 27, 80, 41], + ["jump_false", 32, "add_nt_65", 80, 41], + ["is_text", 33, 30, 80, 41], + ["jump_false", 33, "add_nt_65", 80, 41], + ["concat", 31, 27, 30, 80, 41], + ["jump", "add_done_66", 80, 41], "add_nt_65", - ["is_num", 32, 27, 81, 41], - ["jump_false", 32, "add_err_67", 81, 41], - ["is_num", 33, 30, 81, 41], - ["jump_false", 33, "add_err_67", 81, 41], - ["add_float", 31, 27, 30, 81, 41], - ["jump", "add_done_66", 81, 41], + ["is_num", 32, 27, 80, 41], + ["jump_false", 32, "add_err_67", 80, 41], + ["is_num", 33, 30, 80, 41], + ["jump_false", 33, "add_err_67", 80, 41], + ["add_float", 31, 27, 30, 80, 41], + ["jump", "add_done_66", 80, 41], "add_err_67", - ["disrupt", 81, 41], + ["disrupt", 80, 41], "add_done_66", - ["move", 1, 31, 81, 41], - ["access", 34, ".mach", 82, 27], - ["is_int", 36, 1, 82, 27], - ["jump_false", 36, "add_ni_68", 82, 27], + ["move", 1, 31, 80, 41], + ["access", 34, ".mach", 81, 27], + ["is_int", 36, 1, 81, 27], + ["jump_false", 36, "add_ni_68", 81, 27], "_nop_tc_4", - ["jump", "add_ni_68", 82, 27], - ["add_int", 35, 1, 34, 82, 27], - ["jump", "add_done_70", 82, 27], + ["jump", "add_ni_68", 81, 27], + ["add_int", 35, 1, 34, 81, 27], + ["jump", "add_done_70", 81, 27], "add_ni_68", - ["is_text", 36, 1, 82, 27], - ["jump_false", 36, "add_nt_69", 82, 27], - ["concat", 35, 1, 34, 82, 27], - ["jump", "add_done_70", 82, 27], + ["is_text", 36, 1, 81, 27], + ["jump_false", 36, "add_nt_69", 81, 27], + ["concat", 35, 1, 34, 81, 27], + ["jump", "add_done_70", 81, 27], "add_nt_69", - ["is_num", 36, 1, 82, 27], - ["jump_false", 36, "add_err_71", 82, 27], - ["is_num", 37, 34, 82, 27], - ["jump_false", 37, "add_err_71", 82, 27], - ["add_float", 35, 1, 34, 82, 27], - ["jump", "add_done_70", 82, 27], + ["is_num", 36, 1, 81, 27], + ["jump_false", 36, "add_err_71", 81, 27], + ["is_num", 37, 34, 81, 27], + ["jump_false", 37, "add_err_71", 81, 27], + ["add_float", 35, 1, 34, 81, 27], + ["jump", "add_done_70", 81, 27], "add_err_71", - ["disrupt", 82, 27], + ["disrupt", 81, 27], "add_done_70", - ["move", 3, 35, 82, 27], - ["access", 38, ".mcode", 83, 28], - ["is_int", 40, 1, 83, 28], - ["jump_false", 40, "add_ni_72", 83, 28], + ["move", 3, 35, 81, 27], + ["access", 38, ".mcode", 82, 28], + ["is_int", 40, 1, 82, 28], + ["jump_false", 40, "add_ni_72", 82, 28], "_nop_tc_5", - ["jump", "add_ni_72", 83, 28], - ["add_int", 39, 1, 38, 83, 28], - ["jump", "add_done_74", 83, 28], + ["jump", "add_ni_72", 82, 28], + ["add_int", 39, 1, 38, 82, 28], + ["jump", "add_done_74", 82, 28], "add_ni_72", - ["is_text", 40, 1, 83, 28], - ["jump_false", 40, "add_nt_73", 83, 28], - ["concat", 39, 1, 38, 83, 28], - ["jump", "add_done_74", 83, 28], + ["is_text", 40, 1, 82, 28], + ["jump_false", 40, "add_nt_73", 82, 28], + ["concat", 39, 1, 38, 82, 28], + ["jump", "add_done_74", 82, 28], "add_nt_73", - ["is_num", 40, 1, 83, 28], - ["jump_false", 40, "add_err_75", 83, 28], - ["is_num", 41, 38, 83, 28], - ["jump_false", 41, "add_err_75", 83, 28], - ["add_float", 39, 1, 38, 83, 28], - ["jump", "add_done_74", 83, 28], + ["is_num", 40, 1, 82, 28], + ["jump_false", 40, "add_err_75", 82, 28], + ["is_num", 41, 38, 82, 28], + ["jump_false", 41, "add_err_75", 82, 28], + ["add_float", 39, 1, 38, 82, 28], + ["jump", "add_done_74", 82, 28], "add_err_75", - ["disrupt", 83, 28], + ["disrupt", 82, 28], "add_done_74", - ["move", 9, 39, 83, 28], - ["null", 42, 84, 18], - ["move", 6, 42, 84, 18], - ["get", 44, 16, 1, 85, 9], - ["is_proxy", 45, 44, 85, 9], - ["jump_false", 45, "record_path_78", 85, 9], - ["null", 46, 85, 9], - ["access", 47, "is_file", 85, 9], - ["array", 48, 1, 3, 85, 9], - ["frame", 49, 44, 2, 85, 9], - ["setarg", 49, 0, 46, 85, 9], - ["setarg", 49, 1, 47, 85, 9], - ["setarg", 49, 2, 48, 85, 9], - ["invoke", 49, 43, 85, 9], - ["jump", "call_done_79", 85, 9], + ["move", 9, 39, 82, 28], + ["null", 42, 83, 18], + ["move", 6, 42, 83, 18], + ["get", 44, 4, 1, 84, 9], + ["is_proxy", 45, 44, 84, 9], + ["jump_false", 45, "record_path_78", 84, 9], + ["null", 46, 84, 9], + ["access", 47, "is_file", 84, 9], + ["array", 48, 1, 3, 84, 9], + ["frame", 49, 44, 2, 84, 9], + ["setarg", 49, 0, 46, 84, 9], + ["setarg", 49, 1, 47, 84, 9], + ["setarg", 49, 2, 48, 84, 9], + ["invoke", 49, 43, 84, 9], + ["jump", "call_done_79", 84, 9], "record_path_78", - ["load_field", 50, 44, "is_file", 85, 9], - ["frame", 51, 50, 1, 85, 9], - ["setarg", 51, 0, 44, 85, 9], - ["setarg", 51, 1, 3, 85, 9], - ["invoke", 51, 43, 85, 9], + ["load_field", 50, 44, "is_file", 84, 9], + ["frame", 51, 50, 1, 84, 9], + ["setarg", 51, 0, 44, 84, 9], + ["setarg", 51, 1, 3, 84, 9], + ["invoke", 51, 43, 84, 9], "call_done_79", - ["jump_false", 43, "if_else_76", 85, 9], - ["get", 53, 16, 1, 86, 20], - ["is_proxy", 54, 53, 86, 20], - ["jump_false", 54, "record_path_80", 86, 20], - ["null", 55, 86, 20], - ["access", 56, "stat", 86, 20], - ["array", 57, 1, 3, 86, 20], - ["frame", 58, 53, 2, 86, 20], - ["setarg", 58, 0, 55, 86, 20], - ["setarg", 58, 1, 56, 86, 20], - ["setarg", 58, 2, 57, 86, 20], - ["invoke", 58, 52, 86, 20], - ["jump", "call_done_81", 86, 20], + ["jump_false", 43, "if_else_76", 84, 9], + ["get", 53, 4, 1, 85, 20], + ["is_proxy", 54, 53, 85, 20], + ["jump_false", 54, "record_path_80", 85, 20], + ["null", 55, 85, 20], + ["access", 56, "stat", 85, 20], + ["array", 57, 1, 3, 85, 20], + ["frame", 58, 53, 2, 85, 20], + ["setarg", 58, 0, 55, 85, 20], + ["setarg", 58, 1, 56, 85, 20], + ["setarg", 58, 2, 57, 85, 20], + ["invoke", 58, 52, 85, 20], + ["jump", "call_done_81", 85, 20], "record_path_80", - ["load_field", 59, 53, "stat", 86, 20], - ["frame", 60, 59, 1, 86, 20], - ["setarg", 60, 0, 53, 86, 20], - ["setarg", 60, 1, 3, 86, 20], - ["invoke", 60, 52, 86, 20], + ["load_field", 59, 53, "stat", 85, 20], + ["frame", 60, 59, 1, 85, 20], + ["setarg", 60, 0, 53, 85, 20], + ["setarg", 60, 1, 3, 85, 20], + ["invoke", 60, 52, 85, 20], "call_done_81", - ["load_field", 61, 52, "mtime", 86, 20], - ["move", 6, 61, 86, 20], - ["jump", "if_end_77", 86, 20], + ["load_field", 61, 52, "mtime", 85, 20], + ["move", 6, 61, 85, 20], + ["jump", "if_end_77", 85, 20], "if_else_76", "if_end_77", - ["get", 63, 16, 1, 88, 9], - ["is_proxy", 64, 63, 88, 9], - ["jump_false", 64, "record_path_84", 88, 9], - ["null", 65, 88, 9], - ["access", 66, "is_file", 88, 9], - ["array", 67, 1, 9, 88, 9], - ["frame", 68, 63, 2, 88, 9], - ["setarg", 68, 0, 65, 88, 9], - ["setarg", 68, 1, 66, 88, 9], - ["setarg", 68, 2, 67, 88, 9], - ["invoke", 68, 62, 88, 9], - ["jump", "call_done_85", 88, 9], + ["get", 63, 4, 1, 87, 9], + ["is_proxy", 64, 63, 87, 9], + ["jump_false", 64, "record_path_84", 87, 9], + ["null", 65, 87, 9], + ["access", 66, "is_file", 87, 9], + ["array", 67, 1, 9, 87, 9], + ["frame", 68, 63, 2, 87, 9], + ["setarg", 68, 0, 65, 87, 9], + ["setarg", 68, 1, 66, 87, 9], + ["setarg", 68, 2, 67, 87, 9], + ["invoke", 68, 62, 87, 9], + ["jump", "call_done_85", 87, 9], "record_path_84", - ["load_field", 69, 63, "is_file", 88, 9], - ["frame", 70, 69, 1, 88, 9], - ["setarg", 70, 0, 63, 88, 9], - ["setarg", 70, 1, 9, 88, 9], - ["invoke", 70, 62, 88, 9], + ["load_field", 69, 63, "is_file", 87, 9], + ["frame", 70, 69, 1, 87, 9], + ["setarg", 70, 0, 63, 87, 9], + ["setarg", 70, 1, 9, 87, 9], + ["invoke", 70, 62, 87, 9], "call_done_85", - ["jump_false", 62, "if_else_82", 88, 9], - ["get", 72, 16, 1, 89, 23], - ["is_proxy", 73, 72, 89, 23], - ["jump_false", 73, "record_path_86", 89, 23], - ["null", 74, 89, 23], - ["access", 75, "stat", 89, 23], - ["array", 76, 1, 9, 89, 23], - ["frame", 77, 72, 2, 89, 23], - ["setarg", 77, 0, 74, 89, 23], - ["setarg", 77, 1, 75, 89, 23], - ["setarg", 77, 2, 76, 89, 23], - ["invoke", 77, 71, 89, 23], - ["jump", "call_done_87", 89, 23], + ["jump_false", 62, "if_else_82", 87, 9], + ["get", 72, 4, 1, 88, 23], + ["is_proxy", 73, 72, 88, 23], + ["jump_false", 73, "record_path_86", 88, 23], + ["null", 74, 88, 23], + ["access", 75, "stat", 88, 23], + ["array", 76, 1, 9, 88, 23], + ["frame", 77, 72, 2, 88, 23], + ["setarg", 77, 0, 74, 88, 23], + ["setarg", 77, 1, 75, 88, 23], + ["setarg", 77, 2, 76, 88, 23], + ["invoke", 77, 71, 88, 23], + ["jump", "call_done_87", 88, 23], "record_path_86", - ["load_field", 78, 72, "stat", 89, 23], - ["frame", 79, 78, 1, 89, 23], - ["setarg", 79, 0, 72, 89, 23], - ["setarg", 79, 1, 9, 89, 23], - ["invoke", 79, 71, 89, 23], + ["load_field", 78, 72, "stat", 88, 23], + ["frame", 79, 78, 1, 88, 23], + ["setarg", 79, 0, 72, 88, 23], + ["setarg", 79, 1, 9, 88, 23], + ["invoke", 79, 71, 88, 23], "call_done_87", - ["move", 5, 71, 89, 23], - ["null", 80, 90, 25], - ["is_identical", 81, 6, 80, 90, 25], - ["jump_true", 81, "eq_done_91", 90, 25], - ["is_int", 82, 6, 90, 25], - ["jump_false", 82, "eq_ni_92", 90, 25], + ["move", 5, 71, 88, 23], + ["null", 80, 89, 25], + ["is_identical", 81, 6, 80, 89, 25], + ["jump_true", 81, "eq_done_91", 89, 25], + ["is_int", 82, 6, 89, 25], + ["jump_false", 82, "eq_ni_92", 89, 25], "_nop_tc_6", - ["jump", "eq_ni_92", 90, 25], - ["eq_int", 81, 6, 80, 90, 25], - ["jump", "eq_done_91", 90, 25], + ["jump", "eq_ni_92", 89, 25], + ["eq_int", 81, 6, 80, 89, 25], + ["jump", "eq_done_91", 89, 25], "eq_ni_92", - ["is_num", 82, 6, 90, 25], - ["jump_false", 82, "eq_nn_93", 90, 25], - ["is_num", 83, 80, 90, 25], - ["jump_false", 83, "eq_nn_93", 90, 25], - ["eq_float", 81, 6, 80, 90, 25], - ["jump", "eq_done_91", 90, 25], + ["is_num", 82, 6, 89, 25], + ["jump_false", 82, "eq_nn_93", 89, 25], + ["is_num", 83, 80, 89, 25], + ["jump_false", 83, "eq_nn_93", 89, 25], + ["eq_float", 81, 6, 80, 89, 25], + ["jump", "eq_done_91", 89, 25], "eq_nn_93", - ["is_text", 82, 6, 90, 25], - ["jump_false", 82, "eq_nt_94", 90, 25], - ["is_text", 83, 80, 90, 25], - ["jump_false", 83, "eq_nt_94", 90, 25], - ["eq_text", 81, 6, 80, 90, 25], - ["jump", "eq_done_91", 90, 25], + ["is_text", 82, 6, 89, 25], + ["jump_false", 82, "eq_nt_94", 89, 25], + ["is_text", 83, 80, 89, 25], + ["jump_false", 83, "eq_nt_94", 89, 25], + ["eq_text", 81, 6, 80, 89, 25], + ["jump", "eq_done_91", 89, 25], "eq_nt_94", - ["is_null", 82, 6, 90, 25], - ["jump_false", 82, "eq_nnl_95", 90, 25], - ["is_null", 83, 80, 90, 25], - ["jump_false", 83, "eq_nnl_95", 90, 25], - ["true", 81, 90, 25], - ["jump", "eq_done_91", 90, 25], + ["is_null", 82, 6, 89, 25], + ["jump_false", 82, "eq_nnl_95", 89, 25], + ["is_null", 83, 80, 89, 25], + ["jump_false", 83, "eq_nnl_95", 89, 25], + ["true", 81, 89, 25], + ["jump", "eq_done_91", 89, 25], "eq_nnl_95", - ["is_bool", 82, 6, 90, 25], - ["jump_false", 82, "eq_nb_96", 90, 25], - ["is_bool", 83, 80, 90, 25], - ["jump_false", 83, "eq_nb_96", 90, 25], - ["eq_bool", 81, 6, 80, 90, 25], - ["jump", "eq_done_91", 90, 25], + ["is_bool", 82, 6, 89, 25], + ["jump_false", 82, "eq_nb_96", 89, 25], + ["is_bool", 83, 80, 89, 25], + ["jump_false", 83, "eq_nb_96", 89, 25], + ["eq_bool", 81, 6, 80, 89, 25], + ["jump", "eq_done_91", 89, 25], "eq_nb_96", - ["false", 81, 90, 25], + ["false", 81, 89, 25], "eq_done_91", - ["move", 84, 81, 90, 25], - ["jump_true", 84, "or_end_90", 90, 25], - ["load_field", 85, 5, "mtime", 90, 33], - ["is_int", 87, 85, 90, 55], - ["jump_false", 87, "rel_ni_97", 90, 55], - ["is_int", 88, 6, 90, 55], - ["jump_false", 88, "rel_ni_97", 90, 55], - ["gt_int", 86, 85, 6, 90, 55], - ["jump", "rel_done_99", 90, 55], + ["move", 84, 81, 89, 25], + ["jump_true", 84, "or_end_90", 89, 25], + ["load_field", 85, 5, "mtime", 89, 33], + ["is_int", 87, 85, 89, 55], + ["jump_false", 87, "rel_ni_97", 89, 55], + ["is_int", 88, 6, 89, 55], + ["jump_false", 88, "rel_ni_97", 89, 55], + ["gt_int", 86, 85, 6, 89, 55], + ["jump", "rel_done_99", 89, 55], "rel_ni_97", - ["is_num", 87, 85, 90, 55], - ["jump_false", 87, "rel_nn_98", 90, 55], - ["is_num", 88, 6, 90, 55], - ["jump_false", 88, "rel_nn_98", 90, 55], - ["gt_float", 86, 85, 6, 90, 55], - ["jump", "rel_done_99", 90, 55], + ["is_num", 87, 85, 89, 55], + ["jump_false", 87, "rel_nn_98", 89, 55], + ["is_num", 88, 6, 89, 55], + ["jump_false", 88, "rel_nn_98", 89, 55], + ["gt_float", 86, 85, 6, 89, 55], + ["jump", "rel_done_99", 89, 55], "rel_nn_98", - ["is_text", 87, 85, 90, 55], - ["jump_false", 87, "rel_err_100", 90, 55], - ["is_text", 88, 6, 90, 55], - ["jump_false", 88, "rel_err_100", 90, 55], - ["gt_text", 86, 85, 6, 90, 55], - ["jump", "rel_done_99", 90, 55], + ["is_text", 87, 85, 89, 55], + ["jump_false", 87, "rel_err_100", 89, 55], + ["is_text", 88, 6, 89, 55], + ["jump_false", 88, "rel_err_100", 89, 55], + ["gt_text", 86, 85, 6, 89, 55], + ["jump", "rel_done_99", 89, 55], "rel_err_100", - ["disrupt", 90, 55], + ["disrupt", 89, 55], "rel_done_99", - ["move", 84, 86, 90, 55], + ["move", 84, 86, 89, 55], "or_end_90", - ["jump_false", 84, "if_else_88", 90, 55], - ["load_field", 89, 5, "mtime", 91, 22], - ["move", 6, 89, 91, 22], - ["jump", "if_end_89", 91, 22], + ["jump_false", 84, "if_else_88", 89, 55], + ["load_field", 89, 5, "mtime", 90, 22], + ["move", 6, 89, 90, 22], + ["jump", "if_end_89", 90, 22], "if_else_88", "if_end_89", - ["jump", "if_end_83", 91, 22], + ["jump", "if_end_83", 90, 22], "if_else_82", "if_end_83", - ["null", 90, 94, 23], - ["is_identical", 91, 6, 90, 94, 23], - ["jump_true", 91, "ne_nid_105", 94, 23], - ["jump", "ne_ni_106", 94, 23], + ["null", 90, 93, 23], + ["is_identical", 91, 6, 90, 93, 23], + ["jump_true", 91, "ne_nid_105", 93, 23], + ["jump", "ne_ni_106", 93, 23], "ne_nid_105", - ["false", 91, 94, 23], - ["jump", "ne_done_104", 94, 23], + ["false", 91, 93, 23], + ["jump", "ne_done_104", 93, 23], "ne_ni_106", - ["is_int", 92, 6, 94, 23], - ["jump_false", 92, "ne_nn_107", 94, 23], - ["is_int", 93, 90, 94, 23], - ["jump_false", 93, "ne_nn_107", 94, 23], - ["ne_int", 91, 6, 90, 94, 23], - ["jump", "ne_done_104", 94, 23], + ["is_int", 92, 6, 93, 23], + ["jump_false", 92, "ne_nn_107", 93, 23], + ["is_int", 93, 90, 93, 23], + ["jump_false", 93, "ne_nn_107", 93, 23], + ["ne_int", 91, 6, 90, 93, 23], + ["jump", "ne_done_104", 93, 23], "ne_nn_107", - ["is_num", 92, 6, 94, 23], - ["jump_false", 92, "ne_nt_108", 94, 23], - ["is_num", 93, 90, 94, 23], - ["jump_false", 93, "ne_nt_108", 94, 23], - ["ne_float", 91, 6, 90, 94, 23], - ["jump", "ne_done_104", 94, 23], + ["is_num", 92, 6, 93, 23], + ["jump_false", 92, "ne_nt_108", 93, 23], + ["is_num", 93, 90, 93, 23], + ["jump_false", 93, "ne_nt_108", 93, 23], + ["ne_float", 91, 6, 90, 93, 23], + ["jump", "ne_done_104", 93, 23], "ne_nt_108", - ["is_text", 92, 6, 94, 23], - ["jump_false", 92, "ne_nnl_109", 94, 23], - ["is_text", 93, 90, 94, 23], - ["jump_false", 93, "ne_nnl_109", 94, 23], - ["ne_text", 91, 6, 90, 94, 23], - ["jump", "ne_done_104", 94, 23], + ["is_text", 92, 6, 93, 23], + ["jump_false", 92, "ne_nnl_109", 93, 23], + ["is_text", 93, 90, 93, 23], + ["jump_false", 93, "ne_nnl_109", 93, 23], + ["ne_text", 91, 6, 90, 93, 23], + ["jump", "ne_done_104", 93, 23], "ne_nnl_109", - ["is_null", 92, 6, 94, 23], - ["jump_false", 92, "ne_nb_110", 94, 23], - ["is_null", 93, 90, 94, 23], - ["jump_false", 93, "ne_nb_110", 94, 23], - ["false", 91, 94, 23], - ["jump", "ne_done_104", 94, 23], + ["is_null", 92, 6, 93, 23], + ["jump_false", 92, "ne_nb_110", 93, 23], + ["is_null", 93, 90, 93, 23], + ["jump_false", 93, "ne_nb_110", 93, 23], + ["false", 91, 93, 23], + ["jump", "ne_done_104", 93, 23], "ne_nb_110", - ["is_bool", 92, 6, 94, 23], - ["jump_false", 92, "ne_mis_111", 94, 23], - ["is_bool", 93, 90, 94, 23], - ["jump_false", 93, "ne_mis_111", 94, 23], - ["ne_bool", 91, 6, 90, 94, 23], - ["jump", "ne_done_104", 94, 23], + ["is_bool", 92, 6, 93, 23], + ["jump_false", 92, "ne_mis_111", 93, 23], + ["is_bool", 93, 90, 93, 23], + ["jump_false", 93, "ne_mis_111", 93, 23], + ["ne_bool", 91, 6, 90, 93, 23], + ["jump", "ne_done_104", 93, 23], "ne_mis_111", - ["true", 91, 94, 23], + ["true", 91, 93, 23], "ne_done_104", - ["move", 94, 91, 94, 23], - ["jump_false", 94, "and_end_103", 94, 23], - ["get", 96, 16, 1, 94, 31], - ["is_proxy", 97, 96, 94, 31], - ["jump_false", 97, "record_path_112", 94, 31], - ["null", 98, 94, 31], - ["access", 99, "is_file", 94, 31], - ["array", 100, 1, 1, 94, 31], - ["frame", 101, 96, 2, 94, 31], - ["setarg", 101, 0, 98, 94, 31], - ["setarg", 101, 1, 99, 94, 31], - ["setarg", 101, 2, 100, 94, 31], - ["invoke", 101, 95, 94, 31], - ["jump", "call_done_113", 94, 31], + ["move", 94, 91, 93, 23], + ["jump_false", 94, "and_end_103", 93, 23], + ["get", 96, 4, 1, 93, 31], + ["is_proxy", 97, 96, 93, 31], + ["jump_false", 97, "record_path_112", 93, 31], + ["null", 98, 93, 31], + ["access", 99, "is_file", 93, 31], + ["array", 100, 1, 1, 93, 31], + ["frame", 101, 96, 2, 93, 31], + ["setarg", 101, 0, 98, 93, 31], + ["setarg", 101, 1, 99, 93, 31], + ["setarg", 101, 2, 100, 93, 31], + ["invoke", 101, 95, 93, 31], + ["jump", "call_done_113", 93, 31], "record_path_112", - ["load_field", 102, 96, "is_file", 94, 31], - ["frame", 103, 102, 1, 94, 31], - ["setarg", 103, 0, 96, 94, 31], - ["setarg", 103, 1, 1, 94, 31], - ["invoke", 103, 95, 94, 31], + ["load_field", 102, 96, "is_file", 93, 31], + ["frame", 103, 102, 1, 93, 31], + ["setarg", 103, 0, 96, 93, 31], + ["setarg", 103, 1, 1, 93, 31], + ["invoke", 103, 95, 93, 31], "call_done_113", - ["move", 94, 95, 94, 31], + ["move", 94, 95, 93, 31], "and_end_103", - ["jump_false", 94, "if_else_101", 94, 31], - ["get", 105, 16, 1, 95, 17], - ["is_proxy", 106, 105, 95, 17], - ["jump_false", 106, "record_path_114", 95, 17], - ["null", 107, 95, 17], - ["access", 108, "stat", 95, 17], - ["array", 109, 1, 1, 95, 17], - ["frame", 110, 105, 2, 95, 17], - ["setarg", 110, 0, 107, 95, 17], - ["setarg", 110, 1, 108, 95, 17], - ["setarg", 110, 2, 109, 95, 17], - ["invoke", 110, 104, 95, 17], - ["jump", "call_done_115", 95, 17], + ["jump_false", 94, "if_else_101", 93, 31], + ["get", 105, 4, 1, 94, 17], + ["is_proxy", 106, 105, 94, 17], + ["jump_false", 106, "record_path_114", 94, 17], + ["null", 107, 94, 17], + ["access", 108, "stat", 94, 17], + ["array", 109, 1, 1, 94, 17], + ["frame", 110, 105, 2, 94, 17], + ["setarg", 110, 0, 107, 94, 17], + ["setarg", 110, 1, 108, 94, 17], + ["setarg", 110, 2, 109, 94, 17], + ["invoke", 110, 104, 94, 17], + ["jump", "call_done_115", 94, 17], "record_path_114", - ["load_field", 111, 105, "stat", 95, 17], - ["frame", 112, 111, 1, 95, 17], - ["setarg", 112, 0, 105, 95, 17], - ["setarg", 112, 1, 1, 95, 17], - ["invoke", 112, 104, 95, 17], + ["load_field", 111, 105, "stat", 94, 17], + ["frame", 112, 111, 1, 94, 17], + ["setarg", 112, 0, 105, 94, 17], + ["setarg", 112, 1, 1, 94, 17], + ["invoke", 112, 104, 94, 17], "call_done_115", - ["move", 4, 104, 95, 17], - ["load_field", 113, 4, "mtime", 96, 11], - ["is_int", 115, 113, 96, 27], - ["jump_false", 115, "rel_ni_118", 96, 27], - ["is_int", 116, 6, 96, 27], - ["jump_false", 116, "rel_ni_118", 96, 27], - ["gt_int", 114, 113, 6, 96, 27], - ["jump", "rel_done_120", 96, 27], + ["move", 4, 104, 94, 17], + ["load_field", 113, 4, "mtime", 95, 11], + ["is_int", 115, 113, 95, 27], + ["jump_false", 115, "rel_ni_118", 95, 27], + ["is_int", 116, 6, 95, 27], + ["jump_false", 116, "rel_ni_118", 95, 27], + ["gt_int", 114, 113, 6, 95, 27], + ["jump", "rel_done_120", 95, 27], "rel_ni_118", - ["is_num", 115, 113, 96, 27], - ["jump_false", 115, "rel_nn_119", 96, 27], - ["is_num", 116, 6, 96, 27], - ["jump_false", 116, "rel_nn_119", 96, 27], - ["gt_float", 114, 113, 6, 96, 27], - ["jump", "rel_done_120", 96, 27], + ["is_num", 115, 113, 95, 27], + ["jump_false", 115, "rel_nn_119", 95, 27], + ["is_num", 116, 6, 95, 27], + ["jump_false", 116, "rel_nn_119", 95, 27], + ["gt_float", 114, 113, 6, 95, 27], + ["jump", "rel_done_120", 95, 27], "rel_nn_119", - ["is_text", 115, 113, 96, 27], - ["jump_false", 115, "rel_err_121", 96, 27], - ["is_text", 116, 6, 96, 27], - ["jump_false", 116, "rel_err_121", 96, 27], - ["gt_text", 114, 113, 6, 96, 27], - ["jump", "rel_done_120", 96, 27], + ["is_text", 115, 113, 95, 27], + ["jump_false", 115, "rel_err_121", 95, 27], + ["is_text", 116, 6, 95, 27], + ["jump_false", 116, "rel_err_121", 95, 27], + ["gt_text", 114, 113, 6, 95, 27], + ["jump", "rel_done_120", 95, 27], "rel_err_121", - ["disrupt", 96, 27], + ["disrupt", 95, 27], "rel_done_120", - ["jump_false", 114, "if_else_116", 96, 27], - ["load_dynamic", 117, 7, 8, 97, 29], - ["push", 2, 117, 97, 29], - ["jump", "if_end_117", 97, 29], + ["jump_false", 114, "if_else_116", 95, 27], + ["load_dynamic", 117, 7, 8, 96, 29], + ["push", 2, 117, 96, 29], + ["jump", "if_end_117", 96, 29], "if_else_116", "if_end_117", - ["jump", "if_end_102", 97, 29], + ["jump", "if_end_102", 96, 29], "if_else_101", "if_end_102", - ["access", 118, 1, 100, 15], - ["is_int", 120, 8, 100, 15], - ["jump_false", 120, "add_ni_122", 100, 15], - ["add_int", 119, 8, 118, 100, 15], - ["jump", "add_done_124", 100, 15], + ["access", 118, 1, 99, 15], + ["is_int", 120, 8, 99, 15], + ["jump_false", 120, "add_ni_122", 99, 15], + ["add_int", 119, 8, 118, 99, 15], + ["jump", "add_done_124", 99, 15], "add_ni_122", - ["is_text", 120, 8, 100, 15], - ["jump_false", 120, "add_nt_123", 100, 15], - ["is_text", 121, 118, 100, 15], - ["jump_false", 121, "add_nt_123", 100, 15], - ["concat", 119, 8, 118, 100, 15], - ["jump", "add_done_124", 100, 15], + ["is_text", 120, 8, 99, 15], + ["jump_false", 120, "add_nt_123", 99, 15], + ["is_text", 121, 118, 99, 15], + ["jump_false", 121, "add_nt_123", 99, 15], + ["concat", 119, 8, 118, 99, 15], + ["jump", "add_done_124", 99, 15], "add_nt_123", - ["is_num", 120, 8, 100, 15], - ["jump_false", 120, "add_err_125", 100, 15], - ["add_float", 119, 8, 118, 100, 15], - ["jump", "add_done_124", 100, 15], + ["is_num", 120, 8, 99, 15], + ["jump_false", 120, "add_err_125", 99, 15], + ["add_float", 119, 8, 118, 99, 15], + ["jump", "add_done_124", 99, 15], "add_err_125", - ["disrupt", 100, 15], + ["disrupt", 99, 15], "add_done_124", - ["move", 8, 119, 100, 15], - ["jump", "while_start_54", 100, 15], + ["move", 8, 119, 99, 15], + ["jump", "while_start_54", 99, 15], "while_end_55", - ["length", 122, 2, 102, 14], - ["access", 123, 0, 102, 23], + ["length", 122, 2, 101, 14], + ["access", 123, 0, 101, 23], "_nop_tc_7", "_nop_tc_8", "_nop_tc_9", - ["jump", "rel_ni_128", 102, 23], - ["gt_int", 124, 122, 123, 102, 23], - ["jump", "rel_done_130", 102, 23], + ["jump", "rel_ni_128", 101, 23], + ["gt_int", 124, 122, 123, 101, 23], + ["jump", "rel_done_130", 101, 23], "rel_ni_128", - ["is_num", 125, 122, 102, 23], - ["jump_false", 125, "rel_nn_129", 102, 23], - ["is_num", 126, 123, 102, 23], - ["jump_false", 126, "rel_nn_129", 102, 23], - ["gt_float", 124, 122, 123, 102, 23], - ["jump", "rel_done_130", 102, 23], + ["is_num", 125, 122, 101, 23], + ["jump_false", 125, "rel_nn_129", 101, 23], + ["is_num", 126, 123, 101, 23], + ["jump_false", 126, "rel_nn_129", 101, 23], + ["gt_float", 124, 122, 123, 101, 23], + ["jump", "rel_done_130", 101, 23], "rel_nn_129", - ["is_text", 125, 122, 102, 23], - ["jump_false", 125, "rel_err_131", 102, 23], - ["is_text", 126, 123, 102, 23], - ["jump_false", 126, "rel_err_131", 102, 23], - ["gt_text", 124, 122, 123, 102, 23], - ["jump", "rel_done_130", 102, 23], + ["is_text", 125, 122, 101, 23], + ["jump_false", 125, "rel_err_131", 101, 23], + ["is_text", 126, 123, 101, 23], + ["jump_false", 126, "rel_err_131", 101, 23], + ["gt_text", 124, 122, 123, 101, 23], + ["jump", "rel_done_130", 101, 23], "rel_err_131", - ["disrupt", 102, 23], + ["disrupt", 101, 23], "rel_done_130", - ["jump_false", 124, "if_else_126", 102, 23], - ["access", 127, "warning: bytecode is stale for: ", 103, 11], - ["access", 128, ", ", 103, 60], + ["jump_false", 124, "if_else_126", 101, 23], + ["access", 127, "warning: bytecode is stale for: ", 102, 11], + ["access", 128, ", ", 102, 60], [ "access", 130, @@ -986,57 +986,57 @@ "kind": "name", "make": "intrinsic" }, - 103, + 102, 48 ], - ["frame", 131, 130, 2, 103, 48], - ["null", 132, 103, 48], - ["setarg", 131, 0, 132, 103, 48], - ["setarg", 131, 1, 2, 103, 48], - ["setarg", 131, 2, 128, 103, 48], - ["invoke", 131, 129, 103, 48], + ["frame", 131, 130, 2, 102, 48], + ["null", 132, 102, 48], + ["setarg", 131, 0, 132, 102, 48], + ["setarg", 131, 1, 2, 102, 48], + ["setarg", 131, 2, 128, 102, 48], + ["invoke", 131, 129, 102, 48], "_nop_tc_10", - ["jump", "add_ni_132", 103, 48], - ["is_int", 135, 129, 103, 48], - ["jump_false", 135, "add_ni_132", 103, 48], - ["add_int", 133, 127, 129, 103, 48], - ["jump", "add_done_134", 103, 48], + ["jump", "add_ni_132", 102, 48], + ["is_int", 135, 129, 102, 48], + ["jump_false", 135, "add_ni_132", 102, 48], + ["add_int", 133, 127, 129, 102, 48], + ["jump", "add_done_134", 102, 48], "add_ni_132", - ["is_text", 135, 129, 103, 48], - ["jump_false", 135, "add_nt_133", 103, 48], - ["concat", 133, 127, 129, 103, 48], - ["jump", "add_done_134", 103, 48], + ["is_text", 135, 129, 102, 48], + ["jump_false", 135, "add_nt_133", 102, 48], + ["concat", 133, 127, 129, 102, 48], + ["jump", "add_done_134", 102, 48], "add_nt_133", - ["is_num", 134, 127, 103, 48], - ["jump_false", 134, "add_err_135", 103, 48], - ["is_num", 135, 129, 103, 48], - ["jump_false", 135, "add_err_135", 103, 48], - ["add_float", 133, 127, 129, 103, 48], - ["jump", "add_done_134", 103, 48], + ["is_num", 134, 127, 102, 48], + ["jump_false", 134, "add_err_135", 102, 48], + ["is_num", 135, 129, 102, 48], + ["jump_false", 135, "add_err_135", 102, 48], + ["add_float", 133, 127, 129, 102, 48], + ["jump", "add_done_134", 102, 48], "add_err_135", - ["disrupt", 103, 48], + ["disrupt", 102, 48], "add_done_134", - ["access", 136, "\n", 103, 68], - ["is_int", 138, 133, 103, 68], - ["jump_false", 138, "add_ni_136", 103, 68], + ["access", 136, "\n", 102, 68], + ["is_int", 138, 133, 102, 68], + ["jump_false", 138, "add_ni_136", 102, 68], "_nop_tc_11", - ["jump", "add_ni_136", 103, 68], - ["add_int", 137, 133, 136, 103, 68], - ["jump", "add_done_138", 103, 68], + ["jump", "add_ni_136", 102, 68], + ["add_int", 137, 133, 136, 102, 68], + ["jump", "add_done_138", 102, 68], "add_ni_136", - ["is_text", 138, 133, 103, 68], - ["jump_false", 138, "add_nt_137", 103, 68], - ["concat", 137, 133, 136, 103, 68], - ["jump", "add_done_138", 103, 68], + ["is_text", 138, 133, 102, 68], + ["jump_false", 138, "add_nt_137", 102, 68], + ["concat", 137, 133, 136, 102, 68], + ["jump", "add_done_138", 102, 68], "add_nt_137", - ["is_num", 138, 133, 103, 68], - ["jump_false", 138, "add_err_139", 103, 68], - ["is_num", 139, 136, 103, 68], - ["jump_false", 139, "add_err_139", 103, 68], - ["add_float", 137, 133, 136, 103, 68], - ["jump", "add_done_138", 103, 68], + ["is_num", 138, 133, 102, 68], + ["jump_false", 138, "add_err_139", 102, 68], + ["is_num", 139, 136, 102, 68], + ["jump_false", 139, "add_err_139", 102, 68], + ["add_float", 137, 133, 136, 102, 68], + ["jump", "add_done_138", 102, 68], "add_err_139", - ["disrupt", 103, 68], + ["disrupt", 102, 68], "add_done_138", [ "access", @@ -1046,15 +1046,15 @@ "kind": "name", "make": "intrinsic" }, - 103, + 102, 5 ], - ["frame", 142, 141, 1, 103, 5], - ["null", 143, 103, 5], - ["setarg", 142, 0, 143, 103, 5], - ["setarg", 142, 1, 137, 103, 5], - ["invoke", 142, 140, 103, 5], - ["access", 144, "run 'make regen' or './cell --core . regen.cm' to update\n", 104, 11], + ["frame", 142, 141, 1, 102, 5], + ["null", 143, 102, 5], + ["setarg", 142, 0, 143, 102, 5], + ["setarg", 142, 1, 137, 102, 5], + ["invoke", 142, 140, 102, 5], + ["access", 144, "run 'make regen' to update\n", 103, 11], [ "access", 146, @@ -1063,19 +1063,19 @@ "kind": "name", "make": "intrinsic" }, - 104, + 103, 5 ], - ["frame", 147, 146, 1, 104, 5], - ["null", 148, 104, 5], - ["setarg", 147, 0, 148, 104, 5], - ["setarg", 147, 1, 144, 104, 5], - ["invoke", 147, 145, 104, 5], - ["jump", "if_end_127", 104, 5], + ["frame", 147, 146, 1, 103, 5], + ["null", 148, 103, 5], + ["setarg", 147, 0, 148, 103, 5], + ["setarg", 147, 1, 144, 103, 5], + ["invoke", 147, 145, 103, 5], + ["jump", "if_end_127", 103, 5], "if_else_126", "if_end_127", - ["null", 149, 104, 5], - ["return", 149, 104, 5] + ["null", 149, 103, 5], + ["return", 149, 103, 5] ], "name": "check_mach_stale", "filename": "internal/bootstrap.cm", @@ -1086,335 +1086,335 @@ "nr_slots": 98, "nr_close_slots": 0, "instructions": [ - ["get", 14, 4, 1, 111, 20], - ["frame", 15, 14, 2, 111, 20], - ["null", 16, 111, 20], - ["setarg", 15, 0, 16, 111, 20], - ["setarg", 15, 1, 1, 111, 20], - ["setarg", 15, 2, 2, 111, 20], - ["invoke", 15, 13, 111, 20], - ["move", 4, 13, 111, 20], - ["load_field", 17, 4, "tokens", 112, 23], - ["get", 18, 4, 1, 112, 57], - ["get", 20, 17, 1, 112, 13], - ["frame", 21, 20, 4, 112, 13], - ["null", 22, 112, 13], - ["setarg", 21, 0, 22, 112, 13], - ["setarg", 21, 1, 17, 112, 13], - ["setarg", 21, 2, 1, 112, 13], - ["setarg", 21, 3, 2, 112, 13], - ["setarg", 21, 4, 18, 112, 13], - ["invoke", 21, 19, 112, 13], - ["move", 11, 19, 112, 13], - ["access", 8, 0, 113, 12], - ["access", 9, -1, 114, 19], - ["null", 7, 115, 18], - ["null", 12, 116, 11], - ["null", 3, 117, 13], - ["null", 5, 118, 14], - ["null", 6, 119, 13], - ["load_field", 23, 11, "errors", 120, 20], - ["null", 24, 120, 34], - ["is_identical", 25, 23, 24, 120, 34], - ["jump_true", 25, "ne_nid_142", 120, 34], - ["jump", "ne_ni_143", 120, 34], + ["get", 14, 7, 1, 110, 20], + ["frame", 15, 14, 2, 110, 20], + ["null", 16, 110, 20], + ["setarg", 15, 0, 16, 110, 20], + ["setarg", 15, 1, 1, 110, 20], + ["setarg", 15, 2, 2, 110, 20], + ["invoke", 15, 13, 110, 20], + ["move", 4, 13, 110, 20], + ["load_field", 17, 4, "tokens", 111, 23], + ["get", 18, 7, 1, 111, 57], + ["get", 20, 5, 1, 111, 13], + ["frame", 21, 20, 4, 111, 13], + ["null", 22, 111, 13], + ["setarg", 21, 0, 22, 111, 13], + ["setarg", 21, 1, 17, 111, 13], + ["setarg", 21, 2, 1, 111, 13], + ["setarg", 21, 3, 2, 111, 13], + ["setarg", 21, 4, 18, 111, 13], + ["invoke", 21, 19, 111, 13], + ["move", 11, 19, 111, 13], + ["access", 7, 0, 112, 12], + ["access", 8, -1, 113, 19], + ["null", 6, 114, 18], + ["null", 12, 115, 11], + ["null", 3, 116, 13], + ["null", 5, 117, 14], + ["null", 9, 118, 13], + ["load_field", 23, 11, "errors", 119, 20], + ["null", 24, 119, 34], + ["is_identical", 25, 23, 24, 119, 34], + ["jump_true", 25, "ne_nid_142", 119, 34], + ["jump", "ne_ni_143", 119, 34], "ne_nid_142", - ["false", 25, 120, 34], - ["jump", "ne_done_141", 120, 34], + ["false", 25, 119, 34], + ["jump", "ne_done_141", 119, 34], "ne_ni_143", - ["is_int", 26, 23, 120, 34], - ["jump_false", 26, "ne_nn_144", 120, 34], - ["is_int", 27, 24, 120, 34], - ["jump_false", 27, "ne_nn_144", 120, 34], - ["ne_int", 25, 23, 24, 120, 34], - ["jump", "ne_done_141", 120, 34], + ["is_int", 26, 23, 119, 34], + ["jump_false", 26, "ne_nn_144", 119, 34], + ["is_int", 27, 24, 119, 34], + ["jump_false", 27, "ne_nn_144", 119, 34], + ["ne_int", 25, 23, 24, 119, 34], + ["jump", "ne_done_141", 119, 34], "ne_nn_144", - ["is_num", 26, 23, 120, 34], - ["jump_false", 26, "ne_nt_145", 120, 34], - ["is_num", 27, 24, 120, 34], - ["jump_false", 27, "ne_nt_145", 120, 34], - ["ne_float", 25, 23, 24, 120, 34], - ["jump", "ne_done_141", 120, 34], + ["is_num", 26, 23, 119, 34], + ["jump_false", 26, "ne_nt_145", 119, 34], + ["is_num", 27, 24, 119, 34], + ["jump_false", 27, "ne_nt_145", 119, 34], + ["ne_float", 25, 23, 24, 119, 34], + ["jump", "ne_done_141", 119, 34], "ne_nt_145", - ["is_text", 26, 23, 120, 34], - ["jump_false", 26, "ne_nnl_146", 120, 34], - ["is_text", 27, 24, 120, 34], - ["jump_false", 27, "ne_nnl_146", 120, 34], - ["ne_text", 25, 23, 24, 120, 34], - ["jump", "ne_done_141", 120, 34], + ["is_text", 26, 23, 119, 34], + ["jump_false", 26, "ne_nnl_146", 119, 34], + ["is_text", 27, 24, 119, 34], + ["jump_false", 27, "ne_nnl_146", 119, 34], + ["ne_text", 25, 23, 24, 119, 34], + ["jump", "ne_done_141", 119, 34], "ne_nnl_146", - ["is_null", 26, 23, 120, 34], - ["jump_false", 26, "ne_nb_147", 120, 34], - ["is_null", 27, 24, 120, 34], - ["jump_false", 27, "ne_nb_147", 120, 34], - ["false", 25, 120, 34], - ["jump", "ne_done_141", 120, 34], + ["is_null", 26, 23, 119, 34], + ["jump_false", 26, "ne_nb_147", 119, 34], + ["is_null", 27, 24, 119, 34], + ["jump_false", 27, "ne_nb_147", 119, 34], + ["false", 25, 119, 34], + ["jump", "ne_done_141", 119, 34], "ne_nb_147", - ["is_bool", 26, 23, 120, 34], - ["jump_false", 26, "ne_mis_148", 120, 34], - ["is_bool", 27, 24, 120, 34], - ["jump_false", 27, "ne_mis_148", 120, 34], - ["ne_bool", 25, 23, 24, 120, 34], - ["jump", "ne_done_141", 120, 34], + ["is_bool", 26, 23, 119, 34], + ["jump_false", 26, "ne_mis_148", 119, 34], + ["is_bool", 27, 24, 119, 34], + ["jump_false", 27, "ne_mis_148", 119, 34], + ["ne_bool", 25, 23, 24, 119, 34], + ["jump", "ne_done_141", 119, 34], "ne_mis_148", - ["true", 25, 120, 34], + ["true", 25, 119, 34], "ne_done_141", - ["move", 28, 25, 120, 34], - ["jump_false", 28, "and_end_140", 120, 34], - ["load_field", 29, 11, "errors", 120, 49], - ["length", 30, 29, 120, 49], - ["access", 31, 0, 120, 63], + ["move", 28, 25, 119, 34], + ["jump_false", 28, "and_end_140", 119, 34], + ["load_field", 29, 11, "errors", 119, 49], + ["length", 30, 29, 119, 49], + ["access", 31, 0, 119, 63], "_nop_tc_1", "_nop_tc_2", "_nop_tc_3", - ["jump", "rel_ni_149", 120, 63], - ["gt_int", 32, 30, 31, 120, 63], - ["jump", "rel_done_151", 120, 63], + ["jump", "rel_ni_149", 119, 63], + ["gt_int", 32, 30, 31, 119, 63], + ["jump", "rel_done_151", 119, 63], "rel_ni_149", - ["is_num", 33, 30, 120, 63], - ["jump_false", 33, "rel_nn_150", 120, 63], - ["is_num", 34, 31, 120, 63], - ["jump_false", 34, "rel_nn_150", 120, 63], - ["gt_float", 32, 30, 31, 120, 63], - ["jump", "rel_done_151", 120, 63], + ["is_num", 33, 30, 119, 63], + ["jump_false", 33, "rel_nn_150", 119, 63], + ["is_num", 34, 31, 119, 63], + ["jump_false", 34, "rel_nn_150", 119, 63], + ["gt_float", 32, 30, 31, 119, 63], + ["jump", "rel_done_151", 119, 63], "rel_nn_150", - ["is_text", 33, 30, 120, 63], - ["jump_false", 33, "rel_err_152", 120, 63], - ["is_text", 34, 31, 120, 63], - ["jump_false", 34, "rel_err_152", 120, 63], - ["gt_text", 32, 30, 31, 120, 63], - ["jump", "rel_done_151", 120, 63], + ["is_text", 33, 30, 119, 63], + ["jump_false", 33, "rel_err_152", 119, 63], + ["is_text", 34, 31, 119, 63], + ["jump_false", 34, "rel_err_152", 119, 63], + ["gt_text", 32, 30, 31, 119, 63], + ["jump", "rel_done_151", 119, 63], "rel_err_152", - ["disrupt", 120, 63], + ["disrupt", 119, 63], "rel_done_151", - ["move", 28, 32, 120, 63], + ["move", 28, 32, 119, 63], "and_end_140", - ["move", 10, 28, 120, 63], - ["jump_false", 10, "if_else_153", 121, 7], + ["move", 10, 28, 119, 63], + ["jump_false", 10, "if_else_153", 120, 7], "while_start_155", - ["load_field", 35, 11, "errors", 122, 24], - ["length", 36, 35, 122, 24], - ["is_int", 38, 8, 122, 24], - ["jump_false", 38, "rel_ni_157", 122, 24], + ["load_field", 35, 11, "errors", 121, 24], + ["length", 36, 35, 121, 24], + ["is_int", 38, 7, 121, 24], + ["jump_false", 38, "rel_ni_157", 121, 24], "_nop_tc_4", "_nop_tc_5", - ["lt_int", 37, 8, 36, 122, 24], - ["jump", "rel_done_159", 122, 24], + ["lt_int", 37, 7, 36, 121, 24], + ["jump", "rel_done_159", 121, 24], "rel_ni_157", - ["is_num", 38, 8, 122, 24], - ["jump_false", 38, "rel_nn_158", 122, 24], - ["is_num", 39, 36, 122, 24], - ["jump_false", 39, "rel_nn_158", 122, 24], - ["lt_float", 37, 8, 36, 122, 24], - ["jump", "rel_done_159", 122, 24], + ["is_num", 38, 7, 121, 24], + ["jump_false", 38, "rel_nn_158", 121, 24], + ["is_num", 39, 36, 121, 24], + ["jump_false", 39, "rel_nn_158", 121, 24], + ["lt_float", 37, 7, 36, 121, 24], + ["jump", "rel_done_159", 121, 24], "rel_nn_158", - ["is_text", 38, 8, 122, 24], - ["jump_false", 38, "rel_err_160", 122, 24], - ["is_text", 39, 36, 122, 24], - ["jump_false", 39, "rel_err_160", 122, 24], - ["lt_text", 37, 8, 36, 122, 24], - ["jump", "rel_done_159", 122, 24], + ["is_text", 38, 7, 121, 24], + ["jump_false", 38, "rel_err_160", 121, 24], + ["is_text", 39, 36, 121, 24], + ["jump_false", 39, "rel_err_160", 121, 24], + ["lt_text", 37, 7, 36, 121, 24], + ["jump", "rel_done_159", 121, 24], "rel_err_160", - ["disrupt", 122, 24], + ["disrupt", 121, 24], "rel_done_159", - ["jump_false", 37, "while_end_156", 122, 24], - ["load_field", 40, 11, "errors", 123, 11], - ["load_dynamic", 41, 40, 8, 123, 22], - ["move", 12, 41, 123, 22], - ["load_field", 42, 12, "message", 124, 13], - ["move", 3, 42, 124, 13], - ["load_field", 43, 12, "line", 125, 14], - ["move", 5, 43, 125, 14], - ["load_field", 44, 12, "column", 126, 13], - ["move", 6, 44, 126, 13], - ["is_identical", 45, 3, 7, 127, 18], - ["jump_true", 45, "ne_nid_165", 127, 18], - ["jump", "ne_ni_166", 127, 18], + ["jump_false", 37, "while_end_156", 121, 24], + ["load_field", 40, 11, "errors", 122, 11], + ["load_dynamic", 41, 40, 7, 122, 22], + ["move", 12, 41, 122, 22], + ["load_field", 42, 12, "message", 123, 13], + ["move", 3, 42, 123, 13], + ["load_field", 43, 12, "line", 124, 14], + ["move", 5, 43, 124, 14], + ["load_field", 44, 12, "column", 125, 13], + ["move", 9, 44, 125, 13], + ["is_identical", 45, 3, 6, 126, 18], + ["jump_true", 45, "ne_nid_165", 126, 18], + ["jump", "ne_ni_166", 126, 18], "ne_nid_165", - ["false", 45, 127, 18], - ["jump", "ne_done_164", 127, 18], + ["false", 45, 126, 18], + ["jump", "ne_done_164", 126, 18], "ne_ni_166", - ["is_int", 46, 3, 127, 18], - ["jump_false", 46, "ne_nn_167", 127, 18], - ["is_int", 47, 7, 127, 18], - ["jump_false", 47, "ne_nn_167", 127, 18], - ["ne_int", 45, 3, 7, 127, 18], - ["jump", "ne_done_164", 127, 18], + ["is_int", 46, 3, 126, 18], + ["jump_false", 46, "ne_nn_167", 126, 18], + ["is_int", 47, 6, 126, 18], + ["jump_false", 47, "ne_nn_167", 126, 18], + ["ne_int", 45, 3, 6, 126, 18], + ["jump", "ne_done_164", 126, 18], "ne_nn_167", - ["is_num", 46, 3, 127, 18], - ["jump_false", 46, "ne_nt_168", 127, 18], - ["is_num", 47, 7, 127, 18], - ["jump_false", 47, "ne_nt_168", 127, 18], - ["ne_float", 45, 3, 7, 127, 18], - ["jump", "ne_done_164", 127, 18], + ["is_num", 46, 3, 126, 18], + ["jump_false", 46, "ne_nt_168", 126, 18], + ["is_num", 47, 6, 126, 18], + ["jump_false", 47, "ne_nt_168", 126, 18], + ["ne_float", 45, 3, 6, 126, 18], + ["jump", "ne_done_164", 126, 18], "ne_nt_168", - ["is_text", 46, 3, 127, 18], - ["jump_false", 46, "ne_nnl_169", 127, 18], - ["is_text", 47, 7, 127, 18], - ["jump_false", 47, "ne_nnl_169", 127, 18], - ["ne_text", 45, 3, 7, 127, 18], - ["jump", "ne_done_164", 127, 18], + ["is_text", 46, 3, 126, 18], + ["jump_false", 46, "ne_nnl_169", 126, 18], + ["is_text", 47, 6, 126, 18], + ["jump_false", 47, "ne_nnl_169", 126, 18], + ["ne_text", 45, 3, 6, 126, 18], + ["jump", "ne_done_164", 126, 18], "ne_nnl_169", - ["is_null", 46, 3, 127, 18], - ["jump_false", 46, "ne_nb_170", 127, 18], - ["is_null", 47, 7, 127, 18], - ["jump_false", 47, "ne_nb_170", 127, 18], - ["false", 45, 127, 18], - ["jump", "ne_done_164", 127, 18], + ["is_null", 46, 3, 126, 18], + ["jump_false", 46, "ne_nb_170", 126, 18], + ["is_null", 47, 6, 126, 18], + ["jump_false", 47, "ne_nb_170", 126, 18], + ["false", 45, 126, 18], + ["jump", "ne_done_164", 126, 18], "ne_nb_170", - ["is_bool", 46, 3, 127, 18], - ["jump_false", 46, "ne_mis_171", 127, 18], - ["is_bool", 47, 7, 127, 18], - ["jump_false", 47, "ne_mis_171", 127, 18], - ["ne_bool", 45, 3, 7, 127, 18], - ["jump", "ne_done_164", 127, 18], + ["is_bool", 46, 3, 126, 18], + ["jump_false", 46, "ne_mis_171", 126, 18], + ["is_bool", 47, 6, 126, 18], + ["jump_false", 47, "ne_mis_171", 126, 18], + ["ne_bool", 45, 3, 6, 126, 18], + ["jump", "ne_done_164", 126, 18], "ne_mis_171", - ["true", 45, 127, 18], + ["true", 45, 126, 18], "ne_done_164", - ["move", 48, 45, 127, 18], - ["jump_true", 48, "or_end_163", 127, 18], - ["is_identical", 49, 5, 9, 127, 38], - ["jump_true", 49, "ne_nid_173", 127, 38], - ["jump", "ne_ni_174", 127, 38], + ["move", 48, 45, 126, 18], + ["jump_true", 48, "or_end_163", 126, 18], + ["is_identical", 49, 5, 8, 126, 38], + ["jump_true", 49, "ne_nid_173", 126, 38], + ["jump", "ne_ni_174", 126, 38], "ne_nid_173", - ["false", 49, 127, 38], - ["jump", "ne_done_172", 127, 38], + ["false", 49, 126, 38], + ["jump", "ne_done_172", 126, 38], "ne_ni_174", - ["is_int", 50, 5, 127, 38], - ["jump_false", 50, "ne_nn_175", 127, 38], - ["is_int", 51, 9, 127, 38], - ["jump_false", 51, "ne_nn_175", 127, 38], - ["ne_int", 49, 5, 9, 127, 38], - ["jump", "ne_done_172", 127, 38], + ["is_int", 50, 5, 126, 38], + ["jump_false", 50, "ne_nn_175", 126, 38], + ["is_int", 51, 8, 126, 38], + ["jump_false", 51, "ne_nn_175", 126, 38], + ["ne_int", 49, 5, 8, 126, 38], + ["jump", "ne_done_172", 126, 38], "ne_nn_175", - ["is_num", 50, 5, 127, 38], - ["jump_false", 50, "ne_nt_176", 127, 38], - ["is_num", 51, 9, 127, 38], - ["jump_false", 51, "ne_nt_176", 127, 38], - ["ne_float", 49, 5, 9, 127, 38], - ["jump", "ne_done_172", 127, 38], + ["is_num", 50, 5, 126, 38], + ["jump_false", 50, "ne_nt_176", 126, 38], + ["is_num", 51, 8, 126, 38], + ["jump_false", 51, "ne_nt_176", 126, 38], + ["ne_float", 49, 5, 8, 126, 38], + ["jump", "ne_done_172", 126, 38], "ne_nt_176", - ["is_text", 50, 5, 127, 38], - ["jump_false", 50, "ne_nnl_177", 127, 38], - ["is_text", 51, 9, 127, 38], - ["jump_false", 51, "ne_nnl_177", 127, 38], - ["ne_text", 49, 5, 9, 127, 38], - ["jump", "ne_done_172", 127, 38], + ["is_text", 50, 5, 126, 38], + ["jump_false", 50, "ne_nnl_177", 126, 38], + ["is_text", 51, 8, 126, 38], + ["jump_false", 51, "ne_nnl_177", 126, 38], + ["ne_text", 49, 5, 8, 126, 38], + ["jump", "ne_done_172", 126, 38], "ne_nnl_177", - ["is_null", 50, 5, 127, 38], - ["jump_false", 50, "ne_nb_178", 127, 38], - ["is_null", 51, 9, 127, 38], - ["jump_false", 51, "ne_nb_178", 127, 38], - ["false", 49, 127, 38], - ["jump", "ne_done_172", 127, 38], + ["is_null", 50, 5, 126, 38], + ["jump_false", 50, "ne_nb_178", 126, 38], + ["is_null", 51, 8, 126, 38], + ["jump_false", 51, "ne_nb_178", 126, 38], + ["false", 49, 126, 38], + ["jump", "ne_done_172", 126, 38], "ne_nb_178", - ["is_bool", 50, 5, 127, 38], - ["jump_false", 50, "ne_mis_179", 127, 38], - ["is_bool", 51, 9, 127, 38], - ["jump_false", 51, "ne_mis_179", 127, 38], - ["ne_bool", 49, 5, 9, 127, 38], - ["jump", "ne_done_172", 127, 38], + ["is_bool", 50, 5, 126, 38], + ["jump_false", 50, "ne_mis_179", 126, 38], + ["is_bool", 51, 8, 126, 38], + ["jump_false", 51, "ne_mis_179", 126, 38], + ["ne_bool", 49, 5, 8, 126, 38], + ["jump", "ne_done_172", 126, 38], "ne_mis_179", - ["true", 49, 127, 38], + ["true", 49, 126, 38], "ne_done_172", - ["move", 48, 49, 127, 38], + ["move", 48, 49, 126, 38], "or_end_163", - ["jump_false", 48, "if_else_161", 127, 38], - ["null", 52, 128, 21], - ["is_identical", 53, 5, 52, 128, 21], - ["jump_true", 53, "ne_nid_184", 128, 21], - ["jump", "ne_ni_185", 128, 21], + ["jump_false", 48, "if_else_161", 126, 38], + ["null", 52, 127, 21], + ["is_identical", 53, 5, 52, 127, 21], + ["jump_true", 53, "ne_nid_184", 127, 21], + ["jump", "ne_ni_185", 127, 21], "ne_nid_184", - ["false", 53, 128, 21], - ["jump", "ne_done_183", 128, 21], + ["false", 53, 127, 21], + ["jump", "ne_done_183", 127, 21], "ne_ni_185", - ["is_int", 54, 5, 128, 21], - ["jump_false", 54, "ne_nn_186", 128, 21], - ["is_int", 55, 52, 128, 21], - ["jump_false", 55, "ne_nn_186", 128, 21], - ["ne_int", 53, 5, 52, 128, 21], - ["jump", "ne_done_183", 128, 21], + ["is_int", 54, 5, 127, 21], + ["jump_false", 54, "ne_nn_186", 127, 21], + ["is_int", 55, 52, 127, 21], + ["jump_false", 55, "ne_nn_186", 127, 21], + ["ne_int", 53, 5, 52, 127, 21], + ["jump", "ne_done_183", 127, 21], "ne_nn_186", - ["is_num", 54, 5, 128, 21], - ["jump_false", 54, "ne_nt_187", 128, 21], - ["is_num", 55, 52, 128, 21], - ["jump_false", 55, "ne_nt_187", 128, 21], - ["ne_float", 53, 5, 52, 128, 21], - ["jump", "ne_done_183", 128, 21], + ["is_num", 54, 5, 127, 21], + ["jump_false", 54, "ne_nt_187", 127, 21], + ["is_num", 55, 52, 127, 21], + ["jump_false", 55, "ne_nt_187", 127, 21], + ["ne_float", 53, 5, 52, 127, 21], + ["jump", "ne_done_183", 127, 21], "ne_nt_187", - ["is_text", 54, 5, 128, 21], - ["jump_false", 54, "ne_nnl_188", 128, 21], - ["is_text", 55, 52, 128, 21], - ["jump_false", 55, "ne_nnl_188", 128, 21], - ["ne_text", 53, 5, 52, 128, 21], - ["jump", "ne_done_183", 128, 21], + ["is_text", 54, 5, 127, 21], + ["jump_false", 54, "ne_nnl_188", 127, 21], + ["is_text", 55, 52, 127, 21], + ["jump_false", 55, "ne_nnl_188", 127, 21], + ["ne_text", 53, 5, 52, 127, 21], + ["jump", "ne_done_183", 127, 21], "ne_nnl_188", - ["is_null", 54, 5, 128, 21], - ["jump_false", 54, "ne_nb_189", 128, 21], - ["is_null", 55, 52, 128, 21], - ["jump_false", 55, "ne_nb_189", 128, 21], - ["false", 53, 128, 21], - ["jump", "ne_done_183", 128, 21], + ["is_null", 54, 5, 127, 21], + ["jump_false", 54, "ne_nb_189", 127, 21], + ["is_null", 55, 52, 127, 21], + ["jump_false", 55, "ne_nb_189", 127, 21], + ["false", 53, 127, 21], + ["jump", "ne_done_183", 127, 21], "ne_nb_189", - ["is_bool", 54, 5, 128, 21], - ["jump_false", 54, "ne_mis_190", 128, 21], - ["is_bool", 55, 52, 128, 21], - ["jump_false", 55, "ne_mis_190", 128, 21], - ["ne_bool", 53, 5, 52, 128, 21], - ["jump", "ne_done_183", 128, 21], + ["is_bool", 54, 5, 127, 21], + ["jump_false", 54, "ne_mis_190", 127, 21], + ["is_bool", 55, 52, 127, 21], + ["jump_false", 55, "ne_mis_190", 127, 21], + ["ne_bool", 53, 5, 52, 127, 21], + ["jump", "ne_done_183", 127, 21], "ne_mis_190", - ["true", 53, 128, 21], + ["true", 53, 127, 21], "ne_done_183", - ["move", 56, 53, 128, 21], - ["jump_false", 56, "and_end_182", 128, 21], - ["null", 57, 128, 36], - ["is_identical", 58, 6, 57, 128, 36], - ["jump_true", 58, "ne_nid_192", 128, 36], - ["jump", "ne_ni_193", 128, 36], + ["move", 56, 53, 127, 21], + ["jump_false", 56, "and_end_182", 127, 21], + ["null", 57, 127, 36], + ["is_identical", 58, 9, 57, 127, 36], + ["jump_true", 58, "ne_nid_192", 127, 36], + ["jump", "ne_ni_193", 127, 36], "ne_nid_192", - ["false", 58, 128, 36], - ["jump", "ne_done_191", 128, 36], + ["false", 58, 127, 36], + ["jump", "ne_done_191", 127, 36], "ne_ni_193", - ["is_int", 59, 6, 128, 36], - ["jump_false", 59, "ne_nn_194", 128, 36], - ["is_int", 60, 57, 128, 36], - ["jump_false", 60, "ne_nn_194", 128, 36], - ["ne_int", 58, 6, 57, 128, 36], - ["jump", "ne_done_191", 128, 36], + ["is_int", 59, 9, 127, 36], + ["jump_false", 59, "ne_nn_194", 127, 36], + ["is_int", 60, 57, 127, 36], + ["jump_false", 60, "ne_nn_194", 127, 36], + ["ne_int", 58, 9, 57, 127, 36], + ["jump", "ne_done_191", 127, 36], "ne_nn_194", - ["is_num", 59, 6, 128, 36], - ["jump_false", 59, "ne_nt_195", 128, 36], - ["is_num", 60, 57, 128, 36], - ["jump_false", 60, "ne_nt_195", 128, 36], - ["ne_float", 58, 6, 57, 128, 36], - ["jump", "ne_done_191", 128, 36], + ["is_num", 59, 9, 127, 36], + ["jump_false", 59, "ne_nt_195", 127, 36], + ["is_num", 60, 57, 127, 36], + ["jump_false", 60, "ne_nt_195", 127, 36], + ["ne_float", 58, 9, 57, 127, 36], + ["jump", "ne_done_191", 127, 36], "ne_nt_195", - ["is_text", 59, 6, 128, 36], - ["jump_false", 59, "ne_nnl_196", 128, 36], - ["is_text", 60, 57, 128, 36], - ["jump_false", 60, "ne_nnl_196", 128, 36], - ["ne_text", 58, 6, 57, 128, 36], - ["jump", "ne_done_191", 128, 36], + ["is_text", 59, 9, 127, 36], + ["jump_false", 59, "ne_nnl_196", 127, 36], + ["is_text", 60, 57, 127, 36], + ["jump_false", 60, "ne_nnl_196", 127, 36], + ["ne_text", 58, 9, 57, 127, 36], + ["jump", "ne_done_191", 127, 36], "ne_nnl_196", - ["is_null", 59, 6, 128, 36], - ["jump_false", 59, "ne_nb_197", 128, 36], - ["is_null", 60, 57, 128, 36], - ["jump_false", 60, "ne_nb_197", 128, 36], - ["false", 58, 128, 36], - ["jump", "ne_done_191", 128, 36], + ["is_null", 59, 9, 127, 36], + ["jump_false", 59, "ne_nb_197", 127, 36], + ["is_null", 60, 57, 127, 36], + ["jump_false", 60, "ne_nb_197", 127, 36], + ["false", 58, 127, 36], + ["jump", "ne_done_191", 127, 36], "ne_nb_197", - ["is_bool", 59, 6, 128, 36], - ["jump_false", 59, "ne_mis_198", 128, 36], - ["is_bool", 60, 57, 128, 36], - ["jump_false", 60, "ne_mis_198", 128, 36], - ["ne_bool", 58, 6, 57, 128, 36], - ["jump", "ne_done_191", 128, 36], + ["is_bool", 59, 9, 127, 36], + ["jump_false", 59, "ne_mis_198", 127, 36], + ["is_bool", 60, 57, 127, 36], + ["jump_false", 60, "ne_mis_198", 127, 36], + ["ne_bool", 58, 9, 57, 127, 36], + ["jump", "ne_done_191", 127, 36], "ne_mis_198", - ["true", 58, 128, 36], + ["true", 58, 127, 36], "ne_done_191", - ["move", 56, 58, 128, 36], + ["move", 56, 58, 127, 36], "and_end_182", - ["jump_false", 56, "if_else_180", 128, 36], + ["jump_false", 56, "if_else_180", 127, 36], [ "access", 62, @@ -1445,7 +1445,7 @@ ["frame", 67, 66, 1, 1, 1], ["null", 68, 1, 1], ["setarg", 67, 0, 68, 1, 1], - ["setarg", 67, 1, 6, 1, 1], + ["setarg", 67, 1, 9, 1, 1], ["invoke", 67, 65, 1, 1], ["array", 69, 4, 2, 61, 65, 3, 1, 1], [ @@ -1474,15 +1474,15 @@ "kind": "name", "make": "intrinsic" }, - 129, + 128, 11 ], - ["frame", 77, 76, 1, 129, 11], - ["null", 78, 129, 11], - ["setarg", 77, 0, 78, 129, 11], - ["setarg", 77, 1, 72, 129, 11], - ["invoke", 77, 75, 129, 11], - ["jump", "if_end_181", 129, 11], + ["frame", 77, 76, 1, 128, 11], + ["null", 78, 128, 11], + ["setarg", 77, 0, 78, 128, 11], + ["setarg", 77, 1, 72, 128, 11], + ["invoke", 77, 75, 128, 11], + ["jump", "if_end_181", 128, 11], "if_else_180", ["array", 79, 2, 2, 3, 1, 1], [ @@ -1511,57 +1511,57 @@ "kind": "name", "make": "intrinsic" }, - 131, + 130, 11 ], - ["frame", 87, 86, 1, 131, 11], - ["null", 88, 131, 11], - ["setarg", 87, 0, 88, 131, 11], - ["setarg", 87, 1, 82, 131, 11], - ["invoke", 87, 85, 131, 11], + ["frame", 87, 86, 1, 130, 11], + ["null", 88, 130, 11], + ["setarg", 87, 0, 88, 130, 11], + ["setarg", 87, 1, 82, 130, 11], + ["invoke", 87, 85, 130, 11], "if_end_181", - ["jump", "if_end_162", 131, 11], + ["jump", "if_end_162", 130, 11], "if_else_161", "if_end_162", - ["move", 9, 5, 134, 19], - ["move", 7, 3, 135, 18], - ["access", 89, 1, 136, 17], - ["is_int", 91, 8, 136, 17], - ["jump_false", 91, "add_ni_199", 136, 17], - ["add_int", 90, 8, 89, 136, 17], - ["jump", "add_done_201", 136, 17], + ["move", 8, 5, 133, 19], + ["move", 6, 3, 134, 18], + ["access", 89, 1, 135, 17], + ["is_int", 91, 7, 135, 17], + ["jump_false", 91, "add_ni_199", 135, 17], + ["add_int", 90, 7, 89, 135, 17], + ["jump", "add_done_201", 135, 17], "add_ni_199", - ["is_text", 91, 8, 136, 17], - ["jump_false", 91, "add_nt_200", 136, 17], - ["is_text", 92, 89, 136, 17], - ["jump_false", 92, "add_nt_200", 136, 17], - ["concat", 90, 8, 89, 136, 17], - ["jump", "add_done_201", 136, 17], + ["is_text", 91, 7, 135, 17], + ["jump_false", 91, "add_nt_200", 135, 17], + ["is_text", 92, 89, 135, 17], + ["jump_false", 92, "add_nt_200", 135, 17], + ["concat", 90, 7, 89, 135, 17], + ["jump", "add_done_201", 135, 17], "add_nt_200", - ["is_num", 91, 8, 136, 17], - ["jump_false", 91, "add_err_202", 136, 17], - ["add_float", 90, 8, 89, 136, 17], - ["jump", "add_done_201", 136, 17], + ["is_num", 91, 7, 135, 17], + ["jump_false", 91, "add_err_202", 135, 17], + ["add_float", 90, 7, 89, 135, 17], + ["jump", "add_done_201", 135, 17], "add_err_202", - ["disrupt", 136, 17], + ["disrupt", 135, 17], "add_done_201", - ["move", 8, 90, 136, 17], - ["jump", "while_start_155", 136, 17], + ["move", 7, 90, 135, 17], + ["jump", "while_start_155", 135, 17], "while_end_156", - ["disrupt", 138, 5], - ["jump", "if_end_154", 138, 5], + ["disrupt", 137, 5], + ["jump", "if_end_154", 137, 5], "if_else_153", "if_end_154", - ["get", 94, 15, 1, 140, 9], - ["frame", 95, 94, 1, 140, 9], - ["null", 96, 140, 9], - ["setarg", 95, 0, 96, 140, 9], - ["setarg", 95, 1, 11, 140, 9], - ["invoke", 95, 93, 140, 9], - ["move", 11, 93, 140, 9], - ["return", 11, 141, 10], - ["null", 97, 141, 10], - ["return", 97, 141, 10] + ["get", 94, 2, 1, 139, 9], + ["frame", 95, 94, 1, 139, 9], + ["null", 96, 139, 9], + ["setarg", 95, 0, 96, 139, 9], + ["setarg", 95, 1, 11, 139, 9], + ["invoke", 95, 93, 139, 9], + ["move", 11, 93, 139, 9], + ["return", 11, 140, 10], + ["null", 97, 140, 10], + ["return", 97, 140, 10] ], "name": "analyze", "filename": "internal/bootstrap.cm", @@ -1580,77 +1580,77 @@ "kind": "name", "make": "intrinsic" }, - 146, + 145, 19 ], - ["access", 13, "/", 146, 31], - ["is_int", 15, 12, 146, 31], - ["jump_false", 15, "add_ni_203", 146, 31], + ["access", 13, "/", 145, 31], + ["is_int", 15, 12, 145, 31], + ["jump_false", 15, "add_ni_203", 145, 31], "_nop_tc_1", - ["jump", "add_ni_203", 146, 31], - ["add_int", 14, 12, 13, 146, 31], - ["jump", "add_done_205", 146, 31], + ["jump", "add_ni_203", 145, 31], + ["add_int", 14, 12, 13, 145, 31], + ["jump", "add_done_205", 145, 31], "add_ni_203", - ["is_text", 15, 12, 146, 31], - ["jump_false", 15, "add_nt_204", 146, 31], - ["concat", 14, 12, 13, 146, 31], - ["jump", "add_done_205", 146, 31], + ["is_text", 15, 12, 145, 31], + ["jump_false", 15, "add_nt_204", 145, 31], + ["concat", 14, 12, 13, 145, 31], + ["jump", "add_done_205", 145, 31], "add_nt_204", - ["is_num", 15, 12, 146, 31], - ["jump_false", 15, "add_err_206", 146, 31], - ["is_num", 16, 13, 146, 31], - ["jump_false", 16, "add_err_206", 146, 31], - ["add_float", 14, 12, 13, 146, 31], - ["jump", "add_done_205", 146, 31], + ["is_num", 15, 12, 145, 31], + ["jump_false", 15, "add_err_206", 145, 31], + ["is_num", 16, 13, 145, 31], + ["jump_false", 16, "add_err_206", 145, 31], + ["add_float", 14, 12, 13, 145, 31], + ["jump", "add_done_205", 145, 31], "add_err_206", - ["disrupt", 146, 31], + ["disrupt", 145, 31], "add_done_205", - ["is_int", 18, 14, 146, 37], - ["jump_false", 18, "add_ni_207", 146, 37], - ["is_int", 19, 1, 146, 37], - ["jump_false", 19, "add_ni_207", 146, 37], - ["add_int", 17, 14, 1, 146, 37], - ["jump", "add_done_209", 146, 37], + ["is_int", 18, 14, 145, 37], + ["jump_false", 18, "add_ni_207", 145, 37], + ["is_int", 19, 1, 145, 37], + ["jump_false", 19, "add_ni_207", 145, 37], + ["add_int", 17, 14, 1, 145, 37], + ["jump", "add_done_209", 145, 37], "add_ni_207", - ["is_text", 18, 14, 146, 37], - ["jump_false", 18, "add_nt_208", 146, 37], - ["is_text", 19, 1, 146, 37], - ["jump_false", 19, "add_nt_208", 146, 37], - ["concat", 17, 14, 1, 146, 37], - ["jump", "add_done_209", 146, 37], + ["is_text", 18, 14, 145, 37], + ["jump_false", 18, "add_nt_208", 145, 37], + ["is_text", 19, 1, 145, 37], + ["jump_false", 19, "add_nt_208", 145, 37], + ["concat", 17, 14, 1, 145, 37], + ["jump", "add_done_209", 145, 37], "add_nt_208", - ["is_num", 18, 14, 146, 37], - ["jump_false", 18, "add_err_210", 146, 37], - ["is_num", 19, 1, 146, 37], - ["jump_false", 19, "add_err_210", 146, 37], - ["add_float", 17, 14, 1, 146, 37], - ["jump", "add_done_209", 146, 37], + ["is_num", 18, 14, 145, 37], + ["jump_false", 18, "add_err_210", 145, 37], + ["is_num", 19, 1, 145, 37], + ["jump_false", 19, "add_err_210", 145, 37], + ["add_float", 17, 14, 1, 145, 37], + ["jump", "add_done_209", 145, 37], "add_err_210", - ["disrupt", 146, 37], + ["disrupt", 145, 37], "add_done_209", - ["access", 20, ".cm.mach", 146, 44], - ["is_int", 22, 17, 146, 44], - ["jump_false", 22, "add_ni_211", 146, 44], + ["access", 20, ".cm.mach", 145, 44], + ["is_int", 22, 17, 145, 44], + ["jump_false", 22, "add_ni_211", 145, 44], "_nop_tc_2", - ["jump", "add_ni_211", 146, 44], - ["add_int", 21, 17, 20, 146, 44], - ["jump", "add_done_213", 146, 44], + ["jump", "add_ni_211", 145, 44], + ["add_int", 21, 17, 20, 145, 44], + ["jump", "add_done_213", 145, 44], "add_ni_211", - ["is_text", 22, 17, 146, 44], - ["jump_false", 22, "add_nt_212", 146, 44], - ["concat", 21, 17, 20, 146, 44], - ["jump", "add_done_213", 146, 44], + ["is_text", 22, 17, 145, 44], + ["jump_false", 22, "add_nt_212", 145, 44], + ["concat", 21, 17, 20, 145, 44], + ["jump", "add_done_213", 145, 44], "add_nt_212", - ["is_num", 22, 17, 146, 44], - ["jump_false", 22, "add_err_214", 146, 44], - ["is_num", 23, 20, 146, 44], - ["jump_false", 23, "add_err_214", 146, 44], - ["add_float", 21, 17, 20, 146, 44], - ["jump", "add_done_213", 146, 44], + ["is_num", 22, 17, 145, 44], + ["jump_false", 22, "add_err_214", 145, 44], + ["is_num", 23, 20, 145, 44], + ["jump_false", 23, "add_err_214", 145, 44], + ["add_float", 21, 17, 20, 145, 44], + ["jump", "add_done_213", 145, 44], "add_err_214", - ["disrupt", 146, 44], + ["disrupt", 145, 44], "add_done_213", - ["move", 8, 21, 146, 44], + ["move", 8, 21, 145, 44], [ "access", 24, @@ -1659,124 +1659,124 @@ "kind": "name", "make": "intrinsic" }, - 147, + 146, 20 ], - ["access", 25, "/", 147, 32], - ["is_int", 27, 24, 147, 32], - ["jump_false", 27, "add_ni_215", 147, 32], + ["access", 25, "/", 146, 32], + ["is_int", 27, 24, 146, 32], + ["jump_false", 27, "add_ni_215", 146, 32], "_nop_tc_3", - ["jump", "add_ni_215", 147, 32], - ["add_int", 26, 24, 25, 147, 32], - ["jump", "add_done_217", 147, 32], + ["jump", "add_ni_215", 146, 32], + ["add_int", 26, 24, 25, 146, 32], + ["jump", "add_done_217", 146, 32], "add_ni_215", - ["is_text", 27, 24, 147, 32], - ["jump_false", 27, "add_nt_216", 147, 32], - ["concat", 26, 24, 25, 147, 32], - ["jump", "add_done_217", 147, 32], + ["is_text", 27, 24, 146, 32], + ["jump_false", 27, "add_nt_216", 146, 32], + ["concat", 26, 24, 25, 146, 32], + ["jump", "add_done_217", 146, 32], "add_nt_216", - ["is_num", 27, 24, 147, 32], - ["jump_false", 27, "add_err_218", 147, 32], - ["is_num", 28, 25, 147, 32], - ["jump_false", 28, "add_err_218", 147, 32], - ["add_float", 26, 24, 25, 147, 32], - ["jump", "add_done_217", 147, 32], + ["is_num", 27, 24, 146, 32], + ["jump_false", 27, "add_err_218", 146, 32], + ["is_num", 28, 25, 146, 32], + ["jump_false", 28, "add_err_218", 146, 32], + ["add_float", 26, 24, 25, 146, 32], + ["jump", "add_done_217", 146, 32], "add_err_218", - ["disrupt", 147, 32], + ["disrupt", 146, 32], "add_done_217", - ["is_int", 30, 26, 147, 38], - ["jump_false", 30, "add_ni_219", 147, 38], - ["is_int", 31, 1, 147, 38], - ["jump_false", 31, "add_ni_219", 147, 38], - ["add_int", 29, 26, 1, 147, 38], - ["jump", "add_done_221", 147, 38], + ["is_int", 30, 26, 146, 38], + ["jump_false", 30, "add_ni_219", 146, 38], + ["is_int", 31, 1, 146, 38], + ["jump_false", 31, "add_ni_219", 146, 38], + ["add_int", 29, 26, 1, 146, 38], + ["jump", "add_done_221", 146, 38], "add_ni_219", - ["is_text", 30, 26, 147, 38], - ["jump_false", 30, "add_nt_220", 147, 38], - ["is_text", 31, 1, 147, 38], - ["jump_false", 31, "add_nt_220", 147, 38], - ["concat", 29, 26, 1, 147, 38], - ["jump", "add_done_221", 147, 38], + ["is_text", 30, 26, 146, 38], + ["jump_false", 30, "add_nt_220", 146, 38], + ["is_text", 31, 1, 146, 38], + ["jump_false", 31, "add_nt_220", 146, 38], + ["concat", 29, 26, 1, 146, 38], + ["jump", "add_done_221", 146, 38], "add_nt_220", - ["is_num", 30, 26, 147, 38], - ["jump_false", 30, "add_err_222", 147, 38], - ["is_num", 31, 1, 147, 38], - ["jump_false", 31, "add_err_222", 147, 38], - ["add_float", 29, 26, 1, 147, 38], - ["jump", "add_done_221", 147, 38], + ["is_num", 30, 26, 146, 38], + ["jump_false", 30, "add_err_222", 146, 38], + ["is_num", 31, 1, 146, 38], + ["jump_false", 31, "add_err_222", 146, 38], + ["add_float", 29, 26, 1, 146, 38], + ["jump", "add_done_221", 146, 38], "add_err_222", - ["disrupt", 147, 38], + ["disrupt", 146, 38], "add_done_221", - ["access", 32, ".cm.mcode", 147, 45], - ["is_int", 34, 29, 147, 45], - ["jump_false", 34, "add_ni_223", 147, 45], + ["access", 32, ".cm.mcode", 146, 45], + ["is_int", 34, 29, 146, 45], + ["jump_false", 34, "add_ni_223", 146, 45], "_nop_tc_4", - ["jump", "add_ni_223", 147, 45], - ["add_int", 33, 29, 32, 147, 45], - ["jump", "add_done_225", 147, 45], + ["jump", "add_ni_223", 146, 45], + ["add_int", 33, 29, 32, 146, 45], + ["jump", "add_done_225", 146, 45], "add_ni_223", - ["is_text", 34, 29, 147, 45], - ["jump_false", 34, "add_nt_224", 147, 45], - ["concat", 33, 29, 32, 147, 45], - ["jump", "add_done_225", 147, 45], + ["is_text", 34, 29, 146, 45], + ["jump_false", 34, "add_nt_224", 146, 45], + ["concat", 33, 29, 32, 146, 45], + ["jump", "add_done_225", 146, 45], "add_nt_224", - ["is_num", 34, 29, 147, 45], - ["jump_false", 34, "add_err_226", 147, 45], - ["is_num", 35, 32, 147, 45], - ["jump_false", 35, "add_err_226", 147, 45], - ["add_float", 33, 29, 32, 147, 45], - ["jump", "add_done_225", 147, 45], + ["is_num", 34, 29, 146, 45], + ["jump_false", 34, "add_err_226", 146, 45], + ["is_num", 35, 32, 146, 45], + ["jump_false", 35, "add_err_226", 146, 45], + ["add_float", 33, 29, 32, 146, 45], + ["jump", "add_done_225", 146, 45], "add_err_226", - ["disrupt", 147, 45], + ["disrupt", 146, 45], "add_done_225", - ["move", 7, 33, 147, 45], - ["null", 6, 148, 14], - ["null", 9, 149, 20], - ["null", 4, 150, 18], - ["null", 10, 151, 13], - ["null", 11, 152, 13], - ["null", 3, 153, 18], - ["null", 5, 154, 19], - ["get", 37, 16, 1, 155, 7], - ["is_proxy", 38, 37, 155, 7], - ["jump_false", 38, "record_path_229", 155, 7], - ["null", 39, 155, 7], - ["access", 40, "is_file", 155, 7], - ["array", 41, 1, 8, 155, 7], - ["frame", 42, 37, 2, 155, 7], - ["setarg", 42, 0, 39, 155, 7], - ["setarg", 42, 1, 40, 155, 7], - ["setarg", 42, 2, 41, 155, 7], - ["invoke", 42, 36, 155, 7], - ["jump", "call_done_230", 155, 7], + ["move", 7, 33, 146, 45], + ["null", 6, 147, 14], + ["null", 9, 148, 20], + ["null", 4, 149, 18], + ["null", 10, 150, 13], + ["null", 11, 151, 13], + ["null", 3, 152, 18], + ["null", 5, 153, 19], + ["get", 37, 4, 1, 154, 7], + ["is_proxy", 38, 37, 154, 7], + ["jump_false", 38, "record_path_229", 154, 7], + ["null", 39, 154, 7], + ["access", 40, "is_file", 154, 7], + ["array", 41, 1, 8, 154, 7], + ["frame", 42, 37, 2, 154, 7], + ["setarg", 42, 0, 39, 154, 7], + ["setarg", 42, 1, 40, 154, 7], + ["setarg", 42, 2, 41, 154, 7], + ["invoke", 42, 36, 154, 7], + ["jump", "call_done_230", 154, 7], "record_path_229", - ["load_field", 43, 37, "is_file", 155, 7], - ["frame", 44, 43, 1, 155, 7], - ["setarg", 44, 0, 37, 155, 7], - ["setarg", 44, 1, 8, 155, 7], - ["invoke", 44, 36, 155, 7], + ["load_field", 43, 37, "is_file", 154, 7], + ["frame", 44, 43, 1, 154, 7], + ["setarg", 44, 0, 37, 154, 7], + ["setarg", 44, 1, 8, 154, 7], + ["invoke", 44, 36, 154, 7], "call_done_230", - ["jump_false", 36, "if_else_227", 155, 7], - ["get", 46, 16, 1, 156, 12], - ["is_proxy", 47, 46, 156, 12], - ["jump_false", 47, "record_path_231", 156, 12], - ["null", 48, 156, 12], - ["access", 49, "slurp", 156, 12], - ["array", 50, 1, 8, 156, 12], - ["frame", 51, 46, 2, 156, 12], - ["setarg", 51, 0, 48, 156, 12], - ["setarg", 51, 1, 49, 156, 12], - ["setarg", 51, 2, 50, 156, 12], - ["invoke", 51, 45, 156, 12], - ["jump", "call_done_232", 156, 12], + ["jump_false", 36, "if_else_227", 154, 7], + ["get", 46, 4, 1, 155, 12], + ["is_proxy", 47, 46, 155, 12], + ["jump_false", 47, "record_path_231", 155, 12], + ["null", 48, 155, 12], + ["access", 49, "slurp", 155, 12], + ["array", 50, 1, 8, 155, 12], + ["frame", 51, 46, 2, 155, 12], + ["setarg", 51, 0, 48, 155, 12], + ["setarg", 51, 1, 49, 155, 12], + ["setarg", 51, 2, 50, 155, 12], + ["invoke", 51, 45, 155, 12], + ["jump", "call_done_232", 155, 12], "record_path_231", - ["load_field", 52, 46, "slurp", 156, 12], - ["frame", 53, 52, 1, 156, 12], - ["setarg", 53, 0, 46, 156, 12], - ["setarg", 53, 1, 8, 156, 12], - ["invoke", 53, 45, 156, 12], + ["load_field", 52, 46, "slurp", 155, 12], + ["frame", 53, 52, 1, 155, 12], + ["setarg", 53, 0, 46, 155, 12], + ["setarg", 53, 1, 8, 155, 12], + ["invoke", 53, 45, 155, 12], "call_done_232", - ["move", 6, 45, 156, 12], + ["move", 6, 45, 155, 12], [ "access", 55, @@ -1785,57 +1785,57 @@ "kind": "name", "make": "intrinsic" }, - 157, + 156, 12 ], - ["frame", 56, 55, 2, 157, 12], - ["null", 57, 157, 12], - ["setarg", 56, 0, 57, 157, 12], - ["setarg", 56, 1, 6, 157, 12], - ["setarg", 56, 2, 2, 157, 12], - ["invoke", 56, 54, 157, 12], - ["return", 54, 157, 12], - ["jump", "if_end_228", 157, 12], + ["frame", 56, 55, 2, 156, 12], + ["null", 57, 156, 12], + ["setarg", 56, 0, 57, 156, 12], + ["setarg", 56, 1, 6, 156, 12], + ["setarg", 56, 2, 2, 156, 12], + ["invoke", 56, 54, 156, 12], + ["return", 54, 156, 12], + ["jump", "if_end_228", 156, 12], "if_else_227", "if_end_228", - ["get", 59, 16, 1, 159, 7], - ["is_proxy", 60, 59, 159, 7], - ["jump_false", 60, "record_path_235", 159, 7], - ["null", 61, 159, 7], - ["access", 62, "is_file", 159, 7], - ["array", 63, 1, 7, 159, 7], - ["frame", 64, 59, 2, 159, 7], - ["setarg", 64, 0, 61, 159, 7], - ["setarg", 64, 1, 62, 159, 7], - ["setarg", 64, 2, 63, 159, 7], - ["invoke", 64, 58, 159, 7], - ["jump", "call_done_236", 159, 7], + ["get", 59, 4, 1, 158, 7], + ["is_proxy", 60, 59, 158, 7], + ["jump_false", 60, "record_path_235", 158, 7], + ["null", 61, 158, 7], + ["access", 62, "is_file", 158, 7], + ["array", 63, 1, 7, 158, 7], + ["frame", 64, 59, 2, 158, 7], + ["setarg", 64, 0, 61, 158, 7], + ["setarg", 64, 1, 62, 158, 7], + ["setarg", 64, 2, 63, 158, 7], + ["invoke", 64, 58, 158, 7], + ["jump", "call_done_236", 158, 7], "record_path_235", - ["load_field", 65, 59, "is_file", 159, 7], - ["frame", 66, 65, 1, 159, 7], - ["setarg", 66, 0, 59, 159, 7], - ["setarg", 66, 1, 7, 159, 7], - ["invoke", 66, 58, 159, 7], + ["load_field", 65, 59, "is_file", 158, 7], + ["frame", 66, 65, 1, 158, 7], + ["setarg", 66, 0, 59, 158, 7], + ["setarg", 66, 1, 7, 158, 7], + ["invoke", 66, 58, 158, 7], "call_done_236", - ["jump_false", 58, "if_else_233", 159, 7], - ["get", 68, 16, 1, 160, 23], - ["is_proxy", 69, 68, 160, 23], - ["jump_false", 69, "record_path_237", 160, 23], - ["null", 70, 160, 23], - ["access", 71, "slurp", 160, 23], - ["array", 72, 1, 7, 160, 23], - ["frame", 73, 68, 2, 160, 23], - ["setarg", 73, 0, 70, 160, 23], - ["setarg", 73, 1, 71, 160, 23], - ["setarg", 73, 2, 72, 160, 23], - ["invoke", 73, 67, 160, 23], - ["jump", "call_done_238", 160, 23], + ["jump_false", 58, "if_else_233", 158, 7], + ["get", 68, 4, 1, 159, 23], + ["is_proxy", 69, 68, 159, 23], + ["jump_false", 69, "record_path_237", 159, 23], + ["null", 70, 159, 23], + ["access", 71, "slurp", 159, 23], + ["array", 72, 1, 7, 159, 23], + ["frame", 73, 68, 2, 159, 23], + ["setarg", 73, 0, 70, 159, 23], + ["setarg", 73, 1, 71, 159, 23], + ["setarg", 73, 2, 72, 159, 23], + ["invoke", 73, 67, 159, 23], + ["jump", "call_done_238", 159, 23], "record_path_237", - ["load_field", 74, 68, "slurp", 160, 23], - ["frame", 75, 74, 1, 160, 23], - ["setarg", 75, 0, 68, 160, 23], - ["setarg", 75, 1, 7, 160, 23], - ["invoke", 75, 67, 160, 23], + ["load_field", 74, 68, "slurp", 159, 23], + ["frame", 75, 74, 1, 159, 23], + ["setarg", 75, 0, 68, 159, 23], + ["setarg", 75, 1, 7, 159, 23], + ["invoke", 75, 67, 159, 23], "call_done_238", [ "access", @@ -1845,15 +1845,15 @@ "kind": "name", "make": "intrinsic" }, - 160, + 159, 18 ], - ["frame", 78, 77, 1, 160, 18], - ["null", 79, 160, 18], - ["setarg", 78, 0, 79, 160, 18], - ["setarg", 78, 1, 67, 160, 18], - ["invoke", 78, 76, 160, 18], - ["move", 9, 76, 160, 18], + ["frame", 78, 77, 1, 159, 18], + ["null", 79, 159, 18], + ["setarg", 78, 0, 79, 159, 18], + ["setarg", 78, 1, 67, 159, 18], + ["invoke", 78, 76, 159, 18], + ["move", 9, 76, 159, 18], [ "access", 81, @@ -1862,18 +1862,18 @@ "kind": "name", "make": "intrinsic" }, - 161, + 160, 12 ], - ["frame", 82, 81, 3, 161, 12], - ["null", 83, 161, 12], - ["setarg", 82, 0, 83, 161, 12], - ["setarg", 82, 1, 1, 161, 12], - ["setarg", 82, 2, 9, 161, 12], - ["setarg", 82, 3, 2, 161, 12], - ["invoke", 82, 80, 161, 12], - ["return", 80, 161, 12], - ["jump", "if_end_234", 161, 12], + ["frame", 82, 81, 3, 160, 12], + ["null", 83, 160, 12], + ["setarg", 82, 0, 83, 160, 12], + ["setarg", 82, 1, 1, 160, 12], + ["setarg", 82, 2, 9, 160, 12], + ["setarg", 82, 3, 2, 160, 12], + ["invoke", 82, 80, 160, 12], + ["return", 80, 160, 12], + ["jump", "if_end_234", 160, 12], "if_else_233", "if_end_234", [ @@ -1884,95 +1884,95 @@ "kind": "name", "make": "intrinsic" }, - 163, + 162, 14 ], - ["access", 85, "/", 163, 26], - ["is_int", 87, 84, 163, 26], - ["jump_false", 87, "add_ni_239", 163, 26], + ["access", 85, "/", 162, 26], + ["is_int", 87, 84, 162, 26], + ["jump_false", 87, "add_ni_239", 162, 26], "_nop_tc_5", - ["jump", "add_ni_239", 163, 26], - ["add_int", 86, 84, 85, 163, 26], - ["jump", "add_done_241", 163, 26], + ["jump", "add_ni_239", 162, 26], + ["add_int", 86, 84, 85, 162, 26], + ["jump", "add_done_241", 162, 26], "add_ni_239", - ["is_text", 87, 84, 163, 26], - ["jump_false", 87, "add_nt_240", 163, 26], - ["concat", 86, 84, 85, 163, 26], - ["jump", "add_done_241", 163, 26], + ["is_text", 87, 84, 162, 26], + ["jump_false", 87, "add_nt_240", 162, 26], + ["concat", 86, 84, 85, 162, 26], + ["jump", "add_done_241", 162, 26], "add_nt_240", - ["is_num", 87, 84, 163, 26], - ["jump_false", 87, "add_err_242", 163, 26], - ["is_num", 88, 85, 163, 26], - ["jump_false", 88, "add_err_242", 163, 26], - ["add_float", 86, 84, 85, 163, 26], - ["jump", "add_done_241", 163, 26], + ["is_num", 87, 84, 162, 26], + ["jump_false", 87, "add_err_242", 162, 26], + ["is_num", 88, 85, 162, 26], + ["jump_false", 88, "add_err_242", 162, 26], + ["add_float", 86, 84, 85, 162, 26], + ["jump", "add_done_241", 162, 26], "add_err_242", - ["disrupt", 163, 26], + ["disrupt", 162, 26], "add_done_241", - ["is_int", 90, 86, 163, 32], - ["jump_false", 90, "add_ni_243", 163, 32], - ["is_int", 91, 1, 163, 32], - ["jump_false", 91, "add_ni_243", 163, 32], - ["add_int", 89, 86, 1, 163, 32], - ["jump", "add_done_245", 163, 32], + ["is_int", 90, 86, 162, 32], + ["jump_false", 90, "add_ni_243", 162, 32], + ["is_int", 91, 1, 162, 32], + ["jump_false", 91, "add_ni_243", 162, 32], + ["add_int", 89, 86, 1, 162, 32], + ["jump", "add_done_245", 162, 32], "add_ni_243", - ["is_text", 90, 86, 163, 32], - ["jump_false", 90, "add_nt_244", 163, 32], - ["is_text", 91, 1, 163, 32], - ["jump_false", 91, "add_nt_244", 163, 32], - ["concat", 89, 86, 1, 163, 32], - ["jump", "add_done_245", 163, 32], + ["is_text", 90, 86, 162, 32], + ["jump_false", 90, "add_nt_244", 162, 32], + ["is_text", 91, 1, 162, 32], + ["jump_false", 91, "add_nt_244", 162, 32], + ["concat", 89, 86, 1, 162, 32], + ["jump", "add_done_245", 162, 32], "add_nt_244", - ["is_num", 90, 86, 163, 32], - ["jump_false", 90, "add_err_246", 163, 32], - ["is_num", 91, 1, 163, 32], - ["jump_false", 91, "add_err_246", 163, 32], - ["add_float", 89, 86, 1, 163, 32], - ["jump", "add_done_245", 163, 32], + ["is_num", 90, 86, 162, 32], + ["jump_false", 90, "add_err_246", 162, 32], + ["is_num", 91, 1, 162, 32], + ["jump_false", 91, "add_err_246", 162, 32], + ["add_float", 89, 86, 1, 162, 32], + ["jump", "add_done_245", 162, 32], "add_err_246", - ["disrupt", 163, 32], + ["disrupt", 162, 32], "add_done_245", - ["access", 92, ".cm", 163, 39], - ["is_int", 94, 89, 163, 39], - ["jump_false", 94, "add_ni_247", 163, 39], + ["access", 92, ".cm", 162, 39], + ["is_int", 94, 89, 162, 39], + ["jump_false", 94, "add_ni_247", 162, 39], "_nop_tc_6", - ["jump", "add_ni_247", 163, 39], - ["add_int", 93, 89, 92, 163, 39], - ["jump", "add_done_249", 163, 39], + ["jump", "add_ni_247", 162, 39], + ["add_int", 93, 89, 92, 162, 39], + ["jump", "add_done_249", 162, 39], "add_ni_247", - ["is_text", 94, 89, 163, 39], - ["jump_false", 94, "add_nt_248", 163, 39], - ["concat", 93, 89, 92, 163, 39], - ["jump", "add_done_249", 163, 39], + ["is_text", 94, 89, 162, 39], + ["jump_false", 94, "add_nt_248", 162, 39], + ["concat", 93, 89, 92, 162, 39], + ["jump", "add_done_249", 162, 39], "add_nt_248", - ["is_num", 94, 89, 163, 39], - ["jump_false", 94, "add_err_250", 163, 39], - ["is_num", 95, 92, 163, 39], - ["jump_false", 95, "add_err_250", 163, 39], - ["add_float", 93, 89, 92, 163, 39], - ["jump", "add_done_249", 163, 39], + ["is_num", 94, 89, 162, 39], + ["jump_false", 94, "add_err_250", 162, 39], + ["is_num", 95, 92, 162, 39], + ["jump_false", 95, "add_err_250", 162, 39], + ["add_float", 93, 89, 92, 162, 39], + ["jump", "add_done_249", 162, 39], "add_err_250", - ["disrupt", 163, 39], + ["disrupt", 162, 39], "add_done_249", - ["move", 4, 93, 163, 39], - ["get", 97, 16, 1, 164, 14], - ["is_proxy", 98, 97, 164, 14], - ["jump_false", 98, "record_path_251", 164, 14], - ["null", 99, 164, 14], - ["access", 100, "slurp", 164, 14], - ["array", 101, 1, 4, 164, 14], - ["frame", 102, 97, 2, 164, 14], - ["setarg", 102, 0, 99, 164, 14], - ["setarg", 102, 1, 100, 164, 14], - ["setarg", 102, 2, 101, 164, 14], - ["invoke", 102, 96, 164, 14], - ["jump", "call_done_252", 164, 14], + ["move", 4, 93, 162, 39], + ["get", 97, 4, 1, 163, 14], + ["is_proxy", 98, 97, 163, 14], + ["jump_false", 98, "record_path_251", 163, 14], + ["null", 99, 163, 14], + ["access", 100, "slurp", 163, 14], + ["array", 101, 1, 4, 163, 14], + ["frame", 102, 97, 2, 163, 14], + ["setarg", 102, 0, 99, 163, 14], + ["setarg", 102, 1, 100, 163, 14], + ["setarg", 102, 2, 101, 163, 14], + ["invoke", 102, 96, 163, 14], + ["jump", "call_done_252", 163, 14], "record_path_251", - ["load_field", 103, 97, "slurp", 164, 14], - ["frame", 104, 103, 1, 164, 14], - ["setarg", 104, 0, 97, 164, 14], - ["setarg", 104, 1, 4, 164, 14], - ["invoke", 104, 96, 164, 14], + ["load_field", 103, 97, "slurp", 163, 14], + ["frame", 104, 103, 1, 163, 14], + ["setarg", 104, 0, 97, 163, 14], + ["setarg", 104, 1, 4, 163, 14], + ["invoke", 104, 96, 163, 14], "call_done_252", [ "access", @@ -1982,55 +1982,55 @@ "kind": "name", "make": "intrinsic" }, - 164, + 163, 9 ], - ["frame", 107, 106, 1, 164, 9], - ["null", 108, 164, 9], - ["setarg", 107, 0, 108, 164, 9], - ["setarg", 107, 1, 96, 164, 9], - ["invoke", 107, 105, 164, 9], - ["move", 10, 105, 164, 9], - ["get", 110, 8, 1, 165, 9], - ["frame", 111, 110, 2, 165, 9], - ["null", 112, 165, 9], - ["setarg", 111, 0, 112, 165, 9], - ["setarg", 111, 1, 10, 165, 9], - ["setarg", 111, 2, 4, 165, 9], - ["invoke", 111, 109, 165, 9], - ["move", 11, 109, 165, 9], - ["get", 114, 7, 1, 166, 14], - ["frame", 115, 114, 1, 166, 14], - ["null", 116, 166, 14], - ["setarg", 115, 0, 116, 166, 14], - ["setarg", 115, 1, 11, 166, 14], - ["invoke", 115, 113, 166, 14], - ["move", 3, 113, 166, 14], - ["get", 118, 24, 1, 167, 15], - ["frame", 119, 118, 1, 167, 15], - ["null", 120, 167, 15], - ["setarg", 119, 0, 120, 167, 15], - ["setarg", 119, 1, 3, 167, 15], - ["invoke", 119, 117, 167, 15], - ["move", 5, 117, 167, 15], - ["get", 122, 25, 1, 168, 32], - ["is_proxy", 123, 122, 168, 32], - ["jump_false", 123, "record_path_253", 168, 32], - ["null", 124, 168, 32], - ["access", 125, "encode", 168, 32], - ["array", 126, 1, 5, 168, 32], - ["frame", 127, 122, 2, 168, 32], - ["setarg", 127, 0, 124, 168, 32], - ["setarg", 127, 1, 125, 168, 32], - ["setarg", 127, 2, 126, 168, 32], - ["invoke", 127, 121, 168, 32], - ["jump", "call_done_254", 168, 32], + ["frame", 107, 106, 1, 163, 9], + ["null", 108, 163, 9], + ["setarg", 107, 0, 108, 163, 9], + ["setarg", 107, 1, 96, 163, 9], + ["invoke", 107, 105, 163, 9], + ["move", 10, 105, 163, 9], + ["get", 110, 11, 1, 164, 9], + ["frame", 111, 110, 2, 164, 9], + ["null", 112, 164, 9], + ["setarg", 111, 0, 112, 164, 9], + ["setarg", 111, 1, 10, 164, 9], + ["setarg", 111, 2, 4, 164, 9], + ["invoke", 111, 109, 164, 9], + ["move", 11, 109, 164, 9], + ["get", 114, 10, 1, 165, 14], + ["frame", 115, 114, 1, 165, 14], + ["null", 116, 165, 14], + ["setarg", 115, 0, 116, 165, 14], + ["setarg", 115, 1, 11, 165, 14], + ["invoke", 115, 113, 165, 14], + ["move", 3, 113, 165, 14], + ["get", 118, 22, 1, 166, 15], + ["frame", 119, 118, 1, 166, 15], + ["null", 120, 166, 15], + ["setarg", 119, 0, 120, 166, 15], + ["setarg", 119, 1, 3, 166, 15], + ["invoke", 119, 117, 166, 15], + ["move", 5, 117, 166, 15], + ["get", 122, 21, 1, 167, 32], + ["is_proxy", 123, 122, 167, 32], + ["jump_false", 123, "record_path_253", 167, 32], + ["null", 124, 167, 32], + ["access", 125, "encode", 167, 32], + ["array", 126, 1, 5, 167, 32], + ["frame", 127, 122, 2, 167, 32], + ["setarg", 127, 0, 124, 167, 32], + ["setarg", 127, 1, 125, 167, 32], + ["setarg", 127, 2, 126, 167, 32], + ["invoke", 127, 121, 167, 32], + ["jump", "call_done_254", 167, 32], "record_path_253", - ["load_field", 128, 122, "encode", 168, 32], - ["frame", 129, 128, 1, 168, 32], - ["setarg", 129, 0, 122, 168, 32], - ["setarg", 129, 1, 5, 168, 32], - ["invoke", 129, 121, 168, 32], + ["load_field", 128, 122, "encode", 167, 32], + ["frame", 129, 128, 1, 167, 32], + ["setarg", 129, 0, 122, 167, 32], + ["setarg", 129, 1, 5, 167, 32], + ["invoke", 129, 121, 167, 32], "call_done_254", [ "access", @@ -2040,19 +2040,19 @@ "kind": "name", "make": "intrinsic" }, - 168, + 167, 10 ], - ["frame", 132, 131, 3, 168, 10], - ["null", 133, 168, 10], - ["setarg", 132, 0, 133, 168, 10], - ["setarg", 132, 1, 1, 168, 10], - ["setarg", 132, 2, 121, 168, 10], - ["setarg", 132, 3, 2, 168, 10], - ["invoke", 132, 130, 168, 10], - ["return", 130, 168, 10], - ["null", 134, 168, 10], - ["return", 134, 168, 10] + ["frame", 132, 131, 3, 167, 10], + ["null", 133, 167, 10], + ["setarg", 132, 0, 133, 167, 10], + ["setarg", 132, 1, 1, 167, 10], + ["setarg", 132, 2, 121, 167, 10], + ["setarg", 132, 3, 2, 167, 10], + ["invoke", 132, 130, 167, 10], + ["return", 130, 167, 10], + ["null", 134, 167, 10], + ["return", 134, 167, 10] ], "name": "load_module", "filename": "internal/bootstrap.cm", @@ -2060,160 +2060,63 @@ }, { "disruption_pc": 0, - "nr_slots": 55, + "nr_slots": 28, "nr_close_slots": 0, "instructions": [ - ["get", 8, 7, 1, 184, 18], - ["frame", 9, 8, 1, 184, 18], - ["null", 10, 184, 18], - ["setarg", 9, 0, 10, 184, 18], - ["setarg", 9, 1, 2, 184, 18], - ["invoke", 9, 7, 184, 18], - ["move", 4, 7, 184, 18], - ["get", 12, 24, 1, 185, 19], - ["frame", 13, 12, 1, 185, 19], - ["null", 14, 185, 19], - ["setarg", 13, 0, 14, 185, 19], - ["setarg", 13, 1, 4, 185, 19], - ["invoke", 13, 11, 185, 19], - ["move", 6, 11, 185, 19], - ["null", 5, 186, 16], + ["get", 7, 10, 1, 176, 18], + ["frame", 8, 7, 1, 176, 18], + ["null", 9, 176, 18], + ["setarg", 8, 0, 9, 176, 18], + ["setarg", 8, 1, 2, 176, 18], + ["invoke", 8, 6, 176, 18], + ["move", 4, 6, 176, 18], + ["get", 11, 22, 1, 177, 19], + ["frame", 12, 11, 1, 177, 19], + ["null", 13, 177, 19], + ["setarg", 12, 0, 13, 177, 19], + ["setarg", 12, 1, 4, 177, 19], + ["invoke", 12, 10, 177, 19], + ["move", 5, 10, 177, 19], + ["get", 15, 21, 1, 178, 32], + ["is_proxy", 16, 15, 178, 32], + ["jump_false", 16, "record_path_255", 178, 32], + ["null", 17, 178, 32], + ["access", 18, "encode", 178, 32], + ["array", 19, 1, 5, 178, 32], + ["frame", 20, 15, 2, 178, 32], + ["setarg", 20, 0, 17, 178, 32], + ["setarg", 20, 1, 18, 178, 32], + ["setarg", 20, 2, 19, 178, 32], + ["invoke", 20, 14, 178, 32], + ["jump", "call_done_256", 178, 32], + "record_path_255", + ["load_field", 21, 15, "encode", 178, 32], + ["frame", 22, 21, 1, 178, 32], + ["setarg", 22, 0, 15, 178, 32], + ["setarg", 22, 1, 5, 178, 32], + ["invoke", 22, 14, 178, 32], + "call_done_256", [ "access", - 15, - { - "name": "emit_qbe", - "kind": "name", - "make": "intrinsic" - }, - 187, - 7 - ], - ["jump_false", 15, "if_else_255", 187, 7], - ["get", 16, 5, 1, 188, 38], - ["get", 18, 19, 1, 188, 14], - ["frame", 19, 18, 2, 188, 14], - ["null", 20, 188, 14], - ["setarg", 19, 0, 20, 188, 14], - ["setarg", 19, 1, 6, 188, 14], - ["setarg", 19, 2, 16, 188, 14], - ["invoke", 19, 17, 188, 14], - ["move", 5, 17, 188, 14], - [ - "access", - 22, - { - "name": "print", - "kind": "name", - "make": "intrinsic" - }, - 189, - 5 - ], - ["frame", 23, 22, 1, 189, 5], - ["null", 24, 189, 5], - ["setarg", 23, 0, 24, 189, 5], - ["setarg", 23, 1, 5, 189, 5], - ["invoke", 23, 21, 189, 5], - ["null", 25, 190, 12], - ["return", 25, 190, 12], - ["jump", "if_end_256", 190, 12], - "if_else_255", - "if_end_256", - [ - "access", - 26, - { - "name": "dump_mach", - "kind": "name", - "make": "intrinsic" - }, - 192, - 7 - ], - ["jump_false", 26, "if_else_257", 192, 7], - ["get", 28, 25, 1, 193, 27], - ["is_proxy", 29, 28, 193, 27], - ["jump_false", 29, "record_path_259", 193, 27], - ["null", 30, 193, 27], - ["access", 31, "encode", 193, 27], - ["array", 32, 1, 6, 193, 27], - ["frame", 33, 28, 2, 193, 27], - ["setarg", 33, 0, 30, 193, 27], - ["setarg", 33, 1, 31, 193, 27], - ["setarg", 33, 2, 32, 193, 27], - ["invoke", 33, 27, 193, 27], - ["jump", "call_done_260", 193, 27], - "record_path_259", - ["load_field", 34, 28, "encode", 193, 27], - ["frame", 35, 34, 1, 193, 27], - ["setarg", 35, 0, 28, 193, 27], - ["setarg", 35, 1, 6, 193, 27], - ["invoke", 35, 27, 193, 27], - "call_done_260", - [ - "access", - 37, - { - "name": "mach_dump_mcode", - "kind": "name", - "make": "intrinsic" - }, - 193, - 5 - ], - ["frame", 38, 37, 3, 193, 5], - ["null", 39, 193, 5], - ["setarg", 38, 0, 39, 193, 5], - ["setarg", 38, 1, 1, 193, 5], - ["setarg", 38, 2, 27, 193, 5], - ["setarg", 38, 3, 3, 193, 5], - ["invoke", 38, 36, 193, 5], - ["null", 40, 194, 12], - ["return", 40, 194, 12], - ["jump", "if_end_258", 194, 12], - "if_else_257", - "if_end_258", - ["get", 42, 25, 1, 196, 32], - ["is_proxy", 43, 42, 196, 32], - ["jump_false", 43, "record_path_261", 196, 32], - ["null", 44, 196, 32], - ["access", 45, "encode", 196, 32], - ["array", 46, 1, 6, 196, 32], - ["frame", 47, 42, 2, 196, 32], - ["setarg", 47, 0, 44, 196, 32], - ["setarg", 47, 1, 45, 196, 32], - ["setarg", 47, 2, 46, 196, 32], - ["invoke", 47, 41, 196, 32], - ["jump", "call_done_262", 196, 32], - "record_path_261", - ["load_field", 48, 42, "encode", 196, 32], - ["frame", 49, 48, 1, 196, 32], - ["setarg", 49, 0, 42, 196, 32], - ["setarg", 49, 1, 6, 196, 32], - ["invoke", 49, 41, 196, 32], - "call_done_262", - [ - "access", - 51, + 24, { "name": "mach_eval_mcode", "kind": "name", "make": "intrinsic" }, - 196, + 178, 10 ], - ["frame", 52, 51, 3, 196, 10], - ["null", 53, 196, 10], - ["setarg", 52, 0, 53, 196, 10], - ["setarg", 52, 1, 1, 196, 10], - ["setarg", 52, 2, 41, 196, 10], - ["setarg", 52, 3, 3, 196, 10], - ["invoke", 52, 50, 196, 10], - ["return", 50, 196, 10], - ["null", 54, 196, 10], - ["return", 54, 196, 10] + ["frame", 25, 24, 3, 178, 10], + ["null", 26, 178, 10], + ["setarg", 25, 0, 26, 178, 10], + ["setarg", 25, 1, 1, 178, 10], + ["setarg", 25, 2, 14, 178, 10], + ["setarg", 25, 3, 3, 178, 10], + ["invoke", 25, 23, 178, 10], + ["return", 23, 178, 10], + ["null", 27, 178, 10], + ["return", 27, 178, 10] ], "name": "run_ast", "filename": "internal/bootstrap.cm", @@ -2224,67 +2127,67 @@ "nr_slots": 191, "nr_close_slots": 0, "instructions": [ - ["null", 5, 201, 19], - ["null", 6, 202, 19], - ["null", 9, 203, 20], - ["null", 7, 204, 20], - ["null", 2, 205, 14], - ["null", 4, 206, 16], - ["null", 8, 207, 13], - ["null", 3, 208, 16], - ["get", 10, 22, 1, 209, 7], - ["load_dynamic", 11, 10, 1, 209, 17], - ["jump_false", 11, "if_else_263", 209, 17], - ["get", 12, 22, 1, 210, 12], - ["load_dynamic", 13, 12, 1, 210, 22], - ["return", 13, 210, 22], - ["jump", "if_end_264", 210, 22], - "if_else_263", - "if_end_264", - ["access", 14, ".cm.mach", 213, 22], - ["is_int", 16, 1, 213, 22], - ["jump_false", 16, "add_ni_265", 213, 22], + ["null", 5, 183, 19], + ["null", 6, 184, 19], + ["null", 9, 185, 20], + ["null", 7, 186, 20], + ["null", 2, 187, 14], + ["null", 4, 188, 16], + ["null", 8, 189, 13], + ["null", 3, 190, 16], + ["get", 10, 18, 1, 191, 7], + ["load_dynamic", 11, 10, 1, 191, 17], + ["jump_false", 11, "if_else_257", 191, 17], + ["get", 12, 18, 1, 192, 12], + ["load_dynamic", 13, 12, 1, 192, 22], + ["return", 13, 192, 22], + ["jump", "if_end_258", 192, 22], + "if_else_257", + "if_end_258", + ["access", 14, ".cm.mach", 195, 22], + ["is_int", 16, 1, 195, 22], + ["jump_false", 16, "add_ni_259", 195, 22], "_nop_tc_1", - ["jump", "add_ni_265", 213, 22], - ["add_int", 15, 1, 14, 213, 22], - ["jump", "add_done_267", 213, 22], - "add_ni_265", - ["is_text", 16, 1, 213, 22], - ["jump_false", 16, "add_nt_266", 213, 22], - ["concat", 15, 1, 14, 213, 22], - ["jump", "add_done_267", 213, 22], - "add_nt_266", - ["is_num", 16, 1, 213, 22], - ["jump_false", 16, "add_err_268", 213, 22], - ["is_num", 17, 14, 213, 22], - ["jump_false", 17, "add_err_268", 213, 22], - ["add_float", 15, 1, 14, 213, 22], - ["jump", "add_done_267", 213, 22], - "add_err_268", - ["disrupt", 213, 22], - "add_done_267", - ["move", 6, 15, 213, 22], - ["get", 19, 16, 1, 214, 8], - ["is_proxy", 20, 19, 214, 8], - ["jump_false", 20, "record_path_271", 214, 8], - ["null", 21, 214, 8], - ["access", 22, "is_file", 214, 8], - ["array", 23, 1, 6, 214, 8], - ["frame", 24, 19, 2, 214, 8], - ["setarg", 24, 0, 21, 214, 8], - ["setarg", 24, 1, 22, 214, 8], - ["setarg", 24, 2, 23, 214, 8], - ["invoke", 24, 18, 214, 8], - ["jump", "call_done_272", 214, 8], - "record_path_271", - ["load_field", 25, 19, "is_file", 214, 8], - ["frame", 26, 25, 1, 214, 8], - ["setarg", 26, 0, 19, 214, 8], - ["setarg", 26, 1, 6, 214, 8], - ["invoke", 26, 18, 214, 8], - "call_done_272", + ["jump", "add_ni_259", 195, 22], + ["add_int", 15, 1, 14, 195, 22], + ["jump", "add_done_261", 195, 22], + "add_ni_259", + ["is_text", 16, 1, 195, 22], + ["jump_false", 16, "add_nt_260", 195, 22], + ["concat", 15, 1, 14, 195, 22], + ["jump", "add_done_261", 195, 22], + "add_nt_260", + ["is_num", 16, 1, 195, 22], + ["jump_false", 16, "add_err_262", 195, 22], + ["is_num", 17, 14, 195, 22], + ["jump_false", 17, "add_err_262", 195, 22], + ["add_float", 15, 1, 14, 195, 22], + ["jump", "add_done_261", 195, 22], + "add_err_262", + ["disrupt", 195, 22], + "add_done_261", + ["move", 6, 15, 195, 22], + ["get", 19, 4, 1, 196, 8], + ["is_proxy", 20, 19, 196, 8], + ["jump_false", 20, "record_path_265", 196, 8], + ["null", 21, 196, 8], + ["access", 22, "is_file", 196, 8], + ["array", 23, 1, 6, 196, 8], + ["frame", 24, 19, 2, 196, 8], + ["setarg", 24, 0, 21, 196, 8], + ["setarg", 24, 1, 22, 196, 8], + ["setarg", 24, 2, 23, 196, 8], + ["invoke", 24, 18, 196, 8], + ["jump", "call_done_266", 196, 8], + "record_path_265", + ["load_field", 25, 19, "is_file", 196, 8], + ["frame", 26, 25, 1, 196, 8], + ["setarg", 26, 0, 19, 196, 8], + ["setarg", 26, 1, 6, 196, 8], + ["invoke", 26, 18, 196, 8], + "call_done_266", "_nop_bl_1", - ["jump_true", 18, "if_else_269", 214, 8], + ["jump_true", 18, "if_else_263", 196, 8], [ "access", 28, @@ -2293,123 +2196,123 @@ "kind": "name", "make": "intrinsic" }, - 215, + 197, 17 ], - ["access", 29, "/", 215, 29], - ["is_int", 31, 28, 215, 29], - ["jump_false", 31, "add_ni_273", 215, 29], + ["access", 29, "/", 197, 29], + ["is_int", 31, 28, 197, 29], + ["jump_false", 31, "add_ni_267", 197, 29], "_nop_tc_2", - ["jump", "add_ni_273", 215, 29], - ["add_int", 30, 28, 29, 215, 29], - ["jump", "add_done_275", 215, 29], - "add_ni_273", - ["is_text", 31, 28, 215, 29], - ["jump_false", 31, "add_nt_274", 215, 29], - ["concat", 30, 28, 29, 215, 29], - ["jump", "add_done_275", 215, 29], - "add_nt_274", - ["is_num", 31, 28, 215, 29], - ["jump_false", 31, "add_err_276", 215, 29], - ["is_num", 32, 29, 215, 29], - ["jump_false", 32, "add_err_276", 215, 29], - ["add_float", 30, 28, 29, 215, 29], - ["jump", "add_done_275", 215, 29], - "add_err_276", - ["disrupt", 215, 29], - "add_done_275", - ["is_int", 34, 30, 215, 35], - ["jump_false", 34, "add_ni_277", 215, 35], - ["is_int", 35, 1, 215, 35], - ["jump_false", 35, "add_ni_277", 215, 35], - ["add_int", 33, 30, 1, 215, 35], - ["jump", "add_done_279", 215, 35], - "add_ni_277", - ["is_text", 34, 30, 215, 35], - ["jump_false", 34, "add_nt_278", 215, 35], - ["is_text", 35, 1, 215, 35], - ["jump_false", 35, "add_nt_278", 215, 35], - ["concat", 33, 30, 1, 215, 35], - ["jump", "add_done_279", 215, 35], - "add_nt_278", - ["is_num", 34, 30, 215, 35], - ["jump_false", 34, "add_err_280", 215, 35], - ["is_num", 35, 1, 215, 35], - ["jump_false", 35, "add_err_280", 215, 35], - ["add_float", 33, 30, 1, 215, 35], - ["jump", "add_done_279", 215, 35], - "add_err_280", - ["disrupt", 215, 35], - "add_done_279", - ["access", 36, ".cm.mach", 215, 42], - ["is_int", 38, 33, 215, 42], - ["jump_false", 38, "add_ni_281", 215, 42], + ["jump", "add_ni_267", 197, 29], + ["add_int", 30, 28, 29, 197, 29], + ["jump", "add_done_269", 197, 29], + "add_ni_267", + ["is_text", 31, 28, 197, 29], + ["jump_false", 31, "add_nt_268", 197, 29], + ["concat", 30, 28, 29, 197, 29], + ["jump", "add_done_269", 197, 29], + "add_nt_268", + ["is_num", 31, 28, 197, 29], + ["jump_false", 31, "add_err_270", 197, 29], + ["is_num", 32, 29, 197, 29], + ["jump_false", 32, "add_err_270", 197, 29], + ["add_float", 30, 28, 29, 197, 29], + ["jump", "add_done_269", 197, 29], + "add_err_270", + ["disrupt", 197, 29], + "add_done_269", + ["is_int", 34, 30, 197, 35], + ["jump_false", 34, "add_ni_271", 197, 35], + ["is_int", 35, 1, 197, 35], + ["jump_false", 35, "add_ni_271", 197, 35], + ["add_int", 33, 30, 1, 197, 35], + ["jump", "add_done_273", 197, 35], + "add_ni_271", + ["is_text", 34, 30, 197, 35], + ["jump_false", 34, "add_nt_272", 197, 35], + ["is_text", 35, 1, 197, 35], + ["jump_false", 35, "add_nt_272", 197, 35], + ["concat", 33, 30, 1, 197, 35], + ["jump", "add_done_273", 197, 35], + "add_nt_272", + ["is_num", 34, 30, 197, 35], + ["jump_false", 34, "add_err_274", 197, 35], + ["is_num", 35, 1, 197, 35], + ["jump_false", 35, "add_err_274", 197, 35], + ["add_float", 33, 30, 1, 197, 35], + ["jump", "add_done_273", 197, 35], + "add_err_274", + ["disrupt", 197, 35], + "add_done_273", + ["access", 36, ".cm.mach", 197, 42], + ["is_int", 38, 33, 197, 42], + ["jump_false", 38, "add_ni_275", 197, 42], "_nop_tc_3", - ["jump", "add_ni_281", 215, 42], - ["add_int", 37, 33, 36, 215, 42], - ["jump", "add_done_283", 215, 42], - "add_ni_281", - ["is_text", 38, 33, 215, 42], - ["jump_false", 38, "add_nt_282", 215, 42], - ["concat", 37, 33, 36, 215, 42], - ["jump", "add_done_283", 215, 42], - "add_nt_282", - ["is_num", 38, 33, 215, 42], - ["jump_false", 38, "add_err_284", 215, 42], - ["is_num", 39, 36, 215, 42], - ["jump_false", 39, "add_err_284", 215, 42], - ["add_float", 37, 33, 36, 215, 42], - ["jump", "add_done_283", 215, 42], - "add_err_284", - ["disrupt", 215, 42], - "add_done_283", - ["move", 6, 37, 215, 42], - ["jump", "if_end_270", 215, 42], - "if_else_269", - "if_end_270", - ["get", 41, 16, 1, 216, 7], - ["is_proxy", 42, 41, 216, 7], - ["jump_false", 42, "record_path_287", 216, 7], - ["null", 43, 216, 7], - ["access", 44, "is_file", 216, 7], - ["array", 45, 1, 6, 216, 7], - ["frame", 46, 41, 2, 216, 7], - ["setarg", 46, 0, 43, 216, 7], - ["setarg", 46, 1, 44, 216, 7], - ["setarg", 46, 2, 45, 216, 7], - ["invoke", 46, 40, 216, 7], - ["jump", "call_done_288", 216, 7], - "record_path_287", - ["load_field", 47, 41, "is_file", 216, 7], - ["frame", 48, 47, 1, 216, 7], - ["setarg", 48, 0, 41, 216, 7], - ["setarg", 48, 1, 6, 216, 7], - ["invoke", 48, 40, 216, 7], - "call_done_288", - ["jump_false", 40, "if_else_285", 216, 7], - ["get", 50, 16, 1, 217, 12], - ["is_proxy", 51, 50, 217, 12], - ["jump_false", 51, "record_path_289", 217, 12], - ["null", 52, 217, 12], - ["access", 53, "slurp", 217, 12], - ["array", 54, 1, 6, 217, 12], - ["frame", 55, 50, 2, 217, 12], - ["setarg", 55, 0, 52, 217, 12], - ["setarg", 55, 1, 53, 217, 12], - ["setarg", 55, 2, 54, 217, 12], - ["invoke", 55, 49, 217, 12], - ["jump", "call_done_290", 217, 12], - "record_path_289", - ["load_field", 56, 50, "slurp", 217, 12], - ["frame", 57, 56, 1, 217, 12], - ["setarg", 57, 0, 50, 217, 12], - ["setarg", 57, 1, 6, 217, 12], - ["invoke", 57, 49, 217, 12], - "call_done_290", - ["move", 2, 49, 217, 12], + ["jump", "add_ni_275", 197, 42], + ["add_int", 37, 33, 36, 197, 42], + ["jump", "add_done_277", 197, 42], + "add_ni_275", + ["is_text", 38, 33, 197, 42], + ["jump_false", 38, "add_nt_276", 197, 42], + ["concat", 37, 33, 36, 197, 42], + ["jump", "add_done_277", 197, 42], + "add_nt_276", + ["is_num", 38, 33, 197, 42], + ["jump_false", 38, "add_err_278", 197, 42], + ["is_num", 39, 36, 197, 42], + ["jump_false", 39, "add_err_278", 197, 42], + ["add_float", 37, 33, 36, 197, 42], + ["jump", "add_done_277", 197, 42], + "add_err_278", + ["disrupt", 197, 42], + "add_done_277", + ["move", 6, 37, 197, 42], + ["jump", "if_end_264", 197, 42], + "if_else_263", + "if_end_264", + ["get", 41, 4, 1, 198, 7], + ["is_proxy", 42, 41, 198, 7], + ["jump_false", 42, "record_path_281", 198, 7], + ["null", 43, 198, 7], + ["access", 44, "is_file", 198, 7], + ["array", 45, 1, 6, 198, 7], + ["frame", 46, 41, 2, 198, 7], + ["setarg", 46, 0, 43, 198, 7], + ["setarg", 46, 1, 44, 198, 7], + ["setarg", 46, 2, 45, 198, 7], + ["invoke", 46, 40, 198, 7], + ["jump", "call_done_282", 198, 7], + "record_path_281", + ["load_field", 47, 41, "is_file", 198, 7], + ["frame", 48, 47, 1, 198, 7], + ["setarg", 48, 0, 41, 198, 7], + ["setarg", 48, 1, 6, 198, 7], + ["invoke", 48, 40, 198, 7], + "call_done_282", + ["jump_false", 40, "if_else_279", 198, 7], + ["get", 50, 4, 1, 199, 12], + ["is_proxy", 51, 50, 199, 12], + ["jump_false", 51, "record_path_283", 199, 12], + ["null", 52, 199, 12], + ["access", 53, "slurp", 199, 12], + ["array", 54, 1, 6, 199, 12], + ["frame", 55, 50, 2, 199, 12], + ["setarg", 55, 0, 52, 199, 12], + ["setarg", 55, 1, 53, 199, 12], + ["setarg", 55, 2, 54, 199, 12], + ["invoke", 55, 49, 199, 12], + ["jump", "call_done_284", 199, 12], + "record_path_283", + ["load_field", 56, 50, "slurp", 199, 12], + ["frame", 57, 56, 1, 199, 12], + ["setarg", 57, 0, 50, 199, 12], + ["setarg", 57, 1, 6, 199, 12], + ["invoke", 57, 49, 199, 12], + "call_done_284", + ["move", 2, 49, 199, 12], ["record", 58, 0], - ["get", 59, 10, 1, 218, 36], - ["store_field", 58, 59, "use", 218, 36], + ["get", 59, 13, 1, 200, 36], + ["store_field", 58, 59, "use", 200, 36], [ "access", 61, @@ -2418,66 +2321,66 @@ "kind": "name", "make": "intrinsic" }, - 218, + 200, 14 ], - ["frame", 62, 61, 2, 218, 14], - ["null", 63, 218, 14], - ["setarg", 62, 0, 63, 218, 14], - ["setarg", 62, 1, 2, 218, 14], - ["setarg", 62, 2, 58, 218, 14], - ["invoke", 62, 60, 218, 14], - ["move", 3, 60, 218, 14], - ["get", 64, 22, 1, 219, 5], - ["store_dynamic", 64, 3, 1, 219, 15], - ["return", 3, 220, 12], - ["jump", "if_end_286", 220, 12], - "if_else_285", - "if_end_286", - ["access", 65, ".cm.mcode", 224, 23], - ["is_int", 67, 1, 224, 23], - ["jump_false", 67, "add_ni_291", 224, 23], + ["frame", 62, 61, 2, 200, 14], + ["null", 63, 200, 14], + ["setarg", 62, 0, 63, 200, 14], + ["setarg", 62, 1, 2, 200, 14], + ["setarg", 62, 2, 58, 200, 14], + ["invoke", 62, 60, 200, 14], + ["move", 3, 60, 200, 14], + ["get", 64, 18, 1, 201, 5], + ["store_dynamic", 64, 3, 1, 201, 15], + ["return", 3, 202, 12], + ["jump", "if_end_280", 202, 12], + "if_else_279", + "if_end_280", + ["access", 65, ".cm.mcode", 206, 23], + ["is_int", 67, 1, 206, 23], + ["jump_false", 67, "add_ni_285", 206, 23], "_nop_tc_4", - ["jump", "add_ni_291", 224, 23], - ["add_int", 66, 1, 65, 224, 23], - ["jump", "add_done_293", 224, 23], - "add_ni_291", - ["is_text", 67, 1, 224, 23], - ["jump_false", 67, "add_nt_292", 224, 23], - ["concat", 66, 1, 65, 224, 23], - ["jump", "add_done_293", 224, 23], - "add_nt_292", - ["is_num", 67, 1, 224, 23], - ["jump_false", 67, "add_err_294", 224, 23], - ["is_num", 68, 65, 224, 23], - ["jump_false", 68, "add_err_294", 224, 23], - ["add_float", 66, 1, 65, 224, 23], - ["jump", "add_done_293", 224, 23], - "add_err_294", - ["disrupt", 224, 23], - "add_done_293", - ["move", 9, 66, 224, 23], - ["get", 70, 16, 1, 225, 8], - ["is_proxy", 71, 70, 225, 8], - ["jump_false", 71, "record_path_297", 225, 8], - ["null", 72, 225, 8], - ["access", 73, "is_file", 225, 8], - ["array", 74, 1, 9, 225, 8], - ["frame", 75, 70, 2, 225, 8], - ["setarg", 75, 0, 72, 225, 8], - ["setarg", 75, 1, 73, 225, 8], - ["setarg", 75, 2, 74, 225, 8], - ["invoke", 75, 69, 225, 8], - ["jump", "call_done_298", 225, 8], - "record_path_297", - ["load_field", 76, 70, "is_file", 225, 8], - ["frame", 77, 76, 1, 225, 8], - ["setarg", 77, 0, 70, 225, 8], - ["setarg", 77, 1, 9, 225, 8], - ["invoke", 77, 69, 225, 8], - "call_done_298", + ["jump", "add_ni_285", 206, 23], + ["add_int", 66, 1, 65, 206, 23], + ["jump", "add_done_287", 206, 23], + "add_ni_285", + ["is_text", 67, 1, 206, 23], + ["jump_false", 67, "add_nt_286", 206, 23], + ["concat", 66, 1, 65, 206, 23], + ["jump", "add_done_287", 206, 23], + "add_nt_286", + ["is_num", 67, 1, 206, 23], + ["jump_false", 67, "add_err_288", 206, 23], + ["is_num", 68, 65, 206, 23], + ["jump_false", 68, "add_err_288", 206, 23], + ["add_float", 66, 1, 65, 206, 23], + ["jump", "add_done_287", 206, 23], + "add_err_288", + ["disrupt", 206, 23], + "add_done_287", + ["move", 9, 66, 206, 23], + ["get", 70, 4, 1, 207, 8], + ["is_proxy", 71, 70, 207, 8], + ["jump_false", 71, "record_path_291", 207, 8], + ["null", 72, 207, 8], + ["access", 73, "is_file", 207, 8], + ["array", 74, 1, 9, 207, 8], + ["frame", 75, 70, 2, 207, 8], + ["setarg", 75, 0, 72, 207, 8], + ["setarg", 75, 1, 73, 207, 8], + ["setarg", 75, 2, 74, 207, 8], + ["invoke", 75, 69, 207, 8], + ["jump", "call_done_292", 207, 8], + "record_path_291", + ["load_field", 76, 70, "is_file", 207, 8], + ["frame", 77, 76, 1, 207, 8], + ["setarg", 77, 0, 70, 207, 8], + ["setarg", 77, 1, 9, 207, 8], + ["invoke", 77, 69, 207, 8], + "call_done_292", "_nop_bl_2", - ["jump_true", 69, "if_else_295", 225, 8], + ["jump_true", 69, "if_else_289", 207, 8], [ "access", 79, @@ -2486,119 +2389,119 @@ "kind": "name", "make": "intrinsic" }, - 226, + 208, 18 ], - ["access", 80, "/", 226, 30], - ["is_int", 82, 79, 226, 30], - ["jump_false", 82, "add_ni_299", 226, 30], + ["access", 80, "/", 208, 30], + ["is_int", 82, 79, 208, 30], + ["jump_false", 82, "add_ni_293", 208, 30], "_nop_tc_5", - ["jump", "add_ni_299", 226, 30], - ["add_int", 81, 79, 80, 226, 30], - ["jump", "add_done_301", 226, 30], - "add_ni_299", - ["is_text", 82, 79, 226, 30], - ["jump_false", 82, "add_nt_300", 226, 30], - ["concat", 81, 79, 80, 226, 30], - ["jump", "add_done_301", 226, 30], - "add_nt_300", - ["is_num", 82, 79, 226, 30], - ["jump_false", 82, "add_err_302", 226, 30], - ["is_num", 83, 80, 226, 30], - ["jump_false", 83, "add_err_302", 226, 30], - ["add_float", 81, 79, 80, 226, 30], - ["jump", "add_done_301", 226, 30], - "add_err_302", - ["disrupt", 226, 30], - "add_done_301", - ["is_int", 85, 81, 226, 36], - ["jump_false", 85, "add_ni_303", 226, 36], - ["is_int", 86, 1, 226, 36], - ["jump_false", 86, "add_ni_303", 226, 36], - ["add_int", 84, 81, 1, 226, 36], - ["jump", "add_done_305", 226, 36], - "add_ni_303", - ["is_text", 85, 81, 226, 36], - ["jump_false", 85, "add_nt_304", 226, 36], - ["is_text", 86, 1, 226, 36], - ["jump_false", 86, "add_nt_304", 226, 36], - ["concat", 84, 81, 1, 226, 36], - ["jump", "add_done_305", 226, 36], - "add_nt_304", - ["is_num", 85, 81, 226, 36], - ["jump_false", 85, "add_err_306", 226, 36], - ["is_num", 86, 1, 226, 36], - ["jump_false", 86, "add_err_306", 226, 36], - ["add_float", 84, 81, 1, 226, 36], - ["jump", "add_done_305", 226, 36], - "add_err_306", - ["disrupt", 226, 36], - "add_done_305", - ["access", 87, ".cm.mcode", 226, 43], - ["is_int", 89, 84, 226, 43], - ["jump_false", 89, "add_ni_307", 226, 43], + ["jump", "add_ni_293", 208, 30], + ["add_int", 81, 79, 80, 208, 30], + ["jump", "add_done_295", 208, 30], + "add_ni_293", + ["is_text", 82, 79, 208, 30], + ["jump_false", 82, "add_nt_294", 208, 30], + ["concat", 81, 79, 80, 208, 30], + ["jump", "add_done_295", 208, 30], + "add_nt_294", + ["is_num", 82, 79, 208, 30], + ["jump_false", 82, "add_err_296", 208, 30], + ["is_num", 83, 80, 208, 30], + ["jump_false", 83, "add_err_296", 208, 30], + ["add_float", 81, 79, 80, 208, 30], + ["jump", "add_done_295", 208, 30], + "add_err_296", + ["disrupt", 208, 30], + "add_done_295", + ["is_int", 85, 81, 208, 36], + ["jump_false", 85, "add_ni_297", 208, 36], + ["is_int", 86, 1, 208, 36], + ["jump_false", 86, "add_ni_297", 208, 36], + ["add_int", 84, 81, 1, 208, 36], + ["jump", "add_done_299", 208, 36], + "add_ni_297", + ["is_text", 85, 81, 208, 36], + ["jump_false", 85, "add_nt_298", 208, 36], + ["is_text", 86, 1, 208, 36], + ["jump_false", 86, "add_nt_298", 208, 36], + ["concat", 84, 81, 1, 208, 36], + ["jump", "add_done_299", 208, 36], + "add_nt_298", + ["is_num", 85, 81, 208, 36], + ["jump_false", 85, "add_err_300", 208, 36], + ["is_num", 86, 1, 208, 36], + ["jump_false", 86, "add_err_300", 208, 36], + ["add_float", 84, 81, 1, 208, 36], + ["jump", "add_done_299", 208, 36], + "add_err_300", + ["disrupt", 208, 36], + "add_done_299", + ["access", 87, ".cm.mcode", 208, 43], + ["is_int", 89, 84, 208, 43], + ["jump_false", 89, "add_ni_301", 208, 43], "_nop_tc_6", - ["jump", "add_ni_307", 226, 43], - ["add_int", 88, 84, 87, 226, 43], - ["jump", "add_done_309", 226, 43], - "add_ni_307", - ["is_text", 89, 84, 226, 43], - ["jump_false", 89, "add_nt_308", 226, 43], - ["concat", 88, 84, 87, 226, 43], - ["jump", "add_done_309", 226, 43], - "add_nt_308", - ["is_num", 89, 84, 226, 43], - ["jump_false", 89, "add_err_310", 226, 43], - ["is_num", 90, 87, 226, 43], - ["jump_false", 90, "add_err_310", 226, 43], - ["add_float", 88, 84, 87, 226, 43], - ["jump", "add_done_309", 226, 43], - "add_err_310", - ["disrupt", 226, 43], - "add_done_309", - ["move", 9, 88, 226, 43], - ["jump", "if_end_296", 226, 43], - "if_else_295", - "if_end_296", - ["get", 92, 16, 1, 227, 7], - ["is_proxy", 93, 92, 227, 7], - ["jump_false", 93, "record_path_313", 227, 7], - ["null", 94, 227, 7], - ["access", 95, "is_file", 227, 7], - ["array", 96, 1, 9, 227, 7], - ["frame", 97, 92, 2, 227, 7], - ["setarg", 97, 0, 94, 227, 7], - ["setarg", 97, 1, 95, 227, 7], - ["setarg", 97, 2, 96, 227, 7], - ["invoke", 97, 91, 227, 7], - ["jump", "call_done_314", 227, 7], - "record_path_313", - ["load_field", 98, 92, "is_file", 227, 7], - ["frame", 99, 98, 1, 227, 7], - ["setarg", 99, 0, 92, 227, 7], - ["setarg", 99, 1, 9, 227, 7], - ["invoke", 99, 91, 227, 7], - "call_done_314", - ["jump_false", 91, "if_else_311", 227, 7], - ["get", 101, 16, 1, 228, 23], - ["is_proxy", 102, 101, 228, 23], - ["jump_false", 102, "record_path_315", 228, 23], - ["null", 103, 228, 23], - ["access", 104, "slurp", 228, 23], - ["array", 105, 1, 9, 228, 23], - ["frame", 106, 101, 2, 228, 23], - ["setarg", 106, 0, 103, 228, 23], - ["setarg", 106, 1, 104, 228, 23], - ["setarg", 106, 2, 105, 228, 23], - ["invoke", 106, 100, 228, 23], - ["jump", "call_done_316", 228, 23], - "record_path_315", - ["load_field", 107, 101, "slurp", 228, 23], - ["frame", 108, 107, 1, 228, 23], - ["setarg", 108, 0, 101, 228, 23], - ["setarg", 108, 1, 9, 228, 23], - ["invoke", 108, 100, 228, 23], - "call_done_316", + ["jump", "add_ni_301", 208, 43], + ["add_int", 88, 84, 87, 208, 43], + ["jump", "add_done_303", 208, 43], + "add_ni_301", + ["is_text", 89, 84, 208, 43], + ["jump_false", 89, "add_nt_302", 208, 43], + ["concat", 88, 84, 87, 208, 43], + ["jump", "add_done_303", 208, 43], + "add_nt_302", + ["is_num", 89, 84, 208, 43], + ["jump_false", 89, "add_err_304", 208, 43], + ["is_num", 90, 87, 208, 43], + ["jump_false", 90, "add_err_304", 208, 43], + ["add_float", 88, 84, 87, 208, 43], + ["jump", "add_done_303", 208, 43], + "add_err_304", + ["disrupt", 208, 43], + "add_done_303", + ["move", 9, 88, 208, 43], + ["jump", "if_end_290", 208, 43], + "if_else_289", + "if_end_290", + ["get", 92, 4, 1, 209, 7], + ["is_proxy", 93, 92, 209, 7], + ["jump_false", 93, "record_path_307", 209, 7], + ["null", 94, 209, 7], + ["access", 95, "is_file", 209, 7], + ["array", 96, 1, 9, 209, 7], + ["frame", 97, 92, 2, 209, 7], + ["setarg", 97, 0, 94, 209, 7], + ["setarg", 97, 1, 95, 209, 7], + ["setarg", 97, 2, 96, 209, 7], + ["invoke", 97, 91, 209, 7], + ["jump", "call_done_308", 209, 7], + "record_path_307", + ["load_field", 98, 92, "is_file", 209, 7], + ["frame", 99, 98, 1, 209, 7], + ["setarg", 99, 0, 92, 209, 7], + ["setarg", 99, 1, 9, 209, 7], + ["invoke", 99, 91, 209, 7], + "call_done_308", + ["jump_false", 91, "if_else_305", 209, 7], + ["get", 101, 4, 1, 210, 23], + ["is_proxy", 102, 101, 210, 23], + ["jump_false", 102, "record_path_309", 210, 23], + ["null", 103, 210, 23], + ["access", 104, "slurp", 210, 23], + ["array", 105, 1, 9, 210, 23], + ["frame", 106, 101, 2, 210, 23], + ["setarg", 106, 0, 103, 210, 23], + ["setarg", 106, 1, 104, 210, 23], + ["setarg", 106, 2, 105, 210, 23], + ["invoke", 106, 100, 210, 23], + ["jump", "call_done_310", 210, 23], + "record_path_309", + ["load_field", 107, 101, "slurp", 210, 23], + ["frame", 108, 107, 1, 210, 23], + ["setarg", 108, 0, 101, 210, 23], + ["setarg", 108, 1, 9, 210, 23], + ["invoke", 108, 100, 210, 23], + "call_done_310", [ "access", 110, @@ -2607,18 +2510,18 @@ "kind": "name", "make": "intrinsic" }, - 228, + 210, 18 ], - ["frame", 111, 110, 1, 228, 18], - ["null", 112, 228, 18], - ["setarg", 111, 0, 112, 228, 18], - ["setarg", 111, 1, 100, 228, 18], - ["invoke", 111, 109, 228, 18], - ["move", 7, 109, 228, 18], + ["frame", 111, 110, 1, 210, 18], + ["null", 112, 210, 18], + ["setarg", 111, 0, 112, 210, 18], + ["setarg", 111, 1, 100, 210, 18], + ["invoke", 111, 109, 210, 18], + ["move", 7, 109, 210, 18], ["record", 113, 0], - ["get", 114, 10, 1, 229, 54], - ["store_field", 113, 114, "use", 229, 54], + ["get", 114, 13, 1, 211, 54], + ["store_field", 113, 114, "use", 211, 54], [ "access", 116, @@ -2627,67 +2530,67 @@ "kind": "name", "make": "intrinsic" }, - 229, + 211, 14 ], - ["frame", 117, 116, 3, 229, 14], - ["null", 118, 229, 14], - ["setarg", 117, 0, 118, 229, 14], - ["setarg", 117, 1, 1, 229, 14], - ["setarg", 117, 2, 7, 229, 14], - ["setarg", 117, 3, 113, 229, 14], - ["invoke", 117, 115, 229, 14], - ["move", 3, 115, 229, 14], - ["get", 119, 22, 1, 230, 5], - ["store_dynamic", 119, 3, 1, 230, 15], - ["return", 3, 231, 12], - ["jump", "if_end_312", 231, 12], - "if_else_311", - "if_end_312", - ["access", 120, ".cm", 235, 22], - ["is_int", 122, 1, 235, 22], - ["jump_false", 122, "add_ni_317", 235, 22], + ["frame", 117, 116, 3, 211, 14], + ["null", 118, 211, 14], + ["setarg", 117, 0, 118, 211, 14], + ["setarg", 117, 1, 1, 211, 14], + ["setarg", 117, 2, 7, 211, 14], + ["setarg", 117, 3, 113, 211, 14], + ["invoke", 117, 115, 211, 14], + ["move", 3, 115, 211, 14], + ["get", 119, 18, 1, 212, 5], + ["store_dynamic", 119, 3, 1, 212, 15], + ["return", 3, 213, 12], + ["jump", "if_end_306", 213, 12], + "if_else_305", + "if_end_306", + ["access", 120, ".cm", 217, 22], + ["is_int", 122, 1, 217, 22], + ["jump_false", 122, "add_ni_311", 217, 22], "_nop_tc_7", - ["jump", "add_ni_317", 235, 22], - ["add_int", 121, 1, 120, 235, 22], - ["jump", "add_done_319", 235, 22], - "add_ni_317", - ["is_text", 122, 1, 235, 22], - ["jump_false", 122, "add_nt_318", 235, 22], - ["concat", 121, 1, 120, 235, 22], - ["jump", "add_done_319", 235, 22], - "add_nt_318", - ["is_num", 122, 1, 235, 22], - ["jump_false", 122, "add_err_320", 235, 22], - ["is_num", 123, 120, 235, 22], - ["jump_false", 123, "add_err_320", 235, 22], - ["add_float", 121, 1, 120, 235, 22], - ["jump", "add_done_319", 235, 22], - "add_err_320", - ["disrupt", 235, 22], - "add_done_319", - ["move", 5, 121, 235, 22], - ["get", 125, 16, 1, 236, 8], - ["is_proxy", 126, 125, 236, 8], - ["jump_false", 126, "record_path_323", 236, 8], - ["null", 127, 236, 8], - ["access", 128, "is_file", 236, 8], - ["array", 129, 1, 5, 236, 8], - ["frame", 130, 125, 2, 236, 8], - ["setarg", 130, 0, 127, 236, 8], - ["setarg", 130, 1, 128, 236, 8], - ["setarg", 130, 2, 129, 236, 8], - ["invoke", 130, 124, 236, 8], - ["jump", "call_done_324", 236, 8], - "record_path_323", - ["load_field", 131, 125, "is_file", 236, 8], - ["frame", 132, 131, 1, 236, 8], - ["setarg", 132, 0, 125, 236, 8], - ["setarg", 132, 1, 5, 236, 8], - ["invoke", 132, 124, 236, 8], - "call_done_324", + ["jump", "add_ni_311", 217, 22], + ["add_int", 121, 1, 120, 217, 22], + ["jump", "add_done_313", 217, 22], + "add_ni_311", + ["is_text", 122, 1, 217, 22], + ["jump_false", 122, "add_nt_312", 217, 22], + ["concat", 121, 1, 120, 217, 22], + ["jump", "add_done_313", 217, 22], + "add_nt_312", + ["is_num", 122, 1, 217, 22], + ["jump_false", 122, "add_err_314", 217, 22], + ["is_num", 123, 120, 217, 22], + ["jump_false", 123, "add_err_314", 217, 22], + ["add_float", 121, 1, 120, 217, 22], + ["jump", "add_done_313", 217, 22], + "add_err_314", + ["disrupt", 217, 22], + "add_done_313", + ["move", 5, 121, 217, 22], + ["get", 125, 4, 1, 218, 8], + ["is_proxy", 126, 125, 218, 8], + ["jump_false", 126, "record_path_317", 218, 8], + ["null", 127, 218, 8], + ["access", 128, "is_file", 218, 8], + ["array", 129, 1, 5, 218, 8], + ["frame", 130, 125, 2, 218, 8], + ["setarg", 130, 0, 127, 218, 8], + ["setarg", 130, 1, 128, 218, 8], + ["setarg", 130, 2, 129, 218, 8], + ["invoke", 130, 124, 218, 8], + ["jump", "call_done_318", 218, 8], + "record_path_317", + ["load_field", 131, 125, "is_file", 218, 8], + ["frame", 132, 131, 1, 218, 8], + ["setarg", 132, 0, 125, 218, 8], + ["setarg", 132, 1, 5, 218, 8], + ["invoke", 132, 124, 218, 8], + "call_done_318", "_nop_bl_3", - ["jump_true", 124, "if_else_321", 236, 8], + ["jump_true", 124, "if_else_315", 218, 8], [ "access", 134, @@ -2696,119 +2599,119 @@ "kind": "name", "make": "intrinsic" }, - 237, + 219, 17 ], - ["access", 135, "/", 237, 29], - ["is_int", 137, 134, 237, 29], - ["jump_false", 137, "add_ni_325", 237, 29], + ["access", 135, "/", 219, 29], + ["is_int", 137, 134, 219, 29], + ["jump_false", 137, "add_ni_319", 219, 29], "_nop_tc_8", - ["jump", "add_ni_325", 237, 29], - ["add_int", 136, 134, 135, 237, 29], - ["jump", "add_done_327", 237, 29], - "add_ni_325", - ["is_text", 137, 134, 237, 29], - ["jump_false", 137, "add_nt_326", 237, 29], - ["concat", 136, 134, 135, 237, 29], - ["jump", "add_done_327", 237, 29], - "add_nt_326", - ["is_num", 137, 134, 237, 29], - ["jump_false", 137, "add_err_328", 237, 29], - ["is_num", 138, 135, 237, 29], - ["jump_false", 138, "add_err_328", 237, 29], - ["add_float", 136, 134, 135, 237, 29], - ["jump", "add_done_327", 237, 29], - "add_err_328", - ["disrupt", 237, 29], - "add_done_327", - ["is_int", 140, 136, 237, 35], - ["jump_false", 140, "add_ni_329", 237, 35], - ["is_int", 141, 1, 237, 35], - ["jump_false", 141, "add_ni_329", 237, 35], - ["add_int", 139, 136, 1, 237, 35], - ["jump", "add_done_331", 237, 35], - "add_ni_329", - ["is_text", 140, 136, 237, 35], - ["jump_false", 140, "add_nt_330", 237, 35], - ["is_text", 141, 1, 237, 35], - ["jump_false", 141, "add_nt_330", 237, 35], - ["concat", 139, 136, 1, 237, 35], - ["jump", "add_done_331", 237, 35], - "add_nt_330", - ["is_num", 140, 136, 237, 35], - ["jump_false", 140, "add_err_332", 237, 35], - ["is_num", 141, 1, 237, 35], - ["jump_false", 141, "add_err_332", 237, 35], - ["add_float", 139, 136, 1, 237, 35], - ["jump", "add_done_331", 237, 35], - "add_err_332", - ["disrupt", 237, 35], - "add_done_331", - ["access", 142, ".cm", 237, 42], - ["is_int", 144, 139, 237, 42], - ["jump_false", 144, "add_ni_333", 237, 42], + ["jump", "add_ni_319", 219, 29], + ["add_int", 136, 134, 135, 219, 29], + ["jump", "add_done_321", 219, 29], + "add_ni_319", + ["is_text", 137, 134, 219, 29], + ["jump_false", 137, "add_nt_320", 219, 29], + ["concat", 136, 134, 135, 219, 29], + ["jump", "add_done_321", 219, 29], + "add_nt_320", + ["is_num", 137, 134, 219, 29], + ["jump_false", 137, "add_err_322", 219, 29], + ["is_num", 138, 135, 219, 29], + ["jump_false", 138, "add_err_322", 219, 29], + ["add_float", 136, 134, 135, 219, 29], + ["jump", "add_done_321", 219, 29], + "add_err_322", + ["disrupt", 219, 29], + "add_done_321", + ["is_int", 140, 136, 219, 35], + ["jump_false", 140, "add_ni_323", 219, 35], + ["is_int", 141, 1, 219, 35], + ["jump_false", 141, "add_ni_323", 219, 35], + ["add_int", 139, 136, 1, 219, 35], + ["jump", "add_done_325", 219, 35], + "add_ni_323", + ["is_text", 140, 136, 219, 35], + ["jump_false", 140, "add_nt_324", 219, 35], + ["is_text", 141, 1, 219, 35], + ["jump_false", 141, "add_nt_324", 219, 35], + ["concat", 139, 136, 1, 219, 35], + ["jump", "add_done_325", 219, 35], + "add_nt_324", + ["is_num", 140, 136, 219, 35], + ["jump_false", 140, "add_err_326", 219, 35], + ["is_num", 141, 1, 219, 35], + ["jump_false", 141, "add_err_326", 219, 35], + ["add_float", 139, 136, 1, 219, 35], + ["jump", "add_done_325", 219, 35], + "add_err_326", + ["disrupt", 219, 35], + "add_done_325", + ["access", 142, ".cm", 219, 42], + ["is_int", 144, 139, 219, 42], + ["jump_false", 144, "add_ni_327", 219, 42], "_nop_tc_9", - ["jump", "add_ni_333", 237, 42], - ["add_int", 143, 139, 142, 237, 42], - ["jump", "add_done_335", 237, 42], - "add_ni_333", - ["is_text", 144, 139, 237, 42], - ["jump_false", 144, "add_nt_334", 237, 42], - ["concat", 143, 139, 142, 237, 42], - ["jump", "add_done_335", 237, 42], - "add_nt_334", - ["is_num", 144, 139, 237, 42], - ["jump_false", 144, "add_err_336", 237, 42], - ["is_num", 145, 142, 237, 42], - ["jump_false", 145, "add_err_336", 237, 42], - ["add_float", 143, 139, 142, 237, 42], - ["jump", "add_done_335", 237, 42], - "add_err_336", - ["disrupt", 237, 42], - "add_done_335", - ["move", 5, 143, 237, 42], - ["jump", "if_end_322", 237, 42], - "if_else_321", - "if_end_322", - ["get", 147, 16, 1, 239, 7], - ["is_proxy", 148, 147, 239, 7], - ["jump_false", 148, "record_path_339", 239, 7], - ["null", 149, 239, 7], - ["access", 150, "is_file", 239, 7], - ["array", 151, 1, 5, 239, 7], - ["frame", 152, 147, 2, 239, 7], - ["setarg", 152, 0, 149, 239, 7], - ["setarg", 152, 1, 150, 239, 7], - ["setarg", 152, 2, 151, 239, 7], - ["invoke", 152, 146, 239, 7], - ["jump", "call_done_340", 239, 7], - "record_path_339", - ["load_field", 153, 147, "is_file", 239, 7], - ["frame", 154, 153, 1, 239, 7], - ["setarg", 154, 0, 147, 239, 7], - ["setarg", 154, 1, 5, 239, 7], - ["invoke", 154, 146, 239, 7], - "call_done_340", - ["jump_false", 146, "if_else_337", 239, 7], - ["get", 156, 16, 1, 240, 19], - ["is_proxy", 157, 156, 240, 19], - ["jump_false", 157, "record_path_341", 240, 19], - ["null", 158, 240, 19], - ["access", 159, "slurp", 240, 19], - ["array", 160, 1, 5, 240, 19], - ["frame", 161, 156, 2, 240, 19], - ["setarg", 161, 0, 158, 240, 19], - ["setarg", 161, 1, 159, 240, 19], - ["setarg", 161, 2, 160, 240, 19], - ["invoke", 161, 155, 240, 19], - ["jump", "call_done_342", 240, 19], - "record_path_341", - ["load_field", 162, 156, "slurp", 240, 19], - ["frame", 163, 162, 1, 240, 19], - ["setarg", 163, 0, 156, 240, 19], - ["setarg", 163, 1, 5, 240, 19], - ["invoke", 163, 155, 240, 19], - "call_done_342", + ["jump", "add_ni_327", 219, 42], + ["add_int", 143, 139, 142, 219, 42], + ["jump", "add_done_329", 219, 42], + "add_ni_327", + ["is_text", 144, 139, 219, 42], + ["jump_false", 144, "add_nt_328", 219, 42], + ["concat", 143, 139, 142, 219, 42], + ["jump", "add_done_329", 219, 42], + "add_nt_328", + ["is_num", 144, 139, 219, 42], + ["jump_false", 144, "add_err_330", 219, 42], + ["is_num", 145, 142, 219, 42], + ["jump_false", 145, "add_err_330", 219, 42], + ["add_float", 143, 139, 142, 219, 42], + ["jump", "add_done_329", 219, 42], + "add_err_330", + ["disrupt", 219, 42], + "add_done_329", + ["move", 5, 143, 219, 42], + ["jump", "if_end_316", 219, 42], + "if_else_315", + "if_end_316", + ["get", 147, 4, 1, 221, 7], + ["is_proxy", 148, 147, 221, 7], + ["jump_false", 148, "record_path_333", 221, 7], + ["null", 149, 221, 7], + ["access", 150, "is_file", 221, 7], + ["array", 151, 1, 5, 221, 7], + ["frame", 152, 147, 2, 221, 7], + ["setarg", 152, 0, 149, 221, 7], + ["setarg", 152, 1, 150, 221, 7], + ["setarg", 152, 2, 151, 221, 7], + ["invoke", 152, 146, 221, 7], + ["jump", "call_done_334", 221, 7], + "record_path_333", + ["load_field", 153, 147, "is_file", 221, 7], + ["frame", 154, 153, 1, 221, 7], + ["setarg", 154, 0, 147, 221, 7], + ["setarg", 154, 1, 5, 221, 7], + ["invoke", 154, 146, 221, 7], + "call_done_334", + ["jump_false", 146, "if_else_331", 221, 7], + ["get", 156, 4, 1, 222, 19], + ["is_proxy", 157, 156, 222, 19], + ["jump_false", 157, "record_path_335", 222, 19], + ["null", 158, 222, 19], + ["access", 159, "slurp", 222, 19], + ["array", 160, 1, 5, 222, 19], + ["frame", 161, 156, 2, 222, 19], + ["setarg", 161, 0, 158, 222, 19], + ["setarg", 161, 1, 159, 222, 19], + ["setarg", 161, 2, 160, 222, 19], + ["invoke", 161, 155, 222, 19], + ["jump", "call_done_336", 222, 19], + "record_path_335", + ["load_field", 162, 156, "slurp", 222, 19], + ["frame", 163, 162, 1, 222, 19], + ["setarg", 163, 0, 156, 222, 19], + ["setarg", 163, 1, 5, 222, 19], + ["invoke", 163, 155, 222, 19], + "call_done_336", [ "access", 165, @@ -2817,43 +2720,43 @@ "kind": "name", "make": "intrinsic" }, - 240, + 222, 14 ], - ["frame", 166, 165, 1, 240, 14], - ["null", 167, 240, 14], - ["setarg", 166, 0, 167, 240, 14], - ["setarg", 166, 1, 155, 240, 14], - ["invoke", 166, 164, 240, 14], - ["move", 4, 164, 240, 14], - ["get", 169, 8, 1, 241, 11], - ["frame", 170, 169, 2, 241, 11], - ["null", 171, 241, 11], - ["setarg", 170, 0, 171, 241, 11], - ["setarg", 170, 1, 4, 241, 11], - ["setarg", 170, 2, 5, 241, 11], - ["invoke", 170, 168, 241, 11], - ["move", 8, 168, 241, 11], + ["frame", 166, 165, 1, 222, 14], + ["null", 167, 222, 14], + ["setarg", 166, 0, 167, 222, 14], + ["setarg", 166, 1, 155, 222, 14], + ["invoke", 166, 164, 222, 14], + ["move", 4, 164, 222, 14], + ["get", 169, 11, 1, 223, 11], + ["frame", 170, 169, 2, 223, 11], + ["null", 171, 223, 11], + ["setarg", 170, 0, 171, 223, 11], + ["setarg", 170, 1, 4, 223, 11], + ["setarg", 170, 2, 5, 223, 11], + ["invoke", 170, 168, 223, 11], + ["move", 8, 168, 223, 11], ["record", 172, 0], - ["get", 173, 10, 1, 242, 39], - ["store_field", 172, 173, "use", 242, 39], - ["get", 175, 20, 1, 242, 14], - ["frame", 176, 175, 3, 242, 14], - ["null", 177, 242, 14], - ["setarg", 176, 0, 177, 242, 14], - ["setarg", 176, 1, 1, 242, 14], - ["setarg", 176, 2, 8, 242, 14], - ["setarg", 176, 3, 172, 242, 14], - ["invoke", 176, 174, 242, 14], - ["move", 3, 174, 242, 14], - ["get", 178, 22, 1, 243, 5], - ["store_dynamic", 178, 3, 1, 243, 15], - ["return", 3, 244, 12], - ["jump", "if_end_338", 244, 12], - "if_else_337", - "if_end_338", - ["access", 179, "/", 248, 36], - ["access", 180, "_", 248, 41], + ["get", 173, 13, 1, 224, 39], + ["store_field", 172, 173, "use", 224, 39], + ["get", 175, 14, 1, 224, 14], + ["frame", 176, 175, 3, 224, 14], + ["null", 177, 224, 14], + ["setarg", 176, 0, 177, 224, 14], + ["setarg", 176, 1, 1, 224, 14], + ["setarg", 176, 2, 8, 224, 14], + ["setarg", 176, 3, 172, 224, 14], + ["invoke", 176, 174, 224, 14], + ["move", 3, 174, 224, 14], + ["get", 178, 18, 1, 225, 5], + ["store_dynamic", 178, 3, 1, 225, 15], + ["return", 3, 226, 12], + ["jump", "if_end_332", 226, 12], + "if_else_331", + "if_end_332", + ["access", 179, "/", 230, 36], + ["access", 180, "_", 230, 41], [ "access", 182, @@ -2862,28 +2765,28 @@ "kind": "name", "make": "intrinsic" }, - 248, + 230, 22 ], - ["frame", 183, 182, 3, 248, 22], - ["null", 184, 248, 22], - ["setarg", 183, 0, 184, 248, 22], - ["setarg", 183, 1, 1, 248, 22], - ["setarg", 183, 2, 179, 248, 22], - ["setarg", 183, 3, 180, 248, 22], - ["invoke", 183, 181, 248, 22], - ["get", 186, 14, 1, 248, 12], - ["frame", 187, 186, 1, 248, 12], - ["null", 188, 248, 12], - ["setarg", 187, 0, 188, 248, 12], - ["setarg", 187, 1, 181, 248, 12], - ["invoke", 187, 185, 248, 12], - ["move", 3, 185, 248, 12], - ["get", 189, 22, 1, 249, 3], - ["store_dynamic", 189, 3, 1, 249, 13], - ["return", 3, 250, 10], - ["null", 190, 250, 10], - ["return", 190, 250, 10] + ["frame", 183, 182, 3, 230, 22], + ["null", 184, 230, 22], + ["setarg", 183, 0, 184, 230, 22], + ["setarg", 183, 1, 1, 230, 22], + ["setarg", 183, 2, 179, 230, 22], + ["setarg", 183, 3, 180, 230, 22], + ["invoke", 183, 181, 230, 22], + ["get", 186, 1, 1, 230, 12], + ["frame", 187, 186, 1, 230, 12], + ["null", 188, 230, 12], + ["setarg", 187, 0, 188, 230, 12], + ["setarg", 187, 1, 181, 230, 12], + ["invoke", 187, 185, 230, 12], + ["move", 3, 185, 230, 12], + ["get", 189, 18, 1, 231, 3], + ["store_dynamic", 189, 3, 1, 231, 13], + ["return", 3, 232, 10], + ["null", 190, 232, 10], + ["return", 190, 232, 10] ], "name": "use_fn", "filename": "internal/bootstrap.cm", @@ -2902,32 +2805,32 @@ "kind": "name", "make": "intrinsic" }, - 255, + 237, 21 ], - ["access", 9, "/internal/engine.cm.mach", 255, 33], - ["is_int", 11, 8, 255, 33], - ["jump_false", 11, "add_ni_343", 255, 33], + ["access", 9, "/internal/engine.cm.mach", 237, 33], + ["is_int", 11, 8, 237, 33], + ["jump_false", 11, "add_ni_337", 237, 33], "_nop_tc_1", - ["jump", "add_ni_343", 255, 33], - ["add_int", 10, 8, 9, 255, 33], - ["jump", "add_done_345", 255, 33], - "add_ni_343", - ["is_text", 11, 8, 255, 33], - ["jump_false", 11, "add_nt_344", 255, 33], - ["concat", 10, 8, 9, 255, 33], - ["jump", "add_done_345", 255, 33], - "add_nt_344", - ["is_num", 11, 8, 255, 33], - ["jump_false", 11, "add_err_346", 255, 33], - ["is_num", 12, 9, 255, 33], - ["jump_false", 12, "add_err_346", 255, 33], - ["add_float", 10, 8, 9, 255, 33], - ["jump", "add_done_345", 255, 33], - "add_err_346", - ["disrupt", 255, 33], - "add_done_345", - ["move", 3, 10, 255, 33], + ["jump", "add_ni_337", 237, 33], + ["add_int", 10, 8, 9, 237, 33], + ["jump", "add_done_339", 237, 33], + "add_ni_337", + ["is_text", 11, 8, 237, 33], + ["jump_false", 11, "add_nt_338", 237, 33], + ["concat", 10, 8, 9, 237, 33], + ["jump", "add_done_339", 237, 33], + "add_nt_338", + ["is_num", 11, 8, 237, 33], + ["jump_false", 11, "add_err_340", 237, 33], + ["is_num", 12, 9, 237, 33], + ["jump_false", 12, "add_err_340", 237, 33], + ["add_float", 10, 8, 9, 237, 33], + ["jump", "add_done_339", 237, 33], + "add_err_340", + ["disrupt", 237, 33], + "add_done_339", + ["move", 3, 10, 237, 33], [ "access", 13, @@ -2936,76 +2839,76 @@ "kind": "name", "make": "intrinsic" }, - 256, + 238, 20 ], - ["access", 14, "/internal/engine.cm.mcode", 256, 32], - ["is_int", 16, 13, 256, 32], - ["jump_false", 16, "add_ni_347", 256, 32], + ["access", 14, "/internal/engine.cm.mcode", 238, 32], + ["is_int", 16, 13, 238, 32], + ["jump_false", 16, "add_ni_341", 238, 32], "_nop_tc_2", - ["jump", "add_ni_347", 256, 32], - ["add_int", 15, 13, 14, 256, 32], - ["jump", "add_done_349", 256, 32], - "add_ni_347", - ["is_text", 16, 13, 256, 32], - ["jump_false", 16, "add_nt_348", 256, 32], - ["concat", 15, 13, 14, 256, 32], - ["jump", "add_done_349", 256, 32], - "add_nt_348", - ["is_num", 16, 13, 256, 32], - ["jump_false", 16, "add_err_350", 256, 32], - ["is_num", 17, 14, 256, 32], - ["jump_false", 17, "add_err_350", 256, 32], - ["add_float", 15, 13, 14, 256, 32], - ["jump", "add_done_349", 256, 32], - "add_err_350", - ["disrupt", 256, 32], - "add_done_349", - ["move", 7, 15, 256, 32], - ["null", 2, 257, 14], - ["null", 6, 258, 20], - ["null", 4, 259, 20], - ["null", 5, 260, 20], - ["get", 19, 16, 1, 261, 7], - ["is_proxy", 20, 19, 261, 7], - ["jump_false", 20, "record_path_353", 261, 7], - ["null", 21, 261, 7], - ["access", 22, "is_file", 261, 7], - ["array", 23, 1, 3, 261, 7], - ["frame", 24, 19, 2, 261, 7], - ["setarg", 24, 0, 21, 261, 7], - ["setarg", 24, 1, 22, 261, 7], - ["setarg", 24, 2, 23, 261, 7], - ["invoke", 24, 18, 261, 7], - ["jump", "call_done_354", 261, 7], - "record_path_353", - ["load_field", 25, 19, "is_file", 261, 7], - ["frame", 26, 25, 1, 261, 7], - ["setarg", 26, 0, 19, 261, 7], - ["setarg", 26, 1, 3, 261, 7], - ["invoke", 26, 18, 261, 7], - "call_done_354", - ["jump_false", 18, "if_else_351", 261, 7], - ["get", 28, 16, 1, 262, 12], - ["is_proxy", 29, 28, 262, 12], - ["jump_false", 29, "record_path_355", 262, 12], - ["null", 30, 262, 12], - ["access", 31, "slurp", 262, 12], - ["array", 32, 1, 3, 262, 12], - ["frame", 33, 28, 2, 262, 12], - ["setarg", 33, 0, 30, 262, 12], - ["setarg", 33, 1, 31, 262, 12], - ["setarg", 33, 2, 32, 262, 12], - ["invoke", 33, 27, 262, 12], - ["jump", "call_done_356", 262, 12], - "record_path_355", - ["load_field", 34, 28, "slurp", 262, 12], - ["frame", 35, 34, 1, 262, 12], - ["setarg", 35, 0, 28, 262, 12], - ["setarg", 35, 1, 3, 262, 12], - ["invoke", 35, 27, 262, 12], - "call_done_356", - ["move", 2, 27, 262, 12], + ["jump", "add_ni_341", 238, 32], + ["add_int", 15, 13, 14, 238, 32], + ["jump", "add_done_343", 238, 32], + "add_ni_341", + ["is_text", 16, 13, 238, 32], + ["jump_false", 16, "add_nt_342", 238, 32], + ["concat", 15, 13, 14, 238, 32], + ["jump", "add_done_343", 238, 32], + "add_nt_342", + ["is_num", 16, 13, 238, 32], + ["jump_false", 16, "add_err_344", 238, 32], + ["is_num", 17, 14, 238, 32], + ["jump_false", 17, "add_err_344", 238, 32], + ["add_float", 15, 13, 14, 238, 32], + ["jump", "add_done_343", 238, 32], + "add_err_344", + ["disrupt", 238, 32], + "add_done_343", + ["move", 7, 15, 238, 32], + ["null", 2, 239, 14], + ["null", 6, 240, 20], + ["null", 4, 241, 20], + ["null", 5, 242, 20], + ["get", 19, 4, 1, 243, 7], + ["is_proxy", 20, 19, 243, 7], + ["jump_false", 20, "record_path_347", 243, 7], + ["null", 21, 243, 7], + ["access", 22, "is_file", 243, 7], + ["array", 23, 1, 3, 243, 7], + ["frame", 24, 19, 2, 243, 7], + ["setarg", 24, 0, 21, 243, 7], + ["setarg", 24, 1, 22, 243, 7], + ["setarg", 24, 2, 23, 243, 7], + ["invoke", 24, 18, 243, 7], + ["jump", "call_done_348", 243, 7], + "record_path_347", + ["load_field", 25, 19, "is_file", 243, 7], + ["frame", 26, 25, 1, 243, 7], + ["setarg", 26, 0, 19, 243, 7], + ["setarg", 26, 1, 3, 243, 7], + ["invoke", 26, 18, 243, 7], + "call_done_348", + ["jump_false", 18, "if_else_345", 243, 7], + ["get", 28, 4, 1, 244, 12], + ["is_proxy", 29, 28, 244, 12], + ["jump_false", 29, "record_path_349", 244, 12], + ["null", 30, 244, 12], + ["access", 31, "slurp", 244, 12], + ["array", 32, 1, 3, 244, 12], + ["frame", 33, 28, 2, 244, 12], + ["setarg", 33, 0, 30, 244, 12], + ["setarg", 33, 1, 31, 244, 12], + ["setarg", 33, 2, 32, 244, 12], + ["invoke", 33, 27, 244, 12], + ["jump", "call_done_350", 244, 12], + "record_path_349", + ["load_field", 34, 28, "slurp", 244, 12], + ["frame", 35, 34, 1, 244, 12], + ["setarg", 35, 0, 28, 244, 12], + ["setarg", 35, 1, 3, 244, 12], + ["invoke", 35, 27, 244, 12], + "call_done_350", + ["move", 2, 27, 244, 12], [ "access", 37, @@ -3014,58 +2917,58 @@ "kind": "name", "make": "intrinsic" }, - 263, + 245, 12 ], - ["frame", 38, 37, 2, 263, 12], - ["null", 39, 263, 12], - ["setarg", 38, 0, 39, 263, 12], - ["setarg", 38, 1, 2, 263, 12], - ["setarg", 38, 2, 1, 263, 12], - ["invoke", 38, 36, 263, 12], - ["return", 36, 263, 12], - ["jump", "if_end_352", 263, 12], - "if_else_351", - "if_end_352", - ["get", 41, 16, 1, 265, 7], - ["is_proxy", 42, 41, 265, 7], - ["jump_false", 42, "record_path_359", 265, 7], - ["null", 43, 265, 7], - ["access", 44, "is_file", 265, 7], - ["array", 45, 1, 7, 265, 7], - ["frame", 46, 41, 2, 265, 7], - ["setarg", 46, 0, 43, 265, 7], - ["setarg", 46, 1, 44, 265, 7], - ["setarg", 46, 2, 45, 265, 7], - ["invoke", 46, 40, 265, 7], - ["jump", "call_done_360", 265, 7], - "record_path_359", - ["load_field", 47, 41, "is_file", 265, 7], - ["frame", 48, 47, 1, 265, 7], - ["setarg", 48, 0, 41, 265, 7], - ["setarg", 48, 1, 7, 265, 7], - ["invoke", 48, 40, 265, 7], - "call_done_360", - ["jump_false", 40, "if_else_357", 265, 7], - ["get", 50, 16, 1, 266, 23], - ["is_proxy", 51, 50, 266, 23], - ["jump_false", 51, "record_path_361", 266, 23], - ["null", 52, 266, 23], - ["access", 53, "slurp", 266, 23], - ["array", 54, 1, 7, 266, 23], - ["frame", 55, 50, 2, 266, 23], - ["setarg", 55, 0, 52, 266, 23], - ["setarg", 55, 1, 53, 266, 23], - ["setarg", 55, 2, 54, 266, 23], - ["invoke", 55, 49, 266, 23], - ["jump", "call_done_362", 266, 23], - "record_path_361", - ["load_field", 56, 50, "slurp", 266, 23], - ["frame", 57, 56, 1, 266, 23], - ["setarg", 57, 0, 50, 266, 23], - ["setarg", 57, 1, 7, 266, 23], - ["invoke", 57, 49, 266, 23], - "call_done_362", + ["frame", 38, 37, 2, 245, 12], + ["null", 39, 245, 12], + ["setarg", 38, 0, 39, 245, 12], + ["setarg", 38, 1, 2, 245, 12], + ["setarg", 38, 2, 1, 245, 12], + ["invoke", 38, 36, 245, 12], + ["return", 36, 245, 12], + ["jump", "if_end_346", 245, 12], + "if_else_345", + "if_end_346", + ["get", 41, 4, 1, 247, 7], + ["is_proxy", 42, 41, 247, 7], + ["jump_false", 42, "record_path_353", 247, 7], + ["null", 43, 247, 7], + ["access", 44, "is_file", 247, 7], + ["array", 45, 1, 7, 247, 7], + ["frame", 46, 41, 2, 247, 7], + ["setarg", 46, 0, 43, 247, 7], + ["setarg", 46, 1, 44, 247, 7], + ["setarg", 46, 2, 45, 247, 7], + ["invoke", 46, 40, 247, 7], + ["jump", "call_done_354", 247, 7], + "record_path_353", + ["load_field", 47, 41, "is_file", 247, 7], + ["frame", 48, 47, 1, 247, 7], + ["setarg", 48, 0, 41, 247, 7], + ["setarg", 48, 1, 7, 247, 7], + ["invoke", 48, 40, 247, 7], + "call_done_354", + ["jump_false", 40, "if_else_351", 247, 7], + ["get", 50, 4, 1, 248, 23], + ["is_proxy", 51, 50, 248, 23], + ["jump_false", 51, "record_path_355", 248, 23], + ["null", 52, 248, 23], + ["access", 53, "slurp", 248, 23], + ["array", 54, 1, 7, 248, 23], + ["frame", 55, 50, 2, 248, 23], + ["setarg", 55, 0, 52, 248, 23], + ["setarg", 55, 1, 53, 248, 23], + ["setarg", 55, 2, 54, 248, 23], + ["invoke", 55, 49, 248, 23], + ["jump", "call_done_356", 248, 23], + "record_path_355", + ["load_field", 56, 50, "slurp", 248, 23], + ["frame", 57, 56, 1, 248, 23], + ["setarg", 57, 0, 50, 248, 23], + ["setarg", 57, 1, 7, 248, 23], + ["invoke", 57, 49, 248, 23], + "call_done_356", [ "access", 59, @@ -3074,16 +2977,16 @@ "kind": "name", "make": "intrinsic" }, - 266, + 248, 18 ], - ["frame", 60, 59, 1, 266, 18], - ["null", 61, 266, 18], - ["setarg", 60, 0, 61, 266, 18], - ["setarg", 60, 1, 49, 266, 18], - ["invoke", 60, 58, 266, 18], - ["move", 6, 58, 266, 18], - ["access", 62, "engine", 267, 28], + ["frame", 60, 59, 1, 248, 18], + ["null", 61, 248, 18], + ["setarg", 60, 0, 61, 248, 18], + ["setarg", 60, 1, 49, 248, 18], + ["invoke", 60, 58, 248, 18], + ["move", 6, 58, 248, 18], + ["access", 62, "engine", 249, 28], [ "access", 64, @@ -3092,20 +2995,20 @@ "kind": "name", "make": "intrinsic" }, - 267, + 249, 12 ], - ["frame", 65, 64, 3, 267, 12], - ["null", 66, 267, 12], - ["setarg", 65, 0, 66, 267, 12], - ["setarg", 65, 1, 62, 267, 12], - ["setarg", 65, 2, 6, 267, 12], - ["setarg", 65, 3, 1, 267, 12], - ["invoke", 65, 63, 267, 12], - ["return", 63, 267, 12], - ["jump", "if_end_358", 267, 12], - "if_else_357", - "if_end_358", + ["frame", 65, 64, 3, 249, 12], + ["null", 66, 249, 12], + ["setarg", 65, 0, 66, 249, 12], + ["setarg", 65, 1, 62, 249, 12], + ["setarg", 65, 2, 6, 249, 12], + ["setarg", 65, 3, 1, 249, 12], + ["invoke", 65, 63, 249, 12], + ["return", 63, 249, 12], + ["jump", "if_end_352", 249, 12], + "if_else_351", + "if_end_352", [ "access", 67, @@ -3114,51 +3017,51 @@ "kind": "name", "make": "intrinsic" }, - 269, + 251, 17 ], - ["access", 68, "/internal/engine.cm", 269, 29], - ["is_int", 70, 67, 269, 29], - ["jump_false", 70, "add_ni_363", 269, 29], + ["access", 68, "/internal/engine.cm", 251, 29], + ["is_int", 70, 67, 251, 29], + ["jump_false", 70, "add_ni_357", 251, 29], "_nop_tc_3", - ["jump", "add_ni_363", 269, 29], - ["add_int", 69, 67, 68, 269, 29], - ["jump", "add_done_365", 269, 29], - "add_ni_363", - ["is_text", 70, 67, 269, 29], - ["jump_false", 70, "add_nt_364", 269, 29], - ["concat", 69, 67, 68, 269, 29], - ["jump", "add_done_365", 269, 29], - "add_nt_364", - ["is_num", 70, 67, 269, 29], - ["jump_false", 70, "add_err_366", 269, 29], - ["is_num", 71, 68, 269, 29], - ["jump_false", 71, "add_err_366", 269, 29], - ["add_float", 69, 67, 68, 269, 29], - ["jump", "add_done_365", 269, 29], - "add_err_366", - ["disrupt", 269, 29], - "add_done_365", - ["move", 3, 69, 269, 29], - ["get", 73, 16, 1, 270, 21], - ["is_proxy", 74, 73, 270, 21], - ["jump_false", 74, "record_path_367", 270, 21], - ["null", 75, 270, 21], - ["access", 76, "slurp", 270, 21], - ["array", 77, 1, 3, 270, 21], - ["frame", 78, 73, 2, 270, 21], - ["setarg", 78, 0, 75, 270, 21], - ["setarg", 78, 1, 76, 270, 21], - ["setarg", 78, 2, 77, 270, 21], - ["invoke", 78, 72, 270, 21], - ["jump", "call_done_368", 270, 21], - "record_path_367", - ["load_field", 79, 73, "slurp", 270, 21], - ["frame", 80, 79, 1, 270, 21], - ["setarg", 80, 0, 73, 270, 21], - ["setarg", 80, 1, 3, 270, 21], - ["invoke", 80, 72, 270, 21], - "call_done_368", + ["jump", "add_ni_357", 251, 29], + ["add_int", 69, 67, 68, 251, 29], + ["jump", "add_done_359", 251, 29], + "add_ni_357", + ["is_text", 70, 67, 251, 29], + ["jump_false", 70, "add_nt_358", 251, 29], + ["concat", 69, 67, 68, 251, 29], + ["jump", "add_done_359", 251, 29], + "add_nt_358", + ["is_num", 70, 67, 251, 29], + ["jump_false", 70, "add_err_360", 251, 29], + ["is_num", 71, 68, 251, 29], + ["jump_false", 71, "add_err_360", 251, 29], + ["add_float", 69, 67, 68, 251, 29], + ["jump", "add_done_359", 251, 29], + "add_err_360", + ["disrupt", 251, 29], + "add_done_359", + ["move", 3, 69, 251, 29], + ["get", 73, 4, 1, 252, 21], + ["is_proxy", 74, 73, 252, 21], + ["jump_false", 74, "record_path_361", 252, 21], + ["null", 75, 252, 21], + ["access", 76, "slurp", 252, 21], + ["array", 77, 1, 3, 252, 21], + ["frame", 78, 73, 2, 252, 21], + ["setarg", 78, 0, 75, 252, 21], + ["setarg", 78, 1, 76, 252, 21], + ["setarg", 78, 2, 77, 252, 21], + ["invoke", 78, 72, 252, 21], + ["jump", "call_done_362", 252, 21], + "record_path_361", + ["load_field", 79, 73, "slurp", 252, 21], + ["frame", 80, 79, 1, 252, 21], + ["setarg", 80, 0, 73, 252, 21], + ["setarg", 80, 1, 3, 252, 21], + ["invoke", 80, 72, 252, 21], + "call_done_362", [ "access", 82, @@ -3167,35 +3070,35 @@ "kind": "name", "make": "intrinsic" }, - 270, + 252, 16 ], - ["frame", 83, 82, 1, 270, 16], - ["null", 84, 270, 16], - ["setarg", 83, 0, 84, 270, 16], - ["setarg", 83, 1, 72, 270, 16], - ["invoke", 83, 81, 270, 16], - ["move", 4, 81, 270, 16], - ["get", 86, 8, 1, 271, 16], - ["frame", 87, 86, 2, 271, 16], - ["null", 88, 271, 16], - ["setarg", 87, 0, 88, 271, 16], - ["setarg", 87, 1, 4, 271, 16], - ["setarg", 87, 2, 3, 271, 16], - ["invoke", 87, 85, 271, 16], - ["move", 5, 85, 271, 16], - ["access", 89, "engine", 272, 18], - ["get", 91, 20, 1, 272, 10], - ["frame", 92, 91, 3, 272, 10], - ["null", 93, 272, 10], - ["setarg", 92, 0, 93, 272, 10], - ["setarg", 92, 1, 89, 272, 10], - ["setarg", 92, 2, 5, 272, 10], - ["setarg", 92, 3, 1, 272, 10], - ["invoke", 92, 90, 272, 10], - ["return", 90, 272, 10], - ["null", 94, 272, 10], - ["return", 94, 272, 10] + ["frame", 83, 82, 1, 252, 16], + ["null", 84, 252, 16], + ["setarg", 83, 0, 84, 252, 16], + ["setarg", 83, 1, 72, 252, 16], + ["invoke", 83, 81, 252, 16], + ["move", 4, 81, 252, 16], + ["get", 86, 11, 1, 253, 16], + ["frame", 87, 86, 2, 253, 16], + ["null", 88, 253, 16], + ["setarg", 87, 0, 88, 253, 16], + ["setarg", 87, 1, 4, 253, 16], + ["setarg", 87, 2, 3, 253, 16], + ["invoke", 87, 85, 253, 16], + ["move", 5, 85, 253, 16], + ["access", 89, "engine", 254, 18], + ["get", 91, 14, 1, 254, 10], + ["frame", 92, 91, 3, 254, 10], + ["null", 93, 254, 10], + ["setarg", 92, 0, 93, 254, 10], + ["setarg", 92, 1, 89, 254, 10], + ["setarg", 92, 2, 5, 254, 10], + ["setarg", 92, 3, 1, 254, 10], + ["invoke", 92, 90, 254, 10], + ["return", 90, 254, 10], + ["null", 94, 254, 10], + ["return", 94, 254, 10] ], "name": "load_engine", "filename": "internal/bootstrap.cm", @@ -3205,29 +3108,29 @@ "main": { "nr_args": 0, "nr_close_slots": 0, - "nr_slots": 230, + "nr_slots": 124, "instructions": [ - ["function", 28, 0, 0, 0], - ["move", 14, 28, 0, 0], - ["function", 29, 1, 0, 0], - ["move", 1, 29, 0, 0], - ["function", 30, 2, 0, 0], - ["move", 21, 30, 0, 0], - ["function", 31, 3, 0, 0], - ["move", 9, 31, 0, 0], - ["function", 32, 4, 0, 0], - ["move", 8, 32, 0, 0], - ["function", 33, 5, 0, 0], - ["move", 13, 33, 0, 0], - ["function", 34, 6, 0, 0], - ["move", 20, 34, 0, 0], - ["function", 35, 7, 0, 0], - ["move", 10, 35, 0, 0], - ["function", 36, 8, 0, 0], - ["move", 3, 36, 0, 0], + ["function", 23, 0, 0, 0], + ["move", 1, 23, 0, 0], + ["function", 24, 1, 0, 0], + ["move", 3, 24, 0, 0], + ["function", 25, 2, 0, 0], + ["move", 17, 25, 0, 0], + ["function", 26, 3, 0, 0], + ["move", 12, 26, 0, 0], + ["function", 27, 4, 0, 0], + ["move", 11, 27, 0, 0], + ["function", 28, 5, 0, 0], + ["move", 20, 28, 0, 0], + ["function", 29, 6, 0, 0], + ["move", 14, 29, 0, 0], + ["function", 30, 7, 0, 0], + ["move", 13, 30, 0, 0], + ["function", 31, 8, 0, 0], + ["move", 6, 31, 0, 0], [ "access", - 37, + 32, { "name": "os", "kind": "name", @@ -3236,29 +3139,29 @@ 5, 21 ], - ["load_field", 38, 37, "load_internal", 5, 21], - ["move", 18, 38, 5, 21], - ["access", 39, "fd", 10, 20], - ["frame", 41, 14, 1, 10, 10], - ["null", 42, 10, 10], - ["setarg", 41, 0, 42, 10, 10], - ["setarg", 41, 1, 39, 10, 10], - ["invoke", 41, 40, 10, 10], - ["move", 16, 40, 10, 10], - ["access", 43, "json", 11, 22], - ["frame", 45, 14, 1, 11, 12], - ["null", 46, 11, 12], - ["setarg", 45, 0, 46, 11, 12], - ["setarg", 45, 1, 43, 11, 12], - ["invoke", 45, 44, 11, 12], - ["move", 25, 44, 11, 12], - ["record", 47, 0], - ["move", 22, 47, 13, 17], - ["access", 48, "fd", 14, 11], - ["store_field", 22, 16, 48, 14, 11], + ["load_field", 33, 32, "load_internal", 5, 21], + ["move", 9, 33, 5, 21], + ["access", 34, "fd", 10, 20], + ["frame", 36, 1, 1, 10, 10], + ["null", 37, 10, 10], + ["setarg", 36, 0, 37, 10, 10], + ["setarg", 36, 1, 34, 10, 10], + ["invoke", 36, 35, 10, 10], + ["move", 4, 35, 10, 10], + ["access", 38, "json", 11, 22], + ["frame", 40, 1, 1, 11, 12], + ["null", 41, 11, 12], + ["setarg", 40, 0, 41, 11, 12], + ["setarg", 40, 1, 38, 11, 12], + ["invoke", 40, 39, 11, 12], + ["move", 21, 39, 11, 12], + ["record", 42, 0], + ["move", 18, 42, 13, 17], + ["access", 43, "fd", 14, 11], + ["store_field", 18, 4, 43, 14, 11], [ "access", - 49, + 44, { "name": "os", "kind": "name", @@ -3267,812 +3170,400 @@ 15, 19 ], - ["access", 50, "os", 15, 11], - ["store_field", 22, 49, 50, 15, 11], - ["access", 51, "json", 16, 11], - ["store_field", 22, 25, 51, 16, 11], - ["record", 52, 0], - ["store_field", 52, 1, "use", 45, 22], - ["move", 11, 52, 45, 22], - ["access", 53, "tokenize", 46, 30], - ["frame", 55, 21, 2, 46, 20], - ["null", 56, 46, 20], - ["setarg", 55, 0, 56, 46, 20], - ["setarg", 55, 1, 53, 46, 20], - ["setarg", 55, 2, 11, 46, 20], - ["invoke", 55, 54, 46, 20], - ["move", 4, 54, 46, 20], - ["access", 57, "parse", 47, 27], - ["frame", 59, 21, 2, 47, 17], - ["null", 60, 47, 17], - ["setarg", 59, 0, 60, 47, 17], - ["setarg", 59, 1, 57, 47, 17], - ["setarg", 59, 2, 11, 47, 17], - ["invoke", 59, 58, 47, 17], - ["move", 17, 58, 47, 17], - ["access", 61, "fold", 48, 26], - ["frame", 63, 21, 2, 48, 16], - ["null", 64, 48, 16], - ["setarg", 63, 0, 64, 48, 16], - ["setarg", 63, 1, 61, 48, 16], - ["setarg", 63, 2, 11, 48, 16], - ["invoke", 63, 62, 48, 16], - ["move", 15, 62, 48, 16], - ["access", 65, "tokenize", 49, 11], - ["store_field", 22, 4, 65, 49, 11], - ["access", 66, "parse", 50, 11], - ["store_field", 22, 17, 66, 50, 11], - ["access", 67, "fold", 51, 11], - ["store_field", 22, 15, 67, 51, 11], - ["access", 68, "mcode", 54, 27], - ["frame", 70, 21, 2, 54, 17], - ["null", 71, 54, 17], - ["setarg", 70, 0, 71, 54, 17], - ["setarg", 70, 1, 68, 54, 17], - ["setarg", 70, 2, 11, 54, 17], - ["invoke", 70, 69, 54, 17], - ["move", 7, 69, 54, 17], - ["access", 72, "mcode", 55, 11], - ["store_field", 22, 7, 72, 55, 11], - ["null", 24, 56, 22], - ["null", 19, 57, 20], - ["frame", 74, 9, 0, 107, 1], - ["null", 75, 107, 1], - ["setarg", 74, 0, 75, 107, 1], - ["invoke", 74, 73, 107, 1], - ["null", 5, 172, 18], - ["access", 76, "streamline", 173, 30], - ["frame", 78, 13, 2, 173, 18], - ["null", 79, 173, 18], - ["setarg", 78, 0, 79, 173, 18], - ["setarg", 78, 1, 76, 173, 18], - ["setarg", 78, 2, 11, 173, 18], - ["invoke", 78, 77, 173, 18], - ["move", 24, 77, 173, 18], - ["access", 80, "streamline", 174, 11], - ["store_field", 22, 24, 80, 174, 11], + ["access", 45, "os", 15, 11], + ["store_field", 18, 44, 45, 15, 11], + ["access", 46, "json", 16, 11], + ["store_field", 18, 21, 46, 16, 11], + ["record", 47, 0], + ["store_field", 47, 3, "use", 45, 22], + ["move", 15, 47, 45, 22], + ["access", 48, "tokenize", 46, 30], + ["frame", 50, 17, 2, 46, 20], + ["null", 51, 46, 20], + ["setarg", 50, 0, 51, 46, 20], + ["setarg", 50, 1, 48, 46, 20], + ["setarg", 50, 2, 15, 46, 20], + ["invoke", 50, 49, 46, 20], + ["move", 7, 49, 46, 20], + ["access", 52, "parse", 47, 27], + ["frame", 54, 17, 2, 47, 17], + ["null", 55, 47, 17], + ["setarg", 54, 0, 55, 47, 17], + ["setarg", 54, 1, 52, 47, 17], + ["setarg", 54, 2, 15, 47, 17], + ["invoke", 54, 53, 47, 17], + ["move", 5, 53, 47, 17], + ["access", 56, "fold", 48, 26], + ["frame", 58, 17, 2, 48, 16], + ["null", 59, 48, 16], + ["setarg", 58, 0, 59, 48, 16], + ["setarg", 58, 1, 56, 48, 16], + ["setarg", 58, 2, 15, 48, 16], + ["invoke", 58, 57, 48, 16], + ["move", 2, 57, 48, 16], + ["access", 60, "tokenize", 49, 11], + ["store_field", 18, 7, 60, 49, 11], + ["access", 61, "parse", 50, 11], + ["store_field", 18, 5, 61, 50, 11], + ["access", 62, "fold", 51, 11], + ["store_field", 18, 2, 62, 51, 11], + ["access", 63, "mcode", 54, 27], + ["frame", 65, 17, 2, 54, 17], + ["null", 66, 54, 17], + ["setarg", 65, 0, 66, 54, 17], + ["setarg", 65, 1, 63, 54, 17], + ["setarg", 65, 2, 15, 54, 17], + ["invoke", 65, 64, 54, 17], + ["move", 10, 64, 54, 17], + ["access", 67, "mcode", 55, 11], + ["store_field", 18, 10, 67, 55, 11], + ["null", 22, 56, 22], + ["frame", 69, 12, 0, 106, 1], + ["null", 70, 106, 1], + ["setarg", 69, 0, 70, 106, 1], + ["invoke", 69, 68, 106, 1], + ["access", 71, "streamline", 171, 30], + ["frame", 73, 20, 2, 171, 18], + ["null", 74, 171, 18], + ["setarg", 73, 0, 74, 171, 18], + ["setarg", 73, 1, 71, 171, 18], + ["setarg", 73, 2, 15, 171, 18], + ["invoke", 73, 72, 171, 18], + ["move", 22, 72, 171, 18], + ["access", 75, "streamline", 172, 11], + ["store_field", 18, 22, 75, 172, 11], + ["null", 19, 259, 15], + ["array", 76, 0], + ["move", 8, 76, 260, 17], + ["access", 16, 0, 261, 10], [ "access", - 81, - { - "name": "emit_qbe", - "kind": "name", - "make": "intrinsic" - }, - 175, - 5 - ], - ["jump_false", 81, "if_else_369", 175, 5], - ["access", 82, "qbe", 176, 28], - ["frame", 84, 13, 2, 176, 16], - ["null", 85, 176, 16], - ["setarg", 84, 0, 85, 176, 16], - ["setarg", 84, 1, 82, 176, 16], - ["setarg", 84, 2, 11, 176, 16], - ["invoke", 84, 83, 176, 16], - ["move", 5, 83, 176, 16], - ["access", 86, "qbe_emit", 177, 30], - ["frame", 88, 13, 2, 177, 18], - ["null", 89, 177, 18], - ["setarg", 88, 0, 89, 177, 18], - ["setarg", 88, 1, 86, 177, 18], - ["setarg", 88, 2, 11, 177, 18], - ["invoke", 88, 87, 177, 18], - ["move", 19, 87, 177, 18], - ["access", 90, "qbe", 178, 13], - ["store_field", 22, 5, 90, 178, 13], - ["access", 91, "qbe_emit", 179, 13], - ["store_field", 22, 19, 91, 179, 13], - ["jump", "if_end_370", 179, 13], - "if_else_369", - "if_end_370", - ["null", 23, 277, 15], - ["array", 92, 0], - ["move", 6, 92, 278, 17], - ["access", 12, 0, 279, 10], - ["null", 26, 280, 19], - ["null", 2, 281, 14], - ["null", 27, 282, 11], - [ - "access", - 93, + 77, { "name": "args", "kind": "name", "make": "intrinsic" }, - 284, + 263, 5 ], - ["null", 94, 284, 13], - ["is_identical", 95, 93, 94, 284, 13], - ["jump_true", 95, "ne_nid_374", 284, 13], - ["jump", "ne_ni_375", 284, 13], - "ne_nid_374", - ["false", 95, 284, 13], - ["jump", "ne_done_373", 284, 13], - "ne_ni_375", - ["is_int", 96, 93, 284, 13], - ["jump_false", 96, "ne_nn_376", 284, 13], - ["is_int", 97, 94, 284, 13], - ["jump_false", 97, "ne_nn_376", 284, 13], - ["ne_int", 95, 93, 94, 284, 13], - ["jump", "ne_done_373", 284, 13], - "ne_nn_376", - ["is_num", 96, 93, 284, 13], - ["jump_false", 96, "ne_nt_377", 284, 13], - ["is_num", 97, 94, 284, 13], - ["jump_false", 97, "ne_nt_377", 284, 13], - ["ne_float", 95, 93, 94, 284, 13], - ["jump", "ne_done_373", 284, 13], - "ne_nt_377", - ["is_text", 96, 93, 284, 13], - ["jump_false", 96, "ne_nnl_378", 284, 13], - ["is_text", 97, 94, 284, 13], - ["jump_false", 97, "ne_nnl_378", 284, 13], - ["ne_text", 95, 93, 94, 284, 13], - ["jump", "ne_done_373", 284, 13], - "ne_nnl_378", - ["is_null", 96, 93, 284, 13], - ["jump_false", 96, "ne_nb_379", 284, 13], - ["is_null", 97, 94, 284, 13], - ["jump_false", 97, "ne_nb_379", 284, 13], - ["false", 95, 284, 13], - ["jump", "ne_done_373", 284, 13], - "ne_nb_379", - ["is_bool", 96, 93, 284, 13], - ["jump_false", 96, "ne_mis_380", 284, 13], - ["is_bool", 97, 94, 284, 13], - ["jump_false", 97, "ne_mis_380", 284, 13], - ["ne_bool", 95, 93, 94, 284, 13], - ["jump", "ne_done_373", 284, 13], - "ne_mis_380", - ["true", 95, 284, 13], - "ne_done_373", - ["jump_false", 95, "if_else_371", 284, 13], + ["null", 78, 263, 13], + ["is_identical", 79, 77, 78, 263, 13], + ["jump_true", 79, "ne_nid_366", 263, 13], + ["jump", "ne_ni_367", 263, 13], + "ne_nid_366", + ["false", 79, 263, 13], + ["jump", "ne_done_365", 263, 13], + "ne_ni_367", + ["is_int", 80, 77, 263, 13], + ["jump_false", 80, "ne_nn_368", 263, 13], + ["is_int", 81, 78, 263, 13], + ["jump_false", 81, "ne_nn_368", 263, 13], + ["ne_int", 79, 77, 78, 263, 13], + ["jump", "ne_done_365", 263, 13], + "ne_nn_368", + ["is_num", 80, 77, 263, 13], + ["jump_false", 80, "ne_nt_369", 263, 13], + ["is_num", 81, 78, 263, 13], + ["jump_false", 81, "ne_nt_369", 263, 13], + ["ne_float", 79, 77, 78, 263, 13], + ["jump", "ne_done_365", 263, 13], + "ne_nt_369", + ["is_text", 80, 77, 263, 13], + ["jump_false", 80, "ne_nnl_370", 263, 13], + ["is_text", 81, 78, 263, 13], + ["jump_false", 81, "ne_nnl_370", 263, 13], + ["ne_text", 79, 77, 78, 263, 13], + ["jump", "ne_done_365", 263, 13], + "ne_nnl_370", + ["is_null", 80, 77, 263, 13], + ["jump_false", 80, "ne_nb_371", 263, 13], + ["is_null", 81, 78, 263, 13], + ["jump_false", 81, "ne_nb_371", 263, 13], + ["false", 79, 263, 13], + ["jump", "ne_done_365", 263, 13], + "ne_nb_371", + ["is_bool", 80, 77, 263, 13], + ["jump_false", 80, "ne_mis_372", 263, 13], + ["is_bool", 81, 78, 263, 13], + ["jump_false", 81, "ne_mis_372", 263, 13], + ["ne_bool", 79, 77, 78, 263, 13], + ["jump", "ne_done_365", 263, 13], + "ne_mis_372", + ["true", 79, 263, 13], + "ne_done_365", + ["jump_false", 79, "if_else_363", 263, 13], [ "access", - 98, + 82, { "name": "args", "kind": "name", "make": "intrinsic" }, - 286, + 265, 13 ], - ["access", 99, 0, 286, 18], - ["load_index", 100, 98, 99, 286, 18], - ["move", 23, 100, 286, 18], - ["access", 101, 1, 287, 8], - ["move", 12, 101, 287, 8], - "while_start_381", + ["access", 83, 0, 265, 18], + ["load_index", 84, 82, 83, 265, 18], + ["move", 19, 84, 265, 18], + "_nop_bl_1", + ["jump_true", 19, "if_else_373", 266, 8], + ["access", 86, "error: no program specified\n", 267, 11], [ "access", - 102, + 88, + { + "name": "print", + "kind": "name", + "make": "intrinsic" + }, + 267, + 5 + ], + ["frame", 89, 88, 1, 267, 5], + ["null", 90, 267, 5], + ["setarg", 89, 0, 90, 267, 5], + ["setarg", 89, 1, 86, 267, 5], + ["invoke", 89, 87, 267, 5], + ["disrupt", 268, 5], + ["jump", "if_end_374", 268, 5], + "if_else_373", + "if_end_374", + ["access", 91, 1, 270, 8], + ["move", 16, 91, 270, 8], + "while_start_375", + [ + "access", + 92, { "name": "args", "kind": "name", "make": "intrinsic" }, - 288, + 271, 22 ], - ["length", 103, 102, 288, 22], - ["is_int", 105, 12, 288, 22], - ["jump_false", 105, "rel_ni_383", 288, 22], + ["length", 93, 92, 271, 22], + ["is_int", 95, 16, 271, 22], + ["jump_false", 95, "rel_ni_377", 271, 22], "_nop_tc_1", "_nop_tc_2", - ["lt_int", 104, 12, 103, 288, 22], - ["jump", "rel_done_385", 288, 22], - "rel_ni_383", - ["is_num", 105, 12, 288, 22], - ["jump_false", 105, "rel_nn_384", 288, 22], - ["is_num", 106, 103, 288, 22], - ["jump_false", 106, "rel_nn_384", 288, 22], - ["lt_float", 104, 12, 103, 288, 22], - ["jump", "rel_done_385", 288, 22], - "rel_nn_384", - ["is_text", 105, 12, 288, 22], - ["jump_false", 105, "rel_err_386", 288, 22], - ["is_text", 106, 103, 288, 22], - ["jump_false", 106, "rel_err_386", 288, 22], - ["lt_text", 104, 12, 103, 288, 22], - ["jump", "rel_done_385", 288, 22], - "rel_err_386", - ["disrupt", 288, 22], - "rel_done_385", - ["jump_false", 104, "while_end_382", 288, 22], + ["lt_int", 94, 16, 93, 271, 22], + ["jump", "rel_done_379", 271, 22], + "rel_ni_377", + ["is_num", 95, 16, 271, 22], + ["jump_false", 95, "rel_nn_378", 271, 22], + ["is_num", 96, 93, 271, 22], + ["jump_false", 96, "rel_nn_378", 271, 22], + ["lt_float", 94, 16, 93, 271, 22], + ["jump", "rel_done_379", 271, 22], + "rel_nn_378", + ["is_text", 95, 16, 271, 22], + ["jump_false", 95, "rel_err_380", 271, 22], + ["is_text", 96, 93, 271, 22], + ["jump_false", 96, "rel_err_380", 271, 22], + ["lt_text", 94, 16, 93, 271, 22], + ["jump", "rel_done_379", 271, 22], + "rel_err_380", + ["disrupt", 271, 22], + "rel_done_379", + ["jump_false", 94, "while_end_376", 271, 22], [ "access", - 107, + 97, { "name": "args", "kind": "name", "make": "intrinsic" }, - 289, + 272, 21 ], - ["load_dynamic", 108, 107, 12, 289, 26], - ["push", 6, 108, 289, 26], - ["access", 109, 1, 290, 15], - ["is_int", 111, 12, 290, 15], - ["jump_false", 111, "add_ni_387", 290, 15], - ["add_int", 110, 12, 109, 290, 15], - ["jump", "add_done_389", 290, 15], - "add_ni_387", - ["is_text", 111, 12, 290, 15], - ["jump_false", 111, "add_nt_388", 290, 15], - ["is_text", 112, 109, 290, 15], - ["jump_false", 112, "add_nt_388", 290, 15], - ["concat", 110, 12, 109, 290, 15], - ["jump", "add_done_389", 290, 15], - "add_nt_388", - ["is_num", 111, 12, 290, 15], - ["jump_false", 111, "add_err_390", 290, 15], - ["add_float", 110, 12, 109, 290, 15], - ["jump", "add_done_389", 290, 15], - "add_err_390", - ["disrupt", 290, 15], - "add_done_389", - ["move", 12, 110, 290, 15], - ["jump", "while_start_381", 290, 15], - "while_end_382", - ["move", 26, 23, 294, 17], - ["access", 113, ".ce", 295, 31], + ["load_dynamic", 98, 97, 16, 272, 26], + ["push", 8, 98, 272, 26], + ["access", 99, 1, 273, 15], + ["is_int", 101, 16, 273, 15], + ["jump_false", 101, "add_ni_381", 273, 15], + ["add_int", 100, 16, 99, 273, 15], + ["jump", "add_done_383", 273, 15], + "add_ni_381", + ["is_text", 101, 16, 273, 15], + ["jump_false", 101, "add_nt_382", 273, 15], + ["is_text", 102, 99, 273, 15], + ["jump_false", 102, "add_nt_382", 273, 15], + ["concat", 100, 16, 99, 273, 15], + ["jump", "add_done_383", 273, 15], + "add_nt_382", + ["is_num", 101, 16, 273, 15], + ["jump_false", 101, "add_err_384", 273, 15], + ["add_float", 100, 16, 99, 273, 15], + ["jump", "add_done_383", 273, 15], + "add_err_384", + ["disrupt", 273, 15], + "add_done_383", + ["move", 16, 100, 273, 15], + ["jump", "while_start_375", 273, 15], + "while_end_376", + ["record", 103, 0], [ "access", - 115, - { - "name": "ends_with", - "kind": "name", - "make": "intrinsic" - }, - 295, - 8 - ], - ["frame", 116, 115, 2, 295, 8], - ["null", 117, 295, 8], - ["setarg", 116, 0, 117, 295, 8], - ["setarg", 116, 1, 26, 295, 8], - ["setarg", 116, 2, 113, 295, 8], - ["invoke", 116, 114, 295, 8], - ["not", 118, 114, 295, 8], - ["move", 119, 118, 295, 8], - ["jump_false", 119, "and_end_393", 295, 8], - ["access", 120, ".cm", 295, 65], - [ - "access", - 122, - { - "name": "ends_with", - "kind": "name", - "make": "intrinsic" - }, - 295, - 42 - ], - ["frame", 123, 122, 2, 295, 42], - ["null", 124, 295, 42], - ["setarg", 123, 0, 124, 295, 42], - ["setarg", 123, 1, 26, 295, 42], - ["setarg", 123, 2, 120, 295, 42], - ["invoke", 123, 121, 295, 42], - ["not", 125, 121, 295, 42], - ["move", 119, 125, 295, 42], - "and_end_393", - ["jump_false", 119, "if_else_391", 295, 42], - ["access", 126, ".cm", 296, 29], - ["is_int", 128, 23, 296, 29], - ["jump_false", 128, "add_ni_394", 296, 29], - "_nop_tc_3", - ["jump", "add_ni_394", 296, 29], - ["add_int", 127, 23, 126, 296, 29], - ["jump", "add_done_396", 296, 29], - "add_ni_394", - ["is_text", 128, 23, 296, 29], - ["jump_false", 128, "add_nt_395", 296, 29], - ["concat", 127, 23, 126, 296, 29], - ["jump", "add_done_396", 296, 29], - "add_nt_395", - ["is_num", 128, 23, 296, 29], - ["jump_false", 128, "add_err_397", 296, 29], - ["is_num", 129, 126, 296, 29], - ["jump_false", 129, "add_err_397", 296, 29], - ["add_float", 127, 23, 126, 296, 29], - ["jump", "add_done_396", 296, 29], - "add_err_397", - ["disrupt", 296, 29], - "add_done_396", - ["move", 26, 127, 296, 29], - ["jump", "if_end_392", 296, 29], - "if_else_391", - "if_end_392", - ["is_proxy", 131, 16, 298, 8], - ["jump_false", 131, "record_path_400", 298, 8], - ["null", 132, 298, 8], - ["access", 133, "is_file", 298, 8], - ["array", 134, 1, 26, 298, 8], - ["frame", 135, 16, 2, 298, 8], - ["setarg", 135, 0, 132, 298, 8], - ["setarg", 135, 1, 133, 298, 8], - ["setarg", 135, 2, 134, 298, 8], - ["invoke", 135, 130, 298, 8], - ["jump", "call_done_401", 298, 8], - "record_path_400", - ["load_field", 136, 16, "is_file", 298, 8], - ["frame", 137, 136, 1, 298, 8], - ["setarg", 137, 0, 16, 298, 8], - ["setarg", 137, 1, 26, 298, 8], - ["invoke", 137, 130, 298, 8], - "call_done_401", - "_nop_bl_1", - ["jump_true", 130, "if_else_398", 298, 8], - [ - "access", - 139, - { - "name": "core_path", - "kind": "name", - "make": "intrinsic" - }, - 299, - 19 - ], - ["access", 140, "/", 299, 31], - ["is_int", 142, 139, 299, 31], - ["jump_false", 142, "add_ni_402", 299, 31], - "_nop_tc_4", - ["jump", "add_ni_402", 299, 31], - ["add_int", 141, 139, 140, 299, 31], - ["jump", "add_done_404", 299, 31], - "add_ni_402", - ["is_text", 142, 139, 299, 31], - ["jump_false", 142, "add_nt_403", 299, 31], - ["concat", 141, 139, 140, 299, 31], - ["jump", "add_done_404", 299, 31], - "add_nt_403", - ["is_num", 142, 139, 299, 31], - ["jump_false", 142, "add_err_405", 299, 31], - ["is_num", 143, 140, 299, 31], - ["jump_false", 143, "add_err_405", 299, 31], - ["add_float", 141, 139, 140, 299, 31], - ["jump", "add_done_404", 299, 31], - "add_err_405", - ["disrupt", 299, 31], - "add_done_404", - ["is_int", 145, 141, 299, 37], - ["jump_false", 145, "add_ni_406", 299, 37], - ["is_int", 146, 23, 299, 37], - ["jump_false", 146, "add_ni_406", 299, 37], - ["add_int", 144, 141, 23, 299, 37], - ["jump", "add_done_408", 299, 37], - "add_ni_406", - ["is_text", 145, 141, 299, 37], - ["jump_false", 145, "add_nt_407", 299, 37], - ["is_text", 146, 23, 299, 37], - ["jump_false", 146, "add_nt_407", 299, 37], - ["concat", 144, 141, 23, 299, 37], - ["jump", "add_done_408", 299, 37], - "add_nt_407", - ["is_num", 145, 141, 299, 37], - ["jump_false", 145, "add_err_409", 299, 37], - ["is_num", 146, 23, 299, 37], - ["jump_false", 146, "add_err_409", 299, 37], - ["add_float", 144, 141, 23, 299, 37], - ["jump", "add_done_408", 299, 37], - "add_err_409", - ["disrupt", 299, 37], - "add_done_408", - ["access", 147, ".cm", 299, 47], - ["is_int", 149, 144, 299, 47], - ["jump_false", 149, "add_ni_410", 299, 47], - "_nop_tc_5", - ["jump", "add_ni_410", 299, 47], - ["add_int", 148, 144, 147, 299, 47], - ["jump", "add_done_412", 299, 47], - "add_ni_410", - ["is_text", 149, 144, 299, 47], - ["jump_false", 149, "add_nt_411", 299, 47], - ["concat", 148, 144, 147, 299, 47], - ["jump", "add_done_412", 299, 47], - "add_nt_411", - ["is_num", 149, 144, 299, 47], - ["jump_false", 149, "add_err_413", 299, 47], - ["is_num", 150, 147, 299, 47], - ["jump_false", 150, "add_err_413", 299, 47], - ["add_float", 148, 144, 147, 299, 47], - ["jump", "add_done_412", 299, 47], - "add_err_413", - ["disrupt", 299, 47], - "add_done_412", - ["move", 26, 148, 299, 47], - ["jump", "if_end_399", 299, 47], - "if_else_398", - "if_end_399", - ["is_proxy", 152, 16, 300, 8], - ["jump_false", 152, "record_path_416", 300, 8], - ["null", 153, 300, 8], - ["access", 154, "is_file", 300, 8], - ["array", 155, 1, 26, 300, 8], - ["frame", 156, 16, 2, 300, 8], - ["setarg", 156, 0, 153, 300, 8], - ["setarg", 156, 1, 154, 300, 8], - ["setarg", 156, 2, 155, 300, 8], - ["invoke", 156, 151, 300, 8], - ["jump", "call_done_417", 300, 8], - "record_path_416", - ["load_field", 157, 16, "is_file", 300, 8], - ["frame", 158, 157, 1, 300, 8], - ["setarg", 158, 0, 16, 300, 8], - ["setarg", 158, 1, 26, 300, 8], - ["invoke", 158, 151, 300, 8], - "call_done_417", - "_nop_bl_2", - ["jump_true", 151, "if_else_414", 300, 8], - ["access", 160, ".ce", 301, 29], - ["is_int", 162, 23, 301, 29], - ["jump_false", 162, "add_ni_418", 301, 29], - "_nop_tc_6", - ["jump", "add_ni_418", 301, 29], - ["add_int", 161, 23, 160, 301, 29], - ["jump", "add_done_420", 301, 29], - "add_ni_418", - ["is_text", 162, 23, 301, 29], - ["jump_false", 162, "add_nt_419", 301, 29], - ["concat", 161, 23, 160, 301, 29], - ["jump", "add_done_420", 301, 29], - "add_nt_419", - ["is_num", 162, 23, 301, 29], - ["jump_false", 162, "add_err_421", 301, 29], - ["is_num", 163, 160, 301, 29], - ["jump_false", 163, "add_err_421", 301, 29], - ["add_float", 161, 23, 160, 301, 29], - ["jump", "add_done_420", 301, 29], - "add_err_421", - ["disrupt", 301, 29], - "add_done_420", - ["move", 26, 161, 301, 29], - ["jump", "if_end_415", 301, 29], - "if_else_414", - "if_end_415", - ["is_proxy", 165, 16, 302, 8], - ["jump_false", 165, "record_path_424", 302, 8], - ["null", 166, 302, 8], - ["access", 167, "is_file", 302, 8], - ["array", 168, 1, 26, 302, 8], - ["frame", 169, 16, 2, 302, 8], - ["setarg", 169, 0, 166, 302, 8], - ["setarg", 169, 1, 167, 302, 8], - ["setarg", 169, 2, 168, 302, 8], - ["invoke", 169, 164, 302, 8], - ["jump", "call_done_425", 302, 8], - "record_path_424", - ["load_field", 170, 16, "is_file", 302, 8], - ["frame", 171, 170, 1, 302, 8], - ["setarg", 171, 0, 16, 302, 8], - ["setarg", 171, 1, 26, 302, 8], - ["invoke", 171, 164, 302, 8], - "call_done_425", - "_nop_bl_3", - ["jump_true", 164, "if_else_422", 302, 8], - [ - "access", - 173, - { - "name": "core_path", - "kind": "name", - "make": "intrinsic" - }, - 303, - 19 - ], - ["access", 174, "/", 303, 31], - ["is_int", 176, 173, 303, 31], - ["jump_false", 176, "add_ni_426", 303, 31], - "_nop_tc_7", - ["jump", "add_ni_426", 303, 31], - ["add_int", 175, 173, 174, 303, 31], - ["jump", "add_done_428", 303, 31], - "add_ni_426", - ["is_text", 176, 173, 303, 31], - ["jump_false", 176, "add_nt_427", 303, 31], - ["concat", 175, 173, 174, 303, 31], - ["jump", "add_done_428", 303, 31], - "add_nt_427", - ["is_num", 176, 173, 303, 31], - ["jump_false", 176, "add_err_429", 303, 31], - ["is_num", 177, 174, 303, 31], - ["jump_false", 177, "add_err_429", 303, 31], - ["add_float", 175, 173, 174, 303, 31], - ["jump", "add_done_428", 303, 31], - "add_err_429", - ["disrupt", 303, 31], - "add_done_428", - ["is_int", 179, 175, 303, 37], - ["jump_false", 179, "add_ni_430", 303, 37], - ["is_int", 180, 23, 303, 37], - ["jump_false", 180, "add_ni_430", 303, 37], - ["add_int", 178, 175, 23, 303, 37], - ["jump", "add_done_432", 303, 37], - "add_ni_430", - ["is_text", 179, 175, 303, 37], - ["jump_false", 179, "add_nt_431", 303, 37], - ["is_text", 180, 23, 303, 37], - ["jump_false", 180, "add_nt_431", 303, 37], - ["concat", 178, 175, 23, 303, 37], - ["jump", "add_done_432", 303, 37], - "add_nt_431", - ["is_num", 179, 175, 303, 37], - ["jump_false", 179, "add_err_433", 303, 37], - ["is_num", 180, 23, 303, 37], - ["jump_false", 180, "add_err_433", 303, 37], - ["add_float", 178, 175, 23, 303, 37], - ["jump", "add_done_432", 303, 37], - "add_err_433", - ["disrupt", 303, 37], - "add_done_432", - ["access", 181, ".ce", 303, 47], - ["is_int", 183, 178, 303, 47], - ["jump_false", 183, "add_ni_434", 303, 47], - "_nop_tc_8", - ["jump", "add_ni_434", 303, 47], - ["add_int", 182, 178, 181, 303, 47], - ["jump", "add_done_436", 303, 47], - "add_ni_434", - ["is_text", 183, 178, 303, 47], - ["jump_false", 183, "add_nt_435", 303, 47], - ["concat", 182, 178, 181, 303, 47], - ["jump", "add_done_436", 303, 47], - "add_nt_435", - ["is_num", 183, 178, 303, 47], - ["jump_false", 183, "add_err_437", 303, 47], - ["is_num", 184, 181, 303, 47], - ["jump_false", 184, "add_err_437", 303, 47], - ["add_float", 182, 178, 181, 303, 47], - ["jump", "add_done_436", 303, 47], - "add_err_437", - ["disrupt", 303, 47], - "add_done_436", - ["move", 26, 182, 303, 47], - ["jump", "if_end_423", 303, 47], - "if_else_422", - "if_end_423", - ["access", 185, ".ce", 305, 30], - [ - "access", - 187, - { - "name": "ends_with", - "kind": "name", - "make": "intrinsic" - }, - 305, - 7 - ], - ["frame", 188, 187, 2, 305, 7], - ["null", 189, 305, 7], - ["setarg", 188, 0, 189, 305, 7], - ["setarg", 188, 1, 26, 305, 7], - ["setarg", 188, 2, 185, 305, 7], - ["invoke", 188, 186, 305, 7], - ["jump_false", 186, "if_else_438", 305, 7], - ["record", 190, 0], - [ - "access", - 191, + 104, { "name": "os", "kind": "name", "make": "intrinsic" }, - 308, - 11 + 277, + 9 ], - ["store_field", 190, 191, "os", 308, 11], + ["store_field", 103, 104, "os", 277, 9], [ "access", - 192, + 105, { "name": "actorsym", "kind": "name", "make": "intrinsic" }, - 308, - 25 + 277, + 23 ], - ["store_field", 190, 192, "actorsym", 308, 25], - ["record", 193, 0], - ["store_field", 193, 23, "program", 309, 23], - ["store_field", 193, 6, "arg", 309, 37], - ["store_field", 190, 193, "init", 309, 37], + ["store_field", 103, 105, "actorsym", 277, 23], + ["record", 106, 0], + ["store_field", 106, 19, "program", 278, 21], + ["store_field", 106, 8, "arg", 278, 35], + ["store_field", 103, 106, "init", 278, 35], [ "access", - 194, + 107, { "name": "core_path", "kind": "name", "make": "intrinsic" }, - 310, - 18 + 279, + 16 ], - ["store_field", 190, 194, "core_path", 310, 18], + ["store_field", 103, 107, "core_path", 279, 16], [ "access", - 195, + 108, { "name": "shop_path", "kind": "name", "make": "intrinsic" }, - 310, - 40 + 279, + 38 ], - ["store_field", 190, 195, "shop_path", 310, 40], - ["store_field", 190, 25, "json", 310, 57], - ["store_field", 190, 8, "analyze", 311, 16], - ["store_field", 190, 20, "run_ast_fn", 311, 37], - ["frame", 197, 3, 1, 307, 5], - ["null", 198, 307, 5], - ["setarg", 197, 0, 198, 307, 5], - ["setarg", 197, 1, 190, 307, 5], - ["invoke", 197, 196, 307, 5], - ["jump", "if_end_439", 307, 5], - "if_else_438", - ["is_proxy", 200, 16, 315, 19], - ["jump_false", 200, "record_path_440", 315, 19], - ["null", 201, 315, 19], - ["access", 202, "slurp", 315, 19], - ["array", 203, 1, 26, 315, 19], - ["frame", 204, 16, 2, 315, 19], - ["setarg", 204, 0, 201, 315, 19], - ["setarg", 204, 1, 202, 315, 19], - ["setarg", 204, 2, 203, 315, 19], - ["invoke", 204, 199, 315, 19], - ["jump", "call_done_441", 315, 19], - "record_path_440", - ["load_field", 205, 16, "slurp", 315, 19], - ["frame", 206, 205, 1, 315, 19], - ["setarg", 206, 0, 16, 315, 19], - ["setarg", 206, 1, 26, 315, 19], - ["invoke", 206, 199, 315, 19], - "call_done_441", + ["store_field", 103, 108, "shop_path", 279, 38], + ["store_field", 103, 21, "json", 279, 55], + ["store_field", 103, 11, "analyze", 280, 14], + ["store_field", 103, 14, "run_ast_fn", 280, 35], + ["frame", 110, 6, 1, 276, 3], + ["null", 111, 276, 3], + ["setarg", 110, 0, 111, 276, 3], + ["setarg", 110, 1, 103, 276, 3], + ["invoke", 110, 109, 276, 3], + ["jump", "if_end_364", 276, 3], + "if_else_363", + ["record", 112, 0], [ "access", - 208, - { - "name": "text", - "kind": "name", - "make": "intrinsic" - }, - 315, - 14 - ], - ["frame", 209, 208, 1, 315, 14], - ["null", 210, 315, 14], - ["setarg", 209, 0, 210, 315, 14], - ["setarg", 209, 1, 199, 315, 14], - ["invoke", 209, 207, 315, 14], - ["move", 2, 207, 315, 14], - ["frame", 212, 8, 2, 316, 11], - ["null", 213, 316, 11], - ["setarg", 212, 0, 213, 316, 11], - ["setarg", 212, 1, 2, 316, 11], - ["setarg", 212, 2, 26, 316, 11], - ["invoke", 212, 211, 316, 11], - ["move", 27, 211, 316, 11], - ["record", 214, 0], - ["store_field", 214, 10, "use", 317, 33], - ["store_field", 214, 6, "args", 317, 47], - ["store_field", 214, 25, "json", 317, 64], - ["frame", 216, 20, 3, 317, 5], - ["null", 217, 317, 5], - ["setarg", 216, 0, 217, 317, 5], - ["setarg", 216, 1, 23, 317, 5], - ["setarg", 216, 2, 27, 317, 5], - ["setarg", 216, 3, 214, 317, 5], - ["invoke", 216, 215, 317, 5], - "if_end_439", - ["jump", "if_end_372", 317, 5], - "if_else_371", - ["record", 218, 0], - [ - "access", - 219, + 113, { "name": "os", "kind": "name", "make": "intrinsic" }, - 322, + 285, 9 ], - ["store_field", 218, 219, "os", 322, 9], + ["store_field", 112, 113, "os", 285, 9], [ "access", - 220, + 114, { "name": "actorsym", "kind": "name", "make": "intrinsic" }, - 322, + 285, 23 ], - ["store_field", 218, 220, "actorsym", 322, 23], + ["store_field", 112, 114, "actorsym", 285, 23], [ "access", - 221, + 115, { "name": "init", "kind": "name", "make": "intrinsic" }, - 322, + 285, 39 ], - ["store_field", 218, 221, "init", 322, 39], + ["store_field", 112, 115, "init", 285, 39], [ "access", - 222, + 116, { "name": "core_path", "kind": "name", "make": "intrinsic" }, - 323, + 286, 16 ], - ["store_field", 218, 222, "core_path", 323, 16], + ["store_field", 112, 116, "core_path", 286, 16], [ "access", - 223, + 117, { "name": "shop_path", "kind": "name", "make": "intrinsic" }, - 323, + 286, 38 ], - ["store_field", 218, 223, "shop_path", 323, 38], - ["store_field", 218, 25, "json", 323, 55], + ["store_field", 112, 117, "shop_path", 286, 38], + ["store_field", 112, 21, "json", 286, 55], [ "access", - 224, + 118, { "name": "nota", "kind": "name", "make": "intrinsic" }, - 323, + 286, 67 ], - ["store_field", 218, 224, "nota", 323, 67], + ["store_field", 112, 118, "nota", 286, 67], [ "access", - 225, + 119, { "name": "wota", "kind": "name", "make": "intrinsic" }, - 323, + 286, 79 ], - ["store_field", 218, 225, "wota", 323, 79], - ["store_field", 218, 8, "analyze", 324, 14], - ["store_field", 218, 20, "run_ast_fn", 324, 35], - ["frame", 227, 3, 1, 321, 3], - ["null", 228, 321, 3], - ["setarg", 227, 0, 228, 321, 3], - ["setarg", 227, 1, 218, 321, 3], - ["invoke", 227, 226, 321, 3], - "if_end_372", - ["null", 229, 321, 3], - ["return", 229, 321, 3] + ["store_field", 112, 119, "wota", 286, 79], + ["store_field", 112, 11, "analyze", 287, 14], + ["store_field", 112, 14, "run_ast_fn", 287, 35], + ["frame", 121, 6, 1, 284, 3], + ["null", 122, 284, 3], + ["setarg", 121, 0, 122, 284, 3], + ["setarg", 121, 1, 112, 284, 3], + ["invoke", 121, 120, 284, 3], + "if_end_364", + ["null", 123, 284, 3], + ["return", 123, 284, 3] ] }, "filename": "internal/bootstrap.cm", diff --git a/internal/engine.cm b/internal/engine.cm index 7de264d0..4847d383 100644 --- a/internal/engine.cm +++ b/internal/engine.cm @@ -736,7 +736,7 @@ function report_to_overling(msg) var program = _cell.args.program if (!program) { - log.error('No program specified. Usage: cell [args...]') + log.error('No program specified. Usage: cell [args...]') os.exit(1) } @@ -827,7 +827,7 @@ actor_mod.setname(_cell.args.program) var prog = _cell.args.program if (ends_with(prog, '.cm')) { - os.print(`error: ${prog} is a module (.cm), not an actor (.ce). Run it with: cell --core ${prog}\n`) + os.print(`error: ${prog} is a module (.cm), not a program (.ce)\n`) os.exit(1) } if (ends_with(prog, '.ce')) prog = text(prog, 0, -3) @@ -876,6 +876,8 @@ $_.clock(_ => { env.use = function(path) { var ck = 'core/' + path if (use_cache[ck]) return use_cache[ck] + var core_mod = use_core(path) + if (core_mod) return core_mod return shop.use(path, pkg) } env.args = _cell.args.arg diff --git a/internal/engine.cm.mcode b/internal/engine.cm.mcode index 41dbc28f..611911e2 100644 --- a/internal/engine.cm.mcode +++ b/internal/engine.cm.mcode @@ -6055,65 +6055,77 @@ }, { "disruption_pc": 0, - "nr_slots": 22, + "nr_slots": 27, "nr_close_slots": 0, "instructions": [ - ["access", 3, "core/", 877, 14], + ["access", 4, "core/", 877, 14], "_nop_tc_1", ["jump", "add_ni_743", 877, 24], - ["is_int", 6, 1, 877, 24], - ["jump_false", 6, "add_ni_743", 877, 24], - ["add_int", 4, 3, 1, 877, 24], + ["is_int", 7, 1, 877, 24], + ["jump_false", 7, "add_ni_743", 877, 24], + ["add_int", 5, 4, 1, 877, 24], ["jump", "add_done_745", 877, 24], "add_ni_743", - ["is_text", 6, 1, 877, 24], - ["jump_false", 6, "add_nt_744", 877, 24], - ["concat", 4, 3, 1, 877, 24], + ["is_text", 7, 1, 877, 24], + ["jump_false", 7, "add_nt_744", 877, 24], + ["concat", 5, 4, 1, 877, 24], ["jump", "add_done_745", 877, 24], "add_nt_744", - ["is_num", 5, 3, 877, 24], - ["jump_false", 5, "add_err_746", 877, 24], - ["is_num", 6, 1, 877, 24], + ["is_num", 6, 4, 877, 24], ["jump_false", 6, "add_err_746", 877, 24], - ["add_float", 4, 3, 1, 877, 24], + ["is_num", 7, 1, 877, 24], + ["jump_false", 7, "add_err_746", 877, 24], + ["add_float", 5, 4, 1, 877, 24], ["jump", "add_done_745", 877, 24], "add_err_746", ["disrupt", 877, 24], "add_done_745", - ["move", 2, 4, 877, 24], - ["get", 7, 67, 2, 878, 9], - ["load_dynamic", 8, 7, 2, 878, 19], - ["jump_false", 8, "if_else_747", 878, 19], - ["get", 9, 67, 2, 878, 31], - ["load_dynamic", 10, 9, 2, 878, 41], - ["return", 10, 878, 41], + ["move", 2, 5, 877, 24], + ["get", 8, 67, 2, 878, 9], + ["load_dynamic", 9, 8, 2, 878, 19], + ["jump_false", 9, "if_else_747", 878, 19], + ["get", 10, 67, 2, 878, 31], + ["load_dynamic", 11, 10, 2, 878, 41], + ["return", 11, 878, 41], ["jump", "if_end_748", 878, 41], "if_else_747", "if_end_748", - ["get", 11, 8, 1, 879, 27], - ["get", 13, 50, 2, 879, 12], - ["is_proxy", 14, 13, 879, 12], - ["jump_false", 14, "record_path_749", 879, 12], - ["null", 15, 879, 12], - ["access", 16, "use", 879, 12], - ["array", 17, 2, 1, 11, 879, 12], - ["frame", 18, 13, 2, 879, 12], - ["setarg", 18, 0, 15, 879, 12], - ["setarg", 18, 1, 16, 879, 12], - ["setarg", 18, 2, 17, 879, 12], - ["invoke", 18, 12, 879, 12], - ["jump", "call_done_750", 879, 12], - "record_path_749", - ["load_field", 19, 13, "use", 879, 12], - ["frame", 20, 19, 2, 879, 12], - ["setarg", 20, 0, 13, 879, 12], - ["setarg", 20, 1, 1, 879, 12], - ["setarg", 20, 2, 11, 879, 12], - ["invoke", 20, 12, 879, 12], - "call_done_750", - ["return", 12, 879, 12], - ["null", 21, 879, 12], - ["return", 21, 879, 12] + ["get", 13, 32, 2, 879, 20], + ["frame", 14, 13, 1, 879, 20], + ["null", 15, 879, 20], + ["setarg", 14, 0, 15, 879, 20], + ["setarg", 14, 1, 1, 879, 20], + ["invoke", 14, 12, 879, 20], + ["move", 3, 12, 879, 20], + ["jump_false", 3, "if_else_749", 880, 9], + ["return", 3, 880, 26], + ["jump", "if_end_750", 880, 26], + "if_else_749", + "if_end_750", + ["get", 16, 8, 1, 881, 27], + ["get", 18, 50, 2, 881, 12], + ["is_proxy", 19, 18, 881, 12], + ["jump_false", 19, "record_path_751", 881, 12], + ["null", 20, 881, 12], + ["access", 21, "use", 881, 12], + ["array", 22, 2, 1, 16, 881, 12], + ["frame", 23, 18, 2, 881, 12], + ["setarg", 23, 0, 20, 881, 12], + ["setarg", 23, 1, 21, 881, 12], + ["setarg", 23, 2, 22, 881, 12], + ["invoke", 23, 17, 881, 12], + ["jump", "call_done_752", 881, 12], + "record_path_751", + ["load_field", 24, 18, "use", 881, 12], + ["frame", 25, 24, 2, 881, 12], + ["setarg", 25, 0, 18, 881, 12], + ["setarg", 25, 1, 1, 881, 12], + ["setarg", 25, 2, 16, 881, 12], + ["invoke", 25, 17, 881, 12], + "call_done_752", + ["return", 17, 881, 12], + ["null", 26, 881, 12], + ["return", 26, 881, 12] ], "name": "", "filename": "internal/engine.cm", @@ -6427,32 +6439,32 @@ ["move", 8, 83, 875, 45], ["function", 86, 56, 876, 13], ["store_field", 6, 86, "use", 876, 3], - ["get", 87, 11, 1, 881, 14], - ["load_field", 88, 87, "args", 881, 14], - ["load_field", 89, 88, "arg", 881, 14], - ["store_field", 6, 89, "args", 881, 3], - ["get", 90, 63, 1, 882, 14], - ["store_field", 6, 90, "log", 882, 3], - ["get", 91, 68, 1, 884, 30], - ["get", 93, 20, 1, 884, 21], - ["is_proxy", 94, 93, 884, 21], - ["jump_false", 94, "record_path_751", 884, 21], - ["null", 95, 884, 21], - ["access", 96, "slurp", 884, 21], - ["array", 97, 1, 91, 884, 21], - ["frame", 98, 93, 2, 884, 21], - ["setarg", 98, 0, 95, 884, 21], - ["setarg", 98, 1, 96, 884, 21], - ["setarg", 98, 2, 97, 884, 21], - ["invoke", 98, 92, 884, 21], - ["jump", "call_done_752", 884, 21], - "record_path_751", - ["load_field", 99, 93, "slurp", 884, 21], - ["frame", 100, 99, 1, 884, 21], - ["setarg", 100, 0, 93, 884, 21], - ["setarg", 100, 1, 91, 884, 21], - ["invoke", 100, 92, 884, 21], - "call_done_752", + ["get", 87, 11, 1, 883, 14], + ["load_field", 88, 87, "args", 883, 14], + ["load_field", 89, 88, "arg", 883, 14], + ["store_field", 6, 89, "args", 883, 3], + ["get", 90, 63, 1, 884, 14], + ["store_field", 6, 90, "log", 884, 3], + ["get", 91, 68, 1, 886, 30], + ["get", 93, 20, 1, 886, 21], + ["is_proxy", 94, 93, 886, 21], + ["jump_false", 94, "record_path_753", 886, 21], + ["null", 95, 886, 21], + ["access", 96, "slurp", 886, 21], + ["array", 97, 1, 91, 886, 21], + ["frame", 98, 93, 2, 886, 21], + ["setarg", 98, 0, 95, 886, 21], + ["setarg", 98, 1, 96, 886, 21], + ["setarg", 98, 2, 97, 886, 21], + ["invoke", 98, 92, 886, 21], + ["jump", "call_done_754", 886, 21], + "record_path_753", + ["load_field", 99, 93, "slurp", 886, 21], + ["frame", 100, 99, 1, 886, 21], + ["setarg", 100, 0, 93, 886, 21], + ["setarg", 100, 1, 91, 886, 21], + ["invoke", 100, 92, 886, 21], + "call_done_754", [ "access", 102, @@ -6461,16 +6473,16 @@ "kind": "name", "make": "intrinsic" }, - 884, + 886, 16 ], - ["frame", 103, 102, 1, 884, 16], - ["null", 104, 884, 16], - ["setarg", 103, 0, 104, 884, 16], - ["setarg", 103, 1, 92, 884, 16], - ["invoke", 103, 101, 884, 16], - ["move", 4, 101, 884, 16], - ["get", 105, 68, 1, 885, 29], + ["frame", 103, 102, 1, 886, 16], + ["null", 104, 886, 16], + ["setarg", 103, 0, 104, 886, 16], + ["setarg", 103, 1, 92, 886, 16], + ["invoke", 103, 101, 886, 16], + ["move", 4, 101, 886, 16], + ["get", 105, 68, 1, 887, 29], [ "access", 107, @@ -6479,17 +6491,17 @@ "kind": "name", "make": "intrinsic" }, - 885, + 887, 13 ], - ["frame", 108, 107, 2, 885, 13], - ["null", 109, 885, 13], - ["setarg", 108, 0, 109, 885, 13], - ["setarg", 108, 1, 4, 885, 13], - ["setarg", 108, 2, 105, 885, 13], - ["invoke", 108, 106, 885, 13], - ["move", 10, 106, 885, 13], - ["get", 110, 46, 1, 886, 24], + ["frame", 108, 107, 2, 887, 13], + ["null", 109, 887, 13], + ["setarg", 108, 0, 109, 887, 13], + ["setarg", 108, 1, 4, 887, 13], + ["setarg", 108, 2, 105, 887, 13], + ["invoke", 108, 106, 887, 13], + ["move", 10, 106, 887, 13], + ["get", 110, 46, 1, 888, 24], [ "access", 112, @@ -6498,44 +6510,44 @@ "kind": "name", "make": "intrinsic" }, - 886, + 888, 13 ], - ["frame", 113, 112, 3, 886, 13], - ["null", 114, 886, 13], - ["setarg", 113, 0, 114, 886, 13], - ["setarg", 113, 1, 110, 886, 13], - ["setarg", 113, 2, 10, 886, 13], - ["setarg", 113, 3, 6, 886, 13], - ["invoke", 113, 111, 886, 13], - ["move", 11, 111, 886, 13], - ["jump_false", 11, "if_else_753", 887, 7], - ["access", 115, "Program must not return anything", 888, 15], - ["get", 117, 63, 1, 888, 5], - ["is_proxy", 118, 117, 888, 5], - ["jump_false", 118, "record_path_755", 888, 5], - ["null", 119, 888, 5], - ["access", 120, "error", 888, 5], - ["array", 121, 1, 115, 888, 5], - ["frame", 122, 117, 2, 888, 5], - ["setarg", 122, 0, 119, 888, 5], - ["setarg", 122, 1, 120, 888, 5], - ["setarg", 122, 2, 121, 888, 5], - ["invoke", 122, 116, 888, 5], - ["jump", "call_done_756", 888, 5], - "record_path_755", - ["load_field", 123, 117, "error", 888, 5], - ["frame", 124, 123, 1, 888, 5], - ["setarg", 124, 0, 117, 888, 5], - ["setarg", 124, 1, 115, 888, 5], - ["invoke", 124, 116, 888, 5], - "call_done_756", - ["disrupt", 889, 5], - ["jump", "if_end_754", 889, 5], - "if_else_753", - "if_end_754", - ["null", 125, 889, 5], - ["return", 125, 889, 5] + ["frame", 113, 112, 3, 888, 13], + ["null", 114, 888, 13], + ["setarg", 113, 0, 114, 888, 13], + ["setarg", 113, 1, 110, 888, 13], + ["setarg", 113, 2, 10, 888, 13], + ["setarg", 113, 3, 6, 888, 13], + ["invoke", 113, 111, 888, 13], + ["move", 11, 111, 888, 13], + ["jump_false", 11, "if_else_755", 889, 7], + ["access", 115, "Program must not return anything", 890, 15], + ["get", 117, 63, 1, 890, 5], + ["is_proxy", 118, 117, 890, 5], + ["jump_false", 118, "record_path_757", 890, 5], + ["null", 119, 890, 5], + ["access", 120, "error", 890, 5], + ["array", 121, 1, 115, 890, 5], + ["frame", 122, 117, 2, 890, 5], + ["setarg", 122, 0, 119, 890, 5], + ["setarg", 122, 1, 120, 890, 5], + ["setarg", 122, 2, 121, 890, 5], + ["invoke", 122, 116, 890, 5], + ["jump", "call_done_758", 890, 5], + "record_path_757", + ["load_field", 123, 117, "error", 890, 5], + ["frame", 124, 123, 1, 890, 5], + ["setarg", 124, 0, 117, 890, 5], + ["setarg", 124, 1, 115, 890, 5], + ["invoke", 124, 116, 890, 5], + "call_done_758", + ["disrupt", 891, 5], + ["jump", "if_end_756", 891, 5], + "if_else_755", + "if_end_756", + ["null", 125, 891, 5], + ["return", 125, 891, 5] ], "name": "", "filename": "internal/engine.cm", @@ -7367,7 +7379,7 @@ ["move", 69, 324, 736, 15], "_nop_bl_2", ["jump_true", 69, "if_else_638", 738, 6], - ["access", 326, "No program specified. Usage: cell [args...]", 739, 13], + ["access", 326, "No program specified. Usage: cell [args...]", 739, 13], ["is_proxy", 328, 63, 739, 3], ["jump_false", 328, "record_path_640", 739, 3], ["null", 329, 739, 3], @@ -7450,7 +7462,7 @@ ["setarg", 359, 2, 357, 829, 5], ["invoke", 359, 358, 829, 5], ["jump_false", 358, "if_else_646", 829, 5], - ["array", 361, 2, 46, 46, 1, 1], + ["array", 361, 1, 46, 1, 1], [ "access", 362, @@ -7462,7 +7474,7 @@ 1, 1 ], - ["access", 363, "error: {0} is a module (.cm), not an actor (.ce). Run it with: cell --core {1}\n", 1, 1], + ["access", 363, "error: {0} is a module (.cm), not a program (.ce)\n", 1, 1], ["frame", 365, 362, 2, 1, 1], ["null", 366, 1, 1], ["setarg", 365, 0, 366, 1, 1], @@ -7915,7 +7927,7 @@ "if_end_695", ["function", 487, 57, 856, 10], ["is_proxy", 489, 2, 856, 1], - ["jump_false", 489, "record_path_757", 856, 1], + ["jump_false", 489, "record_path_759", 856, 1], ["null", 490, 856, 1], ["access", 491, "clock", 856, 1], ["array", 492, 1, 487, 856, 1], @@ -7924,14 +7936,14 @@ ["setarg", 493, 1, 491, 856, 1], ["setarg", 493, 2, 492, 856, 1], ["invoke", 493, 488, 856, 1], - ["jump", "call_done_758", 856, 1], - "record_path_757", + ["jump", "call_done_760", 856, 1], + "record_path_759", ["load_field", 494, 2, "clock", 856, 1], ["frame", 495, 494, 1, 856, 1], ["setarg", 495, 0, 2, 856, 1], ["setarg", 495, 1, 487, 856, 1], ["invoke", 495, 488, 856, 1], - "call_done_758", + "call_done_760", ["return", 488, 856, 1] ] }, diff --git a/regen.cm b/regen.ce similarity index 97% rename from regen.cm rename to regen.ce index 9ede23f0..c0034d08 100644 --- a/regen.cm +++ b/regen.ce @@ -1,5 +1,5 @@ -// regen.cm — regenerate .cm.mcode files -// Run with: ./cell --core . regen.cm +// regen.ce — regenerate .mach bytecode files +// Run with: ./cell --core . regen var fd = use("fd") var json = use("json") diff --git a/source/cell.c b/source/cell.c index 16e8bbc4..e356b35e 100644 --- a/source/cell.c +++ b/source/cell.c @@ -277,13 +277,11 @@ static int run_test_suite(size_t heap_size) static void print_usage(const char *prog) { - printf("Usage: %s [options]