Changeset View
Changeset View
Standalone View
Standalone View
include/llvm/DebugInfo/MSF/MSFCommon.h
Show First 20 Lines • Show All 104 Lines • ▼ Show 20 Lines | |||||
} | } | ||||
inline uint32_t getFpmIntervalLength(const MSFLayout &L) { | inline uint32_t getFpmIntervalLength(const MSFLayout &L) { | ||||
return L.SB->BlockSize; | return L.SB->BlockSize; | ||||
} | } | ||||
inline uint32_t getNumFpmIntervals(const MSFLayout &L, | inline uint32_t getNumFpmIntervals(const MSFLayout &L, | ||||
bool IncludeUnusedFpmData = false) { | bool IncludeUnusedFpmData = false) { | ||||
// Need to subtract the free block map index from the number of blocks | |||||
// so the blocks before Fpm (SB & Fpm0 if using Fpm1) aren't included | |||||
// Need to add 1 to block size so the interval includes the already present FPM blocks | |||||
if (IncludeUnusedFpmData) | if (IncludeUnusedFpmData) | ||||
return divideCeil(L.SB->NumBlocks, L.SB->BlockSize); | return divideCeil(L.SB->NumBlocks - L.SB->FreeBlockMapBlock, L.SB->BlockSize + 1); | ||||
// We want the minimum number of intervals required, where each interval can | // We want the minimum number of intervals required, where each interval can | ||||
// represent BlockSize * 8 blocks. | // represent BlockSize * 8 blocks. | ||||
return divideCeil(L.SB->NumBlocks, 8 * L.SB->BlockSize); | return divideCeil(L.SB->NumBlocks - L.SB->FreeBlockMapBlock, 8 * L.SB->BlockSize); | ||||
} | } | ||||
Error validateSuperBlock(const SuperBlock &SB); | Error validateSuperBlock(const SuperBlock &SB); | ||||
} // end namespace msf | } // end namespace msf | ||||
} // end namespace llvm | } // end namespace llvm | ||||
#endif // LLVM_DEBUGINFO_MSF_MSFCOMMON_H | #endif // LLVM_DEBUGINFO_MSF_MSFCOMMON_H |