Index: Source/platform/heap/ThreadState.cpp |
diff --git a/Source/platform/heap/ThreadState.cpp b/Source/platform/heap/ThreadState.cpp |
index 8d48c23acdc8d33f2ad7d57b84f64e0d4312eec3..f1b91e403620d29259f0e0c22cf3dca0656bbe08 100644 |
--- a/Source/platform/heap/ThreadState.cpp |
+++ b/Source/platform/heap/ThreadState.cpp |
@@ -935,7 +935,14 @@ void ThreadState::copyStackUntilSafePointScope() |
RELEASE_ASSERT(from < to); |
RELEASE_ASSERT(to <= reinterpret_cast<Address*>(m_startOfStack)); |
size_t slotCount = static_cast<size_t>(to - from); |
- ASSERT(slotCount < 1024); // Catch potential performance issues. |
+ // Catch potential performance issues. |
+#if defined(LEAK_SANITIZER) || defined(ADDRESS_SANITIZER) |
+ // ASan/LSan use more space on the stack and we therefore |
+ // increase the allowed stack copying for those builds. |
+ ASSERT(slotCount < 2048); |
+#else |
+ ASSERT(slotCount < 1024); |
+#endif |
ASSERT(!m_safePointStackCopy.size()); |
m_safePointStackCopy.resize(slotCount); |