This patch adds two methods, __asan_allocate_island and __asan_deallocate_island
and switches our interceptors to using them instead of the default vm_allocate-based approach used by mach_override_ptr. To simplify the code, a fixed memory mapping is used for the allocation pool -- note that we can't mmap an arbitrary chunk of memory, because the shadow memory hasn't been mapped yet (for the reasons discussed in http://code.google.com/p/address-sanitizer/issues/detail?id=24, we cannot map the shadow earlier) The patch drops the program startup time from several second to half a second, which speeds up the execution of ASan tests noticeably. Because of the virtual memory size occupied by the programs it's hard to speed up the shutdown time, which would've also helped the tests. llvm-svn: 148116
Loading
Please register or sign in to comment