Title: [292269] trunk/Source/_javascript_Core
Revision
292269
Author
keith_mil...@apple.com
Date
2022-04-02 13:36:24 -0700 (Sat, 02 Apr 2022)

Log Message

AI should do int32 optimization in ValueRep
https://bugs.webkit.org/show_bug.cgi?id=238699

Reviewed by Saam Barati.

When constant folding an int52 into a ValueRep AI doesn't
do our normal int32 boxing optimization. I'm not sure if
it matters since I couldn't find a test but it probably
doesn't hurt.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (292268 => 292269)


--- trunk/Source/_javascript_Core/ChangeLog	2022-04-02 18:38:23 UTC (rev 292268)
+++ trunk/Source/_javascript_Core/ChangeLog	2022-04-02 20:36:24 UTC (rev 292269)
@@ -1,3 +1,18 @@
+2022-04-02  Keith Miller  <keith_mil...@apple.com>
+
+        AI should do int32 optimization in ValueRep
+        https://bugs.webkit.org/show_bug.cgi?id=238699
+
+        Reviewed by Saam Barati.
+
+        When constant folding an int52 into a ValueRep AI doesn't
+        do our normal int32 boxing optimization. I'm not sure if
+        it matters since I couldn't find a test but it probably
+        doesn't hurt.
+
+        * dfg/DFGAbstractInterpreterInlines.h:
+        (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
+
 2022-04-02  Adrian Perez de Castro  <ape...@igalia.com>
 
         [GTK] Replace gtk-doc with gi-docgen

Modified: trunk/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h (292268 => 292269)


--- trunk/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h	2022-04-02 18:38:23 UTC (rev 292268)
+++ trunk/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h	2022-04-02 20:36:24 UTC (rev 292269)
@@ -750,6 +750,10 @@
     case ValueRep: {
         JSValue value = forNode(node->child1()).value();
         if (value) {
+            if (node->child1().useKind() == Int52RepUse) {
+                if (auto int32 = value.tryGetAsInt32())
+                    value = jsNumber(*int32);
+            }
             setConstant(node, value);
             break;
         }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to