[webkit-changes] [WebKit/WebKit] d9f922: [JSC] Add fast path for `Array.prototype.with`

SUZUKI Sosuke noreply at github.com
Thu Sep 26 21:12:33 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d9f92208c3d08a39be8c82d142e6f34280839f41
      https://github.com/WebKit/WebKit/commit/d9f92208c3d08a39be8c82d142e6f34280839f41
  Author: Sosuke Suzuki <aosukeke at gmail.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    A JSTests/microbenchmarks/array-prototype-with-fast-path.js
    A JSTests/stress/array-prototype-with-effect.js
    A JSTests/stress/array-prototype-with-empty.js
    M Source/JavaScriptCore/builtins/ArrayPrototype.js

  Log Message:
  -----------
  [JSC] Add fast path for `Array.prototype.with`
https://bugs.webkit.org/show_bug.cgi?id=280182

Reviewed by Yusuke Suzuki.

This patch adds a fast path for `Array.prototype.with` using `@arrayFromFastFillWithUndefined`.

According to the microbenth, it is 1.8x faster.

                                        TipOfTree                  Patched

array-prototype-with-fast-path        0.5715+-0.0107     ^      0.3120+-0.0122        ^ definitely 1.8316x faster

<geometric>                           0.5715+-0.0107     ^      0.3120+-0.0122        ^ definitely 1.8316x faster

* JSTests/microbenchmarks/array-prototype-with-fast-path.js: Added.
(shouldBe):
(test):
* JSTests/stress/array-prototype-with-empty.js: Added.
(shouldBe):
(throw.new.Error):
(else.shouldBe):
* Source/JavaScriptCore/builtins/ArrayPrototype.js:
(with):
* JSTests/stress/array-prototype-with-effect.js: Added.
(sameValue):

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