Skip to content

Commit 1b1d311

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 29d9c4a commit 1b1d311

File tree

1 file changed

+145
-87
lines changed

1 file changed

+145
-87
lines changed

0 commit comments

Comments
 (0)