[PATCH] D25831: [CodeView] Refactor lots of stuff to use StreamRefs

Zachary Turner via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 20 09:23:35 PDT 2016


zturner created this revision.
zturner added reviewers: rnk, inglorion.
zturner added a subscriber: llvm-commits.

I started down the path of trying to merge the serialization and deserialization for types and symbols.  This is difficult as it stands, because all of the "real" PDB code uses `StreamInterface` stuff to avoid having to copy entire streams, which could be hundreds of MB.  But the serialization code all uses `ArrayRef` for everything.  This changes everything to use `StreamReader`.  In the process, I found lots of duplicated code in `RecordSerialization.cpp` and `RecordSerailization.h` that was already written in `StreamReader.cpp`.  All of that has been removed since everything is now using `StreamReader`.


https://reviews.llvm.org/D25831

Files:
  include/llvm/DebugInfo/CodeView/CVTypeVisitor.h
  include/llvm/DebugInfo/CodeView/RecordSerialization.h
  include/llvm/DebugInfo/CodeView/SymbolDeserializer.h
  include/llvm/DebugInfo/CodeView/SymbolRecord.h
  include/llvm/DebugInfo/CodeView/SymbolVisitorDelegate.h
  include/llvm/DebugInfo/CodeView/TypeDeserializer.h
  include/llvm/DebugInfo/CodeView/TypeRecord.h
  include/llvm/DebugInfo/MSF/ByteStream.h
  include/llvm/DebugInfo/MSF/StreamReader.h
  lib/DebugInfo/CodeView/CVTypeVisitor.cpp
  lib/DebugInfo/CodeView/RecordSerialization.cpp
  lib/DebugInfo/CodeView/TypeRecord.cpp
  lib/DebugInfo/MSF/StreamReader.cpp
  tools/llvm-readobj/COFFDumper.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D25831.75312.patch
Type: text/x-patch
Size: 83915 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161020/8ca2be44/attachment.bin>


More information about the llvm-commits mailing list