diff options
author | Mike Pall <mike> | 2016-05-22 23:40:37 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2016-05-22 23:40:37 +0200 |
commit | 3152ed98ea3d99579940eb5e72da687ce66792de (patch) | |
tree | dcd8b8dec22f0d1d0a9ad3e30fcaefc4f288e3f2 /src/lj_trace.c | |
parent | a657fa01869e63508afce88cc8088c3d2e2fb47c (diff) | |
download | luajit-3152ed98ea3d99579940eb5e72da687ce66792de.tar.gz luajit-3152ed98ea3d99579940eb5e72da687ce66792de.tar.bz2 luajit-3152ed98ea3d99579940eb5e72da687ce66792de.zip |
Simplify GCtrace * reference embedding for trace stitching.
This is now possible due to the immovable IR.
Contributed by Peter Cawley.
Diffstat (limited to 'src/lj_trace.c')
-rw-r--r-- | src/lj_trace.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/src/lj_trace.c b/src/lj_trace.c index 19ddba41..eaf9365c 100644 --- a/src/lj_trace.c +++ b/src/lj_trace.c | |||
@@ -436,7 +436,7 @@ static void trace_start(jit_State *J) | |||
436 | J->postproc = LJ_POST_NONE; | 436 | J->postproc = LJ_POST_NONE; |
437 | lj_resetsplit(J); | 437 | lj_resetsplit(J); |
438 | J->retryrec = 0; | 438 | J->retryrec = 0; |
439 | J->ktracep = NULL; | 439 | J->ktrace = 0; |
440 | setgcref(J->cur.startpt, obj2gco(J->pt)); | 440 | setgcref(J->cur.startpt, obj2gco(J->pt)); |
441 | 441 | ||
442 | L = J->L; | 442 | L = J->L; |
@@ -512,9 +512,6 @@ static void trace_stop(jit_State *J) | |||
512 | lj_mcode_commit(J, J->cur.mcode); | 512 | lj_mcode_commit(J, J->cur.mcode); |
513 | J->postproc = LJ_POST_NONE; | 513 | J->postproc = LJ_POST_NONE; |
514 | trace_save(J, T); | 514 | trace_save(J, T); |
515 | if (J->ktracep) { /* Patch K64Array slot with the final GCtrace pointer. */ | ||
516 | setgcV(J->L, J->ktracep, obj2gco(T), LJ_TTRACE); | ||
517 | } | ||
518 | 515 | ||
519 | L = J->L; | 516 | L = J->L; |
520 | lj_vmevent_send(L, TRACE, | 517 | lj_vmevent_send(L, TRACE, |