[llvm] r357784 - [PDB Docs] Add info about the hash adjustment buffer.
Zachary Turner via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 5 10:12:37 PDT 2019
Author: zturner
Date: Fri Apr 5 10:12:37 2019
New Revision: 357784
URL: http://llvm.org/viewvc/llvm-project?rev=357784&view=rev
Log:
[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.
Added:
llvm/trunk/docs/PDB/HashTable.rst
Removed:
llvm/trunk/docs/PDB/HashStream.rst
Modified:
llvm/trunk/docs/PDB/TpiStream.rst
llvm/trunk/docs/PDB/index.rst
Removed: llvm/trunk/docs/PDB/HashStream.rst
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/PDB/HashStream.rst?rev=357783&view=auto
==============================================================================
--- llvm/trunk/docs/PDB/HashStream.rst (original)
+++ llvm/trunk/docs/PDB/HashStream.rst (removed)
@@ -1,3 +0,0 @@
-=====================================
-The TPI & IPI Hash Streams
-=====================================
Added: llvm/trunk/docs/PDB/HashTable.rst
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/PDB/HashTable.rst?rev=357784&view=auto
==============================================================================
--- llvm/trunk/docs/PDB/HashTable.rst (added)
+++ llvm/trunk/docs/PDB/HashTable.rst Fri Apr 5 10:12:37 2019
@@ -0,0 +1,2 @@
+The PDB Serialized Hash Table Format
+====================================
Modified: llvm/trunk/docs/PDB/TpiStream.rst
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/PDB/TpiStream.rst?rev=357784&r1=357783&r2=357784&view=diff
==============================================================================
--- llvm/trunk/docs/PDB/TpiStream.rst (original)
+++ llvm/trunk/docs/PDB/TpiStream.rst Fri Apr 5 10:12:37 2019
@@ -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:
Modified: llvm/trunk/docs/PDB/index.rst
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/PDB/index.rst?rev=357784&r1=357783&r2=357784&view=diff
==============================================================================
--- llvm/trunk/docs/PDB/index.rst (original)
+++ llvm/trunk/docs/PDB/index.rst Fri Apr 5 10:12:37 2019
@@ -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
========
More information about the llvm-commits
mailing list