-
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
Get rid of EETypePtr
#97207
Get rid of EETypePtr
#97207
Conversation
Resolves dotnet/runtimelab#232. This wrapper served two purposes over `MethodTable*`: * Make sure equality semantics were enforced at the time where we could have multiple `MethodTable*` representing the same type. This is no longer the case and we don't need it for this purpose. * Save us from typing `unsafe` Apart from this, it also pessimized codegen (see the linked issue). Bye `EETypePtr`. I didn't fully delete it because the `CorElementType` conversion is still there. We can deal with that later.
Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas Issue DetailsResolves dotnet/runtimelab#232. This wrapper served two purposes over
Apart from this, it also pessimized codegen (see the linked issue). Bye I didn't fully delete it because the Cc @dotnet/ilc-contrib
|
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.
LGTM once the CI is green. (It may be a good idea to run outer loop too.)
I would be curious to learn about the concrete examples here. I'm aware of the tailcall issue, but the other one I'd be interested in looking closer at. |
/azp run runtime-extra-platforms |
Azure Pipelines successfully started running 1 pipeline(s). |
Can we get jit diffs for the PR or that doesn't work for non-JIT changes? |
Sadly I don't think we have an automated way to get diffs for a change like this one. |
Resolves dotnet/runtimelab#232. This wrapper served two purposes over `MethodTable*`: * Make sure equality semantics were enforced at the time where we could have multiple `MethodTable*` representing the same type. This is no longer the case and we don't need it for this purpose. * Save us from typing `unsafe` Apart from this, it also pessimized codegen (see the linked issue). Bye `EETypePtr`. I didn't fully delete it because the `CorElementType` conversion is still there. We can deal with that later.
I am seeing crashes if I create an app using Repro steps:
Reverting this change fixes this crash. |
Publish your app using locally built packages: https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/nativeaot.md#building-packages . This will guarantee that you have matching set of bits. |
Resolves dotnet/runtimelab#232.
This wrapper served two purposes over
MethodTable*
:MethodTable*
representing the same type. This is no longer the case and we don't need it for this purpose.unsafe
Apart from this, it also pessimized codegen (see the linked issue). Bye
EETypePtr
.I didn't fully delete it because the
CorElementType
conversion is still there. We can deal with that later.Cc @dotnet/ilc-contrib