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

Refactor the RefSet value type into a structure type #132

Draft
wants to merge 25 commits into
base: master
Choose a base branch
from

Conversation

rptb1
Copy link
Member

@rptb1 rptb1 commented Jan 27, 2023

As https://www.ravenbrook.com/project/mps/branch/ says:

Converting the RefSet value type into a structure type, so that we can store more information about references and improve the remembered set.

This is refactoring work that should not have any external effect on the MPS. Its purpose is to lay the foundation for inclusion of age (or other) information in the remembered set, to reduce unnecessary scanning and improve performance (#136 solution 3).

The reason this is its own branch and pull request is that it's a delicate change that needs careful review and testing. Adding age information to the remembered set is also a delicate change that will need careful review and testing. Trying to do both at once is very risky.

rptb1 and others added 9 commits August 8, 2018 21:52
Copied from Perforce
 Change: 194908
… tests now passes.

Copied from Perforce
 Change: 194925
Copied from Perforce
 Change: 194934
…set confusion in design documents.

Copied from Perforce
 Change: 194935
Copied from Perforce
 Change: 195987
Copied from Perforce
 Change: 195994
code/trace.c Outdated Show resolved Hide resolved
code/seg.c Outdated Show resolved Hide resolved
code/seg.c Outdated Show resolved Hide resolved
code/trace.c Outdated Show resolved Hide resolved
code/trace.c Outdated Show resolved Hide resolved
@rptb1
Copy link
Member Author

rptb1 commented Jan 30, 2023

4d74b92 shows that the terms "summary", "reference set", "zones", and "zone set" are conflated in design, comments, and naming. This needs careful search and clean-up. They are separated by the work on this branch.

@rptb1
Copy link
Member Author

rptb1 commented Jan 30, 2023

A note for review: the differences on the remember-time-3 branch are a source document for this work.

@thejayps thejayps added the needs analaysis The issue needs analysis before it can be resolved. label Apr 3, 2023
@thejayps thejayps added performance Affects the speed or space efficiency of the MPS in production essential Will cause failure to meet customer requirements. Assign resources. labels Oct 2, 2023
@thejayps
Copy link
Contributor

thejayps commented Oct 2, 2023

We believe this is essential. We still need to do experiments to back this up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
essential Will cause failure to meet customer requirements. Assign resources. needs analaysis The issue needs analysis before it can be resolved. performance Affects the speed or space efficiency of the MPS in production
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants