[v3] move more num_put speedups to 3.3

Benjamin Kosnik bkoz@redhat.com
Tue Mar 4 02:16:00 GMT 2003


My previous attempt was way off. Here's something that works. This adds
17 new symbols to gcc-3.2.x.

__num_base::_S_atoms_in
__num_base::_S_atoms_out

and in num_put:

_M_group_int x 2
_M_group_float x 2
_M_convert_int x 2 x 4
_M_pad x 2


tested x86/linux

gcc-3_3-branch



2003-03-03  Benjamin Kosnik  <benjamin@redhat.com>
                                                                                
        * config/linker-map.gnu (GLIBCPP_3.2.3): New.
        Add new symbols.
        * testsuite/abi_check.cc: Update.
                                                                                
2003-03-03 Jerry Quinn  <jlquinn@optonline.net>
           Benjamin Kosnik  <benjamin@redhat.com>
                                                                                
        * include/bits/locale_facets.h (__num_base): Add _S_atoms_out.
        Add indexes into this array.
        (__num_base::_S_atoms): To _S_atoms_in.
        (num_put::_M_insert): Rename to _M_pad.
        (num_put::_M_convert_int): Adjust remove __mod, __modl arguments.
        (num_put::_M_widen_int): Rename to _M_group_int.
        (num_put::_M_widen_float): Rename to _M_group_float.
        * include/bits/locale_facets.tcc (__int_to_char): New inline
        function and adapter functions.
        (num_put::_M_group_int): Streamline.
        (num_put::_M_group_float): Streamline.
        (num_put::_M_convert_int): Remove unused parameter names. Choose
        large enough buffer for text.  Use __int_to_char instead of
        __convert_from_v.  Formatted text is now at the end of the buffer.
        (num_put::_M_convert_float): Preliminary fixups.
        * src/locale-inst.cc (__convert_from_v<long long>): Add ifdef.
        (__int_to_char<unsigned long long>): Same.
        (__int_to_char<char, unsigned long>): New.
        (__int_to_char<char, unsigned long long>): New.
        (__int_to_char<wchar_t, unsigned long>): New.
        (__int_to_char<wchar_t, unsigned long long>): New.
                                                                                
-------------- next part --------------
A non-text attachment was scrubbed...
Name: p.20030303-gcc-3_3-merge
Type: application/octet-stream
Size: 62679 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20030304/9c6cb742/attachment.obj>


More information about the Gcc-patches mailing list