Skip to content

Conversation

kotlarmilos
Copy link
Member

Description

This PR updates the functional test to fully interpret the startup path and Main method. It statically links the runtime and interpreter, and implements the Interlocked.Exchange must-expand intrinsics.

Contributes to #118647

@kotlarmilos kotlarmilos self-assigned this Aug 19, 2025
@kotlarmilos kotlarmilos added this to the 11.0.0 milestone Aug 19, 2025
@kotlarmilos
Copy link
Member Author

/azp run runtime-ioslikesimulator

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Contributor

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

kotlarmilos and others added 3 commits August 20, 2025 09:47
Co-authored-by: Aaron Robinson <arobins@microsoft.com>
Co-authored-by: Aaron Robinson <arobins@microsoft.com>
@kotlarmilos
Copy link
Member Author

/azp run runtime-iossimulator

Copy link

No pipelines are associated with this pull request.

@kotlarmilos
Copy link
Member Author

/azp run runtime-ioslikesimulator

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@kotlarmilos
Copy link
Member Author

/azp run runtime-iossimulator

Copy link

No pipelines are associated with this pull request.

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@kotlarmilos
Copy link
Member Author

/azp run runtime-ioslikesimulator

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@kotlarmilos
Copy link
Member Author

/azp run runtime-ioslike,runtime-ioslikesimulator

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@kotlarmilos
Copy link
Member Author

/azp run runtime-ioslike,runtime-ioslikesimulator

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@kotlarmilos
Copy link
Member Author

/azp run runtime-ioslike,runtime-ioslikesimulator

@kotlarmilos kotlarmilos requested a review from kg August 25, 2025 10:39
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Contributor

@Copilot 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 enables fully interpreted execution for CoreCLR on iOS simulator by configuring static linking and implementing required interpreter intrinsics. The changes simplify the functional test configuration and extend interpreter support for Interlocked.Exchange operations.

  • Configures CoreCLR for static linking on iOS platforms instead of dynamic linking
  • Implements Interlocked.Exchange intrinsics in the interpreter for int32 and int64 types
  • Simplifies the functional test to use direct interpretation mode and removes async components

Reviewed Changes

Copilot reviewed 14 out of 15 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
iOS.Simulator.CoreCLR.Interpreter.Test.csproj Updates environment variables to use simplified interpreter mode configuration
Program.cs Simplifies test program by removing async operations and external dependencies
Xcode.cs Modifies build system to use static libraries (.a files) instead of dynamic libraries (.dylib) for CoreCLR
CMakeLists.txt files Extends static library installation to iOS/tvOS/MacCatalyst platforms
AppleBuild.targets Adds copying of static CoreCLR library for static linking scenarios
prestub.cpp Updates interpreter call stub creation condition to exclude WASM targets
interpexec.cpp Implements execution logic for Exchange intrinsics and adds macro cleanup
intrinsics.cpp Adds recognition of Interlocked.Exchange method intrinsic
intops.def Defines new interpreter opcodes for Exchange operations
compiler.cpp Implements compilation logic for Exchange intrinsics
coreclr/CMakeLists.txt Extends static library linking configuration to iOS platforms
clrfeatures.cmake Updates feature flags to disable JIT and enable static linking for iOS platforms

@kotlarmilos
Copy link
Member Author

/cc: @janvorli @kg @BrzVlad This PR is ready for review, please take a look

Copy link
Member

@janvorli janvorli left a comment

Choose a reason for hiding this comment

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

LGTM, thank you!

@kotlarmilos kotlarmilos merged commit 0be1d88 into dotnet:main Aug 27, 2025
172 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants