commit | f57273ae1aaad12f6ce7fb776e78f2cca660e68d | [log] [tgz] |
---|---|---|
author | Adam Klein <adamk@chromium.org> | Thu Aug 02 01:03:49 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Thu Aug 02 16:07:29 2018 |
tree | 778af1b70f529f507ca007750e61b0e415175257 | |
parent | 3745c625c0a7737439b6da8d44f605cad7da2040 [diff] |
[builtins] Widen fast path for IterableToList When TypedArray builtin code was still in JS, we used to completely elide IterableToList when passed an array. This meant that it was possible for the builtins to observe side-effects which mutated the array when that should have been impossible. When IterableToList was ported to CSA, it changed to clone the passed-in array instead of passing it through. This means that there's now no need to guard against side-effects due to ToNumber conversions, so we can simply return the result of Object::IterationHasObservableEffects. Though no test changes are included here, this code is covered by the regression tests added previously when this runtime function was added (and later modified). This still leaves a future TODO to port IterationHasObservableEffects to CSA. Change-Id: If913c035b124ecb59a5f647344b653429a162a2b Reviewed-on: https://chromium-review.googlesource.com/1159733 Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#54876}
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.