summaryrefslogtreecommitdiff
path: root/src/lj_dispatch.c
diff options
context:
space:
mode:
authorMike Pall <mike>2010-02-18 03:43:09 +0100
committerMike Pall <mike>2010-02-18 06:07:31 +0100
commit59f54be9d362514724b033d3f2959f215b05957f (patch)
tree62cc4cc8008ceed2f4b842c213fab384410de32f /src/lj_dispatch.c
parent2f300fb66a17e513669eb9cc3b4d85295a38a471 (diff)
downloadluajit-59f54be9d362514724b033d3f2959f215b05957f.tar.gz
luajit-59f54be9d362514724b033d3f2959f215b05957f.tar.bz2
luajit-59f54be9d362514724b033d3f2959f215b05957f.zip
Update trace recorder infrastructure for hot calls.
Diffstat (limited to 'src/lj_dispatch.c')
-rw-r--r--src/lj_dispatch.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lj_dispatch.c b/src/lj_dispatch.c
index 7b3ff80b..83bb4fd8 100644
--- a/src/lj_dispatch.c
+++ b/src/lj_dispatch.c
@@ -414,7 +414,8 @@ ASMFunction LJ_FASTCALL lj_dispatch_call(lua_State *L, const BCIns *pc)
414#if LJ_HASJIT 414#if LJ_HASJIT
415 J->L = L; 415 J->L = L;
416 if ((uintptr_t)pc & 1) { /* Marker for hot call. */ 416 if ((uintptr_t)pc & 1) { /* Marker for hot call. */
417 lj_trace_hot(J, (const BCIns *)((uintptr_t)pc & ~(uintptr_t)1)); 417 pc = (const BCIns *)((uintptr_t)pc & ~(uintptr_t)1);
418 lj_trace_hot(J, pc);
418 goto out; 419 goto out;
419 } else if (J->state != LJ_TRACE_IDLE && 420 } else if (J->state != LJ_TRACE_IDLE &&
420 !(g->hookmask & (HOOK_GC|HOOK_VMEVENT))) { 421 !(g->hookmask & (HOOK_GC|HOOK_VMEVENT))) {