summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/python_api/default-constructor
diff options
context:
space:
mode:
authorJonas Devlieghere <jonas@devlieghere.com>2018-06-21 21:37:53 +0000
committerJonas Devlieghere <jonas@devlieghere.com>2018-06-21 21:37:53 +0000
commit0bad3f625e18d1369f180ef7d3d19678a8aa7b17 (patch)
treeb2fec766204b4bbc1d69bccdd10d630b2876e4d7 /lldb/packages/Python/lldbsuite/test/python_api/default-constructor
parent63f244c4f4f84fd066f8d6dca30d662f1a3dc06a (diff)
downloadbcm5719-llvm-0bad3f625e18d1369f180ef7d3d19678a8aa7b17.tar.gz
bcm5719-llvm-0bad3f625e18d1369f180ef7d3d19678a8aa7b17.zip
[dsymutil] Force mmap'ing of binaries
After the recent refactoring that introduced parallel handling of different object, the binary holder became unique per object file. This defeats its optimization of caching archives, leading to an archive being opened for every binary it contains. This is obviously unfortunate and will need to be refactored soon. Luckily in practice, the impact of this is limited as most files are mmap'ed instead of memcopy'd. There's a caveat however: when the memory buffer requires a null terminator and it's a multiple of the page size, we allocate instead of mmap'ing. If this happens for a static archive, we end up with N copies of it in memory, where N is the number of objects in the archive, leading to exuberant memory usage. This provided a stopgap solution to ensure that all the files it loads are mmap in memory by removing the requirement for a terminating null byte. Differential revision: https://reviews.llvm.org/D48397 llvm-svn: 335293
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/default-constructor')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud