forked from ivmai/bdwgc
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Flesh out API for malloc with buffered finalization
This introduces a new malloc function `GC_buffered_finalize_malloc` which ensures that unreachable objects are added to a 4KiB thread-local buffer to be later finalized. Once the buffer is full, it's passed to a user supplied closure. The disclaim API in Boehm has no mechanism for detecting which allocations in a free-list are simply empty and which require finalizing. So in order to get around this we change mark procedure, using an extra bit in the object header to determine whether or not an object has a finalization closure.
- Loading branch information
1 parent
216d7de
commit e78f4df
Showing
4 changed files
with
109 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters