summaryrefslogtreecommitdiff
path: root/src/lj_trace.c
diff options
context:
space:
mode:
authorMike Pall <mike>2011-01-17 01:20:10 +0100
committerMike Pall <mike>2011-01-17 01:20:10 +0100
commit66ba1e68aab23fa09fcbe84b79d4992c92440b0c (patch)
tree6803a405c9a478edac3346cd8eb762b26a6dd314 /src/lj_trace.c
parentb2ff889c6e2bd637a906b7b81641faf5682f771e (diff)
downloadluajit2-66ba1e68aab23fa09fcbe84b79d4992c92440b0c.tar.gz
Add trace recorder infrastructure for instruction post-processing.
Diffstat (limited to 'src/lj_trace.c')
-rw-r--r--src/lj_trace.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/lj_trace.c b/src/lj_trace.c
index c508c02a..421278e1 100644
--- a/src/lj_trace.c
+++ b/src/lj_trace.c
@@ -388,6 +388,7 @@ static void trace_start(jit_State *J)
J->needsnap = 0;
J->bcskip = 0;
J->guardemit.irt = 0;
+ J->postproc = LJ_POST_NONE;
setgcref(J->cur.startpt, obj2gco(J->pt));
L = J->L;
@@ -454,6 +455,7 @@ static void trace_stop(jit_State *J)
/* Commit new mcode only after all patching is done. */
lj_mcode_commit(J, J->cur.mcode);
+ J->postproc = LJ_POST_NONE;
trace_save(J);
L = J->L;
@@ -485,6 +487,7 @@ static int trace_abort(jit_State *J)
TraceError e = LJ_TRERR_RECERR;
TraceNo traceno;
+ J->postproc = LJ_POST_NONE;
lj_mcode_abort(J);
if (tvisnum(L->top-1))
e = (TraceError)lj_num2int(numV(L->top-1));