cell-gc
cell-gc copied to clipboard
Ongoing work on multiple pages
#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
- [x] move sweep_fn to the pageset
0d75da9 changed PageSet to use a linked list instead of a Vec<PageBox>.