In bug 262437, changes were made to call crossThreadCopy when needed. When we have a completion promise, which will in its turn be resolved/rejected with the resolve/reject value again, we call once again crossThreadCopy on the value as it's using a common code path for resolving/rejecting it. We could easily distinguish the case from the standard resolve/reject and not call crossThreadCopy() then (though this one is mostly a no-op as we are simply moving the value)
<rdar://problem/116489817>
Pull request: https://github.com/WebKit/WebKit/pull/18664
Committed 269075@main (0e9b295049f8): <https://commits.webkit.org/269075@main> Reviewed commits have been landed. Closing PR #18664 and removing active labels.