diff src/vim9compile.c @ 19191:133ef7ba4e4e v8.2.0154

patch 8.2.0154: reallocating the list of scripts is inefficient Commit: https://github.com/vim/vim/commit/21b9e9773d64de40994f8762173bdd8befa6acf7 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jan 26 19:26:46 2020 +0100 patch 8.2.0154: reallocating the list of scripts is inefficient Problem: Reallocating the list of scripts is inefficient. Solution: Instead of using a growarray of scriptitem_T, store pointers and allocate each scriptitem_T separately. Also avoids that the growarray pointers change when sourcing a new script.
author Bram Moolenaar <Bram@vim.org>
date Sun, 26 Jan 2020 19:30:14 +0100
parents 94eda51ba9ba
children 9f98957582d6
line wrap: on
line diff
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -1401,7 +1401,7 @@ get_script_item_idx(int sid, char_u *nam
 {
     hashtab_T	    *ht;
     dictitem_T	    *di;
-    scriptitem_T    *si = &SCRIPT_ITEM(sid);
+    scriptitem_T    *si = SCRIPT_ITEM(sid);
     int		    idx;
 
     // First look the name up in the hashtable.
@@ -1433,7 +1433,7 @@ get_script_item_idx(int sid, char_u *nam
     imported_T *
 find_imported(char_u *name, cctx_T *cctx)
 {
-    scriptitem_T    *si = &SCRIPT_ITEM(current_sctx.sc_sid);
+    scriptitem_T    *si = SCRIPT_ITEM(current_sctx.sc_sid);
     int		    idx;
 
     if (cctx != NULL)
@@ -1462,7 +1462,7 @@ find_imported(char_u *name, cctx_T *cctx
     static int
 compile_load_scriptvar(cctx_T *cctx, char_u *name)
 {
-    scriptitem_T    *si = &SCRIPT_ITEM(current_sctx.sc_sid);
+    scriptitem_T    *si = SCRIPT_ITEM(current_sctx.sc_sid);
     int		    idx = get_script_item_idx(current_sctx.sc_sid, name, FALSE);
     imported_T	    *import;