commit | 6366a010080ec106ad83964060825c0a72c77458 | [log] [tgz] |
---|---|---|
author | Benedikt Meurer <bmeurer@chromium.org> | Thu Nov 02 08:59:20 2017 |
committer | Commit Bot <commit-bot@chromium.org> | Thu Nov 02 10:14:07 2017 |
tree | 7c455d555d641e049fd482f403fd1b056475016a | |
parent | 793c52ed26daa002ba81a0bb4c20d809d0e33592 [diff] |
[ic] Internalize strings on the fly in KeyedLoadICGeneric. This turns on the existing --internalize_on_the_fly flag for the MEGAMORPHIC KeyedLoadIC to properly internalize strings before looking up the property. This avoids the otherwise taken runtime call to %KeyedGetProperty, which is definitely slower. Initially the --internalize_on_the_fly flag was turned off because internalizing strings on the fly causes too much traffic on the megamorphic stub cache. We avoid this problem here by not probing the stub cache in that case, which still gives the benefit of not having to go to the runtime. This improves the babylon test on the web-tooling-benchmark by around 2-3% and will probably also help with several tests (like React or Ember) on the Speedometer benchmark. If this CL causes trouble (i.e. tanks something important), we can just turn off the --internalize_on_the_fly flag again. Bug: v8:6936, v8:7026 Change-Id: Ia59a8a3799d9624d831d66b05bae3ecef31cee0a Reviewed-on: https://chromium-review.googlesource.com/750821 Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#49072}
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.