public inbox for newlib@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 0/6] newlib/Cygwin: Allow more inlining of locale_t stuff
@ 2017-11-13 15:46 Corinna Vinschen
  2017-11-13 15:46 ` [PATCH 1/6] reent: Initialize _locale pointer with &__globale_locale Corinna Vinschen
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: Corinna Vinschen @ 2017-11-13 15:46 UTC (permalink / raw)
  To: newlib

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2017-11-14  9:18 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-13 15:46 [PATCH 0/6] newlib/Cygwin: Allow more inlining of locale_t stuff Corinna Vinschen
2017-11-13 15:46 ` [PATCH 1/6] reent: Initialize _locale pointer with &__globale_locale Corinna Vinschen
2017-11-13 15:46 ` [PATCH 2/6] newlib: ctype.h: Remove empty #if block Corinna Vinschen
2017-11-13 15:46 ` [PATCH 6/6] Cygwin: ___getreent: Expose assembler inline implementation into userspace Corinna Vinschen
2017-11-13 15:46 ` [PATCH 5/6] Cygwin: cygtls: move local_clib member to start of class Corinna Vinschen
2017-11-13 15:52 ` [PATCH 4/6] Cygwin: expose CYGTLS_PADSIZE as __CYGTLS_PADSIZE in userspace Corinna Vinschen
2017-11-13 15:59 ` [PATCH 3/6] newlib: Expose locale structs and function in new header sys/_locale.h Corinna Vinschen
2017-11-13 20:02 ` [PATCH 0/6] newlib/Cygwin: Allow more inlining of locale_t stuff Corinna Vinschen
2017-11-14  7:56   ` Sebastian Huber
2017-11-14  9:19     ` Corinna Vinschen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).