]> granicus.if.org Git - llvm/commit
[CodeView] Refactor serialization to use StreamInterface.
authorZachary Turner <zturner@google.com>
Thu, 20 Oct 2016 18:31:19 +0000 (18:31 +0000)
committerZachary Turner <zturner@google.com>
Thu, 20 Oct 2016 18:31:19 +0000 (18:31 +0000)
commita459ab93aad5e94311c7061ef9bb19b1c6b8ee34
tree2f9d0e55941d24ef7e9b1ef1bc86cf630aac3a7e
parent37962abba13a687c9c59f90819b7f04cb867aa24
[CodeView] Refactor serialization to use StreamInterface.

This was all using ArrayRef<>s before which presents a problem
when you want to serialize to or deserialize from an actual
PDB stream.  An ArrayRef<> is really just a special case of
what can be handled with StreamInterface though (e.g. by using
a ByteStream), so changing this to use StreamInterface allows
us to plug in a PDB stream and get all the record serialization
and deserialization for free on a MappedBlockStream.

Subsequent patches will try to remove TypeTableBuilder and
TypeRecordBuilder in favor of class that operate on
Streams as well, which should allow us to completely merge
the reading and writing codepaths for both types and symbols.

Differential Revision: https://reviews.llvm.org/D25831

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@284762 91177308-0d34-0410-b5e6-96231b3b80d8
14 files changed:
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