[vim/f17] - patchlevel 454

Karsten Hopp karsten at fedoraproject.org
Fri Mar 16 17:45:50 UTC 2012


commit cc8e676eddd23924aac1aaa9e76c78b73b3a0b52
Author: Karsten Hopp <karsten at redhat.com>
Date:   Fri Mar 16 18:44:48 2012 +0100

    - patchlevel 454

 7.3.454 |   84 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 84 insertions(+), 0 deletions(-)
---
diff --git a/7.3.454 b/7.3.454
new file mode 100644
index 0000000..8658926
--- /dev/null
+++ b/7.3.454
@@ -0,0 +1,84 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.454
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.3.454
+Problem:    Re-allocating memory slows Vim down.
+Solution:   Use realloc() in ga_grow(). (Dominique Pelle)
+Files:	    src/misc2.c
+
+
+*** ../vim-7.3.453/src/misc2.c	2012-02-22 14:58:24.000000000 +0100
+--- src/misc2.c	2012-02-22 18:07:45.000000000 +0100
+***************
+*** 2064,2087 ****
+      garray_T	*gap;
+      int		n;
+  {
+!     size_t	len;
+      char_u	*pp;
+  
+      if (gap->ga_maxlen - gap->ga_len < n)
+      {
+  	if (n < gap->ga_growsize)
+  	    n = gap->ga_growsize;
+! 	len = gap->ga_itemsize * (gap->ga_len + n);
+! 	pp = alloc_clear((unsigned)len);
+  	if (pp == NULL)
+  	    return FAIL;
+  	gap->ga_maxlen = gap->ga_len + n;
+- 	if (gap->ga_data != NULL)
+- 	{
+- 	    mch_memmove(pp, gap->ga_data,
+- 				      (size_t)(gap->ga_itemsize * gap->ga_len));
+- 	    vim_free(gap->ga_data);
+- 	}
+  	gap->ga_data = pp;
+      }
+      return OK;
+--- 2064,2085 ----
+      garray_T	*gap;
+      int		n;
+  {
+!     size_t	old_len;
+!     size_t	new_len;
+      char_u	*pp;
+  
+      if (gap->ga_maxlen - gap->ga_len < n)
+      {
+  	if (n < gap->ga_growsize)
+  	    n = gap->ga_growsize;
+! 	new_len = gap->ga_itemsize * (gap->ga_len + n);
+! 	pp = (gap->ga_data == NULL)
+! 			? alloc(new_len) : vim_realloc(gap->ga_data, new_len);
+  	if (pp == NULL)
+  	    return FAIL;
++ 	old_len = gap->ga_itemsize * gap->ga_maxlen;
++ 	vim_memset(pp + old_len, 0, new_len - old_len);
+  	gap->ga_maxlen = gap->ga_len + n;
+  	gap->ga_data = pp;
+      }
+      return OK;
+*** ../vim-7.3.453/src/version.c	2012-02-22 17:58:00.000000000 +0100
+--- src/version.c	2012-02-22 18:09:42.000000000 +0100
+***************
+*** 716,717 ****
+--- 716,719 ----
+  {   /* Add new patch number below this line */
++ /**/
++     454,
+  /**/
+
+-- 
+From "know your smileys":
+ (X0||)   Double hamburger with lettuce and tomato
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\  an exciting new programming language -- http://www.Zimbu.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


More information about the scm-commits mailing list