Skip to content

Conversation

@AndyAyersMS
Copy link
Member

If this method is inlined, the JIT may be unable to inline some of its callees, leading to a perf regression.

See #114996.

If this method is inlined, the JIT may be unable to inline some of its
callees, leading to a perf regression.

See dotnet#114996.
Copilot AI review requested due to automatic review settings August 11, 2025 18:34
@github-actions github-actions bot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Aug 11, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR addresses a JIT compiler inlining limitation by marking two UrlDecodeInternal methods with [MethodImpl(MethodImplOptions.NoInlining)] to prevent performance regressions. The issue occurs when these methods are inlined, causing the JIT to fail to inline their important callees.

Key changes:

  • Added NoInlining attribute to both UrlDecodeInternal method overloads
  • Added explanatory comments describing the JIT workaround

@AndyAyersMS
Copy link
Member Author

In particular #114996 (comment)

@jeffhandley @tannergooding PTAL
cc @dotnet/jit-contrib

@AndyAyersMS
Copy link
Member Author

@EgorBot --arm --intel --filter System.Buffers.Text.Tests.Utf8FormatterTests.FormatterDecimal(value: 123456.789)

@AndyAyersMS
Copy link
Member Author

Egorbot not seeing any improvement here... back to the drawing board.

@AndyAyersMS
Copy link
Member Author

Handling this via budget increase instead: #118641

@github-actions github-actions bot locked and limited conversation to collaborators Sep 12, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants