This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
[PATCH 0/6] newlib/Cygwin: Allow more inlining of locale_t stuff
- From: Corinna Vinschen <vinschen at redhat dot com>
- To: newlib at sourceware dot org
- Date: Mon, 13 Nov 2017 16:46:10 +0100
- Subject: [PATCH 0/6] newlib/Cygwin: Allow more inlining of locale_t stuff
- Authentication-results: sourceware.org; auth=none
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