Title: [149900] branches/dfgFourthTier/Source/_javascript_Core
- Revision
- 149900
- Author
- [email protected]
- Date
- 2013-05-10 12:12:30 -0700 (Fri, 10 May 2013)
Log Message
fourthTier: FTL should support CompareStrictEq
https://bugs.webkit.org/show_bug.cgi?id=115927
Reviewed by Mark Hahnenberg.
Do the sensible thing, and make it so that for common cases, CompareEq is
implemented in terms of CompareStrictEq in the FTL backend. All of the cases
we currently support can be done this way.
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileCompareEq):
(LowerDFGToLLVM):
(JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq):
Modified Paths
Diff
Modified: branches/dfgFourthTier/Source/_javascript_Core/ChangeLog (149899 => 149900)
--- branches/dfgFourthTier/Source/_javascript_Core/ChangeLog 2013-05-10 19:10:01 UTC (rev 149899)
+++ branches/dfgFourthTier/Source/_javascript_Core/ChangeLog 2013-05-10 19:12:30 UTC (rev 149900)
@@ -1,5 +1,24 @@
2013-05-10 Filip Pizlo <[email protected]>
+ fourthTier: FTL should support CompareStrictEq
+ https://bugs.webkit.org/show_bug.cgi?id=115927
+
+ Reviewed by Mark Hahnenberg.
+
+ Do the sensible thing, and make it so that for common cases, CompareEq is
+ implemented in terms of CompareStrictEq in the FTL backend. All of the cases
+ we currently support can be done this way.
+
+ * ftl/FTLCapabilities.cpp:
+ (JSC::FTL::canCompile):
+ * ftl/FTLLowerDFGToLLVM.cpp:
+ (JSC::FTL::LowerDFGToLLVM::compileNode):
+ (JSC::FTL::LowerDFGToLLVM::compileCompareEq):
+ (LowerDFGToLLVM):
+ (JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq):
+
+2013-05-10 Filip Pizlo <[email protected]>
+
fourthTier: FTL should support Int32ToDouble
https://bugs.webkit.org/show_bug.cgi?id=115926
Modified: branches/dfgFourthTier/Source/_javascript_Core/ftl/FTLCapabilities.cpp (149899 => 149900)
--- branches/dfgFourthTier/Source/_javascript_Core/ftl/FTLCapabilities.cpp 2013-05-10 19:10:01 UTC (rev 149899)
+++ branches/dfgFourthTier/Source/_javascript_Core/ftl/FTLCapabilities.cpp 2013-05-10 19:12:30 UTC (rev 149900)
@@ -130,6 +130,7 @@
}
break;
case CompareEq:
+ case CompareStrictEq:
if (node->isBinaryUseKind(Int32Use))
break;
if (node->isBinaryUseKind(NumberUse))
Modified: branches/dfgFourthTier/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp (149899 => 149900)
--- branches/dfgFourthTier/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp 2013-05-10 19:10:01 UTC (rev 149899)
+++ branches/dfgFourthTier/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp 2013-05-10 19:12:30 UTC (rev 149900)
@@ -364,6 +364,9 @@
case CompareEq:
compileCompareEq();
break;
+ case CompareStrictEq:
+ compileCompareStrictEq();
+ break;
case CompareLess:
compileCompareLess();
break;
@@ -952,6 +955,18 @@
void compileCompareEq()
{
+ if (m_node->isBinaryUseKind(Int32Use)
+ || m_node->isBinaryUseKind(NumberUse)
+ || m_node->isBinaryUseKind(ObjectUse)) {
+ compileCompareStrictEq();
+ return;
+ }
+
+ RELEASE_ASSERT_NOT_REACHED();
+ }
+
+ void compileCompareStrictEq()
+ {
if (m_node->isBinaryUseKind(Int32Use)) {
m_booleanValues.add(
m_node,
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes