[SCM] WebKit Debian packaging branch, debian/experimental, updated. debian/1.3.8-1-142-g786665c

commit-queue at webkit.org commit-queue at webkit.org
Mon Dec 27 16:27:27 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 390075573bb9802af48ca6642e3dd29465ae4b39
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Dec 21 16:56:18 2010 +0000

    2010-12-21  Sheriff Bot  <webkit.review.bot at gmail.com>
    
            Unreviewed, rolling out r74402.
            http://trac.webkit.org/changeset/74402
            https://bugs.webkit.org/show_bug.cgi?id=51402
    
            This patch broke the Windows 7 Release Layout Tests (Requested
            by jessieberlin on #webkit).
    
            * wtf/StackBounds.cpp:
            (WTF::estimateStackBound):
            (WTF::StackBounds::initialize):
    2010-12-21  Sheriff Bot  <webkit.review.bot at gmail.com>
    
            Unreviewed, rolling out r74402.
            http://trac.webkit.org/changeset/74402
            https://bugs.webkit.org/show_bug.cgi?id=51402
    
            This patch broke the Windows 7 Release Layout Tests (Requested
            by jessieberlin on #webkit).
    
            * fast/js/large-expressions-expected.txt:
            * fast/js/script-tests/large-expressions.js:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74415 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index b7a100e..d80093e 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,3 +1,16 @@
+2010-12-21  Sheriff Bot  <webkit.review.bot at gmail.com>
+
+        Unreviewed, rolling out r74402.
+        http://trac.webkit.org/changeset/74402
+        https://bugs.webkit.org/show_bug.cgi?id=51402
+
+        This patch broke the Windows 7 Release Layout Tests (Requested
+        by jessieberlin on #webkit).
+
+        * wtf/StackBounds.cpp:
+        (WTF::estimateStackBound):
+        (WTF::StackBounds::initialize):
+
 2010-12-21  Peter Varga  <pvarga at inf.u-szeged.hu>
 
         Reviewed by Csaba Osztrogonác.
diff --git a/JavaScriptCore/wtf/StackBounds.cpp b/JavaScriptCore/wtf/StackBounds.cpp
index 0ae7ebf..2f91c2b 100644
--- a/JavaScriptCore/wtf/StackBounds.cpp
+++ b/JavaScriptCore/wtf/StackBounds.cpp
@@ -57,23 +57,14 @@
 
 namespace WTF {
 
-// Bug 26276 - Need a mechanism to determine stack extent
-//
-// These platforms should now be working correctly:
-//     DARWIN, WINDOWS, QNX, UNIX
-// These platforms are not:
-//     SOLARIS, OPENBSD, SYMBIAN, HAIKU, WINCE
-//
-// FIXME: remove this! - this code unsafely guesses at stack sizes!
-#if OS(SOLARIS) || OS(OPENBSD) || OS(SYMBIAN) || OS(HAIKU) || OS(WINCE)
 // 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.
 static void* estimateStackBound(void* origin)
 {
     return static_cast<char*>(origin) - estimatedStackSize;
 }
-#endif
 
 #if OS(DARWIN)
 
@@ -81,7 +72,7 @@ void StackBounds::initialize()
 {
     pthread_t thread = pthread_self();
     m_origin = pthread_get_stackaddr_np(thread);
-    m_bound = static_cast<char*>(m_origin) - pthread_get_stacksize_np(thread);
+    m_bound = estimateStackBound(m_origin);
 }
 
 #elif OS(WINDOWS)
@@ -97,7 +88,6 @@ void StackBounds::initialize()
         MOV pTib, EAX
     }
     m_origin = static_cast<void*>(pTib->StackBase);
-    m_bound = static_cast<void*>(pTib->StackLimit);
 #elif OS(WINDOWS) && CPU(X86) && COMPILER(GCC)
     // offset 0x18 from the FS segment register gives a pointer to
     // the thread information block for the current thread
@@ -106,14 +96,13 @@ void StackBounds::initialize()
           : "=r" (pTib)
         );
     m_origin = static_cast<void*>(pTib->StackBase);
-    m_bound = static_cast<void*>(pTib->StackLimit);
 #elif OS(WINDOWS) && CPU(X86_64)
     PNT_TIB64 pTib = reinterpret_cast<PNT_TIB64>(NtCurrentTeb());
     m_origin = reinterpret_cast<void*>(pTib->StackBase);
-    m_bound = reinterpret_cast<void*>(pTib->StackLimit);
 #else
 #error Need a way to get the stack bounds on this platform (Windows)
 #endif
+    m_bound = estimateStackBound(m_origin);
 }
 
 #elif OS(QNX)
@@ -138,8 +127,8 @@ void StackBounds::initialize()
     stackSize = threadInfo.stksize;
     ASSERT(stackBase);
 
-    m_bound = stackBase;
     m_origin = static_cast<char*>(stackBase) + stackSize;
+    m_bound = estimateStackBound(m_origin);
 }
 
 #elif OS(SOLARIS)
@@ -205,8 +194,8 @@ void StackBounds::initialize()
     (void)rc; // FIXME: Deal with error code somehow? Seems fatal.
     ASSERT(stackBase);
     pthread_attr_destroy(&sattr);
-    m_bound = stackBase;
     m_origin = static_cast<char*>(stackBase) + stackSize;
+    m_bound = estimateStackBound(m_origin);
 }
 
 #elif OS(WINCE)
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 5d6fd97..b1da715 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,15 @@
+2010-12-21  Sheriff Bot  <webkit.review.bot at gmail.com>
+
+        Unreviewed, rolling out r74402.
+        http://trac.webkit.org/changeset/74402
+        https://bugs.webkit.org/show_bug.cgi?id=51402
+
+        This patch broke the Windows 7 Release Layout Tests (Requested
+        by jessieberlin on #webkit).
+
+        * fast/js/large-expressions-expected.txt:
+        * fast/js/script-tests/large-expressions.js:
+
 2010-12-21  Andrei Popescu  <andreip at google.com>
 
         Unreviewed build fix.
diff --git a/LayoutTests/fast/js/large-expressions-expected.txt b/LayoutTests/fast/js/large-expressions-expected.txt
index 743964f..3306023 100644
--- a/LayoutTests/fast/js/large-expressions-expected.txt
+++ b/LayoutTests/fast/js/large-expressions-expected.txt
@@ -5,7 +5,7 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 
 PASS eval(repeatedExpression("letterA", "+", 100)) is repeatedString("a", 100)
 PASS eval(repeatedExpression("letterA", "+", 1000)) is repeatedString("a", 1000)
-PASS eval(repeatedExpression("letterA", "+", 10000)) is repeatedString("a", 10000)
+PASS eval(repeatedExpression("letterA", "+", 10000)) threw exception SyntaxError: Expression too deep.
 PASS eval(repeatedExpression("letterA", "+", 100000)) threw exception SyntaxError: Expression too deep.
 PASS successfullyParsed is true
 
diff --git a/LayoutTests/fast/js/script-tests/large-expressions.js b/LayoutTests/fast/js/script-tests/large-expressions.js
index c019cc8..2bc3f3a 100644
--- a/LayoutTests/fast/js/script-tests/large-expressions.js
+++ b/LayoutTests/fast/js/script-tests/large-expressions.js
@@ -26,7 +26,7 @@ function repeatedString(value, count)
 
 shouldBe('eval(repeatedExpression("letterA", "+", 100))', 'repeatedString("a", 100)');
 shouldBe('eval(repeatedExpression("letterA", "+", 1000))', 'repeatedString("a", 1000)');
-shouldBe('eval(repeatedExpression("letterA", "+", 10000))', 'repeatedString("a", 10000)');
+shouldThrow('eval(repeatedExpression("letterA", "+", 10000))', '"SyntaxError: Expression too deep"');
 shouldThrow('eval(repeatedExpression("letterA", "+", 100000))', '"SyntaxError: Expression too deep"');
 
 var successfullyParsed = true;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list