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

Disabling PrepareMutator from PlanConstraints #964

Merged
merged 4 commits into from
Sep 29, 2023

Conversation

wks
Copy link
Collaborator

@wks wks commented Sep 27, 2023

Some plans do nothing when preparing mutators. We add a boolean flag so that we do not create the PrepareMutator work packets in the first place.

We also remove the function that prepares Mutator for Immix. It is unnecessary to reset the ImmixAllocator of a mutator when preparing mutator because the mutator's ImmixAllocator is not used during GC. When a GC worker defragments the heap and promotes young objects, it uses the ImmixAllocator instances in ImmixCopyContext or ImmixHybridCopyContext.

Fixes: #959

wks added 2 commits September 27, 2023 16:37
Some plans do nothing when preparing mutators.  We add a boolean flag
so that we do not create the PrepareMutator work packets in the first
place.

We also remove the function that prepares Mutator for Immix.  It is
unnecessary to reset the ImmixAllocator of a mutator when preparing
mutator because the mutator's ImmixAllocator is not used during GC.
When a GC worker defragments the heap and promotes young objects, it
uses the ImmixAllocator instances in ImmixCopyContext or
ImmixHybridCopyContext.
@wks wks added the PR-testing Run binding tests for the pull request (deprecated: use PR-extended-testing instead) label Sep 27, 2023
@wks wks requested review from qinsoon and wenyuzhao September 28, 2023 07:28
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

@wks wks added this pull request to the merge queue Sep 29, 2023
Merged via the queue into mmtk:master with commit cb14881 Sep 29, 2023
19 of 20 checks passed
@wks wks deleted the feature/need-prepare-mutator branch September 29, 2023 02:57
qinsoon added a commit to qinsoon/mmtk-core that referenced this pull request Oct 3, 2023
Some plans do nothing when preparing mutators. We add a boolean flag so
that we do not create the PrepareMutator work packets in the first
place.

We also remove the function that prepares Mutator for Immix. It is
unnecessary to reset the ImmixAllocator of a mutator when preparing
mutator because the mutator's ImmixAllocator is not used during GC. When
a GC worker defragments the heap and promotes young objects, it uses the
ImmixAllocator instances in ImmixCopyContext or ImmixHybridCopyContext.

Fixes: mmtk#959
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.

Why is ImmixAllocator reset twice?
3 participants