[PATCH] D20654: [pdb] Try super hard to conserve memory in llvm-pdbdump
Zachary Turner via llvm-commits
llvm-commits at lists.llvm.org
Thu May 26 13:42:18 PDT 2016
zturner updated this revision to Diff 58683.
zturner added a comment.
Updated based on suggestions. With this patch I've deleted `StreamObject` and `StreamString`, and fallen back to raw pointers and `StringRef`s. `MappedBlockStream` uses a `BumpPtrAllocator` to allocate space for contiguous memory only in situations where the read would otherwise have crossed a block boundary.
We also removed many uses of `ByteStream` (a source of memory copying), but a few still remain, in particular with the symbol and type streams since they are more difficult.
I did however get rid of the `ByteStream` used for the module file info array in `DBIStream`, and am using `VarStreamArray` instead, which takes advantage of these zero-copy improvements. This is to show that it works in practice before we move on to applying it to the rest of the streams.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 50531 bytes
Desc: not available
More information about the llvm-commits