• 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
ordered-hash-table.h 32.4 KB