Changeset 90799 in webkit
- Timestamp:
- Jul 11, 2011 6:10:07 PM (13 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r90768 r90799 1 2011-07-11 Filip Pizlo <fpizlo@apple.com> 2 3 DFG speculative JIT does not guard itself against floating point speculation 4 failures on non-floating-point constants. 5 https://bugs.webkit.org/show_bug.cgi?id=64330 6 7 Reviewed by Gavin Barraclough. 8 9 Made fillSpeculateDouble immediate invoke terminateSpeculativeExecution() as 10 soon as it notices that it's speculating on something that is a non-numeric 11 JSConstant. 12 13 * dfg/DFGSpeculativeJIT.cpp: 14 (JSC::DFG::SpeculativeJIT::fillSpeculateDouble): 15 1 16 2011-07-11 Filip Pizlo <fpizlo@apple.com> 2 17 -
trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
r90768 r90799 207 207 return fpr; 208 208 } 209 ASSERT(isJSConstant(nodeIndex)); 210 JSValue jsValue = valueOfJSConstant(nodeIndex); 211 m_jit.move(MacroAssembler::ImmPtr(JSValue::encode(jsValue)), gpr); 212 m_gprs.retain(gpr, virtualRegister, SpillOrderConstant); 213 info.fillJSValue(gpr, DataFormatJS); 214 unlock(gpr); 209 terminateSpeculativeExecution(); 210 return fprAllocate(); 215 211 } else { 216 212 DataFormat spillFormat = info.spillFormat();
Note: See TracChangeset
for help on using the changeset viewer.