Adding support for allocating in a non-moving space #30
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.