Index: third_party/WebKit/Source/platform/heap/StackFrameDepth.h |
diff --git a/third_party/WebKit/Source/platform/heap/StackFrameDepth.h b/third_party/WebKit/Source/platform/heap/StackFrameDepth.h |
index 35a4dc41539647d9b9e9086ec07362cfff6f5234..184878a6d24b8da293db41804037902c9acfd61a 100644 |
--- a/third_party/WebKit/Source/platform/heap/StackFrameDepth.h |
+++ b/third_party/WebKit/Source/platform/heap/StackFrameDepth.h |
@@ -42,6 +42,17 @@ public: |
#if ENABLE(ASSERT) |
inline static bool isEnabled() { return s_isEnabled; } |
+ inline static bool isAcceptableStackUse() |
+ { |
+ // ASan adds extra stack usage leading to too noisy asserts. |
+#if defined(ADDRESS_SANITIZER) |
+ return true; |
+#else |
+ // If a conservative fallback stack size is in effect, use |
+ // a larger stack limit so as to avoid false positives. |
+ return !s_isEnabled || isSafeToRecurse() || (s_isUsingFallbackStackSize && (s_stackFrameLimit - currentStackFrame()) < 3 * kSafeStackFrameSize); |
haraken
2016/02/04 01:31:36
Nit: Slightly clearer:
if (s_isUsingFallbackStack
sof
2016/02/04 09:54:32
Done.
|
+#endif |
+ } |
#endif |
static size_t getUnderestimatedStackSize(); |
@@ -76,6 +87,7 @@ private: |
static uintptr_t s_stackFrameLimit; |
#if ENABLE(ASSERT) |
static bool s_isEnabled; |
+ static bool s_isUsingFallbackStackSize; |
#endif |
}; |