These are bug fixes from the 2.1 branch in the official LuaJIT repository that never made it into a release since there have been none since 2.1.0-beta3.
29 lines
884 B
Diff
29 lines
884 B
Diff
From 0a9ff94c4a1fcec2c310dcb092da694f23186e23 Mon Sep 17 00:00:00 2001
|
|
From: Mike Pall <mike>
|
|
Date: Sun, 14 Oct 2018 15:21:37 +0200
|
|
Subject: [PATCH 52/72] Actually implement maxirconst trace limit.
|
|
|
|
Suggested by spacewander.
|
|
---
|
|
src/lj_record.c | 5 +++--
|
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/src/lj_record.c b/src/lj_record.c
|
|
index 1a2b1c5..7f37d6c 100644
|
|
--- a/src/lj_record.c
|
|
+++ b/src/lj_record.c
|
|
@@ -2470,8 +2470,9 @@ void lj_record_ins(jit_State *J)
|
|
#undef rbv
|
|
#undef rcv
|
|
|
|
- /* Limit the number of recorded IR instructions. */
|
|
- if (J->cur.nins > REF_FIRST+(IRRef)J->param[JIT_P_maxrecord])
|
|
+ /* Limit the number of recorded IR instructions and constants. */
|
|
+ if (J->cur.nins > REF_FIRST+(IRRef)J->param[JIT_P_maxrecord] ||
|
|
+ J->cur.nk < REF_BIAS-(IRRef)J->param[JIT_P_maxirconst])
|
|
lj_trace_err(J, LJ_TRERR_TRACEOV);
|
|
}
|
|
|
|
--
|
|
2.20.1
|
|
|