Skip to content

Replace the crude CSR spilling for GC transitions with something more sophisticated. #26

@pgavlin

Description

@pgavlin

Codegen for callee-save register spilling is currently pretty crude: when lowering GC_TRANSITION_RA, we simply smash the register mask with a new mask that indicates that none of the GPRs that would otherwise have been saved are actually saved, which forces spill/restore generation later on down the road. It would be better to instead have the GC strategy inform the RewriteStatepoints pass that all GC pointers that are live across a GC transition must be spilled.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions