Changeset 41342 in webkit for trunk/JavaScriptCore/parser/Nodes.h


Ignore:
Timestamp:
Mar 1, 2009, 11:35:47 AM (16 years ago)
Author:
[email protected]
Message:

JavaScriptCore:

2009-03-01 Horia Olaru <[email protected]>

By looking in grammar.y there are only a few types of statement nodes
on which the debugger should stop.

Removed isBlock and isLoop virtual calls. No need to emit debug hooks in
the "statementListEmitCode" method as long as the necessary hooks can be
added in each "emitCode".

https://bugs.webkit.org/show_bug.cgi?id=21073

Reviewed by Kevin McCullough.

  • parser/Nodes.cpp: (JSC::ConstStatementNode::emitBytecode): (JSC::statementListEmitCode): (JSC::EmptyStatementNode::emitBytecode): (JSC::ExprStatementNode::emitBytecode): (JSC::VarStatementNode::emitBytecode): (JSC::IfNode::emitBytecode): (JSC::IfElseNode::emitBytecode): (JSC::DoWhileNode::emitBytecode): (JSC::WhileNode::emitBytecode): (JSC::ForNode::emitBytecode): (JSC::ForInNode::emitBytecode): (JSC::ContinueNode::emitBytecode): (JSC::BreakNode::emitBytecode): (JSC::ReturnNode::emitBytecode): (JSC::WithNode::emitBytecode): (JSC::SwitchNode::emitBytecode): (JSC::LabelNode::emitBytecode): (JSC::ThrowNode::emitBytecode): (JSC::TryNode::emitBytecode):
  • parser/Nodes.h:

WebCore:

2009-03-01 Horia Olaru <[email protected]>

Adding manual debugger test cases for bug.

https://bugs.webkit.org/show_bug.cgi?id=21073

Reviewed by Kevin McCullough.

  • manual-tests/inspector/debugger-step-on-do-while-statements.html: Added.
  • manual-tests/inspector/debugger-step-on-for-in-statements.html: Added.
  • manual-tests/inspector/debugger-step-on-for-statements.html: Added.
  • manual-tests/inspector/debugger-step-on-while-statements.html: Added.
  • manual-tests/inspector/resources/loop-statements.js: Added.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/parser/Nodes.h

    r40131 r41342  
    195195        virtual bool isExprStatement() const JSC_FAST_CALL { return false; }
    196196
    197         virtual bool isBlock() const JSC_FAST_CALL { return false; }
    198         virtual bool isLoop() const JSC_FAST_CALL { return false; }
    199 
    200197    private:
    201198        int m_lastLine;
     
    17091706        StatementVector& children() { return m_children; }
    17101707
    1711         virtual bool isBlock() const JSC_FAST_CALL { return true; }
    1712 
    17131708    private:
    17141709        StatementVector m_children;
     
    18221817        virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0) JSC_FAST_CALL;
    18231818
    1824         virtual bool isLoop() const JSC_FAST_CALL { return true; }
    1825 
    18261819    private:
    18271820        RefPtr<StatementNode> m_statement;
     
    18421835
    18431836        virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0) JSC_FAST_CALL;
    1844 
    1845         virtual bool isLoop() const JSC_FAST_CALL { return true; }
    18461837
    18471838    private:
     
    18681859        virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0) JSC_FAST_CALL;
    18691860
    1870         virtual bool isLoop() const JSC_FAST_CALL { return true; }
    1871 
    18721861    private:
    18731862        RefPtr<ExpressionNode> m_expr1;
     
    18871876
    18881877        virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0) JSC_FAST_CALL;
    1889 
    1890         virtual bool isLoop() const JSC_FAST_CALL { return true; }
    18911878
    18921879    private:
Note: See TracChangeset for help on using the changeset viewer.