Skip to content

Conversation

@tannergooding
Copy link
Member

This resolves #105624

We notably already had all the "correct" information as part of the instruction descriptor tables, so this just consumes that directly rather than special-casing a bunch of one off instructions in the emitGetBaseMemOpSize method.

This information is only used in DEBUG as part of validating alignment for method local constants and for displaying the JIT disassembly. There's additional cleanup/simplification possible, but that can wait for .NET 10 since its not causing any test failures or asserts.

@ghost ghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Aug 7, 2024
@tannergooding
Copy link
Member Author

/azp run runtime-coreclr jitstress-isas-x86

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@tannergooding
Copy link
Member Author

tannergooding commented Aug 8, 2024

CC. @dotnet/jit-contrib, this should be ready for review and resolves #105624

As per the top post, this consumes the existing instruction metadata which gives a correct view of what each instruction expects its memory operands to be and so removes the need to continue adding many one off handlings.

@tannergooding tannergooding merged commit a90994b into dotnet:main Aug 10, 2024
@tannergooding tannergooding deleted the fix-105624 branch August 10, 2024 02:01
@github-actions github-actions bot locked and limited conversation to collaborators Sep 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 'IS_ALIGNED(addr, byteSize)' during 'Emit code'

2 participants