Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Variable Width Allocation Phase II (take 2) #4773

Merged
merged 2 commits into from Aug 25, 2021

Conversation

peterzhu2118
Copy link
Member

#4680 caused build failures on Debian i386 and Solaris SPARC due to the most significant bit in pointers being set so the pointers would become negative when casted to intptr_t. This is problematic for pointer comparisons. We now use uintptr_t which does not have these problems. This branch has been tested on the previously crashing systems to ensure it works.

peterzhu2118 and others added 2 commits August 24, 2021 13:14
This commit removes T_PAYLOAD since the new VWA implementation no longer
requires T_PAYLOAD types.

Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
This commits implements size classes in the GC for the Variable Width
Allocation feature. Unless `USE_RVARGC` compile flag is set, only a
single size class is created, maintaining current behaviour. See the
redmine ticket for more details.

Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
@peterzhu2118 peterzhu2118 merged commit 62bc4a9 into ruby:master Aug 25, 2021
@peterzhu2118 peterzhu2118 deleted the vwa-size-pools-take-2 branch August 25, 2021 13:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
1 participant