diff options
Diffstat (limited to 'src/buildvm_x64.h')
-rw-r--r-- | src/buildvm_x64.h | 38 |
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 |
15 | static const unsigned char build_actionlist[14028] = { | 15 | static 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 | ||