Repository navigation
Start using UnmanagedCallersOnly in CoreLib - #39082
Conversation
|
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. |
|
This is crashing in IL linker with: I have opened dotnet/linker#1345 |
4b6b8ba to
0c3b58a
Compare
|
@jkotas Is this something we want to run some benchmarks on? At least so we all have a general idea on the benefit of doing this work or at the very least to get a baseline of what we may expect for wins. |
|
The public entrypoints for what I am touching in this PR are pretty bulky methods. I do not expect to see measurable throughput wins. I expect to see delegate allocation and JITing of the reverse delegate interop interop to disappear with this change. I will check that it is what is happening once it actually builds. My primary motivation for this change was to validate that the feature actually works end-to-end and shake stress bugs if there are any |
0c3b58a to
1bc958e
Compare
|
@vargaz Also, PInvokeTable generator has problems with this change, but I should be able to fix that. |
c00f307 to
692ea29
Compare
|
I have reverted the Icu change for now to see whether there is anything else that breaks. (The full change is at https://github.com/jkotas/runtime/tree/unmanaged-callers-only-full.) |
I have verified that this does actually happen. |
|
x86 failing with: |
|
How does UnmanagedCallersOnly fail on mono ? Does it fail on wasm or on desktop ? |
|
@vargaz, I think it failed on arm64 (desktop). Here are the job runs with ICU interop change. It was this change
|
|
Yes, this was the failure. You can reproduce it on Linux by checking out https://github.com/jkotas/runtime/tree/unmanaged-callers-only-full and running globalization tests. |
276057c to
4294a7b
Compare
4294a7b to
bb39901
Compare
|
Should be fixed by #39517 |
|
Thanks. Does #39517 fix it on wasm as well? |
bb39901 to
6dec18b
Compare
|
The new Mono failure pattern is: |
6dec18b to
7a9ccd1
Compare
|
Can't reproduce that failure. |
|
CoreCLR test failure is: |
|
Blocked on #39604 |
- Fix CoreCLR assert on x86 - Use workaround for Mono
7a9ccd1 to
b57f39b
Compare
|
All failures are due to #39082 |
I have extended the Wasm workaround to apply to all Mono targets to work around this. @vargaz You should be able to reproduce this by changing |
|
Can't reproduce the mono failures. |
|
I have submitted #39695 . It should reproduce the failures. |
- Fix CoreCLR assert on x86 - Use workaround for Mono
No description provided.