-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
erts: Refactor bitstring (binary) handling
By reducing the difference between match states and sub-binaries, this commit sets the stage for massive improvements in the bit syntax implementation, where we plan to allow returning matched tails from functions without any loss of performance relative to continuation-passing-style. This commit also simplifies the handling of off-heap Binary objects. ProcBin (now called BinRef) is no longer exposed directly as a term, with off-heap bitstrings instead being represented by an ErlSubBits that references the BinRef. While this results in slightly more on-heap usage, it reduces complexity and makes it easy to determine which regions in a binary a process refers to during a GC, giving us the opportunity to shed references or shrink them to fit.
- Loading branch information
Showing
73 changed files
with
7,029 additions
and
8,108 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
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
Oops, something went wrong.