#define SET_DEFAULT_ELM(table, value) [0] = NULL
#endif
+#define fallthrough do {} while (0) /* fall-through */
+
/* Flags for (struct block *)->flags */
#define BLOCK_NEVER_COMPILE BIT(0)
#define BLOCK_SHOULD_RECOMPILE BIT(1)
struct recompiler;
struct regcache;
struct opcode;
-struct tinymm;
struct reaper;
+struct u16x2 {
+#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+ u16 h, l;
+#else
+ u16 l, h;
+#endif
+};
+
struct block {
jit_state_t *_jit;
struct opcode *opcode_list;
struct block *next;
u32 pc;
u32 hash;
+ u32 precompile_date;
unsigned int code_size;
u16 nb_ops;
u8 flags;
struct block *dispatcher, *c_wrapper_block;
void *c_wrappers[C_WRAPPERS_COUNT];
void *wrappers_eps[C_WRAPPERS_COUNT];
- struct tinymm *tinymm;
struct blockcache *block_cache;
struct recompiler *rec;
struct lightrec_cstate *cstate;
static inline void * lut_read(struct lightrec_state *state, u32 offset)
{
- void **lut_entry = lut_address(state, lut_offset(offset));
+ void **lut_entry = lut_address(state, offset);
if (lut_is_32bit(state))
return (void *)(uintptr_t) *(u32 *) lut_entry;