On Fri, Aug 30, 2013 at 03:26:59PM +0200, Paolo Carlini wrote:
> Hi,
> 
> On 08/30/2013 02:05 PM, Tim Shen wrote:
> >+      const _TraitsT&                    _M_traits;
> >+      _FlagT                             _M_flags;
> >+      bool                               _M_is_non_matching;
> >+      std::set<_CharT>                   _M_char_set;
> >+      std::set<pair<_StringT, _StringT>> _M_range_set;
> >+      _CharClassT                        _M_class_set;
> another, very general comment: now that nothing is decided ABI-wise
> for these features, let's pay attention to the layouts, let's make
> sure that the data members are ordered in the best way to minimize
> the size. For example, when I see a bool sandwiched between big
> objects something seems at least weird... Let's make measurements
> and optimize for 64-bit but let's double check on 32-bit too.

You could use pahole utility from dwarves for this, though not sure how far
it is with support for DWARF4 and extensions recent gcc emit, so perhaps you
need -gdwarf-3 -gstrict-dwarf or similar.

        Jakub

Reply via email to