OLD | NEW |
(Empty) | |
| 1 diff --git a/third_party/re2/util/sparse_array.h b/third_party/re2/util/sparse_a
rray.h |
| 2 index 3e33f89..4ee5c94 100644 |
| 3 --- a/third_party/re2/util/sparse_array.h |
| 4 +++ b/third_party/re2/util/sparse_array.h |
| 5 @@ -231,7 +231,8 @@ class SparseArray { |
| 6 |
| 7 template<typename Value> |
| 8 SparseArray<Value>::SparseArray() |
| 9 - : size_(0), max_size_(0), sparse_to_dense_(NULL), dense_(), valgrind_(Runni
ngOnValgrind()) {} |
| 10 + : size_(0), max_size_(0), sparse_to_dense_(NULL), dense_(), |
| 11 + valgrind_(RunningOnValgrindOrMemorySanitizer()) {} |
| 12 |
| 13 // IndexValue pairs: exposed in SparseArray::iterator. |
| 14 template<typename Value> |
| 15 @@ -418,7 +419,7 @@ void SparseArray<Value>::create_index(int i) { |
| 16 template<typename Value> SparseArray<Value>::SparseArray(int max_size) { |
| 17 max_size_ = max_size; |
| 18 sparse_to_dense_ = new int[max_size]; |
| 19 - valgrind_ = RunningOnValgrind(); |
| 20 + valgrind_ = RunningOnValgrindOrMemorySanitizer(); |
| 21 dense_.resize(max_size); |
| 22 // Don't need to zero the new memory, but appease Valgrind. |
| 23 if (valgrind_) { |
| 24 diff --git a/third_party/re2/util/sparse_set.h b/third_party/re2/util/sparse_set
.h |
| 25 index 165dd09..4a324d7 100644 |
| 26 --- a/third_party/re2/util/sparse_set.h |
| 27 +++ b/third_party/re2/util/sparse_set.h |
| 28 @@ -54,13 +54,14 @@ namespace re2 { |
| 29 class SparseSet { |
| 30 public: |
| 31 SparseSet() |
| 32 - : size_(0), max_size_(0), sparse_to_dense_(NULL), dense_(NULL), valgrind_(R
unningOnValgrind()) {} |
| 33 + : size_(0), max_size_(0), sparse_to_dense_(NULL), dense_(NULL), |
| 34 + valgrind_(RunningOnValgrindOrMemorySanitizer()) {} |
| 35 |
| 36 SparseSet(int max_size) { |
| 37 max_size_ = max_size; |
| 38 sparse_to_dense_ = new int[max_size]; |
| 39 dense_ = new int[max_size]; |
| 40 - valgrind_ = RunningOnValgrind(); |
| 41 + valgrind_ = RunningOnValgrindOrMemorySanitizer(); |
| 42 // Don't need to zero the memory, but do so anyway |
| 43 // to appease Valgrind. |
| 44 if (valgrind_) { |
| 45 diff --git a/third_party/re2/util/util.h b/third_party/re2/util/util.h |
| 46 index de1ef5b..49159c2 100644 |
| 47 --- a/third_party/re2/util/util.h |
| 48 +++ b/third_party/re2/util/util.h |
| 49 @@ -129,6 +129,14 @@ static inline uint64 Hash64StringWithSeed(const char* s, in
t len, uint32 seed) { |
| 50 return ((uint64)x << 32) | y; |
| 51 } |
| 52 |
| 53 +inline bool RunningOnValgrindOrMemorySanitizer() { |
| 54 +#if defined(MEMORY_SANITIZER) |
| 55 + return true; |
| 56 +#else |
| 57 + return RunningOnValgrind(); |
| 58 +#endif |
| 59 +} |
| 60 + |
| 61 } // namespace re2 |
| 62 |
| 63 #include "util/arena.h" |
OLD | NEW |