From c1658ddcf1a2e6b6713419451cfe4ed96424e6e6 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Sun, 21 Feb 2010 16:47:43 +0100 Subject: Eliminate redundant stack checks. Add checks for growing root traces. --- src/lj_jit.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/lj_jit.h') diff --git a/src/lj_jit.h b/src/lj_jit.h index a43611de..41a3fe9a 100644 --- a/src/lj_jit.h +++ b/src/lj_jit.h @@ -169,6 +169,10 @@ typedef struct Trace { TraceNo1 nextside; /* Next side trace of same root trace. */ uint16_t nchild; /* Number of child traces (root trace only). */ uint16_t spadjust; /* Stack pointer adjustment (offset in bytes). */ + uint8_t topslot; /* Top stack slot already checked to be allocated. */ + uint8_t unused1; + uint8_t unused2; + uint8_t unused3; #ifdef LUAJIT_USE_GDBJIT void *gdbjit_entry; /* GDB JIT entry. */ #endif @@ -227,9 +231,9 @@ typedef struct jit_State { TraceState state; /* Trace compiler state. */ + uint64_t tailcalled; /* History of the number of successive tailcalls. */ int32_t instunroll; /* Unroll counter for instable loops. */ int32_t loopunroll; /* Unroll counter for loop ops in side traces. */ - uint64_t tailcalled; /* History of the number of successive tailcalls. */ int32_t framedepth; /* Current frame depth. */ int32_t retdepth; /* Return frame depth (count of RETF). */ -- cgit v1.2.3-55-g6feb