36typedef enum JITStatus {
40 JIT_ERR_CODEGEN_FAILED,
41 JIT_ERR_COMPILE_FAILED,
42 JIT_ERR_LOOKUP_FAILED,
44 JIT_ERR_ALREADY_COMPILED
71typedef struct JITContext JITContext;
80typedef uint16_t (*JITShiftActionFn)(uint16_t iLookAhead);
93JITStatus jit_create(JITContext **ctx_out);
99void jit_destroy(JITContext *ctx);
114JITStatus jit_compile_snapshot(JITContext *ctx,
const ParserSnapshot *snap);
123JITShiftActionFn jit_get_shift_action(
const JITContext *ctx, uint32_t state_id);
142JITStatus jit_warmup(JITContext *ctx,
const uint32_t *hot_states, uint32_t n);
147JITStats jit_get_stats(
const JITContext *ctx);
153const char *jit_status_string(JITStatus status);
160bool jit_is_available(
void);
198 uint16_t iLookAhead);
216 uint16_t *state_inout);
JIT compilation statistics for a snapshot.
uint64_t code_size_bytes
Approximate generated code size in bytes.
bool available
True if JIT support is available at runtime.
uint64_t compile_time_ns
Wall-clock nanoseconds spent compiling.
uint32_t states_total
Total number of states in the snapshot.
uint32_t states_compiled
Number of states with JIT code attached.