Mercurial > vim
diff src/testdir/test_vim9_disassemble.vim @ 28598:d550054e1328 v8.2.4823
patch 8.2.4823: concat more than 2 strings in :def function is inefficient
Commit: https://github.com/vim/vim/commit/372bcceeee8012ef3fb2f3dbc8132c3a33cb84fc
Author: LemonBoy <thatlemon@gmail.com>
Date: Mon Apr 25 12:43:20 2022 +0100
patch 8.2.4823: concat more than 2 strings in :def function is inefficient
Problem: Concatenating more than 2 strings in a :def function is
inefficient.
Solution: Add a count to the CONCAT instruction. (closes #10276)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 25 Apr 2022 13:45:04 +0200 |
parents | dc68c111cf7a |
children | 1d92ba691dc4 |
line wrap: on
line diff
--- a/src/testdir/test_vim9_disassemble.vim +++ b/src/testdir/test_vim9_disassemble.vim @@ -208,7 +208,7 @@ def Test_disassemble_redir_var() ' redir END\_s*' .. '\d LOAD $0\_s*' .. '\d REDIR END\_s*' .. - '\d CONCAT\_s*' .. + '\d CONCAT size 2\_s*' .. '\d STORE $0\_s*' .. '\d RETURN void', res) @@ -883,7 +883,7 @@ def Test_disassemble_closure() 'local ..= arg\_s*' .. '\d LOADOUTER level 1 $0\_s*' .. '\d LOAD arg\[-1\]\_s*' .. - '\d CONCAT\_s*' .. + '\d CONCAT size 2\_s*' .. '\d STOREOUTER level 1 $0\_s*' .. '\d RETURN void', res) @@ -973,7 +973,7 @@ def Test_disassemble_call_default() '6 LOAD arg\[-2]\_s*' .. '\d LOAD arg\[-1]\_s*' .. '\d 2STRING stack\[-1]\_s*' .. - '\d\+ CONCAT\_s*' .. + '\d\+ CONCAT size 2\_s*' .. '\d\+ RETURN', res) enddef @@ -1245,9 +1245,9 @@ def Test_disassemble_lambda() '\d PUSHS "X"\_s*' .. '\d LOAD arg\[-1\]\_s*' .. '\d 2STRING_ANY stack\[-1\]\_s*' .. - '\d CONCAT\_s*' .. + '\d CONCAT size 2\_s*' .. '\d PUSHS "X"\_s*' .. - '\d CONCAT\_s*' .. + '\d CONCAT size 2\_s*' .. '\d RETURN', instr) enddef @@ -1432,7 +1432,7 @@ def Test_disassemble_for_loop_eval() '\d\+ LOAD $0\_s*' .. '\d\+ LOAD $2\_s*' .. '\d 2STRING_ANY stack\[-1\]\_s*' .. - '\d\+ CONCAT\_s*' .. + '\d\+ CONCAT size 2\_s*' .. '\d\+ STORE $0\_s*' .. 'endfor\_s*' .. '\d\+ JUMP -> 5\_s*' .. @@ -2142,7 +2142,7 @@ def Test_disassemble_execute() "execute 'help ' .. tag\\_s*" .. '\d\+ PUSHS "help "\_s*' .. '\d\+ LOAD $1\_s*' .. - '\d\+ CONCAT\_s*' .. + '\d\+ CONCAT size 2\_s*' .. '\d\+ EXECUTE 1\_s*' .. '\d\+ RETURN void', res)