{ "name": "internal/bootstrap.cm", "functions": [ { "disruption_pc": 0, "nr_slots": 11, "nr_close_slots": 0, "instructions": [ [ "access", 2, "js_", 7, 24 ], [ "add", 3, 2, 1, 7, 32 ], [ "access", 4, "_use", 7, 39 ], [ "add", 5, 3, 4, 7, 39 ], [ "get", 7, 20, 1, 7, 10 ], [ "frame", 8, 7, 1, 7, 10 ], [ "null", 9, 7, 10 ], [ "setarg", 8, 0, 9, 7, 10 ], [ "setarg", 8, 1, 5, 7, 10 ], [ "tail_invoke", 8, 6, 7, 10 ], [ "return", 6, 7, 10 ], "_nop_ur_1", "_nop_ur_2" ], "name": "use_embed", "filename": "internal/bootstrap.cm", "nr_args": 1 }, { "disruption_pc": 0, "nr_slots": 17, "nr_close_slots": 0, "instructions": [ [ "get", 3, 17, 1, 21, 15 ], [ "is_proxy", 4, 3, 21, 15 ], [ "jump_false", 4, "record_path_0", 21, 15 ], [ "null", 5, 21, 15 ], [ "access", 6, "blake2", 21, 15 ], [ "array", 7, 0, 21, 15 ], [ "push", 7, 1, 21, 15 ], [ "frame", 8, 3, 2, 21, 15 ], [ "setarg", 8, 0, 5, 21, 15 ], [ "setarg", 8, 1, 6, 21, 15 ], [ "setarg", 8, 2, 7, 21, 15 ], [ "invoke", 8, 2, 21, 15 ], [ "jump", "call_done_1", 21, 15 ], "record_path_0", [ "load_field", 9, 3, "blake2", 21, 15 ], [ "frame", 10, 9, 1, 21, 15 ], [ "setarg", 10, 0, 3, 21, 15 ], [ "setarg", 10, 1, 1, 21, 15 ], [ "invoke", 10, 2, 21, 15 ], "call_done_1", [ "access", 11, "h", 21, 39 ], [ "access", 13, { "name": "text", "kind": "name", "make": "intrinsic" }, 21, 10 ], [ "frame", 14, 13, 2, 21, 10 ], [ "null", 15, 21, 10 ], [ "setarg", 14, 0, 15, 21, 10 ], [ "setarg", 14, 1, 2, 21, 10 ], [ "setarg", 14, 2, 11, 21, 10 ], [ "tail_invoke", 14, 12, 21, 10 ], [ "return", 12, 21, 10 ], "_nop_ur_1", "_nop_ur_2" ], "name": "content_hash", "filename": "internal/bootstrap.cm", "nr_args": 1 }, { "disruption_pc": 0, "nr_slots": 12, "nr_close_slots": 0, "instructions": [ [ "access", 2, { "name": "shop_path", "kind": "name", "make": "intrinsic" }, 25, 8 ], "_nop_bl_1", [ "jump_true", 2, "if_else_2", 25, 8 ], [ "null", 4, 25, 26 ], [ "return", 4, 25, 26 ], "_nop_ur_1", "if_else_2", "if_end_3", [ "access", 5, { "name": "shop_path", "kind": "name", "make": "intrinsic" }, 26, 10 ], [ "access", 6, "/build/", 26, 22 ], [ "add", 7, 5, 6, 26, 22 ], [ "add", 8, 7, 1, 26, 34 ], [ "access", 9, ".mach", 26, 41 ], [ "add", 10, 8, 9, 26, 41 ], [ "return", 10, 26, 41 ], "_nop_ur_2", "_nop_ur_3" ], "name": "cache_path", "filename": "internal/bootstrap.cm", "nr_args": 1 }, { "disruption_pc": 0, "nr_slots": 28, "nr_close_slots": 0, "instructions": [ [ "access", 2, { "name": "shop_path", "kind": "name", "make": "intrinsic" }, 30, 8 ], "_nop_bl_1", [ "jump_true", 2, "if_else_4", 30, 8 ], [ "null", 4, 30, 26 ], [ "return", 4, 30, 26 ], "_nop_ur_1", "if_else_4", "if_end_5", [ "access", 5, { "name": "shop_path", "kind": "name", "make": "intrinsic" }, 31, 13 ], [ "access", 6, "/build", 31, 25 ], [ "add", 7, 5, 6, 31, 25 ], [ "move", 1, 7, 31, 25 ], [ "get", 9, 15, 1, 32, 8 ], [ "is_proxy", 10, 9, 32, 8 ], [ "jump_false", 10, "record_path_8", 32, 8 ], [ "null", 11, 32, 8 ], [ "access", 12, "is_dir", 32, 8 ], [ "array", 13, 0, 32, 8 ], [ "push", 13, 1, 32, 8 ], [ "frame", 14, 9, 2, 32, 8 ], [ "setarg", 14, 0, 11, 32, 8 ], [ "setarg", 14, 1, 12, 32, 8 ], [ "setarg", 14, 2, 13, 32, 8 ], [ "invoke", 14, 8, 32, 8 ], [ "jump", "call_done_9", 32, 8 ], "record_path_8", [ "load_field", 15, 9, "is_dir", 32, 8 ], [ "frame", 16, 15, 1, 32, 8 ], [ "setarg", 16, 0, 9, 32, 8 ], [ "setarg", 16, 1, 1, 32, 8 ], [ "invoke", 16, 8, 32, 8 ], "call_done_9", "_nop_bl_2", [ "jump_true", 8, "if_else_6", 32, 8 ], [ "get", 19, 15, 1, 33, 5 ], [ "is_proxy", 20, 19, 33, 5 ], [ "jump_false", 20, "record_path_10", 33, 5 ], [ "null", 21, 33, 5 ], [ "access", 22, "mkdir", 33, 5 ], [ "array", 23, 0, 33, 5 ], [ "push", 23, 1, 33, 5 ], [ "frame", 24, 19, 2, 33, 5 ], [ "setarg", 24, 0, 21, 33, 5 ], [ "setarg", 24, 1, 22, 33, 5 ], [ "setarg", 24, 2, 23, 33, 5 ], [ "invoke", 24, 18, 33, 5 ], [ "jump", "call_done_11", 33, 5 ], "record_path_10", [ "load_field", 25, 19, "mkdir", 33, 5 ], [ "frame", 26, 25, 1, 33, 5 ], [ "setarg", 26, 0, 19, 33, 5 ], [ "setarg", 26, 1, 1, 33, 5 ], [ "invoke", 26, 18, 33, 5 ], "call_done_11", [ "jump", "if_end_7", 33, 5 ], "if_else_6", "if_end_7", [ "return", 1, 35, 10 ], "_nop_ur_2", "_nop_ur_3" ], "name": "ensure_build_dir", "filename": "internal/bootstrap.cm", "nr_args": 0 }, { "disruption_pc": 0, "nr_slots": 19, "nr_close_slots": 0, "instructions": [ [ "get", 3, 13, 1, 40, 7 ], [ "load_dynamic", 4, 3, 1, 40, 17 ], [ "jump_false", 4, "if_else_12", 40, 17 ], [ "get", 5, 13, 1, 41, 12 ], [ "load_dynamic", 6, 5, 1, 41, 22 ], [ "return", 6, 41, 22 ], "_nop_ur_1", "if_else_12", "if_end_13", [ "access", 7, "/", 42, 40 ], [ "access", 8, "_", 42, 45 ], [ "access", 10, { "name": "replace", "kind": "name", "make": "intrinsic" }, 42, 26 ], [ "frame", 11, 10, 3, 42, 26 ], [ "null", 12, 42, 26 ], [ "setarg", 11, 0, 12, 42, 26 ], [ "setarg", 11, 1, 1, 42, 26 ], [ "setarg", 11, 2, 7, 42, 26 ], [ "setarg", 11, 3, 8, 42, 26 ], [ "invoke", 11, 9, 42, 26 ], [ "get", 14, 11, 1, 42, 16 ], [ "frame", 15, 14, 1, 42, 16 ], [ "null", 16, 42, 16 ], [ "setarg", 15, 0, 16, 42, 16 ], [ "setarg", 15, 1, 9, 42, 16 ], [ "invoke", 15, 13, 42, 16 ], [ "move", 2, 13, 42, 16 ], [ "get", 17, 13, 1, 43, 3 ], [ "store_dynamic", 17, 2, 1, 43, 13 ], [ "return", 2, 44, 10 ], "_nop_ur_2", "_nop_ur_3" ], "name": "use_basic", "filename": "internal/bootstrap.cm", "nr_args": 1 }, { "disruption_pc": 0, "nr_slots": 98, "nr_close_slots": 0, "instructions": [ [ "access", 9, { "name": "core_path", "kind": "name", "make": "intrinsic" }, 49, 20 ], [ "access", 10, "/boot/", 49, 32 ], [ "add", 11, 9, 10, 49, 32 ], [ "add", 12, 11, 1, 49, 43 ], [ "access", 13, ".cm.mcode", 49, 50 ], [ "add", 14, 12, 13, 49, 50 ], [ "move", 8, 14, 49, 50 ], [ "null", 3, 50, 20 ], [ "null", 4, 51, 14 ], [ "null", 7, 52, 16 ], [ "null", 6, 53, 20 ], [ "null", 5, 54, 19 ], [ "get", 16, 15, 1, 55, 7 ], [ "is_proxy", 17, 16, 55, 7 ], [ "jump_false", 17, "record_path_16", 55, 7 ], [ "null", 18, 55, 7 ], [ "access", 19, "is_file", 55, 7 ], [ "array", 20, 0, 55, 7 ], [ "push", 20, 8, 55, 7 ], [ "frame", 21, 16, 2, 55, 7 ], [ "setarg", 21, 0, 18, 55, 7 ], [ "setarg", 21, 1, 19, 55, 7 ], [ "setarg", 21, 2, 20, 55, 7 ], [ "invoke", 21, 15, 55, 7 ], [ "jump", "call_done_17", 55, 7 ], "record_path_16", [ "load_field", 22, 16, "is_file", 55, 7 ], [ "frame", 23, 22, 1, 55, 7 ], [ "setarg", 23, 0, 16, 55, 7 ], [ "setarg", 23, 1, 8, 55, 7 ], [ "invoke", 23, 15, 55, 7 ], "call_done_17", [ "jump_false", 15, "if_else_14", 55, 7 ], [ "get", 25, 15, 1, 56, 18 ], [ "is_proxy", 26, 25, 56, 18 ], [ "jump_false", 26, "record_path_18", 56, 18 ], [ "null", 27, 56, 18 ], [ "access", 28, "slurp", 56, 18 ], [ "array", 29, 0, 56, 18 ], [ "push", 29, 8, 56, 18 ], [ "frame", 30, 25, 2, 56, 18 ], [ "setarg", 30, 0, 27, 56, 18 ], [ "setarg", 30, 1, 28, 56, 18 ], [ "setarg", 30, 2, 29, 56, 18 ], [ "invoke", 30, 24, 56, 18 ], [ "jump", "call_done_19", 56, 18 ], "record_path_18", [ "load_field", 31, 25, "slurp", 56, 18 ], [ "frame", 32, 31, 1, 56, 18 ], [ "setarg", 32, 0, 25, 56, 18 ], [ "setarg", 32, 1, 8, 56, 18 ], [ "invoke", 32, 24, 56, 18 ], "call_done_19", [ "move", 3, 24, 56, 18 ], [ "get", 34, 10, 1, 57, 12 ], [ "frame", 35, 34, 1, 57, 12 ], [ "null", 36, 57, 12 ], [ "setarg", 35, 0, 36, 57, 12 ], [ "setarg", 35, 1, 3, 57, 12 ], [ "invoke", 35, 33, 57, 12 ], [ "move", 4, 33, 57, 12 ], [ "get", 38, 12, 1, 58, 14 ], [ "frame", 39, 38, 1, 58, 14 ], [ "null", 40, 58, 14 ], [ "setarg", 39, 0, 40, 58, 14 ], [ "setarg", 39, 1, 4, 58, 14 ], [ "invoke", 39, 37, 58, 14 ], [ "move", 7, 37, 58, 14 ], [ "move", 41, 7, 59, 9 ], [ "jump_false", 41, "and_end_22", 59, 9 ], [ "get", 43, 15, 1, 59, 19 ], [ "is_proxy", 44, 43, 59, 19 ], [ "jump_false", 44, "record_path_23", 59, 19 ], [ "null", 45, 59, 19 ], [ "access", 46, "is_file", 59, 19 ], [ "array", 47, 0, 59, 19 ], [ "push", 47, 7, 59, 19 ], [ "frame", 48, 43, 2, 59, 19 ], [ "setarg", 48, 0, 45, 59, 19 ], [ "setarg", 48, 1, 46, 59, 19 ], [ "setarg", 48, 2, 47, 59, 19 ], [ "invoke", 48, 42, 59, 19 ], [ "jump", "call_done_24", 59, 19 ], "record_path_23", [ "load_field", 49, 43, "is_file", 59, 19 ], [ "frame", 50, 49, 1, 59, 19 ], [ "setarg", 50, 0, 43, 59, 19 ], [ "setarg", 50, 1, 7, 59, 19 ], [ "invoke", 50, 42, 59, 19 ], "call_done_24", [ "move", 41, 42, 59, 19 ], "and_end_22", [ "jump_false", 41, "if_else_20", 59, 19 ], [ "get", 52, 15, 1, 60, 24 ], [ "is_proxy", 53, 52, 60, 24 ], [ "jump_false", 53, "record_path_25", 60, 24 ], [ "null", 54, 60, 24 ], [ "access", 55, "slurp", 60, 24 ], [ "array", 56, 0, 60, 24 ], [ "push", 56, 7, 60, 24 ], [ "frame", 57, 52, 2, 60, 24 ], [ "setarg", 57, 0, 54, 60, 24 ], [ "setarg", 57, 1, 55, 60, 24 ], [ "setarg", 57, 2, 56, 60, 24 ], [ "invoke", 57, 51, 60, 24 ], [ "jump", "call_done_26", 60, 24 ], "record_path_25", [ "load_field", 58, 52, "slurp", 60, 24 ], [ "frame", 59, 58, 1, 60, 24 ], [ "setarg", 59, 0, 52, 60, 24 ], [ "setarg", 59, 1, 7, 60, 24 ], [ "invoke", 59, 51, 60, 24 ], "call_done_26", [ "access", 61, { "name": "mach_load", "kind": "name", "make": "intrinsic" }, 60, 14 ], [ "frame", 62, 61, 2, 60, 14 ], [ "null", 63, 60, 14 ], [ "setarg", 62, 0, 63, 60, 14 ], [ "setarg", 62, 1, 51, 60, 14 ], [ "setarg", 62, 2, 2, 60, 14 ], [ "tail_invoke", 62, 60, 60, 14 ], [ "return", 60, 60, 14 ], "_nop_ur_1", "if_else_20", "if_end_21", [ "access", 65, { "name": "text", "kind": "name", "make": "intrinsic" }, 62, 18 ], [ "frame", 66, 65, 1, 62, 18 ], [ "null", 67, 62, 18 ], [ "setarg", 66, 0, 67, 62, 18 ], [ "setarg", 66, 1, 3, 62, 18 ], [ "invoke", 66, 64, 62, 18 ], [ "move", 6, 64, 62, 18 ], [ "access", 69, { "name": "mach_compile_mcode_bin", "kind": "name", "make": "intrinsic" }, 63, 17 ], [ "frame", 70, 69, 2, 63, 17 ], [ "null", 71, 63, 17 ], [ "setarg", 70, 0, 71, 63, 17 ], [ "setarg", 70, 1, 1, 63, 17 ], [ "setarg", 70, 2, 6, 63, 17 ], [ "invoke", 70, 68, 63, 17 ], [ "move", 5, 68, 63, 17 ], [ "jump_false", 7, "if_else_27", 64, 9 ], [ "get", 73, 1, 1, 65, 7 ], [ "frame", 74, 73, 0, 65, 7 ], [ "null", 75, 65, 7 ], [ "setarg", 74, 0, 75, 65, 7 ], [ "invoke", 74, 72, 65, 7 ], [ "get", 77, 15, 1, 66, 7 ], [ "is_proxy", 78, 77, 66, 7 ], [ "jump_false", 78, "record_path_29", 66, 7 ], [ "null", 79, 66, 7 ], [ "access", 80, "slurpwrite", 66, 7 ], [ "array", 81, 0, 66, 7 ], [ "push", 81, 7, 66, 7 ], [ "push", 81, 5, 66, 7 ], [ "frame", 82, 77, 2, 66, 7 ], [ "setarg", 82, 0, 79, 66, 7 ], [ "setarg", 82, 1, 80, 66, 7 ], [ "setarg", 82, 2, 81, 66, 7 ], [ "invoke", 82, 76, 66, 7 ], [ "jump", "call_done_30", 66, 7 ], "record_path_29", [ "load_field", 83, 77, "slurpwrite", 66, 7 ], [ "frame", 84, 83, 2, 66, 7 ], [ "setarg", 84, 0, 77, 66, 7 ], [ "setarg", 84, 1, 7, 66, 7 ], [ "setarg", 84, 2, 5, 66, 7 ], [ "invoke", 84, 76, 66, 7 ], "call_done_30", [ "jump", "if_end_28", 66, 7 ], "if_else_27", "if_end_28", [ "access", 86, { "name": "mach_load", "kind": "name", "make": "intrinsic" }, 68, 12 ], [ "frame", 87, 86, 2, 68, 12 ], [ "null", 88, 68, 12 ], [ "setarg", 87, 0, 88, 68, 12 ], [ "setarg", 87, 1, 5, 68, 12 ], [ "setarg", 87, 2, 2, 68, 12 ], [ "tail_invoke", 87, 85, 68, 12 ], [ "return", 85, 68, 12 ], "_nop_ur_2", "if_else_14", "if_end_15", [ "access", 89, "error: missing bootstrap bytecode: ", 70, 9 ], [ "add", 90, 89, 1, 70, 49 ], [ "access", 91, "\n", 70, 56 ], [ "add", 92, 90, 91, 70, 56 ], [ "access", 94, { "name": "print", "kind": "name", "make": "intrinsic" }, 70, 3 ], [ "frame", 95, 94, 1, 70, 3 ], [ "null", 96, 70, 3 ], [ "setarg", 95, 0, 96, 70, 3 ], [ "setarg", 95, 1, 92, 70, 3 ], [ "invoke", 95, 93, 70, 3 ], [ "disrupt", 71, 3 ], [ "null", 97, 71, 3 ], [ "return", 97, 71, 3 ] ], "name": "boot_load", "filename": "internal/bootstrap.cm", "nr_args": 2 }, { "disruption_pc": 0, "nr_slots": 126, "nr_close_slots": 0, "instructions": [ [ "record", 9, 2 ], [ "access", 10, "tokenize.cm", 90, 11 ], [ "store_field", 9, 10, "src", 90, 11 ], [ "access", 11, "boot/tokenize.cm.mcode", 90, 33 ], [ "store_field", 9, 11, "mcode", 90, 33 ], [ "record", 12, 2 ], [ "access", 13, "parse.cm", 91, 11 ], [ "store_field", 12, 13, "src", 91, 11 ], [ "access", 14, "boot/parse.cm.mcode", 91, 30 ], [ "store_field", 12, 14, "mcode", 91, 30 ], [ "record", 15, 2 ], [ "access", 16, "fold.cm", 92, 11 ], [ "store_field", 15, 16, "src", 92, 11 ], [ "access", 17, "boot/fold.cm.mcode", 92, 29 ], [ "store_field", 15, 17, "mcode", 92, 29 ], [ "record", 18, 2 ], [ "access", 19, "mcode.cm", 93, 11 ], [ "store_field", 18, 19, "src", 93, 11 ], [ "access", 20, "boot/mcode.cm.mcode", 93, 30 ], [ "store_field", 18, 20, "mcode", 93, 30 ], [ "record", 21, 2 ], [ "access", 22, "streamline.cm", 94, 11 ], [ "store_field", 21, 22, "src", 94, 11 ], [ "access", 23, "boot/streamline.cm.mcode", 94, 35 ], [ "store_field", 21, 23, "mcode", 94, 35 ], [ "record", 24, 2 ], [ "access", 25, "qbe.cm", 95, 11 ], [ "store_field", 24, 25, "src", 95, 11 ], [ "access", 26, "boot/qbe.cm.mcode", 95, 28 ], [ "store_field", 24, 26, "mcode", 95, 28 ], [ "record", 27, 2 ], [ "access", 28, "qbe_emit.cm", 96, 11 ], [ "store_field", 27, 28, "src", 96, 11 ], [ "access", 29, "boot/qbe_emit.cm.mcode", 96, 33 ], [ "store_field", 27, 29, "mcode", 96, 33 ], [ "record", 30, 2 ], [ "access", 31, "verify_ir.cm", 97, 11 ], [ "store_field", 30, 31, "src", 97, 11 ], [ "access", 32, "boot/verify_ir.cm.mcode", 97, 34 ], [ "store_field", 30, 32, "mcode", 97, 34 ], [ "record", 33, 2 ], [ "access", 34, "internal/bootstrap.cm", 98, 11 ], [ "store_field", 33, 34, "src", 98, 11 ], [ "access", 35, "boot/bootstrap.cm.mcode", 98, 43 ], [ "store_field", 33, 35, "mcode", 98, 43 ], [ "record", 36, 2 ], [ "access", 37, "internal/engine.cm", 99, 11 ], [ "store_field", 36, 37, "src", 99, 11 ], [ "access", 38, "boot/engine.cm.mcode", 99, 40 ], [ "store_field", 36, 38, "mcode", 99, 40 ], [ "array", 39, 10, 99, 40 ], [ "push", 39, 9, 99, 40 ], [ "push", 39, 12, 99, 40 ], [ "push", 39, 15, 99, 40 ], [ "push", 39, 18, 99, 40 ], [ "push", 39, 21, 99, 40 ], [ "push", 39, 24, 99, 40 ], [ "push", 39, 27, 99, 40 ], [ "push", 39, 30, 99, 40 ], [ "push", 39, 33, 99, 40 ], [ "push", 39, 36, 99, 40 ], [ "move", 6, 39, 99, 40 ], [ "array", 40, 0, 101, 15 ], [ "move", 4, 40, 101, 15 ], [ "access", 7, 0, 102, 12 ], [ "null", 1, 103, 17 ], [ "null", 8, 104, 20 ], [ "null", 5, 105, 17 ], [ "null", 3, 106, 23 ], [ "null", 2, 107, 15 ], "while_start_31", [ "length", 41, 6, 108, 22 ], [ "is_int", 43, 7, 108, 22 ], [ "jump_false", 43, "rel_ni_33", 108, 22 ], "_nop_tc_1", "_nop_tc_2", [ "lt_int", 42, 7, 41, 108, 22 ], [ "jump", "rel_done_35", 108, 22 ], "rel_ni_33", [ "is_num", 43, 7, 108, 22 ], [ "jump_false", 43, "rel_nn_34", 108, 22 ], "_nop_tc_3", "_nop_tc_4", [ "lt_float", 42, 7, 41, 108, 22 ], [ "jump", "rel_done_35", 108, 22 ], "rel_nn_34", [ "is_text", 43, 7, 108, 22 ], [ "jump_false", 43, "rel_err_36", 108, 22 ], "_nop_tc_5", [ "jump", "rel_err_36", 108, 22 ], [ "lt_text", 42, 7, 41, 108, 22 ], [ "jump", "rel_done_35", 108, 22 ], "rel_err_36", [ "disrupt", 108, 22 ], "rel_done_35", [ "jump_false", 42, "while_end_32", 108, 22 ], [ "load_dynamic", 45, 6, 7, 109, 21 ], [ "move", 2, 45, 109, 21 ], [ "access", 46, { "name": "core_path", "kind": "name", "make": "intrinsic" }, 110, 15 ], [ "access", 47, "/", 110, 27 ], [ "add", 48, 46, 47, 110, 27 ], [ "load_field", 49, 2, "src", 110, 33 ], [ "add", 50, 48, 49, 110, 33 ], [ "move", 1, 50, 110, 33 ], [ "access", 51, { "name": "core_path", "kind": "name", "make": "intrinsic" }, 111, 18 ], [ "access", 52, "/", 111, 30 ], [ "add", 53, 51, 52, 111, 30 ], [ "load_field", 54, 2, "mcode", 111, 36 ], [ "add", 55, 53, 54, 111, 36 ], [ "move", 8, 55, 111, 36 ], [ "get", 57, 15, 1, 112, 9 ], [ "is_proxy", 58, 57, 112, 9 ], [ "jump_false", 58, "record_path_40", 112, 9 ], [ "null", 59, 112, 9 ], [ "access", 60, "is_file", 112, 9 ], [ "array", 61, 0, 112, 9 ], [ "push", 61, 8, 112, 9 ], [ "frame", 62, 57, 2, 112, 9 ], [ "setarg", 62, 0, 59, 112, 9 ], [ "setarg", 62, 1, 60, 112, 9 ], [ "setarg", 62, 2, 61, 112, 9 ], [ "invoke", 62, 56, 112, 9 ], [ "jump", "call_done_41", 112, 9 ], "record_path_40", [ "load_field", 63, 57, "is_file", 112, 9 ], [ "frame", 64, 63, 1, 112, 9 ], [ "setarg", 64, 0, 57, 112, 9 ], [ "setarg", 64, 1, 8, 112, 9 ], [ "invoke", 64, 56, 112, 9 ], "call_done_41", [ "move", 65, 56, 112, 9 ], [ "jump_false", 65, "and_end_39", 112, 9 ], [ "get", 67, 15, 1, 112, 35 ], [ "is_proxy", 68, 67, 112, 35 ], [ "jump_false", 68, "record_path_42", 112, 35 ], [ "null", 69, 112, 35 ], [ "access", 70, "is_file", 112, 35 ], [ "array", 71, 0, 112, 35 ], [ "push", 71, 1, 112, 35 ], [ "frame", 72, 67, 2, 112, 35 ], [ "setarg", 72, 0, 69, 112, 35 ], [ "setarg", 72, 1, 70, 112, 35 ], [ "setarg", 72, 2, 71, 112, 35 ], [ "invoke", 72, 66, 112, 35 ], [ "jump", "call_done_43", 112, 35 ], "record_path_42", [ "load_field", 73, 67, "is_file", 112, 35 ], [ "frame", 74, 73, 1, 112, 35 ], [ "setarg", 74, 0, 67, 112, 35 ], [ "setarg", 74, 1, 1, 112, 35 ], [ "invoke", 74, 66, 112, 35 ], "call_done_43", [ "move", 65, 66, 112, 35 ], "and_end_39", [ "jump_false", 65, "if_else_37", 112, 35 ], [ "get", 76, 15, 1, 113, 23 ], [ "is_proxy", 77, 76, 113, 23 ], [ "jump_false", 77, "record_path_44", 113, 23 ], [ "null", 78, 113, 23 ], [ "access", 79, "stat", 113, 23 ], [ "array", 80, 0, 113, 23 ], [ "push", 80, 8, 113, 23 ], [ "frame", 81, 76, 2, 113, 23 ], [ "setarg", 81, 0, 78, 113, 23 ], [ "setarg", 81, 1, 79, 113, 23 ], [ "setarg", 81, 2, 80, 113, 23 ], [ "invoke", 81, 75, 113, 23 ], [ "jump", "call_done_45", 113, 23 ], "record_path_44", [ "load_field", 82, 76, "stat", 113, 23 ], [ "frame", 83, 82, 1, 113, 23 ], [ "setarg", 83, 0, 76, 113, 23 ], [ "setarg", 83, 1, 8, 113, 23 ], [ "invoke", 83, 75, 113, 23 ], "call_done_45", [ "move", 3, 75, 113, 23 ], [ "get", 85, 15, 1, 114, 17 ], [ "is_proxy", 86, 85, 114, 17 ], [ "jump_false", 86, "record_path_46", 114, 17 ], [ "null", 87, 114, 17 ], [ "access", 88, "stat", 114, 17 ], [ "array", 89, 0, 114, 17 ], [ "push", 89, 1, 114, 17 ], [ "frame", 90, 85, 2, 114, 17 ], [ "setarg", 90, 0, 87, 114, 17 ], [ "setarg", 90, 1, 88, 114, 17 ], [ "setarg", 90, 2, 89, 114, 17 ], [ "invoke", 90, 84, 114, 17 ], [ "jump", "call_done_47", 114, 17 ], "record_path_46", [ "load_field", 91, 85, "stat", 114, 17 ], [ "frame", 92, 91, 1, 114, 17 ], [ "setarg", 92, 0, 85, 114, 17 ], [ "setarg", 92, 1, 1, 114, 17 ], [ "invoke", 92, 84, 114, 17 ], "call_done_47", [ "move", 5, 84, 114, 17 ], [ "load_field", 93, 5, "mtime", 115, 11 ], [ "load_field", 94, 3, "mtime", 115, 27 ], [ "is_int", 96, 93, 115, 27 ], [ "jump_false", 96, "rel_ni_50", 115, 27 ], [ "is_int", 97, 94, 115, 27 ], [ "jump_false", 97, "rel_ni_50", 115, 27 ], [ "gt_int", 95, 93, 94, 115, 27 ], [ "jump", "rel_done_52", 115, 27 ], "rel_ni_50", [ "is_num", 96, 93, 115, 27 ], [ "jump_false", 96, "rel_nn_51", 115, 27 ], [ "is_num", 97, 94, 115, 27 ], [ "jump_false", 97, "rel_nn_51", 115, 27 ], [ "gt_float", 95, 93, 94, 115, 27 ], [ "jump", "rel_done_52", 115, 27 ], "rel_nn_51", [ "is_text", 96, 93, 115, 27 ], [ "jump_false", 96, "rel_err_53", 115, 27 ], [ "is_text", 97, 94, 115, 27 ], [ "jump_false", 97, "rel_err_53", 115, 27 ], [ "gt_text", 95, 93, 94, 115, 27 ], [ "jump", "rel_done_52", 115, 27 ], "rel_err_53", [ "disrupt", 115, 27 ], "rel_done_52", [ "jump_false", 95, "if_else_48", 115, 27 ], [ "load_field", 98, 2, "src", 116, 21 ], [ "is_array", 99, 4, 116, 21 ], [ "jump_false", 99, "push_err_54", 116, 21 ], [ "push", 4, 98, 116, 21 ], [ "jump", "push_done_55", 116, 21 ], "push_err_54", [ "disrupt", 116, 21 ], "push_done_55", [ "jump", "if_end_49", 116, 21 ], "if_else_48", "if_end_49", [ "jump", "if_end_38", 116, 21 ], "if_else_37", "if_end_38", [ "access", 100, 1, 119, 15 ], [ "add", 101, 7, 100, 119, 15 ], [ "move", 7, 101, 119, 15 ], [ "jump", "while_start_31", 119, 15 ], "while_end_32", [ "length", 102, 4, 121, 14 ], [ "access", 103, 0, 121, 23 ], "_nop_tc_6", "_nop_tc_7", "_nop_tc_8", [ "jump", "rel_ni_58", 121, 23 ], [ "gt_int", 104, 102, 103, 121, 23 ], [ "jump", "rel_done_60", 121, 23 ], "rel_ni_58", "_nop_tc_9", "_nop_tc_10", "_nop_tc_11", "_nop_tc_12", [ "gt_float", 104, 102, 103, 121, 23 ], [ "jump", "rel_done_60", 121, 23 ], "rel_nn_59", "_nop_tc_13", [ "jump", "rel_err_61", 121, 23 ], "_nop_tc_14", [ "jump", "rel_err_61", 121, 23 ], [ "gt_text", 104, 102, 103, 121, 23 ], [ "jump", "rel_done_60", 121, 23 ], "rel_err_61", [ "disrupt", 121, 23 ], "rel_done_60", [ "jump_false", 104, "if_else_56", 121, 23 ], [ "access", 107, "warning: bytecode is stale for: ", 122, 11 ], [ "access", 108, ", ", 122, 60 ], [ "access", 110, { "name": "text", "kind": "name", "make": "intrinsic" }, 122, 48 ], [ "frame", 111, 110, 2, 122, 48 ], [ "null", 112, 122, 48 ], [ "setarg", 111, 0, 112, 122, 48 ], [ "setarg", 111, 1, 4, 122, 48 ], [ "setarg", 111, 2, 108, 122, 48 ], [ "invoke", 111, 109, 122, 48 ], [ "add", 113, 107, 109, 122, 48 ], [ "access", 114, "\n", 122, 68 ], [ "add", 115, 113, 114, 122, 68 ], [ "access", 117, { "name": "print", "kind": "name", "make": "intrinsic" }, 122, 5 ], [ "frame", 118, 117, 1, 122, 5 ], [ "null", 119, 122, 5 ], [ "setarg", 118, 0, 119, 122, 5 ], [ "setarg", 118, 1, 115, 122, 5 ], [ "invoke", 118, 116, 122, 5 ], [ "access", 120, "run 'make regen' to update\n", 123, 11 ], [ "access", 122, { "name": "print", "kind": "name", "make": "intrinsic" }, 123, 5 ], [ "frame", 123, 122, 1, 123, 5 ], [ "null", 124, 123, 5 ], [ "setarg", 123, 0, 124, 123, 5 ], [ "setarg", 123, 1, 120, 123, 5 ], [ "invoke", 123, 121, 123, 5 ], [ "jump", "if_end_57", 123, 5 ], "if_else_56", "if_end_57", [ "null", 125, 123, 5 ], [ "return", 125, 123, 5 ] ], "name": "check_mach_stale", "filename": "internal/bootstrap.cm", "nr_args": 0 }, { "disruption_pc": 0, "nr_slots": 96, "nr_close_slots": 0, "instructions": [ [ "get", 14, 3, 1, 130, 20 ], [ "frame", 15, 14, 2, 130, 20 ], [ "null", 16, 130, 20 ], [ "setarg", 15, 0, 16, 130, 20 ], [ "setarg", 15, 1, 1, 130, 20 ], [ "setarg", 15, 2, 2, 130, 20 ], [ "invoke", 15, 13, 130, 20 ], [ "move", 4, 13, 130, 20 ], [ "load_field", 17, 4, "tokens", 131, 23 ], [ "get", 18, 3, 1, 131, 57 ], [ "get", 20, 27, 1, 131, 13 ], [ "frame", 21, 20, 4, 131, 13 ], [ "null", 22, 131, 13 ], [ "setarg", 21, 0, 22, 131, 13 ], [ "setarg", 21, 1, 17, 131, 13 ], [ "setarg", 21, 2, 1, 131, 13 ], [ "setarg", 21, 3, 2, 131, 13 ], [ "setarg", 21, 4, 18, 131, 13 ], [ "invoke", 21, 19, 131, 13 ], [ "move", 10, 19, 131, 13 ], [ "access", 7, 0, 132, 12 ], [ "access", 11, -1, 133, 19 ], [ "null", 5, 134, 18 ], [ "null", 12, 135, 11 ], [ "null", 3, 136, 13 ], [ "null", 6, 137, 14 ], [ "null", 8, 138, 13 ], [ "load_field", 23, 10, "errors", 139, 20 ], [ "null", 24, 139, 34 ], [ "is_identical", 25, 23, 24, 139, 34 ], [ "jump_true", 25, "ne_nid_64", 139, 34 ], [ "jump", "ne_ni_65", 139, 34 ], "ne_nid_64", [ "false", 25, 139, 34 ], [ "jump", "ne_done_63", 139, 34 ], "ne_ni_65", [ "is_int", 26, 23, 139, 34 ], [ "jump_false", 26, "ne_nn_66", 139, 34 ], "_nop_tc_1", [ "jump", "ne_nn_66", 139, 34 ], [ "ne_int", 25, 23, 24, 139, 34 ], [ "jump", "ne_done_63", 139, 34 ], "ne_nn_66", [ "is_num", 26, 23, 139, 34 ], [ "jump_false", 26, "ne_nt_67", 139, 34 ], "_nop_tc_2", [ "jump", "ne_nt_67", 139, 34 ], [ "ne_float", 25, 23, 24, 139, 34 ], [ "jump", "ne_done_63", 139, 34 ], "ne_nt_67", [ "is_text", 26, 23, 139, 34 ], [ "jump_false", 26, "ne_nnl_68", 139, 34 ], "_nop_tc_3", [ "jump", "ne_nnl_68", 139, 34 ], [ "ne_text", 25, 23, 24, 139, 34 ], [ "jump", "ne_done_63", 139, 34 ], "ne_nnl_68", [ "is_null", 26, 23, 139, 34 ], [ "jump_false", 26, "ne_nb_69", 139, 34 ], "_nop_tc_4", "_nop_tc_5", [ "false", 25, 139, 34 ], [ "jump", "ne_done_63", 139, 34 ], "ne_nb_69", [ "is_bool", 26, 23, 139, 34 ], [ "jump_false", 26, "ne_mis_70", 139, 34 ], "_nop_tc_6", [ "jump", "ne_mis_70", 139, 34 ], [ "ne_bool", 25, 23, 24, 139, 34 ], [ "jump", "ne_done_63", 139, 34 ], "ne_mis_70", [ "true", 25, 139, 34 ], "ne_done_63", [ "move", 28, 25, 139, 34 ], [ "jump_false", 28, "and_end_62", 139, 34 ], [ "load_field", 29, 10, "errors", 139, 49 ], [ "length", 30, 29, 139, 49 ], [ "access", 31, 0, 139, 63 ], "_nop_tc_7", "_nop_tc_8", "_nop_tc_9", [ "jump", "rel_ni_71", 139, 63 ], [ "gt_int", 32, 30, 31, 139, 63 ], [ "jump", "rel_done_73", 139, 63 ], "rel_ni_71", "_nop_tc_10", "_nop_tc_11", "_nop_tc_12", "_nop_tc_13", [ "gt_float", 32, 30, 31, 139, 63 ], [ "jump", "rel_done_73", 139, 63 ], "rel_nn_72", "_nop_tc_14", [ "jump", "rel_err_74", 139, 63 ], "_nop_tc_15", [ "jump", "rel_err_74", 139, 63 ], [ "gt_text", 32, 30, 31, 139, 63 ], [ "jump", "rel_done_73", 139, 63 ], "rel_err_74", [ "disrupt", 139, 63 ], "rel_done_73", [ "move", 28, 32, 139, 63 ], "and_end_62", [ "move", 9, 28, 139, 63 ], [ "jump_false", 9, "if_else_75", 140, 7 ], "while_start_77", [ "load_field", 35, 10, "errors", 141, 24 ], [ "length", 36, 35, 141, 24 ], [ "is_int", 38, 7, 141, 24 ], [ "jump_false", 38, "rel_ni_79", 141, 24 ], "_nop_tc_16", "_nop_tc_17", [ "lt_int", 37, 7, 36, 141, 24 ], [ "jump", "rel_done_81", 141, 24 ], "rel_ni_79", [ "is_num", 38, 7, 141, 24 ], [ "jump_false", 38, "rel_nn_80", 141, 24 ], "_nop_tc_18", "_nop_tc_19", [ "lt_float", 37, 7, 36, 141, 24 ], [ "jump", "rel_done_81", 141, 24 ], "rel_nn_80", [ "is_text", 38, 7, 141, 24 ], [ "jump_false", 38, "rel_err_82", 141, 24 ], "_nop_tc_20", [ "jump", "rel_err_82", 141, 24 ], [ "lt_text", 37, 7, 36, 141, 24 ], [ "jump", "rel_done_81", 141, 24 ], "rel_err_82", [ "disrupt", 141, 24 ], "rel_done_81", [ "jump_false", 37, "while_end_78", 141, 24 ], [ "load_field", 40, 10, "errors", 142, 11 ], [ "load_dynamic", 41, 40, 7, 142, 22 ], [ "move", 12, 41, 142, 22 ], [ "load_field", 42, 12, "message", 143, 13 ], [ "move", 3, 42, 143, 13 ], [ "load_field", 43, 12, "line", 144, 14 ], [ "move", 6, 43, 144, 14 ], [ "load_field", 44, 12, "column", 145, 13 ], [ "move", 8, 44, 145, 13 ], [ "is_identical", 45, 3, 5, 146, 18 ], [ "jump_true", 45, "ne_nid_87", 146, 18 ], [ "jump", "ne_ni_88", 146, 18 ], "ne_nid_87", [ "false", 45, 146, 18 ], [ "jump", "ne_done_86", 146, 18 ], "ne_ni_88", [ "is_int", 46, 3, 146, 18 ], [ "jump_false", 46, "ne_nn_89", 146, 18 ], [ "is_int", 47, 5, 146, 18 ], [ "jump_false", 47, "ne_nn_89", 146, 18 ], [ "ne_int", 45, 3, 5, 146, 18 ], [ "jump", "ne_done_86", 146, 18 ], "ne_nn_89", [ "is_num", 46, 3, 146, 18 ], [ "jump_false", 46, "ne_nt_90", 146, 18 ], [ "is_num", 47, 5, 146, 18 ], [ "jump_false", 47, "ne_nt_90", 146, 18 ], [ "ne_float", 45, 3, 5, 146, 18 ], [ "jump", "ne_done_86", 146, 18 ], "ne_nt_90", [ "is_text", 46, 3, 146, 18 ], [ "jump_false", 46, "ne_nnl_91", 146, 18 ], [ "is_text", 47, 5, 146, 18 ], [ "jump_false", 47, "ne_nnl_91", 146, 18 ], [ "ne_text", 45, 3, 5, 146, 18 ], [ "jump", "ne_done_86", 146, 18 ], "ne_nnl_91", [ "is_null", 46, 3, 146, 18 ], [ "jump_false", 46, "ne_nb_92", 146, 18 ], [ "is_null", 47, 5, 146, 18 ], [ "jump_false", 47, "ne_nb_92", 146, 18 ], [ "false", 45, 146, 18 ], [ "jump", "ne_done_86", 146, 18 ], "ne_nb_92", [ "is_bool", 46, 3, 146, 18 ], [ "jump_false", 46, "ne_mis_93", 146, 18 ], [ "is_bool", 47, 5, 146, 18 ], [ "jump_false", 47, "ne_mis_93", 146, 18 ], [ "ne_bool", 45, 3, 5, 146, 18 ], [ "jump", "ne_done_86", 146, 18 ], "ne_mis_93", [ "true", 45, 146, 18 ], "ne_done_86", [ "move", 48, 45, 146, 18 ], [ "jump_true", 48, "or_end_85", 146, 18 ], [ "is_identical", 49, 6, 11, 146, 38 ], [ "jump_true", 49, "ne_nid_95", 146, 38 ], [ "jump", "ne_ni_96", 146, 38 ], "ne_nid_95", [ "false", 49, 146, 38 ], [ "jump", "ne_done_94", 146, 38 ], "ne_ni_96", [ "is_int", 50, 6, 146, 38 ], [ "jump_false", 50, "ne_nn_97", 146, 38 ], [ "is_int", 51, 11, 146, 38 ], [ "jump_false", 51, "ne_nn_97", 146, 38 ], [ "ne_int", 49, 6, 11, 146, 38 ], [ "jump", "ne_done_94", 146, 38 ], "ne_nn_97", [ "is_num", 50, 6, 146, 38 ], [ "jump_false", 50, "ne_nt_98", 146, 38 ], [ "is_num", 51, 11, 146, 38 ], [ "jump_false", 51, "ne_nt_98", 146, 38 ], [ "ne_float", 49, 6, 11, 146, 38 ], [ "jump", "ne_done_94", 146, 38 ], "ne_nt_98", [ "is_text", 50, 6, 146, 38 ], [ "jump_false", 50, "ne_nnl_99", 146, 38 ], [ "is_text", 51, 11, 146, 38 ], [ "jump_false", 51, "ne_nnl_99", 146, 38 ], [ "ne_text", 49, 6, 11, 146, 38 ], [ "jump", "ne_done_94", 146, 38 ], "ne_nnl_99", [ "is_null", 50, 6, 146, 38 ], [ "jump_false", 50, "ne_nb_100", 146, 38 ], [ "is_null", 51, 11, 146, 38 ], [ "jump_false", 51, "ne_nb_100", 146, 38 ], [ "false", 49, 146, 38 ], [ "jump", "ne_done_94", 146, 38 ], "ne_nb_100", [ "is_bool", 50, 6, 146, 38 ], [ "jump_false", 50, "ne_mis_101", 146, 38 ], [ "is_bool", 51, 11, 146, 38 ], [ "jump_false", 51, "ne_mis_101", 146, 38 ], [ "ne_bool", 49, 6, 11, 146, 38 ], [ "jump", "ne_done_94", 146, 38 ], "ne_mis_101", [ "true", 49, 146, 38 ], "ne_done_94", [ "move", 48, 49, 146, 38 ], "or_end_85", [ "jump_false", 48, "if_else_83", 146, 38 ], [ "null", 52, 147, 21 ], [ "is_identical", 53, 6, 52, 147, 21 ], [ "jump_true", 53, "ne_nid_106", 147, 21 ], [ "jump", "ne_ni_107", 147, 21 ], "ne_nid_106", [ "false", 53, 147, 21 ], [ "jump", "ne_done_105", 147, 21 ], "ne_ni_107", [ "is_int", 54, 6, 147, 21 ], [ "jump_false", 54, "ne_nn_108", 147, 21 ], "_nop_tc_21", [ "jump", "ne_nn_108", 147, 21 ], [ "ne_int", 53, 6, 52, 147, 21 ], [ "jump", "ne_done_105", 147, 21 ], "ne_nn_108", [ "is_num", 54, 6, 147, 21 ], [ "jump_false", 54, "ne_nt_109", 147, 21 ], "_nop_tc_22", [ "jump", "ne_nt_109", 147, 21 ], [ "ne_float", 53, 6, 52, 147, 21 ], [ "jump", "ne_done_105", 147, 21 ], "ne_nt_109", [ "is_text", 54, 6, 147, 21 ], [ "jump_false", 54, "ne_nnl_110", 147, 21 ], "_nop_tc_23", [ "jump", "ne_nnl_110", 147, 21 ], [ "ne_text", 53, 6, 52, 147, 21 ], [ "jump", "ne_done_105", 147, 21 ], "ne_nnl_110", [ "is_null", 54, 6, 147, 21 ], [ "jump_false", 54, "ne_nb_111", 147, 21 ], "_nop_tc_24", "_nop_tc_25", [ "false", 53, 147, 21 ], [ "jump", "ne_done_105", 147, 21 ], "ne_nb_111", [ "is_bool", 54, 6, 147, 21 ], [ "jump_false", 54, "ne_mis_112", 147, 21 ], "_nop_tc_26", [ "jump", "ne_mis_112", 147, 21 ], [ "ne_bool", 53, 6, 52, 147, 21 ], [ "jump", "ne_done_105", 147, 21 ], "ne_mis_112", [ "true", 53, 147, 21 ], "ne_done_105", [ "move", 56, 53, 147, 21 ], [ "jump_false", 56, "and_end_104", 147, 21 ], [ "null", 57, 147, 36 ], [ "is_identical", 58, 8, 57, 147, 36 ], [ "jump_true", 58, "ne_nid_114", 147, 36 ], [ "jump", "ne_ni_115", 147, 36 ], "ne_nid_114", [ "false", 58, 147, 36 ], [ "jump", "ne_done_113", 147, 36 ], "ne_ni_115", [ "is_int", 59, 8, 147, 36 ], [ "jump_false", 59, "ne_nn_116", 147, 36 ], "_nop_tc_27", [ "jump", "ne_nn_116", 147, 36 ], [ "ne_int", 58, 8, 57, 147, 36 ], [ "jump", "ne_done_113", 147, 36 ], "ne_nn_116", [ "is_num", 59, 8, 147, 36 ], [ "jump_false", 59, "ne_nt_117", 147, 36 ], "_nop_tc_28", [ "jump", "ne_nt_117", 147, 36 ], [ "ne_float", 58, 8, 57, 147, 36 ], [ "jump", "ne_done_113", 147, 36 ], "ne_nt_117", [ "is_text", 59, 8, 147, 36 ], [ "jump_false", 59, "ne_nnl_118", 147, 36 ], "_nop_tc_29", [ "jump", "ne_nnl_118", 147, 36 ], [ "ne_text", 58, 8, 57, 147, 36 ], [ "jump", "ne_done_113", 147, 36 ], "ne_nnl_118", [ "is_null", 59, 8, 147, 36 ], [ "jump_false", 59, "ne_nb_119", 147, 36 ], "_nop_tc_30", "_nop_tc_31", [ "false", 58, 147, 36 ], [ "jump", "ne_done_113", 147, 36 ], "ne_nb_119", [ "is_bool", 59, 8, 147, 36 ], [ "jump_false", 59, "ne_mis_120", 147, 36 ], "_nop_tc_32", [ "jump", "ne_mis_120", 147, 36 ], [ "ne_bool", 58, 8, 57, 147, 36 ], [ "jump", "ne_done_113", 147, 36 ], "ne_mis_120", [ "true", 58, 147, 36 ], "ne_done_113", [ "move", 56, 58, 147, 36 ], "and_end_104", [ "jump_false", 56, "if_else_102", 147, 36 ], [ "access", 62, { "name": "text", "kind": "name", "make": "intrinsic" }, 1, 1 ], [ "frame", 63, 62, 1, 1, 1 ], [ "null", 64, 1, 1 ], [ "setarg", 63, 0, 64, 1, 1 ], [ "setarg", 63, 1, 6, 1, 1 ], [ "invoke", 63, 61, 1, 1 ], [ "access", 66, { "name": "text", "kind": "name", "make": "intrinsic" }, 1, 1 ], [ "frame", 67, 66, 1, 1, 1 ], [ "null", 68, 1, 1 ], [ "setarg", 67, 0, 68, 1, 1 ], [ "setarg", 67, 1, 8, 1, 1 ], [ "invoke", 67, 65, 1, 1 ], [ "array", 69, 0, 1, 1 ], [ "push", 69, 2, 1, 1 ], [ "push", 69, 61, 1, 1 ], [ "push", 69, 65, 1, 1 ], [ "push", 69, 3, 1, 1 ], [ "access", 70, { "name": "format", "kind": "name", "make": "intrinsic" }, 1, 1 ], [ "access", 71, "{0}:{1}:{2}: error: {3}", 1, 1 ], [ "frame", 73, 70, 2, 1, 1 ], [ "null", 74, 1, 1 ], [ "setarg", 73, 0, 74, 1, 1 ], [ "setarg", 73, 1, 71, 1, 1 ], [ "setarg", 73, 2, 69, 1, 1 ], [ "invoke", 73, 72, 1, 1 ], [ "access", 76, { "name": "print", "kind": "name", "make": "intrinsic" }, 148, 11 ], [ "frame", 77, 76, 1, 148, 11 ], [ "null", 78, 148, 11 ], [ "setarg", 77, 0, 78, 148, 11 ], [ "setarg", 77, 1, 72, 148, 11 ], [ "invoke", 77, 75, 148, 11 ], [ "jump", "if_end_103", 148, 11 ], "if_else_102", [ "array", 79, 0, 1, 1 ], [ "push", 79, 2, 1, 1 ], [ "push", 79, 3, 1, 1 ], [ "access", 80, { "name": "format", "kind": "name", "make": "intrinsic" }, 1, 1 ], [ "access", 81, "{0}: error: {1}", 1, 1 ], [ "frame", 83, 80, 2, 1, 1 ], [ "null", 84, 1, 1 ], [ "setarg", 83, 0, 84, 1, 1 ], [ "setarg", 83, 1, 81, 1, 1 ], [ "setarg", 83, 2, 79, 1, 1 ], [ "invoke", 83, 82, 1, 1 ], [ "access", 86, { "name": "print", "kind": "name", "make": "intrinsic" }, 150, 11 ], [ "frame", 87, 86, 1, 150, 11 ], [ "null", 88, 150, 11 ], [ "setarg", 87, 0, 88, 150, 11 ], [ "setarg", 87, 1, 82, 150, 11 ], [ "invoke", 87, 85, 150, 11 ], "if_end_103", [ "jump", "if_end_84", 150, 11 ], "if_else_83", "if_end_84", [ "move", 11, 6, 153, 19 ], [ "move", 5, 3, 154, 18 ], [ "access", 89, 1, 155, 17 ], [ "add", 90, 7, 89, 155, 17 ], [ "move", 7, 90, 155, 17 ], [ "jump", "while_start_77", 155, 17 ], "while_end_78", [ "disrupt", 157, 5 ], [ "jump", "if_end_76", 157, 5 ], "if_else_75", "if_end_76", [ "get", 92, 14, 1, 159, 9 ], [ "frame", 93, 92, 1, 159, 9 ], [ "null", 94, 159, 9 ], [ "setarg", 93, 0, 94, 159, 9 ], [ "setarg", 93, 1, 10, 159, 9 ], [ "invoke", 93, 91, 159, 9 ], [ "move", 10, 91, 159, 9 ], [ "return", 10, 160, 10 ], "_nop_ur_1", "_nop_ur_2" ], "name": "analyze", "filename": "internal/bootstrap.cm", "nr_args": 2 }, { "disruption_pc": 0, "nr_slots": 52, "nr_close_slots": 0, "instructions": [ [ "get", 9, 5, 1, 172, 18 ], [ "frame", 10, 9, 1, 172, 18 ], [ "null", 11, 172, 18 ], [ "setarg", 10, 0, 11, 172, 18 ], [ "setarg", 10, 1, 2, 172, 18 ], [ "invoke", 10, 8, 172, 18 ], [ "move", 4, 8, 172, 18 ], [ "access", 12, { "name": "os", "kind": "name", "make": "intrinsic" }, 173, 7 ], [ "load_field", 13, 12, "_verify_ir", 173, 7 ], [ "jump_false", 13, "if_else_121", 173, 7 ], [ "get", 14, 16, 1, 174, 9 ], [ "null", 15, 174, 27 ], [ "is_identical", 16, 14, 15, 174, 27 ], [ "jump_true", 16, "eq_done_125", 174, 27 ], [ "is_int", 17, 14, 174, 27 ], [ "jump_false", 17, "eq_ni_126", 174, 27 ], "_nop_tc_1", [ "jump", "eq_ni_126", 174, 27 ], [ "eq_int", 16, 14, 15, 174, 27 ], [ "jump", "eq_done_125", 174, 27 ], "eq_ni_126", [ "is_num", 17, 14, 174, 27 ], [ "jump_false", 17, "eq_nn_127", 174, 27 ], "_nop_tc_2", [ "jump", "eq_nn_127", 174, 27 ], [ "eq_float", 16, 14, 15, 174, 27 ], [ "jump", "eq_done_125", 174, 27 ], "eq_nn_127", [ "is_text", 17, 14, 174, 27 ], [ "jump_false", 17, "eq_nt_128", 174, 27 ], "_nop_tc_3", [ "jump", "eq_nt_128", 174, 27 ], [ "eq_text", 16, 14, 15, 174, 27 ], [ "jump", "eq_done_125", 174, 27 ], "eq_nt_128", [ "is_null", 17, 14, 174, 27 ], [ "jump_false", 17, "eq_nnl_129", 174, 27 ], "_nop_tc_4", "_nop_tc_5", [ "true", 16, 174, 27 ], [ "jump", "eq_done_125", 174, 27 ], "eq_nnl_129", [ "is_bool", 17, 14, 174, 27 ], [ "jump_false", 17, "eq_nb_130", 174, 27 ], "_nop_tc_6", [ "jump", "eq_nb_130", 174, 27 ], [ "eq_bool", 16, 14, 15, 174, 27 ], [ "jump", "eq_done_125", 174, 27 ], "eq_nb_130", [ "false", 16, 174, 27 ], "eq_done_125", [ "jump_false", 16, "if_else_123", 174, 27 ], [ "access", 19, "verify_ir", 175, 34 ], [ "get", 20, 9, 1, 175, 47 ], [ "get", 22, 2, 1, 175, 24 ], [ "frame", 23, 22, 2, 175, 24 ], [ "null", 24, 175, 24 ], [ "setarg", 23, 0, 24, 175, 24 ], [ "setarg", 23, 1, 19, 175, 24 ], [ "setarg", 23, 2, 20, 175, 24 ], [ "invoke", 23, 21, 175, 24 ], [ "put", 21, 16, 1, 175, 24 ], [ "jump", "if_end_124", 175, 24 ], "if_else_123", "if_end_124", [ "true", 25, 177, 24 ], [ "store_field", 4, 25, "_verify", 177, 5 ], [ "get", 26, 16, 1, 178, 28 ], [ "store_field", 4, 26, "_verify_mod", 178, 5 ], [ "jump", "if_end_122", 178, 5 ], "if_else_121", "if_end_122", [ "get", 28, 23, 1, 180, 19 ], [ "frame", 29, 28, 1, 180, 19 ], [ "null", 30, 180, 19 ], [ "setarg", 29, 0, 30, 180, 19 ], [ "setarg", 29, 1, 4, 180, 19 ], [ "invoke", 29, 27, 180, 19 ], [ "move", 7, 27, 180, 19 ], [ "load_field", 31, 7, "_verify", 182, 7 ], [ "jump_false", 31, "if_else_131", 182, 7 ], [ "delete", 32, 7, "_verify" ], [ "delete", 33, 7, "_verify_mod" ], [ "jump", "if_end_132", 184, 12 ], "if_else_131", "if_end_132", [ "get", 35, 22, 1, 186, 20 ], [ "is_proxy", 36, 35, 186, 20 ], [ "jump_false", 36, "record_path_133", 186, 20 ], [ "null", 37, 186, 20 ], [ "access", 38, "encode", 186, 20 ], [ "array", 39, 0, 186, 20 ], [ "push", 39, 7, 186, 20 ], [ "frame", 40, 35, 2, 186, 20 ], [ "setarg", 40, 0, 37, 186, 20 ], [ "setarg", 40, 1, 38, 186, 20 ], [ "setarg", 40, 2, 39, 186, 20 ], [ "invoke", 40, 34, 186, 20 ], [ "jump", "call_done_134", 186, 20 ], "record_path_133", [ "load_field", 41, 35, "encode", 186, 20 ], [ "frame", 42, 41, 1, 186, 20 ], [ "setarg", 42, 0, 35, 186, 20 ], [ "setarg", 42, 1, 7, 186, 20 ], [ "invoke", 42, 34, 186, 20 ], "call_done_134", [ "move", 5, 34, 186, 20 ], [ "access", 44, { "name": "mach_compile_mcode_bin", "kind": "name", "make": "intrinsic" }, 187, 19 ], [ "frame", 45, 44, 2, 187, 19 ], [ "null", 46, 187, 19 ], [ "setarg", 45, 0, 46, 187, 19 ], [ "setarg", 45, 1, 1, 187, 19 ], [ "setarg", 45, 2, 5, 187, 19 ], [ "invoke", 45, 43, 187, 19 ], [ "move", 6, 43, 187, 19 ], [ "access", 48, { "name": "mach_load", "kind": "name", "make": "intrinsic" }, 188, 10 ], [ "frame", 49, 48, 2, 188, 10 ], [ "null", 50, 188, 10 ], [ "setarg", 49, 0, 50, 188, 10 ], [ "setarg", 49, 1, 6, 188, 10 ], [ "setarg", 49, 2, 3, 188, 10 ], [ "tail_invoke", 49, 47, 188, 10 ], [ "return", 47, 188, 10 ], "_nop_ur_1", "_nop_ur_2" ], "name": "run_ast", "filename": "internal/bootstrap.cm", "nr_args": 3 }, { "disruption_pc": 0, "nr_slots": 29, "nr_close_slots": 0, "instructions": [ [ "get", 8, 5, 1, 193, 18 ], [ "frame", 9, 8, 1, 193, 18 ], [ "null", 10, 193, 18 ], [ "setarg", 9, 0, 10, 193, 18 ], [ "setarg", 9, 1, 2, 193, 18 ], [ "invoke", 9, 7, 193, 18 ], [ "move", 4, 7, 193, 18 ], [ "get", 12, 22, 1, 194, 20 ], [ "is_proxy", 13, 12, 194, 20 ], [ "jump_false", 13, "record_path_135", 194, 20 ], [ "null", 14, 194, 20 ], [ "access", 15, "encode", 194, 20 ], [ "array", 16, 0, 194, 20 ], [ "push", 16, 4, 194, 20 ], [ "frame", 17, 12, 2, 194, 20 ], [ "setarg", 17, 0, 14, 194, 20 ], [ "setarg", 17, 1, 15, 194, 20 ], [ "setarg", 17, 2, 16, 194, 20 ], [ "invoke", 17, 11, 194, 20 ], [ "jump", "call_done_136", 194, 20 ], "record_path_135", [ "load_field", 18, 12, "encode", 194, 20 ], [ "frame", 19, 18, 1, 194, 20 ], [ "setarg", 19, 0, 12, 194, 20 ], [ "setarg", 19, 1, 4, 194, 20 ], [ "invoke", 19, 11, 194, 20 ], "call_done_136", [ "move", 5, 11, 194, 20 ], [ "access", 21, { "name": "mach_compile_mcode_bin", "kind": "name", "make": "intrinsic" }, 195, 19 ], [ "frame", 22, 21, 2, 195, 19 ], [ "null", 23, 195, 19 ], [ "setarg", 22, 0, 23, 195, 19 ], [ "setarg", 22, 1, 1, 195, 19 ], [ "setarg", 22, 2, 5, 195, 19 ], [ "invoke", 22, 20, 195, 19 ], [ "move", 6, 20, 195, 19 ], [ "access", 25, { "name": "mach_load", "kind": "name", "make": "intrinsic" }, 196, 10 ], [ "frame", 26, 25, 2, 196, 10 ], [ "null", 27, 196, 10 ], [ "setarg", 26, 0, 27, 196, 10 ], [ "setarg", 26, 1, 6, 196, 10 ], [ "setarg", 26, 2, 3, 196, 10 ], [ "tail_invoke", 26, 24, 196, 10 ], [ "return", 24, 196, 10 ], "_nop_ur_1", "_nop_ur_2" ], "name": "run_ast_noopt", "filename": "internal/bootstrap.cm", "nr_args": 3 }, { "disruption_pc": 0, "nr_slots": 27, "nr_close_slots": 0, "instructions": [ [ "get", 6, 5, 1, 201, 18 ], [ "frame", 7, 6, 1, 201, 18 ], [ "null", 8, 201, 18 ], [ "setarg", 7, 0, 8, 201, 18 ], [ "setarg", 7, 1, 2, 201, 18 ], [ "invoke", 7, 5, 201, 18 ], [ "move", 3, 5, 201, 18 ], [ "get", 10, 23, 1, 202, 19 ], [ "frame", 11, 10, 1, 202, 19 ], [ "null", 12, 202, 19 ], [ "setarg", 11, 0, 12, 202, 19 ], [ "setarg", 11, 1, 3, 202, 19 ], [ "invoke", 11, 9, 202, 19 ], [ "move", 4, 9, 202, 19 ], [ "get", 14, 22, 1, 203, 39 ], [ "is_proxy", 15, 14, 203, 39 ], [ "jump_false", 15, "record_path_137", 203, 39 ], [ "null", 16, 203, 39 ], [ "access", 17, "encode", 203, 39 ], [ "array", 18, 0, 203, 39 ], [ "push", 18, 4, 203, 39 ], [ "frame", 19, 14, 2, 203, 39 ], [ "setarg", 19, 0, 16, 203, 39 ], [ "setarg", 19, 1, 17, 203, 39 ], [ "setarg", 19, 2, 18, 203, 39 ], [ "invoke", 19, 13, 203, 39 ], [ "jump", "call_done_138", 203, 39 ], "record_path_137", [ "load_field", 20, 14, "encode", 203, 39 ], [ "frame", 21, 20, 1, 203, 39 ], [ "setarg", 21, 0, 14, 203, 39 ], [ "setarg", 21, 1, 4, 203, 39 ], [ "invoke", 21, 13, 203, 39 ], "call_done_138", [ "access", 23, { "name": "mach_compile_mcode_bin", "kind": "name", "make": "intrinsic" }, 203, 10 ], [ "frame", 24, 23, 2, 203, 10 ], [ "null", 25, 203, 10 ], [ "setarg", 24, 0, 25, 203, 10 ], [ "setarg", 24, 1, 1, 203, 10 ], [ "setarg", 24, 2, 13, 203, 10 ], [ "tail_invoke", 24, 22, 203, 10 ], [ "return", 22, 203, 10 ], "_nop_ur_1", "_nop_ur_2" ], "name": "compile_to_blob", "filename": "internal/bootstrap.cm", "nr_args": 2 }, { "disruption_pc": 0, "nr_slots": 115, "nr_close_slots": 0, "instructions": [ [ "access", 11, { "name": "core_path", "kind": "name", "make": "intrinsic" }, 208, 20 ], [ "access", 12, "/boot/engine.cm.mcode", 208, 32 ], [ "add", 13, 11, 12, 208, 32 ], [ "move", 10, 13, 208, 32 ], [ "null", 2, 209, 20 ], [ "null", 3, 210, 14 ], [ "null", 9, 211, 16 ], [ "null", 7, 212, 20 ], [ "null", 8, 213, 19 ], [ "null", 4, 214, 20 ], [ "null", 5, 215, 20 ], [ "get", 15, 15, 1, 216, 7 ], [ "is_proxy", 16, 15, 216, 7 ], [ "jump_false", 16, "record_path_141", 216, 7 ], [ "null", 17, 216, 7 ], [ "access", 18, "is_file", 216, 7 ], [ "array", 19, 0, 216, 7 ], [ "push", 19, 10, 216, 7 ], [ "frame", 20, 15, 2, 216, 7 ], [ "setarg", 20, 0, 17, 216, 7 ], [ "setarg", 20, 1, 18, 216, 7 ], [ "setarg", 20, 2, 19, 216, 7 ], [ "invoke", 20, 14, 216, 7 ], [ "jump", "call_done_142", 216, 7 ], "record_path_141", [ "load_field", 21, 15, "is_file", 216, 7 ], [ "frame", 22, 21, 1, 216, 7 ], [ "setarg", 22, 0, 15, 216, 7 ], [ "setarg", 22, 1, 10, 216, 7 ], [ "invoke", 22, 14, 216, 7 ], "call_done_142", [ "jump_false", 14, "if_else_139", 216, 7 ], [ "get", 24, 15, 1, 217, 18 ], [ "is_proxy", 25, 24, 217, 18 ], [ "jump_false", 25, "record_path_143", 217, 18 ], [ "null", 26, 217, 18 ], [ "access", 27, "slurp", 217, 18 ], [ "array", 28, 0, 217, 18 ], [ "push", 28, 10, 217, 18 ], [ "frame", 29, 24, 2, 217, 18 ], [ "setarg", 29, 0, 26, 217, 18 ], [ "setarg", 29, 1, 27, 217, 18 ], [ "setarg", 29, 2, 28, 217, 18 ], [ "invoke", 29, 23, 217, 18 ], [ "jump", "call_done_144", 217, 18 ], "record_path_143", [ "load_field", 30, 24, "slurp", 217, 18 ], [ "frame", 31, 30, 1, 217, 18 ], [ "setarg", 31, 0, 24, 217, 18 ], [ "setarg", 31, 1, 10, 217, 18 ], [ "invoke", 31, 23, 217, 18 ], "call_done_144", [ "move", 2, 23, 217, 18 ], [ "get", 33, 10, 1, 218, 12 ], [ "frame", 34, 33, 1, 218, 12 ], [ "null", 35, 218, 12 ], [ "setarg", 34, 0, 35, 218, 12 ], [ "setarg", 34, 1, 2, 218, 12 ], [ "invoke", 34, 32, 218, 12 ], [ "move", 3, 32, 218, 12 ], [ "get", 37, 12, 1, 219, 14 ], [ "frame", 38, 37, 1, 219, 14 ], [ "null", 39, 219, 14 ], [ "setarg", 38, 0, 39, 219, 14 ], [ "setarg", 38, 1, 3, 219, 14 ], [ "invoke", 38, 36, 219, 14 ], [ "move", 9, 36, 219, 14 ], [ "move", 40, 9, 220, 9 ], [ "jump_false", 40, "and_end_147", 220, 9 ], [ "get", 42, 15, 1, 220, 19 ], [ "is_proxy", 43, 42, 220, 19 ], [ "jump_false", 43, "record_path_148", 220, 19 ], [ "null", 44, 220, 19 ], [ "access", 45, "is_file", 220, 19 ], [ "array", 46, 0, 220, 19 ], [ "push", 46, 9, 220, 19 ], [ "frame", 47, 42, 2, 220, 19 ], [ "setarg", 47, 0, 44, 220, 19 ], [ "setarg", 47, 1, 45, 220, 19 ], [ "setarg", 47, 2, 46, 220, 19 ], [ "invoke", 47, 41, 220, 19 ], [ "jump", "call_done_149", 220, 19 ], "record_path_148", [ "load_field", 48, 42, "is_file", 220, 19 ], [ "frame", 49, 48, 1, 220, 19 ], [ "setarg", 49, 0, 42, 220, 19 ], [ "setarg", 49, 1, 9, 220, 19 ], [ "invoke", 49, 41, 220, 19 ], "call_done_149", [ "move", 40, 41, 220, 19 ], "and_end_147", [ "jump_false", 40, "if_else_145", 220, 19 ], [ "get", 51, 15, 1, 221, 24 ], [ "is_proxy", 52, 51, 221, 24 ], [ "jump_false", 52, "record_path_150", 221, 24 ], [ "null", 53, 221, 24 ], [ "access", 54, "slurp", 221, 24 ], [ "array", 55, 0, 221, 24 ], [ "push", 55, 9, 221, 24 ], [ "frame", 56, 51, 2, 221, 24 ], [ "setarg", 56, 0, 53, 221, 24 ], [ "setarg", 56, 1, 54, 221, 24 ], [ "setarg", 56, 2, 55, 221, 24 ], [ "invoke", 56, 50, 221, 24 ], [ "jump", "call_done_151", 221, 24 ], "record_path_150", [ "load_field", 57, 51, "slurp", 221, 24 ], [ "frame", 58, 57, 1, 221, 24 ], [ "setarg", 58, 0, 51, 221, 24 ], [ "setarg", 58, 1, 9, 221, 24 ], [ "invoke", 58, 50, 221, 24 ], "call_done_151", [ "access", 60, { "name": "mach_load", "kind": "name", "make": "intrinsic" }, 221, 14 ], [ "frame", 61, 60, 2, 221, 14 ], [ "null", 62, 221, 14 ], [ "setarg", 61, 0, 62, 221, 14 ], [ "setarg", 61, 1, 50, 221, 14 ], [ "setarg", 61, 2, 1, 221, 14 ], [ "tail_invoke", 61, 59, 221, 14 ], [ "return", 59, 221, 14 ], "_nop_ur_1", "if_else_145", "if_end_146", [ "access", 64, { "name": "text", "kind": "name", "make": "intrinsic" }, 223, 18 ], [ "frame", 65, 64, 1, 223, 18 ], [ "null", 66, 223, 18 ], [ "setarg", 65, 0, 66, 223, 18 ], [ "setarg", 65, 1, 2, 223, 18 ], [ "invoke", 65, 63, 223, 18 ], [ "move", 7, 63, 223, 18 ], [ "access", 67, "engine", 224, 40 ], [ "access", 69, { "name": "mach_compile_mcode_bin", "kind": "name", "make": "intrinsic" }, 224, 17 ], [ "frame", 70, 69, 2, 224, 17 ], [ "null", 71, 224, 17 ], [ "setarg", 70, 0, 71, 224, 17 ], [ "setarg", 70, 1, 67, 224, 17 ], [ "setarg", 70, 2, 7, 224, 17 ], [ "invoke", 70, 68, 224, 17 ], [ "move", 8, 68, 224, 17 ], [ "jump_false", 9, "if_else_152", 225, 9 ], [ "get", 73, 1, 1, 226, 7 ], [ "frame", 74, 73, 0, 226, 7 ], [ "null", 75, 226, 7 ], [ "setarg", 74, 0, 75, 226, 7 ], [ "invoke", 74, 72, 226, 7 ], [ "get", 77, 15, 1, 227, 7 ], [ "is_proxy", 78, 77, 227, 7 ], [ "jump_false", 78, "record_path_154", 227, 7 ], [ "null", 79, 227, 7 ], [ "access", 80, "slurpwrite", 227, 7 ], [ "array", 81, 0, 227, 7 ], [ "push", 81, 9, 227, 7 ], [ "push", 81, 8, 227, 7 ], [ "frame", 82, 77, 2, 227, 7 ], [ "setarg", 82, 0, 79, 227, 7 ], [ "setarg", 82, 1, 80, 227, 7 ], [ "setarg", 82, 2, 81, 227, 7 ], [ "invoke", 82, 76, 227, 7 ], [ "jump", "call_done_155", 227, 7 ], "record_path_154", [ "load_field", 83, 77, "slurpwrite", 227, 7 ], [ "frame", 84, 83, 2, 227, 7 ], [ "setarg", 84, 0, 77, 227, 7 ], [ "setarg", 84, 1, 9, 227, 7 ], [ "setarg", 84, 2, 8, 227, 7 ], [ "invoke", 84, 76, 227, 7 ], "call_done_155", [ "jump", "if_end_153", 227, 7 ], "if_else_152", "if_end_153", [ "access", 86, { "name": "mach_load", "kind": "name", "make": "intrinsic" }, 229, 12 ], [ "frame", 87, 86, 2, 229, 12 ], [ "null", 88, 229, 12 ], [ "setarg", 87, 0, 88, 229, 12 ], [ "setarg", 87, 1, 8, 229, 12 ], [ "setarg", 87, 2, 1, 229, 12 ], [ "tail_invoke", 87, 85, 229, 12 ], [ "return", 85, 229, 12 ], "_nop_ur_2", "if_else_139", "if_end_140", [ "access", 89, { "name": "core_path", "kind": "name", "make": "intrinsic" }, 232, 19 ], [ "access", 90, "/internal/engine.cm", 232, 31 ], [ "add", 91, 89, 90, 232, 31 ], [ "move", 6, 91, 232, 31 ], [ "get", 93, 15, 1, 233, 21 ], [ "is_proxy", 94, 93, 233, 21 ], [ "jump_false", 94, "record_path_156", 233, 21 ], [ "null", 95, 233, 21 ], [ "access", 96, "slurp", 233, 21 ], [ "array", 97, 0, 233, 21 ], [ "push", 97, 6, 233, 21 ], [ "frame", 98, 93, 2, 233, 21 ], [ "setarg", 98, 0, 95, 233, 21 ], [ "setarg", 98, 1, 96, 233, 21 ], [ "setarg", 98, 2, 97, 233, 21 ], [ "invoke", 98, 92, 233, 21 ], [ "jump", "call_done_157", 233, 21 ], "record_path_156", [ "load_field", 99, 93, "slurp", 233, 21 ], [ "frame", 100, 99, 1, 233, 21 ], [ "setarg", 100, 0, 93, 233, 21 ], [ "setarg", 100, 1, 6, 233, 21 ], [ "invoke", 100, 92, 233, 21 ], "call_done_157", [ "access", 102, { "name": "text", "kind": "name", "make": "intrinsic" }, 233, 16 ], [ "frame", 103, 102, 1, 233, 16 ], [ "null", 104, 233, 16 ], [ "setarg", 103, 0, 104, 233, 16 ], [ "setarg", 103, 1, 92, 233, 16 ], [ "invoke", 103, 101, 233, 16 ], [ "move", 4, 101, 233, 16 ], [ "get", 106, 7, 1, 234, 16 ], [ "frame", 107, 106, 2, 234, 16 ], [ "null", 108, 234, 16 ], [ "setarg", 107, 0, 108, 234, 16 ], [ "setarg", 107, 1, 4, 234, 16 ], [ "setarg", 107, 2, 6, 234, 16 ], [ "invoke", 107, 105, 234, 16 ], [ "move", 5, 105, 234, 16 ], [ "access", 109, "engine", 235, 18 ], [ "get", 111, 19, 1, 235, 10 ], [ "frame", 112, 111, 3, 235, 10 ], [ "null", 113, 235, 10 ], [ "setarg", 112, 0, 113, 235, 10 ], [ "setarg", 112, 1, 109, 235, 10 ], [ "setarg", 112, 2, 5, 235, 10 ], [ "setarg", 112, 3, 1, 235, 10 ], [ "tail_invoke", 112, 110, 235, 10 ], [ "return", 110, 235, 10 ], "_nop_ur_3", "_nop_ur_4" ], "name": "load_engine", "filename": "internal/bootstrap.cm", "nr_args": 1 } ], "main": { "nr_slots": 136, "nr_close_slots": 0, "instructions": [ [ "function", 28, 0, 0, 0 ], [ "move", 11, 28, 0, 0 ], [ "function", 29, 1, 0, 0 ], [ "move", 10, 29, 0, 0 ], [ "function", 30, 2, 0, 0 ], [ "move", 12, 30, 0, 0 ], [ "function", 31, 3, 0, 0 ], [ "move", 1, 31, 0, 0 ], [ "function", 32, 4, 0, 0 ], [ "move", 24, 32, 0, 0 ], [ "function", 33, 5, 0, 0 ], [ "move", 2, 33, 0, 0 ], [ "function", 34, 6, 0, 0 ], [ "move", 8, 34, 0, 0 ], [ "function", 35, 7, 0, 0 ], [ "move", 7, 35, 0, 0 ], [ "function", 36, 8, 0, 0 ], [ "move", 19, 36, 0, 0 ], [ "function", 37, 9, 0, 0 ], [ "move", 21, 37, 0, 0 ], [ "function", 38, 10, 0, 0 ], [ "move", 25, 38, 0, 0 ], [ "function", 39, 11, 0, 0 ], [ "move", 4, 39, 0, 0 ], [ "access", 40, { "name": "os", "kind": "name", "make": "intrinsic" }, 5, 21 ], [ "load_field", 41, 40, "load_internal", 5, 21 ], [ "move", 20, 41, 5, 21 ], [ "access", 42, "fd", 10, 20 ], [ "frame", 44, 11, 1, 10, 10 ], [ "null", 45, 10, 10 ], [ "setarg", 44, 0, 45, 10, 10 ], [ "setarg", 44, 1, 42, 10, 10 ], [ "invoke", 44, 43, 10, 10 ], [ "move", 15, 43, 10, 10 ], [ "access", 46, "json", 11, 22 ], [ "frame", 48, 11, 1, 11, 12 ], [ "null", 49, 11, 12 ], [ "setarg", 48, 0, 49, 11, 12 ], [ "setarg", 48, 1, 46, 11, 12 ], [ "invoke", 48, 47, 11, 12 ], [ "move", 22, 47, 11, 12 ], [ "access", 50, "crypto", 12, 24 ], [ "frame", 52, 11, 1, 12, 14 ], [ "null", 53, 12, 14 ], [ "setarg", 52, 0, 53, 12, 14 ], [ "setarg", 52, 1, 50, 12, 14 ], [ "invoke", 52, 51, 12, 14 ], [ "move", 17, 51, 12, 14 ], [ "record", 54, 0 ], [ "move", 13, 54, 14, 17 ], [ "access", 55, "fd", 15, 11 ], [ "store_field", 13, 15, 55, 15, 11 ], [ "access", 56, { "name": "os", "kind": "name", "make": "intrinsic" }, 16, 19 ], [ "access", 57, "os", 16, 11 ], [ "store_field", 13, 56, 57, 16, 11 ], [ "access", 58, "json", 17, 11 ], [ "store_field", 13, 22, 58, 17, 11 ], [ "access", 59, "crypto", 18, 11 ], [ "store_field", 13, 17, 59, 18, 11 ], [ "record", 60, 1 ], [ "store_field", 60, 24, "use", 74, 22 ], [ "move", 9, 60, 74, 22 ], [ "access", 61, "tokenize", 75, 30 ], [ "frame", 63, 2, 2, 75, 20 ], [ "null", 64, 75, 20 ], [ "setarg", 63, 0, 64, 75, 20 ], [ "setarg", 63, 1, 61, 75, 20 ], [ "setarg", 63, 2, 9, 75, 20 ], [ "invoke", 63, 62, 75, 20 ], [ "move", 3, 62, 75, 20 ], [ "access", 65, "parse", 76, 27 ], [ "frame", 67, 2, 2, 76, 17 ], [ "null", 68, 76, 17 ], [ "setarg", 67, 0, 68, 76, 17 ], [ "setarg", 67, 1, 65, 76, 17 ], [ "setarg", 67, 2, 9, 76, 17 ], [ "invoke", 67, 66, 76, 17 ], [ "move", 27, 66, 76, 17 ], [ "access", 69, "fold", 77, 26 ], [ "frame", 71, 2, 2, 77, 16 ], [ "null", 72, 77, 16 ], [ "setarg", 71, 0, 72, 77, 16 ], [ "setarg", 71, 1, 69, 77, 16 ], [ "setarg", 71, 2, 9, 77, 16 ], [ "invoke", 71, 70, 77, 16 ], [ "move", 14, 70, 77, 16 ], [ "access", 73, "tokenize", 78, 11 ], [ "store_field", 13, 3, 73, 78, 11 ], [ "access", 74, "parse", 79, 11 ], [ "store_field", 13, 27, 74, 79, 11 ], [ "access", 75, "fold", 80, 11 ], [ "store_field", 13, 14, 75, 80, 11 ], [ "access", 76, "mcode", 83, 27 ], [ "frame", 78, 2, 2, 83, 17 ], [ "null", 79, 83, 17 ], [ "setarg", 78, 0, 79, 83, 17 ], [ "setarg", 78, 1, 76, 83, 17 ], [ "setarg", 78, 2, 9, 83, 17 ], [ "invoke", 78, 77, 83, 17 ], [ "move", 5, 77, 83, 17 ], [ "access", 80, "mcode", 84, 11 ], [ "store_field", 13, 5, 80, 84, 11 ], [ "null", 23, 85, 22 ], [ "frame", 82, 8, 0, 126, 1 ], [ "null", 83, 126, 1 ], [ "setarg", 82, 0, 83, 126, 1 ], [ "invoke", 82, 81, 126, 1 ], [ "access", 84, "streamline", 164, 28 ], [ "frame", 86, 2, 2, 164, 18 ], [ "null", 87, 164, 18 ], [ "setarg", 86, 0, 87, 164, 18 ], [ "setarg", 86, 1, 84, 164, 18 ], [ "setarg", 86, 2, 9, 164, 18 ], [ "invoke", 86, 85, 164, 18 ], [ "move", 23, 85, 164, 18 ], [ "access", 88, "streamline", 165, 11 ], [ "store_field", 13, 23, 88, 165, 11 ], [ "null", 16, 168, 22 ], [ "null", 26, 240, 15 ], [ "array", 89, 0, 241, 17 ], [ "move", 18, 89, 241, 17 ], [ "access", 6, 0, 242, 10 ], [ "access", 90, { "name": "args", "kind": "name", "make": "intrinsic" }, 244, 5 ], [ "null", 91, 244, 13 ], [ "is_identical", 92, 90, 91, 244, 13 ], [ "jump_true", 92, "ne_nid_161", 244, 13 ], [ "jump", "ne_ni_162", 244, 13 ], "ne_nid_161", [ "false", 92, 244, 13 ], [ "jump", "ne_done_160", 244, 13 ], "ne_ni_162", [ "is_int", 93, 90, 244, 13 ], [ "jump_false", 93, "ne_nn_163", 244, 13 ], "_nop_tc_1", [ "jump", "ne_nn_163", 244, 13 ], [ "ne_int", 92, 90, 91, 244, 13 ], [ "jump", "ne_done_160", 244, 13 ], "ne_nn_163", [ "is_num", 93, 90, 244, 13 ], [ "jump_false", 93, "ne_nt_164", 244, 13 ], "_nop_tc_2", [ "jump", "ne_nt_164", 244, 13 ], [ "ne_float", 92, 90, 91, 244, 13 ], [ "jump", "ne_done_160", 244, 13 ], "ne_nt_164", [ "is_text", 93, 90, 244, 13 ], [ "jump_false", 93, "ne_nnl_165", 244, 13 ], "_nop_tc_3", [ "jump", "ne_nnl_165", 244, 13 ], [ "ne_text", 92, 90, 91, 244, 13 ], [ "jump", "ne_done_160", 244, 13 ], "ne_nnl_165", [ "is_null", 93, 90, 244, 13 ], [ "jump_false", 93, "ne_nb_166", 244, 13 ], "_nop_tc_4", "_nop_tc_5", [ "false", 92, 244, 13 ], [ "jump", "ne_done_160", 244, 13 ], "ne_nb_166", [ "is_bool", 93, 90, 244, 13 ], [ "jump_false", 93, "ne_mis_167", 244, 13 ], "_nop_tc_6", [ "jump", "ne_mis_167", 244, 13 ], [ "ne_bool", 92, 90, 91, 244, 13 ], [ "jump", "ne_done_160", 244, 13 ], "ne_mis_167", [ "true", 92, 244, 13 ], "ne_done_160", [ "jump_false", 92, "if_else_158", 244, 13 ], [ "access", 95, { "name": "args", "kind": "name", "make": "intrinsic" }, 246, 13 ], [ "access", 96, 0, 246, 18 ], [ "load_index", 97, 95, 96, 246, 18 ], [ "move", 26, 97, 246, 18 ], "_nop_bl_1", [ "jump_true", 26, "if_else_168", 247, 8 ], [ "access", 99, "error: no program specified\n", 248, 11 ], [ "access", 101, { "name": "print", "kind": "name", "make": "intrinsic" }, 248, 5 ], [ "frame", 102, 101, 1, 248, 5 ], [ "null", 103, 248, 5 ], [ "setarg", 102, 0, 103, 248, 5 ], [ "setarg", 102, 1, 99, 248, 5 ], [ "invoke", 102, 100, 248, 5 ], [ "disrupt", 249, 5 ], [ "jump", "if_end_169", 249, 5 ], "if_else_168", "if_end_169", [ "access", 104, 1, 251, 8 ], [ "move", 6, 104, 251, 8 ], "while_start_170", [ "access", 105, { "name": "args", "kind": "name", "make": "intrinsic" }, 252, 22 ], [ "length", 106, 105, 252, 22 ], [ "is_int", 108, 6, 252, 22 ], [ "jump_false", 108, "rel_ni_172", 252, 22 ], "_nop_tc_7", "_nop_tc_8", [ "lt_int", 107, 6, 106, 252, 22 ], [ "jump", "rel_done_174", 252, 22 ], "rel_ni_172", [ "is_num", 108, 6, 252, 22 ], [ "jump_false", 108, "rel_nn_173", 252, 22 ], "_nop_tc_9", "_nop_tc_10", [ "lt_float", 107, 6, 106, 252, 22 ], [ "jump", "rel_done_174", 252, 22 ], "rel_nn_173", [ "is_text", 108, 6, 252, 22 ], [ "jump_false", 108, "rel_err_175", 252, 22 ], "_nop_tc_11", [ "jump", "rel_err_175", 252, 22 ], [ "lt_text", 107, 6, 106, 252, 22 ], [ "jump", "rel_done_174", 252, 22 ], "rel_err_175", [ "disrupt", 252, 22 ], "rel_done_174", [ "jump_false", 107, "while_end_171", 252, 22 ], [ "access", 110, { "name": "args", "kind": "name", "make": "intrinsic" }, 253, 21 ], [ "load_dynamic", 111, 110, 6, 253, 26 ], [ "is_array", 112, 18, 253, 26 ], [ "jump_false", 112, "push_err_176", 253, 26 ], [ "push", 18, 111, 253, 26 ], [ "jump", "push_done_177", 253, 26 ], "push_err_176", [ "disrupt", 253, 26 ], "push_done_177", [ "access", 113, 1, 254, 15 ], [ "add", 114, 6, 113, 254, 15 ], [ "move", 6, 114, 254, 15 ], [ "jump", "while_start_170", 254, 15 ], "while_end_171", [ "record", 115, 14 ], [ "access", 116, { "name": "os", "kind": "name", "make": "intrinsic" }, 258, 9 ], [ "store_field", 115, 116, "os", 258, 9 ], [ "access", 117, { "name": "actorsym", "kind": "name", "make": "intrinsic" }, 258, 23 ], [ "store_field", 115, 117, "actorsym", 258, 23 ], [ "record", 118, 2 ], [ "store_field", 118, 26, "program", 259, 21 ], [ "store_field", 118, 18, "arg", 259, 35 ], [ "store_field", 115, 118, "init", 259, 35 ], [ "access", 119, { "name": "core_path", "kind": "name", "make": "intrinsic" }, 260, 16 ], [ "store_field", 115, 119, "core_path", 260, 16 ], [ "access", 120, { "name": "shop_path", "kind": "name", "make": "intrinsic" }, 260, 38 ], [ "store_field", 115, 120, "shop_path", 260, 38 ], [ "store_field", 115, 22, "json", 260, 55 ], [ "store_field", 115, 7, "analyze", 261, 14 ], [ "store_field", 115, 19, "run_ast_fn", 261, 35 ], [ "store_field", 115, 21, "run_ast_noopt_fn", 261, 62 ], [ "store_field", 115, 13, "use_cache", 262, 16 ], [ "store_field", 115, 10, "content_hash", 263, 19 ], [ "store_field", 115, 12, "cache_path", 263, 45 ], [ "store_field", 115, 1, "ensure_build_dir", 264, 23 ], [ "store_field", 115, 25, "compile_to_blob_fn", 264, 61 ], [ "frame", 122, 4, 1, 257, 3 ], [ "null", 123, 257, 3 ], [ "setarg", 122, 0, 123, 257, 3 ], [ "setarg", 122, 1, 115, 257, 3 ], [ "invoke", 122, 121, 257, 3 ], [ "jump", "if_end_159", 257, 3 ], "if_else_158", [ "record", 124, 16 ], [ "access", 125, { "name": "os", "kind": "name", "make": "intrinsic" }, 269, 9 ], [ "store_field", 124, 125, "os", 269, 9 ], [ "access", 126, { "name": "actorsym", "kind": "name", "make": "intrinsic" }, 269, 23 ], [ "store_field", 124, 126, "actorsym", 269, 23 ], [ "access", 127, { "name": "init", "kind": "name", "make": "intrinsic" }, 269, 39 ], [ "store_field", 124, 127, "init", 269, 39 ], [ "access", 128, { "name": "core_path", "kind": "name", "make": "intrinsic" }, 270, 16 ], [ "store_field", 124, 128, "core_path", 270, 16 ], [ "access", 129, { "name": "shop_path", "kind": "name", "make": "intrinsic" }, 270, 38 ], [ "store_field", 124, 129, "shop_path", 270, 38 ], [ "store_field", 124, 22, "json", 270, 55 ], [ "access", 130, { "name": "nota", "kind": "name", "make": "intrinsic" }, 270, 67 ], [ "store_field", 124, 130, "nota", 270, 67 ], [ "access", 131, { "name": "wota", "kind": "name", "make": "intrinsic" }, 270, 79 ], [ "store_field", 124, 131, "wota", 270, 79 ], [ "store_field", 124, 7, "analyze", 271, 14 ], [ "store_field", 124, 19, "run_ast_fn", 271, 35 ], [ "store_field", 124, 21, "run_ast_noopt_fn", 271, 62 ], [ "store_field", 124, 13, "use_cache", 272, 16 ], [ "store_field", 124, 10, "content_hash", 273, 19 ], [ "store_field", 124, 12, "cache_path", 273, 45 ], [ "store_field", 124, 1, "ensure_build_dir", 274, 23 ], [ "store_field", 124, 25, "compile_to_blob_fn", 274, 61 ], [ "frame", 133, 4, 1, 268, 3 ], [ "null", 134, 268, 3 ], [ "setarg", 133, 0, 134, 268, 3 ], [ "setarg", 133, 1, 124, 268, 3 ], [ "invoke", 133, 132, 268, 3 ], "if_end_159", [ "null", 135, 268, 3 ], [ "return", 135, 268, 3 ] ], "nr_args": 0 }, "filename": "internal/bootstrap.cm", "data": {} }