On 11/04/2015 09:16 AM, Daniel Robertson wrote:
commit f57a6593e21d45008173352fc29ededdbc2c8878
Author: Daniel Robertson <danlrobertson89@gmail.com>
Date:   Tue Nov 3 14:14:08 2015 -0500
     editeng: Eliminate unecessary padding in classes
     Edit the order of SvxLRSpaceItem and PaintFirstLineInfo members to
     remove unecessary padding due to data alignment.
     Change-Id: Icf2c92ef86a32384e51d1cb6f1a079b10995dfd5
     Reviewed-on: https://gerrit.libreoffice.org/19763
     Tested-by: Jenkins <ci@libreoffice.org>
     Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
[...]
diff --git a/include/editeng/lrspitem.hxx b/include/editeng/lrspitem.hxx
index 40da999..94daed8 100644
--- a/include/editeng/lrspitem.hxx
+++ b/include/editeng/lrspitem.hxx
@@ -50,15 +50,15 @@
  class EDITENG_DLLPUBLIC SvxLRSpaceItem : public SfxPoolItem
  {
-    short   nFirstLineOfst;     // First-line indent _always_ relative to nTxtLeft
      long    nTxtLeft;           // We spend a sal_uInt16
      long    nLeftMargin;        // nLeft or the negative first-line indent
      long    nRightMargin;       // The unproblematic right edge
      sal_uInt16  nPropFirstLineOfst, nPropLeftMargin, nPropRightMargin;
+    short   nFirstLineOfst;     // First-line indent _always_ relative to nTxtLeft
With micro-optimization changes like these, I would leave it to some 
domain expert to decide whether it is actually worth it (i.e., whether 
on the one hand the existing member order had been chosen deliberately, 
to aid human comprehension, and whether on the other hand enough 
instances of that class are created to warrant any such optimization).
      bool        bAutoFirst  : 1;    // Automatic calculation of the first line indent
-    bool        bExplicitZeroMarginValRight;
-    bool        bExplicitZeroMarginValLeft;
+    bool        bExplicitZeroMarginValRight : 1;
+    bool        bExplicitZeroMarginValLeft : 1;
It is unclear whether that is an optimization or a pessimization.
Context
- Re: [Libreoffice-commits] core.git: editeng: Eliminate unecessary padding in classes · Stephan Bergmann
 
   
 
  Privacy Policy |
  
Impressum (Legal Info) |
  
Copyright information: Unless otherwise specified, all text and images
  on this website are licensed under the
  
Creative Commons Attribution-Share Alike 3.0 License.
  This does not include the source code of LibreOffice, which is
  licensed under the Mozilla Public License (
MPLv2).
  "LibreOffice" and "The Document Foundation" are
  registered trademarks of their corresponding registered owners or are
  in actual use as trademarks in one or more countries. Their respective
  logos and icons are also subject to international copyright laws. Use
  thereof is explained in our 
trademark policy.