[compiler-rt] r324268 - [sanitizer] Revert rL324263

Kostya Kortchinsky via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 5 12:17:24 PST 2018


Author: cryptoad
Date: Mon Feb  5 12:17:24 2018
New Revision: 324268

URL: http://llvm.org/viewvc/llvm-project?rev=324268&view=rev
Log:
[sanitizer] Revert rL324263

Summary:
The 32-bit division  breaks SizeClassAllocator64PopulateFreeListOOM which uses
Primary that has a maximum size > 32-bit.

Reviewers: alekseyshl

Subscribers: kubamracek, delcypher, #sanitizers, llvm-commits

Differential Revision: https://reviews.llvm.org/D42928

Modified:
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator_size_class_map.h

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator_size_class_map.h
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator_size_class_map.h?rev=324268&r1=324267&r2=324268&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator_size_class_map.h (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator_size_class_map.h Mon Feb  5 12:17:24 2018
@@ -163,7 +163,7 @@ class SizeClassMap {
       return (size + kMinSize - 1) >> kMinSizeLog;
     uptr l = MostSignificantSetBitIndex(size);
     uptr hbits = (size >> (l - S)) & M;
-    uptr lbits = size & ((1U << (l - S)) - 1);
+    uptr lbits = size & ((1 << (l - S)) - 1);
     uptr l1 = l - kMidSizeLog;
     return kMidClass + (l1 << S) + hbits + (lbits > 0);
   }
@@ -176,8 +176,7 @@ class SizeClassMap {
       return 16;
     if (UNLIKELY(class_id == 0))
       return 0;
-    const uptr n =
-        (1U << kMaxBytesCachedLog) / static_cast<u32>(Size(class_id));
+    uptr n = (1UL << kMaxBytesCachedLog) / Size(class_id);
     return Max<uptr>(1, Min(kMaxNumCachedHint, n));
   }
 




More information about the llvm-commits mailing list