aboutsummaryrefslogtreecommitdiff
path: root/src/lj_asm_x86.h
diff options
context:
space:
mode:
authorMike Pall <mike>2013-08-28 13:06:19 +0200
committerMike Pall <mike>2013-08-30 23:38:17 +0200
commit517500ba48a290699d5a2ec7465bf76a5109c49f (patch)
treeb780b0919bd2b79db462d0f392158d4b1ee6339c /src/lj_asm_x86.h
parent5120240b77e4544b9b7405b4849a6cc63cdbbe1e (diff)
downloadluajit-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.h2
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}