[PATCH] D41734: [DebugInfo][PDB] Fix too many FPM blocks being written in some cases

Colden Cullen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 4 13:32:54 PST 2018


colden added a comment.

Just kidding it already does that?

MSFBuilder.cpp:113-125

  // If we crossed over an fpm page, we actually need to allocate 2 extra
  // blocks for each FPM group crossed and mark both blocks from the group as
  // used.  We may not actually use them since there are many more FPM blocks
  // present than are required to represent all blocks in a given PDB, but we
  // need to make sure they aren't allocated to a stream or something else.
  // At the end when committing the PDB, we'll go through and mark the
  // extraneous ones unused.
  while (NextFpmBlock < NewBlockCount) {
    NewBlockCount += 2;
    FreeBlocks.resize(NewBlockCount, true);
    FreeBlocks.reset(NextFpmBlock, NextFpmBlock + 2);
    NextFpmBlock += BlockSize;
  }


Repository:
  rL LLVM

https://reviews.llvm.org/D41734





More information about the llvm-commits mailing list