summaryrefslogtreecommitdiff
path: root/src/lj_record.c
diff options
context:
space:
mode:
authorMike Pall <mike>2010-09-09 12:28:17 +0200
committerMike Pall <mike>2010-09-09 12:28:17 +0200
commit96957a4551a464160be2c1450f39744ac8313364 (patch)
tree652fd8bc3b4c0f75173d74fb3f8f060e5af9f6b4 /src/lj_record.c
parentfd63b05253f11d7e436c3685827fce9b64725da6 (diff)
downloadluajit-96957a4551a464160be2c1450f39744ac8313364.tar.gz
luajit-96957a4551a464160be2c1450f39744ac8313364.tar.bz2
luajit-96957a4551a464160be2c1450f39744ac8313364.zip
Turn some lua_State fields into 32 bit pointers.
lua_State now fits into one cache line on x64.
Diffstat (limited to 'src/lj_record.c')
-rw-r--r--src/lj_record.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lj_record.c b/src/lj_record.c
index 2fba6b6b..2e411632 100644
--- a/src/lj_record.c
+++ b/src/lj_record.c
@@ -1062,7 +1062,8 @@ static TRef rec_upvalue(jit_State *J, uint32_t uv, TRef val)
1062 uv = (uv << 8) | (hashrot(uvp->dhash, uvp->dhash + HASH_BIAS) & 0xff); 1062 uv = (uv << 8) | (hashrot(uvp->dhash, uvp->dhash + HASH_BIAS) & 0xff);
1063 if (!uvp->closed) { 1063 if (!uvp->closed) {
1064 /* In current stack? */ 1064 /* In current stack? */
1065 if (uvval(uvp) >= J->L->stack && uvval(uvp) < J->L->maxstack) { 1065 if (uvval(uvp) >= tvref(J->L->stack) &&
1066 uvval(uvp) < tvref(J->L->maxstack)) {
1066 int32_t slot = (int32_t)(uvval(uvp) - (J->L->base - J->baseslot)); 1067 int32_t slot = (int32_t)(uvval(uvp) - (J->L->base - J->baseslot));
1067 if (slot >= 0) { /* Aliases an SSA slot? */ 1068 if (slot >= 0) { /* Aliases an SSA slot? */
1068 slot -= (int32_t)J->baseslot; /* Note: slot number may be negative! */ 1069 slot -= (int32_t)J->baseslot; /* Note: slot number may be negative! */