diff options
-rw-r--r-- | compiler-rt/lib/tsan/rtl/tsan_platform.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/compiler-rt/lib/tsan/rtl/tsan_platform.h b/compiler-rt/lib/tsan/rtl/tsan_platform.h index 903ff5be3ea..f9c9eec82a3 100644 --- a/compiler-rt/lib/tsan/rtl/tsan_platform.h +++ b/compiler-rt/lib/tsan/rtl/tsan_platform.h @@ -703,13 +703,13 @@ uptr ShadowToMemImpl(uptr s) { // range consecutively and see if shadow->app->shadow mapping gives us the // same address. uptr p = (s / kShadowCnt) ^ Mapping::kAppMemXor; - if (MemToShadow(p) == s && - p >= Mapping::kLoAppMemBeg && p < Mapping::kLoAppMemEnd) + if (p >= Mapping::kLoAppMemBeg && p < Mapping::kLoAppMemEnd && + MemToShadow(p) == s) return p; # ifdef TSAN_MID_APP_RANGE p = ((s / kShadowCnt) ^ Mapping::kAppMemXor) + Mapping::kMidShadowOff; - if (MemToShadow(p) == s && - p >= Mapping::kMidAppMemBeg && p < Mapping::kMidAppMemEnd) + if (p >= Mapping::kMidAppMemBeg && p < Mapping::kMidAppMemEnd && + MemToShadow(p) == s) return p; # endif return ((s / kShadowCnt) ^ Mapping::kAppMemXor) | Mapping::kAppMemMsk; |