summaryrefslogtreecommitdiff
path: root/src/lj_obj.h
diff options
context:
space:
mode:
authorMike Pall <mike>2010-03-22 15:05:37 +0100
committerMike Pall <mike>2010-03-22 15:05:37 +0100
commit361266518c1500f25f7d83464ad4b2e2bd81db51 (patch)
treeddc694f82caadb2915e9f0d6b7a24c81c162fd03 /src/lj_obj.h
parent51c14bf1c80367ec2645819cbdb93d84524060d2 (diff)
downloadluajit-361266518c1500f25f7d83464ad4b2e2bd81db51.tar.gz
luajit-361266518c1500f25f7d83464ad4b2e2bd81db51.tar.bz2
luajit-361266518c1500f25f7d83464ad4b2e2bd81db51.zip
Move free node pos to t->node[0].freetop. Saves 4 bytes in GCtab.
Diffstat (limited to 'src/lj_obj.h')
-rw-r--r--src/lj_obj.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/lj_obj.h b/src/lj_obj.h
index a37c0882..048a74f9 100644
--- a/src/lj_obj.h
+++ b/src/lj_obj.h
@@ -453,7 +453,7 @@ typedef struct Node {
453 TValue val; /* Value object. Must be first field. */ 453 TValue val; /* Value object. Must be first field. */
454 TValue key; /* Key object. */ 454 TValue key; /* Key object. */
455 MRef next; /* Hash chain. */ 455 MRef next; /* Hash chain. */
456 int32_t unused; /* For consistent alignment. */ 456 MRef freetop; /* Top of free elements (stored in t->node[0]). */
457} Node; 457} Node;
458 458
459LJ_STATIC_ASSERT(offsetof(Node, val) == 0); 459LJ_STATIC_ASSERT(offsetof(Node, val) == 0);
@@ -468,7 +468,6 @@ typedef struct GCtab {
468 MRef node; /* Hash part. */ 468 MRef node; /* Hash part. */
469 uint32_t asize; /* Size of array part (keys [0, asize-1]). */ 469 uint32_t asize; /* Size of array part (keys [0, asize-1]). */
470 uint32_t hmask; /* Hash part mask (size of hash part - 1). */ 470 uint32_t hmask; /* Hash part mask (size of hash part - 1). */
471 MRef lastfree; /* Any free position is before this position. */
472} GCtab; 471} GCtab;
473 472
474#define sizetabcolo(n) ((n)*sizeof(TValue) + sizeof(GCtab)) 473#define sizetabcolo(n) ((n)*sizeof(TValue) + sizeof(GCtab))