]> git.ipfire.org Git - thirdparty/valgrind.git/commit
Split the structure TTEntry into hot (small) and cold (large) parts,
authorJulian Seward <jseward@acm.org>
Wed, 27 Apr 2016 16:46:04 +0000 (16:46 +0000)
committerJulian Seward <jseward@acm.org>
Wed, 27 Apr 2016 16:46:04 +0000 (16:46 +0000)
commitc10a83a800a60c679fd4e847dc1be18a7f9073a5
treea3cf78cc384a50caf26286f8ea58dd8c9d6048d0
parentf0077be94b7e31afa65b070f94ec664dd89368e1
Split the structure TTEntry into hot (small) and cold (large) parts,
TTEntryH and TTEntryC.  TTEntryH is a VexGuestExtents plus one more
field.  For scenarios involving a lot of code discarding, when the
fast-path discard mechanism does not apply, this change reduces
significantly the number of LLC misses, because such discarding
involves sequentially searching the arrays of TTEntryH's.  For recent
Firefoxes the miss rate in a 6MB L3 cache is reduced by about 1/3, as
measured by /usr/bin/perf.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15874
coregrind/m_transtab.c