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

Ongoing work on multiple pages #15

Open
1 of 9 tasks
jorendorff opened this issue Jun 29, 2017 · 1 comment
Open
1 of 9 tasks

Ongoing work on multiple pages #15

jorendorff opened this issue Jun 29, 2017 · 1 comment

Comments

@jorendorff
Copy link
Owner

jorendorff commented Jun 29, 2017

#4 is fixed but there's a bunch of stuff I didn't have time for.

To test:

  • allocating >1 page works
  • pointers from one page to another keep referents alive
  • gc collects cycles across page boundaries
  • page limit >1 works (try_alloc returns None)
  • hitting the limit, raising it, and hitting it again works
  • allocating >1 page, setting limit of 1 page, things don't explode
  • after collecting an object on one page, in non-fifo order, allocation finds and uses the gap

To do:

  • use linked lists of pages and a freelist, instead of vec
  • move sweep_fn to the pageset
@jorendorff
Copy link
Owner Author

0d75da9 changed PageSet to use a linked list instead of a Vec<PageBox>.

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

No branches or pull requests

1 participant