commit | 0df0c8e3bc7e0fa6d57e2cc3a5256cecc7d81a41 | [log] [tgz] |
---|---|---|
author | Z Nguyen-Huu <duongn@microsoft.com> | Thu Jun 13 18:26:24 2019 |
committer | Commit Bot <commit-bot@chromium.org> | Thu Jun 13 19:23:50 2019 |
tree | 8b41c07f3658e2be134c9675ed0b89544265a9aa | |
parent | 53cd537b3d11726c7020cd98d01e41e0db3fc193 [diff] |
Optimize array.reduce, array.reduceRight to sealed, frozen object Use FastJSArrayForRead pattern. Add test of array.reduce, array.reduceRight for non-extensible, sealed, frozen objects similar to mjsunit/array-reduce.js ~3x perf improvement in JSTests/ObjectFreeze micro-benchmark Before: ArrayReduce ArrayReduce-Numbers(Score): 0.0740 ArrayReduceRight ArrayReduceRight-Numbers(Score): 0.0767 After: ArrayReduce ArrayReduce-Numbers(Score): 0.249 ArrayReduceRight ArrayReduceRight-Numbers(Score): 0.261 Bug: v8:6831 Change-Id: I98f54f010256993fcd05bb24be968fb2d0f5c966 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1656851 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by: Simon Zünd <szuend@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#62158}
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.