commit | 93d67d20ee91c351091ef294e43e1352185b6d59 | [log] [tgz] |
---|---|---|
author | Benedikt Meurer <bmeurer@chromium.org> | Thu Jan 18 12:45:23 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Fri Jan 19 07:35:41 2018 |
tree | a5a8d39d3c47df659d64001ad687ff78861c9c2a | |
parent | 327a85f71a2e68d04f20b76e5484c24e25dbd9be [diff] |
[turbofan] Inline StringCharCodeAt like Crankshaft did. This avoids the call to the StringCharCodeAt builtin from within TurboFan optimized code and instead emits a loop that does the character load. This (together with previously reverted CL to the JSCallReducer) almost completely recovers the performance regression caused when we shipped TurboFan. Without untrusted code mitigations the benchmark goes from 580ms to roughly 490ms, and with the patch to the JSCallReducer the time goes down to 280ms, which is very close to what we had with Crankshaft. This also renames the LoadFromString helper method in the EffectControlLinearizer to LoadFromSeqString to make it clear what it does. Bug: v8:7326 Change-Id: Ibe0ec1847911a234f244bd8dcec6be18b241fda0 Reviewed-on: https://chromium-review.googlesource.com/873376 Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50702}
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.