Loading ...
Sorry, an error occurred while loading the content.

Patch 7.3.454

Expand Messages
  • Bram Moolenaar
    Patch 7.3.454 Problem: Re-allocating memory slows Vim down. Solution: Use realloc() in ga_grow(). (Dominique Pelle) Files: src/misc2.c ...
    Message 1 of 1 , Feb 22, 2012
    • 0 Attachment
      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@... -- 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 ///

      --
      You received this message from the "vim_dev" maillist.
      Do not top-post! Type your reply below the text you are replying to.
      For more information, visit http://www.vim.org/maillist.php
    Your message has been successfully submitted and would be delivered to recipients shortly.