Changeset 37763 in webkit for trunk/JavaScriptCore
- Timestamp:
- Oct 21, 2008, 2:29:31 PM (17 years ago)
- Location:
- trunk/JavaScriptCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/ChangeLog
r37762 r37763 1 2008-10-21 Darin Adler <[email protected]> 2 3 Reviewed by Maciej Stachowiak. 4 5 - convert post-increment to pre-increment in a couple more places for speed 6 7 Speeds up V8 benchmarks a little on most computers. (But, strangely, slows 8 them down a little on my computer.) 9 10 * kjs/nodes.cpp: 11 (JSC::statementListEmitCode): Removed default argument, since we always want 12 to specify this explicitly. 13 (JSC::ForNode::emitCode): Tolerate ignoredResult() as the dst -- means the 14 same thing as 0. 15 (JSC::ReturnNode::emitCode): Ditto. 16 (JSC::ThrowNode::emitCode): Ditto. 17 (JSC::FunctionBodyNode::emitCode): Pass ignoredResult() so that we know we 18 don't have to compute the result of function statements. 19 1 20 2008-10-21 Peter Kasting <[email protected]> 2 21 -
trunk/JavaScriptCore/kjs/nodes.cpp
r37681 r37763 1058 1058 // ------------------------------ Helper functions for handling Vectors of StatementNode ------------------------------- 1059 1059 1060 static inline RegisterID* statementListEmitCode(StatementVector& statements, CodeGenerator& generator, RegisterID* dst = 0)1060 static inline RegisterID* statementListEmitCode(StatementVector& statements, CodeGenerator& generator, RegisterID* dst) 1061 1061 { 1062 1062 StatementVector::iterator end = statements.end(); … … 1228 1228 RegisterID* ForNode::emitCode(CodeGenerator& generator, RegisterID* dst) 1229 1229 { 1230 if (dst == ignoredResult()) 1231 dst = 0; 1232 1230 1233 generator.emitDebugHook(WillExecuteStatement, firstLine(), lastLine()); 1231 1234 … … 1408 1411 if (generator.codeType() != FunctionCode) 1409 1412 return emitThrowError(generator, SyntaxError, "Invalid return statement."); 1410 1413 1414 if (dst == ignoredResult()) 1415 dst = 0; 1411 1416 RegisterID* r0 = m_value ? generator.emitNode(dst, m_value.get()) : generator.emitLoad(dst, jsUndefined()); 1412 1417 if (generator.scopeDepth()) { … … 1613 1618 RegisterID* ThrowNode::emitCode(CodeGenerator& generator, RegisterID* dst) 1614 1619 { 1620 if (dst == ignoredResult()) 1621 dst = 0; 1615 1622 RefPtr<RegisterID> expr = generator.emitNode(dst, m_expr.get()); 1616 1623 generator.emitExpressionInfo(m_divot, m_startOffset, m_endOffset); … … 1809 1816 { 1810 1817 generator.emitDebugHook(DidEnterCallFrame, firstLine(), lastLine()); 1811 statementListEmitCode(m_children, generator );1818 statementListEmitCode(m_children, generator, ignoredResult()); 1812 1819 if (!m_children.size() || !m_children.last()->isReturnNode()) { 1813 1820 RegisterID* r0 = generator.emitLoad(0, jsUndefined());
Note:
See TracChangeset
for help on using the changeset viewer.