This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 0/6] newlib/Cygwin: Allow more inlining of locale_t stuff


From: Corinna Vinschen <corinna@vinschen.de>

This patch series exposes most of the locale_t stuff into userspace,
thus allowing to inline locale and ctype access.

On Cygwin a speedup can only be accomplished by additionally exposing
Cygwin's __getreent into userspace and fixing certain, as of yet variable
aspects of the TLS implementation.

This code speeds up ctype by roughly 60% on Cygwin.

Corinna Vinschen (6):
  reent: Initialize _locale pointer with &__globale_locale
  newlib: ctype.h: Remove empty #if block
  newlib: Expose locale structs and function in new header sys/_locale.h
  Cygwin: expose CYGTLS_PADSIZE as __CYGTLS_PADSIZE in userspace
  Cygwin: cygtls: move local_clib member to start of class
  Cygwin: ___getreent: Expose assembler inline implementation into
    userspace

 newlib/libc/include/ctype.h                        |  12 +--
 newlib/libc/include/locale.h                       |  29 +-----
 newlib/libc/include/sys/_locale.h                  | 103 +++++++++++++++++++++
 newlib/libc/include/sys/reent.h                    |   5 +-
 newlib/libc/locale/locale.c                        |  25 ++---
 newlib/libc/locale/newlocale.c                     |   4 +-
 newlib/libc/locale/setlocale.h                     |  55 +----------
 newlib/libc/locale/uselocale.c                     |   4 +-
 newlib/libc/sys/linux/include/setlocale.h          |   3 +-
 winsup/cygwin/cygtls.cc                            |   3 +-
 winsup/cygwin/cygtls.h                             |  10 +-
 winsup/cygwin/dcrt0.cc                             |   3 +-
 winsup/cygwin/external.cc                          |   2 +-
 winsup/cygwin/gentls_offsets                       |   4 +-
 winsup/cygwin/how-cygtls-works.txt                 |  10 +-
 .../cygwin/_cygtls_padsize.h}                      |   5 +-
 winsup/cygwin/include/cygwin/config.h              |  14 +--
 winsup/cygwin/init.cc                              |   2 +-
 winsup/cygwin/miscfuncs.cc                         |  10 +-
 winsup/cygwin/tlsoffsets.h                         |  24 ++---
 winsup/cygwin/tlsoffsets64.h                       |  24 ++---
 winsup/utils/strace.cc                             |   4 +-
 22 files changed, 189 insertions(+), 166 deletions(-)
 create mode 100644 newlib/libc/include/sys/_locale.h
 rename winsup/cygwin/{cygtls_padsize.h => include/cygwin/_cygtls_padsize.h} (60%)

-- 
2.9.5


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]