2007-12-28 Eric Seidel <eric@webkit.org>
authoreric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 29 Dec 2007 05:51:32 +0000 (05:51 +0000)
committereric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 29 Dec 2007 05:51:32 +0000 (05:51 +0000)
        Reviewed by Oliver.

        ASSERT when debugging via Drosera due to missed var lookup optimization.
        http://bugs.webkit.org/show_bug.cgi?id=16634

        No test case possible.

        * kjs/nodes.cpp:
        (KJS::BreakpointCheckStatement::optimizeVariableAccess):
        * kjs/nodes.h:

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

JavaScriptCore/ChangeLog
JavaScriptCore/kjs/nodes.cpp
JavaScriptCore/kjs/nodes.h

index c8c80e127653d3885b0a7389edb5c8d8d49719fb..04a5414f695104a1669a28516490d52498033edb 100644 (file)
@@ -1,3 +1,16 @@
+2007-12-28  Eric Seidel  <eric@webkit.org>
+
+        Reviewed by Oliver.
+
+        ASSERT when debugging via Drosera due to missed var lookup optimization.
+        http://bugs.webkit.org/show_bug.cgi?id=16634
+        
+        No test case possible.
+
+        * kjs/nodes.cpp:
+        (KJS::BreakpointCheckStatement::optimizeVariableAccess):
+        * kjs/nodes.h:
+
 2007-12-28  Eric Seidel  <eric@webkit.org>
 
         Reviewed by Oliver.
@@ -5,6 +18,7 @@
         Fix (-0).toFixed() and re-factor a little
         Fix (-0).toExponential() and printing of trailing 0s in toExponential
         Fix toPrecision(nan) handling
+        http://bugs.webkit.org/show_bug.cgi?id=16640
 
         * kjs/number_object.cpp:
         (KJS::numberToFixed):
index d48f9e7ca363bb8433b8ccb29082dcf7c8f4377e..4138e39ae1b27b5feaf5cf25574e8f59be3966e0 100644 (file)
@@ -410,6 +410,11 @@ void BreakpointCheckStatement::streamTo(SourceStream& stream) const
     m_statement->streamTo(stream);
 }
 
+void BreakpointCheckStatement::optimizeVariableAccess(SymbolTable&, DeclarationStacks::NodeStack& nodeStack)
+{
+    nodeStack.append(m_statement.get());
+}
+
 // ------------------------------ NullNode -------------------------------------
 
 JSValue *NullNode::evaluate(ExecState *)
index 233737672c1d2509ba88c0c00e606721e837768f..4fbd91d052652a61ff54f9656a9fe974aa68b7be 100644 (file)
@@ -2103,6 +2103,7 @@ namespace KJS {
         BreakpointCheckStatement(PassRefPtr<StatementNode>) KJS_FAST_CALL;
         virtual JSValue* execute(ExecState*) KJS_FAST_CALL;
         virtual void streamTo(SourceStream&) const KJS_FAST_CALL;
+        virtual void optimizeVariableAccess(SymbolTable&, DeclarationStacks::NodeStack&) KJS_FAST_CALL;
     private:
         RefPtr<StatementNode> m_statement;
     };