diff options
author | Mike Pall <mike> | 2011-01-17 01:20:10 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2011-01-17 01:20:10 +0100 |
commit | 66ba1e68aab23fa09fcbe84b79d4992c92440b0c (patch) | |
tree | 6803a405c9a478edac3346cd8eb762b26a6dd314 /src/lj_trace.c | |
parent | b2ff889c6e2bd637a906b7b81641faf5682f771e (diff) | |
download | luajit-66ba1e68aab23fa09fcbe84b79d4992c92440b0c.tar.gz luajit-66ba1e68aab23fa09fcbe84b79d4992c92440b0c.tar.bz2 luajit-66ba1e68aab23fa09fcbe84b79d4992c92440b0c.zip |
Add trace recorder infrastructure for instruction post-processing.
Diffstat (limited to 'src/lj_trace.c')
-rw-r--r-- | src/lj_trace.c | 3 |
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) | |||
388 | J->needsnap = 0; | 388 | J->needsnap = 0; |
389 | J->bcskip = 0; | 389 | J->bcskip = 0; |
390 | J->guardemit.irt = 0; | 390 | J->guardemit.irt = 0; |
391 | J->postproc = LJ_POST_NONE; | ||
391 | setgcref(J->cur.startpt, obj2gco(J->pt)); | 392 | setgcref(J->cur.startpt, obj2gco(J->pt)); |
392 | 393 | ||
393 | L = J->L; | 394 | L = J->L; |
@@ -454,6 +455,7 @@ static void trace_stop(jit_State *J) | |||
454 | 455 | ||
455 | /* Commit new mcode only after all patching is done. */ | 456 | /* Commit new mcode only after all patching is done. */ |
456 | lj_mcode_commit(J, J->cur.mcode); | 457 | lj_mcode_commit(J, J->cur.mcode); |
458 | J->postproc = LJ_POST_NONE; | ||
457 | trace_save(J); | 459 | trace_save(J); |
458 | 460 | ||
459 | L = J->L; | 461 | L = J->L; |
@@ -485,6 +487,7 @@ static int trace_abort(jit_State *J) | |||
485 | TraceError e = LJ_TRERR_RECERR; | 487 | TraceError e = LJ_TRERR_RECERR; |
486 | TraceNo traceno; | 488 | TraceNo traceno; |
487 | 489 | ||
490 | J->postproc = LJ_POST_NONE; | ||
488 | lj_mcode_abort(J); | 491 | lj_mcode_abort(J); |
489 | if (tvisnum(L->top-1)) | 492 | if (tvisnum(L->top-1)) |
490 | e = (TraceError)lj_num2int(numV(L->top-1)); | 493 | e = (TraceError)lj_num2int(numV(L->top-1)); |