aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2010-04-25 19:33:39 +0200
committerMike Pall <mike>2010-04-25 19:33:39 +0200
commit2ccb24f894bf56873275d8ca42562c0bd6bbc193 (patch)
tree6546273f6c057741c95cc94cad7d5b12e6eb8104 /src
parentef0904e80ba5996c27999a1f044e03761b84826f (diff)
downloadluajit-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.h10
-rw-r--r--src/buildvm_x64win.h200
-rw-r--r--src/buildvm_x86.dasc47
-rw-r--r--src/buildvm_x86.h448
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
15static const unsigned char build_actionlist[14023] = { 15static 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
15static const unsigned char build_actionlist[15224] = { 15static 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
752enum { 752enum {
@@ -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