[webkit-changes] [WebKit/WebKit] 1a8d6c: [JSC] Split super complicated IC code generation c...
Yusuke Suzuki
noreply at github.com
Tue May 21 01:35:04 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 1a8d6ca80b53fb104e690a22745bbb367abadab8
https://github.com/WebKit/WebKit/commit/1a8d6ca80b53fb104e690a22745bbb367abadab8
Author: Yusuke Suzuki <ysuzuki at apple.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp
Log Message:
-----------
[JSC] Split super complicated IC code generation clause into three different ones
https://bugs.webkit.org/show_bug.cgi?id=274429
rdar://128435898
Reviewed by Justin Michaud.
Load, GetGetter, CustomValueGetter, CustomValueSetter, CustomAccessorGetter, CustomAccessorSetter, Getter, Setter, and IntrinsicGetter are
sharing one switch-clause, and it makes code incredibly complicated and hard to follow. Let's just split them into three.
1. Load, GetGetter
2. CustomValueGetter, CustomValueSetter, CustomAccessorGetter, CustomAccessorSetter
3. Getter, Setter, IntrinsicGetter
This significantly reduces complexity for simple IC (like Load), and it also improves some code generation for CustomAccessorGetter / CustomAccessorSetter,
where we are unnecessarily loading property owner GPR before.
* Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp:
(JSC::InlineCacheCompiler::generateImpl):
Canonical link: https://commits.webkit.org/279047@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