Title: [157429] trunk/Source/_javascript_Core
Revision
157429
Author
[email protected]
Date
2013-10-14 16:30:37 -0700 (Mon, 14 Oct 2013)

Log Message

Add FTL support for LogicalNot(string)
https://bugs.webkit.org/show_bug.cgi?id=122765

Patch by Nadav Rotem <[email protected]> on 2013-10-14
Reviewed by Filip Pizlo.

This patch is tested by:
regress/script-tests/emscripten-cube2hash.js.ftl-eager

* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileLogicalNot):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (157428 => 157429)


--- trunk/Source/_javascript_Core/ChangeLog	2013-10-14 23:26:45 UTC (rev 157428)
+++ trunk/Source/_javascript_Core/ChangeLog	2013-10-14 23:30:37 UTC (rev 157429)
@@ -1,3 +1,18 @@
+2013-10-14  Nadav Rotem  <[email protected]>
+
+        Add FTL support for LogicalNot(string)
+        https://bugs.webkit.org/show_bug.cgi?id=122765
+
+        Reviewed by Filip Pizlo.
+
+        This patch is tested by:
+        regress/script-tests/emscripten-cube2hash.js.ftl-eager
+
+        * ftl/FTLCapabilities.cpp:
+        (JSC::FTL::canCompile):
+        * ftl/FTLLowerDFGToLLVM.cpp:
+        (JSC::FTL::LowerDFGToLLVM::compileLogicalNot):
+
 2013-10-14  Julien Brianceau  <[email protected]>
 
         [sh4] Fixes after r157404 and r157411.

Modified: trunk/Source/_javascript_Core/ftl/FTLCapabilities.cpp (157428 => 157429)


--- trunk/Source/_javascript_Core/ftl/FTLCapabilities.cpp	2013-10-14 23:26:45 UTC (rev 157428)
+++ trunk/Source/_javascript_Core/ftl/FTLCapabilities.cpp	2013-10-14 23:30:37 UTC (rev 157429)
@@ -189,6 +189,7 @@
         case BooleanUse:
         case Int32Use:
         case NumberUse:
+        case StringUse:
         case ObjectOrOtherUse:
             break;
         default:

Modified: trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp (157428 => 157429)


--- trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp	2013-10-14 23:26:45 UTC (rev 157428)
+++ trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp	2013-10-14 23:30:37 UTC (rev 157429)
@@ -2109,6 +2109,11 @@
                 equalNullOrUndefined(
                     edge, CellCaseSpeculatesObject, SpeculateNullOrUndefined,
                     ManualOperandSpeculation));
+        case StringUse: {
+            LValue stringValue = lowString(m_node->child1());
+            LValue length = m_out.load32(stringValue, m_heaps.JSString_length);
+            return m_out.notEqual(length, m_out.int32Zero);
+        }
         default:
             RELEASE_ASSERT_NOT_REACHED();
             return 0;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to