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

Fix memory leak due to incorrect root scanning #141

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

Conversation

wenyuzhao
Copy link
Member

@wenyuzhao wenyuzhao commented Feb 22, 2022

This PR fixes memory leaks caused by incorrect root scanning.

Pointers in CodeCache, StringTable and WeakProcessor are not treated as roots. The processing of these object storage is postponed to the end of tracing. Pointers in these object storages are either removed (if they are dead) or forwarded (if they're moved).

Note that some benchmarks still leak, due to the missing of weak-ref processing and class unloading. These are not addressed in this PR and is expected to be fixed in the future (we should already have issues for weak-ref and class unloading).

TODO: do a benchmark

@wenyuzhao wenyuzhao changed the title Fix root scanning Fix memory leak due to incorrect root scanning Feb 22, 2022
@wenyuzhao
Copy link
Member Author

@qinsoon is it possible to trigger a benchmark github action here? like the ones we did to the mmtk-core PRs?

@qinsoon
Copy link
Member

qinsoon commented Feb 22, 2022

@qinsoon is it possible to trigger a benchmark github action here? like the ones we did to the mmtk-core PRs?

Unfortunately we can't. Those are only set up for mmtk-core yet. I can set up performance CI for OpenJDK, as we are doing more development work for OpenJDK and it is probably necessary/worth to set up performance CI.

@wenyuzhao wenyuzhao mentioned this pull request Apr 2, 2022
@k-sareen k-sareen mentioned this pull request Jun 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants