commit | bf3202c8b8853290aac31624d3f374dfe250905b | [log] [tgz] |
---|---|---|
author | Z Nguyen-Huu <duongn@microsoft.com> | Tue Jun 11 13:45:44 2019 |
committer | Commit Bot <commit-bot@chromium.org> | Tue Jun 11 14:18:05 2019 |
tree | c3f62160965e63d1a5940099f09f01ee663518ae | |
parent | d2ccc599c7a31838752350ae927e41bc386df414 [diff] |
Optimize hasOwnProperty for sealed, frozen objects. Extend CodeStubAssembler::TryLookupElement() to handle frozen/sealed elements. Also add some tests. ~2x perf improvement in micro-benchmark ObjectFreeze Before: TaggedTemplate TaggedTemplate-Numbers(Score): 2.43 HasOwnProperty HasOwnProperty-Numbers(Score): 2.94 After: TaggedTemplate TaggedTemplate-Numbers(Score): 4.77 HasOwnProperty HasOwnProperty-Numbers(Score): 4.68 Bug: v8:6831 Change-Id: I6ce057fd812cd6a01e627125a51eefa439710274 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1650633 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#62096}
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.