[llvm-commits] [compiler-rt] r162991 - /compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator64.h

Kostya Serebryany kcc at google.com
Fri Aug 31 05:41:01 PDT 2012


Author: kcc
Date: Fri Aug 31 07:41:00 2012
New Revision: 162991

URL: http://llvm.org/viewvc/llvm-project?rev=162991&view=rev
Log:
[tsan] locate the auxilary space for tsan's Allocator64 after the main region, not before. This simplifies the shadow mappings

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

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator64.h
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator64.h?rev=162991&r1=162990&r2=162991&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator64.h (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator64.h Fri Aug 31 07:41:00 2012
@@ -212,8 +212,8 @@
     UnmapOrDie(reinterpret_cast<void*>(AllocBeg()), AllocSize());
   }
 
-  static uptr AllocBeg()  { return kSpaceBeg  - AdditionalSize(); }
-  static uptr AllocEnd()  { return kSpaceBeg  + kSpaceSize; }
+  static uptr AllocBeg()  { return kSpaceBeg; }
+  static uptr AllocEnd()  { return kSpaceBeg  + kSpaceSize + AdditionalSize(); }
   static uptr AllocSize() { return kSpaceSize + AdditionalSize(); }
 
   static const uptr kNumClasses = 256;  // Power of two <= 256
@@ -245,8 +245,8 @@
 
   RegionInfo *GetRegionInfo(uptr class_id) {
     CHECK_LT(class_id, kNumClasses);
-    RegionInfo *regions = reinterpret_cast<RegionInfo*>(kSpaceBeg);
-    return &regions[-1 - class_id];
+    RegionInfo *regions = reinterpret_cast<RegionInfo*>(kSpaceBeg + kSpaceSize);
+    return &regions[class_id];
   }
 
   static uptr GetChunkIdx(uptr chunk, uptr size) {





More information about the llvm-commits mailing list