[webkit-changes] [WebKit/WebKit] 954979: [JSC] Reduce the number of @generatorResume() para...
Commit Queue
noreply at github.com
Tue Oct 1 14:00:05 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9549797c340c80f64fe468853e8df3179b8c4f43
https://github.com/WebKit/WebKit/commit/9549797c340c80f64fe468853e8df3179b8c4f43
Author: Alexey Shvayka <ashvayka at apple.com>
Date: 2024-10-01 (Tue, 01 Oct 2024)
Changed paths:
M Source/JavaScriptCore/builtins/GeneratorPrototype.js
Log Message:
-----------
[JSC] Reduce the number of @generatorResume() parameters by 2
https://bugs.webkit.org/show_bug.cgi?id=264128
<rdar://problem/117885568>
Reviewed by Yusuke Suzuki.
This change hoists @GeneratorStateCompleted check from @generatorResume() to its callers because
all three of them behave differently in that case, and defers retrieving @generatorFieldThis
up until calling into generator function's body.
This is unobservable refactor that paves the way for future yield* spec conformance changes like
https://bugs.webkit.org/show_bug.cgi?id=174756, makes implementation of iterator helpers' methods
a bit nicer, and was proven to be 0.5-1% progression on generator-heavy JetStream3 subtests.
Initially, @generatorResume() was designed this way to keep its size under 100, but since that time
maximumFunctionForCallInlineCandidateBytecodeCostForFTL was increased to 125, making this change
feasible (new size: 103).
* Source/JavaScriptCore/builtins/GeneratorPrototype.js:
(linkTimeConstant.generatorResume):
(next):
(return):
(throw):
Canonical link: https://commits.webkit.org/284511@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list