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

Pass metadata pointers to RyuJIT #79806

Merged
merged 1 commit into from
Dec 19, 2022
Merged

Conversation

MichalStrehovsky
Copy link
Member

RyuJIT started asking about names a lot more than it used to. Pass it UTF-8 pointers from metadata instead of UTF-16-converted, then UTF-8 converted, and pinned byte buffers.

Gets rid of a couple byte[] allocations (this is from a hello world):

image

I did the minimal amount of work necessary to do this, but we might have an opportunity to switch more of the type system to the Utf8 plan (with UTF8 string literals support arriving in .NET 7, we probably have all the primitives we could get). Just not sure this is what I should spend more time on right now.

Cc @dotnet/ilc-contrib

RyuJIT started asking about names a lot more than it used to. Pass it UTF-8 pointers from metadata instead of UTF-16-converted, then UTF-8 converted, and pinned byte buffers.
@ghost
Copy link

ghost commented Dec 19, 2022

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

Issue Details

RyuJIT started asking about names a lot more than it used to. Pass it UTF-8 pointers from metadata instead of UTF-16-converted, then UTF-8 converted, and pinned byte buffers.

Gets rid of a couple byte[] allocations (this is from a hello world):

image

I did the minimal amount of work necessary to do this, but we might have an opportunity to switch more of the type system to the Utf8 plan (with UTF8 string literals support arriving in .NET 7, we probably have all the primitives we could get). Just not sure this is what I should spend more time on right now.

Cc @dotnet/ilc-contrib

Author: MichalStrehovsky
Assignees: -
Labels:

area-NativeAOT-coreclr

Milestone: -

@jkotas jkotas merged commit d260da5 into dotnet:main Dec 19, 2022
@MichalStrehovsky MichalStrehovsky deleted the utf8names branch December 19, 2022 18:15
@ghost ghost locked as resolved and limited conversation to collaborators Jan 18, 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