Title: [280223] releases/WebKitGTK/webkit-2.32/Source/_javascript_Core
Revision
280223
Author
[email protected]
Date
2021-07-23 01:14:29 -0700 (Fri, 23 Jul 2021)

Log Message

Merge r276524 - Fix B3 strength reduction for shl.
https://bugs.webkit.org/show_bug.cgi?id=224913
rdar://76978874

Reviewed by Michael Saboff.

If the operation can potentially either underflow or overflow, then the result
can be any value.

* b3/B3ReduceStrength.cpp:

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.32/Source/_javascript_Core/ChangeLog (280222 => 280223)


--- releases/WebKitGTK/webkit-2.32/Source/_javascript_Core/ChangeLog	2021-07-23 08:08:09 UTC (rev 280222)
+++ releases/WebKitGTK/webkit-2.32/Source/_javascript_Core/ChangeLog	2021-07-23 08:14:29 UTC (rev 280223)
@@ -1,3 +1,16 @@
+2021-04-23  Mark Lam  <[email protected]>
+
+        Fix B3 strength reduction for shl.
+        https://bugs.webkit.org/show_bug.cgi?id=224913
+        rdar://76978874
+
+        Reviewed by Michael Saboff.
+
+        If the operation can potentially either underflow or overflow, then the result
+        can be any value.
+
+        * b3/B3ReduceStrength.cpp:
+
 2021-06-22  Angelos Oikonomopoulos  <[email protected]>
 
         Properly set numFPRs on ARM with NEON/VFP_V3_D32

Modified: releases/WebKitGTK/webkit-2.32/Source/_javascript_Core/b3/B3ReduceStrength.cpp (280222 => 280223)


--- releases/WebKitGTK/webkit-2.32/Source/_javascript_Core/b3/B3ReduceStrength.cpp	2021-07-23 08:08:09 UTC (rev 280222)
+++ releases/WebKitGTK/webkit-2.32/Source/_javascript_Core/b3/B3ReduceStrength.cpp	2021-07-23 08:14:29 UTC (rev 280223)
@@ -240,10 +240,11 @@
         T newMin = static_cast<T>(m_min) << static_cast<T>(shiftAmount);
         T newMax = static_cast<T>(m_max) << static_cast<T>(shiftAmount);
 
-        if ((newMin >> shiftAmount) != static_cast<T>(m_min))
+        if (((newMin >> shiftAmount) != static_cast<T>(m_min))
+            || ((newMax >> shiftAmount) != static_cast<T>(m_max))) {
             newMin = std::numeric_limits<T>::min();
-        if ((newMax >> shiftAmount) != static_cast<T>(m_max))
             newMax = std::numeric_limits<T>::max();
+        }
 
         return IntRange(newMin, newMax);
     }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to