3 ** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
13 #include "lj_dispatch.h"
17 #define TREDEF(name, msg) LJ_TRERR_##name,
18 #include "lj_traceerr.h"
22 LJ_FUNC_NORET
void lj_trace_err(jit_State
*J
, TraceError e
);
23 LJ_FUNC_NORET
void lj_trace_err_info(jit_State
*J
, TraceError e
);
25 /* Trace management. */
26 LJ_FUNC
void LJ_FASTCALL
lj_trace_free(global_State
*g
, GCtrace
*T
);
27 LJ_FUNC
void lj_trace_reenableproto(GCproto
*pt
);
28 LJ_FUNC
void lj_trace_flushproto(global_State
*g
, GCproto
*pt
);
29 LJ_FUNC
void lj_trace_flush(jit_State
*J
, TraceNo traceno
);
30 LJ_FUNC
int lj_trace_flushall(lua_State
*L
);
31 LJ_FUNC
void lj_trace_initstate(global_State
*g
);
32 LJ_FUNC
void lj_trace_freestate(global_State
*g
);
35 LJ_FUNC
void lj_trace_ins(jit_State
*J
, const BCIns
*pc
);
36 LJ_FUNCA
void LJ_FASTCALL
lj_trace_hot(jit_State
*J
, const BCIns
*pc
);
37 LJ_FUNCA
int LJ_FASTCALL
lj_trace_exit(jit_State
*J
, void *exptr
);
39 /* Signal asynchronous abort of trace or end of trace. */
40 #define lj_trace_abort(g) (G2J(g)->state &= ~LJ_TRACE_ACTIVE)
41 #define lj_trace_end(J) (J->state = LJ_TRACE_END)
45 #define lj_trace_flushall(L) (UNUSED(L), 0)
46 #define lj_trace_initstate(g) UNUSED(g)
47 #define lj_trace_freestate(g) UNUSED(g)
48 #define lj_trace_abort(g) UNUSED(g)
49 #define lj_trace_end(J) UNUSED(J)