Title: [287218] trunk/Source/_javascript_Core
Revision
287218
Author
sbar...@apple.com
Date
2021-12-17 19:35:22 -0800 (Fri, 17 Dec 2021)

Log Message

Use IRC by default on arm64
https://bugs.webkit.org/show_bug.cgi?id=234449

Reviewed by Yusuke Suzuki.

I'm seeing a Wasm perf improvement on some benchmarks of ~12% by switching
from Briggs to IRC. Let's make IRC the default on arm64.

* b3/air/AirAllocateRegistersByGraphColoring.cpp:
* b3/air/AirAllocateRegistersByGraphColoring.h:
(JSC::B3::Air::useIRC): Deleted.

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (287217 => 287218)


--- trunk/Source/_javascript_Core/ChangeLog	2021-12-18 03:06:39 UTC (rev 287217)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-12-18 03:35:22 UTC (rev 287218)
@@ -1,5 +1,19 @@
 2021-12-17  Saam Barati  <sbar...@apple.com>
 
+        Use IRC by default on arm64
+        https://bugs.webkit.org/show_bug.cgi?id=234449
+
+        Reviewed by Yusuke Suzuki.
+
+        I'm seeing a Wasm perf improvement on some benchmarks of ~12% by switching
+        from Briggs to IRC. Let's make IRC the default on arm64.
+
+        * b3/air/AirAllocateRegistersByGraphColoring.cpp:
+        * b3/air/AirAllocateRegistersByGraphColoring.h:
+        (JSC::B3::Air::useIRC): Deleted.
+
+2021-12-17  Saam Barati  <sbar...@apple.com>
+
         Support WasmAddress in B3 CSE
         https://bugs.webkit.org/show_bug.cgi?id=234051
         <rdar://problem/86552957>

Modified: trunk/Source/_javascript_Core/b3/air/AirAllocateRegistersByGraphColoring.cpp (287217 => 287218)


--- trunk/Source/_javascript_Core/b3/air/AirAllocateRegistersByGraphColoring.cpp	2021-12-18 03:06:39 UTC (rev 287217)
+++ trunk/Source/_javascript_Core/b3/air/AirAllocateRegistersByGraphColoring.cpp	2021-12-18 03:35:22 UTC (rev 287218)
@@ -1815,6 +1815,10 @@
                 return false;
             };
 
+            auto useIRC = [] {
+                return Options::airForceIRCAllocator() || !Options::airForceBriggsAllocator();
+            };
+
             if (m_code.numTmps(bank) < WTF::maxSizeForSmallInterferenceGraph) {
                 if (useIRC()) {
                     ColoringAllocator<uint16_t, bank, IRC, SmallInterferenceGraph> allocator(m_code, m_tmpWidth, m_useCounts, unspillableTmps);

Modified: trunk/Source/_javascript_Core/b3/air/AirAllocateRegistersByGraphColoring.h (287217 => 287218)


--- trunk/Source/_javascript_Core/b3/air/AirAllocateRegistersByGraphColoring.h	2021-12-18 03:06:39 UTC (rev 287217)
+++ trunk/Source/_javascript_Core/b3/air/AirAllocateRegistersByGraphColoring.h	2021-12-18 03:35:22 UTC (rev 287218)
@@ -34,12 +34,6 @@
 
 class Code;
 
-inline bool useIRC()
-{
-    return Options::airForceIRCAllocator()
-        || (!isARM64() && !Options::airForceBriggsAllocator());
-}
-
 // We have two register allocators, both fundamentally derived from Chaitin's Yorktown
 // allocator:
 // http://cs.gmu.edu/~white/CS640/p98-chaitin.pdf
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to