summaryrefslogtreecommitdiff
path: root/src/buildvm_x64.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x64.h')
-rw-r--r--src/buildvm_x64.h38
1 files changed, 20 insertions, 18 deletions
diff --git a/src/buildvm_x64.h b/src/buildvm_x64.h
index c394624d..57508e89 100644
--- a/src/buildvm_x64.h
+++ b/src/buildvm_x64.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[14028] = { 15static const unsigned char build_actionlist[14049] = {
16 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141, 16 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141,
17 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4, 17 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4,
18 252,247,195,237,15,132,244,13,248,14,252,247,195,237,15,132,244,10,65,199, 18 252,247,195,237,15,132,244,13,248,14,252,247,195,237,15,132,244,10,65,199,
@@ -676,8 +676,9 @@ static const unsigned char build_actionlist[14028] = {
676 233,139,4,193,72,139,128,233,139,108,36,24,65,137,150,233,65,137,174,233, 676 233,139,4,193,72,139,128,233,139,108,36,24,65,137,150,233,65,137,174,233,
677 76,137,36,36,76,137,108,36,8,72,131,252,236,16,252,255,224,255,141,156,253, 677 76,137,36,36,76,137,108,36,8,72,131,252,236,16,252,255,224,255,141,156,253,
678 131,233,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, 678 131,233,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
679 238,255,68,139,187,233,139,108,36,24,141,12,202,59,141,233,15,135,244,23, 679 238,255,137,221,209,252,237,129,229,239,102,65,131,172,253,46,233,1,15,132,
680 15,182,139,233,57,200,15,134,244,249,248,2,255,15,183,67,252,254,252,233, 680 244,142,255,68,139,187,233,139,108,36,24,141,12,202,59,141,233,15,135,244,
681 23,15,182,139,233,57,200,15,134,244,249,248,2,255,15,183,67,252,254,252,233,
681 245,255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233, 682 245,255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,
682 244,2,255,141,44,197,237,141,4,194,68,139,122,252,248,137,104,252,252,68, 683 244,2,255,141,44,197,237,141,4,194,68,139,122,252,248,137,104,252,252,68,
683 137,120,252,248,139,108,36,24,141,12,200,59,141,233,15,135,244,22,137,209, 684 137,120,252,248,139,108,36,24,141,12,200,59,141,233,15,135,244,22,137,209,
@@ -2150,6 +2151,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2150 2151
2151 case BC_FUNCF: 2152 case BC_FUNCF:
2152#if LJ_HASJIT 2153#if LJ_HASJIT
2154 dasm_put(Dst, 13731, HOTCOUNT_PCMASK, GG_DISP2HOT);
2153#endif 2155#endif
2154 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2156 case BC_FUNCV: /* NYI: compiled vararg functions. */
2155 break; 2157 break;
@@ -2159,13 +2161,13 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2159 break; 2161 break;
2160#endif 2162#endif
2161 case BC_IFUNCF: 2163 case BC_IFUNCF:
2162 dasm_put(Dst, 13731, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2164 dasm_put(Dst, 13752, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2163 if (op == BC_JFUNCF) { 2165 if (op == BC_JFUNCF) {
2164 dasm_put(Dst, 13762, BC_JLOOP); 2166 dasm_put(Dst, 13783, BC_JLOOP);
2165 } else { 2167 } else {
2166 dasm_put(Dst, 9531); 2168 dasm_put(Dst, 9531);
2167 } 2169 }
2168 dasm_put(Dst, 13771, LJ_TNIL); 2170 dasm_put(Dst, 13792, LJ_TNIL);
2169 break; 2171 break;
2170 2172
2171 case BC_JFUNCV: 2173 case BC_JFUNCV:
@@ -2176,30 +2178,30 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2176 break; /* NYI: compiled vararg functions. */ 2178 break; /* NYI: compiled vararg functions. */
2177 2179
2178 case BC_IFUNCV: 2180 case BC_IFUNCV:
2179 dasm_put(Dst, 13793, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2181 dasm_put(Dst, 13814, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2180 if (op == BC_JFUNCV) { 2182 if (op == BC_JFUNCV) {
2181 dasm_put(Dst, 13762, BC_JLOOP); 2183 dasm_put(Dst, 13783, BC_JLOOP);
2182 } else { 2184 } else {
2183 dasm_put(Dst, 13890, -4+PC2PROTO(k)); 2185 dasm_put(Dst, 13911, -4+PC2PROTO(k));
2184 } 2186 }
2185 dasm_put(Dst, 13915, LJ_TNIL); 2187 dasm_put(Dst, 13936, LJ_TNIL);
2186 break; 2188 break;
2187 2189
2188 case BC_FUNCC: 2190 case BC_FUNCC:
2189 case BC_FUNCCW: 2191 case BC_FUNCCW:
2190 dasm_put(Dst, 13937, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2192 dasm_put(Dst, 13958, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2191 if (op == BC_FUNCC) { 2193 if (op == BC_FUNCC) {
2192 dasm_put(Dst, 13967); 2194 dasm_put(Dst, 13988);
2193 } else { 2195 } else {
2194 dasm_put(Dst, 13971); 2196 dasm_put(Dst, 13992);
2195 } 2197 }
2196 dasm_put(Dst, 13979, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2198 dasm_put(Dst, 14000, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2197 if (op == BC_FUNCC) { 2199 if (op == BC_FUNCC) {
2198 dasm_put(Dst, 13989); 2200 dasm_put(Dst, 14010);
2199 } else { 2201 } else {
2200 dasm_put(Dst, 13994, DISPATCH_GL(wrapf)); 2202 dasm_put(Dst, 14015, DISPATCH_GL(wrapf));
2201 } 2203 }
2202 dasm_put(Dst, 14000, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2204 dasm_put(Dst, 14021, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2203 break; 2205 break;
2204 2206
2205 /* ---------------------------------------------------------------------- */ 2207 /* ---------------------------------------------------------------------- */
@@ -2227,7 +2229,7 @@ static int build_backend(BuildCtx *ctx)
2227 2229
2228 build_subroutines(ctx, cmov, sse); 2230 build_subroutines(ctx, cmov, sse);
2229 2231
2230 dasm_put(Dst, 14026); 2232 dasm_put(Dst, 14047);
2231 for (op = 0; op < BC__MAX; op++) 2233 for (op = 0; op < BC__MAX; op++)
2232 build_ins(ctx, (BCOp)op, op, cmov, sse); 2234 build_ins(ctx, (BCOp)op, op, cmov, sse);
2233 2235