Commit c2005794 authored by Ondrasek Timotej's avatar Ondrasek Timotej
Browse files

recompiled with assign optimization

parent 76506ff0
Loading
Loading
Loading
Loading
+58 −59
Original line number Diff line number Diff line
@@ -15,7 +15,6 @@
        ["STRING", "FAILED"],
        ["STRING", "set_script_state"],
        ["STRING", "set_script_msg"],
        ["BOOL", false],
        ["STRING", "PASSED"],
        ["STRING", "clear"],
        ["STRING", "function"],
@@ -101,7 +100,7 @@
                    ["BRANCH", "lbb", 5, 1, 2, [9, 5]]
                ],
                [
                    ["CALL", "scl", 3, 17, 7, [24, 5]],
                    ["CALL", "scl", 3, 16, 7, [24, 5]],
                    ["COPY_VAL_BOOL", "pl", 0, 0, [25, 5]],
                    ["RET", "", [25, 5]]
                ],
@@ -125,11 +124,11 @@
                [
                    ["CALL", "sclplc", 2, 13, 7, 2, 4, 12, [15, 13]],
                    ["CALL", "sclpll", 2, 14, 7, 2, 4, 12, [16, 13]],
                    ["COPY_VAL_BOOL", "lc", 0, 15, [17, 13]],
                    ["COPY_VAL_BOOL", "ll", 0, 0, [17, 13]],
                    ["JUMP", "b", 3, [17, 13]]
                ],
                [
                    ["CALL", "sclplc", 2, 13, 7, 2, 4, 16, [21, 13]],
                    ["CALL", "sclplc", 2, 13, 7, 2, 4, 15, [21, 13]],
                    ["JUMP", "b", 3, [21, 13]]
                ]
            ]
@@ -174,21 +173,21 @@
            ],
            "code": [
                [
                    ["GET_ELEMENT_OBJECT", "lpc", 0, 2, 18, [30, 23]],
                    ["GET_ELEMENT_OBJECT", "lpc", 0, 2, 17, [30, 23]],
                    ["CAST_ANY", "ll", 1, 0, [30, 23]],
                    ["COPY_REF", "ll", 2, 1, [30, 5]],
                    ["GET_ELEMENT_OBJECT", "lpc", 0, 2, 19, [31, 24]],
                    ["GET_ELEMENT_OBJECT", "lpc", 0, 2, 18, [31, 24]],
                    ["CAST_ANY", "ll", 3, 0, [31, 24]],
                    ["COPY_REF", "ll", 4, 3, [31, 5]],
                    ["GET_ELEMENT_OBJECT", "lpc", 0, 2, 20, [32, 32]],
                    ["GET_ELEMENT_OBJECT", "lpc", 0, 2, 19, [32, 32]],
                    ["COPY_REF", "ll", 5, 0, [32, 5]],
                    ["GET_ELEMENT_OBJECT", "lpc", 0, 2, 21, [33, 31]],
                    ["GET_ELEMENT_OBJECT", "lpc", 0, 2, 20, [33, 31]],
                    ["CAST_ANY", "ll", 3, 0, [33, 31]],
                    ["COPY_REF", "ll", 6, 3, [33, 5]],
                    ["CALL", "scl", 3, 17, 0, [35, 5]],
                    ["CALL", "sclpll", 0, 22, 0, 1, 2, 4, [36, 25]],
                    ["CALL", "scl", 3, 16, 0, [35, 5]],
                    ["CALL", "sclpll", 0, 21, 0, 1, 2, 4, [36, 25]],
                    ["COPY_REF", "ll", 7, 0, [36, 5]],
                    ["CALL", "scl", 3, 23, 0, [37, 29]],
                    ["CALL", "scl", 3, 22, 0, [37, 29]],
                    ["CAST_ANY", "ll", 3, 0, [37, 29]],
                    ["COPY_REF", "ll", 8, 3, [37, 5]],
                    ["SIZE_ARRAY", "ll", 9, 8, [39, 9]],
@@ -197,24 +196,24 @@
                    ["BRANCH", "lbb", 11, 3, 2, [39, 5]]
                ],
                [
                    ["SIZE_ARRAY", "ll", 9, 6, [45, 20]],
                    ["COPY_VAL_INT", "lc", 14, 7, [45, 5]],
                    ["LT_INT", "lll", 11, 14, 9, [45, 5]],
                    ["BRANCH", "lbb", 11, 4, 5, [45, 5]]
                    ["SIZE_ARRAY", "ll", 9, 6, [50, 20]],
                    ["COPY_VAL_INT", "lc", 14, 7, [50, 5]],
                    ["LT_INT", "lll", 11, 14, 9, [50, 5]],
                    ["BRANCH", "lbb", 11, 4, 5, [50, 5]]
                ],
                [
                    ["SIZE_ARRAY", "ll", 9, 8, [41, 58]],
                    ["CALL", "scll", 1, 24, 0, 9, [41, 39]],
                    ["CALL", "scll", 1, 23, 0, 9, [41, 39]],
                    ["CAST_ANY", "ll", 1, 0, [41, 39]],
                    ["COPY_REF", "ll", 12, 1, [41, 9]],
                    ["SIZE_ARRAY", "ll", 9, 6, [42, 61]],
                    ["CALL", "scll", 1, 24, 0, 9, [42, 42]],
                    ["CALL", "scll", 1, 23, 0, 9, [42, 42]],
                    ["CAST_ANY", "ll", 1, 0, [42, 42]],
                    ["COPY_REF", "ll", 13, 1, [42, 9]],
                    ["ADD_STRING", "lcl", 1, 25, 12, [43, 16]],
                    ["ADD_STRING", "llc", 1, 1, 26, [43, 16]],
                    ["ADD_STRING", "lll", 1, 1, 13, [43, 16]],
                    ["ADD_STRING", "llc", 1, 1, 27, [43, 16]],
                    ["ADD_STRING", "lcl", 1, 24, 12, [44, 13]],
                    ["ADD_STRING", "llc", 1, 1, 25, [44, 13]],
                    ["ADD_STRING", "lll", 1, 1, 13, [44, 13]],
                    ["ADD_STRING", "llc", 1, 1, 26, [44, 13]],
                    ["COPY_REF", "pl", 0, 1, [43, 9]],
                    ["RET", "", [43, 9]]
                ],
@@ -222,58 +221,58 @@
                    ["JUMP", "b", 1, [39, 5]]
                ],
                [
                    ["NE_ANY", "lll", 11, 7, 5, [60, 9]],
                    ["BRANCH", "lbb", 11, 11, 10, [60, 5]]
                    ["NE_ANY", "lll", 11, 7, 5, [65, 9]],
                    ["BRANCH", "lbb", 11, 11, 10, [65, 5]]
                ],
                [
                    ["GET_ELEMENT_ARRAY", "lll", 0, 8, 14, [47, 12]],
                    ["GET_ELEMENT_ARRAY", "lll", 16, 6, 14, [47, 29]],
                    ["NE_ANY", "lll", 17, 0, 16, [47, 12]],
                    ["BRANCH", "lbb", 17, 8, 7, [47, 9]]
                    ["GET_ELEMENT_ARRAY", "lll", 0, 8, 14, [52, 12]],
                    ["GET_ELEMENT_ARRAY", "lll", 16, 6, 14, [52, 29]],
                    ["NE_ANY", "lll", 17, 0, 16, [52, 12]],
                    ["BRANCH", "lbb", 17, 8, 7, [52, 9]]
                ],
                [
                    ["ADD_INT", "llc", 14, 14, 8, [45, 5]],
                    ["LT_INT", "lll", 15, 14, 9, [45, 5]],
                    ["BRANCH", "lbb", 15, 4, 5, [45, 5]]
                    ["ADD_INT", "llc", 14, 14, 8, [50, 5]],
                    ["LT_INT", "lll", 15, 14, 9, [50, 5]],
                    ["BRANCH", "lbb", 15, 4, 5, [50, 5]]
                ],
                [
                    ["CALL", "scll", 1, 24, 18, 14, [49, 33]],
                    ["CAST_ANY", "ll", 1, 18, [49, 33]],
                    ["COPY_REF", "ll", 19, 1, [49, 13]],
                    ["ADD_STRING", "lcl", 1, 28, 19, [51, 17]],
                    ["ADD_STRING", "llc", 1, 1, 29, [51, 17]],
                    ["GET_ELEMENT_ARRAY", "lll", 18, 8, 14, [54, 19]],
                    ["ADD_ANY", "lll", 20, 1, 18, [51, 17]],
                    ["ADD_ANY", "llc", 21, 20, 30, [51, 17]],
                    ["GET_ELEMENT_ARRAY", "lll", 22, 6, 14, [56, 19]],
                    ["ADD_ANY", "lll", 23, 21, 22, [51, 17]],
                    ["ADD_ANY", "llc", 24, 23, 31, [51, 17]],
                    ["CAST_ANY", "ll", 25, 24, [51, 17]],
                    ["COPY_REF", "pl", 0, 25, [50, 13]],
                    ["RET", "", [50, 13]]
                    ["CALL", "scll", 1, 23, 18, 14, [54, 33]],
                    ["CAST_ANY", "ll", 1, 18, [54, 33]],
                    ["COPY_REF", "ll", 19, 1, [54, 13]],
                    ["ADD_STRING", "lcl", 1, 27, 19, [56, 17]],
                    ["ADD_STRING", "llc", 1, 1, 28, [56, 17]],
                    ["GET_ELEMENT_ARRAY", "lll", 18, 8, 14, [59, 19]],
                    ["ADD_ANY", "lll", 20, 1, 18, [56, 17]],
                    ["ADD_ANY", "llc", 21, 20, 29, [56, 17]],
                    ["GET_ELEMENT_ARRAY", "lll", 22, 6, 14, [61, 19]],
                    ["ADD_ANY", "lll", 23, 21, 22, [56, 17]],
                    ["ADD_ANY", "llc", 24, 23, 30, [56, 17]],
                    ["CAST_ANY", "ll", 25, 24, [56, 17]],
                    ["COPY_REF", "pl", 0, 25, [55, 13]],
                    ["RET", "", [55, 13]]
                ],
                [
                    ["JUMP", "b", 6, [47, 9]]
                    ["JUMP", "b", 6, [52, 9]]
                ],
                [
                    ["COPY_VAL_STRING", "pc", 0, 11, [66, 5]],
                    ["RET", "", [66, 5]]
                    ["COPY_VAL_STRING", "pc", 0, 11, [71, 5]],
                    ["RET", "", [71, 5]]
                ],
                [
                    ["CALL", "scll", 1, 24, 0, 7, [62, 34]],
                    ["CAST_ANY", "ll", 1, 0, [62, 34]],
                    ["COPY_REF", "ll", 26, 1, [62, 9]],
                    ["CALL", "scll", 1, 24, 0, 5, [63, 36]],
                    ["CAST_ANY", "ll", 1, 0, [63, 36]],
                    ["COPY_REF", "ll", 27, 1, [63, 9]],
                    ["ADD_STRING", "lcl", 1, 32, 26, [64, 16]],
                    ["ADD_STRING", "llc", 1, 1, 30, [64, 16]],
                    ["ADD_STRING", "lll", 1, 1, 27, [64, 16]],
                    ["COPY_REF", "pl", 0, 1, [64, 9]],
                    ["RET", "", [64, 9]]
                    ["CALL", "scll", 1, 23, 0, 7, [67, 34]],
                    ["CAST_ANY", "ll", 1, 0, [67, 34]],
                    ["COPY_REF", "ll", 26, 1, [67, 9]],
                    ["CALL", "scll", 1, 23, 0, 5, [68, 36]],
                    ["CAST_ANY", "ll", 1, 0, [68, 36]],
                    ["COPY_REF", "ll", 27, 1, [68, 9]],
                    ["ADD_STRING", "lcl", 1, 31, 26, [69, 16]],
                    ["ADD_STRING", "llc", 1, 1, 29, [69, 16]],
                    ["ADD_STRING", "lll", 1, 1, 27, [69, 16]],
                    ["COPY_REF", "pl", 0, 1, [69, 9]],
                    ["RET", "", [69, 9]]
                ],
                [
                    ["JUMP", "b", 9, [60, 5]]
                    ["JUMP", "b", 9, [65, 5]]
                ]
            ]
        }
+15 −20
Original line number Diff line number Diff line
@@ -30,8 +30,7 @@
                "INT",
                "INT",
                "BOOL",
                "BOOL",
                "INT"
                "BOOL"
            ],
            "code": [
                [
@@ -45,8 +44,8 @@
                    ["RET", "", [8, 5]]
                ],
                [
                    ["ADD_INT", "llc", 4, 0, 1, [6, 19]],
                    ["COPY_VAL_INT", "ll", 0, 4, [6, 9]],
                    ["ADD_INT", "llc", 0, 0, 1, [6, 19]],
                    ["COPY_VAL_INT", "ll", 0, 0, [6, 9]],
                    ["ADD_INT", "llc", 1, 1, 1, [4, 5]],
                    ["LE_INT", "llp", 3, 1, 1, [4, 5]],
                    ["BRANCH", "lbb", 3, 1, 2, [4, 5]]
@@ -66,8 +65,7 @@
                "INT",
                "INT",
                "BOOL",
                "BOOL",
                "INT"
                "BOOL"
            ],
            "code": [
                [
@@ -81,8 +79,8 @@
                    ["RET", "", [18, 5]]
                ],
                [
                    ["ADD_INT", "llc", 4, 0, 1, [16, 19]],
                    ["COPY_VAL_INT", "ll", 0, 4, [16, 9]],
                    ["ADD_INT", "llc", 0, 0, 1, [16, 19]],
                    ["COPY_VAL_INT", "ll", 0, 0, [16, 9]],
                    ["ADD_INT", "llp", 1, 1, 3, [14, 5]],
                    ["LT_INT", "llp", 3, 1, 2, [14, 5]],
                    ["BRANCH", "lbb", 3, 1, 2, [14, 5]]
@@ -104,8 +102,7 @@
                "BOOL",
                "INT",
                "BOOL",
                "BOOL",
                "INT"
                "BOOL"
            ],
            "code": [
                [
@@ -129,8 +126,8 @@
                    ["BRANCH", "lbb", 3, 1, 2, [24, 5]]
                ],
                [
                    ["ADD_INT", "llc", 7, 0, 1, [28, 23]],
                    ["COPY_VAL_INT", "ll", 0, 7, [28, 13]],
                    ["ADD_INT", "llc", 0, 0, 1, [28, 23]],
                    ["COPY_VAL_INT", "ll", 0, 0, [28, 13]],
                    ["ADD_INT", "llc", 4, 4, 1, [26, 9]],
                    ["LE_INT", "llp", 6, 4, 2, [26, 9]],
                    ["BRANCH", "lbb", 6, 3, 4, [26, 9]]
@@ -154,8 +151,7 @@
                "BOOL",
                "INT",
                "BOOL",
                "BOOL",
                "INT"
                "BOOL"
            ],
            "code": [
                [
@@ -193,8 +189,8 @@
                    ["BRANCH", "lbb", 7, 10, 9, [45, 13]]
                ],
                [
                    ["ADD_INT", "llc", 8, 0, 1, [49, 23]],
                    ["COPY_VAL_INT", "ll", 0, 8, [49, 13]],
                    ["ADD_INT", "llc", 0, 0, 1, [49, 23]],
                    ["COPY_VAL_INT", "ll", 0, 0, [49, 13]],
                    ["ADD_INT", "llc", 5, 5, 1, [43, 9]],
                    ["LE_INT", "llp", 6, 5, 3, [43, 9]],
                    ["BRANCH", "lbb", 6, 6, 7, [43, 9]]
@@ -224,8 +220,7 @@
                "BOOL",
                "INT",
                "BOOL",
                "BOOL",
                "INT"
                "BOOL"
            ],
            "code": [
                [
@@ -265,8 +260,8 @@
                    ["BRANCH", "lbb", 7, 10, 9, [66, 13]]
                ],
                [
                    ["ADD_INT", "llc", 8, 0, 1, [70, 23]],
                    ["COPY_VAL_INT", "ll", 0, 8, [70, 13]],
                    ["ADD_INT", "llc", 0, 0, 1, [70, 23]],
                    ["COPY_VAL_INT", "ll", 0, 0, [70, 13]],
                    ["ADD_INT", "llc", 5, 5, 1, [64, 9]],
                    ["LE_INT", "llp", 6, 5, 3, [64, 9]],
                    ["BRANCH", "lbb", 6, 6, 7, [64, 9]]
+43 −49
Original line number Diff line number Diff line
@@ -27,8 +27,6 @@
            ],
            "returns": true,
            "locals": [
                "INT",
                "BOOL",
                "INT",
                "BOOL"
            ],
@@ -43,10 +41,10 @@
                    ["RET", "", [8, 5]]
                ],
                [
                    ["ADD_INT", "llc", 2, 0, 1, [6, 14]],
                    ["COPY_VAL_INT", "ll", 0, 2, [6, 9]],
                    ["LE_INT", "llp", 3, 0, 1, [4, 11]],
                    ["BRANCH", "lbb", 3, 1, 2, [4, 5]]
                    ["ADD_INT", "llc", 0, 0, 1, [6, 14]],
                    ["COPY_VAL_INT", "ll", 0, 0, [6, 9]],
                    ["LE_INT", "llp", 1, 0, 1, [4, 11]],
                    ["BRANCH", "lbb", 1, 1, 2, [4, 5]]
                ]
            ]
        },
@@ -63,8 +61,6 @@
                "INT",
                "BOOL",
                "INT",
                "BOOL",
                "INT",
                "BOOL"
            ],
            "code": [
@@ -84,18 +80,18 @@
                    ["BRANCH", "lbb", 4, 3, 4, [18, 9]]
                ],
                [
                    ["ADD_INT", "llc", 5, 1, 1, [23, 14]],
                    ["COPY_VAL_INT", "ll", 1, 5, [23, 9]],
                    ["LE_INT", "llp", 4, 1, 1, [15, 11]],
                    ["BRANCH", "lbb", 4, 1, 2, [15, 5]]
                    ["ADD_INT", "llc", 1, 1, 1, [23, 14]],
                    ["COPY_VAL_INT", "ll", 1, 1, [23, 9]],
                    ["LE_INT", "llp", 2, 1, 1, [15, 11]],
                    ["BRANCH", "lbb", 2, 1, 2, [15, 5]]
                ],
                [
                    ["ADD_INT", "llc", 5, 3, 1, [20, 18]],
                    ["COPY_VAL_INT", "ll", 3, 5, [20, 13]],
                    ["ADD_INT", "llc", 5, 0, 1, [21, 23]],
                    ["COPY_VAL_INT", "ll", 0, 5, [21, 13]],
                    ["LE_INT", "llp", 6, 3, 2, [18, 15]],
                    ["BRANCH", "lbb", 6, 3, 4, [18, 9]]
                    ["ADD_INT", "llc", 3, 3, 1, [20, 18]],
                    ["COPY_VAL_INT", "ll", 3, 3, [20, 13]],
                    ["ADD_INT", "llc", 0, 0, 1, [21, 23]],
                    ["COPY_VAL_INT", "ll", 0, 0, [21, 13]],
                    ["LE_INT", "llp", 4, 3, 2, [18, 15]],
                    ["BRANCH", "lbb", 4, 3, 4, [18, 9]]
                ]
            ]
        },
@@ -114,8 +110,7 @@
                "BOOL",
                "BOOL",
                "INT",
                "BOOL",
                "INT"
                "BOOL"
            ],
            "code": [
                [
@@ -144,22 +139,22 @@
                    ["JUMP", "b", 3, [34, 9]]
                ],
                [
                    ["ADD_INT", "llc", 6, 1, 1, [48, 14]],
                    ["COPY_VAL_INT", "ll", 1, 6, [48, 9]],
                    ["LE_INT", "llp", 3, 1, 2, [32, 11]],
                    ["BRANCH", "lbb", 3, 1, 2, [32, 5]]
                    ["ADD_INT", "llc", 1, 1, 1, [48, 14]],
                    ["COPY_VAL_INT", "ll", 1, 1, [48, 9]],
                    ["LE_INT", "llp", 2, 1, 2, [32, 11]],
                    ["BRANCH", "lbb", 2, 1, 2, [32, 5]]
                ],
                [
                    ["EQ_INT", "llp", 5, 4, 1, [41, 16]],
                    ["BRANCH", "lbb", 5, 10, 9, [41, 13]]
                ],
                [
                    ["ADD_INT", "llc", 6, 0, 1, [45, 23]],
                    ["COPY_VAL_INT", "ll", 0, 6, [45, 13]],
                    ["ADD_INT", "llc", 6, 4, 1, [46, 18]],
                    ["COPY_VAL_INT", "ll", 4, 6, [46, 13]],
                    ["LE_INT", "llp", 5, 4, 3, [39, 15]],
                    ["BRANCH", "lbb", 5, 6, 7, [39, 9]]
                    ["ADD_INT", "llc", 0, 0, 1, [45, 23]],
                    ["COPY_VAL_INT", "ll", 0, 0, [45, 13]],
                    ["ADD_INT", "llc", 4, 4, 1, [46, 18]],
                    ["COPY_VAL_INT", "ll", 4, 4, [46, 13]],
                    ["LE_INT", "llp", 3, 4, 3, [39, 15]],
                    ["BRANCH", "lbb", 3, 6, 7, [39, 9]]
                ],
                [
                    ["JUMP", "b", 6, [43, 17]]
@@ -184,7 +179,6 @@
                "BOOL",
                "BOOL",
                "INT",
                "INT",
                "BOOL"
            ],
            "code": [
@@ -203,39 +197,39 @@
                    ["BRANCH", "lbb", 3, 5, 4, [59, 9]]
                ],
                [
                    ["COPY_VAL_INT", "lc", 5, 0, [64, 9]],
                    ["LE_INT", "llp", 3, 5, 3, [65, 15]],
                    ["COPY_VAL_INT", "lc", 4, 0, [64, 9]],
                    ["LE_INT", "llp", 3, 4, 3, [65, 15]],
                    ["BRANCH", "lbb", 3, 6, 7, [65, 9]]
                ],
                [
                    ["ADD_INT", "llc", 4, 1, 1, [61, 18]],
                    ["COPY_VAL_INT", "ll", 1, 4, [61, 13]],
                    ["ADD_INT", "llc", 1, 1, 1, [61, 18]],
                    ["COPY_VAL_INT", "ll", 1, 1, [61, 13]],
                    ["BRANCH", "lbb", 2, 1, 2, [57, 5]]
                ],
                [
                    ["JUMP", "b", 3, [59, 9]]
                ],
                [
                    ["ADD_INT", "llc", 4, 1, 1, [75, 14]],
                    ["COPY_VAL_INT", "ll", 1, 4, [75, 9]],
                    ["LE_INT", "llp", 3, 1, 2, [57, 11]],
                    ["BRANCH", "lbb", 3, 1, 2, [57, 5]]
                    ["ADD_INT", "llc", 1, 1, 1, [75, 14]],
                    ["COPY_VAL_INT", "ll", 1, 1, [75, 9]],
                    ["LE_INT", "llp", 2, 1, 2, [57, 11]],
                    ["BRANCH", "lbb", 2, 1, 2, [57, 5]]
                ],
                [
                    ["EQ_INT", "llp", 6, 5, 1, [67, 16]],
                    ["BRANCH", "lbb", 6, 10, 9, [67, 13]]
                    ["EQ_INT", "llp", 5, 4, 1, [67, 16]],
                    ["BRANCH", "lbb", 5, 10, 9, [67, 13]]
                ],
                [
                    ["ADD_INT", "llc", 4, 0, 1, [72, 23]],
                    ["COPY_VAL_INT", "ll", 0, 4, [72, 13]],
                    ["ADD_INT", "llc", 4, 5, 1, [73, 18]],
                    ["COPY_VAL_INT", "ll", 5, 4, [73, 13]],
                    ["LE_INT", "llp", 6, 5, 3, [65, 15]],
                    ["BRANCH", "lbb", 6, 6, 7, [65, 9]]
                    ["ADD_INT", "llc", 0, 0, 1, [72, 23]],
                    ["COPY_VAL_INT", "ll", 0, 0, [72, 13]],
                    ["ADD_INT", "llc", 4, 4, 1, [73, 18]],
                    ["COPY_VAL_INT", "ll", 4, 4, [73, 13]],
                    ["LE_INT", "llp", 3, 4, 3, [65, 15]],
                    ["BRANCH", "lbb", 3, 6, 7, [65, 9]]
                ],
                [
                    ["ADD_INT", "llc", 4, 5, 1, [69, 22]],
                    ["COPY_VAL_INT", "ll", 5, 4, [69, 17]],
                    ["ADD_INT", "llc", 4, 4, 1, [69, 22]],
                    ["COPY_VAL_INT", "ll", 4, 4, [69, 17]],
                    ["BRANCH", "lbb", 3, 6, 7, [65, 9]]
                ],
                [