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

Discontiguous mark compact space support #939

Merged
merged 14 commits into from
Sep 5, 2023

Conversation

wenyuzhao
Copy link
Member

@wenyuzhao wenyuzhao commented Sep 4, 2023

This PR adds discontiguous heap support for mark compact GC, and rewrites the forwarding pointer calculation and compaction code to be compactable to both contiguous and discontiguous spaces.

Fixes #930

src/policy/markcompactspace.rs Outdated Show resolved Hide resolved
src/policy/markcompactspace.rs Outdated Show resolved Hide resolved
Copy link
Member

@qinsoon qinsoon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@qinsoon qinsoon added the PR-testing Run binding tests for the pull request (deprecated: use PR-extended-testing instead) label Sep 5, 2023
@wenyuzhao wenyuzhao added this pull request to the merge queue Sep 5, 2023
@tianleq tianleq self-requested a review September 5, 2023 06:01
Merged via the queue into mmtk:master with commit 40777ed Sep 5, 2023
25 of 26 checks passed
@wenyuzhao wenyuzhao deleted the discontig-mark-compact branch September 5, 2023 06:47
github-merge-queue bot pushed a commit that referenced this pull request Sep 6, 2023
#939 makes MarkCompact GC allocate large objects into LOS, instead of
mark-compacting everything. However, LOS should be released and
re-prepared properly, otherwise marking in the pointer forwarding trace
will not behave correctly.

This should fix the OpenJDK binding test failures.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PR-testing Run binding tests for the pull request (deprecated: use PR-extended-testing instead)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Discontiguous MarkCompactSpace support
3 participants