-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
More efficient executable allocator #83632
Merged
janvorli
merged 25 commits into
dotnet:main
from
davidwrighton:more_efficient_executable_allocator
Apr 13, 2023
Merged
Changes from 22 commits
Commits
Show all changes
25 commits
Select commit
Hold shift + click to select a range
507e19d
Add multi-element caching scheme to ExecutableAllocator
davidwrighton 819930f
CodePageGenerator generated code for LoaderHeaps should not cache the…
davidwrighton 3b69965
Fix build breaks introduced by executable mapping cache changes
davidwrighton b3d6fc1
Fix build breaks caused by changes to introduce the concept of execut…
davidwrighton 61c7033
Move VSD executable heaps from being LoaderHeaps to being CodeFragmen…
davidwrighton b5973d5
Add statistics gathering features to ExecutableAllocator
davidwrighton 8ea3b48
In progress
davidwrighton 762bcf0
Fix Dac api failing when called early in process startup
davidwrighton 64da1cc
Implement interleaved stubs as 16KB pages instead of 4KB pages
davidwrighton 306fa57
Remove api incorrectly added
davidwrighton b361aae
Adjust cache size down to 3, and leave a breadcrumb for enabling more…
davidwrighton b5901a2
Fix x86 build
davidwrighton 6640678
Tweaks to make it all build and fix some bugs
davidwrighton 3567881
Add statistics for linked list walk lengths
davidwrighton 6cdd4f7
Reorder linked list on access
davidwrighton b79081d
Fix some more asserts and build breaks
davidwrighton c7bef3a
Fix Arm build for real this time, and fix unix arm64 miscalculation o…
davidwrighton 215b571
Update based on code review comments
davidwrighton 7527070
More code review feedback
davidwrighton a9e173d
Fix oops
davidwrighton 89bef94
Attempt to fix Unix Arm64 build
davidwrighton 9838460
Try tweaking the number of cached mappings to see if the illegal inst…
davidwrighton f6f08c9
Revert "Try tweaking the number of cached mappings to see if the ille…
davidwrighton df651dc
Fix last code review comment
davidwrighton 630dc3f
Merge branch 'main' of github.com:dotnet/runtime into more_efficient_…
davidwrighton File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
David, I can see some coreclr tests in the CI failing on x64 macOS with illegal instruction, so maybe the failure you are seeing is unrelated to your changes. This is from my recent PR:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@janvorli This looks like #84010 that was fixed 2 days ago.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems likely. I've reverted my cache size tweak. @janvorli could you review this change and sign off? I'm looking to check this in today/Monday. If you think I need someone else to signoff on the type system stuff, please let me know.