Index: Source/platform/heap/Visitor.h |
diff --git a/Source/platform/heap/Visitor.h b/Source/platform/heap/Visitor.h |
index 28d92bf424abfdf12e5a8bb6aff36bdb137d79b8..969d25f78d2edadbbba48c3e45c3fa73c218e77f 100644 |
--- a/Source/platform/heap/Visitor.h |
+++ b/Source/platform/heap/Visitor.h |
@@ -765,10 +765,17 @@ public: |
// Assert against deep stacks so as to flush them out, |
// but test and appropriately handle them should they occur |
// in release builds. |
+ // |
+ // ASan adds extra stack usage, so disable the assert when it is |
+ // enabled so as to avoid testing against a much lower & too low, |
+ // stack depth threshold. |
+ // |
// FIXME: visitor->isMarked(t) exception is to allow empty trace() |
// calls from HashTable weak processing. Remove the condition once |
// it is refactored. |
+#if !defined(ADDRESS_SANITIZER) |
ASSERT(visitor->canTraceEagerly() || visitor->isMarked(t)); |
+#endif |
if (LIKELY(visitor->canTraceEagerly())) { |
if (visitor->ensureMarked(t)) { |
TraceTrait<T>::trace(visitor, const_cast<T*>(t)); |