- fix broken regression tests
authordarin@apple.com <darin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 21 Dec 2007 15:36:13 +0000 (15:36 +0000)
committerdarin@apple.com <darin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 21 Dec 2007 15:36:13 +0000 (15:36 +0000)
        The broken tests were fast/js/do-while-expression-value.html and
        fast/js/while-expression-value.html.

        * kjs/nodes.cpp: Check in the correct version of this file. I had accidentally landed
        an old version of my patch for bug 16471.
        (KJS::statementListExecute): The logic here was backwards. Have to set the value
        even for non-normal execution results.

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

JavaScriptCore/ChangeLog
JavaScriptCore/kjs/nodes.cpp

index 0471bb3a21a9f2dfe99458b267ab819a488db5d1..692dd7ad1e2a33b3d15dcb8e0def3bb6fab5f63f 100644 (file)
@@ -1,3 +1,15 @@
+2007-12-21  Darin Adler  <darin@apple.com>
+
+        - fix broken regression tests
+
+        The broken tests were fast/js/do-while-expression-value.html and
+        fast/js/while-expression-value.html.
+
+        * kjs/nodes.cpp: Check in the correct version of this file. I had accidentally landed
+        an old version of my patch for bug 16471.
+        (KJS::statementListExecute): The logic here was backwards. Have to set the value
+        even for non-normal execution results.
+
 2007-12-20  Alexey Proskuryakov  <ap@webkit.org>
 
         Windows build fix
index 3fdb6a49e1af788768a4e5a2bf4ccf4be85118c9..d29d889d7a1091940009164b3d3a7291d518da7e 100644 (file)
@@ -3594,10 +3594,10 @@ static inline JSValue* statementListExecute(SourceElements& statements, ExecStat
     size_t size = statements.size();
     for (size_t i = 0; i != size; ++i) {
         JSValue* statementValue = statements[i]->execute(exec);
-        if (exec->completionType() != Normal)
-            return statementValue;
         if (statementValue)
             value = statementValue;
+        if (exec->completionType() != Normal)
+            return value;
     }
     return exec->setNormalCompletion(value);
 }