Commit d248f027 authored by Zachary Turner's avatar Zachary Turner
Browse files

[PDB Docs] Add info about the hash adjustment buffer.

This necessitates adding a document describing the serialized
hash table format.  This document is currently empty, although
it will be filled out in followup patches.

llvm-svn: 357784
parent 226a9b96
Loading
Loading
Loading
Loading

llvm/docs/PDB/HashStream.rst

deleted100644 → 0
+0 −3
Original line number Diff line number Diff line
=====================================
The TPI & IPI Hash Streams
=====================================
+2 −0
Original line number Diff line number Diff line
The PDB Serialized Hash Table Format
====================================
+9 −1
Original line number Diff line number Diff line
@@ -289,7 +289,15 @@ accurate.
  index.  This can be used to do a binary search followed bin a linear search to
  get amortized O(log n) lookup by type index.

- **HashAdjBufferOffset / HashAdjBufferLength** - 
- **HashAdjBufferOffset / HashAdjBufferLength** - The offset and size within
  the TPI hash stream of a serialized hash table whose keys are the hash values
  in the hash value buffer and whose values are type indices.  This appears to
  be useful in incremental linking scenarios, so that if a type is modified an
  entry can be created mapping the old hash value to the new type index so that
  a PDB file consumer can always have the most up to date version of the type
  without forcing the incremental linker to garbage collect and update
  references that point to the old version to now point to the new version.
  The layout of this hash table is described in :doc:`HashTable`.

.. _tpi_records:

+4 −4
Original line number Diff line number Diff line
@@ -52,7 +52,7 @@ File Layout
   ModiStream
   PublicStream
   GlobalStream
   HashStream
   HashTable
   CodeViewSymbols
   CodeViewTypes

@@ -158,9 +158,9 @@ following pages:
:doc:`GlobalStream`
   Information about the Global Symbol Stream.

:doc:`HashStream`
   Information about the Hash Table stream, and how it can be used to quickly look up records
   by name.
:doc:`HashTable`
   Information about the serialized hash table format used internally to represent things such
   as the Named Stream Map and the Hash Adjusters in the :doc:`TPI/IPI Stream <TpiStream>`.

CodeView
========