Title: [286390] trunk/Source/_javascript_Core
Revision
286390
Author
[email protected]
Date
2021-12-01 15:15:43 -0800 (Wed, 01 Dec 2021)

Log Message

[JSC] RegExpTestInline DFG / FTL nodes should introduce a write-barrier
https://bugs.webkit.org/show_bug.cgi?id=233716

Reviewed by Michael Saboff.

Since RegExpTestInline fast path stores cells into JSGlobalObject's RegExpCachedResult field,
we need to consider about inserting a write-barrier onto JSGlobalObject.
This patch adds RegExpTestInline to DFGStoreBarrierInsertionPhase so that DFG / FTL inserts
a write-barrier appropriately.

* dfg/DFGStoreBarrierInsertionPhase.cpp:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (286389 => 286390)


--- trunk/Source/_javascript_Core/ChangeLog	2021-12-01 23:03:24 UTC (rev 286389)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-12-01 23:15:43 UTC (rev 286390)
@@ -1,3 +1,17 @@
+2021-12-01  Yusuke Suzuki  <[email protected]>
+
+        [JSC] RegExpTestInline DFG / FTL nodes should introduce a write-barrier
+        https://bugs.webkit.org/show_bug.cgi?id=233716
+
+        Reviewed by Michael Saboff.
+
+        Since RegExpTestInline fast path stores cells into JSGlobalObject's RegExpCachedResult field,
+        we need to consider about inserting a write-barrier onto JSGlobalObject.
+        This patch adds RegExpTestInline to DFGStoreBarrierInsertionPhase so that DFG / FTL inserts
+        a write-barrier appropriately.
+
+        * dfg/DFGStoreBarrierInsertionPhase.cpp:
+
 2021-12-01  Keith Miller  <[email protected]>
 
         Add static_assert the value we use to initialize a StructureID buffer should be 0.

Modified: trunk/Source/_javascript_Core/dfg/DFGStoreBarrierInsertionPhase.cpp (286389 => 286390)


--- trunk/Source/_javascript_Core/dfg/DFGStoreBarrierInsertionPhase.cpp	2021-12-01 23:03:24 UTC (rev 286389)
+++ trunk/Source/_javascript_Core/dfg/DFGStoreBarrierInsertionPhase.cpp	2021-12-01 23:15:43 UTC (rev 286390)
@@ -308,6 +308,11 @@
                 break;
             }
 
+            case RegExpTestInline: {
+                considerBarrier(m_node->child1());
+                break;
+            }
+
             case RecordRegExpCachedResult: {
                 considerBarrier(m_graph.varArgChild(m_node, 0));
                 break;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to