diff options
| -rw-r--r-- | src/buildvm_x64.h | 10 | ||||
| -rw-r--r-- | src/buildvm_x64win.h | 200 | ||||
| -rw-r--r-- | src/buildvm_x86.dasc | 47 | ||||
| -rw-r--r-- | src/buildvm_x86.h | 448 |
4 files changed, 346 insertions, 359 deletions
diff --git a/src/buildvm_x64.h b/src/buildvm_x64.h index c9e2d64f..24505e99 100644 --- a/src/buildvm_x64.h +++ b/src/buildvm_x64.h | |||
| @@ -555,12 +555,12 @@ static const unsigned char build_actionlist[14075] = { | |||
| 555 | 139,108,36,24,137,149,233,139,82,252,248,65,139,52,135,137,252,239,137,92, | 555 | 139,108,36,24,137,149,233,139,82,252,248,65,139,52,135,137,252,239,137,92, |
| 556 | 36,28,232,251,1,28,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237, | 556 | 36,28,232,251,1,28,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237, |
| 557 | 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255, | 557 | 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255, |
| 558 | 139,124,36,24,137,151,233,248,1,137,194,37,252,255,7,0,0,193,252,234,11,61, | 558 | 139,108,36,24,137,149,233,65,139,142,233,65,59,142,233,137,92,36,28,15,131, |
| 559 | 252,255,7,0,0,15,132,244,249,248,2,137,198,65,139,134,233,137,252,253,65, | 559 | 244,251,248,1,137,194,37,252,255,7,0,0,193,252,234,11,61,252,255,7,0,0,15, |
| 560 | 59,134,233,137,92,36,28,15,131,244,251,232,251,1,29,139,149,233,15,182,75, | 560 | 132,244,249,248,2,137,252,239,137,198,232,251,1,29,139,149,233,15,182,75, |
| 561 | 252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4, | 561 | 252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4, |
| 562 | 193,232,16,65,252,255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248,5,232, | 562 | 193,232,16,65,252,255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248,5,137, |
| 563 | 251,1,30,15,183,67,252,254,137,252,239,252,233,244,1,255,72,252,247,208,139, | 563 | 252,239,232,251,1,30,15,183,67,252,254,252,233,244,1,255,72,252,247,208,139, |
| 564 | 108,36,24,65,139,142,233,137,92,36,28,65,59,142,233,137,149,233,15,131,244, | 564 | 108,36,24,65,139,142,233,137,92,36,28,65,59,142,233,137,149,233,15,131,244, |
| 565 | 249,248,2,65,139,52,135,137,252,239,232,251,1,31,139,149,233,15,182,75,252, | 565 | 249,248,2,65,139,52,135,137,252,239,232,251,1,31,139,149,233,15,182,75,252, |
| 566 | 253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193, | 566 | 253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193, |
diff --git a/src/buildvm_x64win.h b/src/buildvm_x64win.h index 97581286..656b6590 100644 --- a/src/buildvm_x64win.h +++ b/src/buildvm_x64win.h | |||
| @@ -12,7 +12,7 @@ | |||
| 12 | #define DASM_SECTION_CODE_OP 0 | 12 | #define DASM_SECTION_CODE_OP 0 |
| 13 | #define DASM_SECTION_CODE_SUB 1 | 13 | #define DASM_SECTION_CODE_SUB 1 |
| 14 | #define DASM_MAXSECTION 2 | 14 | #define DASM_MAXSECTION 2 |
| 15 | static const unsigned char build_actionlist[14023] = { | 15 | static const unsigned char build_actionlist[14024] = { |
| 16 | 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72, | 16 | 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72, |
| 17 | 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68, | 17 | 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68, |
| 18 | 36,84,252,247,198,237,15,132,244,13,248,14,252,247,198,237,15,132,244,10, | 18 | 36,84,252,247,198,237,15,132,244,13,248,14,252,247,198,237,15,132,244,10, |
| @@ -554,21 +554,21 @@ static const unsigned char build_actionlist[14023] = { | |||
| 554 | 131,198,4,193,232,16,252,255,36,252,235,255,72,252,247,208,139,108,36,96, | 554 | 131,198,4,193,232,16,252,255,36,252,235,255,72,252,247,208,139,108,36,96, |
| 555 | 137,149,233,68,139,66,252,248,139,20,135,137,252,233,137,116,36,100,232,251, | 555 | 137,149,233,68,139,66,252,248,139,20,135,137,252,233,137,116,36,100,232,251, |
| 556 | 1,28,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182, | 556 | 1,28,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182, |
| 557 | 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,76,36,96,137, | 557 | 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,108,36,96, |
| 558 | 145,233,248,1,65,137,192,37,252,255,7,0,0,65,193,232,11,61,252,255,7,0,0, | 558 | 137,149,233,139,139,233,59,139,233,137,116,36,100,15,131,244,251,248,1,65, |
| 559 | 15,132,244,249,248,2,137,194,139,131,233,137,205,59,131,233,137,116,36,100, | 559 | 137,192,37,252,255,7,0,0,65,193,232,11,61,252,255,7,0,0,15,132,244,249,248, |
| 560 | 15,131,244,251,232,251,1,29,139,149,233,15,182,78,252,253,137,4,202,199,68, | 560 | 2,137,252,233,137,194,232,251,1,29,139,149,233,15,182,78,252,253,137,4,202, |
| 561 | 202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, | 561 | 199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, |
| 562 | 235,248,3,184,1,8,0,0,252,233,244,2,248,5,232,251,1,30,15,183,70,252,254, | 562 | 36,252,235,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,233,232,251,1,30, |
| 563 | 137,252,233,252,233,244,1,255,72,252,247,208,139,108,36,96,139,139,233,137, | 563 | 15,183,70,252,254,252,233,244,1,255,72,252,247,208,139,108,36,96,139,139, |
| 564 | 116,36,100,59,139,233,137,149,233,15,131,244,249,248,2,139,20,135,137,252, | 564 | 233,137,116,36,100,59,139,233,137,149,233,15,131,244,249,248,2,139,20,135, |
| 565 | 233,232,251,1,31,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237, | 565 | 137,252,233,232,251,1,31,139,149,233,15,182,78,252,253,137,4,202,199,68,202, |
| 566 | 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3, | 566 | 4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, |
| 567 | 137,252,233,232,251,1,30,15,183,70,252,254,72,252,247,208,252,233,244,2,255, | 567 | 248,3,137,252,233,232,251,1,30,15,183,70,252,254,72,252,247,208,252,233,244, |
| 568 | 72,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,157,255, | 568 | 2,255,72,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,157, |
| 569 | 72,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,158,255, | 569 | 255,72,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,158, |
| 570 | 15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,44, | 570 | 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139, |
| 571 | 252,234,129,124,253,194,4,239,15,135,244,251,255,252,242,15,16,4,194,252, | 571 | 44,252,234,129,124,253,194,4,239,15,135,244,251,255,252,242,15,16,4,194,252, |
| 572 | 242,15,45,192,252,242,15,42,200,102,15,46,193,255,15,133,244,36,59,133,233, | 572 | 242,15,45,192,252,242,15,42,200,102,15,46,193,255,15,133,244,36,59,133,233, |
| 573 | 15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,248,1, | 573 | 15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,248,1, |
| 574 | 139,40,139,64,4,137,44,202,137,68,202,4,139,6,15,182,204,15,182,232,131,198, | 574 | 139,40,139,64,4,137,44,202,137,68,202,4,139,6,15,182,204,15,182,232,131,198, |
| @@ -1912,61 +1912,61 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
| 1912 | dasm_put(Dst, 11175, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); | 1912 | dasm_put(Dst, 11175, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); |
| 1913 | break; | 1913 | break; |
| 1914 | case BC_TDUP: | 1914 | case BC_TDUP: |
| 1915 | dasm_put(Dst, 11296, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); | 1915 | dasm_put(Dst, 11297, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); |
| 1916 | break; | 1916 | break; |
| 1917 | 1917 | ||
| 1918 | case BC_GGET: | 1918 | case BC_GGET: |
| 1919 | dasm_put(Dst, 11391, Dt7(->env)); | 1919 | dasm_put(Dst, 11392, Dt7(->env)); |
| 1920 | break; | 1920 | break; |
| 1921 | case BC_GSET: | 1921 | case BC_GSET: |
| 1922 | dasm_put(Dst, 11410, Dt7(->env)); | 1922 | dasm_put(Dst, 11411, Dt7(->env)); |
| 1923 | break; | 1923 | break; |
| 1924 | 1924 | ||
| 1925 | case BC_TGETV: | 1925 | case BC_TGETV: |
| 1926 | dasm_put(Dst, 11429, LJ_TTAB, LJ_TISNUM); | 1926 | dasm_put(Dst, 11430, LJ_TTAB, LJ_TISNUM); |
| 1927 | if (sse) { | 1927 | if (sse) { |
| 1928 | dasm_put(Dst, 11462); | 1928 | dasm_put(Dst, 11463); |
| 1929 | } else { | 1929 | } else { |
| 1930 | } | 1930 | } |
| 1931 | dasm_put(Dst, 11483, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 1931 | dasm_put(Dst, 11484, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
| 1932 | dasm_put(Dst, 11576, LJ_TSTR); | 1932 | dasm_put(Dst, 11577, LJ_TSTR); |
| 1933 | break; | 1933 | break; |
| 1934 | case BC_TGETS: | 1934 | case BC_TGETS: |
| 1935 | dasm_put(Dst, 11594, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 1935 | dasm_put(Dst, 11595, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
| 1936 | dasm_put(Dst, 11679, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 1936 | dasm_put(Dst, 11680, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
| 1937 | break; | 1937 | break; |
| 1938 | case BC_TGETB: | 1938 | case BC_TGETB: |
| 1939 | dasm_put(Dst, 11751, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 1939 | dasm_put(Dst, 11752, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
| 1940 | dasm_put(Dst, 10092); | 1940 | dasm_put(Dst, 10092); |
| 1941 | break; | 1941 | break; |
| 1942 | 1942 | ||
| 1943 | case BC_TSETV: | 1943 | case BC_TSETV: |
| 1944 | dasm_put(Dst, 11851, LJ_TTAB, LJ_TISNUM); | 1944 | dasm_put(Dst, 11852, LJ_TTAB, LJ_TISNUM); |
| 1945 | if (sse) { | 1945 | if (sse) { |
| 1946 | dasm_put(Dst, 11462); | 1946 | dasm_put(Dst, 11463); |
| 1947 | } else { | 1947 | } else { |
| 1948 | } | 1948 | } |
| 1949 | dasm_put(Dst, 11884, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); | 1949 | dasm_put(Dst, 11885, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); |
| 1950 | dasm_put(Dst, 11968, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 1950 | dasm_put(Dst, 11969, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
| 1951 | break; | 1951 | break; |
| 1952 | case BC_TSETS: | 1952 | case BC_TSETS: |
| 1953 | dasm_put(Dst, 12030, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 1953 | dasm_put(Dst, 12031, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
| 1954 | dasm_put(Dst, 12106, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); | 1954 | dasm_put(Dst, 12107, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); |
| 1955 | dasm_put(Dst, 12199, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 1955 | dasm_put(Dst, 12200, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
| 1956 | break; | 1956 | break; |
| 1957 | case BC_TSETB: | 1957 | case BC_TSETB: |
| 1958 | dasm_put(Dst, 12290, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); | 1958 | dasm_put(Dst, 12291, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); |
| 1959 | dasm_put(Dst, 12389, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 1959 | dasm_put(Dst, 12390, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
| 1960 | break; | 1960 | break; |
| 1961 | 1961 | ||
| 1962 | case BC_TSETM: | 1962 | case BC_TSETM: |
| 1963 | dasm_put(Dst, 12435); | 1963 | dasm_put(Dst, 12436); |
| 1964 | if (sse) { | 1964 | if (sse) { |
| 1965 | dasm_put(Dst, 12440); | 1965 | dasm_put(Dst, 12441); |
| 1966 | } else { | 1966 | } else { |
| 1967 | } | 1967 | } |
| 1968 | dasm_put(Dst, 12447, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); | 1968 | dasm_put(Dst, 12448, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); |
| 1969 | dasm_put(Dst, 12587, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 1969 | dasm_put(Dst, 12588, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
| 1970 | break; | 1970 | break; |
| 1971 | 1971 | ||
| 1972 | /* -- Calls and vararg handling ----------------------------------------- */ | 1972 | /* -- Calls and vararg handling ----------------------------------------- */ |
| @@ -1974,60 +1974,60 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
| 1974 | case BC_CALL: case BC_CALLM: | 1974 | case BC_CALL: case BC_CALLM: |
| 1975 | dasm_put(Dst, 10106); | 1975 | dasm_put(Dst, 10106); |
| 1976 | if (op == BC_CALLM) { | 1976 | if (op == BC_CALLM) { |
| 1977 | dasm_put(Dst, 12605); | 1977 | dasm_put(Dst, 12606); |
| 1978 | } | 1978 | } |
| 1979 | dasm_put(Dst, 12610, LJ_TFUNC, Dt7(->pc)); | 1979 | dasm_put(Dst, 12611, LJ_TFUNC, Dt7(->pc)); |
| 1980 | break; | 1980 | break; |
| 1981 | 1981 | ||
| 1982 | case BC_CALLMT: | 1982 | case BC_CALLMT: |
| 1983 | dasm_put(Dst, 12605); | 1983 | dasm_put(Dst, 12606); |
| 1984 | break; | 1984 | break; |
| 1985 | case BC_CALLT: | 1985 | case BC_CALLT: |
| 1986 | dasm_put(Dst, 12652, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); | 1986 | dasm_put(Dst, 12653, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); |
| 1987 | dasm_put(Dst, 12771, FRAME_TYPE, Dt7(->pc), PC2PROTO(k)); | 1987 | dasm_put(Dst, 12772, FRAME_TYPE, Dt7(->pc), PC2PROTO(k)); |
| 1988 | break; | 1988 | break; |
| 1989 | 1989 | ||
| 1990 | case BC_ITERC: | 1990 | case BC_ITERC: |
| 1991 | dasm_put(Dst, 12829, LJ_TFUNC, 2+1, Dt7(->pc)); | 1991 | dasm_put(Dst, 12830, LJ_TFUNC, 2+1, Dt7(->pc)); |
| 1992 | break; | 1992 | break; |
| 1993 | 1993 | ||
| 1994 | case BC_VARG: | 1994 | case BC_VARG: |
| 1995 | dasm_put(Dst, 12910, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); | 1995 | dasm_put(Dst, 12911, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); |
| 1996 | dasm_put(Dst, 13055, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); | 1996 | dasm_put(Dst, 13056, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); |
| 1997 | break; | 1997 | break; |
| 1998 | 1998 | ||
| 1999 | /* -- Returns ----------------------------------------------------------- */ | 1999 | /* -- Returns ----------------------------------------------------------- */ |
| 2000 | 2000 | ||
| 2001 | case BC_RETM: | 2001 | case BC_RETM: |
| 2002 | dasm_put(Dst, 12605); | 2002 | dasm_put(Dst, 12606); |
| 2003 | break; | 2003 | break; |
| 2004 | 2004 | ||
| 2005 | case BC_RET: case BC_RET0: case BC_RET1: | 2005 | case BC_RET: case BC_RET0: case BC_RET1: |
| 2006 | if (op != BC_RET0) { | 2006 | if (op != BC_RET0) { |
| 2007 | dasm_put(Dst, 13154); | 2007 | dasm_put(Dst, 13155); |
| 2008 | } | 2008 | } |
| 2009 | dasm_put(Dst, 13158, FRAME_TYPE); | 2009 | dasm_put(Dst, 13159, FRAME_TYPE); |
| 2010 | switch (op) { | 2010 | switch (op) { |
| 2011 | case BC_RET: | 2011 | case BC_RET: |
| 2012 | dasm_put(Dst, 13177); | 2012 | dasm_put(Dst, 13178); |
| 2013 | break; | 2013 | break; |
| 2014 | case BC_RET1: | 2014 | case BC_RET1: |
| 2015 | dasm_put(Dst, 13235); | 2015 | dasm_put(Dst, 13236); |
| 2016 | /* fallthrough */ | 2016 | /* fallthrough */ |
| 2017 | case BC_RET0: | 2017 | case BC_RET0: |
| 2018 | dasm_put(Dst, 13251); | 2018 | dasm_put(Dst, 13252); |
| 2019 | default: | 2019 | default: |
| 2020 | break; | 2020 | break; |
| 2021 | } | 2021 | } |
| 2022 | dasm_put(Dst, 13262, Dt7(->pc), PC2PROTO(k)); | 2022 | dasm_put(Dst, 13263, Dt7(->pc), PC2PROTO(k)); |
| 2023 | if (op == BC_RET) { | 2023 | if (op == BC_RET) { |
| 2024 | dasm_put(Dst, 13306, LJ_TNIL); | 2024 | dasm_put(Dst, 13307, LJ_TNIL); |
| 2025 | } else { | 2025 | } else { |
| 2026 | dasm_put(Dst, 13315, LJ_TNIL); | 2026 | dasm_put(Dst, 13316, LJ_TNIL); |
| 2027 | } | 2027 | } |
| 2028 | dasm_put(Dst, 13322); | 2028 | dasm_put(Dst, 13323); |
| 2029 | if (op != BC_RET0) { | 2029 | if (op != BC_RET0) { |
| 2030 | dasm_put(Dst, 13343); | 2030 | dasm_put(Dst, 13344); |
| 2031 | } | 2031 | } |
| 2032 | dasm_put(Dst, 4570); | 2032 | dasm_put(Dst, 4570); |
| 2033 | break; | 2033 | break; |
| @@ -2037,7 +2037,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
| 2037 | 2037 | ||
| 2038 | case BC_FORL: | 2038 | case BC_FORL: |
| 2039 | #if LJ_HASJIT | 2039 | #if LJ_HASJIT |
| 2040 | dasm_put(Dst, 13347, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2040 | dasm_put(Dst, 13348, HOTCOUNT_PCMASK, GG_DISP2HOT); |
| 2041 | #endif | 2041 | #endif |
| 2042 | break; | 2042 | break; |
| 2043 | 2043 | ||
| @@ -2049,57 +2049,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
| 2049 | case BC_FORI: | 2049 | case BC_FORI: |
| 2050 | case BC_IFORL: | 2050 | case BC_IFORL: |
| 2051 | vk = (op == BC_IFORL || op == BC_JFORL); | 2051 | vk = (op == BC_IFORL || op == BC_JFORL); |
| 2052 | dasm_put(Dst, 13368); | 2052 | dasm_put(Dst, 13369); |
| 2053 | if (!vk) { | 2053 | if (!vk) { |
| 2054 | dasm_put(Dst, 13372, LJ_TISNUM, LJ_TISNUM); | 2054 | dasm_put(Dst, 13373, LJ_TISNUM, LJ_TISNUM); |
| 2055 | } | 2055 | } |
| 2056 | dasm_put(Dst, 13391); | 2056 | dasm_put(Dst, 13392); |
| 2057 | if (!vk) { | 2057 | if (!vk) { |
| 2058 | dasm_put(Dst, 13395, LJ_TISNUM); | 2058 | dasm_put(Dst, 13396, LJ_TISNUM); |
| 2059 | } | 2059 | } |
| 2060 | if (sse) { | 2060 | if (sse) { |
| 2061 | dasm_put(Dst, 13404); | 2061 | dasm_put(Dst, 13405); |
| 2062 | if (vk) { | 2062 | if (vk) { |
| 2063 | dasm_put(Dst, 13416); | 2063 | dasm_put(Dst, 13417); |
| 2064 | } else { | 2064 | } else { |
| 2065 | dasm_put(Dst, 13435); | 2065 | dasm_put(Dst, 13436); |
| 2066 | } | 2066 | } |
| 2067 | dasm_put(Dst, 13440); | 2067 | dasm_put(Dst, 13441); |
| 2068 | } else { | 2068 | } else { |
| 2069 | dasm_put(Dst, 13453); | 2069 | dasm_put(Dst, 13454); |
| 2070 | if (vk) { | 2070 | if (vk) { |
| 2071 | dasm_put(Dst, 13459); | 2071 | dasm_put(Dst, 13460); |
| 2072 | } else { | 2072 | } else { |
| 2073 | dasm_put(Dst, 13475); | 2073 | dasm_put(Dst, 13476); |
| 2074 | } | 2074 | } |
| 2075 | dasm_put(Dst, 13483); | 2075 | dasm_put(Dst, 13484); |
| 2076 | if (cmov) { | 2076 | if (cmov) { |
| 2077 | dasm_put(Dst, 9529); | 2077 | dasm_put(Dst, 9529); |
| 2078 | } else { | 2078 | } else { |
| 2079 | dasm_put(Dst, 9535); | 2079 | dasm_put(Dst, 9535); |
| 2080 | } | 2080 | } |
| 2081 | if (!cmov) { | 2081 | if (!cmov) { |
| 2082 | dasm_put(Dst, 13488); | 2082 | dasm_put(Dst, 13489); |
| 2083 | } | 2083 | } |
| 2084 | } | 2084 | } |
| 2085 | if (op == BC_FORI) { | 2085 | if (op == BC_FORI) { |
| 2086 | dasm_put(Dst, 13494, -BCBIAS_J*4); | 2086 | dasm_put(Dst, 13495, -BCBIAS_J*4); |
| 2087 | } else if (op == BC_JFORI) { | 2087 | } else if (op == BC_JFORI) { |
| 2088 | dasm_put(Dst, 13504, -BCBIAS_J*4, BC_JLOOP); | 2088 | dasm_put(Dst, 13505, -BCBIAS_J*4, BC_JLOOP); |
| 2089 | } else if (op == BC_IFORL) { | 2089 | } else if (op == BC_IFORL) { |
| 2090 | dasm_put(Dst, 13518, -BCBIAS_J*4); | 2090 | dasm_put(Dst, 13519, -BCBIAS_J*4); |
| 2091 | } else { | 2091 | } else { |
| 2092 | dasm_put(Dst, 13514, BC_JLOOP); | 2092 | dasm_put(Dst, 13515, BC_JLOOP); |
| 2093 | } | 2093 | } |
| 2094 | dasm_put(Dst, 9564); | 2094 | dasm_put(Dst, 9564); |
| 2095 | if (sse) { | 2095 | if (sse) { |
| 2096 | dasm_put(Dst, 13528); | 2096 | dasm_put(Dst, 13529); |
| 2097 | } | 2097 | } |
| 2098 | break; | 2098 | break; |
| 2099 | 2099 | ||
| 2100 | case BC_ITERL: | 2100 | case BC_ITERL: |
| 2101 | #if LJ_HASJIT | 2101 | #if LJ_HASJIT |
| 2102 | dasm_put(Dst, 13347, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2102 | dasm_put(Dst, 13348, HOTCOUNT_PCMASK, GG_DISP2HOT); |
| 2103 | #endif | 2103 | #endif |
| 2104 | break; | 2104 | break; |
| 2105 | 2105 | ||
| @@ -2108,18 +2108,18 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
| 2108 | break; | 2108 | break; |
| 2109 | #endif | 2109 | #endif |
| 2110 | case BC_IITERL: | 2110 | case BC_IITERL: |
| 2111 | dasm_put(Dst, 13539, LJ_TNIL); | 2111 | dasm_put(Dst, 13540, LJ_TNIL); |
| 2112 | if (op == BC_JITERL) { | 2112 | if (op == BC_JITERL) { |
| 2113 | dasm_put(Dst, 13554, BC_JLOOP); | 2113 | dasm_put(Dst, 13555, BC_JLOOP); |
| 2114 | } else { | 2114 | } else { |
| 2115 | dasm_put(Dst, 13568, -BCBIAS_J*4); | 2115 | dasm_put(Dst, 13569, -BCBIAS_J*4); |
| 2116 | } | 2116 | } |
| 2117 | dasm_put(Dst, 9864); | 2117 | dasm_put(Dst, 9864); |
| 2118 | break; | 2118 | break; |
| 2119 | 2119 | ||
| 2120 | case BC_LOOP: | 2120 | case BC_LOOP: |
| 2121 | #if LJ_HASJIT | 2121 | #if LJ_HASJIT |
| 2122 | dasm_put(Dst, 13347, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2122 | dasm_put(Dst, 13348, HOTCOUNT_PCMASK, GG_DISP2HOT); |
| 2123 | #endif | 2123 | #endif |
| 2124 | break; | 2124 | break; |
| 2125 | 2125 | ||
| @@ -2129,12 +2129,12 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
| 2129 | 2129 | ||
| 2130 | case BC_JLOOP: | 2130 | case BC_JLOOP: |
| 2131 | #if LJ_HASJIT | 2131 | #if LJ_HASJIT |
| 2132 | dasm_put(Dst, 13584, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16); | 2132 | dasm_put(Dst, 13585, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16); |
| 2133 | #endif | 2133 | #endif |
| 2134 | break; | 2134 | break; |
| 2135 | 2135 | ||
| 2136 | case BC_JMP: | 2136 | case BC_JMP: |
| 2137 | dasm_put(Dst, 13693, -BCBIAS_J*4); | 2137 | dasm_put(Dst, 13694, -BCBIAS_J*4); |
| 2138 | break; | 2138 | break; |
| 2139 | 2139 | ||
| 2140 | /* -- Function headers -------------------------------------------------- */ | 2140 | /* -- Function headers -------------------------------------------------- */ |
| @@ -2148,7 +2148,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
| 2148 | 2148 | ||
| 2149 | case BC_FUNCF: | 2149 | case BC_FUNCF: |
| 2150 | #if LJ_HASJIT | 2150 | #if LJ_HASJIT |
| 2151 | dasm_put(Dst, 13718, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2151 | dasm_put(Dst, 13719, HOTCOUNT_PCMASK, GG_DISP2HOT); |
| 2152 | #endif | 2152 | #endif |
| 2153 | case BC_FUNCV: /* NYI: compiled vararg functions. */ | 2153 | case BC_FUNCV: /* NYI: compiled vararg functions. */ |
| 2154 | break; | 2154 | break; |
| @@ -2158,13 +2158,13 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
| 2158 | break; | 2158 | break; |
| 2159 | #endif | 2159 | #endif |
| 2160 | case BC_IFUNCF: | 2160 | case BC_IFUNCF: |
| 2161 | dasm_put(Dst, 13739, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); | 2161 | dasm_put(Dst, 13740, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); |
| 2162 | if (op == BC_JFUNCF) { | 2162 | if (op == BC_JFUNCF) { |
| 2163 | dasm_put(Dst, 13769, BC_JLOOP); | 2163 | dasm_put(Dst, 13770, BC_JLOOP); |
| 2164 | } else { | 2164 | } else { |
| 2165 | dasm_put(Dst, 9566); | 2165 | dasm_put(Dst, 9566); |
| 2166 | } | 2166 | } |
| 2167 | dasm_put(Dst, 13778, LJ_TNIL); | 2167 | dasm_put(Dst, 13779, LJ_TNIL); |
| 2168 | break; | 2168 | break; |
| 2169 | 2169 | ||
| 2170 | case BC_JFUNCV: | 2170 | case BC_JFUNCV: |
| @@ -2175,30 +2175,30 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
| 2175 | break; /* NYI: compiled vararg functions. */ | 2175 | break; /* NYI: compiled vararg functions. */ |
| 2176 | 2176 | ||
| 2177 | case BC_IFUNCV: | 2177 | case BC_IFUNCV: |
| 2178 | dasm_put(Dst, 13800, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); | 2178 | dasm_put(Dst, 13801, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); |
| 2179 | if (op == BC_JFUNCV) { | 2179 | if (op == BC_JFUNCV) { |
| 2180 | dasm_put(Dst, 13769, BC_JLOOP); | 2180 | dasm_put(Dst, 13770, BC_JLOOP); |
| 2181 | } else { | 2181 | } else { |
| 2182 | dasm_put(Dst, 13891, -4+PC2PROTO(k)); | 2182 | dasm_put(Dst, 13892, -4+PC2PROTO(k)); |
| 2183 | } | 2183 | } |
| 2184 | dasm_put(Dst, 13914, LJ_TNIL); | 2184 | dasm_put(Dst, 13915, LJ_TNIL); |
| 2185 | break; | 2185 | break; |
| 2186 | 2186 | ||
| 2187 | case BC_FUNCC: | 2187 | case BC_FUNCC: |
| 2188 | case BC_FUNCCW: | 2188 | case BC_FUNCCW: |
| 2189 | dasm_put(Dst, 13936, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); | 2189 | dasm_put(Dst, 13937, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); |
| 2190 | if (op == BC_FUNCC) { | 2190 | if (op == BC_FUNCC) { |
| 2191 | dasm_put(Dst, 13966); | 2191 | dasm_put(Dst, 13967); |
| 2192 | } else { | 2192 | } else { |
| 2193 | dasm_put(Dst, 13970); | 2193 | dasm_put(Dst, 13971); |
| 2194 | } | 2194 | } |
| 2195 | dasm_put(Dst, 13978, DISPATCH_GL(vmstate), ~LJ_VMST_C); | 2195 | dasm_put(Dst, 13979, DISPATCH_GL(vmstate), ~LJ_VMST_C); |
| 2196 | if (op == BC_FUNCC) { | 2196 | if (op == BC_FUNCC) { |
| 2197 | dasm_put(Dst, 13987); | 2197 | dasm_put(Dst, 13988); |
| 2198 | } else { | 2198 | } else { |
| 2199 | dasm_put(Dst, 13991, DISPATCH_GL(wrapf)); | 2199 | dasm_put(Dst, 13992, DISPATCH_GL(wrapf)); |
| 2200 | } | 2200 | } |
| 2201 | dasm_put(Dst, 13996, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); | 2201 | dasm_put(Dst, 13997, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); |
| 2202 | break; | 2202 | break; |
| 2203 | 2203 | ||
| 2204 | /* ---------------------------------------------------------------------- */ | 2204 | /* ---------------------------------------------------------------------- */ |
| @@ -2226,7 +2226,7 @@ static int build_backend(BuildCtx *ctx) | |||
| 2226 | 2226 | ||
| 2227 | build_subroutines(ctx, cmov, sse); | 2227 | build_subroutines(ctx, cmov, sse); |
| 2228 | 2228 | ||
| 2229 | dasm_put(Dst, 14021); | 2229 | dasm_put(Dst, 14022); |
| 2230 | for (op = 0; op < BC__MAX; op++) | 2230 | for (op = 0; op < BC__MAX; op++) |
| 2231 | build_ins(ctx, (BCOp)op, op, cmov, sse); | 2231 | build_ins(ctx, (BCOp)op, op, cmov, sse); |
| 2232 | 2232 | ||
diff --git a/src/buildvm_x86.dasc b/src/buildvm_x86.dasc index 69195cf6..7b4c13a9 100644 --- a/src/buildvm_x86.dasc +++ b/src/buildvm_x86.dasc | |||
| @@ -3901,39 +3901,32 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
| 3901 | 3901 | ||
| 3902 | case BC_TNEW: | 3902 | case BC_TNEW: |
| 3903 | | ins_AD // RA = dst, RD = hbits|asize | 3903 | | ins_AD // RA = dst, RD = hbits|asize |
| 3904 | |.if X64 | 3904 | | mov L:RB, SAVE_L |
| 3905 | | mov L:CARG1d, SAVE_L | 3905 | | mov L:RB->base, BASE |
| 3906 | | mov L:CARG1d->base, BASE // Caveat: CARG2d/CARG3d may be BASE. | 3906 | | mov RA, [DISPATCH+DISPATCH_GL(gc.total)] |
| 3907 | | cmp RA, [DISPATCH+DISPATCH_GL(gc.threshold)] | ||
| 3908 | | mov SAVE_PC, PC | ||
| 3909 | | jae >5 | ||
| 3907 | |1: | 3910 | |1: |
| 3911 | |.if X64 | ||
| 3908 | | mov CARG3d, RD | 3912 | | mov CARG3d, RD |
| 3909 | | and RD, 0x7ff | 3913 | | and RD, 0x7ff |
| 3910 | | shr CARG3d, 11 | 3914 | | shr CARG3d, 11 |
| 3911 | | cmp RD, 0x7ff | ||
| 3912 | | je >3 | ||
| 3913 | |2: | ||
| 3914 | | mov CARG2d, RD | ||
| 3915 | | mov RD, [DISPATCH+DISPATCH_GL(gc.total)] | ||
| 3916 | | mov L:RB, L:CARG1d | ||
| 3917 | | cmp RD, [DISPATCH+DISPATCH_GL(gc.threshold)] | ||
| 3918 | | mov SAVE_PC, PC | ||
| 3919 | | jae >5 | ||
| 3920 | |.else | 3915 | |.else |
| 3921 | | mov RB, RD | 3916 | | mov RA, RD |
| 3922 | | and RD, 0x7ff | 3917 | | and RD, 0x7ff |
| 3923 | | shr RB, 11 | 3918 | | shr RA, 11 |
| 3919 | | mov ARG3, RA | ||
| 3920 | |.endif | ||
| 3924 | | cmp RD, 0x7ff | 3921 | | cmp RD, 0x7ff |
| 3925 | | je >3 | 3922 | | je >3 |
| 3926 | |2: | 3923 | |2: |
| 3927 | | mov ARG3, RB | 3924 | |.if X64 |
| 3928 | | mov L:RB, SAVE_L | 3925 | | mov L:CARG1d, L:RB |
| 3929 | | mov ARG2, RD | 3926 | | mov CARG2d, RD |
| 3930 | | mov SAVE_PC, PC | 3927 | |.else |
| 3931 | | mov RD, [DISPATCH+DISPATCH_GL(gc.total)] | ||
| 3932 | | mov ARG1, L:RB | 3928 | | mov ARG1, L:RB |
| 3933 | | cmp RD, [DISPATCH+DISPATCH_GL(gc.threshold)] | 3929 | | mov ARG2, RD |
| 3934 | | mov L:RB->base, BASE | ||
| 3935 | | jae >5 | ||
| 3936 | |1: | ||
| 3937 | |.endif | 3930 | |.endif |
| 3938 | | call extern lj_tab_new // (lua_State *L, int32_t asize, uint32_t hbits) | 3931 | | call extern lj_tab_new // (lua_State *L, int32_t asize, uint32_t hbits) |
| 3939 | | // Table * returned in eax (RC). | 3932 | | // Table * returned in eax (RC). |
| @@ -3946,16 +3939,10 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
| 3946 | | mov RD, 0x801 | 3939 | | mov RD, 0x801 |
| 3947 | | jmp <2 | 3940 | | jmp <2 |
| 3948 | |5: | 3941 | |5: |
| 3949 | |.if X64 | ||
| 3950 | | call extern lj_gc_step_fixtop@4 // (lua_State *L) | ||
| 3951 | | movzx RD, PC_RD | ||
| 3952 | | mov L:CARG1d, L:RB | ||
| 3953 | | jmp <1 | ||
| 3954 | |.else | ||
| 3955 | | mov L:FCARG1, L:RB | 3942 | | mov L:FCARG1, L:RB |
| 3956 | | call extern lj_gc_step_fixtop@4 // (lua_State *L) | 3943 | | call extern lj_gc_step_fixtop@4 // (lua_State *L) |
| 3944 | | movzx RD, PC_RD | ||
| 3957 | | jmp <1 | 3945 | | jmp <1 |
| 3958 | |.endif | ||
| 3959 | break; | 3946 | break; |
| 3960 | case BC_TDUP: | 3947 | case BC_TDUP: |
| 3961 | | ins_AND // RA = dst, RD = table const (~) (holding template table) | 3948 | | ins_AND // RA = dst, RD = table const (~) (holding template table) |
diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h index 7a0b08a7..a139f494 100644 --- a/src/buildvm_x86.h +++ b/src/buildvm_x86.h | |||
| @@ -12,7 +12,7 @@ | |||
| 12 | #define DASM_SECTION_CODE_OP 0 | 12 | #define DASM_SECTION_CODE_OP 0 |
| 13 | #define DASM_SECTION_CODE_SUB 1 | 13 | #define DASM_SECTION_CODE_SUB 1 |
| 14 | #define DASM_MAXSECTION 2 | 14 | #define DASM_MAXSECTION 2 |
| 15 | static const unsigned char build_actionlist[15224] = { | 15 | static const unsigned char build_actionlist[15229] = { |
| 16 | 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,141, | 16 | 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,141, |
| 17 | 76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36, | 17 | 76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36, |
| 18 | 20,252,247,198,237,15,132,244,13,248,14,252,247,198,237,15,132,244,10,199, | 18 | 20,252,247,198,237,15,132,244,13,248,14,252,247,198,237,15,132,244,10,199, |
| @@ -612,141 +612,141 @@ static const unsigned char build_actionlist[15224] = { | |||
| 612 | 255,36,171,255,252,247,208,139,74,252,248,139,4,135,139,108,36,48,137,76, | 612 | 255,36,171,255,252,247,208,139,74,252,248,139,4,135,139,108,36,48,137,76, |
| 613 | 36,8,137,68,36,4,137,44,36,137,149,233,137,116,36,24,232,251,1,28,139,149, | 613 | 36,8,137,68,36,4,137,44,36,137,149,233,137,116,36,24,232,251,1,28,139,149, |
| 614 | 233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182, | 614 | 233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182, |
| 615 | 232,131,198,4,193,232,16,252,255,36,171,255,137,197,37,252,255,7,0,0,193, | 615 | 232,131,198,4,193,232,16,252,255,36,171,255,139,108,36,48,137,149,233,139, |
| 616 | 252,237,11,61,252,255,7,0,0,15,132,244,249,248,2,137,108,36,8,139,108,36, | 616 | 139,233,59,139,233,137,116,36,24,15,131,244,251,248,1,137,193,37,252,255, |
| 617 | 48,137,68,36,4,137,116,36,24,139,131,233,137,44,36,59,131,233,137,149,233, | 617 | 7,0,0,193,252,233,11,137,76,36,8,61,252,255,7,0,0,15,132,244,249,248,2,137, |
| 618 | 15,131,244,251,248,1,232,251,1,29,139,149,233,15,182,78,252,253,137,4,202, | 618 | 44,36,137,68,36,4,232,251,1,29,139,149,233,15,182,78,252,253,137,4,202,199, |
| 619 | 199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, | 619 | 68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, |
| 620 | 36,171,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,233,232,251,1,30,252, | 620 | 171,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,233,232,251,1,30,15,183, |
| 621 | 233,244,1,255,252,247,208,139,108,36,48,139,139,233,137,116,36,24,59,139, | 621 | 70,252,254,252,233,244,1,255,252,247,208,139,108,36,48,139,139,233,137,116, |
| 622 | 233,137,149,233,15,131,244,249,248,2,139,20,135,137,252,233,232,251,1,31, | 622 | 36,24,59,139,233,137,149,233,15,131,244,249,248,2,139,20,135,137,252,233, |
| 623 | 139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204, | 623 | 232,251,1,31,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139, |
| 624 | 15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,137,252,233,232,251, | 624 | 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,137,252, |
| 625 | 1,30,15,183,70,252,254,252,247,208,252,233,244,2,255,252,247,208,139,106, | 625 | 233,232,251,1,30,15,183,70,252,254,252,247,208,252,233,244,2,255,252,247, |
| 626 | 252,248,139,173,233,139,4,135,252,233,244,157,255,252,247,208,139,106,252, | 626 | 208,139,106,252,248,139,173,233,139,4,135,252,233,244,157,255,252,247,208, |
| 627 | 248,139,173,233,139,4,135,252,233,244,158,255,15,182,252,236,15,182,192,129, | 627 | 139,106,252,248,139,173,233,139,4,135,252,233,244,158,255,15,182,252,236, |
| 628 | 124,253,252,234,4,239,15,133,244,36,139,44,252,234,129,124,253,194,4,239, | 628 | 15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,44,252,234,129,124, |
| 629 | 15,135,244,251,255,252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200, | 629 | 253,194,4,239,15,135,244,251,255,252,242,15,16,4,194,252,242,15,45,192,252, |
| 630 | 102,15,46,193,255,221,4,194,219,20,36,219,4,36,255,15,133,244,36,59,133,233, | 630 | 242,15,42,200,102,15,46,193,255,221,4,194,219,20,36,219,4,36,255,15,133,244, |
| 631 | 15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,248,1, | 631 | 36,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,15,132, |
| 632 | 139,40,139,64,4,137,44,202,137,68,202,4,139,6,15,182,204,15,182,232,131,198, | 632 | 244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,6,15,182,204,15, |
| 633 | 4,193,232,16,252,255,36,171,248,2,131,189,233,0,15,132,244,1,139,141,233, | 633 | 182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233,0,15,132,244, |
| 634 | 252,246,129,233,235,15,132,244,36,15,182,78,252,253,252,233,244,1,248,5,255, | 634 | 1,139,141,233,252,246,129,233,235,15,132,244,36,15,182,78,252,253,252,233, |
| 635 | 129,124,253,194,4,239,15,133,244,36,139,4,194,252,233,244,157,255,15,182, | 635 | 244,1,248,5,255,129,124,253,194,4,239,15,133,244,36,139,4,194,252,233,244, |
| 636 | 252,236,15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133, | 636 | 157,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,124,253,252,234, |
| 637 | 244,34,139,44,252,234,248,157,139,141,233,35,136,233,105,201,239,3,141,233, | 637 | 4,239,15,133,244,34,139,44,252,234,248,157,139,141,233,35,136,233,105,201, |
| 638 | 248,1,129,185,233,239,15,133,244,250,57,129,233,15,133,244,250,129,121,253, | 638 | 239,3,141,233,248,1,129,185,233,239,15,133,244,250,57,129,233,15,133,244, |
| 639 | 4,239,15,132,244,251,15,182,70,252,253,139,41,139,73,4,137,44,194,248,2,255, | 639 | 250,129,121,253,4,239,15,132,244,251,15,182,70,252,253,139,41,139,73,4,137, |
| 640 | 137,76,194,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, | 640 | 44,194,248,2,255,137,76,194,4,139,6,15,182,204,15,182,232,131,198,4,193,232, |
| 641 | 171,248,3,15,182,70,252,253,185,237,252,233,244,2,248,4,139,137,233,133,201, | 641 | 16,252,255,36,171,248,3,15,182,70,252,253,185,237,252,233,244,2,248,4,139, |
| 642 | 15,133,244,1,248,5,139,141,233,133,201,15,132,244,3,252,246,129,233,235,15, | 642 | 137,233,133,201,15,133,244,1,248,5,139,141,233,133,201,15,132,244,3,252,246, |
| 643 | 133,244,3,252,233,244,34,255,15,182,252,236,15,182,192,129,124,253,252,234, | 643 | 129,233,235,15,133,244,3,252,233,244,34,255,15,182,252,236,15,182,192,129, |
| 644 | 4,239,15,133,244,35,139,44,252,234,59,133,233,15,131,244,35,193,224,3,3,133, | 644 | 124,253,252,234,4,239,15,133,244,35,139,44,252,234,59,133,233,15,131,244, |
| 645 | 233,129,120,253,4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137, | 645 | 35,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,248,1,139,40,139, |
| 646 | 68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171, | 646 | 64,4,137,44,202,137,68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232, |
| 647 | 248,2,131,189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244, | 647 | 16,252,255,36,171,248,2,131,189,233,0,15,132,244,1,139,141,233,252,246,129, |
| 648 | 35,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39, | 648 | 233,235,15,132,244,35,255,15,182,252,236,15,182,192,129,124,253,252,234,4, |
| 649 | 139,44,252,234,129,124,253,194,4,239,15,135,244,251,255,15,133,244,39,59, | 649 | 239,15,133,244,39,139,44,252,234,129,124,253,194,4,239,15,135,244,251,255, |
| 650 | 133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249, | 650 | 15,133,244,39,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4, |
| 651 | 248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137, | 651 | 239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108, |
| 652 | 104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171, | 652 | 202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193, |
| 653 | 248,3,131,189,233,0,15,132,244,1,139,141,233,255,252,246,129,233,235,15,132, | 653 | 232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,139,141,233,255,252, |
| 654 | 244,39,15,182,78,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133, | 654 | 246,129,233,235,15,132,244,39,15,182,78,252,253,252,233,244,1,248,5,129,124, |
| 655 | 244,39,139,4,194,252,233,244,158,248,7,128,165,233,235,139,139,233,137,171, | 655 | 253,194,4,239,15,133,244,39,139,4,194,252,233,244,158,248,7,128,165,233,235, |
| 656 | 233,137,141,233,15,182,78,252,253,252,233,244,2,255,15,182,252,236,15,182, | 656 | 139,139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,15, |
| 657 | 192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,37,139,44, | 657 | 182,252,236,15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15, |
| 658 | 252,234,248,158,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233, | 658 | 133,244,37,139,44,252,234,248,158,139,141,233,35,136,233,105,201,239,198, |
| 659 | 248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253, | 659 | 133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133, |
| 660 | 4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15, | 660 | 244,251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15, |
| 661 | 182,70,252,253,139,108,194,4,139,4,194,137,105,4,137,1,139,6,15,182,204,15, | 661 | 133,244,253,248,3,15,182,70,252,253,139,108,194,4,139,4,194,137,105,4,137, |
| 662 | 182,232,131,198,4,193,232,16,252,255,36,171,248,4,131,189,233,0,15,132,244, | 662 | 1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,4,131, |
| 663 | 2,137,76,36,16,139,141,233,252,246,129,233,235,15,132,244,37,139,76,36,16, | 663 | 189,233,0,15,132,244,2,137,76,36,16,139,141,233,252,246,129,233,235,15,132, |
| 664 | 252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133, | 664 | 244,37,139,76,36,16,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1, |
| 665 | 201,15,132,244,252,252,246,129,233,235,15,132,244,37,248,6,137,68,36,16,199, | 665 | 255,139,141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,37, |
| 666 | 68,36,20,237,137,108,36,12,141,68,36,16,137,108,36,4,139,108,36,48,137,68, | 666 | 248,6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,68,36,16,137,108,36, |
| 667 | 36,8,137,44,36,137,149,233,137,116,36,24,232,251,1,32,139,149,233,139,108, | 667 | 4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,251,1, |
| 668 | 36,12,137,193,252,233,244,2,248,7,128,165,233,235,139,131,233,137,171,233, | 668 | 32,139,149,233,139,108,36,12,137,193,252,233,244,2,248,7,128,165,233,235, |
| 669 | 137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,252,234, | 669 | 139,131,233,137,171,233,137,133,233,252,233,244,3,255,15,182,252,236,15,182, |
| 670 | 4,239,15,133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224,3,3,133, | 670 | 192,129,124,253,252,234,4,239,15,133,244,38,139,44,252,234,59,133,233,15, |
| 671 | 233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244, | 671 | 131,244,38,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252, |
| 672 | 253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182, | 672 | 246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137, |
| 673 | 232,131,198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1, | 673 | 8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,131, |
| 674 | 255,139,141,233,252,246,129,233,235,15,132,244,38,15,182,78,252,253,252,233, | 674 | 189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,38, |
| 675 | 244,1,248,7,128,165,233,235,139,139,233,137,171,233,137,141,233,15,182,78, | 675 | 15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,139,233,137,171, |
| 676 | 252,253,252,233,244,2,255,137,124,36,16,255,252,242,15,45,60,199,255,221, | 676 | 233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124,36,16,255,252, |
| 677 | 4,199,219,92,36,12,139,124,36,12,255,248,1,141,12,202,139,105,252,248,252, | 677 | 242,15,45,60,199,255,221,4,199,219,92,36,12,139,124,36,12,255,248,1,141,12, |
| 678 | 246,133,233,235,15,133,244,253,248,2,139,68,36,20,131,232,1,15,132,244,250, | 678 | 202,139,105,252,248,252,246,133,233,235,15,133,244,253,248,2,139,68,36,20, |
| 679 | 1,252,248,59,133,233,15,131,244,251,41,252,248,193,231,3,3,189,233,248,3, | 679 | 131,232,1,15,132,244,250,1,252,248,59,133,233,15,131,244,251,41,252,248,193, |
| 680 | 139,41,137,47,139,105,4,131,193,8,137,111,4,131,199,8,131,232,1,15,133,244, | 680 | 231,3,3,189,233,248,3,139,41,137,47,139,105,4,131,193,8,137,111,4,131,199, |
| 681 | 3,248,4,139,124,36,16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, | 681 | 8,131,232,1,15,133,244,3,248,4,139,124,36,16,139,6,15,182,204,15,182,232, |
| 682 | 255,36,171,248,5,137,108,36,4,139,108,36,48,137,149,233,137,68,36,8,137,44, | 682 | 131,198,4,193,232,16,252,255,36,171,248,5,137,108,36,4,139,108,36,48,137, |
| 683 | 36,137,116,36,24,232,251,1,33,139,149,233,15,182,78,252,253,252,233,244,1, | 683 | 149,233,137,68,36,8,137,44,36,137,116,36,24,232,251,1,33,139,149,233,15,182, |
| 684 | 248,7,255,128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244, | 684 | 78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131,233,137,171,233, |
| 685 | 2,255,3,68,36,20,255,129,124,253,202,4,239,139,44,202,15,133,244,51,141,84, | 685 | 137,133,233,252,233,244,2,255,3,68,36,20,255,129,124,253,202,4,239,139,44, |
| 686 | 202,8,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198, | 686 | 202,15,133,244,51,141,84,202,8,137,114,252,252,139,181,233,139,14,15,182, |
| 687 | 4,252,255,36,171,255,141,76,202,8,137,215,139,105,252,248,129,121,253,252, | 687 | 252,233,15,182,205,131,198,4,252,255,36,171,255,141,76,202,8,137,215,139, |
| 688 | 252,239,15,133,244,28,248,52,139,114,252,252,252,247,198,237,15,133,244,253, | 688 | 105,252,248,129,121,253,252,252,239,15,133,244,28,248,52,139,114,252,252, |
| 689 | 248,1,137,106,252,248,137,68,36,20,131,232,1,15,132,244,249,248,2,139,41, | 689 | 252,247,198,237,15,133,244,253,248,1,137,106,252,248,137,68,36,20,131,232, |
| 690 | 137,47,139,105,4,137,111,4,131,199,8,131,193,8,131,232,1,15,133,244,2,139, | 690 | 1,15,132,244,249,248,2,139,41,137,47,139,105,4,137,111,4,131,199,8,131,193, |
| 691 | 106,252,248,248,3,139,68,36,20,128,189,233,1,15,135,244,251,248,4,139,181, | 691 | 8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,20,128,189,233,1, |
| 692 | 233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,248,5,255,252, | 692 | 15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,15,182,205,131,198, |
| 693 | 247,198,237,15,133,244,4,15,182,78,252,253,252,247,209,141,12,202,139,121, | 693 | 4,252,255,36,171,248,5,255,252,247,198,237,15,133,244,4,15,182,78,252,253, |
| 694 | 252,248,139,191,233,139,191,233,252,233,244,4,248,7,15,139,244,1,131,230, | 694 | 252,247,209,141,12,202,139,121,252,248,139,191,233,139,191,233,252,233,244, |
| 695 | 252,248,41,252,242,137,215,139,114,252,252,252,233,244,1,255,141,76,202,8, | 695 | 4,248,7,15,139,244,1,131,230,252,248,41,252,242,137,215,139,114,252,252,252, |
| 696 | 139,105,232,139,65,252,236,137,41,137,65,4,139,105,252,240,139,65,252,244, | 696 | 233,244,1,255,141,76,202,8,139,105,232,139,65,252,236,137,41,137,65,4,139, |
| 697 | 137,105,8,137,65,12,139,105,224,139,65,228,137,105,252,248,137,65,252,252, | 697 | 105,252,240,139,65,252,244,137,105,8,137,65,12,139,105,224,139,65,228,137, |
| 698 | 129,252,248,239,184,237,15,133,244,28,137,202,137,114,252,252,139,181,233, | 698 | 105,252,248,137,65,252,252,129,252,248,239,184,237,15,133,244,28,137,202, |
| 699 | 139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,15,182,252, | 699 | 137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252, |
| 700 | 236,139,66,252,248,141,12,202,139,128,233,15,182,128,233,137,124,36,16,141, | 700 | 255,36,171,255,15,182,252,236,139,66,252,248,141,12,202,139,128,233,15,182, |
| 701 | 188,253,194,233,43,122,252,252,133,252,237,15,132,244,251,141,108,252,233, | 701 | 128,233,137,124,36,16,141,188,253,194,233,43,122,252,252,133,252,237,15,132, |
| 702 | 252,248,57,215,15,131,244,248,248,1,139,71,252,248,137,1,139,71,252,252,131, | 702 | 244,251,141,108,252,233,252,248,57,215,15,131,244,248,248,1,139,71,252,248, |
| 703 | 199,8,137,65,4,131,193,8,57,252,233,15,131,244,249,57,215,15,130,244,1,248, | 703 | 137,1,139,71,252,252,131,199,8,137,65,4,131,193,8,57,252,233,15,131,244,249, |
| 704 | 2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,248,3,139,124,36,16,139, | 704 | 57,215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2, |
| 705 | 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,199,68, | 705 | 248,3,139,124,36,16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, |
| 706 | 36,20,1,0,0,0,137,208,41,252,248,15,134,244,3,255,137,197,193,252,237,3,131, | 706 | 255,36,171,248,5,199,68,36,20,1,0,0,0,137,208,41,252,248,15,134,244,3,255, |
| 707 | 197,1,137,108,36,20,139,108,36,48,1,200,59,133,233,15,135,244,253,248,6,139, | 707 | 137,197,193,252,237,3,131,197,1,137,108,36,20,139,108,36,48,1,200,59,133, |
| 708 | 71,252,248,137,1,139,71,252,252,131,199,8,137,65,4,131,193,8,57,215,15,130, | 708 | 233,15,135,244,253,248,6,139,71,252,248,137,1,139,71,252,252,131,199,8,137, |
| 709 | 244,6,252,233,244,3,248,7,137,149,233,137,141,233,137,116,36,24,41,215,139, | 709 | 65,4,131,193,8,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141, |
| 710 | 84,36,20,131,252,234,1,137,252,233,232,251,1,0,139,149,233,139,141,233,1, | 710 | 233,137,116,36,24,41,215,139,84,36,20,131,252,234,1,137,252,233,232,251,1, |
| 711 | 215,252,233,244,6,255,193,225,3,255,248,1,139,114,252,252,137,68,36,20,252, | 711 | 0,139,149,233,139,141,233,1,215,252,233,244,6,255,193,225,3,255,248,1,139, |
| 712 | 247,198,237,15,133,244,253,255,248,13,137,215,131,232,1,15,132,244,249,248, | 712 | 114,252,252,137,68,36,20,252,247,198,237,15,133,244,253,255,248,13,137,215, |
| 713 | 2,139,44,15,137,111,252,248,139,108,15,4,137,111,252,252,131,199,8,131,232, | 713 | 131,232,1,15,132,244,249,248,2,139,44,15,137,111,252,248,139,108,15,4,137, |
| 714 | 1,15,133,244,2,248,3,139,68,36,20,15,182,110,252,255,248,5,57,197,15,135, | 714 | 111,252,252,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,20,15,182,110, |
| 715 | 244,252,255,139,108,10,4,137,106,252,252,139,44,10,137,106,252,248,255,248, | 715 | 252,255,248,5,57,197,15,135,244,252,255,139,108,10,4,137,106,252,252,139, |
| 716 | 5,56,70,252,255,15,135,244,252,255,15,182,78,252,253,252,247,209,141,20,202, | 716 | 44,10,137,106,252,248,255,248,5,56,70,252,255,15,135,244,252,255,15,182,78, |
| 717 | 139,122,252,248,139,191,233,139,191,233,139,6,15,182,204,15,182,232,131,198, | 717 | 252,253,252,247,209,141,20,202,139,122,252,248,139,191,233,139,191,233,139, |
| 718 | 4,193,232,16,252,255,36,171,248,6,255,199,71,252,252,237,131,199,8,255,199, | 718 | 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,6,255,199, |
| 719 | 68,194,252,244,237,255,131,192,1,252,233,244,5,248,7,15,139,244,14,131,230, | 719 | 71,252,252,237,131,199,8,255,199,68,194,252,244,237,255,131,192,1,252,233, |
| 720 | 252,248,41,252,242,255,1,252,241,255,137,252,245,209,252,237,129,229,239, | 720 | 244,5,248,7,15,139,244,14,131,230,252,248,41,252,242,255,1,252,241,255,137, |
| 721 | 102,131,172,253,43,233,1,15,132,244,140,255,141,12,202,255,129,121,253,4, | 721 | 252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,140,255, |
| 722 | 239,15,135,244,53,129,121,253,12,239,15,135,244,53,255,139,105,20,255,129, | 722 | 141,12,202,255,129,121,253,4,239,15,135,244,53,129,121,253,12,239,15,135, |
| 723 | 252,253,239,15,135,244,53,255,252,242,15,16,1,252,242,15,16,73,8,255,252, | 723 | 244,53,255,139,105,20,255,129,252,253,239,15,135,244,53,255,252,242,15,16, |
| 724 | 242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255,15,140,244, | 724 | 1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237, |
| 725 | 249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221,1,255,220, | 725 | 15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65, |
| 726 | 65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24,15,140,244, | 726 | 24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244, |
| 727 | 247,255,217,201,248,1,255,15,183,70,252,254,255,15,131,244,248,141,180,253, | 727 | 247,255,221,81,24,15,140,244,247,255,217,201,248,1,255,15,183,70,252,254, |
| 728 | 134,233,255,141,180,253,134,233,15,183,70,252,254,15,131,245,255,15,130,244, | 728 | 255,15,131,244,248,141,180,253,134,233,255,141,180,253,134,233,15,183,70, |
| 729 | 248,141,180,253,134,233,255,248,3,102,15,46,193,252,233,244,1,255,141,12, | 729 | 252,254,15,131,245,255,15,130,244,248,141,180,253,134,233,255,248,3,102,15, |
| 730 | 202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252,139,41,137, | 730 | 46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253,239,15,132,244, |
| 731 | 105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,105,252,252,137, | 731 | 247,255,137,105,252,252,139,41,137,105,252,248,252,233,245,255,141,180,253, |
| 732 | 65,252,248,255,139,139,233,139,4,129,139,128,233,139,108,36,48,137,147,233, | 732 | 134,233,139,1,137,105,252,252,137,65,252,248,255,139,139,233,139,4,129,139, |
| 733 | 137,171,233,252,255,224,255,141,180,253,134,233,139,6,15,182,204,15,182,232, | 733 | 128,233,139,108,36,48,137,147,233,137,171,233,252,255,224,255,141,180,253, |
| 734 | 131,198,4,193,232,16,252,255,36,171,255,137,252,245,209,252,237,129,229,239, | 734 | 134,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255, |
| 735 | 102,131,172,253,43,233,1,15,132,244,142,255,139,190,233,139,108,36,48,141, | 735 | 137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,142, |
| 736 | 12,202,59,141,233,15,135,244,23,15,182,142,233,57,200,15,134,244,249,248, | 736 | 255,139,190,233,139,108,36,48,141,12,202,59,141,233,15,135,244,23,15,182, |
| 737 | 2,255,15,183,70,252,254,252,233,245,255,248,3,199,68,194,252,252,237,131, | 737 | 142,233,57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255, |
| 738 | 192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,141,4,194,139, | 738 | 248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2, |
| 739 | 122,252,248,137,104,252,252,137,120,252,248,139,108,36,48,141,12,200,59,141, | 739 | 255,141,44,197,237,141,4,194,139,122,252,248,137,104,252,252,137,120,252, |
| 740 | 233,15,135,244,22,137,209,137,194,15,182,174,233,133,252,237,15,132,244,248, | 740 | 248,139,108,36,48,141,12,200,59,141,233,15,135,244,22,137,209,137,194,15, |
| 741 | 248,1,131,193,8,57,209,15,131,244,249,139,121,252,248,137,56,139,121,252, | 741 | 182,174,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244, |
| 742 | 252,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,133,244,1,248, | 742 | 249,139,121,252,248,137,56,139,121,252,252,137,120,4,131,192,8,199,65,252, |
| 743 | 2,255,139,190,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, | 743 | 252,237,131,252,237,1,15,133,244,1,248,2,255,139,190,233,139,6,15,182,204, |
| 744 | 36,171,255,248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,244,3,252,233, | 744 | 15,182,232,131,198,4,193,232,16,252,255,36,171,255,248,3,199,64,4,237,131, |
| 745 | 244,2,255,139,106,252,248,139,189,233,139,108,36,48,141,68,194,252,248,137, | 745 | 192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,139,189, |
| 746 | 149,233,141,136,233,59,141,233,137,133,233,255,137,44,36,255,137,124,36,4, | 746 | 233,139,108,36,48,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137, |
| 747 | 137,44,36,255,15,135,244,21,199,131,233,237,255,252,255,215,255,252,255,147, | 747 | 133,233,255,137,44,36,255,137,124,36,4,137,44,36,255,15,135,244,21,199,131, |
| 748 | 233,255,199,131,233,237,139,149,233,141,12,194,252,247,217,3,141,233,139, | 748 | 233,237,255,252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,233, |
| 749 | 114,252,252,252,233,244,12,255,254,0 | 749 | 141,12,194,252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,0 |
| 750 | }; | 750 | }; |
| 751 | 751 | ||
| 752 | enum { | 752 | enum { |
| @@ -2020,25 +2020,25 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
| 2020 | /* -- Table ops --------------------------------------------------------- */ | 2020 | /* -- Table ops --------------------------------------------------------- */ |
| 2021 | 2021 | ||
| 2022 | case BC_TNEW: | 2022 | case BC_TNEW: |
| 2023 | dasm_put(Dst, 12456, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); | 2023 | dasm_put(Dst, 12456, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); |
| 2024 | break; | 2024 | break; |
| 2025 | case BC_TDUP: | 2025 | case BC_TDUP: |
| 2026 | dasm_put(Dst, 12577, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); | 2026 | dasm_put(Dst, 12582, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); |
| 2027 | break; | 2027 | break; |
| 2028 | 2028 | ||
| 2029 | case BC_GGET: | 2029 | case BC_GGET: |
| 2030 | dasm_put(Dst, 12669, Dt7(->env)); | 2030 | dasm_put(Dst, 12674, Dt7(->env)); |
| 2031 | break; | 2031 | break; |
| 2032 | case BC_GSET: | 2032 | case BC_GSET: |
| 2033 | dasm_put(Dst, 12687, Dt7(->env)); | 2033 | dasm_put(Dst, 12692, Dt7(->env)); |
| 2034 | break; | 2034 | break; |
| 2035 | 2035 | ||
| 2036 | case BC_TGETV: | 2036 | case BC_TGETV: |
| 2037 | dasm_put(Dst, 12705, LJ_TTAB, LJ_TISNUM); | 2037 | dasm_put(Dst, 12710, LJ_TTAB, LJ_TISNUM); |
| 2038 | if (sse) { | 2038 | if (sse) { |
| 2039 | dasm_put(Dst, 12738); | 2039 | dasm_put(Dst, 12743); |
| 2040 | } else { | 2040 | } else { |
| 2041 | dasm_put(Dst, 12759); | 2041 | dasm_put(Dst, 12764); |
| 2042 | if (cmov) { | 2042 | if (cmov) { |
| 2043 | dasm_put(Dst, 10805); | 2043 | dasm_put(Dst, 10805); |
| 2044 | } else { | 2044 | } else { |
| @@ -2046,24 +2046,24 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
| 2046 | } | 2046 | } |
| 2047 | dasm_put(Dst, 2524); | 2047 | dasm_put(Dst, 2524); |
| 2048 | } | 2048 | } |
| 2049 | dasm_put(Dst, 12769, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2049 | dasm_put(Dst, 12774, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
| 2050 | dasm_put(Dst, 12861, LJ_TSTR); | 2050 | dasm_put(Dst, 12866, LJ_TSTR); |
| 2051 | break; | 2051 | break; |
| 2052 | case BC_TGETS: | 2052 | case BC_TGETS: |
| 2053 | dasm_put(Dst, 12879, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 2053 | dasm_put(Dst, 12884, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
| 2054 | dasm_put(Dst, 12963, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2054 | dasm_put(Dst, 12968, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
| 2055 | break; | 2055 | break; |
| 2056 | case BC_TGETB: | 2056 | case BC_TGETB: |
| 2057 | dasm_put(Dst, 13034, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2057 | dasm_put(Dst, 13039, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
| 2058 | dasm_put(Dst, 11376); | 2058 | dasm_put(Dst, 11376); |
| 2059 | break; | 2059 | break; |
| 2060 | 2060 | ||
| 2061 | case BC_TSETV: | 2061 | case BC_TSETV: |
| 2062 | dasm_put(Dst, 13133, LJ_TTAB, LJ_TISNUM); | 2062 | dasm_put(Dst, 13138, LJ_TTAB, LJ_TISNUM); |
| 2063 | if (sse) { | 2063 | if (sse) { |
| 2064 | dasm_put(Dst, 12738); | 2064 | dasm_put(Dst, 12743); |
| 2065 | } else { | 2065 | } else { |
| 2066 | dasm_put(Dst, 12759); | 2066 | dasm_put(Dst, 12764); |
| 2067 | if (cmov) { | 2067 | if (cmov) { |
| 2068 | dasm_put(Dst, 10805); | 2068 | dasm_put(Dst, 10805); |
| 2069 | } else { | 2069 | } else { |
| @@ -2071,28 +2071,28 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
| 2071 | } | 2071 | } |
| 2072 | dasm_put(Dst, 2524); | 2072 | dasm_put(Dst, 2524); |
| 2073 | } | 2073 | } |
| 2074 | dasm_put(Dst, 13166, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); | 2074 | dasm_put(Dst, 13171, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); |
| 2075 | dasm_put(Dst, 13249, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2075 | dasm_put(Dst, 13254, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
| 2076 | break; | 2076 | break; |
| 2077 | case BC_TSETS: | 2077 | case BC_TSETS: |
| 2078 | dasm_put(Dst, 13311, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 2078 | dasm_put(Dst, 13316, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
| 2079 | dasm_put(Dst, 13386, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); | 2079 | dasm_put(Dst, 13391, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); |
| 2080 | dasm_put(Dst, 13478, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2080 | dasm_put(Dst, 13483, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
| 2081 | break; | 2081 | break; |
| 2082 | case BC_TSETB: | 2082 | case BC_TSETB: |
| 2083 | dasm_put(Dst, 13574, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); | 2083 | dasm_put(Dst, 13579, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); |
| 2084 | dasm_put(Dst, 13672, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2084 | dasm_put(Dst, 13677, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
| 2085 | break; | 2085 | break; |
| 2086 | 2086 | ||
| 2087 | case BC_TSETM: | 2087 | case BC_TSETM: |
| 2088 | dasm_put(Dst, 13718); | 2088 | dasm_put(Dst, 13723); |
| 2089 | if (sse) { | 2089 | if (sse) { |
| 2090 | dasm_put(Dst, 13723); | 2090 | dasm_put(Dst, 13728); |
| 2091 | } else { | 2091 | } else { |
| 2092 | dasm_put(Dst, 13730); | 2092 | dasm_put(Dst, 13735); |
| 2093 | } | 2093 | } |
| 2094 | dasm_put(Dst, 13742, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); | 2094 | dasm_put(Dst, 13747, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); |
| 2095 | dasm_put(Dst, 13884, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2095 | dasm_put(Dst, 13889, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
| 2096 | break; | 2096 | break; |
| 2097 | 2097 | ||
| 2098 | /* -- Calls and vararg handling ----------------------------------------- */ | 2098 | /* -- Calls and vararg handling ----------------------------------------- */ |
| @@ -2100,60 +2100,60 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
| 2100 | case BC_CALL: case BC_CALLM: | 2100 | case BC_CALL: case BC_CALLM: |
| 2101 | dasm_put(Dst, 11390); | 2101 | dasm_put(Dst, 11390); |
| 2102 | if (op == BC_CALLM) { | 2102 | if (op == BC_CALLM) { |
| 2103 | dasm_put(Dst, 13902); | 2103 | dasm_put(Dst, 13907); |
| 2104 | } | 2104 | } |
| 2105 | dasm_put(Dst, 13907, LJ_TFUNC, Dt7(->pc)); | 2105 | dasm_put(Dst, 13912, LJ_TFUNC, Dt7(->pc)); |
| 2106 | break; | 2106 | break; |
| 2107 | 2107 | ||
| 2108 | case BC_CALLMT: | 2108 | case BC_CALLMT: |
| 2109 | dasm_put(Dst, 13902); | 2109 | dasm_put(Dst, 13907); |
| 2110 | break; | 2110 | break; |
| 2111 | case BC_CALLT: | 2111 | case BC_CALLT: |
| 2112 | dasm_put(Dst, 13948, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); | 2112 | dasm_put(Dst, 13953, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); |
| 2113 | dasm_put(Dst, 14066, FRAME_TYPE, Dt7(->pc), PC2PROTO(k)); | 2113 | dasm_put(Dst, 14071, FRAME_TYPE, Dt7(->pc), PC2PROTO(k)); |
| 2114 | break; | 2114 | break; |
| 2115 | 2115 | ||
| 2116 | case BC_ITERC: | 2116 | case BC_ITERC: |
| 2117 | dasm_put(Dst, 14123, LJ_TFUNC, 2+1, Dt7(->pc)); | 2117 | dasm_put(Dst, 14128, LJ_TFUNC, 2+1, Dt7(->pc)); |
| 2118 | break; | 2118 | break; |
| 2119 | 2119 | ||
| 2120 | case BC_VARG: | 2120 | case BC_VARG: |
| 2121 | dasm_put(Dst, 14203, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); | 2121 | dasm_put(Dst, 14208, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); |
| 2122 | dasm_put(Dst, 14347, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); | 2122 | dasm_put(Dst, 14352, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); |
| 2123 | break; | 2123 | break; |
| 2124 | 2124 | ||
| 2125 | /* -- Returns ----------------------------------------------------------- */ | 2125 | /* -- Returns ----------------------------------------------------------- */ |
| 2126 | 2126 | ||
| 2127 | case BC_RETM: | 2127 | case BC_RETM: |
| 2128 | dasm_put(Dst, 13902); | 2128 | dasm_put(Dst, 13907); |
| 2129 | break; | 2129 | break; |
| 2130 | 2130 | ||
| 2131 | case BC_RET: case BC_RET0: case BC_RET1: | 2131 | case BC_RET: case BC_RET0: case BC_RET1: |
| 2132 | if (op != BC_RET0) { | 2132 | if (op != BC_RET0) { |
| 2133 | dasm_put(Dst, 14446); | 2133 | dasm_put(Dst, 14451); |
| 2134 | } | 2134 | } |
| 2135 | dasm_put(Dst, 14450, FRAME_TYPE); | 2135 | dasm_put(Dst, 14455, FRAME_TYPE); |
| 2136 | switch (op) { | 2136 | switch (op) { |
| 2137 | case BC_RET: | 2137 | case BC_RET: |
| 2138 | dasm_put(Dst, 14469); | 2138 | dasm_put(Dst, 14474); |
| 2139 | break; | 2139 | break; |
| 2140 | case BC_RET1: | 2140 | case BC_RET1: |
| 2141 | dasm_put(Dst, 14527); | 2141 | dasm_put(Dst, 14532); |
| 2142 | /* fallthrough */ | 2142 | /* fallthrough */ |
| 2143 | case BC_RET0: | 2143 | case BC_RET0: |
| 2144 | dasm_put(Dst, 14543); | 2144 | dasm_put(Dst, 14548); |
| 2145 | default: | 2145 | default: |
| 2146 | break; | 2146 | break; |
| 2147 | } | 2147 | } |
| 2148 | dasm_put(Dst, 14554, Dt7(->pc), PC2PROTO(k)); | 2148 | dasm_put(Dst, 14559, Dt7(->pc), PC2PROTO(k)); |
| 2149 | if (op == BC_RET) { | 2149 | if (op == BC_RET) { |
| 2150 | dasm_put(Dst, 14596, LJ_TNIL); | 2150 | dasm_put(Dst, 14601, LJ_TNIL); |
| 2151 | } else { | 2151 | } else { |
| 2152 | dasm_put(Dst, 14605, LJ_TNIL); | 2152 | dasm_put(Dst, 14610, LJ_TNIL); |
| 2153 | } | 2153 | } |
| 2154 | dasm_put(Dst, 14612); | 2154 | dasm_put(Dst, 14617); |
| 2155 | if (op != BC_RET0) { | 2155 | if (op != BC_RET0) { |
| 2156 | dasm_put(Dst, 14633); | 2156 | dasm_put(Dst, 14638); |
| 2157 | } | 2157 | } |
| 2158 | dasm_put(Dst, 4680); | 2158 | dasm_put(Dst, 4680); |
| 2159 | break; | 2159 | break; |
| @@ -2163,7 +2163,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
| 2163 | 2163 | ||
| 2164 | case BC_FORL: | 2164 | case BC_FORL: |
| 2165 | #if LJ_HASJIT | 2165 | #if LJ_HASJIT |
| 2166 | dasm_put(Dst, 14637, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2166 | dasm_put(Dst, 14642, HOTCOUNT_PCMASK, GG_DISP2HOT); |
| 2167 | #endif | 2167 | #endif |
| 2168 | break; | 2168 | break; |
| 2169 | 2169 | ||
| @@ -2175,57 +2175,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
| 2175 | case BC_FORI: | 2175 | case BC_FORI: |
| 2176 | case BC_IFORL: | 2176 | case BC_IFORL: |
| 2177 | vk = (op == BC_IFORL || op == BC_JFORL); | 2177 | vk = (op == BC_IFORL || op == BC_JFORL); |
| 2178 | dasm_put(Dst, 14658); | 2178 | dasm_put(Dst, 14663); |
| 2179 | if (!vk) { | 2179 | if (!vk) { |
| 2180 | dasm_put(Dst, 14662, LJ_TISNUM, LJ_TISNUM); | 2180 | dasm_put(Dst, 14667, LJ_TISNUM, LJ_TISNUM); |
| 2181 | } | 2181 | } |
| 2182 | dasm_put(Dst, 14681); | 2182 | dasm_put(Dst, 14686); |
| 2183 | if (!vk) { | 2183 | if (!vk) { |
| 2184 | dasm_put(Dst, 14685, LJ_TISNUM); | 2184 | dasm_put(Dst, 14690, LJ_TISNUM); |
| 2185 | } | 2185 | } |
| 2186 | if (sse) { | 2186 | if (sse) { |
| 2187 | dasm_put(Dst, 14694); | 2187 | dasm_put(Dst, 14699); |
| 2188 | if (vk) { | 2188 | if (vk) { |
| 2189 | dasm_put(Dst, 14706); | 2189 | dasm_put(Dst, 14711); |
| 2190 | } else { | 2190 | } else { |
| 2191 | dasm_put(Dst, 14725); | 2191 | dasm_put(Dst, 14730); |
| 2192 | } | 2192 | } |
| 2193 | dasm_put(Dst, 14730); | 2193 | dasm_put(Dst, 14735); |
| 2194 | } else { | 2194 | } else { |
| 2195 | dasm_put(Dst, 14743); | 2195 | dasm_put(Dst, 14748); |
| 2196 | if (vk) { | 2196 | if (vk) { |
| 2197 | dasm_put(Dst, 14749); | 2197 | dasm_put(Dst, 14754); |
| 2198 | } else { | 2198 | } else { |
| 2199 | dasm_put(Dst, 14765); | 2199 | dasm_put(Dst, 14770); |
| 2200 | } | 2200 | } |
| 2201 | dasm_put(Dst, 14773); | 2201 | dasm_put(Dst, 14778); |
| 2202 | if (cmov) { | 2202 | if (cmov) { |
| 2203 | dasm_put(Dst, 10805); | 2203 | dasm_put(Dst, 10805); |
| 2204 | } else { | 2204 | } else { |
| 2205 | dasm_put(Dst, 10811); | 2205 | dasm_put(Dst, 10811); |
| 2206 | } | 2206 | } |
| 2207 | if (!cmov) { | 2207 | if (!cmov) { |
| 2208 | dasm_put(Dst, 14778); | 2208 | dasm_put(Dst, 14783); |
| 2209 | } | 2209 | } |
| 2210 | } | 2210 | } |
| 2211 | if (op == BC_FORI) { | 2211 | if (op == BC_FORI) { |
| 2212 | dasm_put(Dst, 14784, -BCBIAS_J*4); | 2212 | dasm_put(Dst, 14789, -BCBIAS_J*4); |
| 2213 | } else if (op == BC_JFORI) { | 2213 | } else if (op == BC_JFORI) { |
| 2214 | dasm_put(Dst, 14794, -BCBIAS_J*4, BC_JLOOP); | 2214 | dasm_put(Dst, 14799, -BCBIAS_J*4, BC_JLOOP); |
| 2215 | } else if (op == BC_IFORL) { | 2215 | } else if (op == BC_IFORL) { |
| 2216 | dasm_put(Dst, 14808, -BCBIAS_J*4); | 2216 | dasm_put(Dst, 14813, -BCBIAS_J*4); |
| 2217 | } else { | 2217 | } else { |
| 2218 | dasm_put(Dst, 14804, BC_JLOOP); | 2218 | dasm_put(Dst, 14809, BC_JLOOP); |
| 2219 | } | 2219 | } |
| 2220 | dasm_put(Dst, 10840); | 2220 | dasm_put(Dst, 10840); |
| 2221 | if (sse) { | 2221 | if (sse) { |
| 2222 | dasm_put(Dst, 14818); | 2222 | dasm_put(Dst, 14823); |
| 2223 | } | 2223 | } |
| 2224 | break; | 2224 | break; |
| 2225 | 2225 | ||
| 2226 | case BC_ITERL: | 2226 | case BC_ITERL: |
| 2227 | #if LJ_HASJIT | 2227 | #if LJ_HASJIT |
| 2228 | dasm_put(Dst, 14637, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2228 | dasm_put(Dst, 14642, HOTCOUNT_PCMASK, GG_DISP2HOT); |
| 2229 | #endif | 2229 | #endif |
| 2230 | break; | 2230 | break; |
| 2231 | 2231 | ||
| @@ -2234,18 +2234,18 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
| 2234 | break; | 2234 | break; |
| 2235 | #endif | 2235 | #endif |
| 2236 | case BC_IITERL: | 2236 | case BC_IITERL: |
| 2237 | dasm_put(Dst, 14829, LJ_TNIL); | 2237 | dasm_put(Dst, 14834, LJ_TNIL); |
| 2238 | if (op == BC_JITERL) { | 2238 | if (op == BC_JITERL) { |
| 2239 | dasm_put(Dst, 14844, BC_JLOOP); | 2239 | dasm_put(Dst, 14849, BC_JLOOP); |
| 2240 | } else { | 2240 | } else { |
| 2241 | dasm_put(Dst, 14858, -BCBIAS_J*4); | 2241 | dasm_put(Dst, 14863, -BCBIAS_J*4); |
| 2242 | } | 2242 | } |
| 2243 | dasm_put(Dst, 11137); | 2243 | dasm_put(Dst, 11137); |
| 2244 | break; | 2244 | break; |
| 2245 | 2245 | ||
| 2246 | case BC_LOOP: | 2246 | case BC_LOOP: |
| 2247 | #if LJ_HASJIT | 2247 | #if LJ_HASJIT |
| 2248 | dasm_put(Dst, 14637, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2248 | dasm_put(Dst, 14642, HOTCOUNT_PCMASK, GG_DISP2HOT); |
| 2249 | #endif | 2249 | #endif |
| 2250 | break; | 2250 | break; |
| 2251 | 2251 | ||
| @@ -2255,12 +2255,12 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
| 2255 | 2255 | ||
| 2256 | case BC_JLOOP: | 2256 | case BC_JLOOP: |
| 2257 | #if LJ_HASJIT | 2257 | #if LJ_HASJIT |
| 2258 | dasm_put(Dst, 14874, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); | 2258 | dasm_put(Dst, 14879, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); |
| 2259 | #endif | 2259 | #endif |
| 2260 | break; | 2260 | break; |
| 2261 | 2261 | ||
| 2262 | case BC_JMP: | 2262 | case BC_JMP: |
| 2263 | dasm_put(Dst, 14897, -BCBIAS_J*4); | 2263 | dasm_put(Dst, 14902, -BCBIAS_J*4); |
| 2264 | break; | 2264 | break; |
| 2265 | 2265 | ||
| 2266 | /* -- Function headers -------------------------------------------------- */ | 2266 | /* -- Function headers -------------------------------------------------- */ |
| @@ -2274,7 +2274,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
| 2274 | 2274 | ||
| 2275 | case BC_FUNCF: | 2275 | case BC_FUNCF: |
| 2276 | #if LJ_HASJIT | 2276 | #if LJ_HASJIT |
| 2277 | dasm_put(Dst, 14921, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2277 | dasm_put(Dst, 14926, HOTCOUNT_PCMASK, GG_DISP2HOT); |
| 2278 | #endif | 2278 | #endif |
| 2279 | case BC_FUNCV: /* NYI: compiled vararg functions. */ | 2279 | case BC_FUNCV: /* NYI: compiled vararg functions. */ |
| 2280 | break; | 2280 | break; |
| @@ -2284,13 +2284,13 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
| 2284 | break; | 2284 | break; |
| 2285 | #endif | 2285 | #endif |
| 2286 | case BC_IFUNCF: | 2286 | case BC_IFUNCF: |
| 2287 | dasm_put(Dst, 14942, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); | 2287 | dasm_put(Dst, 14947, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); |
| 2288 | if (op == BC_JFUNCF) { | 2288 | if (op == BC_JFUNCF) { |
| 2289 | dasm_put(Dst, 14972, BC_JLOOP); | 2289 | dasm_put(Dst, 14977, BC_JLOOP); |
| 2290 | } else { | 2290 | } else { |
| 2291 | dasm_put(Dst, 10842); | 2291 | dasm_put(Dst, 10842); |
| 2292 | } | 2292 | } |
| 2293 | dasm_put(Dst, 14981, LJ_TNIL); | 2293 | dasm_put(Dst, 14986, LJ_TNIL); |
| 2294 | break; | 2294 | break; |
| 2295 | 2295 | ||
| 2296 | case BC_JFUNCV: | 2296 | case BC_JFUNCV: |
| @@ -2301,30 +2301,30 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
| 2301 | break; /* NYI: compiled vararg functions. */ | 2301 | break; /* NYI: compiled vararg functions. */ |
| 2302 | 2302 | ||
| 2303 | case BC_IFUNCV: | 2303 | case BC_IFUNCV: |
| 2304 | dasm_put(Dst, 15003, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); | 2304 | dasm_put(Dst, 15008, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); |
| 2305 | if (op == BC_JFUNCV) { | 2305 | if (op == BC_JFUNCV) { |
| 2306 | dasm_put(Dst, 14972, BC_JLOOP); | 2306 | dasm_put(Dst, 14977, BC_JLOOP); |
| 2307 | } else { | 2307 | } else { |
| 2308 | dasm_put(Dst, 15094, -4+PC2PROTO(k)); | 2308 | dasm_put(Dst, 15099, -4+PC2PROTO(k)); |
| 2309 | } | 2309 | } |
| 2310 | dasm_put(Dst, 15116, LJ_TNIL); | 2310 | dasm_put(Dst, 15121, LJ_TNIL); |
| 2311 | break; | 2311 | break; |
| 2312 | 2312 | ||
| 2313 | case BC_FUNCC: | 2313 | case BC_FUNCC: |
| 2314 | case BC_FUNCCW: | 2314 | case BC_FUNCCW: |
| 2315 | dasm_put(Dst, 15138, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); | 2315 | dasm_put(Dst, 15143, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); |
| 2316 | if (op == BC_FUNCC) { | 2316 | if (op == BC_FUNCC) { |
| 2317 | dasm_put(Dst, 15167); | 2317 | dasm_put(Dst, 15172); |
| 2318 | } else { | 2318 | } else { |
| 2319 | dasm_put(Dst, 15171); | 2319 | dasm_put(Dst, 15176); |
| 2320 | } | 2320 | } |
| 2321 | dasm_put(Dst, 15179, DISPATCH_GL(vmstate), ~LJ_VMST_C); | 2321 | dasm_put(Dst, 15184, DISPATCH_GL(vmstate), ~LJ_VMST_C); |
| 2322 | if (op == BC_FUNCC) { | 2322 | if (op == BC_FUNCC) { |
| 2323 | dasm_put(Dst, 15188); | 2323 | dasm_put(Dst, 15193); |
| 2324 | } else { | 2324 | } else { |
| 2325 | dasm_put(Dst, 15192, DISPATCH_GL(wrapf)); | 2325 | dasm_put(Dst, 15197, DISPATCH_GL(wrapf)); |
| 2326 | } | 2326 | } |
| 2327 | dasm_put(Dst, 15197, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); | 2327 | dasm_put(Dst, 15202, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); |
| 2328 | break; | 2328 | break; |
| 2329 | 2329 | ||
| 2330 | /* ---------------------------------------------------------------------- */ | 2330 | /* ---------------------------------------------------------------------- */ |
| @@ -2352,7 +2352,7 @@ static int build_backend(BuildCtx *ctx) | |||
| 2352 | 2352 | ||
| 2353 | build_subroutines(ctx, cmov, sse); | 2353 | build_subroutines(ctx, cmov, sse); |
| 2354 | 2354 | ||
| 2355 | dasm_put(Dst, 15222); | 2355 | dasm_put(Dst, 15227); |
| 2356 | for (op = 0; op < BC__MAX; op++) | 2356 | for (op = 0; op < BC__MAX; op++) |
| 2357 | build_ins(ctx, (BCOp)op, op, cmov, sse); | 2357 | build_ins(ctx, (BCOp)op, op, cmov, sse); |
| 2358 | 2358 | ||
