Changeset 121307 in webkit for trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
- Timestamp:
- Jun 26, 2012, 6:34:01 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
r121215 r121307 2001 2001 } 2002 2002 2003 MacroAssembler::Jump inBounds = m_jit.branch32(MacroAssembler::Below, propertyReg, MacroAssembler::Address(baseReg, descriptor.m_lengthOffset));2004 m_jit.xorPtr(resultReg, resultReg);2005 MacroAssembler::Jump outOfBounds = m_jit.jump();2006 inBounds.link(&m_jit);2003 speculationCheck( 2004 Uncountable, JSValueRegs(), NoNode, 2005 m_jit.branch32( 2006 MacroAssembler::AboveOrEqual, propertyReg, MacroAssembler::Address(baseReg, descriptor.m_lengthOffset))); 2007 2007 switch (elementSize) { 2008 2008 case 1: … … 2024 2024 ASSERT_NOT_REACHED(); 2025 2025 } 2026 outOfBounds.link(&m_jit);2027 2026 if (elementSize < 4 || signedness == SignedTypedArray) { 2028 2027 integerResult(resultReg, m_compileIndex); … … 2163 2162 FPRReg resultReg = result.fpr(); 2164 2163 ASSERT(speculationRequirements != NoTypedArraySpecCheck); 2165 MacroAssembler::Jump inBounds = m_jit.branch32(MacroAssembler::Below, propertyReg, MacroAssembler::Address(baseReg, descriptor.m_lengthOffset)); 2166 static const double zero = 0; 2167 m_jit.loadDouble(&zero, resultReg); 2168 MacroAssembler::Jump outOfBounds = m_jit.jump(); 2169 inBounds.link(&m_jit); 2164 speculationCheck( 2165 Uncountable, JSValueRegs(), NoNode, 2166 m_jit.branch32( 2167 MacroAssembler::AboveOrEqual, propertyReg, MacroAssembler::Address(baseReg, descriptor.m_lengthOffset))); 2170 2168 switch (elementSize) { 2171 2169 case 4: … … 2184 2182 ASSERT_NOT_REACHED(); 2185 2183 } 2186 outOfBounds.link(&m_jit);2187 2184 doubleResult(resultReg, m_compileIndex); 2188 2185 }
Note:
See TracChangeset
for help on using the changeset viewer.