Repository: WebKit/WebKit
Pull request #44955: [JSC] Move `log1p` from `FOR_EACH_ARITH_UNARY_OP_CUSTOM` to `FOR_EACH_ARITH_UNARY_OP_STD`
Author: login: Gumichocopengin8
Created: 2025-05-05T19:28:44Z | Merged: 2025-05-07T01:24:13Z

#### 80a7d8d4cd4f464f9c79298a16380065cb7ffa63
<pre>
[JSC] Move `log1p` from `FOR_EACH_ARITH_UNARY_OP_CUSTOM` to `FOR_EACH_ARITH_UNARY_OP_STD`
<a href="https://bugs.webkit.org/show_bug.cgi?id=292560">https://bugs.webkit.org/show_bug.cgi?id=292560</a>

Reviewed by Yusuke Suzuki.

Move log1p from FOR_EACH_ARITH_UNARY_OP_CUSTOM to FOR_EACH_ARITH_UNARY_OP_STD

* JSTests/microbenchmarks/math-log1p.js: Added.
* Source/JavaScriptCore/runtime/MathCommon.cpp:
(JSC::Math::log1pDoubleImpl): Deleted.
(JSC::Math::log1pFloatImpl): Deleted.
(JSC::Math::log1p): Deleted.
* Source/JavaScriptCore/runtime/MathCommon.h:

Canonical link: <a href="https://commits.webkit.org/294588@main">https://commits.webkit.org/294588@main</a>
</pre>
<!--EWS-Status-Bubble-Start-->
https://github.com/WebKit/WebKit/commit/81d6dfb9fd56135a6fa3d1164254bef5d4f55ad9

| Misc | iOS, visionOS, tvOS & watchOS  | macOS  | Linux |  Windows |
| ----- | ---------------------- | ------- |  ----- |  --------- |
| [✅ 🧪 style](https://ews-build.webkit.org/#/builders/38/builds/102258 "Passed style check") | [✅ 🛠 ios](https://ews-build.webkit.org/#/builders/131/builds/21926 "Built successfully") | [✅ 🛠 mac](https://ews-build.webkit.org/#/builders/138/builds/12241 "Built successfully") | [✅ 🛠 wpe](https://ews-build.webkit.org/#/builders/5/builds/107418 "Built successfully") | [✅ 🛠 win](https://ews-build.webkit.org/#/builders/59/builds/52894 "Built successfully") 
| | [✅ 🛠 ios-sim](https://ews-build.webkit.org/#/builders/130/builds/22235 "Built successfully") | [✅ 🛠 mac-AS-debug](https://ews-build.webkit.org/#/builders/123/builds/30433 "Built successfully") | [✅ 🧪 wpe-wk2](https://ews-build.webkit.org/#/builders/34/builds/77808 "Passed tests") | [✅ 🧪 win-tests](https://ews-build.webkit.org/#/builders/60/builds/34795 "Passed tests") 
| [✅ 🧪 webkitperl](https://ews-build.webkit.org/#/builders/11/builds/105264 "Passed tests") | [✅ 🧪 ios-wk2](https://ews-build.webkit.org/#/builders/132/builds/17210 "Passed tests") | [✅ 🧪 api-mac](https://ews-build.webkit.org/#/builders/18/builds/92310 "Passed tests") | [✅ 🧪 api-wpe](https://ews-build.webkit.org/#/builders/41/builds/58146 "Passed tests") | 
| | [✅ 🧪 ios-wk2-wpt](https://ews-build.webkit.org/#/builders/133/builds/17041 "Passed tests") | [✅ 🧪 mac-wk1](https://ews-build.webkit.org/#/builders/135/builds/10338 "Passed tests") | [✅ 🛠 wpe-cairo](https://ews-build.webkit.org/#/builders/65/builds/52252 "Built successfully") | 
| [✅ 🛠 🧪 jsc](https://ews-build.webkit.org/#/builders/20/builds/94929 "Built successfully and passed tests") | [✅ 🧪 api-ios](https://ews-build.webkit.org/#/builders/13/builds/86870 "Passed tests") | [✅ 🧪 mac-wk2](https://ews-build.webkit.org/#/builders/136/builds/10408 "Passed tests") | [✅ 🛠 gtk](https://ews-build.webkit.org/#/builders/2/builds/109793 "Built successfully") | 
| [✅ 🛠 🧪 jsc-arm64](https://ews-build.webkit.org/#/builders/12/builds/100867 "Built successfully and passed tests") | [✅ 🛠 vision](https://ews-build.webkit.org/#/builders/128/builds/29390 "Built successfully") | [✅ 🧪 mac-AS-debug-wk2](https://ews-build.webkit.org/#/builders/122/builds/21663 "Passed tests") | [✅ 🧪 gtk-wk2](https://ews-build.webkit.org/#/builders/1/builds/86789 "Passed tests") | 
| | [✅ 🛠 vision-sim](https://ews-build.webkit.org/#/builders/121/builds/29754 "Built successfully") | [✅ 🧪 mac-wk2-stress](https://ews-build.webkit.org/#/builders/8/builds/88513 "Passed tests") | [✅ 🧪 api-gtk](https://ews-build.webkit.org/#/builders/21/builds/86377 "Passed tests") | 
| | [✅ 🧪 vision-wk2](https://ews-build.webkit.org/#/builders/126/builds/31189 "Passed tests") | [✅ 🧪 mac-intel-wk2](https://ews-build.webkit.org/#/builders/137/builds/8905 "Passed tests") | [  ~~🛠 playstation~~](https://ews-build.webkit.org/#/builders/134/builds/23632 "The change is no longer eligible for processing.") | 
| [✅ 🛠 🧪 unsafe-merge](https://ews-build.webkit.org/#/builders/22/builds/16628 "Built successfully and passed tests") | [✅ 🛠 tv](https://ews-build.webkit.org/#/builders/127/builds/29318 "Built successfully") | [✅ 🛠 mac-safer-cpp](https://ews-build.webkit.org/#/builders/120/builds/34613 "Built successfully") | [✅ 🛠 jsc-armv7](https://ews-build.webkit.org/#/builders/35/builds/124493 "Built successfully") | 
| | [✅ 🛠 tv-sim](https://ews-build.webkit.org/#/builders/125/builds/29129 "Built successfully") | | [✅ 🧪 jsc-armv7-tests](https://ews-build.webkit.org/#/builders/25/builds/34564 "Passed tests") | 
| | [✅ 🛠 watch](https://ews-build.webkit.org/#/builders/129/builds/32452 "Built successfully") | | | 
| | [✅ 🛠 watch-sim](https://ews-build.webkit.org/#/builders/124/builds/30688 "Built successfully") | | | 
<!--EWS-Status-Bubble-End-->


Diff:
diff --git a/JSTests/microbenchmarks/math-log1p.js b/JSTests/microbenchmarks/math-log1p.js
new file mode 100644
index 000000000000..db3d24bed3b3
--- /dev/null
+++ b/JSTests/microbenchmarks/math-log1p.js
@@ -0,0 +1,40 @@
+(function () {
+  var finiteResult = 0;
+  var posZeroResult = 0;
+  var negZeroResult = 0;
+  var infinityResult = 0;
+  var negInfinityResult = 0;
+  var nanResult = 0;
+  var values = [
+    0,
+    -0,
+    1,
+    -1 + Math.E,
+    -1,
+    -2,
+    Number.MAX_VALUE,
+    Number.MIN_VALUE,
+    Number.MAX_SAFE_INTEGER,
+    Number.MIN_SAFE_INTEGER,
+    Infinity,
+    -Infinity,
+    NaN
+  ];
+  for (var i = 0; i < testLoopCount; ++i) {
+    for (var j = 0; j < values.length; ++j) {
+      var output = Math.log1p(values[j]);
+      if (output !== output) nanResult++;
+      else if (output === Infinity) infinityResult++;
+      else if (output === -Infinity) negInfinityResult++;
+      else if (output === 0 && (1 / output) === Infinity) posZeroResult++;
+      else if (output === 0 && (1 / output) === -Infinity) negZeroResult++;
+      else finiteResult++;
+    }
+  }
+  if (finiteResult !== testLoopCount * 5) throw 'Error: bad finiteResult: ' + finiteResult;
+  if (posZeroResult !== testLoopCount * 1) throw 'Error: bad posZeroResult: ' + posZeroResult;
+  if (negZeroResult !== testLoopCount * 1) throw 'Error: bad negZeroResult: ' + negZeroResult;
+  if (negInfinityResult !== testLoopCount * 1) throw 'Error: bad infinityResult: ' + infinityResult;
+  if (negInfinityResult !== testLoopCount * 1) throw 'Error: bad negInfinityResult: ' + negInfinityResult;
+  if (nanResult !== testLoopCount * 4) throw 'Error: bad nanResult: ' + nanResult;
+})();
diff --git a/Source/JavaScriptCore/runtime/MathCommon.cpp b/Source/JavaScriptCore/runtime/MathCommon.cpp
index cacd236e63e1..24429b75b65a 100644
--- a/Source/JavaScriptCore/runtime/MathCommon.cpp
+++ b/Source/JavaScriptCore/runtime/MathCommon.cpp
@@ -486,25 +486,6 @@ JSC_DEFINE_NOEXCEPT_JIT_OPERATION(jsRound, double, (double value))
 
 namespace Math {
 
-static ALWAYS_INLINE double log1pDoubleImpl(double value)
-{
-    if (value == 0.0)
-        return value;
-    return std::log1p(value);
-}
-
-static ALWAYS_INLINE float log1pFloatImpl(float value)
-{
-    if (value == 0.0)
-        return value;
-    return std::log1p(value);
-}
-
-double log1p(double value)
-{
-    return log1pDoubleImpl(value);
-}
-
 #define JSC_DEFINE_VIA_STD(capitalizedName, lowerName) \
     JSC_DEFINE_NOEXCEPT_JIT_OPERATION(lowerName##Double, double, (double value)) \
     { \
@@ -517,18 +498,6 @@ double log1p(double value)
 FOR_EACH_ARITH_UNARY_OP_STD(JSC_DEFINE_VIA_STD)
 #undef JSC_DEFINE_VIA_STD
 
-#define JSC_DEFINE_VIA_CUSTOM(capitalizedName, lowerName) \
-    JSC_DEFINE_NOEXCEPT_JIT_OPERATION(lowerName##Double, double, (double value)) \
-    { \
-        return lowerName##DoubleImpl(value); \
-    } \
-    JSC_DEFINE_NOEXCEPT_JIT_OPERATION(lowerName##Float, float, (float value)) \
-    { \
-        return lowerName##FloatImpl(value); \
-    }
-FOR_EACH_ARITH_UNARY_OP_CUSTOM(JSC_DEFINE_VIA_CUSTOM)
-#undef JSC_DEFINE_VIA_CUSTOM
-
 JSC_DEFINE_NOEXCEPT_JIT_OPERATION(truncDouble, double, (double value))
 {
     return std::trunc(value);
diff --git a/Source/JavaScriptCore/runtime/MathCommon.h b/Source/JavaScriptCore/runtime/MathCommon.h
index c15ff9e08bf8..256443bad683 100644
--- a/Source/JavaScriptCore/runtime/MathCommon.h
+++ b/Source/JavaScriptCore/runtime/MathCommon.h
@@ -262,9 +262,6 @@ JSC_DECLARE_NOEXCEPT_JIT_OPERATION(jsRound, double, (double));
 namespace Math {
 
 // This macro defines a set of information about all known arith unary generic node.
-#define FOR_EACH_ARITH_UNARY_OP_CUSTOM(macro) \
-    macro(Log1p, log1p) \
-
 #define FOR_EACH_ARITH_UNARY_OP_STD(macro) \
     macro(Sin, sin) \
     macro(Sinh, sinh) \
@@ -284,10 +281,10 @@ namespace Math {
     macro(Cbrt, cbrt) \
     macro(Exp, exp) \
     macro(Expm1, expm1) \
+    macro(Log1p, log1p) \
 
 #define FOR_EACH_ARITH_UNARY_OP(macro) \
     FOR_EACH_ARITH_UNARY_OP_STD(macro) \
-    FOR_EACH_ARITH_UNARY_OP_CUSTOM(macro) \
 
 #define JSC_DEFINE_VIA_STD(capitalizedName, lowerName) \
     using std::lowerName; \
@@ -296,13 +293,6 @@ namespace Math {
 FOR_EACH_ARITH_UNARY_OP_STD(JSC_DEFINE_VIA_STD)
 #undef JSC_DEFINE_VIA_STD
 
-#define JSC_DEFINE_VIA_CUSTOM(capitalizedName, lowerName) \
-    JS_EXPORT_PRIVATE double lowerName(double); \
-    JSC_DECLARE_NOEXCEPT_JIT_OPERATION(lowerName##Double, double, (double)); \
-    JSC_DECLARE_NOEXCEPT_JIT_OPERATION(lowerName##Float, float, (float));
-FOR_EACH_ARITH_UNARY_OP_CUSTOM(JSC_DEFINE_VIA_CUSTOM)
-#undef JSC_DEFINE_VIA_CUSTOM
-
 template<typename FloatType>
 ALWAYS_INLINE FloatType fMax(FloatType a, FloatType b)
 {


Reviews:
user: login: Constellation
state: APPROVED
author_association: MEMBER
submitted_at: 2025-05-06T03:45:31Z
user: login: Gumichocopengin8
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-06T04:47:08Z
user: login: Gumichocopengin8
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-06T04:50:18Z
user: login: Gumichocopengin8
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-06T04:51:02Z

Review comments:
diff_hunk: @@ -0,0 +1,33 @@
+(function () {
+  var finiteResult = 0;
+  var infinityResult = 0;
+  var negInfinityResult = 0;
+  var nanResult = 0;
+  var values = [
+    0,
path: JSTests/microbenchmarks/math-log1p.js
user: login: Constellation
body: Let's add negative zero check (negative zero returns negative zero
created_at: 2025-05-06T03:45:21Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,33 @@
+(function () {
+  var finiteResult = 0;
+  var infinityResult = 0;
+  var negInfinityResult = 0;
+  var nanResult = 0;
+  var values = [
+    0,
path: JSTests/microbenchmarks/math-log1p.js
user: login: Gumichocopengin8
body: added
created_at: 2025-05-06T04:47:08Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,40 @@
+(function () {
+  var finiteResult = 0;
+  var posZeroResult = 0;
+  var negZeroResult = 0;
+  var infinityResult = 0;
+  var negInfinityResult = 0;
+  var nanResult = 0;
+  var values = [
+    0,
+    -0,
+    1,
+    -1 + Math.E,
+    -1,
+    -2,
+    Number.MAX_VALUE,
+    Number.MIN_VALUE,
+    Number.MAX_SAFE_INTEGER,
+    Number.MIN_SAFE_INTEGER,
+    Infinity,
+    -Infinity,
+    NaN
+  ];
+  for (var i = 0; i < testLoopCount; ++i) {
+    for (var j = 0; j < values.length; ++j) {
+      var output = Math.log1p(values[j]);
+      if (output !== output) nanResult++;
path: JSTests/microbenchmarks/math-log1p.js
user: login: Gumichocopengin8
body: Intentionally avoided using `Number.isNaN` to prevent potential side effects associated with its use
created_at: 2025-05-06T04:50:18Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,40 @@
+(function () {
+  var finiteResult = 0;
+  var posZeroResult = 0;
+  var negZeroResult = 0;
+  var infinityResult = 0;
+  var negInfinityResult = 0;
+  var nanResult = 0;
+  var values = [
+    0,
+    -0,
+    1,
+    -1 + Math.E,
+    -1,
+    -2,
+    Number.MAX_VALUE,
+    Number.MIN_VALUE,
+    Number.MAX_SAFE_INTEGER,
+    Number.MIN_SAFE_INTEGER,
+    Infinity,
+    -Infinity,
+    NaN
+  ];
+  for (var i = 0; i < testLoopCount; ++i) {
+    for (var j = 0; j < values.length; ++j) {
+      var output = Math.log1p(values[j]);
+      if (output !== output) nanResult++;
+      else if (output === Infinity) infinityResult++;
+      else if (output === -Infinity) negInfinityResult++;
+      else if (output === 0 && (1 / output) === Infinity) posZeroResult++;
+      else if (output === 0 && (1 / output) === -Infinity) negZeroResult++;
path: JSTests/microbenchmarks/math-log1p.js
user: login: Gumichocopengin8
body: Same here
Intentionally avoided using `Object.is(output, 0 or -0)` to prevent potential side effects associated with its use
created_at: 2025-05-06T04:51:02Z
author_association: MEMBER

PR comments:
user: login: webkit-early-warning-system
created_at: 2025-05-05T19:28:51Z
body: EWS run on previous version of this PR (hash https://github.com/WebKit/WebKit/commit/3342914286eb44f13df70ba823ce96f6590ce703)<details>

| Misc | iOS, visionOS, tvOS & watchOS  | macOS  | Linux |  Windows |
| ----- | ---------------------- | ------- |  ----- |  --------- |
| [✅ 🧪 style](https://ews-build.webkit.org/#/builders/38/builds/102185 "Passed style check") | [✅ 🛠 ios](https://ews-build.webkit.org/#/builders/131/builds/21852 "Built successfully") | [✅ 🛠 mac](https://ews-build.webkit.org/#/builders/138/builds/12168 "Built successfully") | [✅ 🛠 wpe](https://ews-build.webkit.org/#/builders/5/builds/107344 "Built successfully") | [✅ 🛠 win](https://ews-build.webkit.org/#/builders/59/builds/52821 "Built successfully") 
| | [✅ 🛠 ios-sim](https://ews-build.webkit.org/#/builders/130/builds/22161 "Built successfully") | [✅ 🛠 mac-AS-debug](https://ews-build.webkit.org/#/builders/123/builds/30360 "Built successfully") | [✅ 🧪 wpe-wk2](https://ews-build.webkit.org/#/builders/34/builds/77764 "Passed tests") | [✅ 🧪 win-tests](https://ews-build.webkit.org/#/builders/60/builds/34755 "Passed tests") 
| [✅ 🧪 webkitperl](https://ews-build.webkit.org/#/builders/11/builds/105191 "Passed tests") | [✅ 🧪 ios-wk2](https://ews-build.webkit.org/#/builders/132/builds/17147 "Passed tests") | [✅ 🧪 api-mac](https://ews-build.webkit.org/#/builders/18/builds/92244 "Passed tests") | [✅ 🧪 api-wpe](https://ews-build.webkit.org/#/builders/41/builds/58099 "Passed tests") | 
| | [✅ 🧪 ios-wk2-wpt](https://ews-build.webkit.org/#/builders/133/builds/16976 "Passed tests") | [✅ 🧪 mac-wk1](https://ews-build.webkit.org/#/builders/135/builds/10270 "Passed tests") | [✅ 🛠 wpe-cairo](https://ews-build.webkit.org/#/builders/65/builds/52179 "Built successfully") | 
| [✅ 🛠 🧪 jsc](https://ews-build.webkit.org/#/builders/20/builds/94856 "Built successfully and passed tests") | [✅ 🧪 api-ios](https://ews-build.webkit.org/#/builders/13/builds/86815 "Passed tests") | [✅ 🧪 mac-wk2](https://ews-build.webkit.org/#/builders/136/builds/10343 "Passed tests") | [✅ 🛠 gtk](https://ews-build.webkit.org/#/builders/2/builds/109720 "Built successfully") | 
| [✅ 🛠 🧪 jsc-arm64](https://ews-build.webkit.org/#/builders/12/builds/100794 "Built successfully and passed tests") | [✅ 🛠 vision](https://ews-build.webkit.org/#/builders/128/builds/29317 "Built successfully") | [✅ 🧪 mac-AS-debug-wk2](https://ews-build.webkit.org/#/builders/122/builds/21614 "Passed tests") | [❌ 🧪 gtk-wk2](https://ews-build.webkit.org/#/builders/1/builds/86741 "Found 1 new test failure: imported/w3c/web-platform-tests/css/css-view-transitions/active-view-transition-on-non-root.html (failure)") | 
| | [✅ 🛠 vision-sim](https://ews-build.webkit.org/#/builders/121/builds/29679 "Built successfully") | [✅ 🧪 mac-wk2-stress](https://ews-build.webkit.org/#/builders/8/builds/88447 "Passed tests") | [❌ 🧪 api-gtk](https://ews-build.webkit.org/#/builders/21/builds/86326 "Found 103 new API test failures: /WebKitGTK/TestUIClient:/webkit/WebKitWebView/javascript-dialogs, /TestWebKit:WebKit.DOMWindowExtensionCrashOnReload, /TestWebKit:WebKit.PageLoadBasic, /TestWebKit:WebKit.NewFirstVisuallyNonEmptyLayoutFails, /WebKitGTK/TestInputMethodContext:/webkit/WebKitInputMethodContext/content-type, /TestWebKit:WebKit.InjectedBundleBasic, /TestWebKit:WebKit.PreventEmptyUserAgent, /WebKitGTK/TestWebKitPolicyClient:/webkit/WebKitPolicyClient/autoplay-policy, /WebKitGTK/TestInputMethodContext:/webkit/WebKitInputMethodContext/surrounding, /WebKitGTK/TestWebViewEditor:/webkit/WebKitWebView/select-all/non-editable ... (failure)") | 
| | [✅ 🧪 vision-wk2](https://ews-build.webkit.org/#/builders/126/builds/31130 "Passed tests") | [✅ 🧪 mac-intel-wk2](https://ews-build.webkit.org/#/builders/137/builds/8847 "Passed tests") | [  ~~🛠 playstation~~](https://ews-build.webkit.org/#/builders/134/builds/23559 "The change is no longer eligible for processing.") | 
| | [✅ 🛠 tv](https://ews-build.webkit.org/#/builders/127/builds/29245 "Built successfully") | [✅ 🛠 mac-safer-cpp](https://ews-build.webkit.org/#/builders/120/builds/34540 "Built successfully") | [✅ 🛠 jsc-armv7](https://ews-build.webkit.org/#/builders/35/builds/124420 "Built successfully") | 
| | [✅ 🛠 tv-sim](https://ews-build.webkit.org/#/builders/125/builds/29056 "Built successfully") | | [✅ 🧪 jsc-armv7-tests](https://ews-build.webkit.org/#/builders/25/builds/34552 "Passed tests") | 
| | [✅ 🛠 watch](https://ews-build.webkit.org/#/builders/129/builds/32379 "Built successfully") | | | 
| | [✅ 🛠 watch-sim](https://ews-build.webkit.org/#/builders/124/builds/30615 "Built successfully") | | | </details>
author_association: COLLABORATOR
user: login: webkit-early-warning-system
created_at: 2025-05-06T04:41:24Z
body: EWS run on previous version of this PR (hash https://github.com/WebKit/WebKit/commit/448685eeba28030b38f3c447c2cdb8d18e58628b)<details>

| Misc | iOS, visionOS, tvOS & watchOS  | macOS  | Linux |  Windows |
| ----- | ---------------------- | ------- |  ----- |  --------- |
| [✅ 🧪 style](https://ews-build.webkit.org/#/builders/38/builds/102256 "Passed style check") | [✅ 🛠 ios](https://ews-build.webkit.org/#/builders/131/builds/21924 "Built successfully") | [✅ 🛠 mac](https://ews-build.webkit.org/#/builders/138/builds/12239 "Built successfully") | [✅ 🛠 wpe](https://ews-build.webkit.org/#/builders/5/builds/107416 "Built successfully") | [✅ 🛠 win](https://ews-build.webkit.org/#/builders/59/builds/52892 "Built successfully") 
| | [✅ 🛠 ios-sim](https://ews-build.webkit.org/#/builders/130/builds/22233 "Built successfully") | [✅ 🛠 mac-AS-debug](https://ews-build.webkit.org/#/builders/123/builds/30431 "Built successfully") | [  ~~🧪 wpe-wk2~~](https://ews-build.webkit.org/#/builders/34/builds/77809 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🧪 win-tests~~](https://ews-build.webkit.org/#/builders/60/builds/34794 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") 
| [✅ 🧪 webkitperl](https://ews-build.webkit.org/#/builders/11/builds/105262 "Passed tests") | [  ~~🧪 ios-wk2~~](https://ews-build.webkit.org/#/builders/132/builds/17207 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🧪 api-mac~~](https://ews-build.webkit.org/#/builders/18/builds/92308 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🧪 api-wpe~~](https://ews-build.webkit.org/#/builders/41/builds/58147 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | 
| | [  ~~🧪 ios-wk2-wpt~~](https://ews-build.webkit.org/#/builders/133/builds/17038 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🧪 mac-wk1~~](https://ews-build.webkit.org/#/builders/135/builds/10336 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [✅ 🛠 wpe-cairo](https://ews-build.webkit.org/#/builders/65/builds/52250 "Built successfully") | 
| [✅ 🛠 🧪 jsc](https://ews-build.webkit.org/#/builders/20/builds/94927 "Built successfully and passed tests") | [  ~~🧪 api-ios~~](https://ews-build.webkit.org/#/builders/13/builds/86867 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🧪 mac-wk2~~](https://ews-build.webkit.org/#/builders/136/builds/10406 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [✅ 🛠 gtk](https://ews-build.webkit.org/#/builders/2/builds/109791 "Built successfully") | 
| [✅ 🛠 🧪 jsc-arm64](https://ews-build.webkit.org/#/builders/12/builds/100865 "Built successfully and passed tests") | [✅ 🛠 vision](https://ews-build.webkit.org/#/builders/128/builds/29388 "Built successfully") | [  ~~🧪 mac-AS-debug-wk2~~](https://ews-build.webkit.org/#/builders/122/builds/21662 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🧪 gtk-wk2~~](https://ews-build.webkit.org/#/builders/1/builds/86790 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | 
| | [✅ 🛠 vision-sim](https://ews-build.webkit.org/#/builders/121/builds/29752 "Built successfully") | [  ~~🧪 mac-wk2-stress~~](https://ews-build.webkit.org/#/builders/8/builds/88511 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🧪 api-gtk~~](https://ews-build.webkit.org/#/builders/21/builds/86378 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | 
| | [  ~~🧪 vision-wk2~~](https://ews-build.webkit.org/#/builders/126/builds/31188 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🧪 mac-intel-wk2~~](https://ews-build.webkit.org/#/builders/137/builds/8903 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🛠 playstation~~](https://ews-build.webkit.org/#/builders/134/builds/23630 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | 
| | [✅ 🛠 tv](https://ews-build.webkit.org/#/builders/127/builds/29316 "Built successfully") | [✅ 🛠 mac-safer-cpp](https://ews-build.webkit.org/#/builders/120/builds/34611 "Built successfully") | [✅ 🛠 jsc-armv7](https://ews-build.webkit.org/#/builders/35/builds/124491 "Built successfully") | 
| | [✅ 🛠 tv-sim](https://ews-build.webkit.org/#/builders/125/builds/29127 "Built successfully") | | [  ~~🧪 jsc-armv7-tests~~](https://ews-build.webkit.org/#/builders/25/builds/34563 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | 
| | [✅ 🛠 watch](https://ews-build.webkit.org/#/builders/129/builds/32450 "Built successfully") | | | 
| | [✅ 🛠 watch-sim](https://ews-build.webkit.org/#/builders/124/builds/30686 "Built successfully") | | | </details>
author_association: COLLABORATOR
user: login: webkit-early-warning-system
created_at: 2025-05-06T04:46:59Z
body: EWS run on current version of this PR (hash https://github.com/WebKit/WebKit/commit/81d6dfb9fd56135a6fa3d1164254bef5d4f55ad9)<details>

| Misc | iOS, visionOS, tvOS & watchOS  | macOS  | Linux |  Windows |
| ----- | ---------------------- | ------- |  ----- |  --------- |
| [✅ 🧪 style](https://ews-build.webkit.org/#/builders/38/builds/102258 "Passed style check") | [✅ 🛠 ios](https://ews-build.webkit.org/#/builders/131/builds/21926 "Built successfully") | [✅ 🛠 mac](https://ews-build.webkit.org/#/builders/138/builds/12241 "Built successfully") | [✅ 🛠 wpe](https://ews-build.webkit.org/#/builders/5/builds/107418 "Built successfully") | [✅ 🛠 win](https://ews-build.webkit.org/#/builders/59/builds/52894 "Built successfully") 
| | [✅ 🛠 ios-sim](https://ews-build.webkit.org/#/builders/130/builds/22235 "Built successfully") | [✅ 🛠 mac-AS-debug](https://ews-build.webkit.org/#/builders/123/builds/30433 "Built successfully") | [✅ 🧪 wpe-wk2](https://ews-build.webkit.org/#/builders/34/builds/77808 "Passed tests") | [✅ 🧪 win-tests](https://ews-build.webkit.org/#/builders/60/builds/34795 "Passed tests") 
| [✅ 🧪 webkitperl](https://ews-build.webkit.org/#/builders/11/builds/105264 "Passed tests") | [✅ 🧪 ios-wk2](https://ews-build.webkit.org/#/builders/132/builds/17210 "Passed tests") | [✅ 🧪 api-mac](https://ews-build.webkit.org/#/builders/18/builds/92310 "Passed tests") | [✅ 🧪 api-wpe](https://ews-build.webkit.org/#/builders/41/builds/58146 "Passed tests") | 
| | [✅ 🧪 ios-wk2-wpt](https://ews-build.webkit.org/#/builders/133/builds/17041 "Passed tests") | [✅ 🧪 mac-wk1](https://ews-build.webkit.org/#/builders/135/builds/10338 "Passed tests") | [✅ 🛠 wpe-cairo](https://ews-build.webkit.org/#/builders/65/builds/52252 "Built successfully") | 
| [✅ 🛠 🧪 jsc](https://ews-build.webkit.org/#/builders/20/builds/94929 "Built successfully and passed tests") | [✅ 🧪 api-ios](https://ews-build.webkit.org/#/builders/13/builds/86870 "Passed tests") | [✅ 🧪 mac-wk2](https://ews-build.webkit.org/#/builders/136/builds/10408 "Passed tests") | [✅ 🛠 gtk](https://ews-build.webkit.org/#/builders/2/builds/109793 "Built successfully") | 
| [✅ 🛠 🧪 jsc-arm64](https://ews-build.webkit.org/#/builders/12/builds/100867 "Built successfully and passed tests") | [✅ 🛠 vision](https://ews-build.webkit.org/#/builders/128/builds/29390 "Built successfully") | [✅ 🧪 mac-AS-debug-wk2](https://ews-build.webkit.org/#/builders/122/builds/21663 "Passed tests") | [✅ 🧪 gtk-wk2](https://ews-build.webkit.org/#/builders/1/builds/86789 "Passed tests") | 
| | [✅ 🛠 vision-sim](https://ews-build.webkit.org/#/builders/121/builds/29754 "Built successfully") | [✅ 🧪 mac-wk2-stress](https://ews-build.webkit.org/#/builders/8/builds/88513 "Passed tests") | [✅ 🧪 api-gtk](https://ews-build.webkit.org/#/builders/21/builds/86377 "Passed tests") | 
| | [✅ 🧪 vision-wk2](https://ews-build.webkit.org/#/builders/126/builds/31189 "Passed tests") | [✅ 🧪 mac-intel-wk2](https://ews-build.webkit.org/#/builders/137/builds/8905 "Passed tests") | [  ~~🛠 playstation~~](https://ews-build.webkit.org/#/builders/134/builds/23632 "The change is no longer eligible for processing.") | 
| [✅ 🛠 🧪 unsafe-merge](https://ews-build.webkit.org/#/builders/22/builds/16628 "Built successfully and passed tests") | [✅ 🛠 tv](https://ews-build.webkit.org/#/builders/127/builds/29318 "Built successfully") | [✅ 🛠 mac-safer-cpp](https://ews-build.webkit.org/#/builders/120/builds/34613 "Built successfully") | [✅ 🛠 jsc-armv7](https://ews-build.webkit.org/#/builders/35/builds/124493 "Built successfully") | 
| | [✅ 🛠 tv-sim](https://ews-build.webkit.org/#/builders/125/builds/29129 "Built successfully") | | [✅ 🧪 jsc-armv7-tests](https://ews-build.webkit.org/#/builders/25/builds/34564 "Passed tests") | 
| | [✅ 🛠 watch](https://ews-build.webkit.org/#/builders/129/builds/32452 "Built successfully") | | | 
| | [✅ 🛠 watch-sim](https://ews-build.webkit.org/#/builders/124/builds/30688 "Built successfully") | | | </details>
author_association: COLLABORATOR
user: login: webkit-commit-queue
created_at: 2025-05-07T01:24:12Z
body: Committed 294588@main (80a7d8d4cd4f): <https://commits.webkit.org/294588@main>

Reviewed commits have been landed. Closing PR #44955 and removing active labels.
author_association: COLLABORATOR