Skip to content

Commit 74aab30

Browse files
authored
[TSan, NFC] Eliminate useless calculations in TSan (#145283)
Previously, TSan repeatedly calculated some values in some cases, and this change eliminates these duplicate calculations.
1 parent 20c04a6 commit 74aab30

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

compiler-rt/lib/tsan/rtl/tsan_rtl.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -624,6 +624,7 @@ void MapShadow(uptr addr, uptr size) {
624624
static uptr mapped_meta_end = 0;
625625
uptr meta_begin = (uptr)MemToMeta(addr);
626626
uptr meta_end = (uptr)MemToMeta(addr + size);
627+
// Windows wants 64K alignment.
627628
meta_begin = RoundDownTo(meta_begin, 64 << 10);
628629
meta_end = RoundUpTo(meta_end, 64 << 10);
629630
if (!data_mapped) {
@@ -634,9 +635,6 @@ void MapShadow(uptr addr, uptr size) {
634635
Die();
635636
} else {
636637
// Mapping continuous heap.
637-
// Windows wants 64K alignment.
638-
meta_begin = RoundDownTo(meta_begin, 64 << 10);
639-
meta_end = RoundUpTo(meta_end, 64 << 10);
640638
CHECK_GT(meta_end, mapped_meta_end);
641639
if (meta_begin < mapped_meta_end)
642640
meta_begin = mapped_meta_end;

compiler-rt/lib/tsan/rtl/tsan_sync.cpp

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -247,11 +247,14 @@ void MetaMap::MoveMemory(uptr src, uptr dst, uptr sz) {
247247
CHECK_NE(src, dst);
248248
CHECK_NE(sz, 0);
249249
uptr diff = dst - src;
250-
u32 *src_meta = MemToMeta(src);
251-
u32 *dst_meta = MemToMeta(dst);
252-
u32 *src_meta_end = MemToMeta(src + sz);
253-
uptr inc = 1;
254-
if (dst > src) {
250+
u32 *src_meta, *dst_meta, *src_meta_end;
251+
uptr inc;
252+
if (dst < src) {
253+
src_meta = MemToMeta(src);
254+
dst_meta = MemToMeta(dst);
255+
src_meta_end = MemToMeta(src + sz);
256+
inc = 1;
257+
} else {
255258
src_meta = MemToMeta(src + sz) - 1;
256259
dst_meta = MemToMeta(dst + sz) - 1;
257260
src_meta_end = MemToMeta(src) - 1;

0 commit comments

Comments
 (0)