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

[Arm64/Ubuntu] Crossgen of Microsoft.CodeAnalysis.CSharp.dll fails #9742

Closed
sdmaclea opened this issue Feb 15, 2018 · 1 comment
Closed

[Arm64/Ubuntu] Crossgen of Microsoft.CodeAnalysis.CSharp.dll fails #9742

sdmaclea opened this issue Feb 15, 2018 · 1 comment

Comments

@sdmaclea
Copy link
Contributor

Spending 93% of time in HashMap::Rehash()

@sdmaclea
Copy link
Contributor Author

Primary Issue

  • Many AssemblySpecs with the same key are being inserted into a HashMap.
  • These were treated as different because, BaseAssemblySpec::CompareEx() call to AreSameBinderInstance() returned false if both binder instances were null. Which they were.

Secondary issues

  • Assembly spec key does not include binder context. The could cause non-uniform HashMap distribution.
    HashMap::Rehash() does not have an early out when size is not growing and there is no need for compaction.

jkotas referenced this issue in dotnet/coreclr Feb 17, 2018
* Handle matching null binder

* Early out HashMap::Rehash()
@msftgits msftgits transferred this issue from dotnet/coreclr Jan 31, 2020
@msftbot msftbot bot locked as resolved and limited conversation to collaborators Dec 18, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant