diff options
author | Zachary Turner <zturner@google.com> | 2019-04-05 17:12:37 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2019-04-05 17:12:37 +0000 |
commit | d248f027955c6d032adfe9b65e41ef0fe5322eb4 (patch) | |
tree | 613e891c6c161c365da119ad07f8d9de39a0c2ad /llvm/docs/PDB | |
parent | 226a9b96a701d07c5aa84e4e2fa46d911ca859bf (diff) | |
download | bcm5719-llvm-d248f027955c6d032adfe9b65e41ef0fe5322eb4.tar.gz bcm5719-llvm-d248f027955c6d032adfe9b65e41ef0fe5322eb4.zip |
[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
Diffstat (limited to 'llvm/docs/PDB')
-rw-r--r-- | llvm/docs/PDB/HashStream.rst | 3 | ||||
-rw-r--r-- | llvm/docs/PDB/HashTable.rst | 2 | ||||
-rw-r--r-- | llvm/docs/PDB/TpiStream.rst | 10 | ||||
-rw-r--r-- | llvm/docs/PDB/index.rst | 8 |
4 files changed, 15 insertions, 8 deletions
diff --git a/llvm/docs/PDB/HashStream.rst b/llvm/docs/PDB/HashStream.rst deleted file mode 100644 index a758db4d03d..00000000000 --- a/llvm/docs/PDB/HashStream.rst +++ /dev/null @@ -1,3 +0,0 @@ -=====================================
-The TPI & IPI Hash Streams
-=====================================
diff --git a/llvm/docs/PDB/HashTable.rst b/llvm/docs/PDB/HashTable.rst new file mode 100644 index 00000000000..fbf4a1de528 --- /dev/null +++ b/llvm/docs/PDB/HashTable.rst @@ -0,0 +1,2 @@ +The PDB Serialized Hash Table Format
+====================================
diff --git a/llvm/docs/PDB/TpiStream.rst b/llvm/docs/PDB/TpiStream.rst index 74f2c37b083..99f9a73bb11 100644 --- a/llvm/docs/PDB/TpiStream.rst +++ b/llvm/docs/PDB/TpiStream.rst @@ -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:
diff --git a/llvm/docs/PDB/index.rst b/llvm/docs/PDB/index.rst index d1b4379dbf8..a6054d720bd 100644 --- a/llvm/docs/PDB/index.rst +++ b/llvm/docs/PDB/index.rst @@ -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
========
|