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

The GC root placement pass 1.0 deserves #21888

Merged
merged 7 commits into from
Jun 16, 2017
Merged

The GC root placement pass 1.0 deserves #21888

merged 7 commits into from
Jun 16, 2017

Commits on Jun 15, 2017

  1. Introduce new GC root placement pass

    Design notes are in the devdocs. Algorithmic documentation in code comments.
    Keno committed Jun 15, 2017
    Configuration menu
    Copy the full SHA
    7227007 View commit details
    Browse the repository at this point in the history
  2. Remove old GC placement pass

    Keno committed Jun 15, 2017
    Configuration menu
    Copy the full SHA
    3a9fa43 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    cff6a5c View commit details
    Browse the repository at this point in the history
  4. Change IR representation of jlcall frames

    Details are in the devdocs. This scheme is signfificantly simpler.
    Keno committed Jun 15, 2017
    Configuration menu
    Copy the full SHA
    eefbde7 View commit details
    Browse the repository at this point in the history
  5. Add a pass to propagate addrspace information

    Some LLVM passes don't handle addrspacecast too well, so try to
    minimize addrspace cast transitions where legal according to
    our invariants.
    Keno committed Jun 15, 2017
    Configuration menu
    Copy the full SHA
    226bca3 View commit details
    Browse the repository at this point in the history
  6. Better way to expose julia meta-pass

    In the previous iteration of this code, timing would be double counted.
    This way, the individual passes are correctly registered with the
    top level manager, so timing works properly. It's a bit hacky but
    with the legacy pass manager, there's not much else to be done.
    Keno committed Jun 15, 2017
    Configuration menu
    Copy the full SHA
    b2d0caf View commit details
    Browse the repository at this point in the history
  7. Don't color roots that don't need it

    Also avoid numbering arguments early in the pipeline. Improves
    performance on small test cases without safepoints.
    Keno committed Jun 15, 2017
    Configuration menu
    Copy the full SHA
    b0a162c View commit details
    Browse the repository at this point in the history