Skip to content

Clean up struct allocation in gsParamsToShadows #13366

Open

Description

@CarolEidt

This method creates shadow copies (this is excerpted from the discussion here: dotnet/coreclr#21705 (comment)):

  • first, it creates the variables, without calling lvaSetStruct, but copies some of the struct-related info, such as lvVerTypeInfo.
  • then it changes the IR to use the new variables (ugly because the IR will now temporarily be in an invalid state - the newly created variables may have not been fully setup without lvaSetStruct)
  • then it generates copies from the old variables to the new variables and here it calls lvaSetStruct

It should presumably call lvaSetStruct when it first creates the new locals.

category:implementation
theme:ir
skill-level:beginner
cost:small
impact:small

Activity

  1. transferred this issue fromdotnet/coreclron Jan 31, 2020
  2. added this to the Future milestone on Jan 31, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    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