-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
useMalloc for standard GC #16761
useMalloc for standard GC #16761
Conversation
unoptimized, malloc-based allocator for the GC - uses less memory, is a bit slower for small chunks, less code
Using this branch halves the memory footprint of nimbus, as measured by RSS in linux (400 mb instead of 800). It's not intended for production use really, more as a debugging tool - it's branched off the beginning of the 1.2 release cycle roughly, so can easily be applied to any version after that. |
Does it support the alignment requirements that the conservative stack scan needs? |
well, it assumes 8-byte alignment on anything coming out of Nimbus is the reason this branch was written - we're having GC-related crashes and it's unclear what the culprit is: unfixed bugs in the cycle collector like #4851 and #10625 or the pointer tricks we sometimes subject the code to, that perhaps break the scanner. |
Closes #15394 |
the test fails here are likely because this was branched off where 1.2.0 was released which might be missing some commits to update test scripts |
Oh, and with something like |
Ping @arnetheduck, can you please rebase? |
Sorry for messing up commits messages(maybe you can use |
I'm a bit unsure what you've done here? did you rebase against devel? |
yeah |
hm, the 32-bit issue might be legit, need to recheck some arithmetic |
This pull request has been automatically marked as stale because it has not had recent activity. If you think it is still a valid PR, please rebase it on the latest devel; otherwise it will be closed. Thank you for your contributions. |
Closes #15394
unoptimized, malloc-based allocator for the GC - uses less memory, is a
bit slower for small chunks, less code