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

Reply via email to