[PATCH] D41190: [tsan] Separate the constants in libignore and bump the maximum for instrumented libraries

Phabricator via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 3 18:30:05 PST 2018


This revision was automatically updated to reflect the committed changes.
Closed by commit rL321782: [tsan] Separate the constants in libignore and bump the maximum for… (authored by kuba.brecka, committed by ).

Changed prior to commit:
  https://reviews.llvm.org/D41190?vs=126788&id=128591#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D41190

Files:
  compiler-rt/trunk/lib/sanitizer_common/sanitizer_libignore.cc
  compiler-rt/trunk/lib/sanitizer_common/sanitizer_libignore.h


Index: compiler-rt/trunk/lib/sanitizer_common/sanitizer_libignore.h
===================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_libignore.h
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_libignore.h
@@ -66,14 +66,16 @@
     return (pc >= range.begin && pc < range.end);
   }
 
-  static const uptr kMaxLibs = 128;
+  static const uptr kMaxIgnoredRanges = 128;
+  static const uptr kMaxInstrumentedRanges = 1024;
+  static const uptr kMaxLibs = 1024;
 
   // Hot part:
   atomic_uintptr_t ignored_ranges_count_;
-  LibCodeRange ignored_code_ranges_[kMaxLibs];
+  LibCodeRange ignored_code_ranges_[kMaxIgnoredRanges];
 
   atomic_uintptr_t instrumented_ranges_count_;
-  LibCodeRange instrumented_code_ranges_[kMaxLibs];
+  LibCodeRange instrumented_code_ranges_[kMaxInstrumentedRanges];
 
   // Cold part:
   BlockingMutex mutex_;
Index: compiler-rt/trunk/lib/sanitizer_common/sanitizer_libignore.cc
===================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_libignore.cc
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_libignore.cc
@@ -80,7 +80,7 @@
         lib->name = internal_strdup(mod.full_name());
         const uptr idx =
             atomic_load(&ignored_ranges_count_, memory_order_relaxed);
-        CHECK_LT(idx, kMaxLibs);
+        CHECK_LT(idx, ARRAY_SIZE(ignored_code_ranges_));
         ignored_code_ranges_[idx].begin = range.beg;
         ignored_code_ranges_[idx].end = range.end;
         atomic_store(&ignored_ranges_count_, idx + 1, memory_order_release);
@@ -109,7 +109,7 @@
                 range.beg, range.end, mod.full_name());
         const uptr idx =
             atomic_load(&instrumented_ranges_count_, memory_order_relaxed);
-        CHECK_LT(idx, kMaxLibs);
+        CHECK_LT(idx, ARRAY_SIZE(instrumented_code_ranges_));
         instrumented_code_ranges_[idx].begin = range.beg;
         instrumented_code_ranges_[idx].end = range.end;
         atomic_store(&instrumented_ranges_count_, idx + 1,


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D41190.128591.patch
Type: text/x-patch
Size: 2066 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180104/1b72c664/attachment.bin>


More information about the llvm-commits mailing list