Skip to content

Fix 130437 testcase for gcstress - #131171

Merged
dhartglassMSFT merged 1 commit into
dotnet:mainfrom
dhartglassMSFT:fix_130993
Jul 23, 2026
Merged

Fix 130437 testcase for gcstress#131171
dhartglassMSFT merged 1 commit into
dotnet:mainfrom
dhartglassMSFT:fix_130993

Conversation

@dhartglassMSFT

Copy link
Copy Markdown
Contributor

Testcase didn't pin pointers correctly for gcstress.

Using int32* pinned blah doesn't actually pin the local, we get Ignoring pin for non-GC type V05.

Changing to pinned byrefs should fix the gcstress failure.

fixes #130993

Copilot AI review requested due to automatic review settings July 21, 2026 21:46
@github-actions github-actions Bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jul 21, 2026
Comment thread src/tests/JIT/Regression/JitBlue/GitHub_130437/GitHub_130437.il
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 3 pipeline(s).
13 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

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

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 updates the JIT regression IL test GitHub_130437 to use pinned managed byrefs (T& pinned) instead of pinned unmanaged pointers (T* pinned) and adjusts the call sites to convert the byref to an unmanaged pointer when invoking the SVE2 gather intrinsic. This keeps the array storage correctly pinned under GC stress while still satisfying the intrinsic’s uint32* parameter type.

Changes:

  • Change locals from uint32* pinned / int64* pinned to uint32& pinned / int64& pinned to ensure pinning is honored by the GC.
  • Add conv.u at the intrinsic call sites to convert the pinned byref (uint32&) to an unmanaged pointer (uint32*) argument.

@dhartglassMSFT dhartglassMSFT added the Priority:1 Work that is critical for the release, but we could probably ship without label Jul 21, 2026
@JulieLeeMSFT

Copy link
Copy Markdown
Member

/azp run runtime-coreclr crossgen2-composite gcstress, runtime-coreclr gcstress-extra

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).

@JulieLeeMSFT JulieLeeMSFT left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM.

@dhartglassMSFT

Copy link
Copy Markdown
Contributor Author

ARM64 gcstress legs passed
other tests look like timeouts

@dhartglassMSFT

Copy link
Copy Markdown
Contributor Author

/ba-g known failures and timeouts

@dhartglassMSFT
dhartglassMSFT merged commit 6e1d992 into dotnet:main Jul 23, 2026
115 of 122 checks passed
@dotnet-milestone-bot dotnet-milestone-bot Bot added this to the 11.0-rc1 milestone Jul 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI Priority:1 Work that is critical for the release, but we could probably ship without

Projects

None yet

Development

Successfully merging this pull request may close these issues.

JIT/Regression/JitBlue/GitHub_130437 failing in GC stress

3 participants