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

[NativeAOT] Use inline relocs for win-arm64 INLINE_GETTHREAD #85689

Merged
merged 8 commits into from
May 3, 2023

Conversation

VSadov
Copy link
Member

@VSadov VSadov commented May 2, 2023

  • Switched to using inline relocs for win-arm64 tls access.
    We will use the same pattern as the most recent MSVC uses. That has fewer indirections and does not require INLINE_GETTHREAD_CONSTANT_POOL.
    Masm is very delicate about what mnemonics are used in this scenario, but can be convinced to emit the pattern.
  • introduced INLINE_GET_TLS_VAR for win-arm64
  • minor cleanups along the way

@VSadov VSadov added NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) NO-REVIEW Experimental/testing PR, do NOT review it labels May 2, 2023
@ghost ghost assigned VSadov May 2, 2023
@ghost
Copy link

ghost commented May 2, 2023

Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas
See info in area-owners.md if you want to be subscribed.

Issue Details

null

Author: VSadov
Assignees: VSadov
Labels:

NO-MERGE, NO-REVIEW, area-NativeAOT-coreclr

Milestone: -

@VSadov VSadov changed the title [TEST] trying to use inline reloc for win-arm64 tls [NativeAOT] Use inline relocs for win-arm64 INLINE_GETTHREAD May 3, 2023
@VSadov VSadov removed NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) NO-REVIEW Experimental/testing PR, do NOT review it labels May 3, 2023
@VSadov VSadov marked this pull request as ready for review May 3, 2023 20:09
@VSadov VSadov requested a review from jkotas May 3, 2023 20:11
@VSadov
Copy link
Member Author

VSadov commented May 3, 2023

coreclr also uses INLINE_GETTHREAD_CONSTANT_POOL pattern, but overall the use of INLINE_GETTHREAD is much less common.

I plan to do a similar change in coreclr separately and will look if the same can be done to ARM32.

Copy link
Member

@jkotas jkotas left a comment

Choose a reason for hiding this comment

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

Nice!

@jkotas jkotas merged commit d819cc9 into dotnet:main May 3, 2023
@VSadov VSadov deleted the arm64tlsReloc branch May 3, 2023 23:58
@VSadov
Copy link
Member Author

VSadov commented May 3, 2023

Thanks!

@ghost ghost locked as resolved and limited conversation to collaborators Jun 3, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants