Skip to content

Conversation

@AndyAyersMS
Copy link
Member

Their initialization is handled by the parent local.

Closes #64808.

Their initialization is handled by the parent local.

CLoses dotnet#64808.
@ghost ghost assigned AndyAyersMS Feb 6, 2022
@ghost ghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Feb 6, 2022
@ghost
Copy link

ghost commented Feb 6, 2022

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

Issue Details

Their initialization is handled by the parent local.

Closes #64808.

Author: AndyAyersMS
Assignees: AndyAyersMS
Labels:

area-CodeGen-coreclr

Milestone: -

@AndyAyersMS
Copy link
Member Author

cc @dotnet/jit-contrib

Cleared lvMustInit for some other early-out cases too, just to be consistent.

@AndyAyersMS
Copy link
Member Author

AndyAyersMS commented Feb 7, 2022

Runtime failures look like the current set of usual suspects.

This change caused a handful of diffs which is a little surprising; I want to understand these better before merging.

@AndyAyersMS
Copy link
Member Author

Looks like we were indeed double-initializing in some cases (eg linux, x64)

; Assembly listing for method BenchmarkDotNet.Parameters.ParameterExtractor:GetParameter(System.Collections.Generic.IEnumerable`1[ValueTuple`2],int):System.ValueTuple`2[__Canon,CompareOptions]
...
       xor      eax, eax
       mov      qword ptr [rbp-38H], rax
       mov      qword ptr [rbp-30H], rax
       mov      qword ptr [rbp-38H], rax
       mov      dword ptr [rbp-30H], eax

@AndyAyersMS
Copy link
Member Author

Spot checked and all the diffs are like this.

@AndyAyersMS AndyAyersMS merged commit 2a5602d into dotnet:main Feb 7, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Mar 9, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Assertion failed 'compiler->opts.IsOSR() || ((genInitStkLclCnt > 0) == hasUntrLcl)'

2 participants