JavaScriptCore:
authorggaren@apple.com <ggaren@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 20 Mar 2009 04:28:35 +0000 (04:28 +0000)
committerggaren@apple.com <ggaren@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 20 Mar 2009 04:28:35 +0000 (04:28 +0000)
2009-03-19  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Cameron Zwarich and Oliver Hunt.

        Fixed <rdar://problem/6406045> REGRESSION: Stack overflow on PowerPC on
        fast/workers/use-machine-stack.html (22531)

        Dialed down the re-entry allowance to 64 (from 128).

        On a 512K stack, this leaves about 64K for other code on the stack while
        JavaScript is running. Not perfect, but it solves our crash on PPC.

        Different platforms may want to dial this down even more.

        Also, substantially shrunk BytecodeGenerator. Since we allocate one on
        the stack in order to throw a stack overflow exception -- well, let's
        just say the old code had an appreciation for irony.

        SunSpider reports no change.

        * bytecompiler/BytecodeGenerator.h:
        * interpreter/Interpreter.h:
        (JSC::):

LayoutTests:

2009-03-19  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Cameron Zwarich and Oliver Hunt.

        Re-enabled this test, since it no longer crashes when JavaScriptCore is
        compiled in non-JIT mode.

        * fast/workers/use-machine-stack.html: Copied from fast/workers/use-machine-stack.html-disabled.
        * fast/workers/use-machine-stack.html-disabled: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41852 268f45cc-cd09-0410-ab3c-d52691b4dbfc

JavaScriptCore/ChangeLog
JavaScriptCore/bytecompiler/BytecodeGenerator.h
JavaScriptCore/interpreter/Interpreter.h
LayoutTests/ChangeLog
LayoutTests/fast/workers/use-machine-stack.html [moved from LayoutTests/fast/workers/use-machine-stack.html-disabled with 100% similarity]

index 9be14df..7f15611 100644 (file)
@@ -1,3 +1,27 @@
+2009-03-19  Geoffrey Garen  <ggaren@apple.com>
+
+        Reviewed by Cameron Zwarich and Oliver Hunt.
+
+        Fixed <rdar://problem/6406045> REGRESSION: Stack overflow on PowerPC on
+        fast/workers/use-machine-stack.html (22531)
+
+        Dialed down the re-entry allowance to 64 (from 128).
+        
+        On a 512K stack, this leaves about 64K for other code on the stack while
+        JavaScript is running. Not perfect, but it solves our crash on PPC.
+
+        Different platforms may want to dial this down even more.
+
+        Also, substantially shrunk BytecodeGenerator. Since we allocate one on
+        the stack in order to throw a stack overflow exception -- well, let's
+        just say the old code had an appreciation for irony.
+
+        SunSpider reports no change.
+
+        * bytecompiler/BytecodeGenerator.h:
+        * interpreter/Interpreter.h:
+        (JSC::):
+
 2009-03-19  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
 
         Reviewed by Oliver Hunt.
index 194aabd..75e530e 100644 (file)
@@ -438,11 +438,11 @@ namespace JSC {
         RegisterID m_thisRegister;
         RegisterID m_argumentsRegister;
         int m_activationRegisterIndex;
-        SegmentedVector<RegisterID, 512> m_calleeRegisters;
-        SegmentedVector<RegisterID, 512> m_parameters;
-        SegmentedVector<RegisterID, 512> m_globals;
-        SegmentedVector<LabelScope, 256> m_labelScopes;
-        SegmentedVector<Label, 256> m_labels;
+        SegmentedVector<RegisterID, 32> m_calleeRegisters;
+        SegmentedVector<RegisterID, 32> m_parameters;
+        SegmentedVector<RegisterID, 32> m_globals;
+        SegmentedVector<LabelScope, 8> m_labelScopes;
+        SegmentedVector<Label, 32> m_labels;
         RefPtr<RegisterID> m_lastConstant;
         int m_finallyDepth;
         int m_dynamicScopeDepth;
index e72bc47..dc3e617 100644 (file)
@@ -62,7 +62,7 @@ namespace JSC {
         WillExecuteStatement
     };
 
-    enum { MaxReentryDepth = 128 };
+    enum { MaxReentryDepth = 64 };
 
     class Interpreter {
         friend class JIT;
index c7e7047..f9b3f7b 100644 (file)
@@ -1,3 +1,13 @@
+2009-03-19  Geoffrey Garen  <ggaren@apple.com>
+
+        Reviewed by Cameron Zwarich and Oliver Hunt.
+
+        Re-enabled this test, since it no longer crashes when JavaScriptCore is
+        compiled in non-JIT mode.
+
+        * fast/workers/use-machine-stack.html: Copied from fast/workers/use-machine-stack.html-disabled.
+        * fast/workers/use-machine-stack.html-disabled: Removed.
+
 2009-03-19  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
 
         Reviewed by Oliver Hunt.