Changeset 41342 in webkit for trunk/JavaScriptCore/parser/Nodes.cpp
- Timestamp:
- Mar 1, 2009, 11:35:47 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/parser/Nodes.cpp
r40993 r41342 1580 1580 RegisterID* ConstStatementNode::emitBytecode(BytecodeGenerator& generator, RegisterID*) 1581 1581 { 1582 generator.emitDebugHook(WillExecuteStatement, firstLine(), lastLine()); 1582 1583 return generator.emitNode(m_next.get()); 1583 1584 } … … 1590 1591 for (StatementVector::const_iterator it = statements.begin(); it != end; ++it) { 1591 1592 StatementNode* n = it->get(); 1592 if (!n->isLoop())1593 generator.emitDebugHook(WillExecuteStatement, n->firstLine(), n->lastLine());1594 1593 generator.emitNode(dst, n); 1595 1594 } … … 1625 1624 // ------------------------------ EmptyStatementNode --------------------------- 1626 1625 1627 RegisterID* EmptyStatementNode::emitBytecode(BytecodeGenerator&, RegisterID* dst) 1628 { 1626 RegisterID* EmptyStatementNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst) 1627 { 1628 generator.emitDebugHook(WillExecuteStatement, firstLine(), lastLine()); 1629 1629 return dst; 1630 1630 } … … 1643 1643 { 1644 1644 ASSERT(m_expr); 1645 generator.emitDebugHook(WillExecuteStatement, firstLine(), lastLine()); 1645 1646 return generator.emitNode(dst, m_expr.get()); 1646 1647 } … … 1661 1662 { 1662 1663 ASSERT(m_expr); 1664 generator.emitDebugHook(WillExecuteStatement, firstLine(), lastLine()); 1663 1665 return generator.emitNode(m_expr.get()); 1664 1666 } … … 1679 1681 RegisterID* IfNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst) 1680 1682 { 1683 generator.emitDebugHook(WillExecuteStatement, firstLine(), lastLine()); 1684 1681 1685 RefPtr<Label> afterThen = generator.newLabel(); 1682 1686 … … 1684 1688 generator.emitJumpIfFalse(cond, afterThen.get()); 1685 1689 1686 if (!m_ifBlock->isBlock())1687 generator.emitDebugHook(WillExecuteStatement, m_ifBlock->firstLine(), m_ifBlock->lastLine());1688 1689 1690 generator.emitNode(dst, m_ifBlock.get()); 1690 1691 generator.emitLabel(afterThen.get()); … … 1709 1710 RegisterID* IfElseNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst) 1710 1711 { 1712 generator.emitDebugHook(WillExecuteStatement, firstLine(), lastLine()); 1713 1711 1714 RefPtr<Label> beforeElse = generator.newLabel(); 1712 1715 RefPtr<Label> afterElse = generator.newLabel(); … … 1715 1718 generator.emitJumpIfFalse(cond, beforeElse.get()); 1716 1719 1717 if (!m_ifBlock->isBlock())1718 generator.emitDebugHook(WillExecuteStatement, m_ifBlock->firstLine(), m_ifBlock->lastLine());1719 1720 1720 generator.emitNode(dst, m_ifBlock.get()); 1721 1721 generator.emitJump(afterElse.get()); … … 1723 1723 generator.emitLabel(beforeElse.get()); 1724 1724 1725 if (!m_elseBlock->isBlock())1726 generator.emitDebugHook(WillExecuteStatement, m_elseBlock->firstLine(), m_elseBlock->lastLine());1727 1728 1725 generator.emitNode(dst, m_elseBlock.get()); 1729 1726 … … 1755 1752 1756 1753 generator.emitDebugHook(WillExecuteStatement, firstLine(), lastLine()); 1757 1758 if (!m_statement->isBlock()) 1759 generator.emitDebugHook(WillExecuteStatement, m_statement->firstLine(), m_statement->lastLine()); 1760 1754 1761 1755 RefPtr<RegisterID> result = generator.emitNode(dst, m_statement.get()); 1762 1756 … … 1791 1785 RefPtr<Label> topOfLoop = generator.newLabel(); 1792 1786 generator.emitLabel(topOfLoop.get()); 1793 1794 if (!m_statement->isBlock()) 1795 generator.emitDebugHook(WillExecuteStatement, m_statement->firstLine(), m_statement->lastLine()); 1796 1787 1797 1788 generator.emitNode(dst, m_statement.get()); 1798 1789 … … 1841 1832 generator.emitLabel(topOfLoop.get()); 1842 1833 1843 if (!m_statement->isBlock())1844 generator.emitDebugHook(WillExecuteStatement, m_statement->firstLine(), m_statement->lastLine());1845 1834 RefPtr<RegisterID> result = generator.emitNode(dst, m_statement.get()); 1846 1835 1847 1836 generator.emitLabel(scope->continueTarget()); 1837 generator.emitDebugHook(WillExecuteStatement, firstLine(), lastLine()); 1848 1838 if (m_expr3) 1849 1839 generator.emitNode(generator.ignoredResult(), m_expr3.get()); … … 1954 1944 } 1955 1945 1956 if (!m_statement->isBlock())1957 generator.emitDebugHook(WillExecuteStatement, m_statement->firstLine(), m_statement->lastLine());1958 1946 generator.emitNode(dst, m_statement.get()); 1959 1947 1960 1948 generator.emitLabel(scope->continueTarget()); 1961 1949 generator.emitNextPropertyName(propertyName, iter.get(), loopStart.get()); 1950 generator.emitDebugHook(WillExecuteStatement, firstLine(), lastLine()); 1962 1951 generator.emitLabel(scope->breakTarget()); 1963 1952 return dst; … … 1969 1958 RegisterID* ContinueNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst) 1970 1959 { 1960 generator.emitDebugHook(WillExecuteStatement, firstLine(), lastLine()); 1961 1971 1962 LabelScope* scope = generator.continueTarget(m_ident); 1972 1963 … … 1985 1976 RegisterID* BreakNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst) 1986 1977 { 1978 generator.emitDebugHook(WillExecuteStatement, firstLine(), lastLine()); 1979 1987 1980 LabelScope* scope = generator.breakTarget(m_ident); 1988 1981 … … 2010 2003 RegisterID* ReturnNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst) 2011 2004 { 2005 generator.emitDebugHook(WillExecuteStatement, firstLine(), lastLine()); 2012 2006 if (generator.codeType() != FunctionCode) 2013 2007 return emitThrowError(generator, SyntaxError, "Invalid return statement."); … … 2040 2034 RegisterID* WithNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst) 2041 2035 { 2036 generator.emitDebugHook(WillExecuteStatement, firstLine(), lastLine()); 2037 2042 2038 RefPtr<RegisterID> scope = generator.newTemporary(); 2043 2039 generator.emitNode(scope.get(), m_expr.get()); // scope must be protected until popped … … 2245 2241 RegisterID* SwitchNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst) 2246 2242 { 2243 generator.emitDebugHook(WillExecuteStatement, firstLine(), lastLine()); 2244 2247 2245 RefPtr<LabelScope> scope = generator.newLabelScope(LabelScope::Switch); 2248 2246 … … 2268 2266 RegisterID* LabelNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst) 2269 2267 { 2268 generator.emitDebugHook(WillExecuteStatement, firstLine(), lastLine()); 2269 2270 2270 if (generator.breakTarget(m_name)) 2271 2271 return emitThrowError(generator, SyntaxError, "Duplicate label: %s.", m_name); … … 2292 2292 RegisterID* ThrowNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst) 2293 2293 { 2294 generator.emitDebugHook(WillExecuteStatement, firstLine(), lastLine()); 2295 2294 2296 if (dst == generator.ignoredResult()) 2295 2297 dst = 0; … … 2316 2318 RegisterID* TryNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst) 2317 2319 { 2320 generator.emitDebugHook(WillExecuteStatement, firstLine(), lastLine()); 2321 2318 2322 RefPtr<Label> tryStartLabel = generator.newLabel(); 2319 2323 RefPtr<Label> tryEndLabel = generator.newLabel();
Note:
See TracChangeset
for help on using the changeset viewer.