-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rearrange the GENCGC "struct page" a bit to for a more compact memory representation. Saves memory (about 15MB on x86-64 where the page table is large, a couple of MB on x86). Also a minor performance improvement thanks to cache issues. TODO: The size could be still improved by another 15MB on x86-64 by defining the ill-named first_object_offset as an int instead of long (4 bytes less data and 4 bytes less of padding). The naive implementation would then limit the maximum region size to 4GB. Since some low bits in the field are guaranteed to be zero, a smart implementation could do some shifts and store even more data. It remains to be seen whether this would be worthwhile.
- Loading branch information
Showing
4 changed files
with
30 additions
and
21 deletions.
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