The implementation is fairly straight-forward and uses the same patterns
as the existing streams. The yaml form does not attempt to preserve the
data in the "gaps" that can be created by setting a larger-than-required
header or entry size in the stream header, because the existing consumer
(lldb) does not make use of the information in the gap in any way, and
attempting to preserve that would make the implementation more
complicated.
Details
Diff Detail
- Repository
- rL LLVM
- Build Status
Buildable 39241 Build 39256: arc lint + arc unit
Event Timeline
FYI, I'm going to be away for 2 and a half weeks from the end of work today, so won't have time to look at these if I don't get to them later today. I have no issues with other people reviewing them. You might want to add @grimar and @MaskRay to the reviews as they've been doing a lot of work in obj2yaml/yaml2obj recently.
include/llvm/ObjectYAML/MinidumpYAML.h | ||
---|---|---|
111 | Maybe be more explicit here, i.e. std::vector<minidump::MemoryInfo> &&Infos ? | |
lib/ObjectYAML/MinidumpEmitter.cpp | ||
166 | Probably just minidump::MemoryInfoListHeader Header = { (support::ulittle32_t)sizeof(minidump::MemoryInfoListHeader), (support::ulittle32_t)sizeof(minidump::MemoryInfo), (support::ulittle64_t)InfoList.Infos.size()}; ? Or perhaps it could have a constructor. |
Address review comments
lib/ObjectYAML/MinidumpEmitter.cpp | ||
---|---|---|
166 | The thought of a constructor has crossed my mind too. I've now added it. |
include/llvm/ObjectYAML/MinidumpYAML.h | ||
---|---|---|
116 | Done, I've also moved the constructor of SystemInfoStream for consistency. |
Maybe be more explicit here, i.e.
?