summaryrefslogtreecommitdiff
path: root/src/lj_trace.c
diff options
context:
space:
mode:
authorMike Pall <mike>2010-02-24 23:17:17 +0100
committerMike Pall <mike>2010-02-24 23:17:17 +0100
commitb95294572ce8efa527e0b0118bb7168117afd171 (patch)
tree1aa393c982f67b4e558805b12ca5b3f4c26509cb /src/lj_trace.c
parentb32f4f4549b94ea18da1d5b2280c8b6ba0089a9b (diff)
downloadluajit-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.c14
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. */
279void 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. */
279void lj_trace_freestate(global_State *g) 293void lj_trace_freestate(global_State *g)
280{ 294{