You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The original motivation for this was handling import stubs:
Function pointer equality comparison was not handling cross-module pointers correctly when optimizations were enabled
(causes target pointers to be wrapped in jump stubs sometimes). The delegate equality comparison was hitting this bug.
We do not have import stubs anymore and unwrapping unboxing stubs serves no purpose here.
Microbenchmarks of delegate equality show ~3x improvement with this change:
Bench_DelegateEquality_Positive_OpenStatic<10000000>() took: 355 ms
Bench_DelegateEquality_Positive_ClosedStatic<10000000>() took: 367 ms
Bench_DelegateEquality_Positive_ClosedInstance<10000000>() took: 371 ms
Bench_DelegateEquality_Positive_OpenStatic<10000000>() took: 121 ms
Bench_DelegateEquality_Positive_ClosedStatic<10000000>() took: 120 ms
Bench_DelegateEquality_Positive_ClosedInstance<10000000>() took: 122 ms
Additionally, there is some desire to upstream changes for a portable RhGetCodeTarget implementation. Not having to deal with it at this relatively low-level layer will make things more robust.
dotnet/corert@08d78ae
The original motivation for this was handling import stubs:
```
Function pointer equality comparison was not handling cross-module pointers correctly when optimizations were enabled
(causes target pointers to be wrapped in jump stubs sometimes). The delegate equality comparison was hitting this bug.
```
We do not have import stubs anymore and unwrapping unboxing stubs serves no purpose here.
Microbenchmarks of delegate equality show ~3x improvement with this change:
```
Bench_DelegateEquality_Positive_OpenStatic<10000000>() took: 355 ms
Bench_DelegateEquality_Positive_ClosedStatic<10000000>() took: 367 ms
Bench_DelegateEquality_Positive_ClosedInstance<10000000>() took: 371 ms
Bench_DelegateEquality_Positive_OpenStatic<10000000>() took: 121 ms
Bench_DelegateEquality_Positive_ClosedStatic<10000000>() took: 120 ms
Bench_DelegateEquality_Positive_ClosedInstance<10000000>() took: 122 ms
```
Additionally, there is some desire to upstream changes for a portable RhGetCodeTarget implementation. Not having to
deal with it at this relatively low-level layer will make things more robust.
The original motivation for this was handling import stubs:
Function pointer equality comparison was not handling cross-module pointers correctly when optimizations were enabled
(causes target pointers to be wrapped in jump stubs sometimes). The delegate equality comparison was hitting this bug.
We do not have import stubs anymore and unwrapping unboxing stubs serves no purpose here.
Microbenchmarks of delegate equality show ~3x improvement with this change:
Bench_DelegateEquality_Positive_OpenStatic<10000000>() took: 355 ms
Bench_DelegateEquality_Positive_ClosedStatic<10000000>() took: 367 ms
Bench_DelegateEquality_Positive_ClosedInstance<10000000>() took: 371 ms
Bench_DelegateEquality_Positive_OpenStatic<10000000>() took: 121 ms
Bench_DelegateEquality_Positive_ClosedStatic<10000000>() took: 120 ms
Bench_DelegateEquality_Positive_ClosedInstance<10000000>() took: 122 ms
Additionally, there is some desire to upstream changes for a portable RhGetCodeTarget implementation. Not having to deal with it at this relatively low-level layer will make things more robust.
Extra platform NAOT failures are all #88628, except for one System.Private.Xml.Tests failure:
Console log: 'System.Private.Xml.Tests' from job 35ef4761-e9bb-4401-9efe-8cc3f8ab5491 workitem 069930dd-fa36-4f12-a23f-3a80ebbaf30f (windows.amd64.server2022.open.rt) executed on machine a00DJC5 running Windows-10-10.0.20348-SP0
C:\h\w\B10309B3\w\AB6D09C6\e>taskkill.exe /f /im corerun.exe ERROR: The process "corerun.exe" not found.
C:\h\w\B10309B3\w\AB6D09C6\e>call RunTests.cmd --runtime-path C:\h\w\B10309B3\p ----- start Tue 07/11/2023 8:14:20.54 =============== To repro directly: =====================================================
pushd C:\h\w\B10309B3\w\AB6D09C6\e\
System.Private.Xml.Tests.exe -notrait category=IgnoreForCI -notrait category=OuterLoop -notrait category=failing -xml testResults.xml popd
===========================================================================================================
C:\h\w\B10309B3\w\AB6D09C6\e>System.Private.Xml.Tests.exe -notrait category=IgnoreForCI -notrait category=OuterLoop -notrait category=failing -xml testResults.xml Running assembly:System.Private.Xml.Tests, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
----- end Tue 07/11/2023 8:14:43.33 ----- exit code 3 ----------------------------------------------------------
2023-07-11T08:14:44.090Z INFO run.py run(48) main Beginning reading of test results.
2023-07-11T08:14:44.091Z INFO run.py __init__(42) read_results Searching 'C:\h\w\B10309B3\w\AB6D09C6\e' for test results files
2023-07-11T08:14:44.100Z INFO run.py __init__(42) read_results Searching 'C:\h\w\B10309B3\w\AB6D09C6\uploads' for test results files
2023-07-11T08:14:44.101Z WARNING run.py __init__(55) read_results No results file found in any of the following formats: xunit, junit, trx
2023-07-11T08:14:44.101Z INFO run.py packing_test_reporter(30) report_results Packing 0 test reports to 'C:\h\w\B10309B3\w\AB6D09C6\e\__test_report.json'
2023-07-11T08:14:44.103Z INFO run.py packing_test_reporter(33) report_results Packed 1551 bytes
ERROR: The process "corerun.exe" not found.
Did not find dumps, skipping dump docs generation.
['System.Private.Xml.Tests' END OF WORK ITEM LOG: Command exited with 3]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
dotnet/corert@08d78ae
The original motivation for this was handling import stubs:
We do not have import stubs anymore and unwrapping unboxing stubs serves no purpose here.
Microbenchmarks of delegate equality show ~3x improvement with this change:
Additionally, there is some desire to upstream changes for a portable RhGetCodeTarget implementation. Not having to deal with it at this relatively low-level layer will make things more robust.
Ref: dotnet/runtimelab#2333.