Skip to content

Conversation

@TIHan
Copy link
Contributor

@TIHan TIHan commented Aug 16, 2024

To resolve #106140

@ghost ghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Aug 16, 2024
@TIHan TIHan marked this pull request as ready for review August 16, 2024 17:12
@TIHan
Copy link
Contributor Author

TIHan commented Aug 16, 2024

@dotnet/jit-contrib this is ready

@AndyAyersMS
Copy link
Member

Can you explain what the bug was and why this is the right fix?

@TIHan
Copy link
Contributor Author

TIHan commented Aug 17, 2024

In this case for the struct:

    public struct S1
    {
        public double F0;
        public Vector256<short> F1;
        public S1(bool f3) : this()
        {
        }
    }

We are pushing 8 bytes for the field F0, but when doing so we were only emitting a single push 0 which will only push 4 bytes on x86. Therefore, the fix is to emit another push 0 to push 4 more bytes.

@TIHan
Copy link
Contributor Author

TIHan commented Aug 22, 2024

@AndyAyersMS I tried this in release/net8.0 and the same assertion failure occurs. Does not happen in net6 or net7.

@JulieLeeMSFT JulieLeeMSFT marked this pull request as draft September 9, 2024 18:17
@JulieLeeMSFT JulieLeeMSFT added this to the 10.0.0 milestone Sep 9, 2024
@dotnet-policy-service dotnet-policy-service bot removed this from the 10.0.0 milestone Oct 10, 2024
@dotnet-policy-service
Copy link
Contributor

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@github-actions github-actions bot locked and limited conversation to collaborators Nov 9, 2024
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.

JIT: Assertion failed '(ssize_t)emitCurStackLvl >= argSize'

3 participants