diff options
Diffstat (limited to 'src/lj_jit.h')
-rw-r--r-- | src/lj_jit.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/lj_jit.h b/src/lj_jit.h index 3201baf0..bd7c7577 100644 --- a/src/lj_jit.h +++ b/src/lj_jit.h | |||
@@ -201,6 +201,16 @@ typedef struct BPropEntry { | |||
201 | /* Number of slots for the backpropagation cache. Must be a power of 2. */ | 201 | /* Number of slots for the backpropagation cache. Must be a power of 2. */ |
202 | #define BPROP_SLOTS 16 | 202 | #define BPROP_SLOTS 16 |
203 | 203 | ||
204 | /* Scalar evolution analysis cache. */ | ||
205 | typedef struct ScEvEntry { | ||
206 | IRRef1 idx; /* Index reference. */ | ||
207 | IRRef1 start; /* Constant start reference. */ | ||
208 | IRRef1 stop; /* Constant stop reference. */ | ||
209 | IRRef1 step; /* Constant step reference. */ | ||
210 | IRType1 t; /* Scalar type. */ | ||
211 | uint8_t dir; /* Direction. 0: +, 1: -. */ | ||
212 | } ScEvEntry; | ||
213 | |||
204 | /* 128 bit SIMD constants. */ | 214 | /* 128 bit SIMD constants. */ |
205 | enum { | 215 | enum { |
206 | LJ_KSIMD_ABS, | 216 | LJ_KSIMD_ABS, |
@@ -283,6 +293,8 @@ typedef struct jit_State { | |||
283 | BPropEntry bpropcache[BPROP_SLOTS]; /* Backpropagation cache slots. */ | 293 | BPropEntry bpropcache[BPROP_SLOTS]; /* Backpropagation cache slots. */ |
284 | uint32_t bpropslot; /* Round-robin index into bpropcache slots. */ | 294 | uint32_t bpropslot; /* Round-robin index into bpropcache slots. */ |
285 | 295 | ||
296 | ScEvEntry scev; /* Scalar evolution analysis cache slots. */ | ||
297 | |||
286 | const BCIns *startpc; /* Bytecode PC of starting instruction. */ | 298 | const BCIns *startpc; /* Bytecode PC of starting instruction. */ |
287 | TraceNo parent; /* Parent of current side trace (0 for root traces). */ | 299 | TraceNo parent; /* Parent of current side trace (0 for root traces). */ |
288 | ExitNo exitno; /* Exit number in parent of current side trace. */ | 300 | ExitNo exitno; /* Exit number in parent of current side trace. */ |