[PDB] Use inlinee file checksum offsets directly
The inlinees section contains references to the file checksum table. The file checksum table in the PDB must have the same layout as the file checksum table in the object file, so all the existing file id references should stay valid. Previously, we would do this: for all inlined functions: - lookup filename from checksum and string table - make that filename absolute - look up the new file id for that filename up in the new checksum table This lead to pdbMakeAbsolute and remove_dots ending up in the hot path. We should only need to absolutify the source path once, not once every time we process an inline function from that source file. This speeds up linking chrome PGO stage 1 net_unittests.exe from 9.203s to 8.500s (-7.6%). Looking just at time to process symbol records, it goes from ~2000ms to ~1300ms, which is consistent with the overall speedup of about 700ms. This will be less noticeable in debug builds, which have fewer inlined functions records.
Loading
Please sign in to comment