Reviewed by Maciej.
authorkmccullo <kmccullo@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 24 Oct 2006 03:18:50 +0000 (03:18 +0000)
committerkmccullo <kmccullo@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 24 Oct 2006 03:18:50 +0000 (03:18 +0000)
       - Fixes two regressions on win.  Both are stack overflows. For one the number of regressions is capped at 100, and for the other, nested parenthesis pairs are not evaluated (since they would evaluate to whatever is in them anyway).

        * kjs/grammar.y:
        * kjs/object.cpp:

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

JavaScriptCore/ChangeLog
JavaScriptCore/kjs/grammar.y
JavaScriptCore/kjs/object.cpp

index 1fc288e06ac4f52f19fc60e05eb3c1604c22eac0..679628a3fb25a3b25a1d1050c9e01551908531b3 100644 (file)
@@ -1,3 +1,12 @@
+2006-10-23  Kevin McCullough  <KMcCullough@apple.com>
+
+        Reviewed by Maciej.
+
+       - Fixes two regressions on win.  Both are stack overflows. For one the number of regressions is capped at 100, and for the other, nested parenthesis pairs are not evaluated (since they would evaluate to whatever is in them anyway).
+
+        * kjs/grammar.y:
+        * kjs/object.cpp:
+
 2006-10-21  Steve Falkenburg  <sfalken@apple.com>
 
         Reviewed by Adam.
index 6899e9c60bba8c07aa9ab0c3163b6a891ddfcb3a..d00d42aa2741717bfcf3b2401ffac9cbd8cb36b7 100644 (file)
@@ -239,7 +239,8 @@ PrimaryExprNoBrace:
   | Literal
   | ArrayLiteral
   | IDENT                               { $$ = new ResolveNode(*$1); }
-  | '(' Expr ')'                        { $$ = $2->isResolveNode() ? $2 : new GroupNode($2); }
+  | '(' Expr ')'                        { $$ = $2->isResolveNode() || $$ = $2->isGroupNode() ?
+                                            $2 : new GroupNode($2); }
 ;
 
 ArrayLiteral:
index 74c1e12dc159f2f7ff4fb7c2e4fb72a96c67bf4f..4f519232dabf12e6f91406cd0a28825416fb70e8 100644 (file)
@@ -34,7 +34,7 @@
 
 // maximum global call stack size. Protects against accidental or
 // malicious infinite recursions. Define to -1 if you want no limit.
-#if PLATFORM(DARWIN)
+#if PLATFORM(DARWIN) || PLATFORM(WIN_OS)
 // Given OS X stack sizes we run out of stack at about 350 levels.
 // If we improve our stack usage, we can bump this number.
 #define KJS_MAX_STACK 100