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

Rangelistmap with native eh free il throw on Linux #79471

Conversation

davidwrighton
Copy link
Member

Variation on my range map changes #79021 which show really great scaling.

  • This isn't intended for merging as @janvorli is working on a change which should be even better, but it does have the following improvement...

/home/david/git/runtime/artifacts/tests/coreclr/Linux.x64.Release/Tests/Core_Root/corerun /home/david/ehperf.dll sw sync 10 single same
14008
/home/david/git/runtime/artifacts/tests/coreclr/Linux.x64.Release/Tests/Core_Root/corerun /home/david/ehperf.dll sw sync 10 multi same
30763
30828
30864
30808
30786
30842
30810
30828
30837
30852
30779
30740
/home/david/git2/runtime/artifacts/tests/coreclr/Linux.x64.Release/Tests/Core_Root/corerun /home/
david/ehperf.dll sw sync 10 single same
20314
/home/david/git2/runtime/artifacts/tests/coreclr/Linux.x64.Release/Tests/Core_Root/corerun /home/david/ehperf.dll sw sync 10 multi same
196476
196324
196150
196011
196244
195697
196478
196497
196287
196402
196489
196419

- This is improving docs on the old scheme
- Also remove the ngen specific logic
- still with the wrong locking though...
Now that it is profileable, there are tweaks to be made
- Implement a fast path for determining that an instruction pointer is a FixupPrecode/StubPrecode. It turns out those are more likely, than actual jitted code (as we typically have wrapper stubs of some form at this point).
- Implement a fast path for computing the number of arguments to a method instead of using MetaSig.
- Remove fancy locking scheme from RangeSectionMap. The existing fancy locking scheme works fine.
- Fix bug in ExecutionManager::IsReadyToRun and ExecutionManager::FindReadyToRunModule where locks were not used
…ion with the other work in this branch, produces much more scalable EH performance
@ghost
Copy link

ghost commented Jan 8, 2023

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@ghost ghost closed this Jan 8, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Feb 8, 2023
This pull request was closed.
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.

1 participant