fix array gc bug; new gc error chasing
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
["add", 3, 2, 1, 7, 32],
|
||||
["access", 4, "_use", 7, 39],
|
||||
["add", 5, 3, 4, 7, 39],
|
||||
["get", 7, 19, 1, 7, 10],
|
||||
["get", 7, 12, 1, 7, 10],
|
||||
["frame", 8, 7, 1, 7, 10],
|
||||
["null", 9, 7, 10],
|
||||
["setarg", 8, 0, 9, 7, 10],
|
||||
@@ -159,7 +159,7 @@
|
||||
["access", 6, "/build", 31, 25],
|
||||
["add", 7, 5, 6, 31, 25],
|
||||
["move", 1, 7, 31, 25],
|
||||
["get", 9, 16, 1, 32, 8],
|
||||
["get", 9, 17, 1, 32, 8],
|
||||
["is_proxy", 10, 9, 32, 8],
|
||||
["jump_false", 10, "record_path_8", 32, 8],
|
||||
["null", 11, 32, 8],
|
||||
@@ -181,7 +181,7 @@
|
||||
"call_done_9",
|
||||
"_nop_bl_2",
|
||||
["jump_true", 8, "if_else_6", 32, 8],
|
||||
["get", 19, 16, 1, 33, 5],
|
||||
["get", 19, 17, 1, 33, 5],
|
||||
["is_proxy", 20, 19, 33, 5],
|
||||
["jump_false", 20, "record_path_10", 33, 5],
|
||||
["null", 21, 33, 5],
|
||||
@@ -217,10 +217,10 @@
|
||||
"nr_slots": 19,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["get", 3, 23, 1, 40, 7],
|
||||
["get", 3, 18, 1, 40, 7],
|
||||
["load_dynamic", 4, 3, 1, 40, 17],
|
||||
["jump_false", 4, "if_else_12", 40, 17],
|
||||
["get", 5, 23, 1, 41, 12],
|
||||
["get", 5, 18, 1, 41, 12],
|
||||
["load_dynamic", 6, 5, 1, 41, 22],
|
||||
["return", 6, 41, 22],
|
||||
"_nop_ur_1",
|
||||
@@ -246,14 +246,14 @@
|
||||
["setarg", 11, 2, 7, 42, 26],
|
||||
["setarg", 11, 3, 8, 42, 26],
|
||||
["invoke", 11, 9, 42, 26],
|
||||
["get", 14, 13, 1, 42, 16],
|
||||
["get", 14, 3, 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, 23, 1, 43, 3],
|
||||
["get", 17, 18, 1, 43, 3],
|
||||
["store_dynamic", 17, 2, 1, 43, 13],
|
||||
["return", 2, 44, 10],
|
||||
"_nop_ur_2",
|
||||
@@ -285,12 +285,12 @@
|
||||
["access", 13, ".cm.mcode", 49, 50],
|
||||
["add", 14, 12, 13, 49, 50],
|
||||
["move", 8, 14, 49, 50],
|
||||
["null", 4, 50, 20],
|
||||
["null", 5, 51, 14],
|
||||
["null", 3, 50, 20],
|
||||
["null", 4, 51, 14],
|
||||
["null", 7, 52, 16],
|
||||
["null", 6, 53, 20],
|
||||
["null", 3, 54, 19],
|
||||
["get", 16, 16, 1, 55, 7],
|
||||
["null", 5, 54, 19],
|
||||
["get", 16, 17, 1, 55, 7],
|
||||
["is_proxy", 17, 16, 55, 7],
|
||||
["jump_false", 17, "record_path_16", 55, 7],
|
||||
["null", 18, 55, 7],
|
||||
@@ -311,7 +311,7 @@
|
||||
["invoke", 23, 15, 55, 7],
|
||||
"call_done_17",
|
||||
["jump_false", 15, "if_else_14", 55, 7],
|
||||
["get", 25, 16, 1, 56, 18],
|
||||
["get", 25, 17, 1, 56, 18],
|
||||
["is_proxy", 26, 25, 56, 18],
|
||||
["jump_false", 26, "record_path_18", 56, 18],
|
||||
["null", 27, 56, 18],
|
||||
@@ -331,24 +331,24 @@
|
||||
["setarg", 32, 1, 8, 56, 18],
|
||||
["invoke", 32, 24, 56, 18],
|
||||
"call_done_19",
|
||||
["move", 4, 24, 56, 18],
|
||||
["move", 3, 24, 56, 18],
|
||||
["get", 34, 11, 1, 57, 12],
|
||||
["frame", 35, 34, 1, 57, 12],
|
||||
["null", 36, 57, 12],
|
||||
["setarg", 35, 0, 36, 57, 12],
|
||||
["setarg", 35, 1, 4, 57, 12],
|
||||
["setarg", 35, 1, 3, 57, 12],
|
||||
["invoke", 35, 33, 57, 12],
|
||||
["move", 5, 33, 57, 12],
|
||||
["get", 38, 14, 1, 58, 14],
|
||||
["move", 4, 33, 57, 12],
|
||||
["get", 38, 15, 1, 58, 14],
|
||||
["frame", 39, 38, 1, 58, 14],
|
||||
["null", 40, 58, 14],
|
||||
["setarg", 39, 0, 40, 58, 14],
|
||||
["setarg", 39, 1, 5, 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, 16, 1, 59, 19],
|
||||
["get", 43, 17, 1, 59, 19],
|
||||
["is_proxy", 44, 43, 59, 19],
|
||||
["jump_false", 44, "record_path_23", 59, 19],
|
||||
["null", 45, 59, 19],
|
||||
@@ -371,7 +371,7 @@
|
||||
["move", 41, 42, 59, 19],
|
||||
"and_end_22",
|
||||
["jump_false", 41, "if_else_20", 59, 19],
|
||||
["get", 52, 16, 1, 60, 24],
|
||||
["get", 52, 17, 1, 60, 24],
|
||||
["is_proxy", 53, 52, 60, 24],
|
||||
["jump_false", 53, "record_path_25", 60, 24],
|
||||
["null", 54, 60, 24],
|
||||
@@ -426,7 +426,7 @@
|
||||
["frame", 66, 65, 1, 62, 18],
|
||||
["null", 67, 62, 18],
|
||||
["setarg", 66, 0, 67, 62, 18],
|
||||
["setarg", 66, 1, 4, 62, 18],
|
||||
["setarg", 66, 1, 3, 62, 18],
|
||||
["invoke", 66, 64, 62, 18],
|
||||
["move", 6, 64, 62, 18],
|
||||
[
|
||||
@@ -446,21 +446,21 @@
|
||||
["setarg", 70, 1, 1, 63, 17],
|
||||
["setarg", 70, 2, 6, 63, 17],
|
||||
["invoke", 70, 68, 63, 17],
|
||||
["move", 3, 68, 63, 17],
|
||||
["move", 5, 68, 63, 17],
|
||||
["jump_false", 7, "if_else_27", 64, 9],
|
||||
["get", 73, 1, 1, 65, 7],
|
||||
["get", 73, 2, 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, 16, 1, 66, 7],
|
||||
["get", 77, 17, 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, 3, 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],
|
||||
@@ -472,7 +472,7 @@
|
||||
["frame", 84, 83, 2, 66, 7],
|
||||
["setarg", 84, 0, 77, 66, 7],
|
||||
["setarg", 84, 1, 7, 66, 7],
|
||||
["setarg", 84, 2, 3, 66, 7],
|
||||
["setarg", 84, 2, 5, 66, 7],
|
||||
["invoke", 84, 76, 66, 7],
|
||||
"call_done_30",
|
||||
["jump", "if_end_28", 66, 7],
|
||||
@@ -492,7 +492,7 @@
|
||||
["frame", 87, 86, 2, 68, 12],
|
||||
["null", 88, 68, 12],
|
||||
["setarg", 87, 0, 88, 68, 12],
|
||||
["setarg", 87, 1, 3, 68, 12],
|
||||
["setarg", 87, 1, 5, 68, 12],
|
||||
["setarg", 87, 2, 2, 68, 12],
|
||||
["tail_invoke", 87, 85, 68, 12],
|
||||
["return", 85, 68, 12],
|
||||
@@ -662,7 +662,7 @@
|
||||
["load_field", 54, 2, "mcode", 111, 36],
|
||||
["add", 55, 53, 54, 111, 36],
|
||||
["move", 8, 55, 111, 36],
|
||||
["get", 57, 16, 1, 112, 9],
|
||||
["get", 57, 17, 1, 112, 9],
|
||||
["is_proxy", 58, 57, 112, 9],
|
||||
["jump_false", 58, "record_path_40", 112, 9],
|
||||
["null", 59, 112, 9],
|
||||
@@ -684,7 +684,7 @@
|
||||
"call_done_41",
|
||||
["move", 65, 56, 112, 9],
|
||||
["jump_false", 65, "and_end_39", 112, 9],
|
||||
["get", 67, 16, 1, 112, 35],
|
||||
["get", 67, 17, 1, 112, 35],
|
||||
["is_proxy", 68, 67, 112, 35],
|
||||
["jump_false", 68, "record_path_42", 112, 35],
|
||||
["null", 69, 112, 35],
|
||||
@@ -707,7 +707,7 @@
|
||||
["move", 65, 66, 112, 35],
|
||||
"and_end_39",
|
||||
["jump_false", 65, "if_else_37", 112, 35],
|
||||
["get", 76, 16, 1, 113, 23],
|
||||
["get", 76, 17, 1, 113, 23],
|
||||
["is_proxy", 77, 76, 113, 23],
|
||||
["jump_false", 77, "record_path_44", 113, 23],
|
||||
["null", 78, 113, 23],
|
||||
@@ -728,7 +728,7 @@
|
||||
["invoke", 83, 75, 113, 23],
|
||||
"call_done_45",
|
||||
["move", 5, 75, 113, 23],
|
||||
["get", 85, 16, 1, 114, 17],
|
||||
["get", 85, 17, 1, 114, 17],
|
||||
["is_proxy", 86, 85, 114, 17],
|
||||
["jump_false", 86, "record_path_46", 114, 17],
|
||||
["null", 87, 114, 17],
|
||||
@@ -890,7 +890,7 @@
|
||||
"nr_slots": 96,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["get", 14, 4, 1, 130, 20],
|
||||
["get", 14, 5, 1, 130, 20],
|
||||
["frame", 15, 14, 2, 130, 20],
|
||||
["null", 16, 130, 20],
|
||||
["setarg", 15, 0, 16, 130, 20],
|
||||
@@ -899,8 +899,8 @@
|
||||
["invoke", 15, 13, 130, 20],
|
||||
["move", 4, 13, 130, 20],
|
||||
["load_field", 17, 4, "tokens", 131, 23],
|
||||
["get", 18, 4, 1, 131, 57],
|
||||
["get", 20, 17, 1, 131, 13],
|
||||
["get", 18, 5, 1, 131, 57],
|
||||
["get", 20, 13, 1, 131, 13],
|
||||
["frame", 21, 20, 4, 131, 13],
|
||||
["null", 22, 131, 13],
|
||||
["setarg", 21, 0, 22, 131, 13],
|
||||
@@ -909,15 +909,15 @@
|
||||
["setarg", 21, 3, 2, 131, 13],
|
||||
["setarg", 21, 4, 18, 131, 13],
|
||||
["invoke", 21, 19, 131, 13],
|
||||
["move", 11, 19, 131, 13],
|
||||
["move", 10, 19, 131, 13],
|
||||
["access", 7, 0, 132, 12],
|
||||
["access", 8, -1, 133, 19],
|
||||
["access", 12, -1, 133, 19],
|
||||
["null", 6, 134, 18],
|
||||
["null", 12, 135, 11],
|
||||
["null", 11, 135, 11],
|
||||
["null", 3, 136, 13],
|
||||
["null", 5, 137, 14],
|
||||
["null", 9, 138, 13],
|
||||
["load_field", 23, 11, "errors", 139, 20],
|
||||
["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],
|
||||
@@ -965,7 +965,7 @@
|
||||
"ne_done_63",
|
||||
["move", 28, 25, 139, 34],
|
||||
["jump_false", 28, "and_end_62", 139, 34],
|
||||
["load_field", 29, 11, "errors", 139, 49],
|
||||
["load_field", 29, 10, "errors", 139, 49],
|
||||
["length", 30, 29, 139, 49],
|
||||
["access", 31, 0, 139, 63],
|
||||
"_nop_tc_7",
|
||||
@@ -993,10 +993,10 @@
|
||||
"rel_done_73",
|
||||
["move", 28, 32, 139, 63],
|
||||
"and_end_62",
|
||||
["move", 10, 28, 139, 63],
|
||||
["jump_false", 10, "if_else_75", 140, 7],
|
||||
["move", 9, 28, 139, 63],
|
||||
["jump_false", 9, "if_else_75", 140, 7],
|
||||
"while_start_77",
|
||||
["load_field", 35, 11, "errors", 141, 24],
|
||||
["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],
|
||||
@@ -1022,15 +1022,15 @@
|
||||
["disrupt", 141, 24],
|
||||
"rel_done_81",
|
||||
["jump_false", 37, "while_end_78", 141, 24],
|
||||
["load_field", 40, 11, "errors", 142, 11],
|
||||
["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", 11, 41, 142, 22],
|
||||
["load_field", 42, 11, "message", 143, 13],
|
||||
["move", 3, 42, 143, 13],
|
||||
["load_field", 43, 12, "line", 144, 14],
|
||||
["load_field", 43, 11, "line", 144, 14],
|
||||
["move", 5, 43, 144, 14],
|
||||
["load_field", 44, 12, "column", 145, 13],
|
||||
["move", 9, 44, 145, 13],
|
||||
["load_field", 44, 11, "column", 145, 13],
|
||||
["move", 8, 44, 145, 13],
|
||||
["is_identical", 45, 3, 6, 146, 18],
|
||||
["jump_true", 45, "ne_nid_87", 146, 18],
|
||||
["jump", "ne_ni_88", 146, 18],
|
||||
@@ -1077,7 +1077,7 @@
|
||||
"ne_done_86",
|
||||
["move", 48, 45, 146, 18],
|
||||
["jump_true", 48, "or_end_85", 146, 18],
|
||||
["is_identical", 49, 5, 8, 146, 38],
|
||||
["is_identical", 49, 5, 12, 146, 38],
|
||||
["jump_true", 49, "ne_nid_95", 146, 38],
|
||||
["jump", "ne_ni_96", 146, 38],
|
||||
"ne_nid_95",
|
||||
@@ -1086,37 +1086,37 @@
|
||||
"ne_ni_96",
|
||||
["is_int", 50, 5, 146, 38],
|
||||
["jump_false", 50, "ne_nn_97", 146, 38],
|
||||
["is_int", 51, 8, 146, 38],
|
||||
["is_int", 51, 12, 146, 38],
|
||||
["jump_false", 51, "ne_nn_97", 146, 38],
|
||||
["ne_int", 49, 5, 8, 146, 38],
|
||||
["ne_int", 49, 5, 12, 146, 38],
|
||||
["jump", "ne_done_94", 146, 38],
|
||||
"ne_nn_97",
|
||||
["is_num", 50, 5, 146, 38],
|
||||
["jump_false", 50, "ne_nt_98", 146, 38],
|
||||
["is_num", 51, 8, 146, 38],
|
||||
["is_num", 51, 12, 146, 38],
|
||||
["jump_false", 51, "ne_nt_98", 146, 38],
|
||||
["ne_float", 49, 5, 8, 146, 38],
|
||||
["ne_float", 49, 5, 12, 146, 38],
|
||||
["jump", "ne_done_94", 146, 38],
|
||||
"ne_nt_98",
|
||||
["is_text", 50, 5, 146, 38],
|
||||
["jump_false", 50, "ne_nnl_99", 146, 38],
|
||||
["is_text", 51, 8, 146, 38],
|
||||
["is_text", 51, 12, 146, 38],
|
||||
["jump_false", 51, "ne_nnl_99", 146, 38],
|
||||
["ne_text", 49, 5, 8, 146, 38],
|
||||
["ne_text", 49, 5, 12, 146, 38],
|
||||
["jump", "ne_done_94", 146, 38],
|
||||
"ne_nnl_99",
|
||||
["is_null", 50, 5, 146, 38],
|
||||
["jump_false", 50, "ne_nb_100", 146, 38],
|
||||
["is_null", 51, 8, 146, 38],
|
||||
["is_null", 51, 12, 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, 5, 146, 38],
|
||||
["jump_false", 50, "ne_mis_101", 146, 38],
|
||||
["is_bool", 51, 8, 146, 38],
|
||||
["is_bool", 51, 12, 146, 38],
|
||||
["jump_false", 51, "ne_mis_101", 146, 38],
|
||||
["ne_bool", 49, 5, 8, 146, 38],
|
||||
["ne_bool", 49, 5, 12, 146, 38],
|
||||
["jump", "ne_done_94", 146, 38],
|
||||
"ne_mis_101",
|
||||
["true", 49, 146, 38],
|
||||
@@ -1172,46 +1172,46 @@
|
||||
["move", 56, 53, 147, 21],
|
||||
["jump_false", 56, "and_end_104", 147, 21],
|
||||
["null", 57, 147, 36],
|
||||
["is_identical", 58, 9, 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, 9, 147, 36],
|
||||
["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, 9, 57, 147, 36],
|
||||
["ne_int", 58, 8, 57, 147, 36],
|
||||
["jump", "ne_done_113", 147, 36],
|
||||
"ne_nn_116",
|
||||
["is_num", 59, 9, 147, 36],
|
||||
["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, 9, 57, 147, 36],
|
||||
["ne_float", 58, 8, 57, 147, 36],
|
||||
["jump", "ne_done_113", 147, 36],
|
||||
"ne_nt_117",
|
||||
["is_text", 59, 9, 147, 36],
|
||||
["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, 9, 57, 147, 36],
|
||||
["ne_text", 58, 8, 57, 147, 36],
|
||||
["jump", "ne_done_113", 147, 36],
|
||||
"ne_nnl_118",
|
||||
["is_null", 59, 9, 147, 36],
|
||||
["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, 9, 147, 36],
|
||||
["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, 9, 57, 147, 36],
|
||||
["ne_bool", 58, 8, 57, 147, 36],
|
||||
["jump", "ne_done_113", 147, 36],
|
||||
"ne_mis_120",
|
||||
["true", 58, 147, 36],
|
||||
@@ -1249,7 +1249,7 @@
|
||||
["frame", 67, 66, 1, 1, 1],
|
||||
["null", 68, 1, 1],
|
||||
["setarg", 67, 0, 68, 1, 1],
|
||||
["setarg", 67, 1, 9, 1, 1],
|
||||
["setarg", 67, 1, 8, 1, 1],
|
||||
["invoke", 67, 65, 1, 1],
|
||||
["array", 69, 0, 1, 1],
|
||||
["push", 69, 2, 1, 1],
|
||||
@@ -1333,7 +1333,7 @@
|
||||
["jump", "if_end_84", 150, 11],
|
||||
"if_else_83",
|
||||
"if_end_84",
|
||||
["move", 8, 5, 153, 19],
|
||||
["move", 12, 5, 153, 19],
|
||||
["move", 6, 3, 154, 18],
|
||||
["access", 89, 1, 155, 17],
|
||||
["add", 90, 7, 89, 155, 17],
|
||||
@@ -1344,14 +1344,14 @@
|
||||
["jump", "if_end_76", 157, 5],
|
||||
"if_else_75",
|
||||
"if_end_76",
|
||||
["get", 92, 15, 1, 159, 9],
|
||||
["get", 92, 16, 1, 159, 9],
|
||||
["frame", 93, 92, 1, 159, 9],
|
||||
["null", 94, 159, 9],
|
||||
["setarg", 93, 0, 94, 159, 9],
|
||||
["setarg", 93, 1, 11, 159, 9],
|
||||
["setarg", 93, 1, 10, 159, 9],
|
||||
["invoke", 93, 91, 159, 9],
|
||||
["move", 11, 91, 159, 9],
|
||||
["return", 11, 160, 10],
|
||||
["move", 10, 91, 159, 9],
|
||||
["return", 10, 160, 10],
|
||||
"_nop_ur_1",
|
||||
"_nop_ur_2"
|
||||
],
|
||||
@@ -1364,7 +1364,7 @@
|
||||
"nr_slots": 52,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["get", 9, 7, 1, 172, 18],
|
||||
["get", 9, 27, 1, 172, 18],
|
||||
["frame", 10, 9, 1, 172, 18],
|
||||
["null", 11, 172, 18],
|
||||
["setarg", 10, 0, 11, 172, 18],
|
||||
@@ -1384,7 +1384,7 @@
|
||||
],
|
||||
["load_field", 13, 12, "_verify_ir", 173, 7],
|
||||
["jump_false", 13, "if_else_121", 173, 7],
|
||||
["get", 14, 18, 1, 174, 9],
|
||||
["get", 14, 19, 1, 174, 9],
|
||||
["null", 15, 174, 27],
|
||||
["is_identical", 16, 14, 15, 174, 27],
|
||||
["jump_true", 16, "eq_done_125", 174, 27],
|
||||
@@ -1428,20 +1428,20 @@
|
||||
["jump_false", 16, "if_else_123", 174, 27],
|
||||
["access", 19, "verify_ir", 175, 34],
|
||||
["get", 20, 10, 1, 175, 47],
|
||||
["get", 22, 22, 1, 175, 24],
|
||||
["get", 22, 23, 1, 175, 24],
|
||||
["frame", 23, 22, 2, 175, 24],
|
||||
["null", 24, 175, 24],
|
||||
["setarg", 23, 0, 24, 175, 24],
|
||||
["setarg", 23, 1, 19, 175, 24],
|
||||
["setarg", 23, 2, 20, 175, 24],
|
||||
["invoke", 23, 21, 175, 24],
|
||||
["put", 21, 18, 1, 175, 24],
|
||||
["put", 21, 19, 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, 18, 1, 178, 28],
|
||||
["get", 26, 19, 1, 178, 28],
|
||||
["store_field", 4, 26, "_verify_mod", 178, 5],
|
||||
["jump", "if_end_122", 178, 5],
|
||||
"if_else_121",
|
||||
@@ -1480,7 +1480,7 @@
|
||||
["setarg", 42, 1, 6, 186, 20],
|
||||
["invoke", 42, 34, 186, 20],
|
||||
"call_done_134",
|
||||
["move", 5, 34, 186, 20],
|
||||
["move", 7, 34, 186, 20],
|
||||
[
|
||||
"access",
|
||||
44,
|
||||
@@ -1496,9 +1496,9 @@
|
||||
["null", 46, 187, 19],
|
||||
["setarg", 45, 0, 46, 187, 19],
|
||||
["setarg", 45, 1, 1, 187, 19],
|
||||
["setarg", 45, 2, 5, 187, 19],
|
||||
["setarg", 45, 2, 7, 187, 19],
|
||||
["invoke", 45, 43, 187, 19],
|
||||
["move", 7, 43, 187, 19],
|
||||
["move", 5, 43, 187, 19],
|
||||
[
|
||||
"access",
|
||||
48,
|
||||
@@ -1513,7 +1513,7 @@
|
||||
["frame", 49, 48, 2, 188, 10],
|
||||
["null", 50, 188, 10],
|
||||
["setarg", 49, 0, 50, 188, 10],
|
||||
["setarg", 49, 1, 7, 188, 10],
|
||||
["setarg", 49, 1, 5, 188, 10],
|
||||
["setarg", 49, 2, 3, 188, 10],
|
||||
["tail_invoke", 49, 47, 188, 10],
|
||||
["return", 47, 188, 10],
|
||||
@@ -1529,7 +1529,7 @@
|
||||
"nr_slots": 29,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["get", 8, 7, 1, 193, 18],
|
||||
["get", 8, 27, 1, 193, 18],
|
||||
["frame", 9, 8, 1, 193, 18],
|
||||
["null", 10, 193, 18],
|
||||
["setarg", 9, 0, 10, 193, 18],
|
||||
@@ -1556,7 +1556,7 @@
|
||||
["setarg", 19, 1, 4, 194, 20],
|
||||
["invoke", 19, 11, 194, 20],
|
||||
"call_done_136",
|
||||
["move", 5, 11, 194, 20],
|
||||
["move", 6, 11, 194, 20],
|
||||
[
|
||||
"access",
|
||||
21,
|
||||
@@ -1572,9 +1572,9 @@
|
||||
["null", 23, 195, 19],
|
||||
["setarg", 22, 0, 23, 195, 19],
|
||||
["setarg", 22, 1, 1, 195, 19],
|
||||
["setarg", 22, 2, 5, 195, 19],
|
||||
["setarg", 22, 2, 6, 195, 19],
|
||||
["invoke", 22, 20, 195, 19],
|
||||
["move", 6, 20, 195, 19],
|
||||
["move", 5, 20, 195, 19],
|
||||
[
|
||||
"access",
|
||||
25,
|
||||
@@ -1589,7 +1589,7 @@
|
||||
["frame", 26, 25, 2, 196, 10],
|
||||
["null", 27, 196, 10],
|
||||
["setarg", 26, 0, 27, 196, 10],
|
||||
["setarg", 26, 1, 6, 196, 10],
|
||||
["setarg", 26, 1, 5, 196, 10],
|
||||
["setarg", 26, 2, 3, 196, 10],
|
||||
["tail_invoke", 26, 24, 196, 10],
|
||||
["return", 24, 196, 10],
|
||||
@@ -1605,7 +1605,7 @@
|
||||
"nr_slots": 27,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["get", 6, 7, 1, 201, 18],
|
||||
["get", 6, 27, 1, 201, 18],
|
||||
["frame", 7, 6, 1, 201, 18],
|
||||
["null", 8, 201, 18],
|
||||
["setarg", 7, 0, 8, 201, 18],
|
||||
@@ -1683,14 +1683,14 @@
|
||||
["access", 12, "/boot/engine.cm.mcode", 208, 32],
|
||||
["add", 13, 11, 12, 208, 32],
|
||||
["move", 10, 13, 208, 32],
|
||||
["null", 3, 209, 20],
|
||||
["null", 4, 210, 14],
|
||||
["null", 2, 209, 20],
|
||||
["null", 3, 210, 14],
|
||||
["null", 9, 211, 16],
|
||||
["null", 8, 212, 20],
|
||||
["null", 2, 213, 19],
|
||||
["null", 5, 214, 20],
|
||||
["null", 6, 215, 20],
|
||||
["get", 15, 16, 1, 216, 7],
|
||||
["null", 6, 212, 20],
|
||||
["null", 8, 213, 19],
|
||||
["null", 4, 214, 20],
|
||||
["null", 5, 215, 20],
|
||||
["get", 15, 17, 1, 216, 7],
|
||||
["is_proxy", 16, 15, 216, 7],
|
||||
["jump_false", 16, "record_path_141", 216, 7],
|
||||
["null", 17, 216, 7],
|
||||
@@ -1711,7 +1711,7 @@
|
||||
["invoke", 22, 14, 216, 7],
|
||||
"call_done_142",
|
||||
["jump_false", 14, "if_else_139", 216, 7],
|
||||
["get", 24, 16, 1, 217, 18],
|
||||
["get", 24, 17, 1, 217, 18],
|
||||
["is_proxy", 25, 24, 217, 18],
|
||||
["jump_false", 25, "record_path_143", 217, 18],
|
||||
["null", 26, 217, 18],
|
||||
@@ -1731,24 +1731,24 @@
|
||||
["setarg", 31, 1, 10, 217, 18],
|
||||
["invoke", 31, 23, 217, 18],
|
||||
"call_done_144",
|
||||
["move", 3, 23, 217, 18],
|
||||
["move", 2, 23, 217, 18],
|
||||
["get", 33, 11, 1, 218, 12],
|
||||
["frame", 34, 33, 1, 218, 12],
|
||||
["null", 35, 218, 12],
|
||||
["setarg", 34, 0, 35, 218, 12],
|
||||
["setarg", 34, 1, 3, 218, 12],
|
||||
["setarg", 34, 1, 2, 218, 12],
|
||||
["invoke", 34, 32, 218, 12],
|
||||
["move", 4, 32, 218, 12],
|
||||
["get", 37, 14, 1, 219, 14],
|
||||
["move", 3, 32, 218, 12],
|
||||
["get", 37, 15, 1, 219, 14],
|
||||
["frame", 38, 37, 1, 219, 14],
|
||||
["null", 39, 219, 14],
|
||||
["setarg", 38, 0, 39, 219, 14],
|
||||
["setarg", 38, 1, 4, 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, 16, 1, 220, 19],
|
||||
["get", 42, 17, 1, 220, 19],
|
||||
["is_proxy", 43, 42, 220, 19],
|
||||
["jump_false", 43, "record_path_148", 220, 19],
|
||||
["null", 44, 220, 19],
|
||||
@@ -1771,7 +1771,7 @@
|
||||
["move", 40, 41, 220, 19],
|
||||
"and_end_147",
|
||||
["jump_false", 40, "if_else_145", 220, 19],
|
||||
["get", 51, 16, 1, 221, 24],
|
||||
["get", 51, 17, 1, 221, 24],
|
||||
["is_proxy", 52, 51, 221, 24],
|
||||
["jump_false", 52, "record_path_150", 221, 24],
|
||||
["null", 53, 221, 24],
|
||||
@@ -1826,9 +1826,9 @@
|
||||
["frame", 65, 64, 1, 223, 18],
|
||||
["null", 66, 223, 18],
|
||||
["setarg", 65, 0, 66, 223, 18],
|
||||
["setarg", 65, 1, 3, 223, 18],
|
||||
["setarg", 65, 1, 2, 223, 18],
|
||||
["invoke", 65, 63, 223, 18],
|
||||
["move", 8, 63, 223, 18],
|
||||
["move", 6, 63, 223, 18],
|
||||
["access", 67, "engine", 224, 40],
|
||||
[
|
||||
"access",
|
||||
@@ -1845,23 +1845,23 @@
|
||||
["null", 71, 224, 17],
|
||||
["setarg", 70, 0, 71, 224, 17],
|
||||
["setarg", 70, 1, 67, 224, 17],
|
||||
["setarg", 70, 2, 8, 224, 17],
|
||||
["setarg", 70, 2, 6, 224, 17],
|
||||
["invoke", 70, 68, 224, 17],
|
||||
["move", 2, 68, 224, 17],
|
||||
["move", 8, 68, 224, 17],
|
||||
["jump_false", 9, "if_else_152", 225, 9],
|
||||
["get", 73, 1, 1, 226, 7],
|
||||
["get", 73, 2, 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, 16, 1, 227, 7],
|
||||
["get", 77, 17, 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, 2, 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],
|
||||
@@ -1873,7 +1873,7 @@
|
||||
["frame", 84, 83, 2, 227, 7],
|
||||
["setarg", 84, 0, 77, 227, 7],
|
||||
["setarg", 84, 1, 9, 227, 7],
|
||||
["setarg", 84, 2, 2, 227, 7],
|
||||
["setarg", 84, 2, 8, 227, 7],
|
||||
["invoke", 84, 76, 227, 7],
|
||||
"call_done_155",
|
||||
["jump", "if_end_153", 227, 7],
|
||||
@@ -1893,7 +1893,7 @@
|
||||
["frame", 87, 86, 2, 229, 12],
|
||||
["null", 88, 229, 12],
|
||||
["setarg", 87, 0, 88, 229, 12],
|
||||
["setarg", 87, 1, 2, 229, 12],
|
||||
["setarg", 87, 1, 8, 229, 12],
|
||||
["setarg", 87, 2, 1, 229, 12],
|
||||
["tail_invoke", 87, 85, 229, 12],
|
||||
["return", 85, 229, 12],
|
||||
@@ -1914,7 +1914,7 @@
|
||||
["access", 90, "/internal/engine.cm", 232, 31],
|
||||
["add", 91, 89, 90, 232, 31],
|
||||
["move", 7, 91, 232, 31],
|
||||
["get", 93, 16, 1, 233, 21],
|
||||
["get", 93, 17, 1, 233, 21],
|
||||
["is_proxy", 94, 93, 233, 21],
|
||||
["jump_false", 94, "record_path_156", 233, 21],
|
||||
["null", 95, 233, 21],
|
||||
@@ -1950,22 +1950,22 @@
|
||||
["setarg", 103, 0, 104, 233, 16],
|
||||
["setarg", 103, 1, 92, 233, 16],
|
||||
["invoke", 103, 101, 233, 16],
|
||||
["move", 5, 101, 233, 16],
|
||||
["move", 4, 101, 233, 16],
|
||||
["get", 106, 8, 1, 234, 16],
|
||||
["frame", 107, 106, 2, 234, 16],
|
||||
["null", 108, 234, 16],
|
||||
["setarg", 107, 0, 108, 234, 16],
|
||||
["setarg", 107, 1, 5, 234, 16],
|
||||
["setarg", 107, 1, 4, 234, 16],
|
||||
["setarg", 107, 2, 7, 234, 16],
|
||||
["invoke", 107, 105, 234, 16],
|
||||
["move", 6, 105, 234, 16],
|
||||
["move", 5, 105, 234, 16],
|
||||
["access", 109, "engine", 235, 18],
|
||||
["get", 111, 21, 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, 6, 235, 10],
|
||||
["setarg", 112, 2, 5, 235, 10],
|
||||
["setarg", 112, 3, 1, 235, 10],
|
||||
["tail_invoke", 112, 110, 235, 10],
|
||||
["return", 110, 235, 10],
|
||||
@@ -1983,17 +1983,17 @@
|
||||
"nr_slots": 136,
|
||||
"instructions": [
|
||||
["function", 28, 0, 0, 0],
|
||||
["move", 13, 28, 0, 0],
|
||||
["move", 3, 28, 0, 0],
|
||||
["function", 29, 1, 0, 0],
|
||||
["move", 11, 29, 0, 0],
|
||||
["function", 30, 2, 0, 0],
|
||||
["move", 14, 30, 0, 0],
|
||||
["move", 15, 30, 0, 0],
|
||||
["function", 31, 3, 0, 0],
|
||||
["move", 1, 31, 0, 0],
|
||||
["move", 2, 31, 0, 0],
|
||||
["function", 32, 4, 0, 0],
|
||||
["move", 2, 32, 0, 0],
|
||||
["move", 14, 32, 0, 0],
|
||||
["function", 33, 5, 0, 0],
|
||||
["move", 22, 33, 0, 0],
|
||||
["move", 23, 33, 0, 0],
|
||||
["function", 34, 6, 0, 0],
|
||||
["move", 9, 34, 0, 0],
|
||||
["function", 35, 7, 0, 0],
|
||||
@@ -2001,11 +2001,11 @@
|
||||
["function", 36, 8, 0, 0],
|
||||
["move", 21, 36, 0, 0],
|
||||
["function", 37, 9, 0, 0],
|
||||
["move", 27, 37, 0, 0],
|
||||
["move", 4, 37, 0, 0],
|
||||
["function", 38, 10, 0, 0],
|
||||
["move", 6, 38, 0, 0],
|
||||
["move", 1, 38, 0, 0],
|
||||
["function", 39, 11, 0, 0],
|
||||
["move", 3, 39, 0, 0],
|
||||
["move", 22, 39, 0, 0],
|
||||
[
|
||||
"access",
|
||||
40,
|
||||
@@ -2018,32 +2018,32 @@
|
||||
21
|
||||
],
|
||||
["load_field", 41, 40, "load_internal", 5, 21],
|
||||
["move", 19, 41, 5, 21],
|
||||
["move", 12, 41, 5, 21],
|
||||
["access", 42, "fd", 10, 20],
|
||||
["frame", 44, 13, 1, 10, 10],
|
||||
["frame", 44, 3, 1, 10, 10],
|
||||
["null", 45, 10, 10],
|
||||
["setarg", 44, 0, 45, 10, 10],
|
||||
["setarg", 44, 1, 42, 10, 10],
|
||||
["invoke", 44, 43, 10, 10],
|
||||
["move", 16, 43, 10, 10],
|
||||
["move", 17, 43, 10, 10],
|
||||
["access", 46, "json", 11, 22],
|
||||
["frame", 48, 13, 1, 11, 12],
|
||||
["frame", 48, 3, 1, 11, 12],
|
||||
["null", 49, 11, 12],
|
||||
["setarg", 48, 0, 49, 11, 12],
|
||||
["setarg", 48, 1, 46, 11, 12],
|
||||
["invoke", 48, 47, 11, 12],
|
||||
["move", 26, 47, 11, 12],
|
||||
["access", 50, "crypto", 12, 24],
|
||||
["frame", 52, 13, 1, 12, 14],
|
||||
["frame", 52, 3, 1, 12, 14],
|
||||
["null", 53, 12, 14],
|
||||
["setarg", 52, 0, 53, 12, 14],
|
||||
["setarg", 52, 1, 50, 12, 14],
|
||||
["invoke", 52, 51, 12, 14],
|
||||
["move", 20, 51, 12, 14],
|
||||
["record", 54, 0],
|
||||
["move", 23, 54, 14, 17],
|
||||
["move", 18, 54, 14, 17],
|
||||
["access", 55, "fd", 15, 11],
|
||||
["store_field", 23, 16, 55, 15, 11],
|
||||
["store_field", 18, 17, 55, 15, 11],
|
||||
[
|
||||
"access",
|
||||
56,
|
||||
@@ -2056,61 +2056,61 @@
|
||||
19
|
||||
],
|
||||
["access", 57, "os", 16, 11],
|
||||
["store_field", 23, 56, 57, 16, 11],
|
||||
["store_field", 18, 56, 57, 16, 11],
|
||||
["access", 58, "json", 17, 11],
|
||||
["store_field", 23, 26, 58, 17, 11],
|
||||
["store_field", 18, 26, 58, 17, 11],
|
||||
["access", 59, "crypto", 18, 11],
|
||||
["store_field", 23, 20, 59, 18, 11],
|
||||
["store_field", 18, 20, 59, 18, 11],
|
||||
["record", 60, 0],
|
||||
["store_field", 60, 2, "use", 74, 22],
|
||||
["store_field", 60, 14, "use", 74, 22],
|
||||
["move", 10, 60, 74, 22],
|
||||
["access", 61, "tokenize", 75, 30],
|
||||
["frame", 63, 22, 2, 75, 20],
|
||||
["frame", 63, 23, 2, 75, 20],
|
||||
["null", 64, 75, 20],
|
||||
["setarg", 63, 0, 64, 75, 20],
|
||||
["setarg", 63, 1, 61, 75, 20],
|
||||
["setarg", 63, 2, 10, 75, 20],
|
||||
["invoke", 63, 62, 75, 20],
|
||||
["move", 4, 62, 75, 20],
|
||||
["move", 5, 62, 75, 20],
|
||||
["access", 65, "parse", 76, 27],
|
||||
["frame", 67, 22, 2, 76, 17],
|
||||
["frame", 67, 23, 2, 76, 17],
|
||||
["null", 68, 76, 17],
|
||||
["setarg", 67, 0, 68, 76, 17],
|
||||
["setarg", 67, 1, 65, 76, 17],
|
||||
["setarg", 67, 2, 10, 76, 17],
|
||||
["invoke", 67, 66, 76, 17],
|
||||
["move", 17, 66, 76, 17],
|
||||
["move", 13, 66, 76, 17],
|
||||
["access", 69, "fold", 77, 26],
|
||||
["frame", 71, 22, 2, 77, 16],
|
||||
["frame", 71, 23, 2, 77, 16],
|
||||
["null", 72, 77, 16],
|
||||
["setarg", 71, 0, 72, 77, 16],
|
||||
["setarg", 71, 1, 69, 77, 16],
|
||||
["setarg", 71, 2, 10, 77, 16],
|
||||
["invoke", 71, 70, 77, 16],
|
||||
["move", 15, 70, 77, 16],
|
||||
["move", 16, 70, 77, 16],
|
||||
["access", 73, "tokenize", 78, 11],
|
||||
["store_field", 23, 4, 73, 78, 11],
|
||||
["store_field", 18, 5, 73, 78, 11],
|
||||
["access", 74, "parse", 79, 11],
|
||||
["store_field", 23, 17, 74, 79, 11],
|
||||
["store_field", 18, 13, 74, 79, 11],
|
||||
["access", 75, "fold", 80, 11],
|
||||
["store_field", 23, 15, 75, 80, 11],
|
||||
["store_field", 18, 16, 75, 80, 11],
|
||||
["access", 76, "mcode", 83, 27],
|
||||
["frame", 78, 22, 2, 83, 17],
|
||||
["frame", 78, 23, 2, 83, 17],
|
||||
["null", 79, 83, 17],
|
||||
["setarg", 78, 0, 79, 83, 17],
|
||||
["setarg", 78, 1, 76, 83, 17],
|
||||
["setarg", 78, 2, 10, 83, 17],
|
||||
["invoke", 78, 77, 83, 17],
|
||||
["move", 7, 77, 83, 17],
|
||||
["move", 27, 77, 83, 17],
|
||||
["access", 80, "mcode", 84, 11],
|
||||
["store_field", 23, 7, 80, 84, 11],
|
||||
["store_field", 18, 27, 80, 84, 11],
|
||||
["null", 25, 85, 22],
|
||||
["frame", 82, 9, 0, 126, 1],
|
||||
["null", 83, 126, 1],
|
||||
["setarg", 82, 0, 83, 126, 1],
|
||||
["invoke", 82, 81, 126, 1],
|
||||
["access", 84, "streamline", 164, 28],
|
||||
["frame", 86, 22, 2, 164, 18],
|
||||
["frame", 86, 23, 2, 164, 18],
|
||||
["null", 87, 164, 18],
|
||||
["setarg", 86, 0, 87, 164, 18],
|
||||
["setarg", 86, 1, 84, 164, 18],
|
||||
@@ -2118,12 +2118,12 @@
|
||||
["invoke", 86, 85, 164, 18],
|
||||
["move", 25, 85, 164, 18],
|
||||
["access", 88, "streamline", 165, 11],
|
||||
["store_field", 23, 25, 88, 165, 11],
|
||||
["null", 18, 168, 22],
|
||||
["store_field", 18, 25, 88, 165, 11],
|
||||
["null", 19, 168, 22],
|
||||
["null", 24, 240, 15],
|
||||
["array", 89, 0, 241, 17],
|
||||
["move", 5, 89, 241, 17],
|
||||
["access", 12, 0, 242, 10],
|
||||
["move", 6, 89, 241, 17],
|
||||
["access", 7, 0, 242, 10],
|
||||
[
|
||||
"access",
|
||||
90,
|
||||
@@ -2219,7 +2219,7 @@
|
||||
"if_else_168",
|
||||
"if_end_169",
|
||||
["access", 104, 1, 251, 8],
|
||||
["move", 12, 104, 251, 8],
|
||||
["move", 7, 104, 251, 8],
|
||||
"while_start_170",
|
||||
[
|
||||
"access",
|
||||
@@ -2233,25 +2233,25 @@
|
||||
22
|
||||
],
|
||||
["length", 106, 105, 252, 22],
|
||||
["is_int", 108, 12, 252, 22],
|
||||
["is_int", 108, 7, 252, 22],
|
||||
["jump_false", 108, "rel_ni_172", 252, 22],
|
||||
"_nop_tc_7",
|
||||
"_nop_tc_8",
|
||||
["lt_int", 107, 12, 106, 252, 22],
|
||||
["lt_int", 107, 7, 106, 252, 22],
|
||||
["jump", "rel_done_174", 252, 22],
|
||||
"rel_ni_172",
|
||||
["is_num", 108, 12, 252, 22],
|
||||
["is_num", 108, 7, 252, 22],
|
||||
["jump_false", 108, "rel_nn_173", 252, 22],
|
||||
"_nop_tc_9",
|
||||
"_nop_tc_10",
|
||||
["lt_float", 107, 12, 106, 252, 22],
|
||||
["lt_float", 107, 7, 106, 252, 22],
|
||||
["jump", "rel_done_174", 252, 22],
|
||||
"rel_nn_173",
|
||||
["is_text", 108, 12, 252, 22],
|
||||
["is_text", 108, 7, 252, 22],
|
||||
["jump_false", 108, "rel_err_175", 252, 22],
|
||||
"_nop_tc_11",
|
||||
["jump", "rel_err_175", 252, 22],
|
||||
["lt_text", 107, 12, 106, 252, 22],
|
||||
["lt_text", 107, 7, 106, 252, 22],
|
||||
["jump", "rel_done_174", 252, 22],
|
||||
"rel_err_175",
|
||||
["disrupt", 252, 22],
|
||||
@@ -2268,17 +2268,17 @@
|
||||
253,
|
||||
21
|
||||
],
|
||||
["load_dynamic", 111, 110, 12, 253, 26],
|
||||
["is_array", 112, 5, 253, 26],
|
||||
["load_dynamic", 111, 110, 7, 253, 26],
|
||||
["is_array", 112, 6, 253, 26],
|
||||
["jump_false", 112, "push_err_176", 253, 26],
|
||||
["push", 5, 111, 253, 26],
|
||||
["push", 6, 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, 12, 113, 254, 15],
|
||||
["move", 12, 114, 254, 15],
|
||||
["add", 114, 7, 113, 254, 15],
|
||||
["move", 7, 114, 254, 15],
|
||||
["jump", "while_start_170", 254, 15],
|
||||
"while_end_171",
|
||||
["record", 115, 0],
|
||||
@@ -2308,7 +2308,7 @@
|
||||
["store_field", 115, 117, "actorsym", 258, 23],
|
||||
["record", 118, 0],
|
||||
["store_field", 118, 24, "program", 259, 21],
|
||||
["store_field", 118, 5, "arg", 259, 35],
|
||||
["store_field", 118, 6, "arg", 259, 35],
|
||||
["store_field", 115, 118, "init", 259, 35],
|
||||
[
|
||||
"access",
|
||||
@@ -2337,13 +2337,13 @@
|
||||
["store_field", 115, 26, "json", 260, 55],
|
||||
["store_field", 115, 8, "analyze", 261, 14],
|
||||
["store_field", 115, 21, "run_ast_fn", 261, 35],
|
||||
["store_field", 115, 27, "run_ast_noopt_fn", 261, 62],
|
||||
["store_field", 115, 23, "use_cache", 262, 16],
|
||||
["store_field", 115, 4, "run_ast_noopt_fn", 261, 62],
|
||||
["store_field", 115, 18, "use_cache", 262, 16],
|
||||
["store_field", 115, 11, "content_hash", 263, 19],
|
||||
["store_field", 115, 14, "cache_path", 263, 45],
|
||||
["store_field", 115, 1, "ensure_build_dir", 264, 23],
|
||||
["store_field", 115, 6, "compile_to_blob_fn", 264, 61],
|
||||
["frame", 122, 3, 1, 257, 3],
|
||||
["store_field", 115, 15, "cache_path", 263, 45],
|
||||
["store_field", 115, 2, "ensure_build_dir", 264, 23],
|
||||
["store_field", 115, 1, "compile_to_blob_fn", 264, 61],
|
||||
["frame", 122, 22, 1, 257, 3],
|
||||
["null", 123, 257, 3],
|
||||
["setarg", 122, 0, 123, 257, 3],
|
||||
["setarg", 122, 1, 115, 257, 3],
|
||||
@@ -2438,13 +2438,13 @@
|
||||
["store_field", 124, 131, "wota", 270, 79],
|
||||
["store_field", 124, 8, "analyze", 271, 14],
|
||||
["store_field", 124, 21, "run_ast_fn", 271, 35],
|
||||
["store_field", 124, 27, "run_ast_noopt_fn", 271, 62],
|
||||
["store_field", 124, 23, "use_cache", 272, 16],
|
||||
["store_field", 124, 4, "run_ast_noopt_fn", 271, 62],
|
||||
["store_field", 124, 18, "use_cache", 272, 16],
|
||||
["store_field", 124, 11, "content_hash", 273, 19],
|
||||
["store_field", 124, 14, "cache_path", 273, 45],
|
||||
["store_field", 124, 1, "ensure_build_dir", 274, 23],
|
||||
["store_field", 124, 6, "compile_to_blob_fn", 274, 61],
|
||||
["frame", 133, 3, 1, 268, 3],
|
||||
["store_field", 124, 15, "cache_path", 273, 45],
|
||||
["store_field", 124, 2, "ensure_build_dir", 274, 23],
|
||||
["store_field", 124, 1, "compile_to_blob_fn", 274, 61],
|
||||
["frame", 133, 22, 1, 268, 3],
|
||||
["null", 134, 268, 3],
|
||||
["setarg", 133, 0, 134, 268, 3],
|
||||
["setarg", 133, 1, 124, 268, 3],
|
||||
|
||||
1114
boot/engine.cm.mcode
1114
boot/engine.cm.mcode
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
7980
boot/mcode.cm.mcode
7980
boot/mcode.cm.mcode
File diff suppressed because it is too large
Load Diff
1838
boot/parse.cm.mcode
1838
boot/parse.cm.mcode
File diff suppressed because it is too large
Load Diff
@@ -447,7 +447,7 @@
|
||||
"nr_slots": 11,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["get", 3, 4, 1, 1, 1],
|
||||
["get", 3, 17, 1, 1, 1],
|
||||
["array", 4, 0, 1, 1],
|
||||
["push", 4, 1, 1, 1],
|
||||
["push", 4, 2, 1, 1],
|
||||
@@ -507,7 +507,7 @@
|
||||
"nr_slots": 11,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["get", 3, 4, 1, 1, 1],
|
||||
["get", 3, 17, 1, 1, 1],
|
||||
["array", 4, 0, 1, 1],
|
||||
["push", 4, 1, 1, 1],
|
||||
["push", 4, 2, 1, 1],
|
||||
@@ -702,8 +702,8 @@
|
||||
"nr_slots": 14,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["get", 5, 12, 1, 1, 1],
|
||||
["get", 6, 16, 1, 1, 1],
|
||||
["get", 5, 8, 1, 1, 1],
|
||||
["get", 6, 1, 1, 1, 1],
|
||||
["array", 7, 0, 1, 1],
|
||||
["push", 7, 1, 1, 1],
|
||||
["push", 7, 1, 1, 1],
|
||||
@@ -815,8 +815,8 @@
|
||||
"nr_slots": 14,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["get", 5, 12, 1, 1, 1],
|
||||
["get", 6, 16, 1, 1, 1],
|
||||
["get", 5, 8, 1, 1, 1],
|
||||
["get", 6, 1, 1, 1, 1],
|
||||
["array", 7, 0, 1, 1],
|
||||
["push", 7, 1, 1, 1],
|
||||
["push", 7, 1, 1, 1],
|
||||
@@ -911,8 +911,8 @@
|
||||
"nr_slots": 14,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["get", 5, 12, 1, 1, 1],
|
||||
["get", 6, 16, 1, 1, 1],
|
||||
["get", 5, 8, 1, 1, 1],
|
||||
["get", 6, 1, 1, 1, 1],
|
||||
["array", 7, 0, 1, 1],
|
||||
["push", 7, 1, 1, 1],
|
||||
["push", 7, 1, 1, 1],
|
||||
@@ -1007,7 +1007,7 @@
|
||||
"nr_slots": 13,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["get", 5, 11, 1, 1, 1],
|
||||
["get", 5, 12, 1, 1, 1],
|
||||
["array", 6, 0, 1, 1],
|
||||
["push", 6, 1, 1, 1],
|
||||
["push", 6, 1, 1, 1],
|
||||
@@ -1117,7 +1117,7 @@
|
||||
"nr_slots": 13,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["get", 5, 11, 1, 1, 1],
|
||||
["get", 5, 12, 1, 1, 1],
|
||||
["array", 6, 0, 1, 1],
|
||||
["push", 6, 1, 1, 1],
|
||||
["push", 6, 1, 1, 1],
|
||||
@@ -1211,12 +1211,12 @@
|
||||
["move", 8, 11, 408, 20],
|
||||
["get", 12, 24, 1, 409, 25],
|
||||
["load_field", 13, 12, "float_id", 409, 25],
|
||||
["move", 7, 13, 409, 25],
|
||||
["move", 6, 13, 409, 25],
|
||||
["access", 9, 0, 410, 17],
|
||||
["get", 14, 46, 1, 411, 22],
|
||||
["get", 14, 47, 1, 411, 22],
|
||||
["move", 5, 14, 411, 22],
|
||||
["get", 15, 46, 1, 412, 18],
|
||||
["move", 6, 15, 412, 18],
|
||||
["get", 15, 47, 1, 412, 18],
|
||||
["move", 7, 15, 412, 18],
|
||||
["get", 16, 24, 1, 413, 7],
|
||||
["load_field", 17, 16, "is_eq", 413, 7],
|
||||
["move", 18, 17, 413, 7],
|
||||
@@ -1234,7 +1234,7 @@
|
||||
["get", 22, 24, 1, 416, 7],
|
||||
["load_field", 23, 22, "is_ne", 416, 7],
|
||||
["jump_false", 23, "if_else_3", 416, 7],
|
||||
["get", 24, 63, 1, 417, 20],
|
||||
["get", 24, 66, 1, 417, 20],
|
||||
["move", 5, 24, 417, 20],
|
||||
["jump", "if_end_4", 417, 20],
|
||||
"if_else_3",
|
||||
@@ -1242,8 +1242,8 @@
|
||||
["get", 25, 24, 1, 419, 7],
|
||||
["load_field", 26, 25, "null_true", 419, 7],
|
||||
["jump_false", 26, "if_else_5", 419, 7],
|
||||
["get", 27, 63, 1, 420, 16],
|
||||
["move", 6, 27, 420, 16],
|
||||
["get", 27, 66, 1, 420, 16],
|
||||
["move", 7, 27, 420, 16],
|
||||
["jump", "if_end_6", 420, 16],
|
||||
"if_else_5",
|
||||
"if_end_6",
|
||||
@@ -1296,7 +1296,7 @@
|
||||
["push", 28, 1, 1, 1],
|
||||
["push", 28, 1, 1, 1],
|
||||
["push", 28, 1, 1, 1],
|
||||
["push", 28, 6, 1, 1],
|
||||
["push", 28, 7, 1, 1],
|
||||
["push", 28, 1, 1, 1],
|
||||
["push", 28, 1, 1, 1],
|
||||
["push", 28, 1, 1, 1],
|
||||
@@ -1343,7 +1343,7 @@
|
||||
["push", 28, 1, 1, 1],
|
||||
["push", 28, 1, 1, 1],
|
||||
["push", 28, 2, 1, 1],
|
||||
["push", 28, 7, 1, 1],
|
||||
["push", 28, 6, 1, 1],
|
||||
["push", 28, 3, 1, 1],
|
||||
["push", 28, 4, 1, 1],
|
||||
["push", 28, 1, 1, 1],
|
||||
@@ -1427,7 +1427,7 @@
|
||||
["true", 10, 495, 85],
|
||||
["store_field", 5, 10, "null_true", 495, 85],
|
||||
["put", 5, 24, 1, 495, 85],
|
||||
["get", 12, 32, 1, 496, 10],
|
||||
["get", 12, 34, 1, 496, 10],
|
||||
["frame", 13, 12, 4, 496, 10],
|
||||
["null", 14, 496, 10],
|
||||
["setarg", 13, 0, 14, 496, 10],
|
||||
@@ -1461,7 +1461,7 @@
|
||||
["false", 10, 500, 85],
|
||||
["store_field", 5, 10, "null_true", 500, 85],
|
||||
["put", 5, 24, 1, 500, 85],
|
||||
["get", 12, 32, 1, 501, 10],
|
||||
["get", 12, 34, 1, 501, 10],
|
||||
["frame", 13, 12, 4, 501, 10],
|
||||
["null", 14, 501, 10],
|
||||
["setarg", 13, 0, 14, 501, 10],
|
||||
@@ -1495,7 +1495,7 @@
|
||||
["false", 10, 505, 87],
|
||||
["store_field", 5, 10, "null_true", 505, 87],
|
||||
["put", 5, 24, 1, 505, 87],
|
||||
["get", 12, 32, 1, 506, 10],
|
||||
["get", 12, 34, 1, 506, 10],
|
||||
["frame", 13, 12, 4, 506, 10],
|
||||
["null", 14, 506, 10],
|
||||
["setarg", 13, 0, 14, 506, 10],
|
||||
@@ -1529,7 +1529,7 @@
|
||||
["true", 10, 510, 87],
|
||||
["store_field", 5, 10, "null_true", 510, 87],
|
||||
["put", 5, 24, 1, 510, 87],
|
||||
["get", 12, 32, 1, 511, 10],
|
||||
["get", 12, 34, 1, 511, 10],
|
||||
["frame", 13, 12, 4, 511, 10],
|
||||
["null", 14, 511, 10],
|
||||
["setarg", 13, 0, 14, 511, 10],
|
||||
@@ -1563,7 +1563,7 @@
|
||||
["false", 10, 515, 87],
|
||||
["store_field", 5, 10, "null_true", 515, 87],
|
||||
["put", 5, 24, 1, 515, 87],
|
||||
["get", 12, 32, 1, 516, 10],
|
||||
["get", 12, 34, 1, 516, 10],
|
||||
["frame", 13, 12, 4, 516, 10],
|
||||
["null", 14, 516, 10],
|
||||
["setarg", 13, 0, 14, 516, 10],
|
||||
@@ -1609,7 +1609,7 @@
|
||||
"nr_slots": 12,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["get", 4, 12, 1, 1, 1],
|
||||
["get", 4, 8, 1, 1, 1],
|
||||
["array", 5, 0, 1, 1],
|
||||
["push", 5, 1, 1, 1],
|
||||
["push", 5, 1, 1, 1],
|
||||
@@ -1683,7 +1683,7 @@
|
||||
"nr_slots": 12,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["get", 4, 16, 1, 1, 1],
|
||||
["get", 4, 1, 1, 1, 1],
|
||||
["array", 5, 0, 1, 1],
|
||||
["push", 5, 1, 1, 1],
|
||||
["push", 5, 1, 1, 1],
|
||||
@@ -1757,7 +1757,7 @@
|
||||
"nr_slots": 12,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["get", 4, 12, 1, 1, 1],
|
||||
["get", 4, 8, 1, 1, 1],
|
||||
["array", 5, 0, 1, 1],
|
||||
["push", 5, 1, 1, 1],
|
||||
["push", 5, 1, 1, 1],
|
||||
@@ -1931,7 +1931,7 @@
|
||||
"nr_slots": 14,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["get", 6, 48, 1, 644, 16],
|
||||
["get", 6, 50, 1, 644, 16],
|
||||
["move", 5, 6, 644, 16],
|
||||
["array", 7, 0, 1, 1],
|
||||
["push", 7, 1, 1, 1],
|
||||
@@ -2012,8 +2012,8 @@
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["access", 5, "and", 671, 10],
|
||||
["put", 5, 48, 1, 671, 10],
|
||||
["get", 7, 7, 1, 672, 10],
|
||||
["put", 5, 50, 1, 671, 10],
|
||||
["get", 7, 6, 1, 672, 10],
|
||||
["frame", 8, 7, 4, 672, 10],
|
||||
["null", 9, 672, 10],
|
||||
["setarg", 8, 0, 9, 672, 10],
|
||||
@@ -2036,8 +2036,8 @@
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["access", 5, "or", 676, 10],
|
||||
["put", 5, 48, 1, 676, 10],
|
||||
["get", 7, 7, 1, 677, 10],
|
||||
["put", 5, 50, 1, 676, 10],
|
||||
["get", 7, 6, 1, 677, 10],
|
||||
["frame", 8, 7, 4, 677, 10],
|
||||
["null", 9, 677, 10],
|
||||
["setarg", 8, 0, 9, 677, 10],
|
||||
@@ -2060,8 +2060,8 @@
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["access", 5, "xor", 681, 10],
|
||||
["put", 5, 48, 1, 681, 10],
|
||||
["get", 7, 7, 1, 682, 10],
|
||||
["put", 5, 50, 1, 681, 10],
|
||||
["get", 7, 6, 1, 682, 10],
|
||||
["frame", 8, 7, 4, 682, 10],
|
||||
["null", 9, 682, 10],
|
||||
["setarg", 8, 0, 9, 682, 10],
|
||||
@@ -2083,7 +2083,7 @@
|
||||
"nr_slots": 14,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["get", 6, 48, 1, 688, 16],
|
||||
["get", 6, 50, 1, 688, 16],
|
||||
["move", 5, 6, 688, 16],
|
||||
["array", 7, 0, 1, 1],
|
||||
["push", 7, 1, 1, 1],
|
||||
@@ -2166,8 +2166,8 @@
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["access", 5, "shl", 716, 10],
|
||||
["put", 5, 48, 1, 716, 10],
|
||||
["get", 7, 37, 1, 717, 10],
|
||||
["put", 5, 50, 1, 716, 10],
|
||||
["get", 7, 39, 1, 717, 10],
|
||||
["frame", 8, 7, 4, 717, 10],
|
||||
["null", 9, 717, 10],
|
||||
["setarg", 8, 0, 9, 717, 10],
|
||||
@@ -2190,8 +2190,8 @@
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["access", 5, "sar", 721, 10],
|
||||
["put", 5, 48, 1, 721, 10],
|
||||
["get", 7, 37, 1, 722, 10],
|
||||
["put", 5, 50, 1, 721, 10],
|
||||
["get", 7, 39, 1, 722, 10],
|
||||
["frame", 8, 7, 4, 722, 10],
|
||||
["null", 9, 722, 10],
|
||||
["setarg", 8, 0, 9, 722, 10],
|
||||
@@ -2214,8 +2214,8 @@
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["access", 5, "shr", 726, 10],
|
||||
["put", 5, 48, 1, 726, 10],
|
||||
["get", 7, 37, 1, 727, 10],
|
||||
["put", 5, 50, 1, 726, 10],
|
||||
["get", 7, 39, 1, 727, 10],
|
||||
["frame", 8, 7, 4, 727, 10],
|
||||
["null", 9, 727, 10],
|
||||
["setarg", 8, 0, 9, 727, 10],
|
||||
@@ -2324,7 +2324,7 @@
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["access", 5, "ceqw", 754, 63],
|
||||
["get", 7, 20, 1, 754, 46],
|
||||
["get", 7, 21, 1, 754, 46],
|
||||
["frame", 8, 7, 4, 754, 46],
|
||||
["null", 9, 754, 46],
|
||||
["setarg", 8, 0, 9, 754, 46],
|
||||
@@ -2347,7 +2347,7 @@
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["access", 5, "cnew", 755, 63],
|
||||
["get", 7, 20, 1, 755, 46],
|
||||
["get", 7, 21, 1, 755, 46],
|
||||
["frame", 8, 7, 4, 755, 46],
|
||||
["null", 9, 755, 46],
|
||||
["setarg", 8, 0, 9, 755, 46],
|
||||
@@ -2370,7 +2370,7 @@
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["access", 5, "csltw", 756, 63],
|
||||
["get", 7, 20, 1, 756, 46],
|
||||
["get", 7, 21, 1, 756, 46],
|
||||
["frame", 8, 7, 4, 756, 46],
|
||||
["null", 9, 756, 46],
|
||||
["setarg", 8, 0, 9, 756, 46],
|
||||
@@ -2393,7 +2393,7 @@
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["access", 5, "cslew", 757, 63],
|
||||
["get", 7, 20, 1, 757, 46],
|
||||
["get", 7, 21, 1, 757, 46],
|
||||
["frame", 8, 7, 4, 757, 46],
|
||||
["null", 9, 757, 46],
|
||||
["setarg", 8, 0, 9, 757, 46],
|
||||
@@ -2416,7 +2416,7 @@
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["access", 5, "csgtw", 758, 63],
|
||||
["get", 7, 20, 1, 758, 46],
|
||||
["get", 7, 21, 1, 758, 46],
|
||||
["frame", 8, 7, 4, 758, 46],
|
||||
["null", 9, 758, 46],
|
||||
["setarg", 8, 0, 9, 758, 46],
|
||||
@@ -2439,7 +2439,7 @@
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["access", 5, "csgew", 759, 63],
|
||||
["get", 7, 20, 1, 759, 46],
|
||||
["get", 7, 21, 1, 759, 46],
|
||||
["frame", 8, 7, 4, 759, 46],
|
||||
["null", 9, 759, 46],
|
||||
["setarg", 8, 0, 9, 759, 46],
|
||||
@@ -2461,7 +2461,7 @@
|
||||
"nr_slots": 14,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["get", 6, 48, 1, 764, 15],
|
||||
["get", 6, 50, 1, 764, 15],
|
||||
["move", 5, 6, 764, 15],
|
||||
["array", 7, 0, 1, 1],
|
||||
["push", 7, 1, 1, 1],
|
||||
@@ -2507,8 +2507,8 @@
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["access", 5, 0, 772, 48],
|
||||
["put", 5, 48, 1, 772, 48],
|
||||
["get", 7, 75, 1, 772, 58],
|
||||
["put", 5, 50, 1, 772, 48],
|
||||
["get", 7, 32, 1, 772, 58],
|
||||
["frame", 8, 7, 4, 772, 58],
|
||||
["null", 9, 772, 58],
|
||||
["setarg", 8, 0, 9, 772, 58],
|
||||
@@ -2531,8 +2531,8 @@
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["access", 5, 1, 773, 48],
|
||||
["put", 5, 48, 1, 773, 48],
|
||||
["get", 7, 75, 1, 773, 58],
|
||||
["put", 5, 50, 1, 773, 48],
|
||||
["get", 7, 32, 1, 773, 58],
|
||||
["frame", 8, 7, 4, 773, 58],
|
||||
["null", 9, 773, 58],
|
||||
["setarg", 8, 0, 9, 773, 58],
|
||||
@@ -2555,8 +2555,8 @@
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["access", 5, 2, 774, 48],
|
||||
["put", 5, 48, 1, 774, 48],
|
||||
["get", 7, 75, 1, 774, 58],
|
||||
["put", 5, 50, 1, 774, 48],
|
||||
["get", 7, 32, 1, 774, 58],
|
||||
["frame", 8, 7, 4, 774, 58],
|
||||
["null", 9, 774, 58],
|
||||
["setarg", 8, 0, 9, 774, 58],
|
||||
@@ -2579,8 +2579,8 @@
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["access", 5, 3, 775, 48],
|
||||
["put", 5, 48, 1, 775, 48],
|
||||
["get", 7, 75, 1, 775, 58],
|
||||
["put", 5, 50, 1, 775, 48],
|
||||
["get", 7, 32, 1, 775, 58],
|
||||
["frame", 8, 7, 4, 775, 58],
|
||||
["null", 9, 775, 58],
|
||||
["setarg", 8, 0, 9, 775, 58],
|
||||
@@ -2603,8 +2603,8 @@
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["access", 5, 4, 776, 48],
|
||||
["put", 5, 48, 1, 776, 48],
|
||||
["get", 7, 75, 1, 776, 58],
|
||||
["put", 5, 50, 1, 776, 48],
|
||||
["get", 7, 32, 1, 776, 58],
|
||||
["frame", 8, 7, 4, 776, 58],
|
||||
["null", 9, 776, 58],
|
||||
["setarg", 8, 0, 9, 776, 58],
|
||||
@@ -2627,8 +2627,8 @@
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["access", 5, 5, 777, 48],
|
||||
["put", 5, 48, 1, 777, 48],
|
||||
["get", 7, 75, 1, 777, 58],
|
||||
["put", 5, 50, 1, 777, 48],
|
||||
["get", 7, 32, 1, 777, 58],
|
||||
["frame", 8, 7, 4, 777, 58],
|
||||
["null", 9, 777, 58],
|
||||
["setarg", 8, 0, 9, 777, 58],
|
||||
@@ -2650,9 +2650,9 @@
|
||||
"nr_slots": 16,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["get", 7, 48, 1, 782, 16],
|
||||
["get", 7, 50, 1, 782, 16],
|
||||
["move", 5, 7, 782, 16],
|
||||
["get", 8, 34, 1, 783, 17],
|
||||
["get", 8, 36, 1, 783, 17],
|
||||
["move", 6, 8, 783, 17],
|
||||
["array", 9, 0, 1, 1],
|
||||
["push", 9, 1, 1, 1],
|
||||
@@ -2701,10 +2701,10 @@
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["access", 5, "ceqw", 792, 47],
|
||||
["put", 5, 48, 1, 792, 47],
|
||||
["put", 5, 50, 1, 792, 47],
|
||||
["access", 6, 1, 792, 63],
|
||||
["put", 6, 34, 1, 792, 63],
|
||||
["get", 8, 10, 1, 792, 73],
|
||||
["put", 6, 36, 1, 792, 63],
|
||||
["get", 8, 11, 1, 792, 73],
|
||||
["frame", 9, 8, 4, 792, 73],
|
||||
["null", 10, 792, 73],
|
||||
["setarg", 9, 0, 10, 792, 73],
|
||||
@@ -2727,10 +2727,10 @@
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["access", 5, "cnew", 793, 47],
|
||||
["put", 5, 48, 1, 793, 47],
|
||||
["put", 5, 50, 1, 793, 47],
|
||||
["access", 6, 1, 793, 63],
|
||||
["put", 6, 34, 1, 793, 63],
|
||||
["get", 8, 10, 1, 793, 73],
|
||||
["put", 6, 36, 1, 793, 63],
|
||||
["get", 8, 11, 1, 793, 73],
|
||||
["frame", 9, 8, 4, 793, 73],
|
||||
["null", 10, 793, 73],
|
||||
["setarg", 9, 0, 10, 793, 73],
|
||||
@@ -2753,10 +2753,10 @@
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["access", 5, "csltw", 794, 47],
|
||||
["put", 5, 48, 1, 794, 47],
|
||||
["put", 5, 50, 1, 794, 47],
|
||||
["access", 6, 0, 794, 64],
|
||||
["put", 6, 34, 1, 794, 64],
|
||||
["get", 8, 10, 1, 794, 74],
|
||||
["put", 6, 36, 1, 794, 64],
|
||||
["get", 8, 11, 1, 794, 74],
|
||||
["frame", 9, 8, 4, 794, 74],
|
||||
["null", 10, 794, 74],
|
||||
["setarg", 9, 0, 10, 794, 74],
|
||||
@@ -2779,10 +2779,10 @@
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["access", 5, "cslew", 795, 47],
|
||||
["put", 5, 48, 1, 795, 47],
|
||||
["put", 5, 50, 1, 795, 47],
|
||||
["access", 6, 0, 795, 64],
|
||||
["put", 6, 34, 1, 795, 64],
|
||||
["get", 8, 10, 1, 795, 74],
|
||||
["put", 6, 36, 1, 795, 64],
|
||||
["get", 8, 11, 1, 795, 74],
|
||||
["frame", 9, 8, 4, 795, 74],
|
||||
["null", 10, 795, 74],
|
||||
["setarg", 9, 0, 10, 795, 74],
|
||||
@@ -2805,10 +2805,10 @@
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["access", 5, "csgtw", 796, 47],
|
||||
["put", 5, 48, 1, 796, 47],
|
||||
["put", 5, 50, 1, 796, 47],
|
||||
["access", 6, 0, 796, 64],
|
||||
["put", 6, 34, 1, 796, 64],
|
||||
["get", 8, 10, 1, 796, 74],
|
||||
["put", 6, 36, 1, 796, 64],
|
||||
["get", 8, 11, 1, 796, 74],
|
||||
["frame", 9, 8, 4, 796, 74],
|
||||
["null", 10, 796, 74],
|
||||
["setarg", 9, 0, 10, 796, 74],
|
||||
@@ -2831,10 +2831,10 @@
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["access", 5, "csgew", 797, 47],
|
||||
["put", 5, 48, 1, 797, 47],
|
||||
["put", 5, 50, 1, 797, 47],
|
||||
["access", 6, 0, 797, 64],
|
||||
["put", 6, 34, 1, 797, 64],
|
||||
["get", 8, 10, 1, 797, 74],
|
||||
["put", 6, 36, 1, 797, 64],
|
||||
["get", 8, 11, 1, 797, 74],
|
||||
["frame", 9, 8, 4, 797, 74],
|
||||
["null", 10, 797, 74],
|
||||
["setarg", 9, 0, 10, 797, 74],
|
||||
@@ -2978,105 +2978,105 @@
|
||||
"main": {
|
||||
"nr_args": 0,
|
||||
"nr_close_slots": 0,
|
||||
"nr_slots": 148,
|
||||
"nr_slots": 147,
|
||||
"instructions": [
|
||||
["access", 11, 7, 10, 15],
|
||||
["access", 46, 3, 11, 16],
|
||||
["access", 63, 35, 12, 15],
|
||||
["access", 47, 15, 13, 20],
|
||||
["access", 74, 27, 14, 21],
|
||||
["null", 48, 17, 12],
|
||||
["null", 34, 18, 13],
|
||||
["access", 12, 7, 10, 15],
|
||||
["access", 47, 3, 11, 16],
|
||||
["access", 66, 35, 12, 15],
|
||||
["access", 49, 15, 13, 20],
|
||||
["access", 7, 27, 14, 21],
|
||||
["null", 50, 17, 12],
|
||||
["null", 36, 18, 13],
|
||||
["null", 24, 19, 15],
|
||||
["access", 12, -2147483648, 21, 17],
|
||||
["access", 16, 2147483647, 22, 17],
|
||||
["access", 4, 4503599627370495, 23, 21],
|
||||
["access", 8, -2147483648, 21, 17],
|
||||
["access", 1, 2147483647, 22, 17],
|
||||
["access", 17, 4503599627370495, 23, 21],
|
||||
["function", 78, 0, 29, 14],
|
||||
["move", 76, 78, 29, 14],
|
||||
["function", 79, 1, 35, 17],
|
||||
["move", 69, 79, 35, 17],
|
||||
["move", 62, 79, 35, 17],
|
||||
["function", 80, 2, 44, 15],
|
||||
["move", 57, 80, 44, 15],
|
||||
["move", 59, 80, 44, 15],
|
||||
["function", 81, 3, 50, 15],
|
||||
["move", 35, 81, 50, 15],
|
||||
["move", 37, 81, 50, 15],
|
||||
["function", 82, 4, 56, 20],
|
||||
["move", 52, 82, 56, 20],
|
||||
["move", 54, 82, 56, 20],
|
||||
["function", 83, 5, 62, 14],
|
||||
["move", 26, 83, 62, 14],
|
||||
["move", 27, 83, 62, 14],
|
||||
["function", 84, 6, 68, 19],
|
||||
["move", 28, 84, 68, 19],
|
||||
["function", 85, 7, 74, 15],
|
||||
["move", 17, 85, 74, 15],
|
||||
["move", 16, 85, 74, 15],
|
||||
["function", 86, 8, 110, 15],
|
||||
["move", 13, 86, 110, 15],
|
||||
["function", 87, 9, 117, 16],
|
||||
["move", 70, 87, 117, 16],
|
||||
["move", 72, 87, 117, 16],
|
||||
["function", 88, 10, 124, 15],
|
||||
["move", 15, 88, 124, 15],
|
||||
["function", 89, 11, 131, 19],
|
||||
["move", 39, 89, 131, 19],
|
||||
["move", 48, 89, 131, 19],
|
||||
["function", 90, 12, 149, 18],
|
||||
["move", 73, 90, 149, 18],
|
||||
["move", 75, 90, 149, 18],
|
||||
["function", 91, 13, 186, 15],
|
||||
["move", 44, 91, 186, 15],
|
||||
["move", 46, 91, 186, 15],
|
||||
["function", 92, 14, 193, 16],
|
||||
["move", 64, 92, 193, 16],
|
||||
["move", 67, 92, 193, 16],
|
||||
["function", 93, 15, 201, 19],
|
||||
["move", 5, 93, 201, 19],
|
||||
["move", 20, 93, 201, 19],
|
||||
["function", 94, 16, 212, 11],
|
||||
["move", 41, 94, 212, 11],
|
||||
["move", 43, 94, 212, 11],
|
||||
["function", 95, 17, 254, 11],
|
||||
["move", 6, 95, 254, 11],
|
||||
["move", 5, 95, 254, 11],
|
||||
["function", 96, 18, 288, 11],
|
||||
["move", 1, 96, 288, 11],
|
||||
["move", 2, 96, 288, 11],
|
||||
["function", 97, 19, 322, 11],
|
||||
["move", 54, 97, 322, 11],
|
||||
["move", 56, 97, 322, 11],
|
||||
["function", 98, 20, 366, 11],
|
||||
["move", 2, 98, 366, 11],
|
||||
["move", 3, 98, 366, 11],
|
||||
["function", 99, 21, 407, 11],
|
||||
["move", 32, 99, 407, 11],
|
||||
["move", 34, 99, 407, 11],
|
||||
["function", 100, 22, 494, 10],
|
||||
["move", 68, 100, 494, 10],
|
||||
["move", 71, 100, 494, 10],
|
||||
["function", 101, 23, 499, 10],
|
||||
["move", 65, 101, 499, 10],
|
||||
["move", 68, 101, 499, 10],
|
||||
["function", 102, 24, 504, 10],
|
||||
["move", 49, 102, 504, 10],
|
||||
["move", 51, 102, 504, 10],
|
||||
["function", 103, 25, 509, 10],
|
||||
["move", 42, 103, 509, 10],
|
||||
["move", 44, 103, 509, 10],
|
||||
["function", 104, 26, 514, 10],
|
||||
["move", 66, 104, 514, 10],
|
||||
["move", 69, 104, 514, 10],
|
||||
["function", 105, 27, 519, 10],
|
||||
["move", 67, 105, 519, 10],
|
||||
["move", 70, 105, 519, 10],
|
||||
["function", 106, 28, 528, 11],
|
||||
["move", 55, 106, 528, 11],
|
||||
["move", 57, 106, 528, 11],
|
||||
["function", 107, 29, 555, 11],
|
||||
["move", 27, 107, 555, 11],
|
||||
["move", 29, 107, 555, 11],
|
||||
["function", 108, 30, 582, 11],
|
||||
["move", 30, 108, 582, 11],
|
||||
["move", 31, 108, 582, 11],
|
||||
["function", 109, 31, 609, 12],
|
||||
["move", 36, 109, 609, 12],
|
||||
["move", 38, 109, 609, 12],
|
||||
["function", 110, 32, 619, 12],
|
||||
["move", 58, 110, 619, 12],
|
||||
["move", 60, 110, 619, 12],
|
||||
["function", 111, 33, 643, 18],
|
||||
["move", 7, 111, 643, 18],
|
||||
["move", 6, 111, 643, 18],
|
||||
["function", 112, 34, 670, 12],
|
||||
["move", 31, 112, 670, 12],
|
||||
["move", 33, 112, 670, 12],
|
||||
["function", 113, 35, 675, 11],
|
||||
["move", 60, 113, 675, 11],
|
||||
["move", 63, 113, 675, 11],
|
||||
["function", 114, 36, 680, 12],
|
||||
["move", 51, 114, 680, 12],
|
||||
["move", 53, 114, 680, 12],
|
||||
["function", 115, 37, 687, 16],
|
||||
["move", 37, 115, 687, 16],
|
||||
["move", 39, 115, 687, 16],
|
||||
["function", 116, 38, 715, 11],
|
||||
["move", 56, 116, 715, 11],
|
||||
["move", 58, 116, 715, 11],
|
||||
["function", 117, 39, 720, 11],
|
||||
["move", 71, 117, 720, 11],
|
||||
["move", 73, 117, 720, 11],
|
||||
["function", 118, 40, 725, 12],
|
||||
["move", 3, 118, 725, 12],
|
||||
["move", 4, 118, 725, 12],
|
||||
["function", 119, 41, 736, 14],
|
||||
["move", 8, 119, 736, 14],
|
||||
["move", 9, 119, 736, 14],
|
||||
["function", 120, 42, 742, 15],
|
||||
["move", 20, 120, 742, 15],
|
||||
["move", 21, 120, 742, 15],
|
||||
["function", 121, 43, 754, 14],
|
||||
["move", 25, 121, 754, 14],
|
||||
["function", 122, 44, 755, 14],
|
||||
@@ -3084,33 +3084,33 @@
|
||||
["function", 123, 45, 756, 14],
|
||||
["move", 23, 123, 756, 14],
|
||||
["function", 124, 46, 757, 14],
|
||||
["move", 29, 124, 757, 14],
|
||||
["move", 30, 124, 757, 14],
|
||||
["function", 125, 47, 758, 14],
|
||||
["move", 72, 125, 758, 14],
|
||||
["move", 74, 125, 758, 14],
|
||||
["function", 126, 48, 759, 14],
|
||||
["move", 9, 126, 759, 14],
|
||||
["move", 10, 126, 759, 14],
|
||||
["function", 127, 49, 763, 17],
|
||||
["move", 75, 127, 763, 17],
|
||||
["move", 32, 127, 763, 17],
|
||||
["function", 128, 50, 772, 16],
|
||||
["move", 77, 128, 772, 16],
|
||||
["function", 129, 51, 773, 16],
|
||||
["move", 38, 129, 773, 16],
|
||||
["move", 40, 129, 773, 16],
|
||||
["function", 130, 52, 774, 16],
|
||||
["move", 40, 130, 774, 16],
|
||||
["move", 41, 130, 774, 16],
|
||||
["function", 131, 53, 775, 16],
|
||||
["move", 61, 131, 775, 16],
|
||||
["move", 64, 131, 775, 16],
|
||||
["function", 132, 54, 776, 16],
|
||||
["move", 43, 132, 776, 16],
|
||||
["move", 42, 132, 776, 16],
|
||||
["function", 133, 55, 777, 16],
|
||||
["move", 50, 133, 777, 16],
|
||||
["move", 52, 133, 777, 16],
|
||||
["function", 134, 56, 781, 16],
|
||||
["move", 10, 134, 781, 16],
|
||||
["move", 11, 134, 781, 16],
|
||||
["function", 135, 57, 792, 15],
|
||||
["move", 21, 135, 792, 15],
|
||||
["move", 22, 135, 792, 15],
|
||||
["function", 136, 58, 793, 15],
|
||||
["move", 33, 136, 793, 15],
|
||||
["move", 35, 136, 793, 15],
|
||||
["function", 137, 59, 794, 15],
|
||||
["move", 22, 137, 794, 15],
|
||||
["move", 26, 137, 794, 15],
|
||||
["function", 138, 60, 795, 15],
|
||||
["move", 18, 138, 795, 15],
|
||||
["function", 139, 61, 796, 15],
|
||||
@@ -3118,79 +3118,78 @@
|
||||
["function", 140, 62, 797, 15],
|
||||
["move", 14, 140, 797, 15],
|
||||
["function", 141, 63, 800, 15],
|
||||
["move", 59, 141, 800, 15],
|
||||
["move", 61, 141, 800, 15],
|
||||
["function", 142, 64, 808, 15],
|
||||
["move", 53, 142, 808, 15],
|
||||
["move", 55, 142, 808, 15],
|
||||
["function", 143, 65, 817, 20],
|
||||
["move", 62, 143, 817, 20],
|
||||
["move", 65, 143, 817, 20],
|
||||
["record", 144, 0],
|
||||
["store_field", 144, 11, "js_null", 831, 12],
|
||||
["store_field", 144, 46, "js_false", 832, 13],
|
||||
["store_field", 144, 63, "js_true", 833, 12],
|
||||
["store_field", 144, 12, "js_null", 831, 12],
|
||||
["store_field", 144, 47, "js_false", 832, 13],
|
||||
["store_field", 144, 66, "js_true", 833, 12],
|
||||
["access", 145, 15, 834, 17],
|
||||
["store_field", 144, 145, "js_exception", 834, 17],
|
||||
["access", 146, 27, 835, 18],
|
||||
["store_field", 144, 146, "js_empty_text", 835, 18],
|
||||
["store_field", 144, 7, "js_empty_text", 835, 18],
|
||||
["store_field", 144, 76, "is_int", 837, 11],
|
||||
["store_field", 144, 69, "is_number", 838, 14],
|
||||
["store_field", 144, 57, "is_null", 839, 12],
|
||||
["store_field", 144, 35, "is_bool", 840, 12],
|
||||
["store_field", 144, 52, "is_exception", 841, 17],
|
||||
["store_field", 144, 26, "is_ptr", 842, 11],
|
||||
["store_field", 144, 62, "is_number", 838, 14],
|
||||
["store_field", 144, 59, "is_null", 839, 12],
|
||||
["store_field", 144, 37, "is_bool", 840, 12],
|
||||
["store_field", 144, 54, "is_exception", 841, 17],
|
||||
["store_field", 144, 27, "is_ptr", 842, 11],
|
||||
["store_field", 144, 28, "is_imm_text", 843, 16],
|
||||
["store_field", 144, 17, "is_text", 844, 12],
|
||||
["store_field", 144, 16, "is_text", 844, 12],
|
||||
["store_field", 144, 13, "get_int", 846, 12],
|
||||
["store_field", 144, 70, "get_bool", 847, 13],
|
||||
["store_field", 144, 72, "get_bool", 847, 13],
|
||||
["store_field", 144, 15, "get_ptr", 848, 12],
|
||||
["store_field", 144, 39, "get_float64", 849, 16],
|
||||
["store_field", 144, 73, "to_float64", 850, 15],
|
||||
["store_field", 144, 44, "new_int", 852, 12],
|
||||
["store_field", 144, 64, "new_bool", 853, 13],
|
||||
["store_field", 144, 5, "new_float64", 854, 16],
|
||||
["store_field", 144, 41, "add", 856, 8],
|
||||
["store_field", 144, 6, "sub", 857, 8],
|
||||
["store_field", 144, 1, "mul", 858, 8],
|
||||
["store_field", 144, 54, "div", 859, 8],
|
||||
["store_field", 144, 2, "mod", 860, 8],
|
||||
["store_field", 144, 68, "eq", 862, 7],
|
||||
["store_field", 144, 65, "ne", 863, 7],
|
||||
["store_field", 144, 49, "lt", 864, 7],
|
||||
["store_field", 144, 42, "le", 865, 7],
|
||||
["store_field", 144, 66, "gt", 866, 7],
|
||||
["store_field", 144, 67, "ge", 867, 7],
|
||||
["store_field", 144, 55, "neg", 869, 8],
|
||||
["store_field", 144, 27, "inc", 870, 8],
|
||||
["store_field", 144, 30, "dec", 871, 8],
|
||||
["store_field", 144, 36, "lnot", 872, 9],
|
||||
["store_field", 144, 58, "bnot", 873, 9],
|
||||
["store_field", 144, 31, "band", 875, 9],
|
||||
["store_field", 144, 60, "bor", 876, 8],
|
||||
["store_field", 144, 51, "bxor", 877, 9],
|
||||
["store_field", 144, 56, "shl", 878, 8],
|
||||
["store_field", 144, 71, "shr", 879, 8],
|
||||
["store_field", 144, 3, "ushr", 880, 9],
|
||||
["store_field", 144, 8, "concat", 882, 11],
|
||||
["store_field", 144, 48, "get_float64", 849, 16],
|
||||
["store_field", 144, 75, "to_float64", 850, 15],
|
||||
["store_field", 144, 46, "new_int", 852, 12],
|
||||
["store_field", 144, 67, "new_bool", 853, 13],
|
||||
["store_field", 144, 20, "new_float64", 854, 16],
|
||||
["store_field", 144, 43, "add", 856, 8],
|
||||
["store_field", 144, 5, "sub", 857, 8],
|
||||
["store_field", 144, 2, "mul", 858, 8],
|
||||
["store_field", 144, 56, "div", 859, 8],
|
||||
["store_field", 144, 3, "mod", 860, 8],
|
||||
["store_field", 144, 71, "eq", 862, 7],
|
||||
["store_field", 144, 68, "ne", 863, 7],
|
||||
["store_field", 144, 51, "lt", 864, 7],
|
||||
["store_field", 144, 44, "le", 865, 7],
|
||||
["store_field", 144, 69, "gt", 866, 7],
|
||||
["store_field", 144, 70, "ge", 867, 7],
|
||||
["store_field", 144, 57, "neg", 869, 8],
|
||||
["store_field", 144, 29, "inc", 870, 8],
|
||||
["store_field", 144, 31, "dec", 871, 8],
|
||||
["store_field", 144, 38, "lnot", 872, 9],
|
||||
["store_field", 144, 60, "bnot", 873, 9],
|
||||
["store_field", 144, 33, "band", 875, 9],
|
||||
["store_field", 144, 63, "bor", 876, 8],
|
||||
["store_field", 144, 53, "bxor", 877, 9],
|
||||
["store_field", 144, 58, "shl", 878, 8],
|
||||
["store_field", 144, 73, "shr", 879, 8],
|
||||
["store_field", 144, 4, "ushr", 880, 9],
|
||||
["store_field", 144, 9, "concat", 882, 11],
|
||||
["store_field", 144, 25, "eq_int", 884, 11],
|
||||
["store_field", 144, 19, "ne_int", 885, 11],
|
||||
["store_field", 144, 23, "lt_int", 886, 11],
|
||||
["store_field", 144, 29, "le_int", 887, 11],
|
||||
["store_field", 144, 72, "gt_int", 888, 11],
|
||||
["store_field", 144, 9, "ge_int", 889, 11],
|
||||
["store_field", 144, 30, "le_int", 887, 11],
|
||||
["store_field", 144, 74, "gt_int", 888, 11],
|
||||
["store_field", 144, 10, "ge_int", 889, 11],
|
||||
["store_field", 144, 77, "eq_float", 891, 13],
|
||||
["store_field", 144, 38, "ne_float", 892, 13],
|
||||
["store_field", 144, 40, "lt_float", 893, 13],
|
||||
["store_field", 144, 61, "le_float", 894, 13],
|
||||
["store_field", 144, 43, "gt_float", 895, 13],
|
||||
["store_field", 144, 50, "ge_float", 896, 13],
|
||||
["store_field", 144, 21, "eq_text", 898, 12],
|
||||
["store_field", 144, 33, "ne_text", 899, 12],
|
||||
["store_field", 144, 22, "lt_text", 900, 12],
|
||||
["store_field", 144, 40, "ne_float", 892, 13],
|
||||
["store_field", 144, 41, "lt_float", 893, 13],
|
||||
["store_field", 144, 64, "le_float", 894, 13],
|
||||
["store_field", 144, 42, "gt_float", 895, 13],
|
||||
["store_field", 144, 52, "ge_float", 896, 13],
|
||||
["store_field", 144, 22, "eq_text", 898, 12],
|
||||
["store_field", 144, 35, "ne_text", 899, 12],
|
||||
["store_field", 144, 26, "lt_text", 900, 12],
|
||||
["store_field", 144, 18, "le_text", 901, 12],
|
||||
["store_field", 144, 45, "gt_text", 902, 12],
|
||||
["store_field", 144, 14, "ge_text", 903, 12],
|
||||
["store_field", 144, 59, "eq_bool", 905, 12],
|
||||
["store_field", 144, 53, "ne_bool", 906, 12],
|
||||
["store_field", 144, 62, "is_identical", 908, 17],
|
||||
["store_field", 144, 61, "eq_bool", 905, 12],
|
||||
["store_field", 144, 55, "ne_bool", 906, 12],
|
||||
["store_field", 144, 65, "is_identical", 908, 17],
|
||||
["return", 144, 908, 17],
|
||||
"_nop_ur_1",
|
||||
"_nop_ur_2"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"nr_slots": 5,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["get", 2, 6, 1, 18, 10],
|
||||
["get", 2, 7, 1, 18, 10],
|
||||
["is_array", 3, 2, 18, 15],
|
||||
["jump_false", 3, "push_err_0", 18, 15],
|
||||
["push", 2, 1, 18, 15],
|
||||
@@ -274,7 +274,7 @@
|
||||
"nr_slots": 48,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["get", 5, 9, 1, 47, 9],
|
||||
["get", 5, 13, 1, 47, 9],
|
||||
["load_dynamic", 6, 5, 1, 47, 19],
|
||||
["null", 7, 47, 27],
|
||||
["is_identical", 8, 6, 7, 47, 27],
|
||||
@@ -322,7 +322,7 @@
|
||||
["true", 8, 47, 27],
|
||||
"ne_done_4",
|
||||
["jump_false", 8, "if_else_2", 47, 27],
|
||||
["get", 11, 9, 1, 47, 40],
|
||||
["get", 11, 13, 1, 47, 40],
|
||||
["load_dynamic", 12, 11, 1, 47, 50],
|
||||
["return", 12, 47, 50],
|
||||
"_nop_ur_1",
|
||||
@@ -412,7 +412,7 @@
|
||||
"push_err_12",
|
||||
["disrupt", 53, 20],
|
||||
"push_done_13",
|
||||
["get", 46, 9, 1, 54, 5],
|
||||
["get", 46, 13, 1, 54, 5],
|
||||
["store_dynamic", 46, 2, 1, 54, 15],
|
||||
["return", 2, 55, 12],
|
||||
"_nop_ur_2",
|
||||
@@ -662,12 +662,12 @@
|
||||
["null", 14, 85, 14],
|
||||
["null", 5, 86, 14],
|
||||
["null", 12, 88, 13],
|
||||
["null", 16, 89, 14],
|
||||
["null", 17, 89, 14],
|
||||
["null", 6, 90, 14],
|
||||
["access", 7, 0, 91, 18],
|
||||
["access", 15, 0, 92, 20],
|
||||
["access", 17, 0, 93, 14],
|
||||
["access", 18, 0, 94, 21],
|
||||
["access", 16, 0, 92, 20],
|
||||
["access", 18, 0, 93, 14],
|
||||
["access", 15, 0, 94, 21],
|
||||
["array", 37, 0, 1, 1],
|
||||
["push", 37, 8, 1, 1],
|
||||
[
|
||||
@@ -1468,7 +1468,7 @@
|
||||
"if_else_94",
|
||||
["is_text", 276, 14, 162, 28],
|
||||
["jump_false", 276, "if_else_98", 162, 28],
|
||||
["get", 278, 13, 1, 163, 16],
|
||||
["get", 278, 14, 1, 163, 16],
|
||||
["frame", 279, 278, 1, 163, 16],
|
||||
["null", 280, 163, 16],
|
||||
["setarg", 279, 0, 280, 163, 16],
|
||||
@@ -1555,7 +1555,7 @@
|
||||
"eq_done_104",
|
||||
["jump_false", 298, "if_else_102", 166, 26],
|
||||
["load_field", 301, 14, "name", 167, 29],
|
||||
["get", 303, 13, 1, 167, 18],
|
||||
["get", 303, 14, 1, 167, 18],
|
||||
["frame", 304, 303, 1, 167, 18],
|
||||
["null", 305, 167, 18],
|
||||
["setarg", 304, 0, 305, 167, 18],
|
||||
@@ -1943,7 +1943,7 @@
|
||||
"eq_done_141",
|
||||
["jump_false", 400, "if_else_139", 177, 33],
|
||||
["load_field", 403, 14, "value", 178, 29],
|
||||
["get", 405, 13, 1, 178, 18],
|
||||
["get", 405, 14, 1, 178, 18],
|
||||
["frame", 406, 405, 1, 178, 18],
|
||||
["null", 407, 178, 18],
|
||||
["setarg", 406, 0, 407, 178, 18],
|
||||
@@ -8142,64 +8142,64 @@
|
||||
["false", 2410, 496, 17],
|
||||
"eq_done_654",
|
||||
["jump_false", 2410, "if_else_652", 496, 17],
|
||||
["get", 2414, 14, 1, 497, 14],
|
||||
["get", 2414, 5, 1, 497, 14],
|
||||
["frame", 2415, 2414, 1, 497, 14],
|
||||
["null", 2416, 497, 14],
|
||||
["setarg", 2415, 0, 2416, 497, 14],
|
||||
["setarg", 2415, 1, 5, 497, 14],
|
||||
["invoke", 2415, 2413, 497, 14],
|
||||
["move", 16, 2413, 497, 14],
|
||||
["move", 17, 2413, 497, 14],
|
||||
["null", 2417, 498, 19],
|
||||
["is_identical", 2418, 16, 2417, 498, 19],
|
||||
["is_identical", 2418, 17, 2417, 498, 19],
|
||||
["jump_true", 2418, "ne_nid_663", 498, 19],
|
||||
["jump", "ne_ni_664", 498, 19],
|
||||
"ne_nid_663",
|
||||
["false", 2418, 498, 19],
|
||||
["jump", "ne_done_662", 498, 19],
|
||||
"ne_ni_664",
|
||||
["is_int", 2419, 16, 498, 19],
|
||||
["is_int", 2419, 17, 498, 19],
|
||||
["jump_false", 2419, "ne_nn_665", 498, 19],
|
||||
"_nop_tc_397",
|
||||
["jump", "ne_nn_665", 498, 19],
|
||||
["ne_int", 2418, 16, 2417, 498, 19],
|
||||
["ne_int", 2418, 17, 2417, 498, 19],
|
||||
["jump", "ne_done_662", 498, 19],
|
||||
"ne_nn_665",
|
||||
["is_num", 2419, 16, 498, 19],
|
||||
["is_num", 2419, 17, 498, 19],
|
||||
["jump_false", 2419, "ne_nt_666", 498, 19],
|
||||
"_nop_tc_398",
|
||||
["jump", "ne_nt_666", 498, 19],
|
||||
["ne_float", 2418, 16, 2417, 498, 19],
|
||||
["ne_float", 2418, 17, 2417, 498, 19],
|
||||
["jump", "ne_done_662", 498, 19],
|
||||
"ne_nt_666",
|
||||
["is_text", 2419, 16, 498, 19],
|
||||
["is_text", 2419, 17, 498, 19],
|
||||
["jump_false", 2419, "ne_nnl_667", 498, 19],
|
||||
"_nop_tc_399",
|
||||
["jump", "ne_nnl_667", 498, 19],
|
||||
["ne_text", 2418, 16, 2417, 498, 19],
|
||||
["ne_text", 2418, 17, 2417, 498, 19],
|
||||
["jump", "ne_done_662", 498, 19],
|
||||
"ne_nnl_667",
|
||||
["is_null", 2419, 16, 498, 19],
|
||||
["is_null", 2419, 17, 498, 19],
|
||||
["jump_false", 2419, "ne_nb_668", 498, 19],
|
||||
"_nop_tc_400",
|
||||
"_nop_tc_401",
|
||||
["false", 2418, 498, 19],
|
||||
["jump", "ne_done_662", 498, 19],
|
||||
"ne_nb_668",
|
||||
["is_bool", 2419, 16, 498, 19],
|
||||
["is_bool", 2419, 17, 498, 19],
|
||||
["jump_false", 2419, "ne_mis_669", 498, 19],
|
||||
"_nop_tc_402",
|
||||
["jump", "ne_mis_669", 498, 19],
|
||||
["ne_bool", 2418, 16, 2417, 498, 19],
|
||||
["ne_bool", 2418, 17, 2417, 498, 19],
|
||||
["jump", "ne_done_662", 498, 19],
|
||||
"ne_mis_669",
|
||||
["true", 2418, 498, 19],
|
||||
"ne_done_662",
|
||||
["jump_false", 2418, "if_else_660", 498, 19],
|
||||
["get", 2422, 13, 1, 499, 16],
|
||||
["get", 2422, 14, 1, 499, 16],
|
||||
["frame", 2423, 2422, 1, 499, 16],
|
||||
["null", 2424, 499, 16],
|
||||
["setarg", 2423, 0, 2424, 499, 16],
|
||||
["setarg", 2423, 1, 16, 499, 16],
|
||||
["setarg", 2423, 1, 17, 499, 16],
|
||||
["invoke", 2423, 2421, 499, 16],
|
||||
["move", 6, 2421, 499, 16],
|
||||
["get", 2426, 12, 1, 1, 1],
|
||||
@@ -8533,64 +8533,64 @@
|
||||
["false", 2527, 517, 17],
|
||||
"eq_done_688",
|
||||
["jump_false", 2527, "if_else_686", 517, 17],
|
||||
["get", 2531, 14, 1, 519, 14],
|
||||
["get", 2531, 5, 1, 519, 14],
|
||||
["frame", 2532, 2531, 1, 519, 14],
|
||||
["null", 2533, 519, 14],
|
||||
["setarg", 2532, 0, 2533, 519, 14],
|
||||
["setarg", 2532, 1, 5, 519, 14],
|
||||
["invoke", 2532, 2530, 519, 14],
|
||||
["move", 16, 2530, 519, 14],
|
||||
["move", 17, 2530, 519, 14],
|
||||
["null", 2534, 520, 19],
|
||||
["is_identical", 2535, 16, 2534, 520, 19],
|
||||
["is_identical", 2535, 17, 2534, 520, 19],
|
||||
["jump_true", 2535, "ne_nid_697", 520, 19],
|
||||
["jump", "ne_ni_698", 520, 19],
|
||||
"ne_nid_697",
|
||||
["false", 2535, 520, 19],
|
||||
["jump", "ne_done_696", 520, 19],
|
||||
"ne_ni_698",
|
||||
["is_int", 2536, 16, 520, 19],
|
||||
["is_int", 2536, 17, 520, 19],
|
||||
["jump_false", 2536, "ne_nn_699", 520, 19],
|
||||
"_nop_tc_421",
|
||||
["jump", "ne_nn_699", 520, 19],
|
||||
["ne_int", 2535, 16, 2534, 520, 19],
|
||||
["ne_int", 2535, 17, 2534, 520, 19],
|
||||
["jump", "ne_done_696", 520, 19],
|
||||
"ne_nn_699",
|
||||
["is_num", 2536, 16, 520, 19],
|
||||
["is_num", 2536, 17, 520, 19],
|
||||
["jump_false", 2536, "ne_nt_700", 520, 19],
|
||||
"_nop_tc_422",
|
||||
["jump", "ne_nt_700", 520, 19],
|
||||
["ne_float", 2535, 16, 2534, 520, 19],
|
||||
["ne_float", 2535, 17, 2534, 520, 19],
|
||||
["jump", "ne_done_696", 520, 19],
|
||||
"ne_nt_700",
|
||||
["is_text", 2536, 16, 520, 19],
|
||||
["is_text", 2536, 17, 520, 19],
|
||||
["jump_false", 2536, "ne_nnl_701", 520, 19],
|
||||
"_nop_tc_423",
|
||||
["jump", "ne_nnl_701", 520, 19],
|
||||
["ne_text", 2535, 16, 2534, 520, 19],
|
||||
["ne_text", 2535, 17, 2534, 520, 19],
|
||||
["jump", "ne_done_696", 520, 19],
|
||||
"ne_nnl_701",
|
||||
["is_null", 2536, 16, 520, 19],
|
||||
["is_null", 2536, 17, 520, 19],
|
||||
["jump_false", 2536, "ne_nb_702", 520, 19],
|
||||
"_nop_tc_424",
|
||||
"_nop_tc_425",
|
||||
["false", 2535, 520, 19],
|
||||
["jump", "ne_done_696", 520, 19],
|
||||
"ne_nb_702",
|
||||
["is_bool", 2536, 16, 520, 19],
|
||||
["is_bool", 2536, 17, 520, 19],
|
||||
["jump_false", 2536, "ne_mis_703", 520, 19],
|
||||
"_nop_tc_426",
|
||||
["jump", "ne_mis_703", 520, 19],
|
||||
["ne_bool", 2535, 16, 2534, 520, 19],
|
||||
["ne_bool", 2535, 17, 2534, 520, 19],
|
||||
["jump", "ne_done_696", 520, 19],
|
||||
"ne_mis_703",
|
||||
["true", 2535, 520, 19],
|
||||
"ne_done_696",
|
||||
["jump_false", 2535, "if_else_694", 520, 19],
|
||||
["get", 2539, 13, 1, 521, 16],
|
||||
["get", 2539, 14, 1, 521, 16],
|
||||
["frame", 2540, 2539, 1, 521, 16],
|
||||
["null", 2541, 521, 16],
|
||||
["setarg", 2540, 0, 2541, 521, 16],
|
||||
["setarg", 2540, 1, 16, 521, 16],
|
||||
["setarg", 2540, 1, 17, 521, 16],
|
||||
["invoke", 2540, 2538, 521, 16],
|
||||
["move", 6, 2538, 521, 16],
|
||||
["get", 2543, 12, 1, 1, 1],
|
||||
@@ -10834,7 +10834,7 @@
|
||||
["access", 3182, 0, 643, 38],
|
||||
["move", 3181, 3182, 643, 38],
|
||||
"tern_end_857",
|
||||
["move", 15, 3181, 643, 38],
|
||||
["move", 16, 3181, 643, 38],
|
||||
["get", 3184, 12, 1, 1, 1],
|
||||
["frame", 3185, 3184, 1, 1, 1],
|
||||
["null", 3186, 1, 1],
|
||||
@@ -10868,36 +10868,36 @@
|
||||
["setarg", 3195, 1, 3190, 644, 9],
|
||||
["invoke", 3195, 3193, 644, 9],
|
||||
["access", 3197, 0, 645, 14],
|
||||
["move", 17, 3197, 645, 14],
|
||||
["move", 18, 3197, 645, 14],
|
||||
"while_start_866",
|
||||
["is_int", 3199, 17, 646, 21],
|
||||
["is_int", 3199, 18, 646, 21],
|
||||
["jump_false", 3199, "rel_ni_868", 646, 21],
|
||||
["is_int", 3200, 15, 646, 21],
|
||||
["is_int", 3200, 16, 646, 21],
|
||||
["jump_false", 3200, "rel_ni_868", 646, 21],
|
||||
["lt_int", 3198, 17, 15, 646, 21],
|
||||
["lt_int", 3198, 18, 16, 646, 21],
|
||||
["jump", "rel_done_870", 646, 21],
|
||||
"rel_ni_868",
|
||||
["is_num", 3199, 17, 646, 21],
|
||||
["is_num", 3199, 18, 646, 21],
|
||||
["jump_false", 3199, "rel_nn_869", 646, 21],
|
||||
["is_num", 3200, 15, 646, 21],
|
||||
["is_num", 3200, 16, 646, 21],
|
||||
["jump_false", 3200, "rel_nn_869", 646, 21],
|
||||
["lt_float", 3198, 17, 15, 646, 21],
|
||||
["lt_float", 3198, 18, 16, 646, 21],
|
||||
["jump", "rel_done_870", 646, 21],
|
||||
"rel_nn_869",
|
||||
["is_text", 3199, 17, 646, 21],
|
||||
["is_text", 3199, 18, 646, 21],
|
||||
["jump_false", 3199, "rel_err_871", 646, 21],
|
||||
["is_text", 3200, 15, 646, 21],
|
||||
["is_text", 3200, 16, 646, 21],
|
||||
["jump_false", 3200, "rel_err_871", 646, 21],
|
||||
["lt_text", 3198, 17, 15, 646, 21],
|
||||
["lt_text", 3198, 18, 16, 646, 21],
|
||||
["jump", "rel_done_870", 646, 21],
|
||||
"rel_err_871",
|
||||
["disrupt", 646, 21],
|
||||
"rel_done_870",
|
||||
["jump_false", 3198, "while_end_867", 646, 21],
|
||||
["access", 3201, 3, 647, 29],
|
||||
["add", 3202, 3201, 17, 647, 33],
|
||||
["add", 3202, 3201, 18, 647, 33],
|
||||
["load_dynamic", 3203, 19, 3202, 647, 33],
|
||||
["move", 18, 3203, 647, 33],
|
||||
["move", 15, 3203, 647, 33],
|
||||
["get", 3205, 12, 1, 1, 1],
|
||||
["frame", 3206, 3205, 1, 1, 1],
|
||||
["null", 3207, 1, 1],
|
||||
@@ -10918,13 +10918,13 @@
|
||||
["frame", 3210, 3209, 1, 1, 1],
|
||||
["null", 3211, 1, 1],
|
||||
["setarg", 3210, 0, 3211, 1, 1],
|
||||
["setarg", 3210, 1, 17, 1, 1],
|
||||
["setarg", 3210, 1, 18, 1, 1],
|
||||
["invoke", 3210, 3208, 1, 1],
|
||||
["get", 3213, 12, 1, 1, 1],
|
||||
["frame", 3214, 3213, 1, 1, 1],
|
||||
["null", 3215, 1, 1],
|
||||
["setarg", 3214, 0, 3215, 1, 1],
|
||||
["setarg", 3214, 1, 18, 1, 1],
|
||||
["setarg", 3214, 1, 15, 1, 1],
|
||||
["invoke", 3214, 3212, 1, 1],
|
||||
["array", 3216, 0, 1, 1],
|
||||
["push", 3216, 3204, 1, 1],
|
||||
@@ -10955,8 +10955,8 @@
|
||||
["setarg", 3224, 1, 3219, 648, 11],
|
||||
["invoke", 3224, 3222, 648, 11],
|
||||
["access", 3226, 1, 649, 21],
|
||||
["add", 3227, 17, 3226, 649, 21],
|
||||
["move", 17, 3227, 649, 21],
|
||||
["add", 3227, 18, 3226, 649, 21],
|
||||
["move", 18, 3227, 649, 21],
|
||||
["jump", "while_start_866", 649, 21],
|
||||
"while_end_867",
|
||||
["frame", 3229, 9, 1, 651, 9],
|
||||
@@ -11554,11 +11554,11 @@
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["array", 18, 0, 7, 13],
|
||||
["move", 6, 18, 7, 13],
|
||||
["move", 7, 18, 7, 13],
|
||||
["array", 19, 0, 8, 18],
|
||||
["move", 3, 19, 8, 18],
|
||||
["record", 20, 0],
|
||||
["move", 9, 20, 9, 19],
|
||||
["move", 13, 20, 9, 19],
|
||||
["access", 4, 0, 10, 16],
|
||||
["access", 16, 0, 11, 13],
|
||||
["function", 21, 0, 17, 14],
|
||||
@@ -11570,58 +11570,58 @@
|
||||
["function", 24, 3, 30, 18],
|
||||
["move", 15, 24, 30, 18],
|
||||
["function", 25, 4, 46, 20],
|
||||
["move", 13, 25, 46, 20],
|
||||
["move", 14, 25, 46, 20],
|
||||
["function", 26, 5, 62, 19],
|
||||
["move", 14, 26, 62, 19],
|
||||
["move", 5, 26, 62, 19],
|
||||
["function", 27, 7, 75, 20],
|
||||
["move", 8, 27, 75, 20],
|
||||
["access", 7, 0, 701, 12],
|
||||
["move", 9, 27, 75, 20],
|
||||
["access", 8, 0, 701, 12],
|
||||
"while_start_920",
|
||||
["load_field", 28, 1, "functions", 702, 22],
|
||||
["length", 29, 28, 702, 22],
|
||||
["is_int", 31, 7, 702, 22],
|
||||
["is_int", 31, 8, 702, 22],
|
||||
["jump_false", 31, "rel_ni_922", 702, 22],
|
||||
"_nop_tc_1",
|
||||
"_nop_tc_2",
|
||||
["lt_int", 30, 7, 29, 702, 22],
|
||||
["lt_int", 30, 8, 29, 702, 22],
|
||||
["jump", "rel_done_924", 702, 22],
|
||||
"rel_ni_922",
|
||||
["is_num", 31, 7, 702, 22],
|
||||
["is_num", 31, 8, 702, 22],
|
||||
["jump_false", 31, "rel_nn_923", 702, 22],
|
||||
"_nop_tc_3",
|
||||
"_nop_tc_4",
|
||||
["lt_float", 30, 7, 29, 702, 22],
|
||||
["lt_float", 30, 8, 29, 702, 22],
|
||||
["jump", "rel_done_924", 702, 22],
|
||||
"rel_nn_923",
|
||||
["is_text", 31, 7, 702, 22],
|
||||
["is_text", 31, 8, 702, 22],
|
||||
["jump_false", 31, "rel_err_925", 702, 22],
|
||||
"_nop_tc_5",
|
||||
["jump", "rel_err_925", 702, 22],
|
||||
["lt_text", 30, 7, 29, 702, 22],
|
||||
["lt_text", 30, 8, 29, 702, 22],
|
||||
["jump", "rel_done_924", 702, 22],
|
||||
"rel_err_925",
|
||||
["disrupt", 702, 22],
|
||||
"rel_done_924",
|
||||
["jump_false", 30, "while_end_921", 702, 22],
|
||||
["load_field", 33, 1, "functions", 703, 16],
|
||||
["load_dynamic", 34, 33, 7, 703, 29],
|
||||
["load_dynamic", 34, 33, 8, 703, 29],
|
||||
["false", 35, 703, 38],
|
||||
["frame", 37, 8, 3, 703, 5],
|
||||
["frame", 37, 9, 3, 703, 5],
|
||||
["null", 38, 703, 5],
|
||||
["setarg", 37, 0, 38, 703, 5],
|
||||
["setarg", 37, 1, 34, 703, 5],
|
||||
["setarg", 37, 2, 7, 703, 5],
|
||||
["setarg", 37, 2, 8, 703, 5],
|
||||
["setarg", 37, 3, 35, 703, 5],
|
||||
["invoke", 37, 36, 703, 5],
|
||||
["access", 39, 1, 704, 15],
|
||||
["add", 40, 7, 39, 704, 15],
|
||||
["move", 7, 40, 704, 15],
|
||||
["add", 40, 8, 39, 704, 15],
|
||||
["move", 8, 40, 704, 15],
|
||||
["jump", "while_start_920", 704, 15],
|
||||
"while_end_921",
|
||||
["load_field", 41, 1, "main", 707, 14],
|
||||
["access", 42, -1, 707, 23],
|
||||
["true", 43, 707, 27],
|
||||
["frame", 45, 8, 3, 707, 3],
|
||||
["frame", 45, 9, 3, 707, 3],
|
||||
["null", 46, 707, 3],
|
||||
["setarg", 45, 0, 46, 707, 3],
|
||||
["setarg", 45, 1, 41, 707, 3],
|
||||
@@ -11629,7 +11629,7 @@
|
||||
["setarg", 45, 3, 43, 707, 3],
|
||||
["invoke", 45, 44, 707, 3],
|
||||
["array", 47, 0, 710, 16],
|
||||
["move", 5, 47, 710, 16],
|
||||
["move", 6, 47, 710, 16],
|
||||
["access", 17, 0, 711, 12],
|
||||
"while_start_926",
|
||||
["length", 48, 3, 712, 22],
|
||||
@@ -11658,9 +11658,9 @@
|
||||
"rel_done_930",
|
||||
["jump_false", 49, "while_end_927", 712, 22],
|
||||
["load_dynamic", 52, 3, 17, 713, 27],
|
||||
["is_array", 53, 5, 713, 27],
|
||||
["is_array", 53, 6, 713, 27],
|
||||
["jump_false", 53, "push_err_932", 713, 27],
|
||||
["push", 5, 52, 713, 27],
|
||||
["push", 6, 52, 713, 27],
|
||||
["jump", "push_done_933", 713, 27],
|
||||
"push_err_932",
|
||||
["disrupt", 713, 27],
|
||||
@@ -11697,9 +11697,9 @@
|
||||
"rel_done_938",
|
||||
["jump_false", 58, "if_else_934", 716, 26],
|
||||
["access", 61, "", 716, 42],
|
||||
["is_array", 62, 5, 716, 42],
|
||||
["is_array", 62, 6, 716, 42],
|
||||
["jump_false", 62, "push_err_940", 716, 42],
|
||||
["push", 5, 61, 716, 42],
|
||||
["push", 6, 61, 716, 42],
|
||||
["jump", "push_done_941", 716, 42],
|
||||
"push_err_940",
|
||||
["disrupt", 716, 42],
|
||||
@@ -11710,7 +11710,7 @@
|
||||
["access", 63, 0, 718, 8],
|
||||
["move", 17, 63, 718, 8],
|
||||
"while_start_942",
|
||||
["length", 64, 6, 719, 22],
|
||||
["length", 64, 7, 719, 22],
|
||||
["is_int", 66, 17, 719, 22],
|
||||
["jump_false", 66, "rel_ni_944", 719, 22],
|
||||
"_nop_tc_20",
|
||||
@@ -11735,10 +11735,10 @@
|
||||
["disrupt", 719, 22],
|
||||
"rel_done_946",
|
||||
["jump_false", 65, "while_end_943", 719, 22],
|
||||
["load_dynamic", 68, 6, 17, 720, 22],
|
||||
["is_array", 69, 5, 720, 22],
|
||||
["load_dynamic", 68, 7, 17, 720, 22],
|
||||
["is_array", 69, 6, 720, 22],
|
||||
["jump_false", 69, "push_err_948", 720, 22],
|
||||
["push", 5, 68, 720, 22],
|
||||
["push", 6, 68, 720, 22],
|
||||
["jump", "push_done_949", 720, 22],
|
||||
"push_err_948",
|
||||
["disrupt", 720, 22],
|
||||
@@ -11763,7 +11763,7 @@
|
||||
["frame", 75, 74, 2, 724, 10],
|
||||
["null", 76, 724, 10],
|
||||
["setarg", 75, 0, 76, 724, 10],
|
||||
["setarg", 75, 1, 5, 724, 10],
|
||||
["setarg", 75, 1, 6, 724, 10],
|
||||
["setarg", 75, 2, 72, 724, 10],
|
||||
["tail_invoke", 75, 73, 724, 10],
|
||||
["return", 73, 724, 10],
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
"nr_slots": 24,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["get", 3, 16, 1, 16, 7],
|
||||
["get", 3, 1, 1, 16, 7],
|
||||
["load_dynamic", 4, 3, 1, 16, 17],
|
||||
["jump_false", 4, "if_else_0", 16, 17],
|
||||
["get", 5, 16, 1, 17, 12],
|
||||
["get", 5, 1, 1, 17, 12],
|
||||
["load_dynamic", 6, 5, 1, 17, 22],
|
||||
["return", 6, 17, 22],
|
||||
"_nop_ur_1",
|
||||
@@ -47,7 +47,7 @@
|
||||
["invoke", 19, 17, 18, 16],
|
||||
["move", 2, 17, 18, 16],
|
||||
["jump_false", 2, "if_else_2", 19, 7],
|
||||
["get", 21, 16, 1, 20, 5],
|
||||
["get", 21, 1, 1, 20, 5],
|
||||
["store_dynamic", 21, 2, 1, 20, 15],
|
||||
["return", 2, 21, 12],
|
||||
"_nop_ur_2",
|
||||
@@ -85,7 +85,7 @@
|
||||
["add", 9, 7, 8, 28, 50],
|
||||
["move", 2, 9, 28, 50],
|
||||
["null", 3, 29, 20],
|
||||
["get", 11, 3, 1, 30, 8],
|
||||
["get", 11, 4, 1, 30, 8],
|
||||
["is_proxy", 12, 11, 30, 8],
|
||||
["jump_false", 12, "record_path_6", 30, 8],
|
||||
["null", 13, 30, 8],
|
||||
@@ -131,7 +131,7 @@
|
||||
["jump", "if_end_5", 32, 5],
|
||||
"if_else_4",
|
||||
"if_end_5",
|
||||
["get", 29, 3, 1, 34, 21],
|
||||
["get", 29, 4, 1, 34, 21],
|
||||
["is_proxy", 30, 29, 34, 21],
|
||||
["jump_false", 30, "record_path_8", 34, 21],
|
||||
["null", 31, 34, 21],
|
||||
@@ -169,7 +169,7 @@
|
||||
["invoke", 39, 37, 34, 16],
|
||||
["move", 3, 37, 34, 16],
|
||||
["record", 41, 0],
|
||||
["get", 42, 2, 1, 35, 50],
|
||||
["get", 42, 3, 1, 35, 50],
|
||||
["store_field", 41, 42, "use", 35, 50],
|
||||
[
|
||||
"access",
|
||||
@@ -212,7 +212,7 @@
|
||||
["move", 3, 8, 51, 20],
|
||||
["load_field", 12, 3, "tokens", 52, 23],
|
||||
["get", 13, 6, 1, 52, 57],
|
||||
["get", 15, 4, 1, 52, 13],
|
||||
["get", 15, 16, 1, 52, 13],
|
||||
["frame", 16, 15, 4, 52, 13],
|
||||
["null", 17, 52, 13],
|
||||
["setarg", 16, 0, 17, 52, 13],
|
||||
@@ -503,7 +503,7 @@
|
||||
["jump", "if_end_24", 66, 5],
|
||||
"if_else_23",
|
||||
"if_end_24",
|
||||
["get", 77, 1, 1, 68, 10],
|
||||
["get", 77, 2, 1, 68, 10],
|
||||
["frame", 78, 77, 1, 68, 10],
|
||||
["null", 79, 68, 10],
|
||||
["setarg", 78, 0, 79, 68, 10],
|
||||
@@ -522,7 +522,7 @@
|
||||
"nr_slots": 29,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["get", 8, 10, 1, 72, 18],
|
||||
["get", 8, 7, 1, 72, 18],
|
||||
["frame", 9, 8, 1, 72, 18],
|
||||
["null", 10, 72, 18],
|
||||
["setarg", 9, 0, 10, 72, 18],
|
||||
@@ -535,7 +535,7 @@
|
||||
["setarg", 13, 0, 14, 73, 19],
|
||||
["setarg", 13, 1, 4, 73, 19],
|
||||
["invoke", 13, 11, 73, 19],
|
||||
["move", 6, 11, 73, 19],
|
||||
["move", 5, 11, 73, 19],
|
||||
[
|
||||
"access",
|
||||
16,
|
||||
@@ -552,7 +552,7 @@
|
||||
["null", 18, 74, 20],
|
||||
["access", 19, "encode", 74, 20],
|
||||
["array", 20, 0, 74, 20],
|
||||
["push", 20, 6, 74, 20],
|
||||
["push", 20, 5, 74, 20],
|
||||
["frame", 21, 16, 2, 74, 20],
|
||||
["setarg", 21, 0, 18, 74, 20],
|
||||
["setarg", 21, 1, 19, 74, 20],
|
||||
@@ -563,10 +563,10 @@
|
||||
["load_field", 22, 16, "encode", 74, 20],
|
||||
["frame", 23, 22, 1, 74, 20],
|
||||
["setarg", 23, 0, 16, 74, 20],
|
||||
["setarg", 23, 1, 6, 74, 20],
|
||||
["setarg", 23, 1, 5, 74, 20],
|
||||
["invoke", 23, 15, 74, 20],
|
||||
"call_done_42",
|
||||
["move", 5, 15, 74, 20],
|
||||
["move", 6, 15, 74, 20],
|
||||
[
|
||||
"access",
|
||||
25,
|
||||
@@ -582,7 +582,7 @@
|
||||
["null", 27, 75, 10],
|
||||
["setarg", 26, 0, 27, 75, 10],
|
||||
["setarg", 26, 1, 1, 75, 10],
|
||||
["setarg", 26, 2, 5, 75, 10],
|
||||
["setarg", 26, 2, 6, 75, 10],
|
||||
["setarg", 26, 3, 3, 75, 10],
|
||||
["tail_invoke", 26, 24, 75, 10],
|
||||
["return", 24, 75, 10],
|
||||
@@ -598,16 +598,16 @@
|
||||
"nr_slots": 122,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["null", 2, 79, 16],
|
||||
["null", 4, 80, 19],
|
||||
["null", 3, 81, 16],
|
||||
["null", 6, 82, 13],
|
||||
["null", 3, 79, 16],
|
||||
["null", 2, 80, 19],
|
||||
["null", 4, 81, 16],
|
||||
["null", 5, 82, 13],
|
||||
["null", 7, 83, 20],
|
||||
["null", 5, 84, 20],
|
||||
["get", 8, 16, 1, 85, 7],
|
||||
["null", 6, 84, 20],
|
||||
["get", 8, 1, 1, 85, 7],
|
||||
["load_dynamic", 9, 8, 1, 85, 17],
|
||||
["jump_false", 9, "if_else_43", 85, 17],
|
||||
["get", 10, 16, 1, 86, 12],
|
||||
["get", 10, 1, 1, 86, 12],
|
||||
["load_dynamic", 11, 10, 1, 86, 22],
|
||||
["return", 11, 86, 22],
|
||||
"_nop_ur_1",
|
||||
@@ -643,11 +643,11 @@
|
||||
["setarg", 24, 0, 25, 89, 12],
|
||||
["setarg", 24, 1, 21, 89, 12],
|
||||
["invoke", 24, 22, 89, 12],
|
||||
["move", 2, 22, 89, 12],
|
||||
["jump_false", 2, "if_else_45", 90, 7],
|
||||
["get", 26, 16, 1, 91, 5],
|
||||
["store_dynamic", 26, 2, 1, 91, 15],
|
||||
["return", 2, 92, 12],
|
||||
["move", 3, 22, 89, 12],
|
||||
["jump_false", 3, "if_else_45", 90, 7],
|
||||
["get", 26, 1, 1, 91, 5],
|
||||
["store_dynamic", 26, 3, 1, 91, 15],
|
||||
["return", 3, 92, 12],
|
||||
"_nop_ur_2",
|
||||
"if_else_45",
|
||||
"if_end_46",
|
||||
@@ -668,7 +668,7 @@
|
||||
["access", 31, ".cm.mcode", 96, 46],
|
||||
["add", 32, 30, 31, 96, 46],
|
||||
["move", 7, 32, 96, 46],
|
||||
["get", 34, 3, 1, 97, 7],
|
||||
["get", 34, 4, 1, 97, 7],
|
||||
["is_proxy", 35, 34, 97, 7],
|
||||
["jump_false", 35, "record_path_49", 97, 7],
|
||||
["null", 36, 97, 7],
|
||||
@@ -689,7 +689,7 @@
|
||||
["invoke", 41, 33, 97, 7],
|
||||
"call_done_50",
|
||||
["jump_false", 33, "if_else_47", 97, 7],
|
||||
["get", 43, 3, 1, 98, 23],
|
||||
["get", 43, 4, 1, 98, 23],
|
||||
["is_proxy", 44, 43, 98, 23],
|
||||
["jump_false", 44, "record_path_51", 98, 23],
|
||||
["null", 45, 98, 23],
|
||||
@@ -725,7 +725,7 @@
|
||||
["setarg", 53, 0, 54, 98, 18],
|
||||
["setarg", 53, 1, 42, 98, 18],
|
||||
["invoke", 53, 51, 98, 18],
|
||||
["move", 5, 51, 98, 18],
|
||||
["move", 6, 51, 98, 18],
|
||||
["record", 55, 0],
|
||||
["get", 56, 12, 1, 99, 54],
|
||||
["store_field", 55, 56, "use", 99, 54],
|
||||
@@ -744,26 +744,26 @@
|
||||
["null", 60, 99, 14],
|
||||
["setarg", 59, 0, 60, 99, 14],
|
||||
["setarg", 59, 1, 1, 99, 14],
|
||||
["setarg", 59, 2, 5, 99, 14],
|
||||
["setarg", 59, 2, 6, 99, 14],
|
||||
["setarg", 59, 3, 55, 99, 14],
|
||||
["invoke", 59, 57, 99, 14],
|
||||
["move", 2, 57, 99, 14],
|
||||
["get", 61, 16, 1, 100, 5],
|
||||
["store_dynamic", 61, 2, 1, 100, 15],
|
||||
["return", 2, 101, 12],
|
||||
["move", 3, 57, 99, 14],
|
||||
["get", 61, 1, 1, 100, 5],
|
||||
["store_dynamic", 61, 3, 1, 100, 15],
|
||||
["return", 3, 101, 12],
|
||||
"_nop_ur_3",
|
||||
"if_else_47",
|
||||
"if_end_48",
|
||||
["access", 62, ".cm", 105, 22],
|
||||
["add", 63, 1, 62, 105, 22],
|
||||
["move", 4, 63, 105, 22],
|
||||
["get", 65, 3, 1, 106, 8],
|
||||
["move", 2, 63, 105, 22],
|
||||
["get", 65, 4, 1, 106, 8],
|
||||
["is_proxy", 66, 65, 106, 8],
|
||||
["jump_false", 66, "record_path_55", 106, 8],
|
||||
["null", 67, 106, 8],
|
||||
["access", 68, "is_file", 106, 8],
|
||||
["array", 69, 0, 106, 8],
|
||||
["push", 69, 4, 106, 8],
|
||||
["push", 69, 2, 106, 8],
|
||||
["frame", 70, 65, 2, 106, 8],
|
||||
["setarg", 70, 0, 67, 106, 8],
|
||||
["setarg", 70, 1, 68, 106, 8],
|
||||
@@ -774,7 +774,7 @@
|
||||
["load_field", 71, 65, "is_file", 106, 8],
|
||||
["frame", 72, 71, 1, 106, 8],
|
||||
["setarg", 72, 0, 65, 106, 8],
|
||||
["setarg", 72, 1, 4, 106, 8],
|
||||
["setarg", 72, 1, 2, 106, 8],
|
||||
["invoke", 72, 64, 106, 8],
|
||||
"call_done_56",
|
||||
"_nop_bl_1",
|
||||
@@ -795,17 +795,17 @@
|
||||
["add", 77, 76, 1, 107, 35],
|
||||
["access", 78, ".cm", 107, 42],
|
||||
["add", 79, 77, 78, 107, 42],
|
||||
["move", 4, 79, 107, 42],
|
||||
["move", 2, 79, 107, 42],
|
||||
["jump", "if_end_54", 107, 42],
|
||||
"if_else_53",
|
||||
"if_end_54",
|
||||
["get", 81, 3, 1, 108, 7],
|
||||
["get", 81, 4, 1, 108, 7],
|
||||
["is_proxy", 82, 81, 108, 7],
|
||||
["jump_false", 82, "record_path_59", 108, 7],
|
||||
["null", 83, 108, 7],
|
||||
["access", 84, "is_file", 108, 7],
|
||||
["array", 85, 0, 108, 7],
|
||||
["push", 85, 4, 108, 7],
|
||||
["push", 85, 2, 108, 7],
|
||||
["frame", 86, 81, 2, 108, 7],
|
||||
["setarg", 86, 0, 83, 108, 7],
|
||||
["setarg", 86, 1, 84, 108, 7],
|
||||
@@ -816,17 +816,17 @@
|
||||
["load_field", 87, 81, "is_file", 108, 7],
|
||||
["frame", 88, 87, 1, 108, 7],
|
||||
["setarg", 88, 0, 81, 108, 7],
|
||||
["setarg", 88, 1, 4, 108, 7],
|
||||
["setarg", 88, 1, 2, 108, 7],
|
||||
["invoke", 88, 80, 108, 7],
|
||||
"call_done_60",
|
||||
["jump_false", 80, "if_else_57", 108, 7],
|
||||
["get", 90, 3, 1, 109, 19],
|
||||
["get", 90, 4, 1, 109, 19],
|
||||
["is_proxy", 91, 90, 109, 19],
|
||||
["jump_false", 91, "record_path_61", 109, 19],
|
||||
["null", 92, 109, 19],
|
||||
["access", 93, "slurp", 109, 19],
|
||||
["array", 94, 0, 109, 19],
|
||||
["push", 94, 4, 109, 19],
|
||||
["push", 94, 2, 109, 19],
|
||||
["frame", 95, 90, 2, 109, 19],
|
||||
["setarg", 95, 0, 92, 109, 19],
|
||||
["setarg", 95, 1, 93, 109, 19],
|
||||
@@ -837,7 +837,7 @@
|
||||
["load_field", 96, 90, "slurp", 109, 19],
|
||||
["frame", 97, 96, 1, 109, 19],
|
||||
["setarg", 97, 0, 90, 109, 19],
|
||||
["setarg", 97, 1, 4, 109, 19],
|
||||
["setarg", 97, 1, 2, 109, 19],
|
||||
["invoke", 97, 89, 109, 19],
|
||||
"call_done_62",
|
||||
[
|
||||
@@ -856,30 +856,30 @@
|
||||
["setarg", 100, 0, 101, 109, 14],
|
||||
["setarg", 100, 1, 89, 109, 14],
|
||||
["invoke", 100, 98, 109, 14],
|
||||
["move", 3, 98, 109, 14],
|
||||
["move", 4, 98, 109, 14],
|
||||
["get", 103, 11, 1, 110, 11],
|
||||
["frame", 104, 103, 2, 110, 11],
|
||||
["null", 105, 110, 11],
|
||||
["setarg", 104, 0, 105, 110, 11],
|
||||
["setarg", 104, 1, 3, 110, 11],
|
||||
["setarg", 104, 2, 4, 110, 11],
|
||||
["setarg", 104, 1, 4, 110, 11],
|
||||
["setarg", 104, 2, 2, 110, 11],
|
||||
["invoke", 104, 102, 110, 11],
|
||||
["move", 6, 102, 110, 11],
|
||||
["move", 5, 102, 110, 11],
|
||||
["record", 106, 0],
|
||||
["get", 107, 12, 1, 111, 39],
|
||||
["store_field", 106, 107, "use", 111, 39],
|
||||
["get", 109, 13, 1, 111, 14],
|
||||
["get", 109, 14, 1, 111, 14],
|
||||
["frame", 110, 109, 3, 111, 14],
|
||||
["null", 111, 111, 14],
|
||||
["setarg", 110, 0, 111, 111, 14],
|
||||
["setarg", 110, 1, 1, 111, 14],
|
||||
["setarg", 110, 2, 6, 111, 14],
|
||||
["setarg", 110, 2, 5, 111, 14],
|
||||
["setarg", 110, 3, 106, 111, 14],
|
||||
["invoke", 110, 108, 111, 14],
|
||||
["move", 2, 108, 111, 14],
|
||||
["get", 112, 16, 1, 112, 5],
|
||||
["store_dynamic", 112, 2, 1, 112, 15],
|
||||
["return", 2, 113, 12],
|
||||
["move", 3, 108, 111, 14],
|
||||
["get", 112, 1, 1, 112, 5],
|
||||
["store_dynamic", 112, 3, 1, 112, 15],
|
||||
["return", 3, 113, 12],
|
||||
"_nop_ur_4",
|
||||
"if_else_57",
|
||||
"if_end_58",
|
||||
@@ -918,13 +918,13 @@
|
||||
"nr_slots": 161,
|
||||
"instructions": [
|
||||
["function", 20, 0, 0, 0],
|
||||
["move", 2, 20, 0, 0],
|
||||
["move", 3, 20, 0, 0],
|
||||
["function", 21, 1, 0, 0],
|
||||
["move", 15, 21, 0, 0],
|
||||
["move", 5, 21, 0, 0],
|
||||
["function", 22, 2, 0, 0],
|
||||
["move", 11, 22, 0, 0],
|
||||
["function", 23, 3, 0, 0],
|
||||
["move", 13, 23, 0, 0],
|
||||
["move", 14, 23, 0, 0],
|
||||
["function", 24, 4, 0, 0],
|
||||
["move", 12, 24, 0, 0],
|
||||
[
|
||||
@@ -946,11 +946,11 @@
|
||||
["setarg", 29, 0, 30, 8, 10],
|
||||
["setarg", 29, 1, 27, 8, 10],
|
||||
["invoke", 29, 28, 8, 10],
|
||||
["move", 3, 28, 8, 10],
|
||||
["move", 4, 28, 8, 10],
|
||||
["record", 31, 0],
|
||||
["move", 16, 31, 10, 17],
|
||||
["move", 1, 31, 10, 17],
|
||||
["access", 32, "fd", 11, 11],
|
||||
["store_field", 16, 3, 32, 11, 11],
|
||||
["store_field", 1, 4, 32, 11, 11],
|
||||
[
|
||||
"access",
|
||||
33,
|
||||
@@ -963,7 +963,7 @@
|
||||
19
|
||||
],
|
||||
["access", 34, "os", 12, 11],
|
||||
["store_field", 16, 33, 34, 12, 11],
|
||||
["store_field", 1, 33, 34, 12, 11],
|
||||
[
|
||||
"access",
|
||||
35,
|
||||
@@ -976,52 +976,52 @@
|
||||
21
|
||||
],
|
||||
["access", 36, "json", 13, 11],
|
||||
["store_field", 16, 35, 36, 13, 11],
|
||||
["store_field", 1, 35, 36, 13, 11],
|
||||
["access", 37, "tokenize", 38, 30],
|
||||
["frame", 39, 15, 1, 38, 20],
|
||||
["frame", 39, 5, 1, 38, 20],
|
||||
["null", 40, 38, 20],
|
||||
["setarg", 39, 0, 40, 38, 20],
|
||||
["setarg", 39, 1, 37, 38, 20],
|
||||
["invoke", 39, 38, 38, 20],
|
||||
["move", 6, 38, 38, 20],
|
||||
["access", 41, "parse", 39, 27],
|
||||
["frame", 43, 15, 1, 39, 17],
|
||||
["frame", 43, 5, 1, 39, 17],
|
||||
["null", 44, 39, 17],
|
||||
["setarg", 43, 0, 44, 39, 17],
|
||||
["setarg", 43, 1, 41, 39, 17],
|
||||
["invoke", 43, 42, 39, 17],
|
||||
["move", 4, 42, 39, 17],
|
||||
["move", 16, 42, 39, 17],
|
||||
["access", 45, "fold", 40, 26],
|
||||
["frame", 47, 15, 1, 40, 16],
|
||||
["frame", 47, 5, 1, 40, 16],
|
||||
["null", 48, 40, 16],
|
||||
["setarg", 47, 0, 48, 40, 16],
|
||||
["setarg", 47, 1, 45, 40, 16],
|
||||
["invoke", 47, 46, 40, 16],
|
||||
["move", 1, 46, 40, 16],
|
||||
["move", 2, 46, 40, 16],
|
||||
["access", 49, "mcode", 41, 27],
|
||||
["frame", 51, 15, 1, 41, 17],
|
||||
["frame", 51, 5, 1, 41, 17],
|
||||
["null", 52, 41, 17],
|
||||
["setarg", 51, 0, 52, 41, 17],
|
||||
["setarg", 51, 1, 49, 41, 17],
|
||||
["invoke", 51, 50, 41, 17],
|
||||
["move", 10, 50, 41, 17],
|
||||
["move", 7, 50, 41, 17],
|
||||
["access", 53, "streamline", 42, 32],
|
||||
["frame", 55, 15, 1, 42, 22],
|
||||
["frame", 55, 5, 1, 42, 22],
|
||||
["null", 56, 42, 22],
|
||||
["setarg", 55, 0, 56, 42, 22],
|
||||
["setarg", 55, 1, 53, 42, 22],
|
||||
["invoke", 55, 54, 42, 22],
|
||||
["move", 18, 54, 42, 22],
|
||||
["access", 57, "tokenize", 44, 11],
|
||||
["store_field", 16, 6, 57, 44, 11],
|
||||
["store_field", 1, 6, 57, 44, 11],
|
||||
["access", 58, "parse", 45, 11],
|
||||
["store_field", 16, 4, 58, 45, 11],
|
||||
["store_field", 1, 16, 58, 45, 11],
|
||||
["access", 59, "fold", 46, 11],
|
||||
["store_field", 16, 1, 59, 46, 11],
|
||||
["store_field", 1, 2, 59, 46, 11],
|
||||
["access", 60, "mcode", 47, 11],
|
||||
["store_field", 16, 10, 60, 47, 11],
|
||||
["store_field", 1, 7, 60, 47, 11],
|
||||
["access", 61, "streamline", 48, 11],
|
||||
["store_field", 16, 18, 61, 48, 11],
|
||||
["store_field", 1, 18, 61, 48, 11],
|
||||
[
|
||||
"access",
|
||||
62,
|
||||
@@ -1038,9 +1038,9 @@
|
||||
["move", 17, 64, 121, 20],
|
||||
["array", 65, 0, 122, 17],
|
||||
["move", 8, 65, 122, 17],
|
||||
["access", 7, 1, 123, 10],
|
||||
["null", 14, 124, 17],
|
||||
["null", 5, 125, 14],
|
||||
["access", 10, 1, 123, 10],
|
||||
["null", 13, 124, 17],
|
||||
["null", 15, 125, 14],
|
||||
["null", 19, 126, 11],
|
||||
"_nop_bl_1",
|
||||
["jump_true", 17, "if_else_63", 128, 6],
|
||||
@@ -1078,25 +1078,25 @@
|
||||
20
|
||||
],
|
||||
["length", 73, 72, 133, 20],
|
||||
["is_int", 75, 7, 133, 20],
|
||||
["is_int", 75, 10, 133, 20],
|
||||
["jump_false", 75, "rel_ni_67", 133, 20],
|
||||
"_nop_tc_1",
|
||||
"_nop_tc_2",
|
||||
["lt_int", 74, 7, 73, 133, 20],
|
||||
["lt_int", 74, 10, 73, 133, 20],
|
||||
["jump", "rel_done_69", 133, 20],
|
||||
"rel_ni_67",
|
||||
["is_num", 75, 7, 133, 20],
|
||||
["is_num", 75, 10, 133, 20],
|
||||
["jump_false", 75, "rel_nn_68", 133, 20],
|
||||
"_nop_tc_3",
|
||||
"_nop_tc_4",
|
||||
["lt_float", 74, 7, 73, 133, 20],
|
||||
["lt_float", 74, 10, 73, 133, 20],
|
||||
["jump", "rel_done_69", 133, 20],
|
||||
"rel_nn_68",
|
||||
["is_text", 75, 7, 133, 20],
|
||||
["is_text", 75, 10, 133, 20],
|
||||
["jump_false", 75, "rel_err_70", 133, 20],
|
||||
"_nop_tc_5",
|
||||
["jump", "rel_err_70", 133, 20],
|
||||
["lt_text", 74, 7, 73, 133, 20],
|
||||
["lt_text", 74, 10, 73, 133, 20],
|
||||
["jump", "rel_done_69", 133, 20],
|
||||
"rel_err_70",
|
||||
["disrupt", 133, 20],
|
||||
@@ -1113,7 +1113,7 @@
|
||||
134,
|
||||
19
|
||||
],
|
||||
["load_dynamic", 78, 77, 7, 134, 24],
|
||||
["load_dynamic", 78, 77, 10, 134, 24],
|
||||
["is_array", 79, 8, 134, 24],
|
||||
["jump_false", 79, "push_err_71", 134, 24],
|
||||
["push", 8, 78, 134, 24],
|
||||
@@ -1122,30 +1122,30 @@
|
||||
["disrupt", 134, 24],
|
||||
"push_done_72",
|
||||
["access", 80, 1, 135, 13],
|
||||
["add", 81, 7, 80, 135, 13],
|
||||
["move", 7, 81, 135, 13],
|
||||
["add", 81, 10, 80, 135, 13],
|
||||
["move", 10, 81, 135, 13],
|
||||
["jump", "while_start_65", 135, 13],
|
||||
"while_end_66",
|
||||
["access", 82, ".ce", 138, 23],
|
||||
["add", 83, 17, 82, 138, 23],
|
||||
["move", 14, 83, 138, 23],
|
||||
["is_proxy", 85, 3, 139, 6],
|
||||
["move", 13, 83, 138, 23],
|
||||
["is_proxy", 85, 4, 139, 6],
|
||||
["jump_false", 85, "record_path_75", 139, 6],
|
||||
["null", 86, 139, 6],
|
||||
["access", 87, "is_file", 139, 6],
|
||||
["array", 88, 0, 139, 6],
|
||||
["push", 88, 14, 139, 6],
|
||||
["frame", 89, 3, 2, 139, 6],
|
||||
["push", 88, 13, 139, 6],
|
||||
["frame", 89, 4, 2, 139, 6],
|
||||
["setarg", 89, 0, 86, 139, 6],
|
||||
["setarg", 89, 1, 87, 139, 6],
|
||||
["setarg", 89, 2, 88, 139, 6],
|
||||
["invoke", 89, 84, 139, 6],
|
||||
["jump", "call_done_76", 139, 6],
|
||||
"record_path_75",
|
||||
["load_field", 90, 3, "is_file", 139, 6],
|
||||
["load_field", 90, 4, "is_file", 139, 6],
|
||||
["frame", 91, 90, 1, 139, 6],
|
||||
["setarg", 91, 0, 3, 139, 6],
|
||||
["setarg", 91, 1, 14, 139, 6],
|
||||
["setarg", 91, 0, 4, 139, 6],
|
||||
["setarg", 91, 1, 13, 139, 6],
|
||||
["invoke", 91, 84, 139, 6],
|
||||
"call_done_76",
|
||||
"_nop_bl_2",
|
||||
@@ -1166,51 +1166,51 @@
|
||||
["add", 96, 95, 17, 140, 33],
|
||||
["access", 97, ".ce", 140, 43],
|
||||
["add", 98, 96, 97, 140, 43],
|
||||
["move", 14, 98, 140, 43],
|
||||
["move", 13, 98, 140, 43],
|
||||
["jump", "if_end_74", 140, 43],
|
||||
"if_else_73",
|
||||
"if_end_74",
|
||||
["is_proxy", 100, 3, 141, 6],
|
||||
["is_proxy", 100, 4, 141, 6],
|
||||
["jump_false", 100, "record_path_79", 141, 6],
|
||||
["null", 101, 141, 6],
|
||||
["access", 102, "is_file", 141, 6],
|
||||
["array", 103, 0, 141, 6],
|
||||
["push", 103, 14, 141, 6],
|
||||
["frame", 104, 3, 2, 141, 6],
|
||||
["push", 103, 13, 141, 6],
|
||||
["frame", 104, 4, 2, 141, 6],
|
||||
["setarg", 104, 0, 101, 141, 6],
|
||||
["setarg", 104, 1, 102, 141, 6],
|
||||
["setarg", 104, 2, 103, 141, 6],
|
||||
["invoke", 104, 99, 141, 6],
|
||||
["jump", "call_done_80", 141, 6],
|
||||
"record_path_79",
|
||||
["load_field", 105, 3, "is_file", 141, 6],
|
||||
["load_field", 105, 4, "is_file", 141, 6],
|
||||
["frame", 106, 105, 1, 141, 6],
|
||||
["setarg", 106, 0, 3, 141, 6],
|
||||
["setarg", 106, 1, 14, 141, 6],
|
||||
["setarg", 106, 0, 4, 141, 6],
|
||||
["setarg", 106, 1, 13, 141, 6],
|
||||
["invoke", 106, 99, 141, 6],
|
||||
"call_done_80",
|
||||
"_nop_bl_3",
|
||||
["jump_true", 99, "if_else_77", 141, 6],
|
||||
["access", 108, ".cm", 142, 25],
|
||||
["add", 109, 17, 108, 142, 25],
|
||||
["move", 14, 109, 142, 25],
|
||||
["is_proxy", 111, 3, 143, 8],
|
||||
["move", 13, 109, 142, 25],
|
||||
["is_proxy", 111, 4, 143, 8],
|
||||
["jump_false", 111, "record_path_83", 143, 8],
|
||||
["null", 112, 143, 8],
|
||||
["access", 113, "is_file", 143, 8],
|
||||
["array", 114, 0, 143, 8],
|
||||
["push", 114, 14, 143, 8],
|
||||
["frame", 115, 3, 2, 143, 8],
|
||||
["push", 114, 13, 143, 8],
|
||||
["frame", 115, 4, 2, 143, 8],
|
||||
["setarg", 115, 0, 112, 143, 8],
|
||||
["setarg", 115, 1, 113, 143, 8],
|
||||
["setarg", 115, 2, 114, 143, 8],
|
||||
["invoke", 115, 110, 143, 8],
|
||||
["jump", "call_done_84", 143, 8],
|
||||
"record_path_83",
|
||||
["load_field", 116, 3, "is_file", 143, 8],
|
||||
["load_field", 116, 4, "is_file", 143, 8],
|
||||
["frame", 117, 116, 1, 143, 8],
|
||||
["setarg", 117, 0, 3, 143, 8],
|
||||
["setarg", 117, 1, 14, 143, 8],
|
||||
["setarg", 117, 0, 4, 143, 8],
|
||||
["setarg", 117, 1, 13, 143, 8],
|
||||
["invoke", 117, 110, 143, 8],
|
||||
"call_done_84",
|
||||
"_nop_bl_4",
|
||||
@@ -1231,30 +1231,30 @@
|
||||
["add", 122, 121, 17, 144, 35],
|
||||
["access", 123, ".cm", 144, 45],
|
||||
["add", 124, 122, 123, 144, 45],
|
||||
["move", 14, 124, 144, 45],
|
||||
["move", 13, 124, 144, 45],
|
||||
["jump", "if_end_82", 144, 45],
|
||||
"if_else_81",
|
||||
"if_end_82",
|
||||
["jump", "if_end_78", 144, 45],
|
||||
"if_else_77",
|
||||
"if_end_78",
|
||||
["is_proxy", 126, 3, 146, 6],
|
||||
["is_proxy", 126, 4, 146, 6],
|
||||
["jump_false", 126, "record_path_87", 146, 6],
|
||||
["null", 127, 146, 6],
|
||||
["access", 128, "is_file", 146, 6],
|
||||
["array", 129, 0, 146, 6],
|
||||
["push", 129, 14, 146, 6],
|
||||
["frame", 130, 3, 2, 146, 6],
|
||||
["push", 129, 13, 146, 6],
|
||||
["frame", 130, 4, 2, 146, 6],
|
||||
["setarg", 130, 0, 127, 146, 6],
|
||||
["setarg", 130, 1, 128, 146, 6],
|
||||
["setarg", 130, 2, 129, 146, 6],
|
||||
["invoke", 130, 125, 146, 6],
|
||||
["jump", "call_done_88", 146, 6],
|
||||
"record_path_87",
|
||||
["load_field", 131, 3, "is_file", 146, 6],
|
||||
["load_field", 131, 4, "is_file", 146, 6],
|
||||
["frame", 132, 131, 1, 146, 6],
|
||||
["setarg", 132, 0, 3, 146, 6],
|
||||
["setarg", 132, 1, 14, 146, 6],
|
||||
["setarg", 132, 0, 4, 146, 6],
|
||||
["setarg", 132, 1, 13, 146, 6],
|
||||
["invoke", 132, 125, 146, 6],
|
||||
"call_done_88",
|
||||
"_nop_bl_5",
|
||||
@@ -1283,23 +1283,23 @@
|
||||
["jump", "if_end_86", 148, 3],
|
||||
"if_else_85",
|
||||
"if_end_86",
|
||||
["is_proxy", 143, 3, 151, 15],
|
||||
["is_proxy", 143, 4, 151, 15],
|
||||
["jump_false", 143, "record_path_89", 151, 15],
|
||||
["null", 144, 151, 15],
|
||||
["access", 145, "slurp", 151, 15],
|
||||
["array", 146, 0, 151, 15],
|
||||
["push", 146, 14, 151, 15],
|
||||
["frame", 147, 3, 2, 151, 15],
|
||||
["push", 146, 13, 151, 15],
|
||||
["frame", 147, 4, 2, 151, 15],
|
||||
["setarg", 147, 0, 144, 151, 15],
|
||||
["setarg", 147, 1, 145, 151, 15],
|
||||
["setarg", 147, 2, 146, 151, 15],
|
||||
["invoke", 147, 142, 151, 15],
|
||||
["jump", "call_done_90", 151, 15],
|
||||
"record_path_89",
|
||||
["load_field", 148, 3, "slurp", 151, 15],
|
||||
["load_field", 148, 4, "slurp", 151, 15],
|
||||
["frame", 149, 148, 1, 151, 15],
|
||||
["setarg", 149, 0, 3, 151, 15],
|
||||
["setarg", 149, 1, 14, 151, 15],
|
||||
["setarg", 149, 0, 4, 151, 15],
|
||||
["setarg", 149, 1, 13, 151, 15],
|
||||
["invoke", 149, 142, 151, 15],
|
||||
"call_done_90",
|
||||
[
|
||||
@@ -1318,18 +1318,18 @@
|
||||
["setarg", 152, 0, 153, 151, 10],
|
||||
["setarg", 152, 1, 142, 151, 10],
|
||||
["invoke", 152, 150, 151, 10],
|
||||
["move", 5, 150, 151, 10],
|
||||
["move", 15, 150, 151, 10],
|
||||
["frame", 155, 11, 2, 152, 7],
|
||||
["null", 156, 152, 7],
|
||||
["setarg", 155, 0, 156, 152, 7],
|
||||
["setarg", 155, 1, 5, 152, 7],
|
||||
["setarg", 155, 2, 14, 152, 7],
|
||||
["setarg", 155, 1, 15, 152, 7],
|
||||
["setarg", 155, 2, 13, 152, 7],
|
||||
["invoke", 155, 154, 152, 7],
|
||||
["move", 19, 154, 152, 7],
|
||||
["record", 157, 0],
|
||||
["store_field", 157, 12, "use", 153, 29],
|
||||
["store_field", 157, 8, "args", 153, 43],
|
||||
["frame", 159, 13, 3, 153, 1],
|
||||
["frame", 159, 14, 3, 153, 1],
|
||||
["null", 160, 153, 1],
|
||||
["setarg", 159, 0, 160, 153, 1],
|
||||
["setarg", 159, 1, 17, 153, 1],
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -18,6 +18,10 @@ add_project_arguments(
|
||||
)
|
||||
add_project_arguments('-Wno-narrowing', language: 'cpp')
|
||||
|
||||
if get_option('validate_gc')
|
||||
add_project_arguments('-DVALIDATE_GC', language: 'c')
|
||||
endif
|
||||
|
||||
deps = []
|
||||
|
||||
if host_machine.system() == 'darwin'
|
||||
|
||||
2
meson.options
Normal file
2
meson.options
Normal file
@@ -0,0 +1,2 @@
|
||||
option('validate_gc', type: 'boolean', value: false,
|
||||
description: 'Enable GC validation checks (stale pointer detection, pre-GC frame validation)')
|
||||
@@ -815,12 +815,10 @@ JSValue JS_CallRegisterVM(JSContext *ctx, JSCodeRegister *code,
|
||||
ctx->reg_current_frame = frame_ref.val;
|
||||
ctx->current_register_pc = pc > 0 ? pc - 1 : 0;
|
||||
int op = MACH_GET_OP(instr);
|
||||
/* trace disabled */
|
||||
int a = MACH_GET_A(instr);
|
||||
int b = MACH_GET_B(instr);
|
||||
int c = MACH_GET_C(instr);
|
||||
|
||||
|
||||
switch (op) {
|
||||
case MACH_NOP:
|
||||
break;
|
||||
@@ -1139,7 +1137,19 @@ JSValue JS_CallRegisterVM(JSContext *ctx, JSCodeRegister *code,
|
||||
env = fn->u.reg.env_record;
|
||||
pc = ret_info >> 16;
|
||||
int ret_slot = ret_info & 0xFFFF;
|
||||
if (ret_slot != 0xFFFF) frame->slots[ret_slot] = result;
|
||||
if (ret_slot != 0xFFFF) {
|
||||
#ifdef VALIDATE_GC
|
||||
if (JS_IsPtr(result)) {
|
||||
void *rp = JS_VALUE_GET_PTR(result);
|
||||
if ((uint8_t *)rp < ctx->heap_base || (uint8_t *)rp >= ctx->heap_free) {
|
||||
if (!is_ct_ptr(ctx, rp))
|
||||
fprintf(stderr, "VALIDATE_GC: stale RETURN into slot %d, ptr=%p heap=[%p,%p) fn_slots=%d pc=%u\n",
|
||||
ret_slot, rp, (void*)ctx->heap_base, (void*)ctx->heap_free, code->nr_slots, pc);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
frame->slots[ret_slot] = result;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1603,6 +1613,16 @@ JSValue JS_CallRegisterVM(JSContext *ctx, JSCodeRegister *code,
|
||||
frame = (JSFrameRegister *)JS_VALUE_GET_PTR(frame_ref.val);
|
||||
ctx->reg_current_frame = JS_NULL;
|
||||
if (JS_IsException(ret)) goto disrupt;
|
||||
#ifdef VALIDATE_GC
|
||||
if (JS_IsPtr(ret)) {
|
||||
void *rp = JS_VALUE_GET_PTR(ret);
|
||||
if ((uint8_t *)rp < ctx->heap_base || (uint8_t *)rp >= ctx->heap_free) {
|
||||
if (!is_ct_ptr(ctx, rp))
|
||||
fprintf(stderr, "VALIDATE_GC: stale INVOKE result into slot %d, ptr=%p heap=[%p,%p) fn_slots=%d pc=%u kind=%d\n",
|
||||
b, rp, (void*)ctx->heap_base, (void*)ctx->heap_free, code->nr_slots, pc - 1, fn->kind);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
frame->slots[b] = ret;
|
||||
}
|
||||
break;
|
||||
|
||||
150
source/runtime.c
150
source/runtime.c
@@ -1292,6 +1292,9 @@ static inline int ptr_in_range (void *p, uint8_t *b, uint8_t *e) {
|
||||
return q >= b && q < e;
|
||||
}
|
||||
|
||||
static const char *gc_dbg_phase = "?";
|
||||
static void *gc_dbg_parent = NULL;
|
||||
|
||||
JSValue gc_copy_value (JSContext *ctx, JSValue v, uint8_t *from_base, uint8_t *from_end, uint8_t *to_base, uint8_t **to_free, uint8_t *to_end) {
|
||||
if (!JS_IsPtr (v)) return v;
|
||||
|
||||
@@ -1317,8 +1320,8 @@ JSValue gc_copy_value (JSContext *ctx, JSValue v, uint8_t *from_base, uint8_t *f
|
||||
}
|
||||
|
||||
if (type != OBJ_ARRAY && type != OBJ_TEXT && type != OBJ_RECORD && type != OBJ_FUNCTION && type != OBJ_FRAME) {
|
||||
fprintf (stderr, "gc_copy_value: invalid object type %d at %p (hdr=0x%llx)\n", type, ptr, (unsigned long long)hdr);
|
||||
fprintf (stderr, " This may be an interior pointer or corrupt root\n");
|
||||
fprintf (stderr, "gc_copy_value: invalid type %d at %p (hdr=0x%llx) phase=%s parent=%p\n",
|
||||
type, ptr, (unsigned long long)hdr, gc_dbg_phase, gc_dbg_parent);
|
||||
fflush (stderr);
|
||||
abort ();
|
||||
}
|
||||
@@ -1412,7 +1415,37 @@ void gc_scan_object (JSContext *ctx, void *ptr, uint8_t *from_base, uint8_t *fro
|
||||
/* Scan all slots */
|
||||
uint64_t slot_count = objhdr_cap56 (frame->header);
|
||||
for (uint64_t i = 0; i < slot_count; i++) {
|
||||
frame->slots[i] = gc_copy_value (ctx, frame->slots[i], from_base, from_end, to_base, to_free, to_end);
|
||||
JSValue sv = frame->slots[i];
|
||||
#ifdef VALIDATE_GC
|
||||
if (JS_IsPtr (sv)) {
|
||||
void *sp = JS_VALUE_GET_PTR (sv);
|
||||
if (!is_ct_ptr (ctx, sp) && ptr_in_range (sp, from_base, from_end)) {
|
||||
objhdr_t sh = *(objhdr_t *)sp;
|
||||
uint8_t st = objhdr_type (sh);
|
||||
if (st != OBJ_FORWARD && st != OBJ_ARRAY && st != OBJ_TEXT &&
|
||||
st != OBJ_RECORD && st != OBJ_FUNCTION && st != OBJ_FRAME) {
|
||||
const char *fname = "?";
|
||||
const char *ffile = "?";
|
||||
uint16_t fnslots = 0;
|
||||
if (JS_IsPtr (frame->function)) {
|
||||
objhdr_t fh = *(objhdr_t *)JS_VALUE_GET_PTR (frame->function);
|
||||
if (objhdr_type (fh) == OBJ_FUNCTION) {
|
||||
JSFunction *fn = (JSFunction *)JS_VALUE_GET_PTR (frame->function);
|
||||
if (fn->kind == JS_FUNC_KIND_REGISTER && fn->u.reg.code) {
|
||||
if (fn->u.reg.code->name_cstr) fname = fn->u.reg.code->name_cstr;
|
||||
if (fn->u.reg.code->filename_cstr) ffile = fn->u.reg.code->filename_cstr;
|
||||
fnslots = fn->u.reg.code->nr_slots;
|
||||
}
|
||||
}
|
||||
}
|
||||
fprintf (stderr, "VALIDATE_GC: frame %p slot[%llu]=%p bad type %d (hdr=0x%llx) fn=%s (%s) nr_slots=%d\n",
|
||||
ptr, (unsigned long long)i, sp, st, (unsigned long long)sh, fname, ffile, fnslots);
|
||||
fflush (stderr);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
frame->slots[i] = gc_copy_value (ctx, sv, from_base, from_end, to_base, to_free, to_end);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -1466,6 +1499,63 @@ int ctx_gc (JSContext *ctx, int allow_grow, size_t alloc_size) {
|
||||
uint8_t *to_free = new_block;
|
||||
uint8_t *to_end = new_block + new_size;
|
||||
|
||||
gc_dbg_phase = "roots";
|
||||
gc_dbg_parent = NULL;
|
||||
|
||||
#ifdef VALIDATE_GC
|
||||
/* Pre-GC: walk live frame chain and check for bad slot values */
|
||||
if (JS_IsPtr (ctx->reg_current_frame)) {
|
||||
JSFrame *cf = (JSFrame *)JS_VALUE_GET_PTR (ctx->reg_current_frame);
|
||||
while (cf) {
|
||||
objhdr_t cfh = cf->header;
|
||||
while (objhdr_type (cfh) == OBJ_FORWARD) {
|
||||
cf = (JSFrame *)objhdr_fwd_ptr (cfh);
|
||||
cfh = cf->header;
|
||||
}
|
||||
if (objhdr_type (cfh) != OBJ_FRAME) break;
|
||||
uint64_t sc = objhdr_cap56 (cfh);
|
||||
for (uint64_t si = 0; si < sc; si++) {
|
||||
JSValue sv = cf->slots[si];
|
||||
if (JS_IsPtr (sv)) {
|
||||
void *sp = JS_VALUE_GET_PTR (sv);
|
||||
if (!is_ct_ptr (ctx, sp) && ptr_in_range (sp, from_base, from_end)) {
|
||||
objhdr_t th = *(objhdr_t *)sp;
|
||||
void *orig_sp = sp;
|
||||
while (objhdr_type (th) == OBJ_FORWARD) {
|
||||
sp = objhdr_fwd_ptr (th);
|
||||
if (!ptr_in_range (sp, from_base, from_end)) break;
|
||||
th = *(objhdr_t *)sp;
|
||||
}
|
||||
uint8_t tt = objhdr_type (th);
|
||||
if (tt != OBJ_FORWARD && tt != OBJ_ARRAY && tt != OBJ_TEXT &&
|
||||
tt != OBJ_RECORD && tt != OBJ_FUNCTION && tt != OBJ_FRAME) {
|
||||
const char *fn_name = "?";
|
||||
JSValue fn_v = cf->function;
|
||||
if (JS_IsPtr (fn_v)) {
|
||||
objhdr_t fnh = *(objhdr_t *)JS_VALUE_GET_PTR (fn_v);
|
||||
while (objhdr_type (fnh) == OBJ_FORWARD) {
|
||||
fn_v = JS_MKPTR (objhdr_fwd_ptr (fnh));
|
||||
fnh = *(objhdr_t *)JS_VALUE_GET_PTR (fn_v);
|
||||
}
|
||||
if (objhdr_type (fnh) == OBJ_FUNCTION) {
|
||||
JSFunction *fnp = (JSFunction *)JS_VALUE_GET_PTR (fn_v);
|
||||
if (fnp->kind == JS_FUNC_KIND_REGISTER && fnp->u.reg.code && fnp->u.reg.code->name_cstr)
|
||||
fn_name = fnp->u.reg.code->name_cstr;
|
||||
}
|
||||
}
|
||||
fprintf (stderr, "VALIDATE_GC: pre-gc frame %p slot[%llu] -> %p (chased %p) bad type %d (hdr=0x%llx) fn=%s\n",
|
||||
(void *)cf, (unsigned long long)si, orig_sp, sp, tt, (unsigned long long)th, fn_name);
|
||||
fflush (stderr);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (JS_IsNull (cf->caller)) break;
|
||||
cf = (JSFrame *)JS_VALUE_GET_PTR (cf->caller);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Copy roots: global object, class prototypes, exception, etc. */
|
||||
#ifdef DUMP_GC_DETAIL
|
||||
printf(" roots: global_obj = 0x%llx\n", (unsigned long long)ctx->global_obj); fflush(stdout);
|
||||
@@ -1534,6 +1624,7 @@ int ctx_gc (JSContext *ctx, int allow_grow, size_t alloc_size) {
|
||||
}
|
||||
|
||||
/* Cheney scan: scan copied objects to find more references */
|
||||
gc_dbg_phase = "scan";
|
||||
uint8_t *scan = to_base;
|
||||
#ifdef DUMP_GC_DETAIL
|
||||
printf(" scan: to_base=%p to_free=%p to_end=%p\n", (void*)to_base, (void*)to_free, (void*)to_end);
|
||||
@@ -1550,6 +1641,7 @@ int ctx_gc (JSContext *ctx, int allow_grow, size_t alloc_size) {
|
||||
printf(" size=%zu\n", obj_size);
|
||||
fflush(stdout);
|
||||
#endif
|
||||
gc_dbg_parent = scan;
|
||||
gc_scan_object (ctx, scan, from_base, from_end, to_base, &to_free, to_end);
|
||||
scan += obj_size;
|
||||
}
|
||||
@@ -7973,11 +8065,18 @@ static JSValue js_cell_array (JSContext *ctx, JSValue this_val, int argc, JSValu
|
||||
}
|
||||
}
|
||||
|
||||
JSValue result = JS_NewArrayLen (ctx, count);
|
||||
if (JS_IsException (result)) {
|
||||
/* GC-protect result and arg across allocating calls */
|
||||
JSGCRef result_ref, arg_ref;
|
||||
JS_PushGCRef (ctx, &result_ref);
|
||||
JS_PushGCRef (ctx, &arg_ref);
|
||||
arg_ref.val = arg;
|
||||
result_ref.val = JS_NewArrayLen (ctx, count);
|
||||
if (JS_IsException (result_ref.val)) {
|
||||
JS_PopGCRef (ctx, &arg_ref);
|
||||
JS_PopGCRef (ctx, &result_ref);
|
||||
JS_FreeCString (ctx, cstr);
|
||||
JS_FreeCString (ctx, sep);
|
||||
return result;
|
||||
return result_ref.val;
|
||||
}
|
||||
|
||||
int64_t idx = 0;
|
||||
@@ -7986,22 +8085,24 @@ static JSValue js_cell_array (JSContext *ctx, JSValue this_val, int argc, JSValu
|
||||
|
||||
if (sep_len == 0) {
|
||||
for (int i = 0; i < len; i++) {
|
||||
JSValue ch = js_sub_string_val (ctx, arg, i, i + 1);
|
||||
JS_SetPropertyNumber (ctx, result, idx++, ch);
|
||||
JSValue ch = js_sub_string_val (ctx, arg_ref.val, i, i + 1);
|
||||
JS_SetPropertyNumber (ctx, result_ref.val, idx++, ch);
|
||||
}
|
||||
} else {
|
||||
while ((found = strstr (pos, sep)) != NULL) {
|
||||
JSValue part = JS_NewStringLen (ctx, pos, found - pos);
|
||||
JS_SetPropertyNumber (ctx, result, idx++, part);
|
||||
JS_SetPropertyNumber (ctx, result_ref.val, idx++, part);
|
||||
pos = found + sep_len;
|
||||
}
|
||||
JSValue part = JS_NewString (ctx, pos);
|
||||
JS_SetPropertyNumber (ctx, result, idx++, part);
|
||||
JS_SetPropertyNumber (ctx, result_ref.val, idx++, part);
|
||||
}
|
||||
|
||||
JS_PopGCRef (ctx, &arg_ref);
|
||||
JS_PopGCRef (ctx, &result_ref);
|
||||
JS_FreeCString (ctx, cstr);
|
||||
JS_FreeCString (ctx, sep);
|
||||
return result;
|
||||
return result_ref.val;
|
||||
}
|
||||
|
||||
if (mist_is_gc_object (argv[1]) && JS_IsRegExp (ctx, argv[1])) {
|
||||
@@ -8120,21 +8221,34 @@ static JSValue js_cell_array (JSContext *ctx, JSValue this_val, int argc, JSValu
|
||||
return JS_NULL;
|
||||
|
||||
int64_t count = (len + chunk_len - 1) / chunk_len;
|
||||
JSValue result = JS_NewArrayLen (ctx, count);
|
||||
if (JS_IsException (result))
|
||||
return result;
|
||||
/* GC-protect result and arg across allocating calls */
|
||||
JSGCRef result_ref, arg_ref;
|
||||
JS_PushGCRef (ctx, &result_ref);
|
||||
JS_PushGCRef (ctx, &arg_ref);
|
||||
arg_ref.val = arg;
|
||||
result_ref.val = JS_NewArrayLen (ctx, count);
|
||||
if (JS_IsException (result_ref.val)) {
|
||||
JS_PopGCRef (ctx, &arg_ref);
|
||||
JS_PopGCRef (ctx, &result_ref);
|
||||
return result_ref.val;
|
||||
}
|
||||
|
||||
int64_t idx = 0;
|
||||
for (int i = 0; i < len; i += chunk_len) {
|
||||
int end = i + chunk_len;
|
||||
if (end > len) end = len;
|
||||
JSValue chunk = js_sub_string_val (ctx, arg, i, end);
|
||||
if (JS_IsException (chunk))
|
||||
JSValue chunk = js_sub_string_val (ctx, arg_ref.val, i, end);
|
||||
if (JS_IsException (chunk)) {
|
||||
JS_PopGCRef (ctx, &arg_ref);
|
||||
JS_PopGCRef (ctx, &result_ref);
|
||||
return JS_EXCEPTION;
|
||||
JS_SetPropertyNumber (ctx, result, idx++, chunk);
|
||||
}
|
||||
JS_SetPropertyNumber (ctx, result_ref.val, idx++, chunk);
|
||||
}
|
||||
|
||||
return result;
|
||||
JS_PopGCRef (ctx, &arg_ref);
|
||||
JS_PopGCRef (ctx, &result_ref);
|
||||
return result_ref.val;
|
||||
}
|
||||
|
||||
return JS_NULL;
|
||||
|
||||
Reference in New Issue
Block a user