4242b1929c
The comment at the beginning of ordered-hash-table.h desribing the layout of ordered hash tables seems to have become outdated. 1. There was a "kPrefixSize + " missing in the description of the left bound of the first non-fixed-sized part in normal and obsoleted tables. The following only affects obsoleted tables: 2. The bucket count doesn't reside at [kPrefixSize + 0], instead it is unchanged w.r.t normal tables, and resides at [kPrefixSize + 2] 3. The next newer table takes place of the element count, residing at [kPrefixSize + 0]. This can be seen by NextTableIndex() being defined as NumberOfElementsIndex() 4. The number of removed holes is never written anywhere when obsoleting a table. Instead, the number of deleted elements count is used for this. This can be see by DCHECK_EQ(table->NumberOfDeletedElements(), removed_holes_index); in method Rehash 5. kClearedTableSentinel is written to the number of deleted element slot when clearing a table, as seen by table->SetNumberOfDeletedElements(kClearedTableSentinel); in method Clear Bug: v8:7569, v8:11074 Change-Id: I0e6750fc57c90b6c09fc41f001cd555f7c455fd3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2505763 Commit-Queue: Frank Emrich <emrich@google.com> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#70918} |
||
---|---|---|
build_overrides | ||
custom_deps | ||
docs | ||
gni | ||
include | ||
infra | ||
samples | ||
src | ||
test | ||
testing | ||
third_party | ||
tools | ||
.clang-format | ||
.clang-tidy | ||
.editorconfig | ||
.flake8 | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
.gn | ||
.vpython | ||
.ycm_extra_conf.py | ||
AUTHORS | ||
BUILD.gn | ||
CODE_OF_CONDUCT.md | ||
codereview.settings | ||
COMMON_OWNERS | ||
DEPS | ||
DIR_METADATA | ||
ENG_REVIEW_OWNERS | ||
INFRA_OWNERS | ||
INTL_OWNERS | ||
LICENSE | ||
LICENSE.fdlibm | ||
LICENSE.strongtalk | ||
LICENSE.v8 | ||
MIPS_OWNERS | ||
OWNERS | ||
PPC_OWNERS | ||
PRESUBMIT.py | ||
README.md | ||
S390_OWNERS | ||
WATCHLISTS |
V8 JavaScript Engine
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
Getting the Code
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/*
Contributing
Please follow the instructions mentioned at v8.dev/docs/contribute.