To: vim_dev@googlegroups.com Subject: Patch 7.3.1177 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.3.1177 Problem: Wasting memory on padding. Solution: Reorder struct fields. (Dominique Pelle) Files: src/structs.h, src/fileio.c *** ../vim-7.3.1176/src/structs.h 2013-06-06 14:55:16.000000000 +0200 --- src/structs.h 2013-06-12 19:21:02.000000000 +0200 *************** *** 1180,1191 **** */ struct dictvar_S { int dv_refcount; /* reference count */ - hashtab_T dv_hashtab; /* hashtab that refers to the items */ int dv_copyID; /* ID used by deepcopy() */ dict_T *dv_copydict; /* copied dict used by deepcopy() */ - char dv_lock; /* zero, VAR_LOCKED, VAR_FIXED */ - char dv_scope; /* zero, VAR_SCOPE, VAR_DEF_SCOPE */ dict_T *dv_used_next; /* next dict in used dicts list */ dict_T *dv_used_prev; /* previous dict in used dicts list */ }; --- 1180,1191 ---- */ struct dictvar_S { + char dv_lock; /* zero, VAR_LOCKED, VAR_FIXED */ + char dv_scope; /* zero, VAR_SCOPE, VAR_DEF_SCOPE */ int dv_refcount; /* reference count */ int dv_copyID; /* ID used by deepcopy() */ + hashtab_T dv_hashtab; /* hashtab that refers to the items */ dict_T *dv_copydict; /* copied dict used by deepcopy() */ dict_T *dv_used_next; /* next dict in used dicts list */ dict_T *dv_used_prev; /* previous dict in used dicts list */ }; *** ../vim-7.3.1176/src/fileio.c 2013-06-08 18:19:39.000000000 +0200 --- src/fileio.c 2013-06-12 19:23:35.000000000 +0200 *************** *** 7614,7629 **** typedef struct AutoPat { - int group; /* group ID */ char_u *pat; /* pattern as typed (NULL when pattern has been removed) */ - int patlen; /* strlen() of pat */ regprog_T *reg_prog; /* compiled regprog for pattern */ - char allow_dirs; /* Pattern may match whole path */ - char last; /* last pattern for apply_autocmds() */ AutoCmd *cmds; /* list of commands to do */ struct AutoPat *next; /* next AutoPat in AutoPat list */ int buflocal_nr; /* !=0 for buffer-local AutoPat */ } AutoPat; static struct event_name --- 7614,7629 ---- typedef struct AutoPat { char_u *pat; /* pattern as typed (NULL when pattern has been removed) */ regprog_T *reg_prog; /* compiled regprog for pattern */ AutoCmd *cmds; /* list of commands to do */ struct AutoPat *next; /* next AutoPat in AutoPat list */ + int group; /* group ID */ + int patlen; /* strlen() of pat */ int buflocal_nr; /* !=0 for buffer-local AutoPat */ + char allow_dirs; /* Pattern may match whole path */ + char last; /* last pattern for apply_autocmds() */ } AutoPat; static struct event_name *** ../vim-7.3.1176/src/version.c 2013-06-12 18:13:31.000000000 +0200 --- src/version.c 2013-06-12 19:20:19.000000000 +0200 *************** *** 730,731 **** --- 730,733 ---- { /* Add new patch number below this line */ + /**/ + 1177, /**/ -- hundred-and-one symptoms of being an internet addict: 174. You know what a listserv is. /// Bram Moolenaar -- Bram@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 ///