Hi, Sergey
Thanks for the patch! See my comments below.
This patch moves the <alias_alloc.lua> test from the <misc> to the created <opt/mem> directory, includes it in <index>, and names subtests. Testing optimizations in <lj_opt_mem.c> requires CSE, DCE, FOLD, and FWD optimizations enabled. Hence, the corresponding flags are used for the <mem> directory in <index>.
It is still unclear for me *why* a reason of this change.
Also patch contains formatting changes, I would say about it in commit message
as we usually do it.
Part of tarantool/tarantool#9398 --- test/LuaJIT-tests/opt/index | 1 + .../{misc => opt/mem}/alias_alloc.lua | 30 +++++++++---------- test/LuaJIT-tests/opt/mem/index | 1 + 3 files changed, 16 insertions(+), 16 deletions(-) rename test/LuaJIT-tests/{misc => opt/mem}/alias_alloc.lua (53%) create mode 100644 test/LuaJIT-tests/opt/mem/index diff --git a/test/LuaJIT-tests/opt/index b/test/LuaJIT-tests/opt/index index 94d50aec..8c43b56e 100644 --- a/test/LuaJIT-tests/opt/index +++ b/test/LuaJIT-tests/opt/index @@ -3,4 +3,5 @@ fold +fold fwd +fwd fuse.lua +fuse loop +loop +mem +cse +dse +fold +fwd sink +sink diff --git a/test/LuaJIT-tests/misc/alias_alloc.lua b/test/LuaJIT-tests/opt/mem/alias_alloc.lua similarity index 53% rename from test/LuaJIT-tests/misc/alias_alloc.lua rename to test/LuaJIT-tests/opt/mem/alias_alloc.lua index 02fe618d..a9627b55 100644 --- a/test/LuaJIT-tests/misc/alias_alloc.lua +++ b/test/LuaJIT-tests/opt/mem/alias_alloc.lua @@ -1,8 +1,7 @@ - -do +do --- ALOAD forwarding, same table. local t = {1} local x - for i=1,100 do + for i = 1, 100 do local v = {i} t[1] = v[1] x = v[1] @@ -10,45 +9,44 @@ do assert(x == 100 and t[1] == 100) end -do +do --- ALOAD forwarding, different tables. local t = {1} local x,y - for i=1,100 do + for i = 1, 100 do local v = {i} - local w = {i+1} + local w = {i + 1} x = v[1] y = w[1] end assert(x == 100 and y == 101) end -do +do --- FLOAD forwarding. local mt = {} local t = setmetatable({}, mt) local x - for i=1,100 do + for _ = 1, 100 do local v = {} setmetatable(v, getmetatable(t)) assert(getmetatable(v) == mt) end end --- See also sink_alloc.lua -do - local x,k={1,2},{3,4} - for i=1,100 do x = {x[1]+k[1], x[2]+k[2]} end +-- See also <opt/sink/alloc.lua>. +do --- Forwarding the constant-on-trace table in the complex add. + local x, k = {1, 2}, {3, 4} + for _ = 1, 100 do x = {x[1] + k[1], x[2] + k[2]} end assert(x[1] == 301) assert(x[2] == 402) end --- FLOAD for tab.asize/tab.array crossing NEWREF. -do + +do --- FLOAD forwarding for tab.asize/tab.array crossing NEWREF. local t = {1} - for i=1,100 do + for _ = 1, 100 do local v = {} local w = {} v[1] = t[1] w[1] = t[1] end end - diff --git a/test/LuaJIT-tests/opt/mem/index b/test/LuaJIT-tests/opt/mem/index new file mode 100644 index 00000000..0b1856ed --- /dev/null +++ b/test/LuaJIT-tests/opt/mem/index @@ -0,0 +1 @@ +alias_alloc.lua