faster mach compile
This commit is contained in:
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
8328
boot/mcode.cm.mcode
8328
boot/mcode.cm.mcode
File diff suppressed because it is too large
Load Diff
4622
boot/parse.cm.mcode
4622
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, 65, 1, 1, 1],
|
||||
["get", 3, 15, 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, 65, 1, 1, 1],
|
||||
["get", 3, 15, 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, 66, 1, 1, 1],
|
||||
["get", 6, 15, 1, 1, 1],
|
||||
["get", 5, 74, 1, 1, 1],
|
||||
["get", 6, 59, 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, 66, 1, 1, 1],
|
||||
["get", 6, 15, 1, 1, 1],
|
||||
["get", 5, 74, 1, 1, 1],
|
||||
["get", 6, 59, 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, 66, 1, 1, 1],
|
||||
["get", 6, 15, 1, 1, 1],
|
||||
["get", 5, 74, 1, 1, 1],
|
||||
["get", 6, 59, 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, 9, 1, 1, 1],
|
||||
["get", 5, 10, 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, 9, 1, 1, 1],
|
||||
["get", 5, 10, 1, 1, 1],
|
||||
["array", 6, 0, 1, 1],
|
||||
["push", 6, 1, 1, 1],
|
||||
["push", 6, 1, 1, 1],
|
||||
@@ -1213,9 +1213,9 @@
|
||||
["load_field", 13, 12, "float_id", 409, 25],
|
||||
["move", 6, 13, 409, 25],
|
||||
["access", 9, 0, 410, 17],
|
||||
["get", 14, 44, 1, 411, 22],
|
||||
["get", 14, 45, 1, 411, 22],
|
||||
["move", 5, 14, 411, 22],
|
||||
["get", 15, 44, 1, 412, 18],
|
||||
["get", 15, 45, 1, 412, 18],
|
||||
["move", 7, 15, 412, 18],
|
||||
["get", 16, 22, 1, 413, 7],
|
||||
["load_field", 17, 16, "is_eq", 413, 7],
|
||||
@@ -1427,7 +1427,7 @@
|
||||
["true", 10, 495, 85],
|
||||
["store_field", 5, 10, "null_true", 495, 85],
|
||||
["put", 5, 22, 1, 495, 85],
|
||||
["get", 12, 30, 1, 496, 10],
|
||||
["get", 12, 32, 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, 22, 1, 500, 85],
|
||||
["get", 12, 30, 1, 501, 10],
|
||||
["get", 12, 32, 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, 22, 1, 505, 87],
|
||||
["get", 12, 30, 1, 506, 10],
|
||||
["get", 12, 32, 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, 22, 1, 510, 87],
|
||||
["get", 12, 30, 1, 511, 10],
|
||||
["get", 12, 32, 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, 22, 1, 515, 87],
|
||||
["get", 12, 30, 1, 516, 10],
|
||||
["get", 12, 32, 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, 66, 1, 1, 1],
|
||||
["get", 4, 74, 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, 15, 1, 1, 1],
|
||||
["get", 4, 59, 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, 66, 1, 1, 1],
|
||||
["get", 4, 74, 1, 1, 1],
|
||||
["array", 5, 0, 1, 1],
|
||||
["push", 5, 1, 1, 1],
|
||||
["push", 5, 1, 1, 1],
|
||||
@@ -2167,7 +2167,7 @@
|
||||
"instructions": [
|
||||
["access", 5, "shl", 716, 10],
|
||||
["put", 5, 47, 1, 716, 10],
|
||||
["get", 7, 35, 1, 717, 10],
|
||||
["get", 7, 37, 1, 717, 10],
|
||||
["frame", 8, 7, 4, 717, 10],
|
||||
["null", 9, 717, 10],
|
||||
["setarg", 8, 0, 9, 717, 10],
|
||||
@@ -2191,7 +2191,7 @@
|
||||
"instructions": [
|
||||
["access", 5, "sar", 721, 10],
|
||||
["put", 5, 47, 1, 721, 10],
|
||||
["get", 7, 35, 1, 722, 10],
|
||||
["get", 7, 37, 1, 722, 10],
|
||||
["frame", 8, 7, 4, 722, 10],
|
||||
["null", 9, 722, 10],
|
||||
["setarg", 8, 0, 9, 722, 10],
|
||||
@@ -2215,7 +2215,7 @@
|
||||
"instructions": [
|
||||
["access", 5, "shr", 726, 10],
|
||||
["put", 5, 47, 1, 726, 10],
|
||||
["get", 7, 35, 1, 727, 10],
|
||||
["get", 7, 37, 1, 727, 10],
|
||||
["frame", 8, 7, 4, 727, 10],
|
||||
["null", 9, 727, 10],
|
||||
["setarg", 8, 0, 9, 727, 10],
|
||||
@@ -2508,7 +2508,7 @@
|
||||
"instructions": [
|
||||
["access", 5, 0, 772, 48],
|
||||
["put", 5, 47, 1, 772, 48],
|
||||
["get", 7, 28, 1, 772, 58],
|
||||
["get", 7, 29, 1, 772, 58],
|
||||
["frame", 8, 7, 4, 772, 58],
|
||||
["null", 9, 772, 58],
|
||||
["setarg", 8, 0, 9, 772, 58],
|
||||
@@ -2532,7 +2532,7 @@
|
||||
"instructions": [
|
||||
["access", 5, 1, 773, 48],
|
||||
["put", 5, 47, 1, 773, 48],
|
||||
["get", 7, 28, 1, 773, 58],
|
||||
["get", 7, 29, 1, 773, 58],
|
||||
["frame", 8, 7, 4, 773, 58],
|
||||
["null", 9, 773, 58],
|
||||
["setarg", 8, 0, 9, 773, 58],
|
||||
@@ -2556,7 +2556,7 @@
|
||||
"instructions": [
|
||||
["access", 5, 2, 774, 48],
|
||||
["put", 5, 47, 1, 774, 48],
|
||||
["get", 7, 28, 1, 774, 58],
|
||||
["get", 7, 29, 1, 774, 58],
|
||||
["frame", 8, 7, 4, 774, 58],
|
||||
["null", 9, 774, 58],
|
||||
["setarg", 8, 0, 9, 774, 58],
|
||||
@@ -2580,7 +2580,7 @@
|
||||
"instructions": [
|
||||
["access", 5, 3, 775, 48],
|
||||
["put", 5, 47, 1, 775, 48],
|
||||
["get", 7, 28, 1, 775, 58],
|
||||
["get", 7, 29, 1, 775, 58],
|
||||
["frame", 8, 7, 4, 775, 58],
|
||||
["null", 9, 775, 58],
|
||||
["setarg", 8, 0, 9, 775, 58],
|
||||
@@ -2604,7 +2604,7 @@
|
||||
"instructions": [
|
||||
["access", 5, 4, 776, 48],
|
||||
["put", 5, 47, 1, 776, 48],
|
||||
["get", 7, 28, 1, 776, 58],
|
||||
["get", 7, 29, 1, 776, 58],
|
||||
["frame", 8, 7, 4, 776, 58],
|
||||
["null", 9, 776, 58],
|
||||
["setarg", 8, 0, 9, 776, 58],
|
||||
@@ -2628,7 +2628,7 @@
|
||||
"instructions": [
|
||||
["access", 5, 5, 777, 48],
|
||||
["put", 5, 47, 1, 777, 48],
|
||||
["get", 7, 28, 1, 777, 58],
|
||||
["get", 7, 29, 1, 777, 58],
|
||||
["frame", 8, 7, 4, 777, 58],
|
||||
["null", 9, 777, 58],
|
||||
["setarg", 8, 0, 9, 777, 58],
|
||||
@@ -2652,7 +2652,7 @@
|
||||
"instructions": [
|
||||
["get", 7, 47, 1, 782, 16],
|
||||
["move", 5, 7, 782, 16],
|
||||
["get", 8, 32, 1, 783, 17],
|
||||
["get", 8, 34, 1, 783, 17],
|
||||
["move", 6, 8, 783, 17],
|
||||
["array", 9, 0, 1, 1],
|
||||
["push", 9, 1, 1, 1],
|
||||
@@ -2703,7 +2703,7 @@
|
||||
["access", 5, "ceqw", 792, 47],
|
||||
["put", 5, 47, 1, 792, 47],
|
||||
["access", 6, 1, 792, 63],
|
||||
["put", 6, 32, 1, 792, 63],
|
||||
["put", 6, 34, 1, 792, 63],
|
||||
["get", 8, 7, 1, 792, 73],
|
||||
["frame", 9, 8, 4, 792, 73],
|
||||
["null", 10, 792, 73],
|
||||
@@ -2729,7 +2729,7 @@
|
||||
["access", 5, "cnew", 793, 47],
|
||||
["put", 5, 47, 1, 793, 47],
|
||||
["access", 6, 1, 793, 63],
|
||||
["put", 6, 32, 1, 793, 63],
|
||||
["put", 6, 34, 1, 793, 63],
|
||||
["get", 8, 7, 1, 793, 73],
|
||||
["frame", 9, 8, 4, 793, 73],
|
||||
["null", 10, 793, 73],
|
||||
@@ -2755,7 +2755,7 @@
|
||||
["access", 5, "csltw", 794, 47],
|
||||
["put", 5, 47, 1, 794, 47],
|
||||
["access", 6, 0, 794, 64],
|
||||
["put", 6, 32, 1, 794, 64],
|
||||
["put", 6, 34, 1, 794, 64],
|
||||
["get", 8, 7, 1, 794, 74],
|
||||
["frame", 9, 8, 4, 794, 74],
|
||||
["null", 10, 794, 74],
|
||||
@@ -2781,7 +2781,7 @@
|
||||
["access", 5, "cslew", 795, 47],
|
||||
["put", 5, 47, 1, 795, 47],
|
||||
["access", 6, 0, 795, 64],
|
||||
["put", 6, 32, 1, 795, 64],
|
||||
["put", 6, 34, 1, 795, 64],
|
||||
["get", 8, 7, 1, 795, 74],
|
||||
["frame", 9, 8, 4, 795, 74],
|
||||
["null", 10, 795, 74],
|
||||
@@ -2807,7 +2807,7 @@
|
||||
["access", 5, "csgtw", 796, 47],
|
||||
["put", 5, 47, 1, 796, 47],
|
||||
["access", 6, 0, 796, 64],
|
||||
["put", 6, 32, 1, 796, 64],
|
||||
["put", 6, 34, 1, 796, 64],
|
||||
["get", 8, 7, 1, 796, 74],
|
||||
["frame", 9, 8, 4, 796, 74],
|
||||
["null", 10, 796, 74],
|
||||
@@ -2833,7 +2833,7 @@
|
||||
["access", 5, "csgew", 797, 47],
|
||||
["put", 5, 47, 1, 797, 47],
|
||||
["access", 6, 0, 797, 64],
|
||||
["put", 6, 32, 1, 797, 64],
|
||||
["put", 6, 34, 1, 797, 64],
|
||||
["get", 8, 7, 1, 797, 74],
|
||||
["frame", 9, 8, 4, 797, 74],
|
||||
["null", 10, 797, 74],
|
||||
@@ -2980,51 +2980,51 @@
|
||||
"nr_close_slots": 0,
|
||||
"nr_slots": 147,
|
||||
"instructions": [
|
||||
["access", 9, 7, 10, 15],
|
||||
["access", 44, 3, 11, 16],
|
||||
["access", 10, 7, 10, 15],
|
||||
["access", 45, 3, 11, 16],
|
||||
["access", 64, 35, 12, 15],
|
||||
["access", 46, 15, 13, 20],
|
||||
["access", 41, 27, 14, 21],
|
||||
["access", 73, 27, 14, 21],
|
||||
["null", 47, 17, 12],
|
||||
["null", 32, 18, 13],
|
||||
["null", 34, 18, 13],
|
||||
["null", 22, 19, 15],
|
||||
["access", 66, -2147483648, 21, 17],
|
||||
["access", 15, 2147483647, 22, 17],
|
||||
["access", 65, 4503599627370495, 23, 21],
|
||||
["access", 74, -2147483648, 21, 17],
|
||||
["access", 59, 2147483647, 22, 17],
|
||||
["access", 15, 4503599627370495, 23, 21],
|
||||
["function", 78, 0, 29, 14],
|
||||
["move", 76, 78, 29, 14],
|
||||
["function", 79, 1, 35, 17],
|
||||
["move", 39, 79, 35, 17],
|
||||
["move", 60, 79, 35, 17],
|
||||
["function", 80, 2, 44, 15],
|
||||
["move", 58, 80, 44, 15],
|
||||
["move", 56, 80, 44, 15],
|
||||
["function", 81, 3, 50, 15],
|
||||
["move", 33, 81, 50, 15],
|
||||
["move", 35, 81, 50, 15],
|
||||
["function", 82, 4, 56, 20],
|
||||
["move", 51, 82, 56, 20],
|
||||
["function", 83, 5, 62, 14],
|
||||
["move", 24, 83, 62, 14],
|
||||
["move", 25, 83, 62, 14],
|
||||
["function", 84, 6, 68, 19],
|
||||
["move", 52, 84, 68, 19],
|
||||
["move", 31, 84, 68, 19],
|
||||
["function", 85, 7, 74, 15],
|
||||
["move", 14, 85, 74, 15],
|
||||
["function", 86, 8, 110, 15],
|
||||
["move", 10, 86, 110, 15],
|
||||
["move", 11, 86, 110, 15],
|
||||
["function", 87, 9, 117, 16],
|
||||
["move", 72, 87, 117, 16],
|
||||
["move", 70, 87, 117, 16],
|
||||
["function", 88, 10, 124, 15],
|
||||
["move", 13, 88, 124, 15],
|
||||
["function", 89, 11, 131, 19],
|
||||
["move", 54, 89, 131, 19],
|
||||
["move", 17, 89, 131, 19],
|
||||
["function", 90, 12, 149, 18],
|
||||
["move", 75, 90, 149, 18],
|
||||
["function", 91, 13, 186, 15],
|
||||
["move", 42, 91, 186, 15],
|
||||
["move", 44, 91, 186, 15],
|
||||
["function", 92, 14, 193, 16],
|
||||
["move", 67, 92, 193, 16],
|
||||
["move", 65, 92, 193, 16],
|
||||
["function", 93, 15, 201, 19],
|
||||
["move", 12, 93, 201, 19],
|
||||
["move", 9, 93, 201, 19],
|
||||
["function", 94, 16, 212, 11],
|
||||
["move", 40, 94, 212, 11],
|
||||
["move", 41, 94, 212, 11],
|
||||
["function", 95, 17, 254, 11],
|
||||
["move", 5, 95, 254, 11],
|
||||
["function", 96, 18, 288, 11],
|
||||
@@ -3034,43 +3034,43 @@
|
||||
["function", 98, 20, 366, 11],
|
||||
["move", 2, 98, 366, 11],
|
||||
["function", 99, 21, 407, 11],
|
||||
["move", 30, 99, 407, 11],
|
||||
["move", 32, 99, 407, 11],
|
||||
["function", 100, 22, 494, 10],
|
||||
["move", 71, 100, 494, 10],
|
||||
["move", 69, 100, 494, 10],
|
||||
["function", 101, 23, 499, 10],
|
||||
["move", 68, 101, 499, 10],
|
||||
["move", 66, 101, 499, 10],
|
||||
["function", 102, 24, 504, 10],
|
||||
["move", 48, 102, 504, 10],
|
||||
["function", 103, 25, 509, 10],
|
||||
["move", 43, 103, 509, 10],
|
||||
["move", 42, 103, 509, 10],
|
||||
["function", 104, 26, 514, 10],
|
||||
["move", 69, 104, 514, 10],
|
||||
["move", 67, 104, 514, 10],
|
||||
["function", 105, 27, 519, 10],
|
||||
["move", 70, 105, 519, 10],
|
||||
["move", 68, 105, 519, 10],
|
||||
["function", 106, 28, 528, 11],
|
||||
["move", 55, 106, 528, 11],
|
||||
["move", 54, 106, 528, 11],
|
||||
["function", 107, 29, 555, 11],
|
||||
["move", 25, 107, 555, 11],
|
||||
["move", 26, 107, 555, 11],
|
||||
["function", 108, 30, 582, 11],
|
||||
["move", 27, 108, 582, 11],
|
||||
["move", 28, 108, 582, 11],
|
||||
["function", 109, 31, 609, 12],
|
||||
["move", 34, 109, 609, 12],
|
||||
["move", 36, 109, 609, 12],
|
||||
["function", 110, 32, 619, 12],
|
||||
["move", 59, 110, 619, 12],
|
||||
["move", 57, 110, 619, 12],
|
||||
["function", 111, 33, 643, 18],
|
||||
["move", 6, 111, 643, 18],
|
||||
["function", 112, 34, 670, 12],
|
||||
["move", 29, 112, 670, 12],
|
||||
["move", 30, 112, 670, 12],
|
||||
["function", 113, 35, 675, 11],
|
||||
["move", 61, 113, 675, 11],
|
||||
["function", 114, 36, 680, 12],
|
||||
["move", 50, 114, 680, 12],
|
||||
["function", 115, 37, 687, 16],
|
||||
["move", 35, 115, 687, 16],
|
||||
["move", 37, 115, 687, 16],
|
||||
["function", 116, 38, 715, 11],
|
||||
["move", 56, 116, 715, 11],
|
||||
["move", 55, 116, 715, 11],
|
||||
["function", 117, 39, 720, 11],
|
||||
["move", 73, 117, 720, 11],
|
||||
["move", 71, 117, 720, 11],
|
||||
["function", 118, 40, 725, 12],
|
||||
["move", 3, 118, 725, 12],
|
||||
["function", 119, 41, 736, 14],
|
||||
@@ -3080,115 +3080,115 @@
|
||||
["function", 121, 43, 754, 14],
|
||||
["move", 23, 121, 754, 14],
|
||||
["function", 122, 44, 755, 14],
|
||||
["move", 17, 122, 755, 14],
|
||||
["move", 19, 122, 755, 14],
|
||||
["function", 123, 45, 756, 14],
|
||||
["move", 21, 123, 756, 14],
|
||||
["function", 124, 46, 757, 14],
|
||||
["move", 26, 124, 757, 14],
|
||||
["move", 27, 124, 757, 14],
|
||||
["function", 125, 47, 758, 14],
|
||||
["move", 74, 125, 758, 14],
|
||||
["move", 72, 125, 758, 14],
|
||||
["function", 126, 48, 759, 14],
|
||||
["move", 8, 126, 759, 14],
|
||||
["function", 127, 49, 763, 17],
|
||||
["move", 28, 127, 763, 17],
|
||||
["move", 29, 127, 763, 17],
|
||||
["function", 128, 50, 772, 16],
|
||||
["move", 77, 128, 772, 16],
|
||||
["function", 129, 51, 773, 16],
|
||||
["move", 36, 129, 773, 16],
|
||||
["move", 38, 129, 773, 16],
|
||||
["function", 130, 52, 774, 16],
|
||||
["move", 37, 130, 774, 16],
|
||||
["move", 39, 130, 774, 16],
|
||||
["function", 131, 53, 775, 16],
|
||||
["move", 62, 131, 775, 16],
|
||||
["function", 132, 54, 776, 16],
|
||||
["move", 38, 132, 776, 16],
|
||||
["move", 40, 132, 776, 16],
|
||||
["function", 133, 55, 777, 16],
|
||||
["move", 49, 133, 777, 16],
|
||||
["function", 134, 56, 781, 16],
|
||||
["move", 7, 134, 781, 16],
|
||||
["function", 135, 57, 792, 15],
|
||||
["move", 19, 135, 792, 15],
|
||||
["move", 20, 135, 792, 15],
|
||||
["function", 136, 58, 793, 15],
|
||||
["move", 31, 136, 793, 15],
|
||||
["move", 33, 136, 793, 15],
|
||||
["function", 137, 59, 794, 15],
|
||||
["move", 20, 137, 794, 15],
|
||||
["move", 24, 137, 794, 15],
|
||||
["function", 138, 60, 795, 15],
|
||||
["move", 16, 138, 795, 15],
|
||||
["function", 139, 61, 796, 15],
|
||||
["move", 45, 139, 796, 15],
|
||||
["move", 43, 139, 796, 15],
|
||||
["function", 140, 62, 797, 15],
|
||||
["move", 11, 140, 797, 15],
|
||||
["move", 12, 140, 797, 15],
|
||||
["function", 141, 63, 800, 15],
|
||||
["move", 60, 141, 800, 15],
|
||||
["move", 58, 141, 800, 15],
|
||||
["function", 142, 64, 808, 15],
|
||||
["move", 57, 142, 808, 15],
|
||||
["move", 52, 142, 808, 15],
|
||||
["function", 143, 65, 817, 20],
|
||||
["move", 63, 143, 817, 20],
|
||||
["record", 144, 0],
|
||||
["store_field", 144, 9, "js_null", 831, 12],
|
||||
["store_field", 144, 44, "js_false", 832, 13],
|
||||
["store_field", 144, 10, "js_null", 831, 12],
|
||||
["store_field", 144, 45, "js_false", 832, 13],
|
||||
["store_field", 144, 64, "js_true", 833, 12],
|
||||
["access", 145, 15, 834, 17],
|
||||
["store_field", 144, 145, "js_exception", 834, 17],
|
||||
["store_field", 144, 41, "js_empty_text", 835, 18],
|
||||
["store_field", 144, 73, "js_empty_text", 835, 18],
|
||||
["store_field", 144, 76, "is_int", 837, 11],
|
||||
["store_field", 144, 39, "is_number", 838, 14],
|
||||
["store_field", 144, 58, "is_null", 839, 12],
|
||||
["store_field", 144, 33, "is_bool", 840, 12],
|
||||
["store_field", 144, 60, "is_number", 838, 14],
|
||||
["store_field", 144, 56, "is_null", 839, 12],
|
||||
["store_field", 144, 35, "is_bool", 840, 12],
|
||||
["store_field", 144, 51, "is_exception", 841, 17],
|
||||
["store_field", 144, 24, "is_ptr", 842, 11],
|
||||
["store_field", 144, 52, "is_imm_text", 843, 16],
|
||||
["store_field", 144, 25, "is_ptr", 842, 11],
|
||||
["store_field", 144, 31, "is_imm_text", 843, 16],
|
||||
["store_field", 144, 14, "is_text", 844, 12],
|
||||
["store_field", 144, 10, "get_int", 846, 12],
|
||||
["store_field", 144, 72, "get_bool", 847, 13],
|
||||
["store_field", 144, 11, "get_int", 846, 12],
|
||||
["store_field", 144, 70, "get_bool", 847, 13],
|
||||
["store_field", 144, 13, "get_ptr", 848, 12],
|
||||
["store_field", 144, 54, "get_float64", 849, 16],
|
||||
["store_field", 144, 17, "get_float64", 849, 16],
|
||||
["store_field", 144, 75, "to_float64", 850, 15],
|
||||
["store_field", 144, 42, "new_int", 852, 12],
|
||||
["store_field", 144, 67, "new_bool", 853, 13],
|
||||
["store_field", 144, 12, "new_float64", 854, 16],
|
||||
["store_field", 144, 40, "add", 856, 8],
|
||||
["store_field", 144, 44, "new_int", 852, 12],
|
||||
["store_field", 144, 65, "new_bool", 853, 13],
|
||||
["store_field", 144, 9, "new_float64", 854, 16],
|
||||
["store_field", 144, 41, "add", 856, 8],
|
||||
["store_field", 144, 5, "sub", 857, 8],
|
||||
["store_field", 144, 1, "mul", 858, 8],
|
||||
["store_field", 144, 53, "div", 859, 8],
|
||||
["store_field", 144, 2, "mod", 860, 8],
|
||||
["store_field", 144, 71, "eq", 862, 7],
|
||||
["store_field", 144, 68, "ne", 863, 7],
|
||||
["store_field", 144, 69, "eq", 862, 7],
|
||||
["store_field", 144, 66, "ne", 863, 7],
|
||||
["store_field", 144, 48, "lt", 864, 7],
|
||||
["store_field", 144, 43, "le", 865, 7],
|
||||
["store_field", 144, 69, "gt", 866, 7],
|
||||
["store_field", 144, 70, "ge", 867, 7],
|
||||
["store_field", 144, 55, "neg", 869, 8],
|
||||
["store_field", 144, 25, "inc", 870, 8],
|
||||
["store_field", 144, 27, "dec", 871, 8],
|
||||
["store_field", 144, 34, "lnot", 872, 9],
|
||||
["store_field", 144, 59, "bnot", 873, 9],
|
||||
["store_field", 144, 29, "band", 875, 9],
|
||||
["store_field", 144, 42, "le", 865, 7],
|
||||
["store_field", 144, 67, "gt", 866, 7],
|
||||
["store_field", 144, 68, "ge", 867, 7],
|
||||
["store_field", 144, 54, "neg", 869, 8],
|
||||
["store_field", 144, 26, "inc", 870, 8],
|
||||
["store_field", 144, 28, "dec", 871, 8],
|
||||
["store_field", 144, 36, "lnot", 872, 9],
|
||||
["store_field", 144, 57, "bnot", 873, 9],
|
||||
["store_field", 144, 30, "band", 875, 9],
|
||||
["store_field", 144, 61, "bor", 876, 8],
|
||||
["store_field", 144, 50, "bxor", 877, 9],
|
||||
["store_field", 144, 56, "shl", 878, 8],
|
||||
["store_field", 144, 73, "shr", 879, 8],
|
||||
["store_field", 144, 55, "shl", 878, 8],
|
||||
["store_field", 144, 71, "shr", 879, 8],
|
||||
["store_field", 144, 3, "ushr", 880, 9],
|
||||
["store_field", 144, 4, "concat", 882, 11],
|
||||
["store_field", 144, 23, "eq_int", 884, 11],
|
||||
["store_field", 144, 17, "ne_int", 885, 11],
|
||||
["store_field", 144, 19, "ne_int", 885, 11],
|
||||
["store_field", 144, 21, "lt_int", 886, 11],
|
||||
["store_field", 144, 26, "le_int", 887, 11],
|
||||
["store_field", 144, 74, "gt_int", 888, 11],
|
||||
["store_field", 144, 27, "le_int", 887, 11],
|
||||
["store_field", 144, 72, "gt_int", 888, 11],
|
||||
["store_field", 144, 8, "ge_int", 889, 11],
|
||||
["store_field", 144, 77, "eq_float", 891, 13],
|
||||
["store_field", 144, 36, "ne_float", 892, 13],
|
||||
["store_field", 144, 37, "lt_float", 893, 13],
|
||||
["store_field", 144, 38, "ne_float", 892, 13],
|
||||
["store_field", 144, 39, "lt_float", 893, 13],
|
||||
["store_field", 144, 62, "le_float", 894, 13],
|
||||
["store_field", 144, 38, "gt_float", 895, 13],
|
||||
["store_field", 144, 40, "gt_float", 895, 13],
|
||||
["store_field", 144, 49, "ge_float", 896, 13],
|
||||
["store_field", 144, 19, "eq_text", 898, 12],
|
||||
["store_field", 144, 31, "ne_text", 899, 12],
|
||||
["store_field", 144, 20, "lt_text", 900, 12],
|
||||
["store_field", 144, 20, "eq_text", 898, 12],
|
||||
["store_field", 144, 33, "ne_text", 899, 12],
|
||||
["store_field", 144, 24, "lt_text", 900, 12],
|
||||
["store_field", 144, 16, "le_text", 901, 12],
|
||||
["store_field", 144, 45, "gt_text", 902, 12],
|
||||
["store_field", 144, 11, "ge_text", 903, 12],
|
||||
["store_field", 144, 60, "eq_bool", 905, 12],
|
||||
["store_field", 144, 57, "ne_bool", 906, 12],
|
||||
["store_field", 144, 43, "gt_text", 902, 12],
|
||||
["store_field", 144, 12, "ge_text", 903, 12],
|
||||
["store_field", 144, 58, "eq_bool", 905, 12],
|
||||
["store_field", 144, 52, "ne_bool", 906, 12],
|
||||
["store_field", 144, 63, "is_identical", 908, 17],
|
||||
["return", 144, 908, 17],
|
||||
"_nop_ur_1",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -39,7 +39,7 @@
|
||||
["add", 14, 7, 10, 18, 38],
|
||||
["access", 15, "_use", 18, 64],
|
||||
["add", 16, 14, 15, 18, 64],
|
||||
["get", 18, 19, 1, 18, 16],
|
||||
["get", 18, 18, 1, 18, 16],
|
||||
["frame", 19, 18, 1, 18, 16],
|
||||
["null", 20, 18, 16],
|
||||
["setarg", 19, 0, 20, 18, 16],
|
||||
@@ -169,7 +169,7 @@
|
||||
["invoke", 39, 37, 34, 16],
|
||||
["move", 3, 37, 34, 16],
|
||||
["record", 41, 0],
|
||||
["get", 42, 18, 1, 35, 50],
|
||||
["get", 42, 17, 1, 35, 50],
|
||||
["store_field", 41, 42, "use", 35, 50],
|
||||
[
|
||||
"access",
|
||||
@@ -202,7 +202,7 @@
|
||||
"nr_slots": 81,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["get", 9, 5, 1, 51, 20],
|
||||
["get", 9, 6, 1, 51, 20],
|
||||
["frame", 10, 9, 2, 51, 20],
|
||||
["null", 11, 51, 20],
|
||||
["setarg", 10, 0, 11, 51, 20],
|
||||
@@ -211,8 +211,8 @@
|
||||
["invoke", 10, 8, 51, 20],
|
||||
["move", 3, 8, 51, 20],
|
||||
["load_field", 12, 3, "tokens", 52, 23],
|
||||
["get", 13, 5, 1, 52, 57],
|
||||
["get", 15, 13, 1, 52, 13],
|
||||
["get", 13, 6, 1, 52, 57],
|
||||
["get", 15, 9, 1, 52, 13],
|
||||
["frame", 16, 15, 4, 52, 13],
|
||||
["null", 17, 52, 13],
|
||||
["setarg", 16, 0, 17, 52, 13],
|
||||
@@ -522,14 +522,14 @@
|
||||
"nr_slots": 29,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["get", 8, 6, 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],
|
||||
["setarg", 9, 1, 2, 72, 18],
|
||||
["invoke", 9, 7, 72, 18],
|
||||
["move", 4, 7, 72, 18],
|
||||
["get", 12, 16, 1, 73, 19],
|
||||
["get", 12, 14, 1, 73, 19],
|
||||
["frame", 13, 12, 1, 73, 19],
|
||||
["null", 14, 73, 19],
|
||||
["setarg", 13, 0, 14, 73, 19],
|
||||
@@ -598,12 +598,12 @@
|
||||
"nr_slots": 122,
|
||||
"nr_close_slots": 0,
|
||||
"instructions": [
|
||||
["null", 2, 79, 16],
|
||||
["null", 6, 80, 19],
|
||||
["null", 3, 81, 16],
|
||||
["null", 4, 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],
|
||||
["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],
|
||||
@@ -637,17 +637,17 @@
|
||||
["add", 19, 12, 15, 89, 34],
|
||||
["access", 20, "_use", 89, 60],
|
||||
["add", 21, 19, 20, 89, 60],
|
||||
["get", 23, 19, 1, 89, 12],
|
||||
["get", 23, 18, 1, 89, 12],
|
||||
["frame", 24, 23, 1, 89, 12],
|
||||
["null", 25, 89, 12],
|
||||
["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],
|
||||
["move", 3, 22, 89, 12],
|
||||
["jump_false", 3, "if_else_45", 90, 7],
|
||||
["get", 26, 1, 1, 91, 5],
|
||||
["store_dynamic", 26, 2, 1, 91, 15],
|
||||
["return", 2, 92, 12],
|
||||
["store_dynamic", 26, 3, 1, 91, 15],
|
||||
["return", 3, 92, 12],
|
||||
"_nop_ur_2",
|
||||
"if_else_45",
|
||||
"if_end_46",
|
||||
@@ -725,9 +725,9 @@
|
||||
["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, 9, 1, 99, 54],
|
||||
["get", 56, 11, 1, 99, 54],
|
||||
["store_field", 55, 56, "use", 99, 54],
|
||||
[
|
||||
"access",
|
||||
@@ -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],
|
||||
["move", 3, 57, 99, 14],
|
||||
["get", 61, 1, 1, 100, 5],
|
||||
["store_dynamic", 61, 2, 1, 100, 15],
|
||||
["return", 2, 101, 12],
|
||||
["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", 6, 63, 105, 22],
|
||||
["move", 2, 63, 105, 22],
|
||||
["get", 65, 3, 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, 6, 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, 6, 106, 8],
|
||||
["setarg", 72, 1, 2, 106, 8],
|
||||
["invoke", 72, 64, 106, 8],
|
||||
"call_done_56",
|
||||
"_nop_bl_1",
|
||||
@@ -795,7 +795,7 @@
|
||||
["add", 77, 76, 1, 107, 35],
|
||||
["access", 78, ".cm", 107, 42],
|
||||
["add", 79, 77, 78, 107, 42],
|
||||
["move", 6, 79, 107, 42],
|
||||
["move", 2, 79, 107, 42],
|
||||
["jump", "if_end_54", 107, 42],
|
||||
"if_else_53",
|
||||
"if_end_54",
|
||||
@@ -805,7 +805,7 @@
|
||||
["null", 83, 108, 7],
|
||||
["access", 84, "is_file", 108, 7],
|
||||
["array", 85, 0, 108, 7],
|
||||
["push", 85, 6, 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,7 +816,7 @@
|
||||
["load_field", 87, 81, "is_file", 108, 7],
|
||||
["frame", 88, 87, 1, 108, 7],
|
||||
["setarg", 88, 0, 81, 108, 7],
|
||||
["setarg", 88, 1, 6, 108, 7],
|
||||
["setarg", 88, 1, 2, 108, 7],
|
||||
["invoke", 88, 80, 108, 7],
|
||||
"call_done_60",
|
||||
["jump_false", 80, "if_else_57", 108, 7],
|
||||
@@ -826,7 +826,7 @@
|
||||
["null", 92, 109, 19],
|
||||
["access", 93, "slurp", 109, 19],
|
||||
["array", 94, 0, 109, 19],
|
||||
["push", 94, 6, 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, 6, 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],
|
||||
["get", 103, 8, 1, 110, 11],
|
||||
["move", 4, 98, 109, 14],
|
||||
["get", 103, 10, 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, 6, 110, 11],
|
||||
["setarg", 104, 1, 4, 110, 11],
|
||||
["setarg", 104, 2, 2, 110, 11],
|
||||
["invoke", 104, 102, 110, 11],
|
||||
["move", 4, 102, 110, 11],
|
||||
["move", 5, 102, 110, 11],
|
||||
["record", 106, 0],
|
||||
["get", 107, 9, 1, 111, 39],
|
||||
["get", 107, 11, 1, 111, 39],
|
||||
["store_field", 106, 107, "use", 111, 39],
|
||||
["get", 109, 11, 1, 111, 14],
|
||||
["get", 109, 12, 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, 4, 111, 14],
|
||||
["setarg", 110, 2, 5, 111, 14],
|
||||
["setarg", 110, 3, 106, 111, 14],
|
||||
["invoke", 110, 108, 111, 14],
|
||||
["move", 2, 108, 111, 14],
|
||||
["move", 3, 108, 111, 14],
|
||||
["get", 112, 1, 1, 112, 5],
|
||||
["store_dynamic", 112, 2, 1, 112, 15],
|
||||
["return", 2, 113, 12],
|
||||
["store_dynamic", 112, 3, 1, 112, 15],
|
||||
["return", 3, 113, 12],
|
||||
"_nop_ur_4",
|
||||
"if_else_57",
|
||||
"if_end_58",
|
||||
@@ -918,15 +918,15 @@
|
||||
"nr_slots": 161,
|
||||
"instructions": [
|
||||
["function", 20, 0, 0, 0],
|
||||
["move", 18, 20, 0, 0],
|
||||
["move", 17, 20, 0, 0],
|
||||
["function", 21, 1, 0, 0],
|
||||
["move", 14, 21, 0, 0],
|
||||
["move", 19, 21, 0, 0],
|
||||
["function", 22, 2, 0, 0],
|
||||
["move", 8, 22, 0, 0],
|
||||
["move", 10, 22, 0, 0],
|
||||
["function", 23, 3, 0, 0],
|
||||
["move", 11, 23, 0, 0],
|
||||
["move", 12, 23, 0, 0],
|
||||
["function", 24, 4, 0, 0],
|
||||
["move", 9, 24, 0, 0],
|
||||
["move", 11, 24, 0, 0],
|
||||
[
|
||||
"access",
|
||||
25,
|
||||
@@ -939,9 +939,9 @@
|
||||
21
|
||||
],
|
||||
["load_field", 26, 25, "load_internal", 7, 21],
|
||||
["move", 19, 26, 7, 21],
|
||||
["move", 18, 26, 7, 21],
|
||||
["access", 27, "js_fd_use", 8, 24],
|
||||
["frame", 29, 19, 1, 8, 10],
|
||||
["frame", 29, 18, 1, 8, 10],
|
||||
["null", 30, 8, 10],
|
||||
["setarg", 29, 0, 30, 8, 10],
|
||||
["setarg", 29, 1, 27, 8, 10],
|
||||
@@ -978,50 +978,50 @@
|
||||
["access", 36, "json", 13, 11],
|
||||
["store_field", 1, 35, 36, 13, 11],
|
||||
["access", 37, "tokenize", 38, 30],
|
||||
["frame", 39, 14, 1, 38, 20],
|
||||
["frame", 39, 19, 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", 5, 38, 38, 20],
|
||||
["move", 6, 38, 38, 20],
|
||||
["access", 41, "parse", 39, 27],
|
||||
["frame", 43, 14, 1, 39, 17],
|
||||
["frame", 43, 19, 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", 13, 42, 39, 17],
|
||||
["move", 9, 42, 39, 17],
|
||||
["access", 45, "fold", 40, 26],
|
||||
["frame", 47, 14, 1, 40, 16],
|
||||
["frame", 47, 19, 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", 2, 46, 40, 16],
|
||||
["access", 49, "mcode", 41, 27],
|
||||
["frame", 51, 14, 1, 41, 17],
|
||||
["frame", 51, 19, 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", 6, 50, 41, 17],
|
||||
["move", 7, 50, 41, 17],
|
||||
["access", 53, "streamline", 42, 32],
|
||||
["frame", 55, 14, 1, 42, 22],
|
||||
["frame", 55, 19, 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", 16, 54, 42, 22],
|
||||
["move", 14, 54, 42, 22],
|
||||
["access", 57, "tokenize", 44, 11],
|
||||
["store_field", 1, 5, 57, 44, 11],
|
||||
["store_field", 1, 6, 57, 44, 11],
|
||||
["access", 58, "parse", 45, 11],
|
||||
["store_field", 1, 13, 58, 45, 11],
|
||||
["store_field", 1, 9, 58, 45, 11],
|
||||
["access", 59, "fold", 46, 11],
|
||||
["store_field", 1, 2, 59, 46, 11],
|
||||
["access", 60, "mcode", 47, 11],
|
||||
["store_field", 1, 6, 60, 47, 11],
|
||||
["store_field", 1, 7, 60, 47, 11],
|
||||
["access", 61, "streamline", 48, 11],
|
||||
["store_field", 1, 16, 61, 48, 11],
|
||||
["store_field", 1, 14, 61, 48, 11],
|
||||
[
|
||||
"access",
|
||||
62,
|
||||
@@ -1035,15 +1035,15 @@
|
||||
],
|
||||
["access", 63, 0, 121, 20],
|
||||
["load_index", 64, 62, 63, 121, 20],
|
||||
["move", 15, 64, 121, 20],
|
||||
["move", 13, 64, 121, 20],
|
||||
["array", 65, 0, 122, 17],
|
||||
["move", 10, 65, 122, 17],
|
||||
["access", 7, 1, 123, 10],
|
||||
["null", 12, 124, 17],
|
||||
["null", 4, 125, 14],
|
||||
["null", 17, 126, 11],
|
||||
["move", 4, 65, 122, 17],
|
||||
["access", 8, 1, 123, 10],
|
||||
["null", 15, 124, 17],
|
||||
["null", 5, 125, 14],
|
||||
["null", 16, 126, 11],
|
||||
"_nop_bl_1",
|
||||
["jump_true", 15, "if_else_63", 128, 6],
|
||||
["jump_true", 13, "if_else_63", 128, 6],
|
||||
["access", 67, "seed: no program specified\n", 129, 9],
|
||||
[
|
||||
"access",
|
||||
@@ -1078,25 +1078,25 @@
|
||||
20
|
||||
],
|
||||
["length", 73, 72, 133, 20],
|
||||
["is_int", 75, 7, 133, 20],
|
||||
["is_int", 75, 8, 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, 8, 73, 133, 20],
|
||||
["jump", "rel_done_69", 133, 20],
|
||||
"rel_ni_67",
|
||||
["is_num", 75, 7, 133, 20],
|
||||
["is_num", 75, 8, 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, 8, 73, 133, 20],
|
||||
["jump", "rel_done_69", 133, 20],
|
||||
"rel_nn_68",
|
||||
["is_text", 75, 7, 133, 20],
|
||||
["is_text", 75, 8, 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, 8, 73, 133, 20],
|
||||
["jump", "rel_done_69", 133, 20],
|
||||
"rel_err_70",
|
||||
["disrupt", 133, 20],
|
||||
@@ -1113,28 +1113,28 @@
|
||||
134,
|
||||
19
|
||||
],
|
||||
["load_dynamic", 78, 77, 7, 134, 24],
|
||||
["is_array", 79, 10, 134, 24],
|
||||
["load_dynamic", 78, 77, 8, 134, 24],
|
||||
["is_array", 79, 4, 134, 24],
|
||||
["jump_false", 79, "push_err_71", 134, 24],
|
||||
["push", 10, 78, 134, 24],
|
||||
["push", 4, 78, 134, 24],
|
||||
["jump", "push_done_72", 134, 24],
|
||||
"push_err_71",
|
||||
["disrupt", 134, 24],
|
||||
"push_done_72",
|
||||
["access", 80, 1, 135, 13],
|
||||
["add", 81, 7, 80, 135, 13],
|
||||
["move", 7, 81, 135, 13],
|
||||
["add", 81, 8, 80, 135, 13],
|
||||
["move", 8, 81, 135, 13],
|
||||
["jump", "while_start_65", 135, 13],
|
||||
"while_end_66",
|
||||
["access", 82, ".ce", 138, 23],
|
||||
["add", 83, 15, 82, 138, 23],
|
||||
["move", 12, 83, 138, 23],
|
||||
["add", 83, 13, 82, 138, 23],
|
||||
["move", 15, 83, 138, 23],
|
||||
["is_proxy", 85, 3, 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, 12, 139, 6],
|
||||
["push", 88, 15, 139, 6],
|
||||
["frame", 89, 3, 2, 139, 6],
|
||||
["setarg", 89, 0, 86, 139, 6],
|
||||
["setarg", 89, 1, 87, 139, 6],
|
||||
@@ -1145,7 +1145,7 @@
|
||||
["load_field", 90, 3, "is_file", 139, 6],
|
||||
["frame", 91, 90, 1, 139, 6],
|
||||
["setarg", 91, 0, 3, 139, 6],
|
||||
["setarg", 91, 1, 12, 139, 6],
|
||||
["setarg", 91, 1, 15, 139, 6],
|
||||
["invoke", 91, 84, 139, 6],
|
||||
"call_done_76",
|
||||
"_nop_bl_2",
|
||||
@@ -1163,10 +1163,10 @@
|
||||
],
|
||||
["access", 94, "/", 140, 27],
|
||||
["add", 95, 93, 94, 140, 27],
|
||||
["add", 96, 95, 15, 140, 33],
|
||||
["add", 96, 95, 13, 140, 33],
|
||||
["access", 97, ".ce", 140, 43],
|
||||
["add", 98, 96, 97, 140, 43],
|
||||
["move", 12, 98, 140, 43],
|
||||
["move", 15, 98, 140, 43],
|
||||
["jump", "if_end_74", 140, 43],
|
||||
"if_else_73",
|
||||
"if_end_74",
|
||||
@@ -1175,7 +1175,7 @@
|
||||
["null", 101, 141, 6],
|
||||
["access", 102, "is_file", 141, 6],
|
||||
["array", 103, 0, 141, 6],
|
||||
["push", 103, 12, 141, 6],
|
||||
["push", 103, 15, 141, 6],
|
||||
["frame", 104, 3, 2, 141, 6],
|
||||
["setarg", 104, 0, 101, 141, 6],
|
||||
["setarg", 104, 1, 102, 141, 6],
|
||||
@@ -1186,20 +1186,20 @@
|
||||
["load_field", 105, 3, "is_file", 141, 6],
|
||||
["frame", 106, 105, 1, 141, 6],
|
||||
["setarg", 106, 0, 3, 141, 6],
|
||||
["setarg", 106, 1, 12, 141, 6],
|
||||
["setarg", 106, 1, 15, 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, 15, 108, 142, 25],
|
||||
["move", 12, 109, 142, 25],
|
||||
["add", 109, 13, 108, 142, 25],
|
||||
["move", 15, 109, 142, 25],
|
||||
["is_proxy", 111, 3, 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, 12, 143, 8],
|
||||
["push", 114, 15, 143, 8],
|
||||
["frame", 115, 3, 2, 143, 8],
|
||||
["setarg", 115, 0, 112, 143, 8],
|
||||
["setarg", 115, 1, 113, 143, 8],
|
||||
@@ -1210,7 +1210,7 @@
|
||||
["load_field", 116, 3, "is_file", 143, 8],
|
||||
["frame", 117, 116, 1, 143, 8],
|
||||
["setarg", 117, 0, 3, 143, 8],
|
||||
["setarg", 117, 1, 12, 143, 8],
|
||||
["setarg", 117, 1, 15, 143, 8],
|
||||
["invoke", 117, 110, 143, 8],
|
||||
"call_done_84",
|
||||
"_nop_bl_4",
|
||||
@@ -1228,10 +1228,10 @@
|
||||
],
|
||||
["access", 120, "/", 144, 29],
|
||||
["add", 121, 119, 120, 144, 29],
|
||||
["add", 122, 121, 15, 144, 35],
|
||||
["add", 122, 121, 13, 144, 35],
|
||||
["access", 123, ".cm", 144, 45],
|
||||
["add", 124, 122, 123, 144, 45],
|
||||
["move", 12, 124, 144, 45],
|
||||
["move", 15, 124, 144, 45],
|
||||
["jump", "if_end_82", 144, 45],
|
||||
"if_else_81",
|
||||
"if_end_82",
|
||||
@@ -1243,7 +1243,7 @@
|
||||
["null", 127, 146, 6],
|
||||
["access", 128, "is_file", 146, 6],
|
||||
["array", 129, 0, 146, 6],
|
||||
["push", 129, 12, 146, 6],
|
||||
["push", 129, 15, 146, 6],
|
||||
["frame", 130, 3, 2, 146, 6],
|
||||
["setarg", 130, 0, 127, 146, 6],
|
||||
["setarg", 130, 1, 128, 146, 6],
|
||||
@@ -1254,13 +1254,13 @@
|
||||
["load_field", 131, 3, "is_file", 146, 6],
|
||||
["frame", 132, 131, 1, 146, 6],
|
||||
["setarg", 132, 0, 3, 146, 6],
|
||||
["setarg", 132, 1, 12, 146, 6],
|
||||
["setarg", 132, 1, 15, 146, 6],
|
||||
["invoke", 132, 125, 146, 6],
|
||||
"call_done_88",
|
||||
"_nop_bl_5",
|
||||
["jump_true", 125, "if_else_85", 146, 6],
|
||||
["access", 134, "seed: program not found: ", 147, 9],
|
||||
["add", 135, 134, 15, 147, 39],
|
||||
["add", 135, 134, 13, 147, 39],
|
||||
["access", 136, "\n", 147, 49],
|
||||
["add", 137, 135, 136, 147, 49],
|
||||
[
|
||||
@@ -1288,7 +1288,7 @@
|
||||
["null", 144, 151, 15],
|
||||
["access", 145, "slurp", 151, 15],
|
||||
["array", 146, 0, 151, 15],
|
||||
["push", 146, 12, 151, 15],
|
||||
["push", 146, 15, 151, 15],
|
||||
["frame", 147, 3, 2, 151, 15],
|
||||
["setarg", 147, 0, 144, 151, 15],
|
||||
["setarg", 147, 1, 145, 151, 15],
|
||||
@@ -1299,7 +1299,7 @@
|
||||
["load_field", 148, 3, "slurp", 151, 15],
|
||||
["frame", 149, 148, 1, 151, 15],
|
||||
["setarg", 149, 0, 3, 151, 15],
|
||||
["setarg", 149, 1, 12, 151, 15],
|
||||
["setarg", 149, 1, 15, 151, 15],
|
||||
["invoke", 149, 142, 151, 15],
|
||||
"call_done_90",
|
||||
[
|
||||
@@ -1318,22 +1318,22 @@
|
||||
["setarg", 152, 0, 153, 151, 10],
|
||||
["setarg", 152, 1, 142, 151, 10],
|
||||
["invoke", 152, 150, 151, 10],
|
||||
["move", 4, 150, 151, 10],
|
||||
["frame", 155, 8, 2, 152, 7],
|
||||
["move", 5, 150, 151, 10],
|
||||
["frame", 155, 10, 2, 152, 7],
|
||||
["null", 156, 152, 7],
|
||||
["setarg", 155, 0, 156, 152, 7],
|
||||
["setarg", 155, 1, 4, 152, 7],
|
||||
["setarg", 155, 2, 12, 152, 7],
|
||||
["setarg", 155, 1, 5, 152, 7],
|
||||
["setarg", 155, 2, 15, 152, 7],
|
||||
["invoke", 155, 154, 152, 7],
|
||||
["move", 17, 154, 152, 7],
|
||||
["move", 16, 154, 152, 7],
|
||||
["record", 157, 0],
|
||||
["store_field", 157, 9, "use", 153, 29],
|
||||
["store_field", 157, 10, "args", 153, 43],
|
||||
["frame", 159, 11, 3, 153, 1],
|
||||
["store_field", 157, 11, "use", 153, 29],
|
||||
["store_field", 157, 4, "args", 153, 43],
|
||||
["frame", 159, 12, 3, 153, 1],
|
||||
["null", 160, 153, 1],
|
||||
["setarg", 159, 0, 160, 153, 1],
|
||||
["setarg", 159, 1, 15, 153, 1],
|
||||
["setarg", 159, 2, 17, 153, 1],
|
||||
["setarg", 159, 1, 13, 153, 1],
|
||||
["setarg", 159, 2, 16, 153, 1],
|
||||
["setarg", 159, 3, 157, 153, 1],
|
||||
["invoke", 159, 158, 153, 1],
|
||||
["return", 158, 153, 1]
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -15,9 +15,9 @@
|
||||
["access", 11, 0, 153, 11],
|
||||
["null", 6, 154, 15],
|
||||
["null", 8, 155, 12],
|
||||
["null", 5, 156, 19],
|
||||
["null", 4, 156, 19],
|
||||
["access", 9, 0, 157, 11],
|
||||
["null", 4, 158, 13],
|
||||
["null", 5, 158, 13],
|
||||
["null", 7, 159, 13],
|
||||
["null", 15, 161, 23],
|
||||
["is_identical", 16, 3, 15, 161, 23],
|
||||
@@ -99,48 +99,48 @@
|
||||
["move", 8, 26, 166, 18],
|
||||
["get", 27, 2, 1, 167, 19],
|
||||
["load_dynamic", 28, 27, 8, 167, 34],
|
||||
["move", 5, 28, 167, 34],
|
||||
["move", 4, 28, 167, 34],
|
||||
["null", 29, 168, 24],
|
||||
["is_identical", 30, 5, 29, 168, 24],
|
||||
["is_identical", 30, 4, 29, 168, 24],
|
||||
["jump_true", 30, "ne_nid_19", 168, 24],
|
||||
["jump", "ne_ni_20", 168, 24],
|
||||
"ne_nid_19",
|
||||
["false", 30, 168, 24],
|
||||
["jump", "ne_done_18", 168, 24],
|
||||
"ne_ni_20",
|
||||
["is_int", 31, 5, 168, 24],
|
||||
["is_int", 31, 4, 168, 24],
|
||||
["jump_false", 31, "ne_nn_21", 168, 24],
|
||||
"_nop_tc_12",
|
||||
["jump", "ne_nn_21", 168, 24],
|
||||
["ne_int", 30, 5, 29, 168, 24],
|
||||
["ne_int", 30, 4, 29, 168, 24],
|
||||
["jump", "ne_done_18", 168, 24],
|
||||
"ne_nn_21",
|
||||
["is_num", 31, 5, 168, 24],
|
||||
["is_num", 31, 4, 168, 24],
|
||||
["jump_false", 31, "ne_nt_22", 168, 24],
|
||||
"_nop_tc_13",
|
||||
["jump", "ne_nt_22", 168, 24],
|
||||
["ne_float", 30, 5, 29, 168, 24],
|
||||
["ne_float", 30, 4, 29, 168, 24],
|
||||
["jump", "ne_done_18", 168, 24],
|
||||
"ne_nt_22",
|
||||
["is_text", 31, 5, 168, 24],
|
||||
["is_text", 31, 4, 168, 24],
|
||||
["jump_false", 31, "ne_nnl_23", 168, 24],
|
||||
"_nop_tc_14",
|
||||
["jump", "ne_nnl_23", 168, 24],
|
||||
["ne_text", 30, 5, 29, 168, 24],
|
||||
["ne_text", 30, 4, 29, 168, 24],
|
||||
["jump", "ne_done_18", 168, 24],
|
||||
"ne_nnl_23",
|
||||
["is_null", 31, 5, 168, 24],
|
||||
["is_null", 31, 4, 168, 24],
|
||||
["jump_false", 31, "ne_nb_24", 168, 24],
|
||||
"_nop_tc_15",
|
||||
"_nop_tc_16",
|
||||
["false", 30, 168, 24],
|
||||
["jump", "ne_done_18", 168, 24],
|
||||
"ne_nb_24",
|
||||
["is_bool", 31, 5, 168, 24],
|
||||
["is_bool", 31, 4, 168, 24],
|
||||
["jump_false", 31, "ne_mis_25", 168, 24],
|
||||
"_nop_tc_17",
|
||||
["jump", "ne_mis_25", 168, 24],
|
||||
["ne_bool", 30, 5, 29, 168, 24],
|
||||
["ne_bool", 30, 4, 29, 168, 24],
|
||||
["jump", "ne_done_18", 168, 24],
|
||||
"ne_mis_25",
|
||||
["true", 30, 168, 24],
|
||||
@@ -149,7 +149,7 @@
|
||||
["access", 33, 0, 169, 13],
|
||||
["move", 9, 33, 169, 13],
|
||||
"while_start_26",
|
||||
["length", 34, 5, 170, 27],
|
||||
["length", 34, 4, 170, 27],
|
||||
["is_int", 36, 9, 170, 27],
|
||||
["jump_false", 36, "rel_ni_28", 170, 27],
|
||||
"_nop_tc_18",
|
||||
@@ -174,38 +174,38 @@
|
||||
["disrupt", 170, 27],
|
||||
"rel_done_30",
|
||||
["jump_false", 35, "while_end_27", 170, 27],
|
||||
["load_dynamic", 38, 5, 9, 171, 27],
|
||||
["load_dynamic", 38, 4, 9, 171, 27],
|
||||
["access", 39, 1, 171, 32],
|
||||
["add", 40, 38, 39, 171, 32],
|
||||
["move", 4, 40, 171, 32],
|
||||
["move", 5, 40, 171, 32],
|
||||
["length", 41, 6, 172, 28],
|
||||
["access", 42, 2, 172, 37],
|
||||
["subtract", 43, 41, 42, 172, 37],
|
||||
["is_int", 45, 4, 172, 37],
|
||||
["is_int", 45, 5, 172, 37],
|
||||
["jump_false", 45, "rel_ni_34", 172, 37],
|
||||
["is_int", 46, 43, 172, 37],
|
||||
["jump_false", 46, "rel_ni_34", 172, 37],
|
||||
["lt_int", 44, 4, 43, 172, 37],
|
||||
["lt_int", 44, 5, 43, 172, 37],
|
||||
["jump", "rel_done_36", 172, 37],
|
||||
"rel_ni_34",
|
||||
["is_num", 45, 4, 172, 37],
|
||||
["is_num", 45, 5, 172, 37],
|
||||
["jump_false", 45, "rel_nn_35", 172, 37],
|
||||
["is_num", 46, 43, 172, 37],
|
||||
["jump_false", 46, "rel_nn_35", 172, 37],
|
||||
["lt_float", 44, 4, 43, 172, 37],
|
||||
["lt_float", 44, 5, 43, 172, 37],
|
||||
["jump", "rel_done_36", 172, 37],
|
||||
"rel_nn_35",
|
||||
["is_text", 45, 4, 172, 37],
|
||||
["is_text", 45, 5, 172, 37],
|
||||
["jump_false", 45, "rel_err_37", 172, 37],
|
||||
["is_text", 46, 43, 172, 37],
|
||||
["jump_false", 46, "rel_err_37", 172, 37],
|
||||
["lt_text", 44, 4, 43, 172, 37],
|
||||
["lt_text", 44, 5, 43, 172, 37],
|
||||
["jump", "rel_done_36", 172, 37],
|
||||
"rel_err_37",
|
||||
["disrupt", 172, 37],
|
||||
"rel_done_36",
|
||||
["jump_false", 44, "if_else_32", 172, 37],
|
||||
["load_dynamic", 47, 6, 4, 173, 25],
|
||||
["load_dynamic", 47, 6, 5, 173, 25],
|
||||
["move", 7, 47, 173, 25],
|
||||
["is_num", 48, 7, 174, 27],
|
||||
["move", 49, 48, 174, 27],
|
||||
@@ -280,7 +280,7 @@
|
||||
["setarg", 60, 0, 61, 1, 1],
|
||||
["setarg", 60, 1, 11, 1, 1],
|
||||
["invoke", 60, 58, 1, 1],
|
||||
["load_dynamic", 62, 5, 9, 1, 16],
|
||||
["load_dynamic", 62, 4, 9, 1, 16],
|
||||
[
|
||||
"access",
|
||||
64,
|
||||
@@ -551,7 +551,7 @@
|
||||
["access", 40, 0, 215, 18],
|
||||
["load_index", 41, 4, 40, 215, 18],
|
||||
["move", 6, 41, 215, 18],
|
||||
["get", 42, 4, 1, 216, 19],
|
||||
["get", 42, 5, 1, 216, 19],
|
||||
["load_dynamic", 43, 42, 6, 216, 34],
|
||||
["move", 7, 43, 216, 34],
|
||||
["null", 44, 217, 24],
|
||||
@@ -3483,7 +3483,7 @@
|
||||
["access", 39, 0, 392, 18],
|
||||
["load_index", 40, 4, 39, 392, 18],
|
||||
["move", 6, 40, 392, 18],
|
||||
["get", 41, 4, 1, 393, 19],
|
||||
["get", 41, 5, 1, 393, 19],
|
||||
["load_dynamic", 42, 41, 6, 393, 34],
|
||||
["move", 2, 42, 393, 34],
|
||||
["null", 43, 394, 24],
|
||||
@@ -3769,7 +3769,7 @@
|
||||
["move", 22, 24, 413, 49],
|
||||
"tern_end_525",
|
||||
["move", 6, 22, 413, 49],
|
||||
["get", 26, 7, 1, 415, 18],
|
||||
["get", 26, 3, 1, 415, 18],
|
||||
["frame", 27, 26, 1, 415, 18],
|
||||
["null", 28, 415, 18],
|
||||
["setarg", 27, 0, 28, 415, 18],
|
||||
@@ -3839,7 +3839,7 @@
|
||||
["move", 7, 43, 419, 13],
|
||||
["jump", "while_start_534", 419, 13],
|
||||
"while_end_535",
|
||||
["get", 45, 3, 1, 422, 18],
|
||||
["get", 45, 4, 1, 422, 18],
|
||||
["frame", 46, 45, 1, 422, 18],
|
||||
["null", 47, 422, 18],
|
||||
["setarg", 46, 0, 47, 422, 18],
|
||||
@@ -3909,7 +3909,7 @@
|
||||
["move", 7, 62, 426, 13],
|
||||
["jump", "while_start_542", 426, 13],
|
||||
"while_end_543",
|
||||
["get", 64, 5, 1, 429, 18],
|
||||
["get", 64, 6, 1, 429, 18],
|
||||
["frame", 65, 64, 1, 429, 18],
|
||||
["null", 66, 429, 18],
|
||||
["setarg", 65, 0, 66, 429, 18],
|
||||
@@ -4818,22 +4818,22 @@
|
||||
["store_field", 382, 385, "jump_false", 143, 15],
|
||||
["access", 386, 1, 144, 18],
|
||||
["store_field", 382, 386, "jump_not_null", 144, 18],
|
||||
["move", 4, 382, 144, 18],
|
||||
["move", 5, 382, 144, 18],
|
||||
["function", 387, 0, 149, 25],
|
||||
["move", 7, 387, 149, 25],
|
||||
["move", 3, 387, 149, 25],
|
||||
["function", 388, 1, 189, 26],
|
||||
["move", 3, 388, 189, 26],
|
||||
["move", 4, 388, 189, 26],
|
||||
["function", 389, 2, 231, 30],
|
||||
["move", 5, 389, 231, 30],
|
||||
["move", 6, 389, 231, 30],
|
||||
["function", 390, 3, 366, 29],
|
||||
["move", 1, 390, 366, 29],
|
||||
["function", 391, 4, 408, 18],
|
||||
["move", 6, 391, 408, 18],
|
||||
["move", 7, 391, 408, 18],
|
||||
["record", 392, 0],
|
||||
["store_field", 392, 6, "verify_all", 447, 15],
|
||||
["store_field", 392, 7, "check_slot_bounds", 448, 22],
|
||||
["store_field", 392, 3, "check_jump_targets", 449, 23],
|
||||
["store_field", 392, 5, "check_type_consistency", 450, 27],
|
||||
["store_field", 392, 7, "verify_all", 447, 15],
|
||||
["store_field", 392, 3, "check_slot_bounds", 448, 22],
|
||||
["store_field", 392, 4, "check_jump_targets", 449, 23],
|
||||
["store_field", 392, 6, "check_type_consistency", 450, 27],
|
||||
["store_field", 392, 1, "check_nop_consistency", 451, 26],
|
||||
["return", 392, 451, 26],
|
||||
"_nop_ur_1",
|
||||
|
||||
104
source/mach.c
104
source/mach.c
@@ -2068,8 +2068,8 @@ static int *mcode_compress_regs(cJSON *fobj, int *out_old_nr_slots,
|
||||
int pinned = 1 + nr_args;
|
||||
for (int i = 0; i < pinned; i++) { first_ref[i] = 0; last_ref[i] = n; }
|
||||
|
||||
for (int i = 0; i < n; i++) {
|
||||
cJSON *it = cJSON_GetArrayItem(instrs, i);
|
||||
{ cJSON *it = instrs ? instrs->child : NULL;
|
||||
for (int i = 0; it; i++, it = it->next) {
|
||||
if (!cJSON_IsArray(it)) continue;
|
||||
cJSON *regs[MAX_REG_ITEMS];
|
||||
int rc = mcode_reg_items(it, regs);
|
||||
@@ -2079,7 +2079,7 @@ static int *mcode_compress_regs(cJSON *fobj, int *out_old_nr_slots,
|
||||
if (first_ref[s] < 0) first_ref[s] = i;
|
||||
last_ref[s] = i;
|
||||
}
|
||||
}
|
||||
} }
|
||||
|
||||
/* Step 1a: extend live ranges for closure-captured slots.
|
||||
If a child function captures a parent slot via get/put, that slot must
|
||||
@@ -2101,8 +2101,8 @@ static int *mcode_compress_regs(cJSON *fobj, int *out_old_nr_slots,
|
||||
typedef struct { const char *name; int pos; } LabelPos;
|
||||
int lbl_cap = 32, lbl_n = 0;
|
||||
LabelPos *lbls = sys_malloc(lbl_cap * sizeof(LabelPos));
|
||||
for (int i = 0; i < n; i++) {
|
||||
cJSON *it = cJSON_GetArrayItem(instrs, i);
|
||||
{ cJSON *it = instrs ? instrs->child : NULL;
|
||||
for (int i = 0; it; i++, it = it->next) {
|
||||
if (cJSON_IsString(it)) {
|
||||
if (lbl_n >= lbl_cap) {
|
||||
lbl_cap *= 2;
|
||||
@@ -2110,23 +2110,23 @@ static int *mcode_compress_regs(cJSON *fobj, int *out_old_nr_slots,
|
||||
}
|
||||
lbls[lbl_n++] = (LabelPos){it->valuestring, i};
|
||||
}
|
||||
}
|
||||
} }
|
||||
/* Find backward jumps and extend live ranges */
|
||||
int changed = 1;
|
||||
while (changed) {
|
||||
changed = 0;
|
||||
for (int i = 0; i < n; i++) {
|
||||
cJSON *it = cJSON_GetArrayItem(instrs, i);
|
||||
cJSON *it = instrs ? instrs->child : NULL;
|
||||
for (int i = 0; it; i++, it = it->next) {
|
||||
if (!cJSON_IsArray(it)) continue;
|
||||
int sz = cJSON_GetArraySize(it);
|
||||
if (sz < 3) continue;
|
||||
const char *op = cJSON_GetArrayItem(it, 0)->valuestring;
|
||||
const char *op = it->child->valuestring;
|
||||
const char *target = NULL;
|
||||
if (!strcmp(op, "jump")) {
|
||||
target = cJSON_GetArrayItem(it, 1)->valuestring;
|
||||
target = it->child->next->valuestring;
|
||||
} else if (!strcmp(op, "jump_true") || !strcmp(op, "jump_false") ||
|
||||
!strcmp(op, "jump_not_null")) {
|
||||
target = cJSON_GetArrayItem(it, 2)->valuestring;
|
||||
target = it->child->next->next->valuestring;
|
||||
}
|
||||
if (!target) continue;
|
||||
/* Find label position */
|
||||
@@ -2232,8 +2232,8 @@ static int *mcode_compress_regs(cJSON *fobj, int *out_old_nr_slots,
|
||||
}
|
||||
|
||||
/* Step 3: apply remap to instructions */
|
||||
for (int i = 0; i < n; i++) {
|
||||
cJSON *it = cJSON_GetArrayItem(instrs, i);
|
||||
{ cJSON *it = instrs ? instrs->child : NULL;
|
||||
for (int i = 0; it; i++, it = it->next) {
|
||||
if (!cJSON_IsArray(it)) continue;
|
||||
cJSON *regs[MAX_REG_ITEMS];
|
||||
int rc = mcode_reg_items(it, regs);
|
||||
@@ -2243,7 +2243,7 @@ static int *mcode_compress_regs(cJSON *fobj, int *out_old_nr_slots,
|
||||
cJSON_SetNumberValue(regs[j], remap[old]);
|
||||
}
|
||||
}
|
||||
}
|
||||
} }
|
||||
|
||||
/* Update nr_slots in the JSON */
|
||||
cJSON_SetNumberValue(nr_slots_j, new_max);
|
||||
@@ -2275,8 +2275,8 @@ static MachCode *mcode_lower_func(cJSON *fobj, const char *filename) {
|
||||
s.flat_to_pc = sys_malloc((n + 1) * sizeof(int));
|
||||
s.flat_count = n;
|
||||
|
||||
for (int i = 0; i < n; i++) {
|
||||
cJSON *it = cJSON_GetArrayItem(instrs, i);
|
||||
{ cJSON *it = instrs ? instrs->child : NULL;
|
||||
for (int i = 0; it; i++, it = it->next) {
|
||||
s.flat_to_pc[i] = s.code_count;
|
||||
if (cJSON_IsString(it)) {
|
||||
ml_label(&s, it->valuestring);
|
||||
@@ -2576,7 +2576,7 @@ static MachCode *mcode_lower_func(cJSON *fobj, const char *filename) {
|
||||
/* Unknown opcode — emit NOP */
|
||||
EM(MACH_ABC(MACH_NOP, 0, 0, 0));
|
||||
}
|
||||
}
|
||||
} }
|
||||
/* Sentinel for flat_to_pc */
|
||||
s.flat_to_pc[n] = s.code_count;
|
||||
|
||||
@@ -2715,34 +2715,32 @@ MachCode *mach_compile_mcode(cJSON *mcode_json) {
|
||||
/* Scan main's instructions */
|
||||
{
|
||||
cJSON *main_instrs = cJSON_GetObjectItemCaseSensitive(main_obj, "instructions");
|
||||
int mn = main_instrs ? cJSON_GetArraySize(main_instrs) : 0;
|
||||
for (int i = 0; i < mn; i++) {
|
||||
cJSON *it = cJSON_GetArrayItem(main_instrs, i);
|
||||
cJSON *it = main_instrs ? main_instrs->child : NULL;
|
||||
for (; it; it = it->next) {
|
||||
if (!cJSON_IsArray(it) || cJSON_GetArraySize(it) < 3) continue;
|
||||
const char *op = cJSON_GetArrayItem(it, 0)->valuestring;
|
||||
const char *op = it->child->valuestring;
|
||||
if (!strcmp(op, "function")) {
|
||||
int child_idx = (int)cJSON_GetArrayItem(it, 2)->valuedouble;
|
||||
int child_idx = (int)it->child->next->next->valuedouble;
|
||||
if (child_idx >= 0 && child_idx < func_count)
|
||||
parent_of[child_idx] = func_count; /* main */
|
||||
}
|
||||
}
|
||||
}
|
||||
/* Scan each function's instructions */
|
||||
for (int fi = 0; fi < func_count; fi++) {
|
||||
cJSON *fobj = cJSON_GetArrayItem(funcs_arr, fi);
|
||||
{ cJSON *fobj = funcs_arr ? funcs_arr->child : NULL;
|
||||
for (int fi = 0; fobj; fi++, fobj = fobj->next) {
|
||||
cJSON *finstrs = cJSON_GetObjectItemCaseSensitive(fobj, "instructions");
|
||||
int fn = finstrs ? cJSON_GetArraySize(finstrs) : 0;
|
||||
for (int i = 0; i < fn; i++) {
|
||||
cJSON *it = cJSON_GetArrayItem(finstrs, i);
|
||||
cJSON *it = finstrs ? finstrs->child : NULL;
|
||||
for (; it; it = it->next) {
|
||||
if (!cJSON_IsArray(it) || cJSON_GetArraySize(it) < 3) continue;
|
||||
const char *op = cJSON_GetArrayItem(it, 0)->valuestring;
|
||||
const char *op = it->child->valuestring;
|
||||
if (!strcmp(op, "function")) {
|
||||
int child_idx = (int)cJSON_GetArrayItem(it, 2)->valuedouble;
|
||||
int child_idx = (int)it->child->next->next->valuedouble;
|
||||
if (child_idx >= 0 && child_idx < func_count)
|
||||
parent_of[child_idx] = fi;
|
||||
}
|
||||
}
|
||||
}
|
||||
} }
|
||||
|
||||
/* Build per-function capture sets: for each function F, which of its slots
|
||||
are captured by descendant functions via get/put. Captured slots must
|
||||
@@ -2752,17 +2750,16 @@ MachCode *mach_compile_mcode(cJSON *mcode_json) {
|
||||
memset(cap_slots, 0, (func_count + 1) * sizeof(int *));
|
||||
memset(cap_counts, 0, (func_count + 1) * sizeof(int));
|
||||
|
||||
for (int fi = 0; fi < func_count; fi++) {
|
||||
cJSON *fobj = cJSON_GetArrayItem(funcs_arr, fi);
|
||||
{ cJSON *fobj = funcs_arr ? funcs_arr->child : NULL;
|
||||
for (int fi = 0; fobj; fi++, fobj = fobj->next) {
|
||||
cJSON *finstrs = cJSON_GetObjectItemCaseSensitive(fobj, "instructions");
|
||||
int fn = finstrs ? cJSON_GetArraySize(finstrs) : 0;
|
||||
for (int i = 0; i < fn; i++) {
|
||||
cJSON *it = cJSON_GetArrayItem(finstrs, i);
|
||||
cJSON *it = finstrs ? finstrs->child : NULL;
|
||||
for (; it; it = it->next) {
|
||||
if (!cJSON_IsArray(it) || cJSON_GetArraySize(it) < 4) continue;
|
||||
const char *op = cJSON_GetArrayItem(it, 0)->valuestring;
|
||||
const char *op = it->child->valuestring;
|
||||
if (strcmp(op, "get") && strcmp(op, "put")) continue;
|
||||
int slot = (int)cJSON_GetArrayItem(it, 2)->valuedouble;
|
||||
int level = (int)cJSON_GetArrayItem(it, 3)->valuedouble;
|
||||
int slot = (int)it->child->next->next->valuedouble;
|
||||
int level = (int)it->child->next->next->next->valuedouble;
|
||||
/* Walk up parent chain to find the ancestor whose slot is referenced */
|
||||
int ancestor = fi;
|
||||
for (int l = 0; l < level && ancestor >= 0; l++)
|
||||
@@ -2778,7 +2775,7 @@ MachCode *mach_compile_mcode(cJSON *mcode_json) {
|
||||
cap_slots[ancestor][cap_counts[ancestor]++] = slot;
|
||||
}
|
||||
}
|
||||
}
|
||||
} }
|
||||
|
||||
/* Compress registers for functions that exceed 8-bit slot limits.
|
||||
Save remap tables so we can fix get/put parent_slot references. */
|
||||
@@ -2786,9 +2783,11 @@ MachCode *mach_compile_mcode(cJSON *mcode_json) {
|
||||
int *remap_sizes = sys_malloc((func_count + 1) * sizeof(int));
|
||||
memset(remaps, 0, (func_count + 1) * sizeof(int *));
|
||||
|
||||
for (int i = 0; i < func_count; i++)
|
||||
remaps[i] = mcode_compress_regs(cJSON_GetArrayItem(funcs_arr, i),
|
||||
{ cJSON *fobj = funcs_arr ? funcs_arr->child : NULL;
|
||||
for (int i = 0; fobj; i++, fobj = fobj->next)
|
||||
remaps[i] = mcode_compress_regs(fobj,
|
||||
&remap_sizes[i], cap_slots[i], cap_counts[i]);
|
||||
}
|
||||
/* main is stored at index func_count in our arrays */
|
||||
remaps[func_count] = mcode_compress_regs(main_obj,
|
||||
&remap_sizes[func_count], cap_slots[func_count], cap_counts[func_count]);
|
||||
@@ -2800,16 +2799,15 @@ MachCode *mach_compile_mcode(cJSON *mcode_json) {
|
||||
sys_free(cap_counts);
|
||||
|
||||
/* Fix up get/put parent_slot references using ancestor remap tables */
|
||||
for (int fi = 0; fi < func_count; fi++) {
|
||||
cJSON *fobj = cJSON_GetArrayItem(funcs_arr, fi);
|
||||
{ cJSON *fobj = funcs_arr ? funcs_arr->child : NULL;
|
||||
for (int fi = 0; fobj; fi++, fobj = fobj->next) {
|
||||
cJSON *finstrs = cJSON_GetObjectItemCaseSensitive(fobj, "instructions");
|
||||
int fn = finstrs ? cJSON_GetArraySize(finstrs) : 0;
|
||||
for (int i = 0; i < fn; i++) {
|
||||
cJSON *it = cJSON_GetArrayItem(finstrs, i);
|
||||
cJSON *it = finstrs ? finstrs->child : NULL;
|
||||
for (; it; it = it->next) {
|
||||
if (!cJSON_IsArray(it) || cJSON_GetArraySize(it) < 4) continue;
|
||||
const char *op = cJSON_GetArrayItem(it, 0)->valuestring;
|
||||
const char *op = it->child->valuestring;
|
||||
if (strcmp(op, "get") && strcmp(op, "put")) continue;
|
||||
int level = (int)cJSON_GetArrayItem(it, 3)->valuedouble;
|
||||
int level = (int)it->child->next->next->next->valuedouble;
|
||||
/* Walk up parent chain 'level' times to find ancestor */
|
||||
int ancestor = fi;
|
||||
for (int l = 0; l < level && ancestor >= 0; l++) {
|
||||
@@ -2818,14 +2816,14 @@ MachCode *mach_compile_mcode(cJSON *mcode_json) {
|
||||
if (ancestor < 0) continue; /* unknown parent — leave as is */
|
||||
int *anc_remap = remaps[ancestor];
|
||||
if (!anc_remap) continue; /* ancestor wasn't compressed */
|
||||
cJSON *slot_item = cJSON_GetArrayItem(it, 2);
|
||||
cJSON *slot_item = it->child->next->next;
|
||||
int old_slot = (int)slot_item->valuedouble;
|
||||
if (old_slot >= 0 && old_slot < remap_sizes[ancestor]) {
|
||||
int new_slot = anc_remap[old_slot];
|
||||
cJSON_SetNumberValue(slot_item, new_slot);
|
||||
}
|
||||
}
|
||||
}
|
||||
} }
|
||||
|
||||
/* Free remap tables */
|
||||
for (int i = 0; i <= func_count; i++)
|
||||
@@ -2839,8 +2837,10 @@ MachCode *mach_compile_mcode(cJSON *mcode_json) {
|
||||
if (func_count > 0) {
|
||||
compiled = sys_malloc(func_count * sizeof(MachCode *));
|
||||
memset(compiled, 0, func_count * sizeof(MachCode *));
|
||||
for (int i = 0; i < func_count; i++)
|
||||
compiled[i] = mcode_lower_func(cJSON_GetArrayItem(funcs_arr, i), filename);
|
||||
{ cJSON *fobj = funcs_arr->child;
|
||||
for (int i = 0; fobj; i++, fobj = fobj->next)
|
||||
compiled[i] = mcode_lower_func(fobj, filename);
|
||||
}
|
||||
}
|
||||
|
||||
/* Compile main */
|
||||
|
||||
6
time.cm
6
time.cm
@@ -5,9 +5,9 @@ var now = time.now
|
||||
var computer_zone = time.computer_zone
|
||||
var computer_dst = time.computer_dst
|
||||
|
||||
delete time.now
|
||||
delete time.computer_zone
|
||||
delete time.computer_dst
|
||||
//delete time.now
|
||||
//delete time.computer_zone
|
||||
//delete time.computer_dst
|
||||
|
||||
time.second = 1
|
||||
time.minute = 60
|
||||
|
||||
Reference in New Issue
Block a user