Skip to content

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