diff options
author | Mike Pall <mike> | 2010-02-21 16:47:43 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2010-02-21 16:47:43 +0100 |
commit | c1658ddcf1a2e6b6713419451cfe4ed96424e6e6 (patch) | |
tree | 92c66c46178dbc22122c722f334eef17902db600 /src/lj_jit.h | |
parent | c52da1f2da4963762e7743419d58e372e1c9ac06 (diff) | |
download | luajit-c1658ddcf1a2e6b6713419451cfe4ed96424e6e6.tar.gz luajit-c1658ddcf1a2e6b6713419451cfe4ed96424e6e6.tar.bz2 luajit-c1658ddcf1a2e6b6713419451cfe4ed96424e6e6.zip |
Eliminate redundant stack checks. Add checks for growing root traces.
Diffstat (limited to '')
-rw-r--r-- | src/lj_jit.h | 6 |
1 files changed, 5 insertions, 1 deletions
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 { | |||
169 | TraceNo1 nextside; /* Next side trace of same root trace. */ | 169 | TraceNo1 nextside; /* Next side trace of same root trace. */ |
170 | uint16_t nchild; /* Number of child traces (root trace only). */ | 170 | uint16_t nchild; /* Number of child traces (root trace only). */ |
171 | uint16_t spadjust; /* Stack pointer adjustment (offset in bytes). */ | 171 | uint16_t spadjust; /* Stack pointer adjustment (offset in bytes). */ |
172 | uint8_t topslot; /* Top stack slot already checked to be allocated. */ | ||
173 | uint8_t unused1; | ||
174 | uint8_t unused2; | ||
175 | uint8_t unused3; | ||
172 | #ifdef LUAJIT_USE_GDBJIT | 176 | #ifdef LUAJIT_USE_GDBJIT |
173 | void *gdbjit_entry; /* GDB JIT entry. */ | 177 | void *gdbjit_entry; /* GDB JIT entry. */ |
174 | #endif | 178 | #endif |
@@ -227,9 +231,9 @@ typedef struct jit_State { | |||
227 | 231 | ||
228 | TraceState state; /* Trace compiler state. */ | 232 | TraceState state; /* Trace compiler state. */ |
229 | 233 | ||
234 | uint64_t tailcalled; /* History of the number of successive tailcalls. */ | ||
230 | int32_t instunroll; /* Unroll counter for instable loops. */ | 235 | int32_t instunroll; /* Unroll counter for instable loops. */ |
231 | int32_t loopunroll; /* Unroll counter for loop ops in side traces. */ | 236 | int32_t loopunroll; /* Unroll counter for loop ops in side traces. */ |
232 | uint64_t tailcalled; /* History of the number of successive tailcalls. */ | ||
233 | int32_t framedepth; /* Current frame depth. */ | 237 | int32_t framedepth; /* Current frame depth. */ |
234 | int32_t retdepth; /* Return frame depth (count of RETF). */ | 238 | int32_t retdepth; /* Return frame depth (count of RETF). */ |
235 | 239 | ||