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

Adding support for allocating in a non-moving space #30

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

udesou
Copy link

@udesou udesou commented Sep 7, 2023

Julia types, typenames and buffers should not move.
The first two should not move because they are used as metadata when scanning an object. The second prevents errors that may occur when arrays and other objects share the same buffer.
In order to move buffers, it would probably require checking whether it is shared during GC, i.e. buffers would have to be traced differently, perhaps through the parent object. By allocating them into a non-moving space, we can just treat them as any other object, but this way we ensure that they don't move.

Needs to be merged with mmtk/mmtk-julia#101.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant