Changeset 192842 in webkit for trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
- Timestamp:
- Nov 30, 2015, 4:07:39 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
r192814 r192842 2854 2854 #endif 2855 2855 2856 ResultType leftType = m_state.forNode(node->child1()).resultType(); 2857 ResultType rightType = m_state.forNode(node->child2()).resultType(); 2858 int32_t leftConstInt32 = 0; 2859 int32_t rightConstInt32 = 0; 2860 2861 ASSERT(!leftIsConstInt32 || !rightIsConstInt32); 2862 2863 if (leftIsConstInt32) { 2864 leftConstInt32 = node->child1()->asInt32(); 2856 SnippetOperand leftOperand(m_state.forNode(node->child1()).resultType()); 2857 SnippetOperand rightOperand(m_state.forNode(node->child2()).resultType()); 2858 2859 if (leftIsConstInt32) 2860 leftOperand.setConstInt32(node->child1()->asInt32()); 2861 if (rightIsConstInt32) 2862 rightOperand.setConstInt32(node->child2()->asInt32()); 2863 2864 ASSERT(!leftOperand.isConst() || !rightOperand.isConst()); 2865 2866 if (!leftOperand.isConst()) { 2867 left = JSValueOperand(this, node->child1()); 2868 leftRegs = left->jsValueRegs(); 2869 } 2870 if (!rightOperand.isConst()) { 2865 2871 right = JSValueOperand(this, node->child2()); 2866 2872 rightRegs = right->jsValueRegs(); 2867 } else if (rightIsConstInt32) { 2868 left = JSValueOperand(this, node->child1()); 2869 leftRegs = left->jsValueRegs(); 2870 rightConstInt32 = node->child2()->asInt32(); 2871 } else { 2872 left = JSValueOperand(this, node->child1()); 2873 leftRegs = left->jsValueRegs(); 2874 right = JSValueOperand(this, node->child2()); 2875 rightRegs = right->jsValueRegs(); 2876 } 2877 2878 JITAddGenerator gen(resultRegs, leftRegs, rightRegs, leftType, rightType, 2879 leftIsConstInt32, rightIsConstInt32, leftConstInt32, rightConstInt32, 2873 } 2874 2875 JITAddGenerator gen(leftOperand, rightOperand, resultRegs, leftRegs, rightRegs, 2880 2876 leftFPR, rightFPR, scratchGPR, scratchFPR); 2881 2877 gen.generateFastPath(m_jit); … … 3217 3213 JSValueRegs rightRegs = right.jsValueRegs(); 3218 3214 3219 ResultType leftType = m_state.forNode(node->child1()).resultType();3220 ResultType rightType = m_state.forNode(node->child2()).resultType();3221 3222 3215 FPRTemporary leftNumber(this); 3223 3216 FPRTemporary rightNumber(this); … … 3240 3233 #endif 3241 3234 3242 JITSubGenerator gen(resultRegs, leftRegs, rightRegs, leftType, rightType, 3235 SnippetOperand leftOperand(m_state.forNode(node->child1()).resultType()); 3236 SnippetOperand rightOperand(m_state.forNode(node->child2()).resultType()); 3237 3238 JITSubGenerator gen(leftOperand, rightOperand, resultRegs, leftRegs, rightRegs, 3243 3239 leftFPR, rightFPR, scratchGPR, scratchFPR); 3244 3240 gen.generateFastPath(m_jit);
Note:
See TracChangeset
for help on using the changeset viewer.