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

SPMI: Ensure proper zero extension for isObjectImmutable and friends #112617

Merged
merged 1 commit into from
Feb 17, 2025

Conversation

jakobbotsch
Copy link
Member

@jakobbotsch jakobbotsch commented Feb 16, 2025

Whether pointers are signed or unsigned is implementation defined, meaning that casts from a pointer to a 64-bit integer on 32-bit targets can be either zero or sign extended. SPMI provides CastHandle to handle this, but a couple of record/replay helpers were not using these. This would cause misses when recording on linux-arm32 and replaying with an MSVC-compiled cross-jit.

Fix #104329

Whether pointers are signed or unsigned is implementation defined,
meaning that casts from a pointer to a 64-bit integer on 32-bit targets
can be either zero or sign extended. SPMI provides `CastHandle` to
handle this, but a couple of recording helpers were not using these.
@Copilot Copilot bot review requested due to automatic review settings February 16, 2025 21:10

Choose a reason for hiding this comment

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

Copilot wasn't able to review any files in this pull request.

Files not reviewed (1)
  • src/coreclr/tools/superpmi/superpmi-shared/methodcontext.cpp: Language not supported
@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Feb 16, 2025
@jakobbotsch
Copy link
Member Author

cc @dotnet/jit-contrib PTAL @EgorBo

@jakobbotsch jakobbotsch requested a review from EgorBo February 16, 2025 21:11
@jakobbotsch jakobbotsch merged commit d6cfa20 into dotnet:main Feb 17, 2025
95 of 98 checks passed
@jakobbotsch jakobbotsch deleted the zero-extend-handles branch February 17, 2025 09:03
grendello added a commit to grendello/runtime that referenced this pull request Feb 18, 2025
* main: (71 commits)
  Update dependencies from https://github.com/dotnet/source-build-reference-packages build 20250212.3 (dotnet#112626)
  JIT: Unify struct arg morphing (dotnet#112612)
  Enable `SA1015`: Closing generic bracket should not be followed by a space (dotnet#112597)
  Clean up normalizeLocale for mono browser target (dotnet#112575)
  SPMI: Ensure proper zero extension for isObjectImmutable and friends (dotnet#112617)
  Quote --version-scripts path (dotnet#112603)
  Remove incompatible API from PKCS netstandard2.0 lib
  [main] Update dependencies from dotnet/emsdk (dotnet#112393)
  Avoid `Unsafe.As` in `RangeCharSearchValues` (dotnet#112606)
  Fixed the issue of incorrect return value of PalVirtualAlloc (dotnet#112579)
  Fix size used for vectorization check in BitArray (dotnet#111558) (dotnet#111564)
  Fix build of windows arm64 crossdac (dotnet#112553)
  Simplify `ShuffleTakeIterator.GetCount` (dotnet#112593)
  Fix VS div-by-0 in DacEnumerableHashTable code (dotnet#112542)
  R2RDump: normalize GC info totalInterruptibleLength (dotnet#112003)
  Fix alignment padding and add test for saving managed resources (dotnet#110915)
  Adds `ccmp` logic into emitter backend. (dotnet#112153)
  Disable AVX10.2 by default (dotnet#112572)
  Outbox AesGcm in to Microsoft.Bcl.Cryptography
  Make test `IUnknown` conforming (dotnet#112566)
  ...
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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

SPMI replays missing on arm32 for CORINFO_OBJECT_HANDLE JIT-EE APIs
3 participants