[PATCH] D23022: [msf] Figure out the rest of the FPM and dump more detailed page allocation stats

Zachary Turner via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 1 11:30:27 PDT 2016


zturner created this revision.
zturner added reviewers: majnemer, ruiu.
zturner added a subscriber: llvm-commits.

The FPM is split at regular intervals across the MSF file, as the MS code suggests.  It turns out that the value of the interval is precisely the block size.  If the block size is 4096, then there are two Fpm pages every 4096 blocks.

So here we teach the `PDBFile` class to parse a split FPM, and also add more options when dumping the FPM to display some additional information such as orphaned pages (pages which the FPM says are allocated, but which nothing appears to use), use after free pages (pages which the FPM says are not allocated, but which are referenced by a stream), and multiple use pages (pages which the FPM says are allocated but are used more than once).

https://reviews.llvm.org/D23022

Files:
  include/llvm/DebugInfo/PDB/Raw/PDBFile.h
  lib/DebugInfo/PDB/Raw/PDBFile.cpp
  tools/llvm-pdbdump/LLVMOutputStyle.cpp
  tools/llvm-pdbdump/LLVMOutputStyle.h
  tools/llvm-pdbdump/llvm-pdbdump.cpp
  tools/llvm-pdbdump/llvm-pdbdump.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D23022.66343.patch
Type: text/x-patch
Size: 9331 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160801/90a500ee/attachment.bin>


More information about the llvm-commits mailing list