This is an archive of the discontinued LLVM Phabricator instance.

[msf] Make Fpm reader and writer use MappedBlockStream
ClosedPublic

Authored by zturner on Aug 2 2016, 9:27 AM.

Details

Summary

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.

Diff Detail

Event Timeline

zturner updated this revision to Diff 66488.Aug 2 2016, 9:27 AM
zturner retitled this revision from to [msf] Make Fpm reader and writer use MappedBlockStream.
zturner updated this object.
zturner added a reviewer: ruiu.
zturner added a subscriber: llvm-commits.
ruiu accepted this revision.Aug 2 2016, 3:59 PM
ruiu edited edge metadata.

LGTM

This revision is now accepted and ready to land.Aug 2 2016, 3:59 PM
This revision was automatically updated to reflect the committed changes.