Movatterモバイル変換


[0]ホーム

URL:


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

Sign up
Appearance settings

Build bootstrap compiler in separate phase#72001

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
jaredpar merged 10 commits intodotnet:mainfromjaredpar:boot
Feb 9, 2024
Merged

Conversation

@jaredpar
Copy link
Member

@jaredparjaredpar commentedFeb 8, 2024
edited
Loading

This moves the infrastructure for building a bootstrap compiler into a separate phase.

The reason for this is to facilitate better performance investigations. Having the bootstrap compiler always build inside our build makes it basically impossible to profile using a freshly built compiler to build our repo. Profiles capture both the build of the bootstrap and the subsequent build. Having separate phases makes it much easier to profile and also test out how changes work as the code outside the bootstrap involves.

This work allows me to now:

  • build the bootstrap compiler
  • start the profiler
  • rebuild roslyn

Overall I think it's also just a bit cleaner this way.

Further I took the opportunity to clean up the PowerShell code a bit and mostly move us to usingpwsh instead of having to rely on old PowerShell quirks

This moves the infrastructure for building a bootstrap compiler into aseparate phase.The reason for this is to facilitate better performance investigations.Having the bootstrap compiler build inside our build makes it basicallyimpossible to profile using a freshly built compiler to build our repo.Having separate phases mean that locally I can now- build the bootstrap compiler- start the profiler- rebuild roslynOverall I think it's also just a bit cleaner this way.
@ghostghost added Area-Infrastructure untriagedIssues and PRs which have not yet been triaged by a lead labelsFeb 8, 2024
@jaredpar
Copy link
MemberAuthor

@dotnet/roslyn-infrastructure PTAL

Note: the test failures are related to a general Helix outage. This change impacts correctness legs which are all passing so feel it's ready for review.

@jaredparjaredpar marked this pull request as ready for reviewFebruary 8, 2024 17:06
@jaredparjaredpar requested a review froma team as acode ownerFebruary 8, 2024 17:06
Copy link
Member

@JoeRobichJoeRobich left a comment

Choose a reason for hiding this comment

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

I like the switch to pwsh!

Write-Host"Checking generated compiler files"
Exec-Script (Join-Path$PSScriptRoot"generate-compiler-code.ps1")"-test -configuration:$configuration"
Exec-Console dotnet"tool run dotnet-format whitespace . --folder --include-generated --include src/Compilers/CSharp/Portable/Generated/ src/Compilers/VisualBasic/Portable/Generated/ src/ExpressionEvaluator/VisualBasic/Source/ResultProvider/Generated/ --verify-no-changes"
Exec-Command dotnet"tool run dotnet-format whitespace . --folder --include-generated --include src/Compilers/CSharp/Portable/Generated/ src/Compilers/VisualBasic/Portable/Generated/ src/ExpressionEvaluator/VisualBasic/Source/ResultProvider/Generated/ --verify-no-changes"
Copy link
Member

Choose a reason for hiding this comment

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

Could this beExec-DotNet or does this need to use the dotnet CLI that is on PATH?

Copy link
MemberAuthor

Choose a reason for hiding this comment

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

This should beExec-DotNet. This is more working today by accident than design. I will fix that in the follow up PR that I'm just about to push.

JoeRobich reacted with thumbs up emoji
@jaredparjaredpar merged commit740cb44 intodotnet:mainFeb 9, 2024
@jaredparjaredpar deleted the boot branchFebruary 9, 2024 21:35
@ghostghost added this to theNext milestoneFeb 9, 2024
@jjonesczjjonescz modified the milestones:Next,17.10 P2Feb 27, 2024
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

@JoeRobichJoeRobichJoeRobich approved these changes

Assignees

No one assigned

Labels

Area-InfrastructureuntriagedIssues and PRs which have not yet been triaged by a lead

Projects

None yet

Milestone

17.10 P2

Development

Successfully merging this pull request may close these issues.

3 participants

@jaredpar@JoeRobich@jjonescz

[8]ページ先頭

©2009-2025 Movatter.jp