Changeset 171662 in webkit for trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
- Timestamp:
- Jul 27, 2014, 4:35:32 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
r171660 r171662 996 996 GenerationInfo& info = generationInfoFromVirtualRegister(virtualRegister); 997 997 998 if (edge->hasConstant() && !edge->isCellConstant()) { 999 // Better to fail early on constants. 1000 terminateSpeculativeExecution(Uncountable, JSValueRegs(), 0); 1001 return allocate(); 1002 } 1003 998 1004 switch (info.registerFormat()) { 999 1005 case DataFormatNone: { … … 1002 1008 if (edge->hasConstant()) { 1003 1009 JSValue jsValue = edge->asJSValue(); 1004 if (jsValue.isCell()) { 1005 m_gprs.retain(gpr, virtualRegister, SpillOrderConstant); 1006 m_jit.move(MacroAssembler::TrustedImm64(JSValue::encode(jsValue)), gpr); 1007 info.fillJSValue(*m_stream, gpr, DataFormatJSCell); 1008 return gpr; 1009 } 1010 terminateSpeculativeExecution(Uncountable, JSValueRegs(), 0); 1010 m_gprs.retain(gpr, virtualRegister, SpillOrderConstant); 1011 m_jit.move(MacroAssembler::TrustedImm64(JSValue::encode(jsValue)), gpr); 1012 info.fillJSValue(*m_stream, gpr, DataFormatJSCell); 1011 1013 return gpr; 1012 1014 }
Note:
See TracChangeset
for help on using the changeset viewer.