[PATCH] D60243: [LSan][AArch64] Speed-up leak and address sanitizers on AArch64 for 47-bit VMA

Sebastian Pop via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 10 08:25:42 PDT 2019


sebpop marked 3 inline comments as done.
sebpop added inline comments.


================
Comment at: compiler-rt/lib/lsan/lsan_allocator.h:75
+  typedef DefaultSizeClassMap SizeClassMap;
+  typedef NoOpMapUnmapCallback MapUnmapCallback;
+  static const uptr kFlags = 0;
----------------
Both `AP64` and `AP32` typedef `MapUnmapCallback` to be the same type: `NoOpMapUnmapCallback`.


================
Comment at: compiler-rt/lib/lsan/lsan_allocator.h:137
+  using AddressSpaceView = Allocator32::AddressSpaceView;
+  using AllocatorCache = DoubleAllocatorCache;
+
----------------
brzycki wrote:
> Is this correct? This is part of what I was commenting on in my previous patch. We're always using the 32-bit versions of `MapUnmapCallback` and `AddressSpaceView` even if we switch at run-time to the 64-bit allocator. @vitalybuka would know better than I if this is guaranteed to be the same across 32/64 on the same arch or not.
See my comment above for `MapUnmapCallback` and the comment below for `AddressSpaceView`.


================
Comment at: compiler-rt/lib/lsan/lsan_allocator.h:215
+using PrimaryAllocatorASVT = DoubleAllocator<Allocator32ASVT<AddressSpaceView>,
+  Allocator64ASVT<AddressSpaceView>>;
+using PrimaryAllocator = PrimaryAllocatorASVT<LocalAddressSpaceView>;
----------------
Both Allocator32ASVT and Allocator64ASVT are instantiated with the same AddressSpaceView, so
Allocator32::AddressSpaceView == Allocator64::AddressSpaceView.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D60243/new/

https://reviews.llvm.org/D60243





More information about the llvm-commits mailing list