Skip to content

Bad x64 codegen in VerifyUnifierConsistency #8606

Closed
dotnet/coreclr
#13016
@MichalStrehovsky

Description

@MichalStrehovsky

@sergiy-k and I hit this in CoreRT, but this has a repro in CoreCLR too.

Compile the attached Program.txt
as csc /noconfig /nostdlib /r:System.Private.CoreLib.dll Program.cs /define:DEBUG /O (note: we define the DEBUG symbol and enable optimizations) and run the resulting executable with CoreRun. The code will hit an assert. Now drop the /O and the code won't hit the assert.

@sergiy-k found some suspicious use of rdi register in VerifyUnifierConsistency. Setting COMPlus_JitDisasm=VerifyUnifierConsistency and inspecting the use of rdi in the disassembly might be a good starting point.

Metadata

Metadata

Assignees

Labels

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

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions