diff options
author | Mike Pall <mike> | 2010-04-25 19:33:39 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2010-04-25 19:33:39 +0200 |
commit | 2ccb24f894bf56873275d8ca42562c0bd6bbc193 (patch) | |
tree | 6546273f6c057741c95cc94cad7d5b12e6eb8104 /src | |
parent | ef0904e80ba5996c27999a1f044e03761b84826f (diff) | |
download | luajit-2ccb24f894bf56873275d8ca42562c0bd6bbc193.tar.gz luajit-2ccb24f894bf56873275d8ca42562c0bd6bbc193.tar.bz2 luajit-2ccb24f894bf56873275d8ca42562c0bd6bbc193.zip |
Fix TNEW in x64 interpreter. Do not force a full GC (ouch).
Diffstat (limited to 'src')
-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 | ||