commit | ea575e8283d07784ef9f8b7c60ae1d87175f0477 | [log] [tgz] |
---|---|---|
author | Z Duong Nguyen-Huu <duongn@microsoft.com> | Mon May 13 21:44:59 2019 |
committer | Commit Bot <commit-bot@chromium.org> | Tue May 14 11:52:03 2019 |
tree | b375105a084bd64f7a9404389900ed141a85bf08 | |
parent | 23834cbdfd50af82d436b8d59a44b0ce004310aa [diff] |
Optimize array.indexOf, array.includes builtins for frozen, sealed objects Introduce FastJSArrayForRead to include sealed, frozen elements kind objects and apply for related builtins In micro-benchmark, it shows ~10x improvement. Before: ArrayIndexOf ArrayIndexOf-Numbers(Score): 0.0780 ArrayIncludes ArrayIncludes-Numbers(Score): 0.0773 After: ArrayIndexOf ArrayIndexOf-Numbers(Score): 0.621 ArrayIncludes ArrayIncludes-Numbers(Score): 0.608 Bug: v8:6831 Change-Id: Ic79c0ba7e85c40625ecb42faed16816fa066b1d3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1604322 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Cr-Commit-Position: refs/heads/master@{#61474}
V8 is Google's open source JavaScript engine.
V8 implements ECMAScript as specified in ECMA-262.
V8 is written in C++ and is used in Google Chrome, the open source browser from Google.
V8 can run standalone, or can be embedded into any C++ application.
V8 Project page: https://v8.dev/docs
Checkout depot tools, and run
fetch v8
This will checkout V8 into the directory v8
and fetch all of its dependencies. To stay up to date, run
git pull origin gclient sync
For fetching all branches, add the following into your remote configuration in .git/config
:
fetch = +refs/branch-heads/*:refs/remotes/branch-heads/* fetch = +refs/tags/*:refs/tags/*
Please follow the instructions mentioned at v8.dev/docs/contribute.