summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2012-03-10 08:49:44 +0000
committerkib <kib@FreeBSD.org>2012-03-10 08:49:44 +0000
commitfb48ba5d907bec4322e4292fd840d33a0bb662ac (patch)
treea8f58ba276201ae6ec5ed36f99021f82c9135db4 /lib
parentb186de9a2407a944cc309e501c75e8e9afe37ab5 (diff)
downloadFreeBSD-src-fb48ba5d907bec4322e4292fd840d33a0bb662ac.zip
FreeBSD-src-fb48ba5d907bec4322e4292fd840d33a0bb662ac.tar.gz
Optimize tls_get_addr_common(). The change provides around 30% speedup
for TLS microbenchmark using global-dynamic TLS model on amd64 (which is default for PIC dso objects). Split the slow path into tls_get_addr_slow(), for which inlining is disabled. This prevents the registers spill on tls_get_addr_common() entry. Provide static branch hint to the compiler, indicating that slow path is not likely to be taken. While there, do some minimal style adjustments. Reported and tested by: davidxu MFC after: 1 week
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud