Changeset 36036 in webkit for trunk/JavaScriptCore/kjs/nodes.cpp
- Timestamp:
- Sep 2, 2008, 7:58:14 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/nodes.cpp
r36016 r36036 744 744 RegisterID* BinaryOpNode::emitCode(CodeGenerator& generator, RegisterID* dst) 745 745 { 746 OpcodeID opcode = this->opcode(); 747 if (opcode == op_eq || opcode == op_neq) { 748 if (m_expr1->isNull() || m_expr2->isNull()) { 749 RefPtr<RegisterID> src = generator.emitNode(dst, m_expr1->isNull() ? m_expr2.get() : m_expr1.get()); 750 return generator.emitUnaryOp(opcode == op_eq ? op_eq_null : op_neq_null, generator.finalDestination(dst, src.get()), src.get()); 751 } 752 } 753 746 754 RefPtr<RegisterID> src1 = generator.emitNodeForLeftHandSide(m_expr1.get(), m_rightHasAssignments, m_expr2->isPure(generator)); 747 755 RegisterID* src2 = generator.emitNode(m_expr2.get()); 748 return generator.emitBinaryOp(opcode (), generator.finalDestination(dst, src1.get()), src1.get(), src2);756 return generator.emitBinaryOp(opcode, generator.finalDestination(dst, src1.get()), src1.get(), src2); 749 757 } 750 758 … … 1811 1819 proto->putDirect(exec->propertyNames().constructor, func, DontEnum); 1812 1820 func->putDirect(exec->propertyNames().prototype, proto, DontDelete); 1813 func->putDirect(exec->propertyNames().length, jsNumber(exec, m_body->parameters().size()), ReadOnly | DontDelete | DontEnum);1814 1821 return func; 1815 1822 }
Note:
See TracChangeset
for help on using the changeset viewer.