scudo: Re-order Allocator fields for improved performance. NFCI.

Move smaller and frequently-accessed fields near the beginning
of the data structure in order to improve locality and reduce
the number of instructions required to form an access to those
fields. With this change I measured a ~5% performance improvement on
BM_malloc_sql_trace_default on aarch64 Android devices (Pixel 4 and
DragonBoard 845c).

Differential Revision: https://reviews.llvm.org/D88350
This commit is contained in:
Peter Collingbourne 2020-09-25 13:36:30 -07:00
parent 54759cefdb
commit e851aeb0a5
1 changed files with 6 additions and 6 deletions

View File

@ -950,12 +950,6 @@ private:
static const uptr MaxTraceSize = 64;
GlobalStats Stats;
TSDRegistryT TSDRegistry;
PrimaryT Primary;
SecondaryT Secondary;
QuarantineT Quarantine;
u32 Cookie;
struct {
@ -968,6 +962,12 @@ private:
u32 QuarantineMaxChunkSize; // quarantine_max_chunk_size
} Options;
GlobalStats Stats;
PrimaryT Primary;
SecondaryT Secondary;
QuarantineT Quarantine;
TSDRegistryT TSDRegistry;
#ifdef GWP_ASAN_HOOKS
gwp_asan::GuardedPoolAllocator GuardedAlloc;
#endif // GWP_ASAN_HOOKS