[PATCH] D41825: [Docs][PDB] Update MSF File documentation

Zachary Turner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 8 10:00:26 PST 2018


zturner added a comment.

Few minor nits, but thanks for doing this!



================
Comment at: docs/PDB/MsfFile.rst:25
+2. Free Block Map 2 (corresponds to ``SuperBlock::FreeBlockMapBlock`` 2)
+3. ``SuperBlock::BlockSize - 2`` blocks of data
+
----------------
Shouldn't this be BlockSize - 3?  The pattern is Block 0, Block 1, Block 2, <BlockSize - 3 more blocks>


================
Comment at: docs/PDB/MsfFile.rst:35
++=============+=======================+==================+==================+==========+======+======+=============+=====+
+| Meaning     | :ref:`msf_superblock` | Free Block Map 1 | Free Block Map 2 | Data     | FBM1 | FBM2 | Data        | ... |
++-------------+-----------------------+------------------+------------------+----------+------+------+-------------+-----+
----------------
Can we call it FPM instead of FBM?  We use the terms Page and Block sometimes interchangeably, but we never refer to anything other than FPM in the code.


================
Comment at: docs/PDB/MsfFile.rst:102-105
+Because each interval includes the FPMs associated with it, the first two bytes
+of each FPM refer to FPM1 and FPM2, and are by definition 1 (the FPMs can't be
+unused). The only exception to this rule is the first interval, where byte 0
+refers to the Superblock, bype 1 refers to FPM1, byte 2 refers to FPM2, and
----------------
I think this sentence is a bit wrong.  The first two bytes of each FPM are not necessarily 1.  But the first *three bits* of each FPM are.  And not necessarily each FPM either, only the active one.  I would just say "There is one bit in the FPM for every block in the file, including the super block."  that should be clear enough that there are no exceptions.


Repository:
  rL LLVM

https://reviews.llvm.org/D41825





More information about the llvm-commits mailing list