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

WIP: Shared library build #33608

Closed
wants to merge 9 commits into from
Closed

Conversation

trylek
Copy link
Member

@trylek trylek commented Mar 15, 2020

This change adds SuperIlc support for the option --framework
in --composite mode by first compiling the entire set of framework
assemblies into one composite version bubble and then building the
test on top of it as another composite version bubble. One practical
upside of this mode is that it's naturally much faster than the
"one-component" composite mode as that basically requires compiling
the framework with each app.

Thanks

Tomas

@@ -220,6 +223,8 @@ public sealed override bool TryGetModuleTokenForExternalType(TypeDesc type, out

public sealed override bool IsCompositeBuildMode => _isCompositeBuildMode;

public sealed override bool IsLibraryBuildMode => _isLibraryBuildMode;
Copy link
Member

Choose a reason for hiding this comment

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

Is the IsLibraryBuildMode flag used for anything? I am not able to find it.

Copy link
Member Author

Choose a reason for hiding this comment

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

Hmm, the idea was that the library build mode can be used e.g. to tune rooting heuristics. You're right it's not wired up this way in this iteration; I can easily revert it if you don't think it's of any use.

Copy link
Member Author

Choose a reason for hiding this comment

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

OK, for now I'm going to remove this as speculative code is generally not desirable and the current compilation logic doesn't actually need this.

Copy link
Member

Choose a reason for hiding this comment

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

This can be easily added once it is actually needed. I do not think we should be adding this without the actual use.

Copy link
Member Author

Choose a reason for hiding this comment

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

Removed in 4th commit.

@trylek trylek force-pushed the SharedLibraryBuild branch 3 times, most recently from d4cb9af to a8a1934 Compare March 22, 2020 10:48
@trylek trylek force-pushed the SharedLibraryBuild branch 2 times, most recently from 7b0e950 to 291aae8 Compare March 31, 2020 21:44
@trylek trylek force-pushed the SharedLibraryBuild branch 3 times, most recently from 18c3325 to 9db7fc0 Compare April 7, 2020 13:33
This change adds SuperIlc support for the option --framework
in --composite mode by first compiling the entire set of framework
assemblies into one composite version bubble and then building the
test on top of it as another composite version bubble. One practical
upside of this mode is that it's naturally much faster than the
"one-component" composite mode as that basically requires compiling
the framework with each app.

Thanks

Tomas
This change adds SuperIlc support for the option --framework
in --composite mode by first compiling the entire set of framework
assemblies into one composite version bubble and then building the
test on top of it as another composite version bubble. One practical
upside of this mode is that it's naturally much faster than the
"one-component" composite mode as that basically requires compiling
the framework with each app.

Thanks

Tomas
@trylek trylek closed this May 24, 2020
@trylek trylek deleted the SharedLibraryBuild branch May 24, 2020 18:16
@ghost ghost locked as resolved and limited conversation to collaborators Dec 10, 2020
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.

3 participants