Unreviewed, add a FIXME referencing https://bugs.webkit.org/show_bug.cgi?id=150777.
authorfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 1 Nov 2015 19:42:51 +0000 (19:42 +0000)
committerfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 1 Nov 2015 19:42:51 +0000 (19:42 +0000)
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::AddressSelector::acceptRoot):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191860 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/b3/B3LowerToAir.cpp

index bda839cc929ee3271d2ce33f7833d7317e969c6c..fc90e2ca2b606ced967b069a37626bf3ccc12122 100644 (file)
@@ -1,3 +1,10 @@
+2015-11-01  Filip Pizlo  <fpizlo@apple.com>
+
+        Unreviewed, add a FIXME referencing https://bugs.webkit.org/show_bug.cgi?id=150777.
+
+        * b3/B3LowerToAir.cpp:
+        (JSC::B3::Air::LowerToAir::AddressSelector::acceptRoot):
+
 2015-11-01  Filip Pizlo  <fpizlo@apple.com>
 
         Unreviewed, add a FIXME referencing https://bugs.webkit.org/show_bug.cgi?id=150775.
index bb7df5191d9284c3a18953374e46c1313a7eed4c..10331cf3b57700f6c3438e3df8035b5545495a7e 100644 (file)
@@ -400,7 +400,15 @@ public:
         {
             this->root = root;
             // We don't want to match an address expression that has already been computed
-            // explicitly.
+            // explicitly. This mostly makes sense. Note that we never hoist basic address
+            // expressions like offset(base), because those are sunk into the MemoryValue. So,
+            // this is mainly just relevant to Index expressions and other more complicated
+            // things. It stands to reason that most of the time, we won't hoist an Index
+            // expression. And if we do, then probably it's a good thing to compute it outside
+            // a loop. That being said, this might turn into a problem. For example, it will
+            // require an extra register to be live. That's unlikely to be profitable.
+            // FIXME: Consider matching an address expression even if we've already assigned a
+            // Tmp to it. https://bugs.webkit.org/show_bug.cgi?id=150777
             return !lower.valueToTmp[root];
         }