[webkit-changes] [WebKit/WebKit] ae1e21: [JSC] Make CallArguments tight

Yusuke Suzuki noreply at github.com
Thu Sep 5 13:50:56 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ae1e21feca320eee3dcc608c58c4333f0d405e9a
      https://github.com/WebKit/WebKit/commit/ae1e21feca320eee3dcc608c58c4333f0d405e9a
  Author: Yusuke Suzuki <ysuzuki at apple.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h
    M Source/JavaScriptCore/bytecompiler/BytecodeGeneratorBase.h
    M Source/JavaScriptCore/bytecompiler/BytecodeGeneratorBaseInlines.h
    M Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp

  Log Message:
  -----------
  [JSC] Make CallArguments tight
https://bugs.webkit.org/show_bug.cgi?id=279207
rdar://135354950

Reviewed by Keith Miller.

For large function, CallArguments is super frequently used. This patch makes code super tight for performance.
We avoid Vector's movement and use std::span instead for adjustment.

* Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h:
(JSC::CallArguments::argumentCountIncludingThis):
* Source/JavaScriptCore/bytecompiler/BytecodeGeneratorBase.h:
* Source/JavaScriptCore/bytecompiler/BytecodeGeneratorBaseInlines.h:
(JSC::BytecodeGeneratorBase<Traits>::newTemporaries):
* Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:
(JSC::CallArguments::CallArguments):

Canonical link: https://commits.webkit.org/283232@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