Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8d5b7e4c8f2ebcb0ca983068f6529dd2291c21c8
      
https://github.com/WebKit/WebKit/commit/8d5b7e4c8f2ebcb0ca983068f6529dd2291c21c8
  Author: Sosuke Suzuki <[email protected]>
  Date:   2025-10-07 (Tue, 07 Oct 2025)

  Changed paths:
    A JSTests/microbenchmarks/array-of-contiguous-large.js
    A JSTests/microbenchmarks/array-of-contiguous.js
    A JSTests/microbenchmarks/array-of-double-large.js
    A JSTests/microbenchmarks/array-of-double.js
    A JSTests/microbenchmarks/array-of-int32-large.js
    A JSTests/stress/array-of-contiguous.js
    A JSTests/stress/array-of-double.js
    A JSTests/stress/array-of-int32.js
    M Source/JavaScriptCore/builtins/ArrayConstructor.js
    M Source/JavaScriptCore/runtime/ArrayConstructor.cpp

  Log Message:
  -----------
  [JSC] Implement `Array.of` in C++
https://bugs.webkit.org/show_bug.cgi?id=300238

Reviewed by Yusuke Suzuki.

This patch changes to implement `Array.of` in C++.

                                   TipOfTree                  Patched

array-of-contiguous              0.7270+-0.0382     ^      0.5082+-0.0707       
 ^ definitely 1.4306x faster
array-of-double                  0.6188+-0.0211     ^      0.3998+-0.0269       
 ^ definitely 1.5475x faster
array-of-int32-large             3.1915+-0.1023     ^      2.6022+-0.0318       
 ^ definitely 1.2264x faster
array-of-double-large            3.5442+-0.1373     ^      2.9338+-0.3577       
 ^ definitely 1.2081x faster
array-of-contiguous-large        4.1393+-0.1011     ^      3.9781+-0.0586       
 ^ definitely 1.0405x faster
array-of                        16.8434+-0.2704     ^     14.1398+-0.4177       
 ^ definitely 1.1912x faster

Tests: JSTests/microbenchmarks/array-of-contiguous-large.js
       JSTests/microbenchmarks/array-of-contiguous.js
       JSTests/microbenchmarks/array-of-double-large.js
       JSTests/microbenchmarks/array-of-double.js
       JSTests/microbenchmarks/array-of-int32-large.js
       JSTests/stress/array-of-contiguous.js
       JSTests/stress/array-of-double.js
       JSTests/stress/array-of-int32.js
* JSTests/microbenchmarks/array-of-contiguous-large.js: Added.
* JSTests/microbenchmarks/array-of-contiguous.js: Added.
* JSTests/microbenchmarks/array-of-double-large.js: Added.
* JSTests/microbenchmarks/array-of-double.js: Added.
* JSTests/microbenchmarks/array-of-int32-large.js: Added.
* JSTests/stress/array-of-contiguous.js: Added.
(shouldBe):
(throw.new.Error):
* JSTests/stress/array-of-double.js: Added.
(shouldBe):
(throw.new.Error):
* JSTests/stress/array-of-int32.js: Added.
(shouldBe):
(throw.new.Error):
* Source/JavaScriptCore/builtins/ArrayConstructor.js:
(of): Deleted.
* Source/JavaScriptCore/runtime/ArrayConstructor.cpp:
(JSC::ArrayConstructor::ArrayConstructor):
(JSC::ArrayConstructor::finishCreation):
(JSC::fastArrayOf):
(JSC::JSC_DEFINE_HOST_FUNCTION):

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

Reply via email to