Commit Graph

10 Commits (e0891c8cfc8d5afbb9e721650db18c615f4009b5)

Author SHA1 Message Date
Daniel Micay e0891c8cfc implement the option of large size classes
This extends the size class scheme used for slab allocations to large
allocations. This drastically improves performance for many real world
programs using incremental realloc growth instead of using proper growth
factors. There are 4 size classes for every doubling in size, resulting
in a worst case of ~20% extra virtual memory being reserved and a huge
increase in performance for pathological cases. For example, growing
from 4MiB to 8MiB by calling realloc in increments of 32 bytes will only
need to do work beyond looking up the size 4 times instead of 1024 times
with 4096 byte granularity.
2019-04-07 08:52:17 -04:00
Daniel Micay 350d0e5fd2 add real mallinfo implementation for Android
Android Q uses the mallinfo implementation in the ART GC:

c220f98180
1575267302
2019-04-06 20:54:26 -04:00
Daniel Micay c5e911419d add initial implementation of arenas 2019-03-25 14:59:50 -04:00
Daniel Micay e4120913d6 only enable LABEL_MEMORY in debug builds 2019-03-20 14:25:09 -04:00
Daniel Micay c9df70d934 add support for labelling memory regions 2019-02-13 13:34:33 -05:00
Daniel Micay 8a474b647c enable both forms of slab quarantines by default 2019-01-02 14:59:19 -05:00
Daniel Micay ccc2a86501 rename quarantine size -> length for clarity 2019-01-02 14:17:02 -05:00
Daniel Micay 8a863ae847 use conlyflags in Android.bp when appropriate 2018-12-06 12:04:42 -05:00
Daniel Micay 830a7d338d make class_region_size configurable 2018-12-05 09:38:13 -05:00
Daniel Micay 8b0450555f add initial Android build system support 2018-12-05 07:59:35 -05:00