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

Roadmap to a fully functional Ruby VM with MMTk #20

Open
5 of 9 tasks
wks opened this issue Mar 7, 2023 · 0 comments
Open
5 of 9 tasks

Roadmap to a fully functional Ruby VM with MMTk #20

wks opened this issue Mar 7, 2023 · 0 comments

Comments

@wks
Copy link
Collaborator

wks commented Mar 7, 2023

This is a very high level roadmap.

  • Step 1: Support NoGC
  • Step 2: Support MarkSweep and non-copying Immix
  • Step 3: Support copying Immix
  • Intermediate steps: Fix obvious performance issues.
    • Tracking issue: GC performance issues for MMTk Ruby #25
    • Remove excessive obj_free
      • Tracking issue: Make obj_free unnecessary for common types #11
      • We have not eliminated all obj_free candidates (it is impossible), but it is no longer the biggest performance problem that prevent us from moving forward. It still has room for improvement, though.
    • Load-balancing: Handle extra-large arrays.
    • Specialising object-scanning fast paths
    • (Optional) Use in-header forwarding bits.
  • Step 4: Support StickyImmix, a generational collector
  • Intermediate steps: Stablising
    • Re-examine disabled test cases and enable them if possible.
    • Revisit Ractor support.
  • Step 5: Implement allocation and write barrier fast paths with YJIT
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