[PATCH] D42928: [sanitizer] Revert rL324263
Kostya Kortchinsky via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 5 12:18:40 PST 2018
cryptoad created this revision.
cryptoad added a reviewer: alekseyshl.
Herald added subscribers: Sanitizers, delcypher, kubamracek.
The 32-bit division breaks SizeClassAllocator64PopulateFreeListOOM which uses
Primary that has a maximum size > 32-bit.
Repository:
rCRT Compiler Runtime
https://reviews.llvm.org/D42928
Files:
lib/sanitizer_common/sanitizer_allocator_size_class_map.h
Index: lib/sanitizer_common/sanitizer_allocator_size_class_map.h
===================================================================
--- lib/sanitizer_common/sanitizer_allocator_size_class_map.h
+++ lib/sanitizer_common/sanitizer_allocator_size_class_map.h
@@ -163,7 +163,7 @@
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 @@
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));
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D42928.132877.patch
Type: text/x-patch
Size: 908 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180205/03f5cb51/attachment.bin>
More information about the llvm-commits
mailing list