Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0b65fe084beda2a9ad3a61eec779f2f6f32e075c
https://github.com/WebKit/WebKit/commit/0b65fe084beda2a9ad3a61eec779f2f6f32e075c
Author: Yusuke Suzuki <[email protected]>
Date: 2025-11-12 (Wed, 12 Nov 2025)
Changed paths:
M Source/JavaScriptCore/builtins/GeneratorPrototype.js
Log Message:
-----------
[JSC] Do not separately have object literals for iterator results in
generatorResume
https://bugs.webkit.org/show_bug.cgi?id=302387
rdar://164544339
Reviewed by Keith Miller.
Currently FTL ObjectAllocationSinking can eliminate object allocation
only when allocation site is merged into one place. So,
function inlined() {
...
if (cond) {
return { value, done };
return { value, done };
}
function caller() {
var object = inlined();
...
}
In the above case, object ends up allocated unfortunately. In this
patch, we ensure that iterator result object from generator is always
allocated from one site to ensure that this object can be eliminated if
generator#next is inlined.
* Source/JavaScriptCore/builtins/GeneratorPrototype.js:
(linkTimeConstant.generatorResume):
(next):
(return):
(throw):
Canonical link: https://commits.webkit.org/302914@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications