Skip to content

JIT: Consider making handles their own node type #104636

Open

Description

@jakobbotsch

The JIT has had a number of bugs related to the fact that handles are special and cannot participate in various opts, even though we represent them as GT_CNS_INT. #104634 is one latest example.
I think we should consider introducing a dedicated node type for the (opaque) handles to make these bugs less likely to be introduced.

cc @dotnet/jit-contrib

Activity

  1. ghost added
    area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
    on Jul 9, 2024
  2. added this to the 10.0.0 milestone on Jul 9, 2024
  3. dotnet-policy-service commented on Jul 9, 2024

    @dotnet-policy-service
    Contributor

    Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
    See info in area-owners.md if you want to be subscribed.

  4. SingleAccretion commented on Jul 9, 2024

    @SingleAccretion
    Contributor

    Consideration: under Jit (!opts.compReloc) it is ok to dissolve handles (they have their final values). It is only under AOT that handles are special.

  5. jakobbotsch commented on Jul 9, 2024

    @jakobbotsch
    MemberAuthor

    @SingleAccretion Yeah, that's what I was alluding to by the "(opaque)". Though it would be nice to remove the handle flags from GT_CNS_INT as well, but we use those for a few things (mostly to annotate disassembly, I think), so we probably wouldn't be able to do that if we left the runtime JIT handles as GT_CNS_INT.

  6. modified the milestones: 10.0.0, Future on Feb 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions