This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch] Rewrite regex matchers
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Paolo Carlini <paolo dot carlini at oracle dot com>
- Cc: Tim Shen <timshen91 at gmail dot com>, libstdc++ <libstdc++ at gcc dot gnu dot org>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 30 Aug 2013 15:36:03 +0200
- Subject: Re: [Patch] Rewrite regex matchers
- Authentication-results: sourceware.org; auth=none
- References: <CAPrifDmWL=BD0ojZOKG2dOZHNdD4+wNjtB4smyF64eJywHZ0ag at mail dot gmail dot com> <52209DA3 dot 3070903 at oracle dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
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