Skip to content

Commit d248f02

Browse files
author
Zachary Turner
committed
[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
1 parent 226a9b9 commit d248f02

File tree

4 files changed

+15
-8
lines changed

4 files changed

+15
-8
lines changed

llvm/docs/PDB/HashStream.rst

Lines changed: 0 additions & 3 deletions
This file was deleted.

llvm/docs/PDB/HashTable.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
The PDB Serialized Hash Table Format
2+
====================================

llvm/docs/PDB/TpiStream.rst

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,15 @@ accurate.
289289
index. This can be used to do a binary search followed bin a linear search to
290290
get amortized O(log n) lookup by type index.
291291

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

294302
.. _tpi_records:
295303

llvm/docs/PDB/index.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ File Layout
5252
ModiStream
5353
PublicStream
5454
GlobalStream
55-
HashStream
55+
HashTable
5656
CodeViewSymbols
5757
CodeViewTypes
5858

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

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

165165
CodeView
166166
========

0 commit comments

Comments
 (0)