Changeset 50254 in webkit for trunk/JavaScriptCore/parser/Nodes.cpp
- Timestamp:
- Oct 28, 2009, 6:25:02 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/parser/Nodes.cpp
r49734 r50254 1478 1478 RefPtr<RegisterID> i = generator.newTemporary(); 1479 1479 RefPtr<RegisterID> size = generator.newTemporary(); 1480 RefPtr<RegisterID> expectedSubscript; 1480 1481 RefPtr<RegisterID> iter = generator.emitGetPropertyNames(generator.newTemporary(), base.get(), i.get(), size.get(), scope->breakTarget()); 1481 1482 generator.emitJump(scope->continueTarget()); … … 1485 1486 1486 1487 RegisterID* propertyName; 1488 bool optimizedForinAccess = false; 1487 1489 if (m_lexpr->isResolveNode()) { 1488 1490 const Identifier& ident = static_cast<ResolveNode*>(m_lexpr)->identifier(); … … 1495 1497 generator.emitExpressionInfo(divot(), startOffset(), endOffset()); 1496 1498 generator.emitPutById(base, ident, propertyName); 1499 } else { 1500 expectedSubscript = generator.emitMove(generator.newTemporary(), propertyName); 1501 generator.pushOptimisedForIn(expectedSubscript.get(), iter.get(), i.get(), propertyName); 1502 optimizedForinAccess = true; 1497 1503 } 1498 1504 } else if (m_lexpr->isDotAccessorNode()) { … … 1518 1524 1519 1525 generator.emitNode(dst, m_statement); 1526 1527 if (optimizedForinAccess) 1528 generator.popOptimisedForIn(); 1520 1529 1521 1530 generator.emitLabel(scope->continueTarget());
Note:
See TracChangeset
for help on using the changeset viewer.