Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix too wide memory accesses for nullchecks #64683

Merged
merged 16 commits into from
Feb 10, 2022
Merged

Conversation

EgorBo
Copy link
Member

@EgorBo EgorBo commented Feb 2, 2022

Fixes #64657

@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Feb 2, 2022
@ghost ghost assigned EgorBo Feb 2, 2022
@ghost
Copy link

ghost commented Feb 2, 2022

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

Issue Details

Fixes #64657

for now just a draft to see CI status

Author: EgorBo
Assignees: -
Labels:

area-CodeGen-coreclr

Milestone: -

@EgorBo EgorBo marked this pull request as ready for review February 4, 2022 00:28
@EgorBo
Copy link
Member Author

EgorBo commented Feb 9, 2022

@BruceForstall @jakobbotsch PTAL current version.
no diffs on ARM64 as expected - all loads are 4-bytes long. A couple of 1byte diffs on x64 in cases where larger mov is used, e.g.:

struct Foo
{
    public byte b1;
    public byte b2;
}

void Test(ref Foo f)
{
    var _ = f.b2; // implicit nullcheck
}

image

@EgorBo EgorBo merged commit 52ec9fd into dotnet:main Feb 10, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Mar 12, 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
3 participants