* [Tarantool-patches] [PATCH luajit] Actually implement maxirconst trace limit. @ 2021-12-29 12:27 Sergey Kaplun via Tarantool-patches 2022-01-27 23:18 ` Igor Munkin via Tarantool-patches ` (2 more replies) 0 siblings, 3 replies; 11+ messages in thread From: Sergey Kaplun via Tarantool-patches @ 2021-12-29 12:27 UTC (permalink / raw) To: Sergey Ostanevich, Igor Munkin; +Cc: tarantool-patches From: Mike Pall <mike> Suggested by spacewander. (cherry picked from 9ff94c4a1fcec2c310dcb092da694f23186e23) `maxirconst` should restrict the amount of IR constants for 1 trace. Nevertheless, its value isn't checked anywhere. This patch adds the corresponding check after instruction recording. Sergey Kaplun: * added the description and the test for the problem Part of tarantool/tarantool#6548 --- Issue: https://github.com/LuaJIT/LuaJIT/issues/430 Branch: https://github.com/tarantool/luajit/tree/skaplun/lj-430-maxirconst-actually-implement-full-ci Tarantool branch: https://github.com/tarantool/tarantool/tree/skaplun/lj-430-maxirconst-actually-implement-full-ci src/lj_record.c | 5 ++- .../lj-430-maxirconst.test.lua | 43 +++++++++++++++++++ 2 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 test/tarantool-tests/lj-430-maxirconst.test.lua diff --git a/src/lj_record.c b/src/lj_record.c index 42af09e5..f839ade2 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); } diff --git a/test/tarantool-tests/lj-430-maxirconst.test.lua b/test/tarantool-tests/lj-430-maxirconst.test.lua new file mode 100644 index 00000000..1829b37d --- /dev/null +++ b/test/tarantool-tests/lj-430-maxirconst.test.lua @@ -0,0 +1,43 @@ +-- XXX: avoid any other traces compilation due to hotcount +-- collisions for predictible results. +jit.off() +jit.flush() + +-- Disabled on *BSD due to #4819. +require('utils').skipcond(jit.os == 'BSD', 'Disabled due to #4819') + +local tap = require('tap') + +local test = tap.test('lj-430-maxirconst') +test:plan(2) + +-- XXX: trace always has at least 3 IR constants: for nil, false +-- and true. +jit.opt.start('hotloop=1', 'maxirconst=3') + +-- This function has only 3 IR constant. +local function irconst3() +end + +-- This function has 4 IR constants before optimizations. +local function irconst4() + local _ = 42 +end + +local ntrace_old = misc.getmetrics().jit_trace_num +jit.on() +irconst3() +irconst3() +jit.off() +test:ok(ntrace_old + 1 == misc.getmetrics().jit_trace_num, + 'trace number increases') + +ntrace_old = misc.getmetrics().jit_trace_num +jit.on() +irconst4() +irconst4() +jit.off() +test:ok(ntrace_old == misc.getmetrics().jit_trace_num, + 'trace number is the same') + +os.exit(test:check() and 0 or 1) -- 2.34.1 ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Tarantool-patches] [PATCH luajit] Actually implement maxirconst trace limit. 2021-12-29 12:27 [Tarantool-patches] [PATCH luajit] Actually implement maxirconst trace limit Sergey Kaplun via Tarantool-patches @ 2022-01-27 23:18 ` Igor Munkin via Tarantool-patches 2022-01-28 8:42 ` Sergey Kaplun via Tarantool-patches 2022-01-28 21:45 ` Igor Munkin via Tarantool-patches 2022-02-11 19:09 ` Igor Munkin via Tarantool-patches 2 siblings, 1 reply; 11+ messages in thread From: Igor Munkin via Tarantool-patches @ 2022-01-27 23:18 UTC (permalink / raw) To: Sergey Kaplun; +Cc: tarantool-patches Sergey, Thanks for the patch! LGTM, except a couple of nits. On 29.12.21, Sergey Kaplun wrote: > From: Mike Pall <mike> > > Suggested by spacewander. > > (cherry picked from 9ff94c4a1fcec2c310dcb092da694f23186e23) Typo: s/9ff94c4a1fcec2c310dcb092da694f23186e23/0a9ff94c4a1fcec2c310dcb092da694f23186e23/. > > `maxirconst` should restrict the amount of IR constants for 1 trace. Typo: It's better s/for 1/per/, but feel free to ignore. > Nevertheless, its value isn't checked anywhere. Lol, classic. > > This patch adds the corresponding check after instruction recording. > > Sergey Kaplun: > * added the description and the test for the problem > > Part of tarantool/tarantool#6548 > --- > > Issue: https://github.com/LuaJIT/LuaJIT/issues/430 > Branch: https://github.com/tarantool/luajit/tree/skaplun/lj-430-maxirconst-actually-implement-full-ci > Tarantool branch: https://github.com/tarantool/tarantool/tree/skaplun/lj-430-maxirconst-actually-implement-full-ci > > src/lj_record.c | 5 ++- > .../lj-430-maxirconst.test.lua | 43 +++++++++++++++++++ > 2 files changed, 46 insertions(+), 2 deletions(-) > create mode 100644 test/tarantool-tests/lj-430-maxirconst.test.lua > <snipped> > diff --git a/test/tarantool-tests/lj-430-maxirconst.test.lua b/test/tarantool-tests/lj-430-maxirconst.test.lua > new file mode 100644 > index 00000000..1829b37d > --- /dev/null > +++ b/test/tarantool-tests/lj-430-maxirconst.test.lua > @@ -0,0 +1,43 @@ > +-- XXX: avoid any other traces compilation due to hotcount > +-- collisions for predictible results. Typo: s/predictible/predictable/. > +jit.off() > +jit.flush() Minor: I'd rather move this part closer to 'jit.opt.start' to save the test structure closer to the other test chunks. Feel free to ignore. > + > +-- Disabled on *BSD due to #4819. > +require('utils').skipcond(jit.os == 'BSD', 'Disabled due to #4819') > + > +local tap = require('tap') > + > +local test = tap.test('lj-430-maxirconst') > +test:plan(2) > + > +-- XXX: trace always has at least 3 IR constants: for nil, false > +-- and true. > +jit.opt.start('hotloop=1', 'maxirconst=3') > + > +-- This function has only 3 IR constant. > +local function irconst3() > +end > + > +-- This function has 4 IR constants before optimizations. > +local function irconst4() > + local _ = 42 > +end > + > +local ntrace_old = misc.getmetrics().jit_trace_num > +jit.on() > +irconst3() > +irconst3() > +jit.off() > +test:ok(ntrace_old + 1 == misc.getmetrics().jit_trace_num, > + 'trace number increases') Typo: I doubt we use tabs in Lua sources, but I might be wrong... > + > +ntrace_old = misc.getmetrics().jit_trace_num > +jit.on() > +irconst4() > +irconst4() > +jit.off() > +test:ok(ntrace_old == misc.getmetrics().jit_trace_num, > + 'trace number is the same') Ditto. > + > +os.exit(test:check() and 0 or 1) > -- > 2.34.1 > -- Best regards, IM ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Tarantool-patches] [PATCH luajit] Actually implement maxirconst trace limit. 2022-01-27 23:18 ` Igor Munkin via Tarantool-patches @ 2022-01-28 8:42 ` Sergey Kaplun via Tarantool-patches 2022-01-28 11:55 ` Igor Munkin via Tarantool-patches 0 siblings, 1 reply; 11+ messages in thread From: Sergey Kaplun via Tarantool-patches @ 2022-01-28 8:42 UTC (permalink / raw) To: Igor Munkin; +Cc: tarantool-patches Igor, Thanks for the review! On 28.01.22, Igor Munkin wrote: > Sergey, > > Thanks for the patch! LGTM, except a couple of nits. > > On 29.12.21, Sergey Kaplun wrote: > > From: Mike Pall <mike> > > > > Suggested by spacewander. > > > > (cherry picked from 9ff94c4a1fcec2c310dcb092da694f23186e23) > > Typo: s/9ff94c4a1fcec2c310dcb092da694f23186e23/0a9ff94c4a1fcec2c310dcb092da694f23186e23/. Ouch! Fixed. > > > > > `maxirconst` should restrict the amount of IR constants for 1 trace. > > Typo: It's better s/for 1/per/, but feel free to ignore. Fixed. The new commit message is the following: =================================================================== Actually implement maxirconst trace limit. Suggested by spacewander. (cherry picked from 0a9ff94c4a1fcec2c310dcb092da694f23186e23) `maxirconst` should restrict the amount of IR constants per trace. Nevertheless, its value isn't checked anywhere. This patch adds the corresponding check after instruction recording. Sergey Kaplun: * added the description and the test for the problem Part of tarantool/tarantool#6548 =================================================================== > > > Nevertheless, its value isn't checked anywhere. > > Lol, classic. > > > > > This patch adds the corresponding check after instruction recording. > > > > Sergey Kaplun: > > * added the description and the test for the problem > > > > Part of tarantool/tarantool#6548 > > --- > > > > Issue: https://github.com/LuaJIT/LuaJIT/issues/430 > > Branch: https://github.com/tarantool/luajit/tree/skaplun/lj-430-maxirconst-actually-implement-full-ci > > Tarantool branch: https://github.com/tarantool/tarantool/tree/skaplun/lj-430-maxirconst-actually-implement-full-ci > > > > src/lj_record.c | 5 ++- > > .../lj-430-maxirconst.test.lua | 43 +++++++++++++++++++ > > 2 files changed, 46 insertions(+), 2 deletions(-) > > create mode 100644 test/tarantool-tests/lj-430-maxirconst.test.lua > > > > <snipped> > > > diff --git a/test/tarantool-tests/lj-430-maxirconst.test.lua b/test/tarantool-tests/lj-430-maxirconst.test.lua > > new file mode 100644 > > index 00000000..1829b37d > > --- /dev/null > > +++ b/test/tarantool-tests/lj-430-maxirconst.test.lua > > @@ -0,0 +1,43 @@ > > +-- XXX: avoid any other traces compilation due to hotcount > > +-- collisions for predictible results. > > Typo: s/predictible/predictable/. Fixed. Branch is force-pushed. =================================================================== diff --git a/test/tarantool-tests/lj-430-maxirconst.test.lua b/test/tarantool-tests/lj-430-maxirconst.test.lua index 1829b37d..df17637f 100644 --- a/test/tarantool-tests/lj-430-maxirconst.test.lua +++ b/test/tarantool-tests/lj-430-maxirconst.test.lua @@ -1,5 +1,5 @@ -- XXX: avoid any other traces compilation due to hotcount --- collisions for predictible results. +-- collisions for predictable results. jit.off() jit.flush() =================================================================== > > > +jit.off() > > +jit.flush() > > Minor: I'd rather move this part closer to 'jit.opt.start' to save the > test structure closer to the other test chunks. Feel free to ignore. I really want to exclude __any__ JIT work here to avoid false-positive hotcount (was precendents during writing this test :)). Ignoring. > > > + > > +-- Disabled on *BSD due to #4819. > > +require('utils').skipcond(jit.os == 'BSD', 'Disabled due to #4819') > > + > > +local tap = require('tap') > > + > > +local test = tap.test('lj-430-maxirconst') > > +test:plan(2) > > + > > +-- XXX: trace always has at least 3 IR constants: for nil, false > > +-- and true. > > +jit.opt.start('hotloop=1', 'maxirconst=3') > > + > > +-- This function has only 3 IR constant. > > +local function irconst3() > > +end > > + > > +-- This function has 4 IR constants before optimizations. > > +local function irconst4() > > + local _ = 42 > > +end > > + > > +local ntrace_old = misc.getmetrics().jit_trace_num > > +jit.on() > > +irconst3() > > +irconst3() > > +jit.off() > > +test:ok(ntrace_old + 1 == misc.getmetrics().jit_trace_num, > > + 'trace number increases') > > Typo: I doubt we use tabs in Lua sources, but I might be wrong... I suggest to use quarter tabs indent style as we use for C code and Mike use in src/jit/*.lua (see bcsave.lua for example). There was no precedent before, IINM :). > > > + > > +ntrace_old = misc.getmetrics().jit_trace_num > > +jit.on() > > +irconst4() > > +irconst4() > > +jit.off() > > +test:ok(ntrace_old == misc.getmetrics().jit_trace_num, > > + 'trace number is the same') > > Ditto. > > > + > > +os.exit(test:check() and 0 or 1) > > -- > > 2.34.1 > > > > -- > Best regards, > IM -- Best regards, Sergey Kaplun ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Tarantool-patches] [PATCH luajit] Actually implement maxirconst trace limit. 2022-01-28 8:42 ` Sergey Kaplun via Tarantool-patches @ 2022-01-28 11:55 ` Igor Munkin via Tarantool-patches 2022-01-28 12:35 ` Sergey Kaplun via Tarantool-patches 0 siblings, 1 reply; 11+ messages in thread From: Igor Munkin via Tarantool-patches @ 2022-01-28 11:55 UTC (permalink / raw) To: Sergey Kaplun; +Cc: tarantool-patches Sergey, On 28.01.22, Sergey Kaplun wrote: > Igor, > > Thanks for the review! > <snipped> > > > > > > Issue: https://github.com/LuaJIT/LuaJIT/issues/430 > > > Branch: https://github.com/tarantool/luajit/tree/skaplun/lj-430-maxirconst-actually-implement-full-ci > > > Tarantool branch: https://github.com/tarantool/tarantool/tree/skaplun/lj-430-maxirconst-actually-implement-full-ci > > > > > > src/lj_record.c | 5 ++- > > > .../lj-430-maxirconst.test.lua | 43 +++++++++++++++++++ > > > 2 files changed, 46 insertions(+), 2 deletions(-) > > > create mode 100644 test/tarantool-tests/lj-430-maxirconst.test.lua > > > > > > > <snipped> > > > > > diff --git a/test/tarantool-tests/lj-430-maxirconst.test.lua b/test/tarantool-tests/lj-430-maxirconst.test.lua > > > new file mode 100644 > > > index 00000000..1829b37d > > > --- /dev/null > > > +++ b/test/tarantool-tests/lj-430-maxirconst.test.lua > > > @@ -0,0 +1,43 @@ > > > +-- XXX: avoid any other traces compilation due to hotcount > > > +-- collisions for predictible results. <snipped> > > > +jit.off() > > > +jit.flush() > > > > Minor: I'd rather move this part closer to 'jit.opt.start' to save the > > test structure closer to the other test chunks. Feel free to ignore. > > I really want to exclude __any__ JIT work here to avoid false-positive > hotcount (was precendents during writing this test :)). Ignoring. OK, got it. > <snipped> > > > +test:ok(ntrace_old + 1 == misc.getmetrics().jit_trace_num, > > > + 'trace number increases') > > > > Typo: I doubt we use tabs in Lua sources, but I might be wrong... > > I suggest to use quarter tabs indent style as we use for C code and Mike > use in src/jit/*.lua (see bcsave.lua for example). > > There was no precedent before, IINM :). See test/tarantool-tests/lj-695-ffi-vararg-call.test.lua[1]. > > > > > > + > > > +ntrace_old = misc.getmetrics().jit_trace_num > > > +jit.on() > > > +irconst4() > > > +irconst4() > > > +jit.off() > > > +test:ok(ntrace_old == misc.getmetrics().jit_trace_num, > > > + 'trace number is the same') > > > > Ditto. > > > > > + > > > +os.exit(test:check() and 0 or 1) > > > -- > > > 2.34.1 > > > > > > > -- > > Best regards, > > IM > > -- > Best regards, > Sergey Kaplun [1]: https://github.com/tarantool/luajit/blob/tarantool/test/tarantool-tests/lj-695-ffi-vararg-call.test.lua -- Best regards, IM ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Tarantool-patches] [PATCH luajit] Actually implement maxirconst trace limit. 2022-01-28 11:55 ` Igor Munkin via Tarantool-patches @ 2022-01-28 12:35 ` Sergey Kaplun via Tarantool-patches 2022-01-28 14:16 ` sergos via Tarantool-patches 0 siblings, 1 reply; 11+ messages in thread From: Sergey Kaplun via Tarantool-patches @ 2022-01-28 12:35 UTC (permalink / raw) To: Igor Munkin; +Cc: tarantool-patches Igor, On 28.01.22, Igor Munkin wrote: > Sergey, > > On 28.01.22, Sergey Kaplun wrote: > > Igor, > > > > Thanks for the review! > > > > <snipped> > > > > > > > > > Issue: https://github.com/LuaJIT/LuaJIT/issues/430 > > > > Branch: https://github.com/tarantool/luajit/tree/skaplun/lj-430-maxirconst-actually-implement-full-ci > > > > Tarantool branch: https://github.com/tarantool/tarantool/tree/skaplun/lj-430-maxirconst-actually-implement-full-ci > > > > > > > > src/lj_record.c | 5 ++- > > > > .../lj-430-maxirconst.test.lua | 43 +++++++++++++++++++ > > > > 2 files changed, 46 insertions(+), 2 deletions(-) > > > > create mode 100644 test/tarantool-tests/lj-430-maxirconst.test.lua > > > > > > > > > > <snipped> > > > > > > > diff --git a/test/tarantool-tests/lj-430-maxirconst.test.lua b/test/tarantool-tests/lj-430-maxirconst.test.lua > > > > new file mode 100644 > > > > index 00000000..1829b37d > > > > --- /dev/null > > > > +++ b/test/tarantool-tests/lj-430-maxirconst.test.lua > > > > @@ -0,0 +1,43 @@ > > > > +-- XXX: avoid any other traces compilation due to hotcount > > > > +-- collisions for predictible results. > > <snipped> > > > > > +jit.off() > > > > +jit.flush() > > > > > > Minor: I'd rather move this part closer to 'jit.opt.start' to save the > > > test structure closer to the other test chunks. Feel free to ignore. > > > > I really want to exclude __any__ JIT work here to avoid false-positive > > hotcount (was precendents during writing this test :)). Ignoring. > > OK, got it. > > > > > <snipped> > > > > > +test:ok(ntrace_old + 1 == misc.getmetrics().jit_trace_num, > > > > + 'trace number increases') > > > > > > Typo: I doubt we use tabs in Lua sources, but I might be wrong... > > > > I suggest to use quarter tabs indent style as we use for C code and Mike > > use in src/jit/*.lua (see bcsave.lua for example). > > > > There was no precedent before, IINM :). > > See test/tarantool-tests/lj-695-ffi-vararg-call.test.lua[1]. Fixed, repushed. > > > > > > > > > > + > > > > +ntrace_old = misc.getmetrics().jit_trace_num > > > > +jit.on() > > > > +irconst4() > > > > +irconst4() > > > > +jit.off() > > > > +test:ok(ntrace_old == misc.getmetrics().jit_trace_num, > > > > + 'trace number is the same') > > > > > > Ditto. > > > > > > > + > > > > +os.exit(test:check() and 0 or 1) > > > > -- > > > > 2.34.1 > > > > > > > > > > -- > > > Best regards, > > > IM > > > > -- > > Best regards, > > Sergey Kaplun > > [1]: https://github.com/tarantool/luajit/blob/tarantool/test/tarantool-tests/lj-695-ffi-vararg-call.test.lua > > -- > Best regards, > IM -- Best regards, Sergey Kaplun ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Tarantool-patches] [PATCH luajit] Actually implement maxirconst trace limit. 2022-01-28 12:35 ` Sergey Kaplun via Tarantool-patches @ 2022-01-28 14:16 ` sergos via Tarantool-patches 2022-01-28 15:09 ` Sergey Kaplun via Tarantool-patches 0 siblings, 1 reply; 11+ messages in thread From: sergos via Tarantool-patches @ 2022-01-28 14:16 UTC (permalink / raw) To: Sergey Kaplun; +Cc: tarantool-patches [-- Attachment #1: Type: text/plain, Size: 3182 bytes --] Hi! I reviewed the one at https://github.com/tarantool/luajit/commit/2cdd5ac0367629d2f37489dd842d9a6b068cf12c <https://github.com/tarantool/luajit/commit/2cdd5ac0367629d2f37489dd842d9a6b068cf12c> Overall is LGTM, I would like to update the 2nd test message to something like ’trace should not appear due to maxirconst limit’ Sergos > On 28 Jan 2022, at 15:35, Sergey Kaplun <skaplun@tarantool.org> wrote: > > Igor, > > On 28.01.22, Igor Munkin wrote: >> Sergey, >> >> On 28.01.22, Sergey Kaplun wrote: >>> Igor, >>> >>> Thanks for the review! >>> >> >> <snipped> >> >>>>> >>>>> Issue: https://github.com/LuaJIT/LuaJIT/issues/430 >>>>> Branch: https://github.com/tarantool/luajit/tree/skaplun/lj-430-maxirconst-actually-implement-full-ci >>>>> Tarantool branch: https://github.com/tarantool/tarantool/tree/skaplun/lj-430-maxirconst-actually-implement-full-ci >>>>> >>>>> src/lj_record.c | 5 ++- >>>>> .../lj-430-maxirconst.test.lua | 43 +++++++++++++++++++ >>>>> 2 files changed, 46 insertions(+), 2 deletions(-) >>>>> create mode 100644 test/tarantool-tests/lj-430-maxirconst.test.lua >>>>> >>>> >>>> <snipped> >>>> >>>>> diff --git a/test/tarantool-tests/lj-430-maxirconst.test.lua b/test/tarantool-tests/lj-430-maxirconst.test.lua >>>>> new file mode 100644 >>>>> index 00000000..1829b37d >>>>> --- /dev/null >>>>> +++ b/test/tarantool-tests/lj-430-maxirconst.test.lua >>>>> @@ -0,0 +1,43 @@ >>>>> +-- XXX: avoid any other traces compilation due to hotcount >>>>> +-- collisions for predictible results. >> >> <snipped> >> >>>>> +jit.off() >>>>> +jit.flush() >>>> >>>> Minor: I'd rather move this part closer to 'jit.opt.start' to save the >>>> test structure closer to the other test chunks. Feel free to ignore. >>> >>> I really want to exclude __any__ JIT work here to avoid false-positive >>> hotcount (was precendents during writing this test :)). Ignoring. >> >> OK, got it. >> >>> >> >> <snipped> >> >>>>> +test:ok(ntrace_old + 1 == misc.getmetrics().jit_trace_num, >>>>> + 'trace number increases') >>>> >>>> Typo: I doubt we use tabs in Lua sources, but I might be wrong... >>> >>> I suggest to use quarter tabs indent style as we use for C code and Mike >>> use in src/jit/*.lua (see bcsave.lua for example). >>> >>> There was no precedent before, IINM :). >> >> See test/tarantool-tests/lj-695-ffi-vararg-call.test.lua[1]. > > Fixed, repushed. > >> >>> >>>> >>>>> + >>>>> +ntrace_old = misc.getmetrics().jit_trace_num >>>>> +jit.on() >>>>> +irconst4() >>>>> +irconst4() >>>>> +jit.off() >>>>> +test:ok(ntrace_old == misc.getmetrics().jit_trace_num, >>>>> + 'trace number is the same') >>>> >>>> Ditto. >>>> >>>>> + >>>>> +os.exit(test:check() and 0 or 1) >>>>> -- >>>>> 2.34.1 >>>>> >>>> >>>> -- >>>> Best regards, >>>> IM >>> >>> -- >>> Best regards, >>> Sergey Kaplun >> >> [1]: https://github.com/tarantool/luajit/blob/tarantool/test/tarantool-tests/lj-695-ffi-vararg-call.test.lua >> >> -- >> Best regards, >> IM > > -- > Best regards, > Sergey Kaplun [-- Attachment #2: Type: text/html, Size: 12356 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Tarantool-patches] [PATCH luajit] Actually implement maxirconst trace limit. 2022-01-28 14:16 ` sergos via Tarantool-patches @ 2022-01-28 15:09 ` Sergey Kaplun via Tarantool-patches 2022-01-28 21:28 ` Sergey Ostanevich via Tarantool-patches 0 siblings, 1 reply; 11+ messages in thread From: Sergey Kaplun via Tarantool-patches @ 2022-01-28 15:09 UTC (permalink / raw) To: sergos; +Cc: tarantool-patches Hi, Sergos! Thanks for the review! On 28.01.22, sergos wrote: > Hi! > > I reviewed the one at https://github.com/tarantool/luajit/commit/2cdd5ac0367629d2f37489dd842d9a6b068cf12c <https://github.com/tarantool/luajit/commit/2cdd5ac0367629d2f37489dd842d9a6b068cf12c> > > Overall is LGTM, I would like to update the 2nd test message to something like > ’trace should not appear due to maxirconst limit’ Fixed, see the iterative patch below. Branch is force-pushed. =================================================================== diff --git a/test/tarantool-tests/lj-430-maxirconst.test.lua b/test/tarantool-tests/lj-430-maxirconst.test.lua index 79553ecb..10de2520 100644 --- a/test/tarantool-tests/lj-430-maxirconst.test.lua +++ b/test/tarantool-tests/lj-430-maxirconst.test.lua @@ -38,6 +38,6 @@ irconst4() irconst4() jit.off() test:ok(ntrace_old == misc.getmetrics().jit_trace_num, - 'trace number is the same') + 'trace should not appear due to maxirconst limit') os.exit(test:check() and 0 or 1) =================================================================== > > Sergos > > > On 28 Jan 2022, at 15:35, Sergey Kaplun <skaplun@tarantool.org> wrote: > > > > Igor, > > > > On 28.01.22, Igor Munkin wrote: > >> Sergey, > >> > >> On 28.01.22, Sergey Kaplun wrote: > >>> Igor, > >>> > >>> Thanks for the review! > >>> > >> > >> <snipped> > >> > >>>>> > >>>>> Issue: https://github.com/LuaJIT/LuaJIT/issues/430 > >>>>> Branch: https://github.com/tarantool/luajit/tree/skaplun/lj-430-maxirconst-actually-implement-full-ci > >>>>> Tarantool branch: https://github.com/tarantool/tarantool/tree/skaplun/lj-430-maxirconst-actually-implement-full-ci > >>>>> > >>>>> src/lj_record.c | 5 ++- > >>>>> .../lj-430-maxirconst.test.lua | 43 +++++++++++++++++++ > >>>>> 2 files changed, 46 insertions(+), 2 deletions(-) > >>>>> create mode 100644 test/tarantool-tests/lj-430-maxirconst.test.lua > >>>>> > >>>> > >>>> <snipped> > >>>> > >>>>> diff --git a/test/tarantool-tests/lj-430-maxirconst.test.lua b/test/tarantool-tests/lj-430-maxirconst.test.lua > >>>>> new file mode 100644 > >>>>> index 00000000..1829b37d > >>>>> --- /dev/null > >>>>> +++ b/test/tarantool-tests/lj-430-maxirconst.test.lua > >>>>> @@ -0,0 +1,43 @@ > >>>>> +-- XXX: avoid any other traces compilation due to hotcount > >>>>> +-- collisions for predictible results. > >> > >> <snipped> > >> > >>>>> +jit.off() > >>>>> +jit.flush() > >>>> > >>>> Minor: I'd rather move this part closer to 'jit.opt.start' to save the > >>>> test structure closer to the other test chunks. Feel free to ignore. > >>> > >>> I really want to exclude __any__ JIT work here to avoid false-positive > >>> hotcount (was precendents during writing this test :)). Ignoring. > >> > >> OK, got it. > >> > >>> > >> > >> <snipped> > >> > >>>>> +test:ok(ntrace_old + 1 == misc.getmetrics().jit_trace_num, > >>>>> + 'trace number increases') > >>>> > >>>> Typo: I doubt we use tabs in Lua sources, but I might be wrong... > >>> > >>> I suggest to use quarter tabs indent style as we use for C code and Mike > >>> use in src/jit/*.lua (see bcsave.lua for example). > >>> > >>> There was no precedent before, IINM :). > >> > >> See test/tarantool-tests/lj-695-ffi-vararg-call.test.lua[1]. > > > > Fixed, repushed. > > > >> > >>> > >>>> > >>>>> + > >>>>> +ntrace_old = misc.getmetrics().jit_trace_num > >>>>> +jit.on() > >>>>> +irconst4() > >>>>> +irconst4() > >>>>> +jit.off() > >>>>> +test:ok(ntrace_old == misc.getmetrics().jit_trace_num, > >>>>> + 'trace number is the same') > >>>> > >>>> Ditto. > >>>> > >>>>> + > >>>>> +os.exit(test:check() and 0 or 1) > >>>>> -- > >>>>> 2.34.1 > >>>>> > >>>> > >>>> -- > >>>> Best regards, > >>>> IM > >>> > >>> -- > >>> Best regards, > >>> Sergey Kaplun > >> > >> [1]: https://github.com/tarantool/luajit/blob/tarantool/test/tarantool-tests/lj-695-ffi-vararg-call.test.lua > >> > >> -- > >> Best regards, > >> IM > > > > -- > > Best regards, > > Sergey Kaplun > -- Best regards, Sergey Kaplun ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Tarantool-patches] [PATCH luajit] Actually implement maxirconst trace limit. 2022-01-28 15:09 ` Sergey Kaplun via Tarantool-patches @ 2022-01-28 21:28 ` Sergey Ostanevich via Tarantool-patches 0 siblings, 0 replies; 11+ messages in thread From: Sergey Ostanevich via Tarantool-patches @ 2022-01-28 21:28 UTC (permalink / raw) To: Sergey Kaplun; +Cc: tarantool-patches [-- Attachment #1: Type: text/plain, Size: 4383 bytes --] Just to avoid misreading : LGTM Best regards, Sergos Friday, 28 January 2022, 18:11 +0300 from Kaplun Sergey <skaplun@tarantool.org>: >Hi, Sergos! > >Thanks for the review! > >On 28.01.22, sergos wrote: >> Hi! >> >> I reviewed the one at https://github.com/tarantool/luajit/commit/2cdd5ac0367629d2f37489dd842d9a6b068cf12c < https://github.com/tarantool/luajit/commit/2cdd5ac0367629d2f37489dd842d9a6b068cf12c > >> >> Overall is LGTM, I would like to update the 2nd test message to something like >> ’trace should not appear due to maxirconst limit’ > >Fixed, see the iterative patch below. >Branch is force-pushed. > >=================================================================== >diff --git a/test/tarantool-tests/lj-430-maxirconst.test.lua b/test/tarantool-tests/lj-430-maxirconst.test.lua >index 79553ecb..10de2520 100644 >--- a/test/tarantool-tests/lj-430-maxirconst.test.lua >+++ b/test/tarantool-tests/lj-430-maxirconst.test.lua >@@ -38,6 +38,6 @@ irconst4() > irconst4() > jit.off() > test:ok(ntrace_old == misc.getmetrics().jit_trace_num, >- 'trace number is the same') >+ 'trace should not appear due to maxirconst limit') > > os.exit(test:check() and 0 or 1) >=================================================================== > >> >> Sergos >> >> > On 28 Jan 2022, at 15:35, Sergey Kaplun < skaplun@tarantool.org > wrote: >> > >> > Igor, >> > >> > On 28.01.22, Igor Munkin wrote: >> >> Sergey, >> >> >> >> On 28.01.22, Sergey Kaplun wrote: >> >>> Igor, >> >>> >> >>> Thanks for the review! >> >>> >> >> >> >> <snipped> >> >> >> >>>>> >> >>>>> Issue: https://github.com/LuaJIT/LuaJIT/issues/430 >> >>>>> Branch: https://github.com/tarantool/luajit/tree/skaplun/lj-430-maxirconst-actually-implement-full-ci >> >>>>> Tarantool branch: https://github.com/tarantool/tarantool/tree/skaplun/lj-430-maxirconst-actually-implement-full-ci >> >>>>> >> >>>>> src/lj_record.c | 5 ++- >> >>>>> .../lj-430-maxirconst.test.lua | 43 +++++++++++++++++++ >> >>>>> 2 files changed, 46 insertions(+), 2 deletions(-) >> >>>>> create mode 100644 test/tarantool-tests/lj-430-maxirconst.test.lua >> >>>>> >> >>>> >> >>>> <snipped> >> >>>> >> >>>>> diff --git a/test/tarantool-tests/lj-430-maxirconst.test.lua b/test/tarantool-tests/lj-430-maxirconst.test.lua >> >>>>> new file mode 100644 >> >>>>> index 00000000..1829b37d >> >>>>> --- /dev/null >> >>>>> +++ b/test/tarantool-tests/lj-430-maxirconst.test.lua >> >>>>> @@ -0,0 +1,43 @@ >> >>>>> +-- XXX: avoid any other traces compilation due to hotcount >> >>>>> +-- collisions for predictible results. >> >> >> >> <snipped> >> >> >> >>>>> +jit.off() >> >>>>> +jit.flush() >> >>>> >> >>>> Minor: I'd rather move this part closer to 'jit.opt.start' to save the >> >>>> test structure closer to the other test chunks. Feel free to ignore. >> >>> >> >>> I really want to exclude __any__ JIT work here to avoid false-positive >> >>> hotcount (was precendents during writing this test :)). Ignoring. >> >> >> >> OK, got it. >> >> >> >>> >> >> >> >> <snipped> >> >> >> >>>>> +test:ok(ntrace_old + 1 == misc.getmetrics().jit_trace_num, >> >>>>> + 'trace number increases') >> >>>> >> >>>> Typo: I doubt we use tabs in Lua sources, but I might be wrong... >> >>> >> >>> I suggest to use quarter tabs indent style as we use for C code and Mike >> >>> use in src/jit/*.lua (see bcsave.lua for example). >> >>> >> >>> There was no precedent before, IINM :). >> >> >> >> See test/tarantool-tests/lj-695-ffi-vararg-call.test.lua[1]. >> > >> > Fixed, repushed. >> > >> >> >> >>> >> >>>> >> >>>>> + >> >>>>> +ntrace_old = misc.getmetrics().jit_trace_num >> >>>>> +jit.on() >> >>>>> +irconst4() >> >>>>> +irconst4() >> >>>>> +jit.off() >> >>>>> +test:ok(ntrace_old == misc.getmetrics().jit_trace_num, >> >>>>> + 'trace number is the same') >> >>>> >> >>>> Ditto. >> >>>> >> >>>>> + >> >>>>> +os.exit(test:check() and 0 or 1) >> >>>>> -- >> >>>>> 2.34.1 >> >>>>> >> >>>> >> >>>> -- >> >>>> Best regards, >> >>>> IM >> >>> >> >>> -- >> >>> Best regards, >> >>> Sergey Kaplun >> >> >> >> [1]: https://github.com/tarantool/luajit/blob/tarantool/test/tarantool-tests/lj-695-ffi-vararg-call.test.lua >> >> >> >> -- >> >> Best regards, >> >> IM >> > >> > -- >> > Best regards, >> > Sergey Kaplun >> > >-- >Best regards, >Sergey Kaplun [-- Attachment #2: Type: text/html, Size: 9324 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Tarantool-patches] [PATCH luajit] Actually implement maxirconst trace limit. 2021-12-29 12:27 [Tarantool-patches] [PATCH luajit] Actually implement maxirconst trace limit Sergey Kaplun via Tarantool-patches 2022-01-27 23:18 ` Igor Munkin via Tarantool-patches @ 2022-01-28 21:45 ` Igor Munkin via Tarantool-patches 2022-01-29 1:17 ` Sergey Kaplun via Tarantool-patches 2022-02-11 19:09 ` Igor Munkin via Tarantool-patches 2 siblings, 1 reply; 11+ messages in thread From: Igor Munkin via Tarantool-patches @ 2022-01-28 21:45 UTC (permalink / raw) To: Sergey Kaplun; +Cc: tarantool-patches Sergey, Bad things happen... I was much concerned about using <misc> module in the test, but I failed to understand why exactly. Now I finally got it (the hard way): <misc> is missing in 1.10 which is one of the target branches for this patch. Could you please adjust the test using <jit.util.traceinfo> helper or via any other way to check that only the first trace is compiled? P.S. many thanks to luacheck: | $ make -j test | Consolidate compiler generated dependencies of target minilua | Consolidate compiler generated dependencies of target libmixcframe | Consolidate compiler generated dependencies of target libsandwich | Consolidate compiler generated dependencies of target lib1 | Consolidate compiler generated dependencies of target lib2 | Consolidate compiler generated dependencies of target lib21 | Consolidate compiler generated dependencies of target lib11 | Consolidate compiler generated dependencies of target libflush | [ 3%] Built target libsandwich | [ 3%] Built target libmixcframe | Running luacheck static analysis | [ 8%] Built target lib1 | [ 11%] Built target lib21 | [ 6%] Built target minilua | [ 6%] Built target lib2 | [ 13%] Built target lib11 | [ 15%] Built target libflush | [ 16%] Generating buildvm_arch.h | Create directory for PUC-Rio Lua 5.1 tests | [ 16%] Built target PUC-Rio-Lua-5.1-tests-prepare | Checking /home/imun/projects/tarantool-luajit-maintain/test/luajit-test-init.lua OK | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/gh-3196-incorrect-string-length.test.lua OK | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/gh-4427-ffi-sandwich.test.lua OK | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/gh-4476-fix-string-find-recording.test.lua OK | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/gh-4773-tonumber-fail-on-NUL-char.test.lua OK | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/gh-6227-bytecode-allocator-for-comparisons.test.lua OK | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/gh-6371-string-char-no-arg.test.lua OK | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/lj-375-ir-bufput-signed-char.test.lua OK | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/lj-430-maxirconst.test.lua 4 warnings | | /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/lj-430-maxirconst.test.lua:27:20: (W113) accessing undefined variable misc | /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/lj-430-maxirconst.test.lua:32:27: (W113) accessing undefined variable misc | /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/lj-430-maxirconst.test.lua:35:14: (W113) accessing undefined variable misc | /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/lj-430-maxirconst.test.lua:40:23: (W113) accessing undefined variable misc | | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/lj-494-table-chain-infinite-loop.test.lua OK | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/lj-505-fold-no-strref-for-ptrdiff.test.lua OK | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/lj-524-fold-conv-respect-src-irt.test.lua OK | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/lj-584-bad-renames-for-sunk-values.test.lua OK | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/lj-601-fix-gc-finderrfunc.test.lua OK | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/lj-flush-on-trace.test.lua OK | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/or-232-unsink-64-kptr.test.lua OK | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/tap.lua OK | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/utils.lua OK | | Total: 4 warnings / 0 errors in 18 files | make[3]: *** [test/CMakeFiles/LuaJIT-luacheck.dir/build.make:331: LuaJIT-luacheck] Error 1 | make[2]: *** [CMakeFiles/Makefile2:731: test/CMakeFiles/LuaJIT-luacheck.dir/all] Error 2 | make[2]: *** Waiting for unfinished jobs.... | [ 20%] Building C object src/host/CMakeFiles/buildvm.dir/buildvm_fold.c.o | [ 20%] Building C object src/host/CMakeFiles/buildvm.dir/buildvm_lib.c.o | [ 20%] Building C object src/host/CMakeFiles/buildvm.dir/buildvm_asm.c.o | [ 20%] Building C object src/host/CMakeFiles/buildvm.dir/buildvm.c.o | [ 22%] Building C object src/host/CMakeFiles/buildvm.dir/buildvm_peobj.c.o | [ 22%] Linking C executable buildvm | [ 22%] Built target buildvm | make[1]: *** [CMakeFiles/Makefile2:683: test/CMakeFiles/test.dir/rule] Error 2 | make: *** [Makefile:351: test] Error 2 -- Best regards, IM ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Tarantool-patches] [PATCH luajit] Actually implement maxirconst trace limit. 2022-01-28 21:45 ` Igor Munkin via Tarantool-patches @ 2022-01-29 1:17 ` Sergey Kaplun via Tarantool-patches 0 siblings, 0 replies; 11+ messages in thread From: Sergey Kaplun via Tarantool-patches @ 2022-01-29 1:17 UTC (permalink / raw) To: Igor Munkin; +Cc: tarantool-patches Igor, On 29.01.22, Igor Munkin wrote: > Sergey, > > Bad things happen... I was much concerned about using <misc> module in > the test, but I failed to understand why exactly. Now I finally got it > (the hard way): <misc> is missing in 1.10 which is one of the target > branches for this patch. Could you please adjust the test using > <jit.util.traceinfo> helper or via any other way to check that only the > first trace is compiled? Fixed, see the iterative patch below: Branch is force-pushed. =================================================================== diff --git a/test/tarantool-tests/lj-430-maxirconst.test.lua b/test/tarantool-tests/lj-430-maxirconst.test.lua index 10de2520..45f0bb1d 100644 --- a/test/tarantool-tests/lj-430-maxirconst.test.lua +++ b/test/tarantool-tests/lj-430-maxirconst.test.lua @@ -7,6 +7,7 @@ jit.flush() require('utils').skipcond(jit.os == 'BSD', 'Disabled due to #4819') local tap = require('tap') +local traceinfo = require('jit.util').traceinfo local test = tap.test('lj-430-maxirconst') test:plan(2) @@ -24,20 +25,17 @@ local function irconst4() local _ = 42 end -local ntrace_old = misc.getmetrics().jit_trace_num +assert(not traceinfo(1), 'no any traces') jit.on() irconst3() irconst3() jit.off() -test:ok(ntrace_old + 1 == misc.getmetrics().jit_trace_num, - 'trace number increases') +test:ok(traceinfo(1), 'new trace created') -ntrace_old = misc.getmetrics().jit_trace_num jit.on() irconst4() irconst4() jit.off() -test:ok(ntrace_old == misc.getmetrics().jit_trace_num, - 'trace should not appear due to maxirconst limit') +test:ok(not traceinfo(2), 'trace should not appear due to maxirconst limit') os.exit(test:check() and 0 or 1) =================================================================== > > P.S. many thanks to luacheck: > | $ make -j test > | Consolidate compiler generated dependencies of target minilua > | Consolidate compiler generated dependencies of target libmixcframe > | Consolidate compiler generated dependencies of target libsandwich > | Consolidate compiler generated dependencies of target lib1 > | Consolidate compiler generated dependencies of target lib2 > | Consolidate compiler generated dependencies of target lib21 > | Consolidate compiler generated dependencies of target lib11 > | Consolidate compiler generated dependencies of target libflush > | [ 3%] Built target libsandwich > | [ 3%] Built target libmixcframe > | Running luacheck static analysis > | [ 8%] Built target lib1 > | [ 11%] Built target lib21 > | [ 6%] Built target minilua > | [ 6%] Built target lib2 > | [ 13%] Built target lib11 > | [ 15%] Built target libflush > | [ 16%] Generating buildvm_arch.h > | Create directory for PUC-Rio Lua 5.1 tests > | [ 16%] Built target PUC-Rio-Lua-5.1-tests-prepare > | Checking /home/imun/projects/tarantool-luajit-maintain/test/luajit-test-init.lua OK > | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/gh-3196-incorrect-string-length.test.lua OK > | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/gh-4427-ffi-sandwich.test.lua OK > | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/gh-4476-fix-string-find-recording.test.lua OK > | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/gh-4773-tonumber-fail-on-NUL-char.test.lua OK > | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/gh-6227-bytecode-allocator-for-comparisons.test.lua OK > | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/gh-6371-string-char-no-arg.test.lua OK > | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/lj-375-ir-bufput-signed-char.test.lua OK > | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/lj-430-maxirconst.test.lua 4 warnings > | > | /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/lj-430-maxirconst.test.lua:27:20: (W113) accessing undefined variable misc > | /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/lj-430-maxirconst.test.lua:32:27: (W113) accessing undefined variable misc > | /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/lj-430-maxirconst.test.lua:35:14: (W113) accessing undefined variable misc > | /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/lj-430-maxirconst.test.lua:40:23: (W113) accessing undefined variable misc > | > | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/lj-494-table-chain-infinite-loop.test.lua OK > | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/lj-505-fold-no-strref-for-ptrdiff.test.lua OK > | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/lj-524-fold-conv-respect-src-irt.test.lua OK > | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/lj-584-bad-renames-for-sunk-values.test.lua OK > | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/lj-601-fix-gc-finderrfunc.test.lua OK > | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/lj-flush-on-trace.test.lua OK > | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/or-232-unsink-64-kptr.test.lua OK > | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/tap.lua OK > | Checking /home/imun/projects/tarantool-luajit-maintain/test/tarantool-tests/utils.lua OK > | > | Total: 4 warnings / 0 errors in 18 files > | make[3]: *** [test/CMakeFiles/LuaJIT-luacheck.dir/build.make:331: LuaJIT-luacheck] Error 1 > | make[2]: *** [CMakeFiles/Makefile2:731: test/CMakeFiles/LuaJIT-luacheck.dir/all] Error 2 > | make[2]: *** Waiting for unfinished jobs.... > | [ 20%] Building C object src/host/CMakeFiles/buildvm.dir/buildvm_fold.c.o > | [ 20%] Building C object src/host/CMakeFiles/buildvm.dir/buildvm_lib.c.o > | [ 20%] Building C object src/host/CMakeFiles/buildvm.dir/buildvm_asm.c.o > | [ 20%] Building C object src/host/CMakeFiles/buildvm.dir/buildvm.c.o > | [ 22%] Building C object src/host/CMakeFiles/buildvm.dir/buildvm_peobj.c.o > | [ 22%] Linking C executable buildvm > | [ 22%] Built target buildvm > | make[1]: *** [CMakeFiles/Makefile2:683: test/CMakeFiles/test.dir/rule] Error 2 > | make: *** [Makefile:351: test] Error 2 > > -- > Best regards, > IM -- Best regards, Sergey Kaplun ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Tarantool-patches] [PATCH luajit] Actually implement maxirconst trace limit. 2021-12-29 12:27 [Tarantool-patches] [PATCH luajit] Actually implement maxirconst trace limit Sergey Kaplun via Tarantool-patches 2022-01-27 23:18 ` Igor Munkin via Tarantool-patches 2022-01-28 21:45 ` Igor Munkin via Tarantool-patches @ 2022-02-11 19:09 ` Igor Munkin via Tarantool-patches 2 siblings, 0 replies; 11+ messages in thread From: Igor Munkin via Tarantool-patches @ 2022-02-11 19:09 UTC (permalink / raw) To: Sergey Kaplun; +Cc: tarantool-patches Sergey, I've checked the patch into all long-term branches in tarantool/luajit and bumped a new version in 1.10, 2.8 and master. On 29.12.21, Sergey Kaplun wrote: > From: Mike Pall <mike> > > Suggested by spacewander. > > (cherry picked from 9ff94c4a1fcec2c310dcb092da694f23186e23) > > `maxirconst` should restrict the amount of IR constants for 1 trace. > Nevertheless, its value isn't checked anywhere. > > This patch adds the corresponding check after instruction recording. > > Sergey Kaplun: > * added the description and the test for the problem > > Part of tarantool/tarantool#6548 > --- > > Issue: https://github.com/LuaJIT/LuaJIT/issues/430 > Branch: https://github.com/tarantool/luajit/tree/skaplun/lj-430-maxirconst-actually-implement-full-ci > Tarantool branch: https://github.com/tarantool/tarantool/tree/skaplun/lj-430-maxirconst-actually-implement-full-ci > > src/lj_record.c | 5 ++- > .../lj-430-maxirconst.test.lua | 43 +++++++++++++++++++ > 2 files changed, 46 insertions(+), 2 deletions(-) > create mode 100644 test/tarantool-tests/lj-430-maxirconst.test.lua > <snipped> > -- > 2.34.1 > -- Best regards, IM ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2022-02-11 19:12 UTC | newest] Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-12-29 12:27 [Tarantool-patches] [PATCH luajit] Actually implement maxirconst trace limit Sergey Kaplun via Tarantool-patches 2022-01-27 23:18 ` Igor Munkin via Tarantool-patches 2022-01-28 8:42 ` Sergey Kaplun via Tarantool-patches 2022-01-28 11:55 ` Igor Munkin via Tarantool-patches 2022-01-28 12:35 ` Sergey Kaplun via Tarantool-patches 2022-01-28 14:16 ` sergos via Tarantool-patches 2022-01-28 15:09 ` Sergey Kaplun via Tarantool-patches 2022-01-28 21:28 ` Sergey Ostanevich via Tarantool-patches 2022-01-28 21:45 ` Igor Munkin via Tarantool-patches 2022-01-29 1:17 ` Sergey Kaplun via Tarantool-patches 2022-02-11 19:09 ` Igor Munkin via Tarantool-patches
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox