1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/lib/DebugInfo/PDB
Zachary Turner 5c99339579 [pdb] Don't verify TPI hash values up front.
Verifying the hash values as we are currently doing
results in iterating every type record before the user
even tries to access the first one, and the API user
has no control over, or ability to hook into this
process.

As a result, when the user wants to iterate over types
to print them or index them, this results in a second
iteration over the same list of types.  When there's
upwards of 1,000,000 type records, this is obviously
quite undesirable.

This patch raises the verification outside of TpiStream
, and llvm-pdbdump hooks a hash verification visitor
into the normal dumping process.  So we still verify
the hash records, but we can do it while not requiring
a second iteration over the type stream.

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

llvm-svn: 302206
2017-05-04 23:53:54 +00:00
..
DIA [llvm-pdbdump] Re-write the record layout code to be more resilient. 2017-04-24 17:47:24 +00:00
Native [pdb] Don't verify TPI hash values up front. 2017-05-04 23:53:54 +00:00
CMakeLists.txt [PDB] Don't build the entire source file list up front. 2017-05-04 23:53:29 +00:00
GenericError.cpp Remove LLVM_NOEXCEPT and replace it with noexcept 2016-10-19 23:52:38 +00:00
IPDBSourceFile.cpp [DebugInfo] Fix some Clang-tidy modernize-use-default and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 23:16:32 +00:00
LLVMBuild.txt
PDB.cpp NFC: Rename PDB_ReaderType::Raw to Native for consistency with the NativeSession rename. 2017-01-27 00:01:55 +00:00
PDBContext.cpp dwarfdump: -summarize-types: print a short summary (unqualified type name, hash, length) of type units rather than dumping contents 2016-10-18 21:09:48 +00:00
PDBExtras.cpp Properly parse the TypeServer2 record. 2017-02-03 21:22:27 +00:00
PDBInterfaceAnchors.cpp [DebugInfo] Fix some Clang-tidy modernize-use-default and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 23:16:32 +00:00
PDBSymbol.cpp [llvm-pdbdump] Recursively dump class layout. 2017-04-13 21:11:00 +00:00
PDBSymbolAnnotation.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolBlock.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolCompiland.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolCompilandDetails.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolCompilandEnv.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolCustom.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolData.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolExe.cpp [llvm-pdbdump] More advanced class definition dumping. 2017-04-12 23:18:21 +00:00
PDBSymbolFunc.cpp [llvm-pdbdump] Recursively dump class layout. 2017-04-13 21:11:00 +00:00
PDBSymbolFuncDebugEnd.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolFuncDebugStart.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolLabel.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolPublicSymbol.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolThunk.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolTypeArray.cpp Improves pretty printing of variable types in llvm-pdbdump 2017-04-10 16:43:09 +00:00
PDBSymbolTypeBaseClass.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolTypeBuiltin.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolTypeCustom.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolTypeDimension.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolTypeEnum.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolTypeFriend.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolTypeFunctionArg.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolTypeFunctionSig.cpp Improves pretty printing of variable types in llvm-pdbdump 2017-04-10 16:43:09 +00:00
PDBSymbolTypeManaged.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolTypePointer.cpp Improves pretty printing of variable types in llvm-pdbdump 2017-04-10 16:43:09 +00:00
PDBSymbolTypeTypedef.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolTypeUDT.cpp [llvm-pdbdump] More advanced class definition dumping. 2017-04-12 23:18:21 +00:00
PDBSymbolTypeVTable.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolTypeVTableShape.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolUnknown.cpp
PDBSymbolUsingNamespace.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymDumper.cpp [DebugInfo] Fix some Clang-tidy modernize-use-default and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 23:16:32 +00:00
UDTLayout.cpp [llvm-pdbdump] Allow sorting / filtering by immediate padding 2017-04-25 20:22:29 +00:00