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

[mono] Fix the emission of EnumEqualityComparer instances into the co… #49402

Merged
merged 1 commit into from
Mar 10, 2021

Conversation

vargaz
Copy link
Contributor

@vargaz vargaz commented Mar 10, 2021

…rlib AOT image.

Add a few dummy enums to the Mono namespace in corlib, and use them
to create valid EnumEqualityComparer instances. Also make sure the
instances are actually emitted and not replaced by gsharedvt instances.

Fixes #49229.

@dotnet-issue-labeler
Copy link

I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label.

…rlib AOT image.

Add a few dummy enums to the Mono namespace in corlib, and use them
to create valid EnumEqualityComparer instances. Also make sure the
instances are actually emitted and not replaced by gsharedvt instances.

Fixes dotnet#49229.
@vargaz vargaz force-pushed the fix-enum-comparer-aot branch from 9726f65 to 3914bd8 Compare March 10, 2021 01:44
@@ -618,6 +618,15 @@
<type fullname="Mono.ValueTuple`3" preserve="fields"/>
<type fullname="Mono.ValueTuple`4" preserve="fields"/>
<type fullname="Mono.ValueTuple`5" preserve="fields"/>
<!-- aot-compiler.c -->
<type fullname="Mono.I8Enum" preserve="fields"/>
Copy link
Contributor

Choose a reason for hiding this comment

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

Should we be splitting these off into a separate exclusions file when building the AOT compiler? Is that an option?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

These types need to be in the linked corlib which is AOTed. They are just small types with no members.

@vargaz vargaz merged commit 60dc59b into dotnet:main Mar 10, 2021
@vargaz vargaz deleted the fix-enum-comparer-aot branch March 10, 2021 13:16
thaystg added a commit to thaystg/runtime that referenced this pull request Mar 10, 2021
* upstream/main: (83 commits)
  Fix a crash in llvm if the sreg of a setret is not set because the methods ends with a throw. (dotnet#49122)
  [macOS-arm64] Disable failing libraries tests (dotnet#49400)
  improve PriorityQueue documentation (dotnet#49392)
  [wasm] Fix debugger tests (dotnet#49206)
  [mono] Fix the emission of EnumEqualityComparer instances into the corlib AOT image. (dotnet#49402)
  jitutils M2M renaming reaction (dotnet#49430)
  WinHttpHandler: Read HTTP/2 trailing headers
  [RyuJIT] Make casthelpers cold for sealed classes (dotnet#49295)
  JIT: Non-void ThrowHelpers (dotnet#48589)
  Update package index for servicing (dotnet#49417)
  Remove unnecessary check on polymorphic serialization (dotnet#48464)
  Remove release build cron triggers from jitstress jobs (dotnet#49333)
  [main] Update dependencies from dotnet/arcade dotnet/llvm-project dotnet/runtime-assets (dotnet#49359)
  Implement AppleCryptoNative_X509GetRawData using SecCertificateCopyData
  [AndroidCrypto] Support a zero-length salt for HMACs. (dotnet#49384)
  Use managed implementation of pbkdf2 for Android's one-shot implementation. (dotnet#49314)
  Make 303 redirects do GET like Net Framework (dotnet#49095)
  Make sure event generation is incremental (dotnet#48903)
  Add amd and Surface arm64 perf runs (dotnet#49389)
  Enregister EH var that are single def (dotnet#47307)
  ...
@ghost ghost locked as resolved and limited conversation to collaborators Apr 9, 2021
@karelz karelz added this to the 6.0.0 milestone May 20, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Wasm][AOT] System.NotImplementedException : The method or operation is not implemented.
3 participants