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

Make the mono interpreter into a runtime component #54421

Open
lambdageek opened this issue Jun 18, 2021 · 3 comments
Open

Make the mono interpreter into a runtime component #54421

lambdageek opened this issue Jun 18, 2021 · 3 comments

Comments

@lambdageek
Copy link
Member

lambdageek commented Jun 18, 2021

Continuing our work on using a uniform mechanism to componentize the mono runtime, we should consider turning the interpreter into a runtime component.


Use case: iOS Device runtime pack should include libmono-ee-interp.a

In mono/mono, we built the interpreter for iOS devices as a separate static library that could be excluded from the build.

In dotnet/runtime we built the interpreter right into libmono.a for iOS device runtime packs. This leads to a size increase for the common case where published iOS apps use FullAOT and don't need the interpreter fallback.

We should use the CMake ENABLE_INTERP_LIB option for iOS device runtime packs. (We currently use it for wasm)

@lambdageek lambdageek added this to the 6.0.0 milestone Jun 18, 2021
@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged New issue has not been triaged by the area owner label Jun 18, 2021
@lambdageek
Copy link
Member Author

/cc @imhameed @spouliot

@marek-safar marek-safar added os-ios Apple iOS and removed untriaged New issue has not been triaged by the area owner labels Jun 21, 2021
@steveisok steveisok modified the milestones: 6.0.0, 7.0.0 Aug 16, 2021
@lateralusX
Copy link
Member

@lambdageek, maybe we should convert interpreter into a component, like we have for tracing, debugger and hot reload instead of continuing with special static library solution? If we agree on that, then maybe we should re-phrase this issue and move it to net8.

@lambdageek lambdageek changed the title iOS Device runtime pack should include libmono-ee-interp.a Make the mono interpreter into a runtime component Jul 26, 2022
@lambdageek lambdageek modified the milestones: 7.0.0, 8.0.0 Jul 26, 2022
@ghost
Copy link

ghost commented Jul 26, 2022

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

Issue Details

Continuing our work on using a uniform mechanism to componentize the mono runtime, we should consider turning the interpreter into a runtime component.


Use case: iOS Device runtime pack should include libmono-ee-interp.a

In mono/mono, we built the interpreter for iOS devices as a separate static library that could be excluded from the build.

In dotnet/runtime we built the interpreter right into libmono.a for iOS device runtime packs. This leads to a size increase for the common case where published iOS apps use FullAOT and don't need the interpreter fallback.

We should use the CMake ENABLE_INTERP_LIB option for iOS device runtime packs. (We currently use it for wasm)

Author: lambdageek
Assignees: -
Labels:

area-Infrastructure-mono

Milestone: 7.0.0

@marek-safar marek-safar modified the milestones: 8.0.0, Future Jul 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants