diff options
author | Mike Pall <mike> | 2010-02-24 23:17:17 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2010-02-24 23:17:17 +0100 |
commit | b95294572ce8efa527e0b0118bb7168117afd171 (patch) | |
tree | 1aa393c982f67b4e558805b12ca5b3f4c26509cb /src/lj_trace.c | |
parent | b32f4f4549b94ea18da1d5b2280c8b6ba0089a9b (diff) | |
download | luajit-b95294572ce8efa527e0b0118bb7168117afd171.tar.gz luajit-b95294572ce8efa527e0b0118bb7168117afd171.tar.bz2 luajit-b95294572ce8efa527e0b0118bb7168117afd171.zip |
Move SIMD constants to jit_State to keep them in the low 4GB.
Diffstat (limited to 'src/lj_trace.c')
-rw-r--r-- | src/lj_trace.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/lj_trace.c b/src/lj_trace.c index d55d3a85..e476122c 100644 --- a/src/lj_trace.c +++ b/src/lj_trace.c | |||
@@ -275,6 +275,20 @@ int lj_trace_flushall(lua_State *L) | |||
275 | return 0; | 275 | return 0; |
276 | } | 276 | } |
277 | 277 | ||
278 | /* Initialize JIT compiler state. */ | ||
279 | void lj_trace_initstate(global_State *g) | ||
280 | { | ||
281 | jit_State *J = G2J(g); | ||
282 | TValue *tv; | ||
283 | /* Initialize SIMD constants. */ | ||
284 | tv = LJ_KSIMD(J, LJ_KSIMD_ABS); | ||
285 | tv[0].u64 = U64x(7fffffff,ffffffff); | ||
286 | tv[1].u64 = U64x(7fffffff,ffffffff); | ||
287 | tv = LJ_KSIMD(J, LJ_KSIMD_NEG); | ||
288 | tv[0].u64 = U64x(80000000,00000000); | ||
289 | tv[1].u64 = U64x(80000000,00000000); | ||
290 | } | ||
291 | |||
278 | /* Free everything associated with the JIT compiler state. */ | 292 | /* Free everything associated with the JIT compiler state. */ |
279 | void lj_trace_freestate(global_State *g) | 293 | void lj_trace_freestate(global_State *g) |
280 | { | 294 | { |