summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/algorithms
diff options
context:
space:
mode:
authorKeno Fischer <kfischer@college.harvard.edu>2015-10-01 02:45:07 +0000
committerKeno Fischer <kfischer@college.harvard.edu>2015-10-01 02:45:07 +0000
commit17433bd10259761a673390a01c63d3fa7766ae4a (patch)
treedd9647c63f7640930c73d15ba2827b798e6c9772 /libcxx/test/std/algorithms
parent9143378db0ec22c92a0af0c51fcfbcbfd24c359d (diff)
downloadbcm5719-llvm-17433bd10259761a673390a01c63d3fa7766ae4a.tar.gz
bcm5719-llvm-17433bd10259761a673390a01c63d3fa7766ae4a.zip
Fix performance problem in long-running SectionMemoryManagers
Summary: Without this patch, the memory manager would call `mprotect` on every memory region it ever allocated whenever it wanted to finalize memory (i.e. not just the ones it just allocated). This caused terrible performance problems for long running memory managers. In one particular compile heavy julia benchmark, we were spending 50% of time in `mprotect` if running under MCJIT. Fix this by splitting allocated memory blocks into those on which memory permissions have been set and those on which they haven't and only running `mprotect` on the latter. Reviewers: lhames Subscribers: reames, llvm-commits Differential Revision: http://reviews.llvm.org/D13156 llvm-svn: 248981
Diffstat (limited to 'libcxx/test/std/algorithms')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud