Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 1a8d6ca80b53fb104e690a22745bbb367abadab8
https://github.com/WebKit/WebKit/commit/1a8d6ca80b53fb104e690a22745bbb367abadab8
Author: Yusuke Suzuki <[email protected]>
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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes