Skip to content

Commit e4715a1

Browse files
committed
Thread safety analysis: Allocate FactEntrys with BumpPtrAllocator
The FactManager managing the FactEntrys stays alive for the analysis of a single function. We are already using that by allocating TIL S-expressions via BumpPtrAllocator. We can do the same with FactEntrys. If we allocate the facts in an arena, we won't get destructor calls for them, and they better be trivially destructible. This required replacing the SmallVector member of ScopedLockableFactEntry with TrailingObjects. FactEntrys are now passed around by plain pointer. However, to hide the allocation of TrailingObjects from users, we introduce `create` methods, and this allows us to make the constructors private.
1 parent bfb686b commit e4715a1

File tree

1 file changed

+140
-87
lines changed

1 file changed

+140
-87
lines changed

0 commit comments

Comments
 (0)