diff options
author | Mike Pall <mike> | 2010-02-18 03:43:09 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2010-02-18 06:07:31 +0100 |
commit | 59f54be9d362514724b033d3f2959f215b05957f (patch) | |
tree | 62cc4cc8008ceed2f4b842c213fab384410de32f /src/lj_dispatch.c | |
parent | 2f300fb66a17e513669eb9cc3b4d85295a38a471 (diff) | |
download | luajit-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.c | 3 |
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))) { |