Index: Source/platform/heap/ThreadState.cpp |
diff --git a/Source/platform/heap/ThreadState.cpp b/Source/platform/heap/ThreadState.cpp |
index fb3061f56e3381ea5b25ba375bc969e1aa2da6e7..230801275137e5a862d5e2eac9e0a07f05a0ff62 100644 |
--- a/Source/platform/heap/ThreadState.cpp |
+++ b/Source/platform/heap/ThreadState.cpp |
@@ -254,7 +254,9 @@ ThreadState::ThreadState() |
if (isMainThread()) { |
s_mainThreadStackStart = reinterpret_cast<uintptr_t>(m_startOfStack) - sizeof(void*); |
- s_mainThreadUnderestimatedStackSize = StackFrameDepth::getUnderestimatedStackSize() - sizeof(void*); |
+ size_t underestimatedStackSize = StackFrameDepth::getUnderestimatedStackSize(); |
+ if (underestimatedStackSize > 0) |
+ s_mainThreadUnderestimatedStackSize = underestimatedStackSize - sizeof(void*); |
} |
for (int heapIndex = 0; heapIndex < LargeObjectHeapIndex; heapIndex++) |