[PATCH] D41742: [MSF] Fix FPM interval calculation

Colden Cullen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 4 16:00:45 PST 2018


colden added inline comments.


================
Comment at: llvm/include/llvm/DebugInfo/MSF/MSFCommon.h:118
+    // the number of fpm blocks.
+    int N = AltFpm ? 2 : 1;
+    return divideCeil(NumBlocks - N, BlockSize);
----------------
zturner wrote:
> colden wrote:
> > colden wrote:
> > > Naming nitpick: In other contexts, `AltFpm` implies the opposite of `Msf.SB->FreeBlockMapBlock` (i.e. `3 - FpmBlock`). How about instead of taking that param here, you take an int for `FpmIndex` (or something), require it be 1 or 2, and then in the `MSFLayout` overload you can do the `AltFpm` transformation?
> > Follow up question: shouldn't it not matter which FPM you're using?
> It only matters insofar as we want to handle that last edge case mentioned in the description of the diff.  It won't matter for your case, but if somehow there were a PDB with *exactly* 4098 blocks (which again, LLD would never generate), then there would be 2 FPM0 intervals and 1 FPM1 interval.  
Oh I see what you mean. It's too bad we can't trim those on load, but maybe that's another patch for another day :)


https://reviews.llvm.org/D41742





More information about the llvm-commits mailing list