Skip to content

[mono][tests] Enable ILStrip after AOT compilation for library tests - #88167

Merged
kotlarmilos merged 17 commits into
dotnet:mainfrom
kotlarmilos:improvement/enable-ios-ilstrip
Jan 30, 2024
Merged

[mono][tests] Enable ILStrip after AOT compilation for library tests#88167
kotlarmilos merged 17 commits into
dotnet:mainfrom
kotlarmilos:improvement/enable-ios-ilstrip

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented Jun 28, 2023

Copy link
Copy Markdown
Member

Description

This PR enables IL stripping after AOT compilation for library tests on iOS-like platforms.

Contributes to #87740

@ghost

Copy link
Copy Markdown

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

Issue Details

This PR aims to enable IL stripping during AOT compilation of library tests on iOS-like platforms.

Fixes #87740

Author:kotlarmilos
Assignees:kotlarmilos
Labels:

area-Infrastructure-mono, os-ios

Milestone:8.0.0

@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike,runtime-ioslikesimulator

@azure-pipelines

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

@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

The failures in the library tests appear to be unrelated (TCP connection failure), but since all tests fail during the startup, I would like to check it locally. @akoeplinger Please take a look when you get a chance.

@akoeplinger

Copy link
Copy Markdown
Member

With the fix from https://github.com/dotnet/runtime/pull/87923/files#r1253418906 this passes System.Runtime.Tests on my iOS device, except for three tests which try to assert that a method body contains a specific IL instruction, or inlining attribute etc. I'll fix those and push to this PR.

@lambdageek

Copy link
Copy Markdown
Member

@akoeplinger We'll need to backport the ILStrip fix to net7.0, too

@akoeplinger

Copy link
Copy Markdown
Member

Yep, the 7.0 backport is in #88437

@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike,runtime-ioslikesimulator

@azure-pipelines

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

@kotlarmilos

This comment was marked as outdated.

@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike,runtime-ioslikesimulator

@azure-pipelines

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

@kotlarmiloskotlarmilos changed the title [mono][tests] Enable ILStrip during AOT compilation of library tests[WIP][mono][tests] Enable ILStrip during AOT compilation of library testsDec 19, 2023
@kotlarmiloskotlarmilos added the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Dec 19, 2023
@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike

@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike

@kotlarmiloskotlarmilos changed the title [WIP][mono][tests] Enable ILStrip during AOT compilation of library tests[mono][tests] Enable ILStrip during AOT compilation of library testsDec 21, 2023
@kotlarmiloskotlarmilos changed the title [mono][tests] Enable ILStrip during AOT compilation of library tests[mono][tests] Enable ILStrip after AOT compilation for library testsDec 21, 2023
@kotlarmiloskotlarmilos removed the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Dec 21, 2023
@kotlarmilos
kotlarmilos marked this pull request as ready for review December 21, 2023 14:21

@akoeplingerakoeplinger 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.

Did you run runtime-extra-platforms or runtime-ioslike pipelines on this to make sure we don't have additional tests failing?

I wonder a bit if we should only turn this on for a subset of assemblies. Or maybe only for the System.* assemblies.

@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike

@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

I wonder a bit if we should only turn this on for a subset of assemblies. Or maybe only for the System.* assemblies.

Let's check if there are other failures. Are there any performance-related implications we need to consider?

@akoeplinger

Copy link
Copy Markdown
Member

Are there any performance-related implications we need to consider?

Not that I know of. One thing to keep in mind is that we're now also turning this on for library mode i.e. external customers.

@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike

@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike

1 similar comment
@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike

@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike

@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike

@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

Failures shouldn't be related. Additionally, I've disabled it for library mode.

@kotlarmilos
kotlarmilos merged commit 10ea547 into dotnet:mainJan 30, 2024
Sign up for freeto 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.

3 participants

@kotlarmilos@akoeplinger@lambdageek