Title: [284715] trunk/Source/_javascript_Core
Revision
284715
Author
[email protected]
Date
2021-10-22 14:47:34 -0700 (Fri, 22 Oct 2021)

Log Message

Change Heap::writeBarrier() to do the cheaper check first.
https://bugs.webkit.org/show_bug.cgi?id=232172

Reviewed by Robin Morisset.

It's cheaper to do a check using incoming args (which are already loaded in
registers) than to do a check which requires memory loads.

* heap/HeapInlines.h:
(JSC::Heap::writeBarrier):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (284714 => 284715)


--- trunk/Source/_javascript_Core/ChangeLog	2021-10-22 21:40:02 UTC (rev 284714)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-10-22 21:47:34 UTC (rev 284715)
@@ -1,3 +1,16 @@
+2021-10-22  Mark Lam  <[email protected]>
+
+        Change Heap::writeBarrier() to do the cheaper check first.
+        https://bugs.webkit.org/show_bug.cgi?id=232172
+
+        Reviewed by Robin Morisset.
+
+        It's cheaper to do a check using incoming args (which are already loaded in
+        registers) than to do a check which requires memory loads.
+
+        * heap/HeapInlines.h:
+        (JSC::Heap::writeBarrier):
+
 2021-10-22  Asumu Takikawa  <[email protected]>
 
         Change WebAssembly module import linking time to evaluate step.

Modified: trunk/Source/_javascript_Core/heap/HeapInlines.h (284714 => 284715)


--- trunk/Source/_javascript_Core/heap/HeapInlines.h	2021-10-22 21:40:02 UTC (rev 284714)
+++ trunk/Source/_javascript_Core/heap/HeapInlines.h	2021-10-22 21:47:34 UTC (rev 284715)
@@ -109,10 +109,10 @@
 #endif
     if (!from)
         return;
+    if (LIKELY(!to))
+        return;
     if (!isWithinThreshold(from->cellState(), barrierThreshold()))
         return;
-    if (LIKELY(!to))
-        return;
     writeBarrierSlowPath(from);
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to