commit | 35614b7215ed56a8653787fadfba4609b1237733 | [log] [tgz] |
---|---|---|
author | Benedikt Meurer <bmeurer@chromium.org> | Mon Oct 23 12:34:50 2017 |
committer | Commit Bot <commit-bot@chromium.org> | Mon Oct 23 17:42:38 2017 |
tree | 5f7b7f1664de1dde6b9c66f6a260986610c45cb2 | |
parent | 493e5b0aaae5d03dbc0d2d3acd02a637da1d306d [diff] |
[turbofan] Optimize Reflect.get(target, key) calls. When TurboFan sees a call to Reflect.get with exactly two parameters, we can lower that to a direct call to the GetPropertyStub, which is certainly faster than the general C++ builtin. This gives a nice 7-8% improvement on the chai test in the web-tooling-benchmark. The micro-benchmark on the issue goes from reflectGetPresent: 461 ms. reflectGetAbsent: 470 ms. to reflectGetPresent: 141 ms. reflectGetAbsent: 245 ms. which is an up to 3.2x improvement. Bug: v8:5996, v8:6936, v8:6937 Change-Id: Ic439fccb13f1a2f84386bf9fc31b4283d101afc4 Reviewed-on: https://chromium-review.googlesource.com/732988 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48841}
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://github.com/v8/v8/wiki
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 on the V8 wiki.