diff options
Diffstat (limited to 'src/lj_trace.c')
-rw-r--r-- | src/lj_trace.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lj_trace.c b/src/lj_trace.c index c65ca9cd..33cc98f7 100644 --- a/src/lj_trace.c +++ b/src/lj_trace.c | |||
@@ -643,9 +643,10 @@ void lj_trace_ins(jit_State *J, const BCIns *pc) | |||
643 | /* A hotcount triggered. Start recording a root trace. */ | 643 | /* A hotcount triggered. Start recording a root trace. */ |
644 | void LJ_FASTCALL lj_trace_hot(jit_State *J, const BCIns *pc) | 644 | void LJ_FASTCALL lj_trace_hot(jit_State *J, const BCIns *pc) |
645 | { | 645 | { |
646 | ERRNO_SAVE | ||
647 | /* Note: pc is the interpreter bytecode PC here. It's offset by 1. */ | 646 | /* Note: pc is the interpreter bytecode PC here. It's offset by 1. */ |
648 | hotcount_set(J2GG(J), pc, J->param[JIT_P_hotloop]+1); /* Reset hotcount. */ | 647 | ERRNO_SAVE |
648 | /* Reset hotcount. */ | ||
649 | hotcount_set(J2GG(J), pc, J->param[JIT_P_hotloop]*HOTCOUNT_LOOP); | ||
649 | /* Only start a new trace if not recording or inside __gc call or vmevent. */ | 650 | /* Only start a new trace if not recording or inside __gc call or vmevent. */ |
650 | if (J->state == LJ_TRACE_IDLE && | 651 | if (J->state == LJ_TRACE_IDLE && |
651 | !(J2G(J)->hookmask & (HOOK_GC|HOOK_VMEVENT))) { | 652 | !(J2G(J)->hookmask & (HOOK_GC|HOOK_VMEVENT))) { |