Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

[clr-interp] Enable CoreCLR interpreter functional test on iOS and MacCatalyst - #119177

#119177
Merged
kotlarmilos merged 33 commits into
dotnet:maindotnet/runtime:mainfrom
kotlarmilos:feature/maccatalyst-ios-clr-interp-startupkotlarmilos/runtime:feature/maccatalyst-ios-clr-interp-startupCopy head branch name to clipboard
Sep 4, 2025
Merged

[clr-interp] Enable CoreCLR interpreter functional test on iOS and MacCatalyst#119177
kotlarmilos merged 33 commits into
dotnet:maindotnet/runtime:mainfrom
kotlarmilos:feature/maccatalyst-ios-clr-interp-startupkotlarmilos/runtime:feature/maccatalyst-ios-clr-interp-startupCopy head branch name to clipboard

Conversation

@kotlarmilos

@kotlarmilos kotlarmilos commented Aug 28, 2025

Copy link
Copy Markdown
Member

Description

This PR enables the CoreCLR interpreter functional test on iOS and MacCatalyst. It updates the build system to support cached interface dispatch to avoid RWX pages and updates the executable allocator to use RW pages instead of RWX. R2R is disabled by default when the interpreter is used.

Changes

  • Enabled cached interface dispatch
  • Updated executable allocator to use RW pages instead of RWX
  • Skipped calls into PAL_JitWriteProtect on Apple mobile
  • Updated MacCatalyst build to run OS feature checks
  • Linked the interpreter into the coreclr library
  • Setup CI build

Out of scope / Follow-up

  • Dynamic linking for debug builds
  • tvOS support
  • x64 architecture

Fixes #118647

@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 28, 2025
@kotlarmilos

Copy link
Copy Markdown
Member Author

/azp run runtime-ioslike,runtime-ioslikesimulator,runtime-maccatalyst

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@kotlarmilos

Copy link
Copy Markdown
Member Author

/azp list

@azure-pipelines

This comment was marked as off-topic.

@kotlarmilos

Copy link
Copy Markdown
Member Author

/azp run runtime-ioslike

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines could not run because the pipeline triggers exclude this branch/path.

@kotlarmilos

Copy link
Copy Markdown
Member Author

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@kotlarmilos

Copy link
Copy Markdown
Member Author

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@kotlarmilos

Copy link
Copy Markdown
Member Author

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@kotlarmilos

Copy link
Copy Markdown
Member Author

This PR is ready for review. The new jobs are:

  • ios-arm64 Checked AllSubsets_CoreCLR
  • maccatalyst-arm64 Checked AllSubsets_CoreCLR
  • iossimulator-arm64 Checked AllSubsets_CoreCLR

Comment thread src/coreclr/clrfeatures.cmake
Comment thread src/coreclr/interpreter/CMakeLists.txt Outdated
Comment thread src/coreclr/interpreter/CMakeLists.txt Outdated
Comment thread src/coreclr/pal/src/map/map.cpp
Comment thread src/coreclr/pal/src/map/virtual.cpp Outdated
Comment thread src/coreclr/vm/peimagelayout.cpp Outdated
Comment thread src/tasks/AppleAppBuilder/AppleAppBuilder.cs
@kotlarmilos

Copy link
Copy Markdown
Member Author

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@janvorli janvorli 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, thank you!

@kotlarmilos
kotlarmilos enabled auto-merge (squash) September 4, 2025 17:03
@kotlarmilos
kotlarmilos merged commit 07bc73e into dotnet:main Sep 4, 2025
165 checks passed
/// R2R
///
RETAIL_CONFIG_STRING_INFO(INTERNAL_NativeImageSearchPaths, W("NativeImageSearchPaths"), "Extra search paths for native composite R2R images")
#if defined(TARGET_IOS) || defined(TARGET_TVOS) || defined(TARGET_MACCATALYST)

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.

MACCATALIST isn't mobile?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

It is a different feature in the build system, but it is treated the same as mobile where JIT is not allowed.

@github-actions github-actions Bot locked and limited conversation to collaborators Oct 5, 2025
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.

[clr-interp] Set up fully interpreted functional test on iOS and MacCatalyst

5 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.