diff options
author | Ryan Prichard <rprichard@google.com> | 2019-10-03 17:57:15 -0700 |
---|---|---|
committer | Ryan Prichard <rprichard@google.com> | 2019-10-03 18:01:59 -0700 |
commit | c6bec07fb69426aa88c52e99651cac5feae50759 (patch) | |
tree | d00f36bbf17e4d687c82eaab56cecc9049197c97 /libc/include/android/api-level.h | |
parent | d120b8a06cbcf929bb1dc1b4d81872f8f18c9c6c (diff) |
Inline soinfo::get_tls
The run-time of dl_iterate_phdr can be noticeable for exception-handling.
e.g. I tested extest on the GitHub issue by:
- disabling the dlpi_subs/dlpi_adds-based caching in libgcc
- adding a weaker "load base hint" caching in libgcc that doesn't need
the dlpi_subs/dlpi_adds fields, but still has to iterate over every
module to validate a cache hit
extest throws 10000 exceptions, and I saw a regression from ~1550ms
runtime on Q to about ~1950ms on master. This CL reduces the regression to
about ~1700ms.
Bug: https://github.com/android/ndk/issues/1062
Test: bionic unit tests
Change-Id: I099e97e1a20f5b2aa6737789e49d965170eb85a8
Diffstat (limited to 'libc/include/android/api-level.h')
0 files changed, 0 insertions, 0 deletions