diff options
author | Mike Pall <mike> | 2013-08-28 13:06:19 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2013-08-30 23:38:17 +0200 |
commit | 517500ba48a290699d5a2ec7465bf76a5109c49f (patch) | |
tree | b780b0919bd2b79db462d0f392158d4b1ee6339c /src/lj_asm_x86.h | |
parent | 5120240b77e4544b9b7405b4849a6cc63cdbbe1e (diff) | |
download | luajit-517500ba48a290699d5a2ec7465bf76a5109c49f.tar.gz luajit-517500ba48a290699d5a2ec7465bf76a5109c49f.tar.bz2 luajit-517500ba48a290699d5a2ec7465bf76a5109c49f.zip |
Save currently executing lua_State in g->cur_L.
This is only a good approximation due to deficiencies in the design of
the Lua/C API. It indicates _some_ valid state that is/was executing.
Also reorder L->cframe stores to achieve a synchronously consistent state.
Diffstat (limited to 'src/lj_asm_x86.h')
-rw-r--r-- | src/lj_asm_x86.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_asm_x86.h b/src/lj_asm_x86.h index f2f8157d..82517600 100644 --- a/src/lj_asm_x86.h +++ b/src/lj_asm_x86.h | |||
@@ -2369,7 +2369,7 @@ static void asm_stack_check(ASMState *as, BCReg topslot, | |||
2369 | emit_rmro(as, XO_ARITH(XOg_SUB), r, RID_NONE, | 2369 | emit_rmro(as, XO_ARITH(XOg_SUB), r, RID_NONE, |
2370 | ptr2addr(&J2G(as->J)->jit_base)); | 2370 | ptr2addr(&J2G(as->J)->jit_base)); |
2371 | emit_rmro(as, XO_MOV, r, r, offsetof(lua_State, maxstack)); | 2371 | emit_rmro(as, XO_MOV, r, r, offsetof(lua_State, maxstack)); |
2372 | emit_getgl(as, r, jit_L); | 2372 | emit_getgl(as, r, cur_L); |
2373 | if (allow == RSET_EMPTY) /* Spill temp. register. */ | 2373 | if (allow == RSET_EMPTY) /* Spill temp. register. */ |
2374 | emit_rmro(as, XO_MOVto, r|REX_64, RID_ESP, 0); | 2374 | emit_rmro(as, XO_MOVto, r|REX_64, RID_ESP, 0); |
2375 | } | 2375 | } |