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

JIT: fix patchpoint offset encoding #68202

Merged
merged 1 commit into from
Apr 19, 2022
Merged

Conversation

AndyAyersMS
Copy link
Member

We can now have Tier0 locals at byte offsets, so rework how the offset
information is incoded in patchpoints to make this possible.

Closes #68194.

@dotnet-issue-labeler
Copy link

I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label.

@ghost ghost assigned AndyAyersMS Apr 19, 2022
@AndyAyersMS
Copy link
Member Author

@jakobbotsch PTAL
cc @dotnet/jit-contrib

Current SPMI data (if there is any) will still "work". Will kick off a new ASP.NET collection once this lands.

}

void SetOffset(unsigned localNum, int offset)
{
m_offsetAndExposureData[localNum] = offset;
m_offsetAndExposureData[localNum] = (offset << OFFSET_SHIFT);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like this will clear out the exposure bit.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's always been that way and calling SetIsExposed was optional. I'll rework this so they get set together.

We can now have Tier0 locals at byte offsets, so rework how the offset
information is incoded in patchpoints to make this possible.

Closes dotnet#68194.
@AndyAyersMS
Copy link
Member Author

Revised (and merged/force-pushed to fix up the committer email).

@AndyAyersMS AndyAyersMS merged commit 6c7ce85 into dotnet:main Apr 19, 2022
directhex pushed a commit to directhex/runtime that referenced this pull request Apr 21, 2022
We can now have Tier0 locals at byte offsets, so rework how the offset
information is incoded in patchpoints to make this possible.

Closes dotnet#68194.
@ghost ghost locked as resolved and limited conversation to collaborators May 19, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

OSR gets wrong offset for memory arg on arm64 OSX
2 participants