commit | 5b46f5736fcfb035e09cf1eb7d0d26d539e8b63a | [log] [tgz] |
---|---|---|
author | Benedikt Meurer <bmeurer@chromium.org> | Thu May 23 08:11:01 2019 |
committer | Commit Bot <commit-bot@chromium.org> | Thu May 23 09:02:26 2019 |
tree | 25b462dbe3f827c506df3dd486bcc7758fbc3a16 | |
parent | a0c3797461810e3159662851e64946e17654236e [diff] |
[cleanup] Remove the `Map::IsDictionaryMap()` method. There's a `Map::IsDictionaryMap()` method in addition to the `Map::is_dictionary_map()`, which apparently do very different things: The former checks whether the instance type of the Map is in a certain range (FIRST_DICTIONARY_TYPE to LAST_DICTIONARY_TYPE), while the latter checks the `is_dictionary_map` bit (which means that the backing store for the properties of a JSObject is in slow mode). To make matters worse there's also `CodeStubAssembler::IsDictionaryMap()`, which does the bit check similar to `Map::is_dictionary_map()`. And to make matters even worse the FIRST_DICTIONARY_TYPE to LAST_DICTIONARY_TYPE range also contains instance types for classes that aren't subclass of `Dictionary` (despite a comment stating the opposite). So in conclusion it's best to remove the confusing `Map::IsDictionaryMap()` method, which is anyways wrong, and just test explicitly for `NameDictionary`, `NumberDictionary` or `GlobalDictionary` in the appropriate places. Bug: v8:9183 Change-Id: If35f73261e3cc96938ebf499bf32be3ec725288b Cq-Include-Trybots: luci.chromium.try:linux-rel,win7-rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627330 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61770}
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.