Changeset 34556 in webkit for trunk/JavaScriptCore/kjs/nodes.cpp
- Timestamp:
- Jun 14, 2008, 10:31:13 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/nodes.cpp
r34555 r34556 408 408 RegisterID* BracketAccessorNode::emitCode(CodeGenerator& generator, RegisterID* dst) 409 409 { 410 RefPtr<RegisterID> base = generator.emitNodeForLeftHandSide(m_base.get(), m_subscriptHasAssignments, m_subscript .get()->isPure(generator));410 RefPtr<RegisterID> base = generator.emitNodeForLeftHandSide(m_base.get(), m_subscriptHasAssignments, m_subscript->isPure(generator)); 411 411 RegisterID* property = generator.emitNode(m_subscript.get()); 412 412 … … 829 829 RegisterID* AddNode::emitCode(CodeGenerator& generator, RegisterID* dst) 830 830 { 831 RefPtr<RegisterID> src1 = generator.emitNodeForLeftHandSide(m_term1.get(), m_rightHasAssignments, m_term2 .get()->isPure(generator));831 RefPtr<RegisterID> src1 = generator.emitNodeForLeftHandSide(m_term1.get(), m_rightHasAssignments, m_term2->isPure(generator)); 832 832 RegisterID* src2 = generator.emitNode(m_term2.get()); 833 833 return generator.emitAdd(generator.finalDestination(dst, src1.get()), src1.get(), src2); … … 836 836 RegisterID* SubNode::emitCode(CodeGenerator& generator, RegisterID* dst) 837 837 { 838 RefPtr<RegisterID> src1 = generator.emitNodeForLeftHandSide(m_term1.get(), m_rightHasAssignments, m_term2 .get()->isPure(generator));838 RefPtr<RegisterID> src1 = generator.emitNodeForLeftHandSide(m_term1.get(), m_rightHasAssignments, m_term2->isPure(generator)); 839 839 RegisterID* src2 = generator.emitNode(m_term2.get()); 840 840 return generator.emitSub(generator.finalDestination(dst, src1.get()), src1.get(), src2); … … 1054 1054 } 1055 1055 1056 if (generator.leftHandSideNeedsCopy(m_rightHasAssignments, m_right .get()->isPure(generator))) {1056 if (generator.leftHandSideNeedsCopy(m_rightHasAssignments, m_right->isPure(generator))) { 1057 1057 RefPtr<RegisterID> result = generator.newTemporary(); 1058 1058 generator.emitMove(result.get(), local); … … 1114 1114 RegisterID* AssignDotNode::emitCode(CodeGenerator& generator, RegisterID* dst) 1115 1115 { 1116 RefPtr<RegisterID> base = generator.emitNodeForLeftHandSide(m_base.get(), m_rightHasAssignments, m_right .get()->isPure(generator));1116 RefPtr<RegisterID> base = generator.emitNodeForLeftHandSide(m_base.get(), m_rightHasAssignments, m_right->isPure(generator)); 1117 1117 RefPtr<RegisterID> value = generator.destinationForAssignResult(dst); 1118 1118 RegisterID* result = generator.emitNode(value.get(), m_right.get()); … … 1125 1125 RegisterID* ReadModifyDotNode::emitCode(CodeGenerator& generator, RegisterID* dst) 1126 1126 { 1127 RefPtr<RegisterID> base = generator.emitNodeForLeftHandSide(m_base.get(), m_rightHasAssignments, m_right .get()->isPure(generator));1127 RefPtr<RegisterID> base = generator.emitNodeForLeftHandSide(m_base.get(), m_rightHasAssignments, m_right->isPure(generator)); 1128 1128 RefPtr<RegisterID> value = generator.emitGetById(generator.tempDestination(dst), base.get(), m_ident); 1129 1129 RegisterID* change = generator.emitNode(m_right.get()); … … 1143 1143 RegisterID* AssignBracketNode::emitCode(CodeGenerator& generator, RegisterID* dst) 1144 1144 { 1145 RefPtr<RegisterID> base = generator.emitNodeForLeftHandSide(m_base.get(), m_subscriptHasAssignments || m_rightHasAssignments, m_subscript .get()->isPure(generator) && m_right.get()->isPure(generator));1146 RefPtr<RegisterID> property = generator.emitNodeForLeftHandSide(m_subscript.get(), m_rightHasAssignments, m_right .get()->isPure(generator));1145 RefPtr<RegisterID> base = generator.emitNodeForLeftHandSide(m_base.get(), m_subscriptHasAssignments || m_rightHasAssignments, m_subscript->isPure(generator) && m_right->isPure(generator)); 1146 RefPtr<RegisterID> property = generator.emitNodeForLeftHandSide(m_subscript.get(), m_rightHasAssignments, m_right->isPure(generator)); 1147 1147 RefPtr<RegisterID> value = generator.destinationForAssignResult(dst); 1148 1148 RegisterID* result = generator.emitNode(value.get(), m_right.get()); … … 1153 1153 RegisterID* ReadModifyBracketNode::emitCode(CodeGenerator& generator, RegisterID* dst) 1154 1154 { 1155 RefPtr<RegisterID> base = generator.emitNodeForLeftHandSide(m_base.get(), m_subscriptHasAssignments || m_rightHasAssignments, m_subscript .get()->isPure(generator) && m_right.get()->isPure(generator));1156 RefPtr<RegisterID> property = generator.emitNodeForLeftHandSide(m_subscript.get(), m_rightHasAssignments, m_right .get()->isPure(generator));1155 RefPtr<RegisterID> base = generator.emitNodeForLeftHandSide(m_base.get(), m_subscriptHasAssignments || m_rightHasAssignments, m_subscript->isPure(generator) && m_right->isPure(generator)); 1156 RefPtr<RegisterID> property = generator.emitNodeForLeftHandSide(m_subscript.get(), m_rightHasAssignments, m_right->isPure(generator)); 1157 1157 1158 1158 RefPtr<RegisterID> value = generator.emitGetByVal(generator.tempDestination(dst), base.get(), property.get());
Note:
See TracChangeset
for help on using the changeset viewer.