• Frank Emrich's avatar
    [dict-proto] update comment describing layout of ordered hash tables · 4242b192
    Frank Emrich authored
    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: 's avatarIgor Sheludko <ishell@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70918}
    4242b192
Name
Last commit
Last update
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.flake8 Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
COMMON_OWNERS Loading commit data...
DEPS Loading commit data...
DIR_METADATA Loading commit data...
ENG_REVIEW_OWNERS Loading commit data...
INFRA_OWNERS Loading commit data...
INTL_OWNERS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
MIPS_OWNERS Loading commit data...
OWNERS Loading commit data...
PPC_OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
S390_OWNERS Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...