RESOLVED FIXED 253481
Fold CallFrameClosure into CachedCall.
https://bugs.webkit.org/show_bug.cgi?id=253481
Summary Fold CallFrameClosure into CachedCall.
Mark Lam
Reported 2023-03-06 19:00:12 PST
CallFrameClosure is always embedded into and used with a CachedCall. This patch makes the following changes: 1. By folding it into CachedCall, we can remove many redundancies e.g. a protoCallFrame pointer, a JSFunction pointer, a VM pointer, and argumentCountIncludingThis. 2. CallFrameClosure::parameterCountIncludingThis was also never used. So, remove it. 3. Remove CachedCall::m_interpreter because it is always as an offset from CachedCall::m_vm. 4. Added an optimization to compute VM& from Interpreter*. This eliminates the need to pass globalObject to a few Interpreter::executeXXX functions where the sole purpose of the globalObject is for computing VM&. 5. Add an optimization in Interpreter::executeCachedCall where we can skip the call to ScriptExecutable::prepareForExecution if the addressForCall is unchanged. 6. Remove the now unneeded CallFrameClosure. 7. Rename Interpreter::prepareForRepeatCall to prepareForCachedCall to match what it's actually preparing for.
Attachments
Radar WebKit Bug Importer
Comment 1 2023-03-06 19:00:56 PST
Mark Lam
Comment 2 2023-03-06 19:08:00 PST
EWS
Comment 3 2023-03-06 23:29:40 PST
Committed 261311@main (dd4b91af70c5): <https://commits.webkit.org/261311@main> Reviewed commits have been landed. Closing PR #11147 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.