diff options
author | Mike Pall <mike> | 2010-02-16 23:39:24 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2010-02-16 23:39:24 +0100 |
commit | 8060f5b53145b977c04bddf414aa541cb73ec536 (patch) | |
tree | 9bae21eff945ef8794106427e1e7155f0612b7d0 /src/lj_dispatch.c | |
parent | c225ee8db4300e1dbf13fcdfc15d8f44da175877 (diff) | |
download | luajit-8060f5b53145b977c04bddf414aa541cb73ec536.tar.gz luajit-8060f5b53145b977c04bddf414aa541cb73ec536.tar.bz2 luajit-8060f5b53145b977c04bddf414aa541cb73ec536.zip |
Just disable JIT compiler for non-SSE2 CPUs instead of aborting.
Diffstat (limited to 'src/lj_dispatch.c')
-rw-r--r-- | src/lj_dispatch.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lj_dispatch.c b/src/lj_dispatch.c index 4629fb7e..7b3ff80b 100644 --- a/src/lj_dispatch.c +++ b/src/lj_dispatch.c | |||
@@ -209,10 +209,12 @@ int luaJIT_setmode(lua_State *L, int idx, int mode) | |||
209 | if ((mode & LUAJIT_MODE_FLUSH)) { | 209 | if ((mode & LUAJIT_MODE_FLUSH)) { |
210 | lj_trace_flushall(L); | 210 | lj_trace_flushall(L); |
211 | } else { | 211 | } else { |
212 | if ((mode & LUAJIT_MODE_ON)) | 212 | if (!(mode & LUAJIT_MODE_ON)) |
213 | G2J(g)->flags &= ~(uint32_t)JIT_F_ON; | ||
214 | else if ((G2J(g)->flags & JIT_F_SSE2)) | ||
213 | G2J(g)->flags |= (uint32_t)JIT_F_ON; | 215 | G2J(g)->flags |= (uint32_t)JIT_F_ON; |
214 | else | 216 | else |
215 | G2J(g)->flags &= ~(uint32_t)JIT_F_ON; | 217 | return 0; /* Don't turn on JIT compiler without SSE2 support. */ |
216 | lj_dispatch_update(g); | 218 | lj_dispatch_update(g); |
217 | } | 219 | } |
218 | break; | 220 | break; |