Fix an issue that we did not throw OOM for Immix plans if DEFRAG is set to false #500
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.
This PR fixes a bug that when
DEFRAGis set tofalse, Immix plans would not consider any GC as an emergency GC so they did not throw OOM. Immix plans check if last GC was defrag to determine whether last GC was exhaustive. AsDEFRAGis false, there would be no defrag GC, thus the plans wouldn't consider any GC was exhaustive. So in case of running out of memory, Immix plans would keep looping to do GCs with no end condition. This PR fixes this issue.