[SCM] WebKit Debian packaging branch, debian/experimental, updated. debian/1.3.8-1-1049-g2e11a8e
aroben at apple.com
aroben at apple.com
Fri Jan 21 15:16:50 UTC 2011
The following commit has been merged in the debian/experimental branch:
commit 44b13a5fc1706760b023ad2895728e91df747db5
Author: aroben at apple.com <aroben at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Jan 10 20:13:38 2011 +0000
Roll out r75289
It was causing assertion failures. See <http://webkit.org/b/52156>.
* wtf/StackBounds.cpp:
(WTF::StackBounds::initialize):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75405 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog
index 41426f1..fddc05b 100644
--- a/Source/JavaScriptCore/ChangeLog
+++ b/Source/JavaScriptCore/ChangeLog
@@ -1,3 +1,12 @@
+2011-01-10 Adam Roben <aroben at apple.com>
+
+ Roll out r75289
+
+ It was causing assertion failures. See <http://webkit.org/b/52156>.
+
+ * wtf/StackBounds.cpp:
+ (WTF::StackBounds::initialize):
+
2011-01-08 Patrick Gansterer <paroga at webkit.org>
Reviewed by Darin Adler.
diff --git a/Source/JavaScriptCore/wtf/StackBounds.cpp b/Source/JavaScriptCore/wtf/StackBounds.cpp
index f83695e..be8ce84 100644
--- a/Source/JavaScriptCore/wtf/StackBounds.cpp
+++ b/Source/JavaScriptCore/wtf/StackBounds.cpp
@@ -60,12 +60,12 @@ namespace WTF {
// Bug 26276 - Need a mechanism to determine stack extent
//
// These platforms should now be working correctly:
-// DARWIN, WINDOWS-CPU(X86), QNX, UNIX, WINCE
+// DARWIN, QNX, UNIX
// These platforms are not:
-// WINDOWS-CPU(X86_64), SOLARIS, OPENBSD, SYMBIAN, HAIKU
+// WINDOWS, SOLARIS, OPENBSD, SYMBIAN, HAIKU, WINCE
//
// FIXME: remove this! - this code unsafely guesses at stack sizes!
-#if (OS(WINDOWS) && CPU(X86_64)) || OS(SOLARIS) || OS(OPENBSD) || OS(SYMBIAN) || OS(HAIKU)
+#if OS(WINDOWS) || OS(SOLARIS) || OS(OPENBSD) || OS(SYMBIAN) || OS(HAIKU)
// Based on the current limit used by the JSC parser, guess the stack size.
static const ptrdiff_t estimatedStackSize = 128 * sizeof(void*) * 1024;
// This method assumes the stack is growing downwards.
@@ -247,37 +247,39 @@ void StackBounds::initialize()
m_bound = isGrowingDownward ? lowerStackBound : upperStackBound;
}
-#elif OS(WINDOWS) && (CPU(X86) || CPU(X86_64))
+#elif OS(WINDOWS)
void StackBounds::initialize()
{
-#if CPU(X86)
- // Offset 0x18 from the FS segment register gives a pointer to
- // the thread information block for the current thread.
+#if CPU(X86) && COMPILER(MSVC)
+ // offset 0x18 from the FS segment register gives a pointer to
+ // the thread information block for the current thread
NT_TIB* pTib;
-#if COMPILER(MSVC)
__asm {
MOV EAX, FS:[18h]
MOV pTib, EAX
}
-#else
+ m_origin = static_cast<void*>(pTib->StackBase);
+#elif CPU(X86) && COMPILER(GCC)
+ // offset 0x18 from the FS segment register gives a pointer to
+ // the thread information block for the current thread
+ NT_TIB* pTib;
asm ( "movl %%fs:0x18, %0\n"
: "=r" (pTib)
);
-#endif
- // See http://en.wikipedia.org/wiki/Win32_Thread_Information_Block for more information!
- void* pDeallocationStack = reinterpret_cast<char*>(pTib) + 0xE0C;
m_origin = static_cast<void*>(pTib->StackBase);
- m_bound = *static_cast<void**>(pDeallocationStack);
#elif CPU(X86_64)
PNT_TIB64 pTib = reinterpret_cast<PNT_TIB64>(NtCurrentTeb());
m_origin = reinterpret_cast<void*>(pTib->StackBase);
- m_bound = estimateStackBound(m_origin);
+#else
+#error Need a way to get the stack bounds on this platform (Windows)
#endif
+ // Looks like we should be able to get pTib->StackLimit
+ m_bound = estimateStackBound(m_origin);
}
#else
-#error Need a way to get the stack bounds on this platform.
+#error Need a way to get the stack bounds on this platform
#endif
} // namespace WTF
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list