[PATCH] D23066: [msf] Make Fpm reader and writer use MappedBlockStream

Zachary Turner via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 2 09:27:11 PDT 2016


zturner created this revision.
zturner added a reviewer: ruiu.
zturner added a subscriber: llvm-commits.

`MappedBlockStream` can work with any sequence of block data where the ordering is specified by a list of block numbers.  This is true even in the case of split FPMs.  So here we add support for creating a `MappedBlockStream` representing the Fpm so we can just read it in one single operation.  This is also nice because we have to read/write the Fpm from multiple places, so this allows us to centralize all the logic to make sure we aren't reproducing the split interval logic in many locations.

For some reason, this also seems to fix a bug.  I no longer show any orphaned pages on larger PDBs.

https://reviews.llvm.org/D23066

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D23066.66488.patch
Type: text/x-patch
Size: 7522 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160802/a93c3ba4/attachment.bin>


More information about the llvm-commits mailing list