Title: [98063] trunk/Source/_javascript_Core
- Revision
- 98063
- Author
- commit-qu...@webkit.org
- Date
- 2011-10-20 21:01:28 -0700 (Thu, 20 Oct 2011)
Log Message
DFG JIT 32_64 - Fix ByteArray speculation
https://bugs.webkit.org/show_bug.cgi?id=70571
Patch by Yuqiang Xian <yuqiang.x...@intel.com> on 2011-10-20
Reviewed by Filip Pizlo.
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::ValueSource::forPrediction):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (98062 => 98063)
--- trunk/Source/_javascript_Core/ChangeLog 2011-10-21 03:35:50 UTC (rev 98062)
+++ trunk/Source/_javascript_Core/ChangeLog 2011-10-21 04:01:28 UTC (rev 98063)
@@ -1,3 +1,15 @@
+2011-10-20 Yuqiang Xian <yuqiang.x...@intel.com>
+
+ DFG JIT 32_64 - Fix ByteArray speculation
+ https://bugs.webkit.org/show_bug.cgi?id=70571
+
+ Reviewed by Filip Pizlo.
+
+ * dfg/DFGSpeculativeJIT.h:
+ (JSC::DFG::ValueSource::forPrediction):
+ * dfg/DFGSpeculativeJIT32_64.cpp:
+ (JSC::DFG::SpeculativeJIT::compile):
+
2011-10-20 Vincent Scheib <sch...@chromium.org>
MouseLock compile and run time flags.
Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h (98062 => 98063)
--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h 2011-10-21 03:35:50 UTC (rev 98062)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h 2011-10-21 04:01:28 UTC (rev 98063)
@@ -99,7 +99,7 @@
{
if (isInt32Prediction(prediction))
return ValueSource(Int32InRegisterFile);
- if (isArrayPrediction(prediction))
+ if (isArrayPrediction(prediction) || isByteArrayPrediction(prediction))
return ValueSource(CellInRegisterFile);
return ValueSource(ValueInRegisterFile);
}
Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp (98062 => 98063)
--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp 2011-10-21 03:35:50 UTC (rev 98062)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp 2011-10-21 04:01:28 UTC (rev 98063)
@@ -696,13 +696,13 @@
break;
}
- if (isArrayPrediction(prediction)) {
+ if (isArrayPrediction(prediction) || isByteArrayPrediction(prediction)) {
m_jit.load32(JITCompiler::payloadFor(node.local()), result.gpr());
// Like cellResult, but don't useChildren - our children are phi nodes,
// and don't represent values within this dataflow with virtual registers.
VirtualRegister virtualRegister = node.virtualRegister();
- m_gprs.retain(result.gpr(), virtualRegister, SpillOrderInteger);
+ m_gprs.retain(result.gpr(), virtualRegister, SpillOrderCell);
m_generationInfo[virtualRegister].initCell(m_compileIndex, node.refCount(), result.gpr());
break;
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes