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

Late cast expansion: multiple candidates #97773

Merged
merged 14 commits into from
Feb 2, 2024

Conversation

EgorBo
Copy link
Member

@EgorBo EgorBo commented Jan 31, 2024

This PR slightly refactors PickCandidatesForTypeCheck:

  1. Adds multi-guesses support. For now, only NativeAOT isinst is supported, closes NAOT: isinst with multiple guesses without fallback #97602
  2. Removes some logic that duplicates existing pickGDV
  3. General clean up. E.g. it turned out we called compareCastResults for all candidates while it's only needed for PGO-driven data (to make sure it's not stale).

@ghost ghost assigned EgorBo Jan 31, 2024
@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jan 31, 2024
@ghost
Copy link

ghost commented Jan 31, 2024

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

Issue Details

TODO: desc

Author: EgorBo
Assignees: EgorBo
Labels:

area-CodeGen-coreclr

Milestone: -

@ryujit-bot
Copy link

Diff results for #97773

Throughput diffs

Throughput diffs for osx/arm64 ran on linux/x64

Warning: Different compilers used for base and diff JITs. Results may be misleading.
Base JIT's compiler: MSVC 193933218
Diff JIT's compiler: MSVC 193933321

Overall (-0.16% to -0.02%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch -0.06%
benchmarks.run_pgo.osx.arm64.checked.mch -0.13%
benchmarks.run_tiered.osx.arm64.checked.mch -0.02%
coreclr_tests.run.osx.arm64.checked.mch -0.04%
libraries.crossgen2.osx.arm64.checked.mch -0.16%
libraries.pmi.osx.arm64.checked.mch -0.08%
libraries_tests.run.osx.arm64.Release.mch -0.09%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch -0.05%
realworld.run.osx.arm64.checked.mch -0.07%
FullOpts (-0.16% to -0.04%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch -0.06%
benchmarks.run_pgo.osx.arm64.checked.mch -0.16%
benchmarks.run_tiered.osx.arm64.checked.mch -0.04%
coreclr_tests.run.osx.arm64.checked.mch -0.08%
libraries.crossgen2.osx.arm64.checked.mch -0.16%
libraries.pmi.osx.arm64.checked.mch -0.08%
libraries_tests.run.osx.arm64.Release.mch -0.14%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch -0.05%
realworld.run.osx.arm64.checked.mch -0.07%

Throughput diffs for windows/arm64 ran on linux/x64

Warning: Different compilers used for base and diff JITs. Results may be misleading.
Base JIT's compiler: MSVC 193933218
Diff JIT's compiler: MSVC 193933321

Overall (-0.44% to -0.03%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch -0.06%
benchmarks.run_pgo.windows.arm64.checked.mch -0.44%
benchmarks.run_tiered.windows.arm64.checked.mch -0.03%
coreclr_tests.run.windows.arm64.checked.mch -0.04%
libraries.crossgen2.windows.arm64.checked.mch -0.15%
libraries.pmi.windows.arm64.checked.mch -0.08%
libraries_tests.run.windows.arm64.Release.mch -0.10%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch -0.05%
realworld.run.windows.arm64.checked.mch -0.08%
smoke_tests.nativeaot.windows.arm64.checked.mch -0.09%
MinOpts (-0.00% to +0.01%)
Collection PDIFF
libraries.pmi.windows.arm64.checked.mch +0.01%
FullOpts (-0.53% to -0.05%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch -0.06%
benchmarks.run_pgo.windows.arm64.checked.mch -0.53%
benchmarks.run_tiered.windows.arm64.checked.mch -0.06%
coreclr_tests.run.windows.arm64.checked.mch -0.08%
libraries.crossgen2.windows.arm64.checked.mch -0.15%
libraries.pmi.windows.arm64.checked.mch -0.08%
libraries_tests.run.windows.arm64.Release.mch -0.15%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch -0.05%
realworld.run.windows.arm64.checked.mch -0.08%
smoke_tests.nativeaot.windows.arm64.checked.mch -0.09%

Details here


@ryujit-bot
Copy link

Diff results for #97773

Assembly diffs

Assembly diffs for linux/arm64 ran on windows/x64

Diffs are based on 2,368,028 contexts (1,007,092 MinOpts, 1,360,936 FullOpts).

MISSED contexts: base: 1 (0.00%), diff: 139,290 (5.56%)

Overall (+178,720 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch 10,779,100 -652
benchmarks.run_pgo.linux.arm64.checked.mch 67,233,864 +29,104
benchmarks.run_tiered.linux.arm64.checked.mch 23,940,084 -716
coreclr_tests.run.linux.arm64.checked.mch 476,924,568 +180,356
libraries.crossgen2.linux.arm64.checked.mch 55,839,492 -38,600
libraries.pmi.linux.arm64.checked.mch 56,495,516 -14,968
libraries_tests.run.linux.arm64.Release.mch 341,340,364 +42,212
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch 131,109,528 -14,148
realworld.run.linux.arm64.checked.mch 11,150,480 -3,396
smoke_tests.nativeaot.linux.arm64.checked.mch 2,568,016 -472
FullOpts (+178,720 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch 10,474,172 -652
benchmarks.run_pgo.linux.arm64.checked.mch 41,299,080 +29,104
benchmarks.run_tiered.linux.arm64.checked.mch 4,201,648 -716
coreclr_tests.run.linux.arm64.checked.mch 128,776,416 +180,356
libraries.crossgen2.linux.arm64.checked.mch 55,837,856 -38,600
libraries.pmi.linux.arm64.checked.mch 56,375,532 -14,968
libraries_tests.run.linux.arm64.Release.mch 126,208,412 +42,212
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch 117,612,064 -14,148
realworld.run.linux.arm64.checked.mch 10,569,556 -3,396
smoke_tests.nativeaot.linux.arm64.checked.mch 2,567,028 -472

Assembly diffs for linux/x64 ran on windows/x64

Diffs are based on 2,376,110 contexts (991,070 MinOpts, 1,385,040 FullOpts).

MISSED contexts: base: 1 (0.00%), diff: 141,799 (5.63%)

Overall (+231,612 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 9,116,540 -246
benchmarks.run_pgo.linux.x64.checked.mch 61,526,409 +59,087
benchmarks.run_tiered.linux.x64.checked.mch 20,952,201 -378
coreclr_tests.run.linux.x64.checked.mch 379,303,315 +175,629
libraries.crossgen2.linux.x64.checked.mch 38,724,198 -36,690
libraries.pmi.linux.x64.checked.mch 44,166,644 -10,472
libraries_tests.run.linux.x64.Release.mch 288,126,805 +54,855
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 104,936,794 -7,284
realworld.run.linux.x64.checked.mch 9,185,961 -2,304
smoke_tests.nativeaot.linux.x64.checked.mch 3,746,367 -585
FullOpts (+231,612 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 8,817,237 -246
benchmarks.run_pgo.linux.x64.checked.mch 37,726,420 +59,087
benchmarks.run_tiered.linux.x64.checked.mch 3,211,421 -378
coreclr_tests.run.linux.x64.checked.mch 99,548,613 +175,629
libraries.crossgen2.linux.x64.checked.mch 38,723,000 -36,690
libraries.pmi.linux.x64.checked.mch 44,053,787 -10,472
libraries_tests.run.linux.x64.Release.mch 104,367,112 +54,855
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 94,319,026 -7,284
realworld.run.linux.x64.checked.mch 8,800,077 -2,304
smoke_tests.nativeaot.linux.x64.checked.mch 3,745,418 -585

Assembly diffs for osx/arm64 ran on windows/x64

Diffs are based on 2,155,041 contexts (932,669 MinOpts, 1,222,372 FullOpts).

MISSED contexts: base: 2 (0.00%), diff: 115,829 (5.10%)

Overall (+139,100 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.osx.arm64.checked.mch 9,448,856 -564
benchmarks.run_pgo.osx.arm64.checked.mch 31,779,432 +17,248
benchmarks.run_tiered.osx.arm64.checked.mch 15,054,540 -304
coreclr_tests.run.osx.arm64.checked.mch 456,025,968 +174,876
libraries.crossgen2.osx.arm64.checked.mch 55,720,964 -38,600
libraries.pmi.osx.arm64.checked.mch 60,103,176 -17,584
libraries_tests.run.osx.arm64.Release.mch 287,581,212 +21,272
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch 129,078,576 -13,956
realworld.run.osx.arm64.checked.mch 10,546,316 -3,288
FullOpts (+139,100 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.osx.arm64.checked.mch 9,448,320 -564
benchmarks.run_pgo.osx.arm64.checked.mch 15,478,132 +17,248
benchmarks.run_tiered.osx.arm64.checked.mch 3,550,056 -304
coreclr_tests.run.osx.arm64.checked.mch 123,413,044 +174,876
libraries.crossgen2.osx.arm64.checked.mch 55,719,336 -38,600
libraries.pmi.osx.arm64.checked.mch 59,982,048 -17,584
libraries_tests.run.osx.arm64.Release.mch 83,865,364 +21,272
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch 115,924,848 -13,956
realworld.run.osx.arm64.checked.mch 9,982,360 -3,288

Assembly diffs for windows/arm64 ran on windows/x64

Diffs are based on 2,214,063 contexts (938,449 MinOpts, 1,275,614 FullOpts).

MISSED contexts: base: 9 (0.00%), diff: 127,054 (5.43%)

Overall (+149,500 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.arm64.checked.mch 9,209,620 -672
benchmarks.run_pgo.windows.arm64.checked.mch 36,834,740 +14,692
benchmarks.run_tiered.windows.arm64.checked.mch 14,982,116 -740
coreclr_tests.run.windows.arm64.checked.mch 464,179,684 +175,696
libraries.crossgen2.windows.arm64.checked.mch 59,064,704 -39,068
libraries.pmi.windows.arm64.checked.mch 59,138,872 -15,932
libraries_tests.run.windows.arm64.Release.mch 290,921,468 +34,164
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch 136,411,844 -14,072
realworld.run.windows.arm64.checked.mch 11,201,768 -4,048
smoke_tests.nativeaot.windows.arm64.checked.mch 3,425,620 -520
FullOpts (+149,500 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.arm64.checked.mch 9,209,084 -672
benchmarks.run_pgo.windows.arm64.checked.mch 20,823,344 +14,692
benchmarks.run_tiered.windows.arm64.checked.mch 3,804,928 -740
coreclr_tests.run.windows.arm64.checked.mch 125,490,580 +175,696
libraries.crossgen2.windows.arm64.checked.mch 59,063,068 -39,068
libraries.pmi.windows.arm64.checked.mch 59,018,888 -15,932
libraries_tests.run.windows.arm64.Release.mch 87,487,872 +34,164
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch 123,258,096 -14,072
realworld.run.windows.arm64.checked.mch 10,637,788 -4,048
smoke_tests.nativeaot.windows.arm64.checked.mch 3,424,608 -520

Assembly diffs for windows/x64 ran on windows/x64

Diffs are based on 2,378,858 contexts (997,391 MinOpts, 1,381,467 FullOpts).

MISSED contexts: base: 3 (0.00%), diff: 133,354 (5.31%)

Overall (+176,602 bytes)
Collection Base size (bytes) Diff size (bytes)
aspnet.run.windows.x64.checked.mch 40,266,003 +7,362
benchmarks.run.windows.x64.checked.mch 7,349,829 -153
benchmarks.run_pgo.windows.x64.checked.mch 31,202,379 +17,870
benchmarks.run_tiered.windows.x64.checked.mch 12,005,303 -406
coreclr_tests.run.windows.x64.checked.mch 369,673,919 +157,226
libraries.crossgen2.windows.x64.checked.mch 39,483,308 -30,733
libraries.pmi.windows.x64.checked.mch 45,446,626 -10,727
libraries_tests.run.windows.x64.Release.mch 246,556,596 +45,646
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 108,545,965 -6,320
realworld.run.windows.x64.checked.mch 9,896,125 -2,913
smoke_tests.nativeaot.windows.x64.checked.mch 4,471,874 -250
FullOpts (+176,602 bytes)
Collection Base size (bytes) Diff size (bytes)
aspnet.run.windows.x64.checked.mch 21,774,954 +7,362
benchmarks.run.windows.x64.checked.mch 7,349,466 -153
benchmarks.run_pgo.windows.x64.checked.mch 17,031,723 +17,870
benchmarks.run_tiered.windows.x64.checked.mch 2,906,064 -406
coreclr_tests.run.windows.x64.checked.mch 96,885,065 +157,226
libraries.crossgen2.windows.x64.checked.mch 39,482,121 -30,733
libraries.pmi.windows.x64.checked.mch 45,333,105 -10,727
libraries_tests.run.windows.x64.Release.mch 70,698,278 +45,646
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 97,926,859 -6,320
realworld.run.windows.x64.checked.mch 9,509,516 -2,913
smoke_tests.nativeaot.windows.x64.checked.mch 4,470,927 -250

Details here


Assembly diffs for linux/arm ran on windows/x86

Diffs are based on 2,094,036 contexts (829,328 MinOpts, 1,264,708 FullOpts).

MISSED contexts: base: 71,274 (3.08%), diff: 216,627 (9.38%)

Overall (+130,132 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm.checked.mch 9,047,232 -78
benchmarks.run_pgo.linux.arm.checked.mch 43,272,620 -25,310
benchmarks.run_tiered.linux.arm.checked.mch 14,457,706 -592
coreclr_tests.run.linux.arm.checked.mch 298,167,662 +144,280
libraries.crossgen2.linux.arm.checked.mch 34,520,558 -16,194
libraries.pmi.linux.arm.checked.mch 36,667,164 -9,228
libraries_tests.run.linux.arm.Release.mch 209,834,398 +45,534
libraries_tests_no_tiered_compilation.run.linux.arm.Release.mch 76,532,706 -5,962
realworld.run.linux.arm.checked.mch 10,176,194 -2,318
FullOpts (+130,132 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm.checked.mch 8,658,030 -78
benchmarks.run_pgo.linux.arm.checked.mch 32,072,654 -25,310
benchmarks.run_tiered.linux.arm.checked.mch 5,804,706 -592
coreclr_tests.run.linux.arm.checked.mch 85,690,074 +144,280
libraries.crossgen2.linux.arm.checked.mch 34,519,328 -16,194
libraries.pmi.linux.arm.checked.mch 36,560,940 -9,228
libraries_tests.run.linux.arm.Release.mch 88,865,266 +45,534
libraries_tests_no_tiered_compilation.run.linux.arm.Release.mch 66,461,970 -5,962
realworld.run.linux.arm.checked.mch 9,740,894 -2,318

Assembly diffs for windows/x86 ran on windows/x86

Diffs are based on 2,163,608 contexts (839,658 MinOpts, 1,323,950 FullOpts).

MISSED contexts: base: 45 (0.00%), diff: 129,888 (5.66%)

Overall (+33,421 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 5,993,081 -607
benchmarks.run_pgo.windows.x86.checked.mch 28,024,486 -12,090
benchmarks.run_tiered.windows.x86.checked.mch 8,552,866 -505
coreclr_tests.run.windows.x86.checked.mch 291,257,106 +67,284
libraries.crossgen2.windows.x86.checked.mch 31,700,815 -29,760
libraries.pmi.windows.x86.checked.mch 36,478,439 -8,621
libraries_tests.run.windows.x86.Release.mch 159,641,653 +28,589
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch 89,509,872 -8,447
realworld.run.windows.x86.checked.mch 7,942,301 -2,422
FullOpts (+33,421 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 5,992,800 -607
benchmarks.run_pgo.windows.x86.checked.mch 21,435,855 -12,090
benchmarks.run_tiered.windows.x86.checked.mch 4,283,045 -505
coreclr_tests.run.windows.x86.checked.mch 89,468,972 +67,284
libraries.crossgen2.windows.x86.checked.mch 31,699,755 -29,760
libraries.pmi.windows.x86.checked.mch 36,383,206 -8,621
libraries_tests.run.windows.x86.Release.mch 61,367,953 +28,589
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch 80,829,808 -8,447
realworld.run.windows.x86.checked.mch 7,646,587 -2,422

Details here


Throughput diffs

Throughput diffs for linux/arm64 ran on windows/x64

Warning: Different compilers used for base and diff JITs. Results may be misleading.
Base JIT's compiler: MSVC 193933218
Diff JIT's compiler: MSVC 193933321

Overall (-0.51% to -0.02%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch -0.06%
benchmarks.run_pgo.linux.arm64.checked.mch -0.51%
benchmarks.run_tiered.linux.arm64.checked.mch -0.02%
coreclr_tests.run.linux.arm64.checked.mch -0.04%
libraries.crossgen2.linux.arm64.checked.mch -0.16%
libraries.pmi.linux.arm64.checked.mch -0.08%
libraries_tests.run.linux.arm64.Release.mch -0.11%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch -0.05%
realworld.run.linux.arm64.checked.mch -0.07%
smoke_tests.nativeaot.linux.arm64.checked.mch -0.10%
FullOpts (-0.60% to -0.05%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch -0.06%
benchmarks.run_pgo.linux.arm64.checked.mch -0.60%
benchmarks.run_tiered.linux.arm64.checked.mch -0.05%
coreclr_tests.run.linux.arm64.checked.mch -0.08%
libraries.crossgen2.linux.arm64.checked.mch -0.16%
libraries.pmi.linux.arm64.checked.mch -0.08%
libraries_tests.run.linux.arm64.Release.mch -0.16%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch -0.05%
realworld.run.linux.arm64.checked.mch -0.07%
smoke_tests.nativeaot.linux.arm64.checked.mch -0.10%

Throughput diffs for linux/x64 ran on windows/x64

Warning: Different compilers used for base and diff JITs. Results may be misleading.
Base JIT's compiler: MSVC 193933218
Diff JIT's compiler: MSVC 193933321

Overall (-0.54% to -0.02%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch -0.05%
benchmarks.run_pgo.linux.x64.checked.mch -0.54%
benchmarks.run_tiered.linux.x64.checked.mch -0.02%
coreclr_tests.run.linux.x64.checked.mch -0.06%
libraries.crossgen2.linux.x64.checked.mch -0.17%
libraries.pmi.linux.x64.checked.mch -0.08%
libraries_tests.run.linux.x64.Release.mch -0.14%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch -0.04%
realworld.run.linux.x64.checked.mch -0.06%
smoke_tests.nativeaot.linux.x64.checked.mch -0.07%
FullOpts (-0.63% to -0.04%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch -0.05%
benchmarks.run_pgo.linux.x64.checked.mch -0.63%
benchmarks.run_tiered.linux.x64.checked.mch -0.04%
coreclr_tests.run.linux.x64.checked.mch -0.10%
libraries.crossgen2.linux.x64.checked.mch -0.17%
libraries.pmi.linux.x64.checked.mch -0.08%
libraries_tests.run.linux.x64.Release.mch -0.20%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch -0.04%
realworld.run.linux.x64.checked.mch -0.06%
smoke_tests.nativeaot.linux.x64.checked.mch -0.07%

Throughput diffs for windows/x64 ran on windows/x64

Warning: Different compilers used for base and diff JITs. Results may be misleading.
Base JIT's compiler: MSVC 193933218
Diff JIT's compiler: MSVC 193933321

Overall (-0.16% to -0.02%)
Collection PDIFF
aspnet.run.windows.x64.checked.mch -0.14%
benchmarks.run.windows.x64.checked.mch -0.05%
benchmarks.run_pgo.windows.x64.checked.mch -0.14%
benchmarks.run_tiered.windows.x64.checked.mch -0.02%
coreclr_tests.run.windows.x64.checked.mch -0.05%
libraries.crossgen2.windows.x64.checked.mch -0.16%
libraries.pmi.windows.x64.checked.mch -0.07%
libraries_tests.run.windows.x64.Release.mch -0.16%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch -0.04%
realworld.run.windows.x64.checked.mch -0.07%
smoke_tests.nativeaot.windows.x64.checked.mch -0.06%
FullOpts (-0.25% to -0.04%)
Collection PDIFF
aspnet.run.windows.x64.checked.mch -0.17%
benchmarks.run.windows.x64.checked.mch -0.05%
benchmarks.run_pgo.windows.x64.checked.mch -0.17%
benchmarks.run_tiered.windows.x64.checked.mch -0.04%
coreclr_tests.run.windows.x64.checked.mch -0.10%
libraries.crossgen2.windows.x64.checked.mch -0.16%
libraries.pmi.windows.x64.checked.mch -0.07%
libraries_tests.run.windows.x64.Release.mch -0.25%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch -0.04%
realworld.run.windows.x64.checked.mch -0.07%
smoke_tests.nativeaot.windows.x64.checked.mch -0.06%

Details here


Throughput diffs for linux/arm64 ran on linux/x64

Overall (-0.50% to -0.02%)
Collection PDIFF
libraries.crossgen2.linux.arm64.checked.mch -0.15%
libraries_tests.run.linux.arm64.Release.mch -0.10%
libraries.pmi.linux.arm64.checked.mch -0.06%
benchmarks.run_pgo.linux.arm64.checked.mch -0.50%
benchmarks.run_tiered.linux.arm64.checked.mch -0.02%
smoke_tests.nativeaot.linux.arm64.checked.mch -0.09%
realworld.run.linux.arm64.checked.mch -0.06%
benchmarks.run.linux.arm64.checked.mch -0.05%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch -0.04%
coreclr_tests.run.linux.arm64.checked.mch -0.03%
FullOpts (-0.59% to -0.04%)
Collection PDIFF
libraries.crossgen2.linux.arm64.checked.mch -0.15%
libraries_tests.run.linux.arm64.Release.mch -0.14%
libraries.pmi.linux.arm64.checked.mch -0.06%
benchmarks.run_pgo.linux.arm64.checked.mch -0.59%
benchmarks.run_tiered.linux.arm64.checked.mch -0.04%
smoke_tests.nativeaot.linux.arm64.checked.mch -0.09%
realworld.run.linux.arm64.checked.mch -0.06%
benchmarks.run.linux.arm64.checked.mch -0.05%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch -0.04%
coreclr_tests.run.linux.arm64.checked.mch -0.06%

Throughput diffs for linux/x64 ran on linux/x64

Overall (-0.54% to -0.02%)
Collection PDIFF
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch -0.04%
coreclr_tests.run.linux.x64.checked.mch -0.05%
realworld.run.linux.x64.checked.mch -0.06%
smoke_tests.nativeaot.linux.x64.checked.mch -0.07%
benchmarks.run.linux.x64.checked.mch -0.05%
libraries.pmi.linux.x64.checked.mch -0.08%
libraries.crossgen2.linux.x64.checked.mch -0.17%
benchmarks.run_pgo.linux.x64.checked.mch -0.54%
libraries_tests.run.linux.x64.Release.mch -0.13%
benchmarks.run_tiered.linux.x64.checked.mch -0.02%
FullOpts (-0.63% to -0.03%)
Collection PDIFF
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch -0.04%
coreclr_tests.run.linux.x64.checked.mch -0.10%
realworld.run.linux.x64.checked.mch -0.06%
smoke_tests.nativeaot.linux.x64.checked.mch -0.07%
benchmarks.run.linux.x64.checked.mch -0.05%
libraries.pmi.linux.x64.checked.mch -0.08%
libraries.crossgen2.linux.x64.checked.mch -0.17%
benchmarks.run_pgo.linux.x64.checked.mch -0.63%
libraries_tests.run.linux.x64.Release.mch -0.18%
benchmarks.run_tiered.linux.x64.checked.mch -0.03%

Details here


Throughput diffs for linux/arm ran on windows/x86

Warning: Different compilers used for base and diff JITs. Results may be misleading.
Base JIT's compiler: MSVC 193933218
Diff JIT's compiler: MSVC 193933321

Overall (-0.17% to -0.03%)
Collection PDIFF
benchmarks.run.linux.arm.checked.mch -0.04%
benchmarks.run_pgo.linux.arm.checked.mch -0.17%
benchmarks.run_tiered.linux.arm.checked.mch -0.03%
coreclr_tests.run.linux.arm.checked.mch -0.04%
libraries.crossgen2.linux.arm.checked.mch -0.10%
libraries.pmi.linux.arm.checked.mch -0.07%
libraries_tests.run.linux.arm.Release.mch -0.14%
libraries_tests_no_tiered_compilation.run.linux.arm.Release.mch -0.04%
realworld.run.linux.arm.checked.mch -0.05%
FullOpts (-0.19% to -0.04%)
Collection PDIFF
benchmarks.run.linux.arm.checked.mch -0.04%
benchmarks.run_pgo.linux.arm.checked.mch -0.19%
benchmarks.run_tiered.linux.arm.checked.mch -0.04%
coreclr_tests.run.linux.arm.checked.mch -0.06%
libraries.crossgen2.linux.arm.checked.mch -0.10%
libraries.pmi.linux.arm.checked.mch -0.07%
libraries_tests.run.linux.arm.Release.mch -0.19%
libraries_tests_no_tiered_compilation.run.linux.arm.Release.mch -0.04%
realworld.run.linux.arm.checked.mch -0.05%

Throughput diffs for windows/x86 ran on windows/x86

Warning: Different compilers used for base and diff JITs. Results may be misleading.
Base JIT's compiler: MSVC 193933218
Diff JIT's compiler: MSVC 193933321

Overall (-0.29% to -0.04%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch -0.05%
benchmarks.run_pgo.windows.x86.checked.mch -0.29%
benchmarks.run_tiered.windows.x86.checked.mch -0.04%
coreclr_tests.run.windows.x86.checked.mch -0.08%
libraries.crossgen2.windows.x86.checked.mch -0.16%
libraries.pmi.windows.x86.checked.mch -0.07%
libraries_tests.run.windows.x86.Release.mch -0.13%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch -0.04%
realworld.run.windows.x86.checked.mch -0.07%
FullOpts (-0.31% to -0.04%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch -0.05%
benchmarks.run_pgo.windows.x86.checked.mch -0.31%
benchmarks.run_tiered.windows.x86.checked.mch -0.04%
coreclr_tests.run.windows.x86.checked.mch -0.12%
libraries.crossgen2.windows.x86.checked.mch -0.16%
libraries.pmi.windows.x86.checked.mch -0.07%
libraries_tests.run.windows.x86.Release.mch -0.18%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch -0.04%
realworld.run.windows.x86.checked.mch -0.07%

Details here


@ryujit-bot
Copy link

Diff results for #97773

Assembly diffs

Assembly diffs for osx/arm64 ran on linux/x64

Diffs are based on 2,158,070 contexts (932,669 MinOpts, 1,225,401 FullOpts).

MISSED contexts: base: 2 (0.00%), diff: 112,800 (4.97%)

Overall (+140,724 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.osx.arm64.checked.mch 9,448,856 -564
benchmarks.run_pgo.osx.arm64.checked.mch 32,120,784 +17,264
benchmarks.run_tiered.osx.arm64.checked.mch 15,054,540 -304
coreclr_tests.run.osx.arm64.checked.mch 456,513,504 +174,848
libraries.crossgen2.osx.arm64.checked.mch 55,720,964 -38,600
libraries.pmi.osx.arm64.checked.mch 60,103,176 -17,584
libraries_tests.run.osx.arm64.Release.mch 289,883,304 +22,908
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch 129,078,576 -13,956
realworld.run.osx.arm64.checked.mch 10,546,316 -3,288
FullOpts (+140,724 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.osx.arm64.checked.mch 9,448,320 -564
benchmarks.run_pgo.osx.arm64.checked.mch 15,819,484 +17,264
benchmarks.run_tiered.osx.arm64.checked.mch 3,550,056 -304
coreclr_tests.run.osx.arm64.checked.mch 123,900,580 +174,848
libraries.crossgen2.osx.arm64.checked.mch 55,719,336 -38,600
libraries.pmi.osx.arm64.checked.mch 59,982,048 -17,584
libraries_tests.run.osx.arm64.Release.mch 86,167,456 +22,908
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch 115,924,848 -13,956
realworld.run.osx.arm64.checked.mch 9,982,360 -3,288

Details here


Throughput diffs

Throughput diffs for linux/arm64 ran on windows/x64

Warning: Different compilers used for base and diff JITs. Results may be misleading.
Base JIT's compiler: MSVC 193933218
Diff JIT's compiler: MSVC 193933321

Overall (-0.50% to -0.02%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch -0.06%
benchmarks.run_pgo.linux.arm64.checked.mch -0.50%
benchmarks.run_tiered.linux.arm64.checked.mch -0.02%
coreclr_tests.run.linux.arm64.checked.mch -0.04%
libraries.crossgen2.linux.arm64.checked.mch -0.16%
libraries.pmi.linux.arm64.checked.mch -0.08%
libraries_tests.run.linux.arm64.Release.mch -0.12%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch -0.05%
realworld.run.linux.arm64.checked.mch -0.07%
smoke_tests.nativeaot.linux.arm64.checked.mch -0.10%
FullOpts (-0.60% to -0.05%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch -0.06%
benchmarks.run_pgo.linux.arm64.checked.mch -0.60%
benchmarks.run_tiered.linux.arm64.checked.mch -0.05%
coreclr_tests.run.linux.arm64.checked.mch -0.08%
libraries.crossgen2.linux.arm64.checked.mch -0.16%
libraries.pmi.linux.arm64.checked.mch -0.08%
libraries_tests.run.linux.arm64.Release.mch -0.16%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch -0.05%
realworld.run.linux.arm64.checked.mch -0.07%
smoke_tests.nativeaot.linux.arm64.checked.mch -0.10%

Throughput diffs for linux/x64 ran on windows/x64

Warning: Different compilers used for base and diff JITs. Results may be misleading.
Base JIT's compiler: MSVC 193933218
Diff JIT's compiler: MSVC 193933321

Overall (-0.54% to -0.02%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch -0.05%
benchmarks.run_pgo.linux.x64.checked.mch -0.54%
benchmarks.run_tiered.linux.x64.checked.mch -0.02%
coreclr_tests.run.linux.x64.checked.mch -0.06%
libraries.crossgen2.linux.x64.checked.mch -0.17%
libraries.pmi.linux.x64.checked.mch -0.08%
libraries_tests.run.linux.x64.Release.mch -0.15%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch -0.04%
realworld.run.linux.x64.checked.mch -0.06%
smoke_tests.nativeaot.linux.x64.checked.mch -0.07%
FullOpts (-0.62% to -0.04%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch -0.05%
benchmarks.run_pgo.linux.x64.checked.mch -0.62%
benchmarks.run_tiered.linux.x64.checked.mch -0.04%
coreclr_tests.run.linux.x64.checked.mch -0.10%
libraries.crossgen2.linux.x64.checked.mch -0.17%
libraries.pmi.linux.x64.checked.mch -0.08%
libraries_tests.run.linux.x64.Release.mch -0.20%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch -0.04%
realworld.run.linux.x64.checked.mch -0.06%
smoke_tests.nativeaot.linux.x64.checked.mch -0.07%

Throughput diffs for osx/arm64 ran on windows/x64

Warning: Different compilers used for base and diff JITs. Results may be misleading.
Base JIT's compiler: MSVC 193933218
Diff JIT's compiler: MSVC 193933321

Overall (-0.16% to -0.02%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch -0.06%
benchmarks.run_pgo.osx.arm64.checked.mch -0.13%
benchmarks.run_tiered.osx.arm64.checked.mch -0.02%
coreclr_tests.run.osx.arm64.checked.mch -0.04%
libraries.crossgen2.osx.arm64.checked.mch -0.16%
libraries.pmi.osx.arm64.checked.mch -0.08%
libraries_tests.run.osx.arm64.Release.mch -0.09%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch -0.05%
realworld.run.osx.arm64.checked.mch -0.07%
FullOpts (-0.16% to -0.04%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch -0.06%
benchmarks.run_pgo.osx.arm64.checked.mch -0.16%
benchmarks.run_tiered.osx.arm64.checked.mch -0.04%
coreclr_tests.run.osx.arm64.checked.mch -0.08%
libraries.crossgen2.osx.arm64.checked.mch -0.16%
libraries.pmi.osx.arm64.checked.mch -0.08%
libraries_tests.run.osx.arm64.Release.mch -0.14%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch -0.05%
realworld.run.osx.arm64.checked.mch -0.07%

Throughput diffs for windows/arm64 ran on windows/x64

Warning: Different compilers used for base and diff JITs. Results may be misleading.
Base JIT's compiler: MSVC 193933218
Diff JIT's compiler: MSVC 193933321

Overall (-0.44% to -0.03%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch -0.06%
benchmarks.run_pgo.windows.arm64.checked.mch -0.44%
benchmarks.run_tiered.windows.arm64.checked.mch -0.03%
coreclr_tests.run.windows.arm64.checked.mch -0.05%
libraries.crossgen2.windows.arm64.checked.mch -0.15%
libraries.pmi.windows.arm64.checked.mch -0.08%
libraries_tests.run.windows.arm64.Release.mch -0.10%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch -0.05%
realworld.run.windows.arm64.checked.mch -0.07%
smoke_tests.nativeaot.windows.arm64.checked.mch -0.09%
MinOpts (-0.00% to +0.01%)
Collection PDIFF
libraries.pmi.windows.arm64.checked.mch +0.01%
FullOpts (-0.53% to -0.05%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch -0.06%
benchmarks.run_pgo.windows.arm64.checked.mch -0.53%
benchmarks.run_tiered.windows.arm64.checked.mch -0.06%
coreclr_tests.run.windows.arm64.checked.mch -0.08%
libraries.crossgen2.windows.arm64.checked.mch -0.15%
libraries.pmi.windows.arm64.checked.mch -0.08%
libraries_tests.run.windows.arm64.Release.mch -0.15%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch -0.05%
realworld.run.windows.arm64.checked.mch -0.08%
smoke_tests.nativeaot.windows.arm64.checked.mch -0.09%

Throughput diffs for windows/x64 ran on windows/x64

Warning: Different compilers used for base and diff JITs. Results may be misleading.
Base JIT's compiler: MSVC 193933218
Diff JIT's compiler: MSVC 193933321

Overall (-0.16% to -0.02%)
Collection PDIFF
aspnet.run.windows.x64.checked.mch -0.14%
benchmarks.run.windows.x64.checked.mch -0.05%
benchmarks.run_pgo.windows.x64.checked.mch -0.14%
benchmarks.run_tiered.windows.x64.checked.mch -0.02%
coreclr_tests.run.windows.x64.checked.mch -0.05%
libraries.crossgen2.windows.x64.checked.mch -0.16%
libraries.pmi.windows.x64.checked.mch -0.07%
libraries_tests.run.windows.x64.Release.mch -0.16%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch -0.04%
realworld.run.windows.x64.checked.mch -0.07%
smoke_tests.nativeaot.windows.x64.checked.mch -0.06%
FullOpts (-0.25% to -0.04%)
Collection PDIFF
aspnet.run.windows.x64.checked.mch -0.17%
benchmarks.run.windows.x64.checked.mch -0.05%
benchmarks.run_pgo.windows.x64.checked.mch -0.17%
benchmarks.run_tiered.windows.x64.checked.mch -0.04%
coreclr_tests.run.windows.x64.checked.mch -0.10%
libraries.crossgen2.windows.x64.checked.mch -0.16%
libraries.pmi.windows.x64.checked.mch -0.07%
libraries_tests.run.windows.x64.Release.mch -0.25%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch -0.04%
realworld.run.windows.x64.checked.mch -0.07%
smoke_tests.nativeaot.windows.x64.checked.mch -0.06%

Details here


@ryujit-bot
Copy link

Diff results for #97773

Assembly diffs

Assembly diffs for linux/arm64 ran on windows/x64

Diffs are based on 2,372,445 contexts (1,007,092 MinOpts, 1,365,353 FullOpts).

MISSED contexts: base: 1 (0.00%), diff: 134,873 (5.38%)

Overall (+181,556 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch 10,779,100 -652
benchmarks.run_pgo.linux.arm64.checked.mch 67,479,236 +29,124
benchmarks.run_tiered.linux.arm64.checked.mch 23,940,084 -716
coreclr_tests.run.linux.arm64.checked.mch 477,521,512 +180,816
libraries.crossgen2.linux.arm64.checked.mch 55,839,492 -38,600
libraries.pmi.linux.arm64.checked.mch 56,495,516 -14,968
libraries_tests.run.linux.arm64.Release.mch 344,674,912 +44,568
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch 131,109,528 -14,148
realworld.run.linux.arm64.checked.mch 11,150,480 -3,396
smoke_tests.nativeaot.linux.arm64.checked.mch 2,568,016 -472
FullOpts (+181,556 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch 10,474,172 -652
benchmarks.run_pgo.linux.arm64.checked.mch 41,544,452 +29,124
benchmarks.run_tiered.linux.arm64.checked.mch 4,201,648 -716
coreclr_tests.run.linux.arm64.checked.mch 129,373,360 +180,816
libraries.crossgen2.linux.arm64.checked.mch 55,837,856 -38,600
libraries.pmi.linux.arm64.checked.mch 56,375,532 -14,968
libraries_tests.run.linux.arm64.Release.mch 129,542,960 +44,568
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch 117,612,064 -14,148
realworld.run.linux.arm64.checked.mch 10,569,556 -3,396
smoke_tests.nativeaot.linux.arm64.checked.mch 2,567,028 -472

Assembly diffs for linux/x64 ran on windows/x64

Diffs are based on 2,380,890 contexts (991,070 MinOpts, 1,389,820 FullOpts).

MISSED contexts: base: 1 (0.00%), diff: 137,019 (5.44%)

Overall (+232,427 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 9,116,540 -246
benchmarks.run_pgo.linux.x64.checked.mch 61,726,152 +59,103
benchmarks.run_tiered.linux.x64.checked.mch 20,952,201 -378
coreclr_tests.run.linux.x64.checked.mch 379,808,339 +175,777
libraries.crossgen2.linux.x64.checked.mch 38,724,198 -36,690
libraries.pmi.linux.x64.checked.mch 44,166,644 -10,472
libraries_tests.run.linux.x64.Release.mch 291,294,846 +55,506
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 104,936,794 -7,284
realworld.run.linux.x64.checked.mch 9,185,961 -2,304
smoke_tests.nativeaot.linux.x64.checked.mch 3,746,367 -585
FullOpts (+232,427 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 8,817,237 -246
benchmarks.run_pgo.linux.x64.checked.mch 37,926,163 +59,103
benchmarks.run_tiered.linux.x64.checked.mch 3,211,421 -378
coreclr_tests.run.linux.x64.checked.mch 100,053,637 +175,777
libraries.crossgen2.linux.x64.checked.mch 38,723,000 -36,690
libraries.pmi.linux.x64.checked.mch 44,053,787 -10,472
libraries_tests.run.linux.x64.Release.mch 107,535,153 +55,506
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 94,319,026 -7,284
realworld.run.linux.x64.checked.mch 8,800,077 -2,304
smoke_tests.nativeaot.linux.x64.checked.mch 3,745,418 -585

Assembly diffs for osx/arm64 ran on windows/x64

Diffs are based on 2,158,070 contexts (932,669 MinOpts, 1,225,401 FullOpts).

MISSED contexts: base: 2 (0.00%), diff: 112,800 (4.97%)

Overall (+140,724 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.osx.arm64.checked.mch 9,448,856 -564
benchmarks.run_pgo.osx.arm64.checked.mch 32,120,784 +17,264
benchmarks.run_tiered.osx.arm64.checked.mch 15,054,540 -304
coreclr_tests.run.osx.arm64.checked.mch 456,513,504 +174,848
libraries.crossgen2.osx.arm64.checked.mch 55,720,964 -38,600
libraries.pmi.osx.arm64.checked.mch 60,103,176 -17,584
libraries_tests.run.osx.arm64.Release.mch 289,883,304 +22,908
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch 129,078,576 -13,956
realworld.run.osx.arm64.checked.mch 10,546,316 -3,288
FullOpts (+140,724 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.osx.arm64.checked.mch 9,448,320 -564
benchmarks.run_pgo.osx.arm64.checked.mch 15,819,484 +17,264
benchmarks.run_tiered.osx.arm64.checked.mch 3,550,056 -304
coreclr_tests.run.osx.arm64.checked.mch 123,900,580 +174,848
libraries.crossgen2.osx.arm64.checked.mch 55,719,336 -38,600
libraries.pmi.osx.arm64.checked.mch 59,982,048 -17,584
libraries_tests.run.osx.arm64.Release.mch 86,167,456 +22,908
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch 115,924,848 -13,956
realworld.run.osx.arm64.checked.mch 9,982,360 -3,288

Assembly diffs for windows/arm64 ran on windows/x64

Diffs are based on 2,217,453 contexts (938,449 MinOpts, 1,279,004 FullOpts).

MISSED contexts: base: 9 (0.00%), diff: 123,664 (5.28%)

Overall (+151,496 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.arm64.checked.mch 9,209,620 -672
benchmarks.run_pgo.windows.arm64.checked.mch 37,005,516 +14,708
benchmarks.run_tiered.windows.arm64.checked.mch 14,982,116 -740
coreclr_tests.run.windows.arm64.checked.mch 464,776,624 +175,952
libraries.crossgen2.windows.arm64.checked.mch 59,064,704 -39,068
libraries.pmi.windows.arm64.checked.mch 59,138,872 -15,932
libraries_tests.run.windows.arm64.Release.mch 293,361,776 +35,888
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch 136,411,844 -14,072
realworld.run.windows.arm64.checked.mch 11,201,768 -4,048
smoke_tests.nativeaot.windows.arm64.checked.mch 3,425,620 -520
FullOpts (+151,496 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.arm64.checked.mch 9,209,084 -672
benchmarks.run_pgo.windows.arm64.checked.mch 20,994,120 +14,708
benchmarks.run_tiered.windows.arm64.checked.mch 3,804,928 -740
coreclr_tests.run.windows.arm64.checked.mch 126,087,520 +175,952
libraries.crossgen2.windows.arm64.checked.mch 59,063,068 -39,068
libraries.pmi.windows.arm64.checked.mch 59,018,888 -15,932
libraries_tests.run.windows.arm64.Release.mch 89,928,180 +35,888
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch 123,258,096 -14,072
realworld.run.windows.arm64.checked.mch 10,637,788 -4,048
smoke_tests.nativeaot.windows.arm64.checked.mch 3,424,608 -520

Assembly diffs for windows/x64 ran on windows/x64

Diffs are based on 2,383,357 contexts (997,391 MinOpts, 1,385,966 FullOpts).

MISSED contexts: base: 3 (0.00%), diff: 128,855 (5.13%)

Overall (+177,162 bytes)
Collection Base size (bytes) Diff size (bytes)
aspnet.run.windows.x64.checked.mch 40,996,720 +7,704
benchmarks.run.windows.x64.checked.mch 7,349,829 -153
benchmarks.run_pgo.windows.x64.checked.mch 31,396,575 +17,885
benchmarks.run_tiered.windows.x64.checked.mch 12,005,303 -406
coreclr_tests.run.windows.x64.checked.mch 370,144,053 +157,298
libraries.crossgen2.windows.x64.checked.mch 39,483,308 -30,733
libraries.pmi.windows.x64.checked.mch 45,446,626 -10,727
libraries_tests.run.windows.x64.Release.mch 248,787,145 +45,777
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 108,545,965 -6,320
realworld.run.windows.x64.checked.mch 9,896,125 -2,913
smoke_tests.nativeaot.windows.x64.checked.mch 4,471,874 -250
FullOpts (+177,162 bytes)
Collection Base size (bytes) Diff size (bytes)
aspnet.run.windows.x64.checked.mch 22,505,671 +7,704
benchmarks.run.windows.x64.checked.mch 7,349,466 -153
benchmarks.run_pgo.windows.x64.checked.mch 17,225,919 +17,885
benchmarks.run_tiered.windows.x64.checked.mch 2,906,064 -406
coreclr_tests.run.windows.x64.checked.mch 97,355,199 +157,298
libraries.crossgen2.windows.x64.checked.mch 39,482,121 -30,733
libraries.pmi.windows.x64.checked.mch 45,333,105 -10,727
libraries_tests.run.windows.x64.Release.mch 72,928,827 +45,777
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 97,926,859 -6,320
realworld.run.windows.x64.checked.mch 9,509,516 -2,913
smoke_tests.nativeaot.windows.x64.checked.mch 4,470,927 -250

Details here


Assembly diffs for linux/arm ran on windows/x86

Diffs are based on 2,100,809 contexts (829,328 MinOpts, 1,271,481 FullOpts).

MISSED contexts: base: 71,274 (3.08%), diff: 209,854 (9.08%)

Overall (+130,620 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm.checked.mch 9,047,232 -78
benchmarks.run_pgo.linux.arm.checked.mch 44,462,940 -25,578
benchmarks.run_tiered.linux.arm.checked.mch 14,457,706 -592
coreclr_tests.run.linux.arm.checked.mch 298,554,316 +144,326
libraries.crossgen2.linux.arm.checked.mch 34,520,558 -16,194
libraries.pmi.linux.arm.checked.mch 36,667,164 -9,228
libraries_tests.run.linux.arm.Release.mch 211,844,980 +46,244
libraries_tests_no_tiered_compilation.run.linux.arm.Release.mch 76,532,706 -5,962
realworld.run.linux.arm.checked.mch 10,176,194 -2,318
FullOpts (+130,620 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm.checked.mch 8,658,030 -78
benchmarks.run_pgo.linux.arm.checked.mch 33,262,974 -25,578
benchmarks.run_tiered.linux.arm.checked.mch 5,804,706 -592
coreclr_tests.run.linux.arm.checked.mch 86,076,728 +144,326
libraries.crossgen2.linux.arm.checked.mch 34,519,328 -16,194
libraries.pmi.linux.arm.checked.mch 36,560,940 -9,228
libraries_tests.run.linux.arm.Release.mch 90,875,848 +46,244
libraries_tests_no_tiered_compilation.run.linux.arm.Release.mch 66,461,970 -5,962
realworld.run.linux.arm.checked.mch 9,740,894 -2,318

Assembly diffs for windows/x86 ran on windows/x86

Diffs are based on 2,168,453 contexts (839,658 MinOpts, 1,328,795 FullOpts).

MISSED contexts: base: 45 (0.00%), diff: 125,043 (5.45%)

Overall (+32,962 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 5,993,081 -607
benchmarks.run_pgo.windows.x86.checked.mch 28,623,124 -12,075
benchmarks.run_tiered.windows.x86.checked.mch 8,552,866 -505
coreclr_tests.run.windows.x86.checked.mch 291,617,193 +67,598
libraries.crossgen2.windows.x86.checked.mch 31,700,815 -29,760
libraries.pmi.windows.x86.checked.mch 36,478,439 -8,621
libraries_tests.run.windows.x86.Release.mch 160,677,288 +27,801
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch 89,509,872 -8,447
realworld.run.windows.x86.checked.mch 7,942,301 -2,422
FullOpts (+32,962 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 5,992,800 -607
benchmarks.run_pgo.windows.x86.checked.mch 22,034,493 -12,075
benchmarks.run_tiered.windows.x86.checked.mch 4,283,045 -505
coreclr_tests.run.windows.x86.checked.mch 89,829,059 +67,598
libraries.crossgen2.windows.x86.checked.mch 31,699,755 -29,760
libraries.pmi.windows.x86.checked.mch 36,383,206 -8,621
libraries_tests.run.windows.x86.Release.mch 62,403,588 +27,801
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch 80,829,808 -8,447
realworld.run.windows.x86.checked.mch 7,646,587 -2,422

Details here


Throughput diffs

Throughput diffs for linux/arm64 ran on windows/x64

Warning: Different compilers used for base and diff JITs. Results may be misleading.
Base JIT's compiler: MSVC 193933218
Diff JIT's compiler: MSVC 193933321

Overall (-0.50% to -0.02%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch -0.06%
benchmarks.run_pgo.linux.arm64.checked.mch -0.50%
benchmarks.run_tiered.linux.arm64.checked.mch -0.02%
coreclr_tests.run.linux.arm64.checked.mch -0.04%
libraries.crossgen2.linux.arm64.checked.mch -0.16%
libraries.pmi.linux.arm64.checked.mch -0.08%
libraries_tests.run.linux.arm64.Release.mch -0.12%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch -0.05%
realworld.run.linux.arm64.checked.mch -0.07%
smoke_tests.nativeaot.linux.arm64.checked.mch -0.10%
FullOpts (-0.60% to -0.05%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch -0.06%
benchmarks.run_pgo.linux.arm64.checked.mch -0.60%
benchmarks.run_tiered.linux.arm64.checked.mch -0.05%
coreclr_tests.run.linux.arm64.checked.mch -0.08%
libraries.crossgen2.linux.arm64.checked.mch -0.16%
libraries.pmi.linux.arm64.checked.mch -0.08%
libraries_tests.run.linux.arm64.Release.mch -0.16%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch -0.05%
realworld.run.linux.arm64.checked.mch -0.07%
smoke_tests.nativeaot.linux.arm64.checked.mch -0.10%

Throughput diffs for linux/x64 ran on windows/x64

Warning: Different compilers used for base and diff JITs. Results may be misleading.
Base JIT's compiler: MSVC 193933218
Diff JIT's compiler: MSVC 193933321

Overall (-0.54% to -0.02%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch -0.05%
benchmarks.run_pgo.linux.x64.checked.mch -0.54%
benchmarks.run_tiered.linux.x64.checked.mch -0.02%
coreclr_tests.run.linux.x64.checked.mch -0.06%
libraries.crossgen2.linux.x64.checked.mch -0.17%
libraries.pmi.linux.x64.checked.mch -0.08%
libraries_tests.run.linux.x64.Release.mch -0.15%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch -0.04%
realworld.run.linux.x64.checked.mch -0.06%
smoke_tests.nativeaot.linux.x64.checked.mch -0.07%
FullOpts (-0.62% to -0.04%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch -0.05%
benchmarks.run_pgo.linux.x64.checked.mch -0.62%
benchmarks.run_tiered.linux.x64.checked.mch -0.04%
coreclr_tests.run.linux.x64.checked.mch -0.10%
libraries.crossgen2.linux.x64.checked.mch -0.17%
libraries.pmi.linux.x64.checked.mch -0.08%
libraries_tests.run.linux.x64.Release.mch -0.20%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch -0.04%
realworld.run.linux.x64.checked.mch -0.06%
smoke_tests.nativeaot.linux.x64.checked.mch -0.07%

Throughput diffs for osx/arm64 ran on windows/x64

Warning: Different compilers used for base and diff JITs. Results may be misleading.
Base JIT's compiler: MSVC 193933218
Diff JIT's compiler: MSVC 193933321

Overall (-0.16% to -0.02%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch -0.06%
benchmarks.run_pgo.osx.arm64.checked.mch -0.13%
benchmarks.run_tiered.osx.arm64.checked.mch -0.02%
coreclr_tests.run.osx.arm64.checked.mch -0.04%
libraries.crossgen2.osx.arm64.checked.mch -0.16%
libraries.pmi.osx.arm64.checked.mch -0.08%
libraries_tests.run.osx.arm64.Release.mch -0.09%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch -0.05%
realworld.run.osx.arm64.checked.mch -0.07%
FullOpts (-0.16% to -0.04%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch -0.06%
benchmarks.run_pgo.osx.arm64.checked.mch -0.16%
benchmarks.run_tiered.osx.arm64.checked.mch -0.04%
coreclr_tests.run.osx.arm64.checked.mch -0.08%
libraries.crossgen2.osx.arm64.checked.mch -0.16%
libraries.pmi.osx.arm64.checked.mch -0.08%
libraries_tests.run.osx.arm64.Release.mch -0.14%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch -0.05%
realworld.run.osx.arm64.checked.mch -0.07%

Throughput diffs for windows/arm64 ran on windows/x64

Warning: Different compilers used for base and diff JITs. Results may be misleading.
Base JIT's compiler: MSVC 193933218
Diff JIT's compiler: MSVC 193933321

Overall (-0.44% to -0.03%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch -0.06%
benchmarks.run_pgo.windows.arm64.checked.mch -0.44%
benchmarks.run_tiered.windows.arm64.checked.mch -0.03%
coreclr_tests.run.windows.arm64.checked.mch -0.05%
libraries.crossgen2.windows.arm64.checked.mch -0.15%
libraries.pmi.windows.arm64.checked.mch -0.08%
libraries_tests.run.windows.arm64.Release.mch -0.10%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch -0.05%
realworld.run.windows.arm64.checked.mch -0.07%
smoke_tests.nativeaot.windows.arm64.checked.mch -0.09%
MinOpts (-0.00% to +0.01%)
Collection PDIFF
libraries.pmi.windows.arm64.checked.mch +0.01%
FullOpts (-0.53% to -0.05%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch -0.06%
benchmarks.run_pgo.windows.arm64.checked.mch -0.53%
benchmarks.run_tiered.windows.arm64.checked.mch -0.06%
coreclr_tests.run.windows.arm64.checked.mch -0.08%
libraries.crossgen2.windows.arm64.checked.mch -0.15%
libraries.pmi.windows.arm64.checked.mch -0.08%
libraries_tests.run.windows.arm64.Release.mch -0.15%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch -0.05%
realworld.run.windows.arm64.checked.mch -0.08%
smoke_tests.nativeaot.windows.arm64.checked.mch -0.09%

Throughput diffs for windows/x64 ran on windows/x64

Warning: Different compilers used for base and diff JITs. Results may be misleading.
Base JIT's compiler: MSVC 193933218
Diff JIT's compiler: MSVC 193933321

Overall (-0.16% to -0.02%)
Collection PDIFF
aspnet.run.windows.x64.checked.mch -0.14%
benchmarks.run.windows.x64.checked.mch -0.05%
benchmarks.run_pgo.windows.x64.checked.mch -0.14%
benchmarks.run_tiered.windows.x64.checked.mch -0.02%
coreclr_tests.run.windows.x64.checked.mch -0.05%
libraries.crossgen2.windows.x64.checked.mch -0.16%
libraries.pmi.windows.x64.checked.mch -0.07%
libraries_tests.run.windows.x64.Release.mch -0.16%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch -0.04%
realworld.run.windows.x64.checked.mch -0.07%
smoke_tests.nativeaot.windows.x64.checked.mch -0.06%
FullOpts (-0.25% to -0.04%)
Collection PDIFF
aspnet.run.windows.x64.checked.mch -0.17%
benchmarks.run.windows.x64.checked.mch -0.05%
benchmarks.run_pgo.windows.x64.checked.mch -0.17%
benchmarks.run_tiered.windows.x64.checked.mch -0.04%
coreclr_tests.run.windows.x64.checked.mch -0.10%
libraries.crossgen2.windows.x64.checked.mch -0.16%
libraries.pmi.windows.x64.checked.mch -0.07%
libraries_tests.run.windows.x64.Release.mch -0.25%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch -0.04%
realworld.run.windows.x64.checked.mch -0.07%
smoke_tests.nativeaot.windows.x64.checked.mch -0.06%

Details here


Throughput diffs for linux/arm64 ran on linux/x64

Overall (-0.50% to -0.02%)
Collection PDIFF
benchmarks.run_tiered.linux.arm64.checked.mch -0.02%
smoke_tests.nativeaot.linux.arm64.checked.mch -0.09%
libraries_tests.run.linux.arm64.Release.mch -0.10%
libraries.pmi.linux.arm64.checked.mch -0.06%
benchmarks.run_pgo.linux.arm64.checked.mch -0.50%
libraries.crossgen2.linux.arm64.checked.mch -0.15%
benchmarks.run.linux.arm64.checked.mch -0.05%
realworld.run.linux.arm64.checked.mch -0.06%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch -0.04%
coreclr_tests.run.linux.arm64.checked.mch -0.03%
FullOpts (-0.58% to -0.04%)
Collection PDIFF
benchmarks.run_tiered.linux.arm64.checked.mch -0.04%
smoke_tests.nativeaot.linux.arm64.checked.mch -0.09%
libraries_tests.run.linux.arm64.Release.mch -0.14%
libraries.pmi.linux.arm64.checked.mch -0.06%
benchmarks.run_pgo.linux.arm64.checked.mch -0.58%
libraries.crossgen2.linux.arm64.checked.mch -0.15%
benchmarks.run.linux.arm64.checked.mch -0.05%
realworld.run.linux.arm64.checked.mch -0.06%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch -0.04%
coreclr_tests.run.linux.arm64.checked.mch -0.06%

Throughput diffs for linux/x64 ran on linux/x64

Overall (-0.54% to -0.02%)
Collection PDIFF
realworld.run.linux.x64.checked.mch -0.06%
libraries_tests.run.linux.x64.Release.mch -0.13%
benchmarks.run_pgo.linux.x64.checked.mch -0.54%
libraries.crossgen2.linux.x64.checked.mch -0.17%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch -0.04%
libraries.pmi.linux.x64.checked.mch -0.08%
benchmarks.run_tiered.linux.x64.checked.mch -0.02%
benchmarks.run.linux.x64.checked.mch -0.05%
coreclr_tests.run.linux.x64.checked.mch -0.06%
smoke_tests.nativeaot.linux.x64.checked.mch -0.07%
FullOpts (-0.62% to -0.03%)
Collection PDIFF
realworld.run.linux.x64.checked.mch -0.06%
libraries_tests.run.linux.x64.Release.mch -0.19%
benchmarks.run_pgo.linux.x64.checked.mch -0.62%
libraries.crossgen2.linux.x64.checked.mch -0.17%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch -0.04%
libraries.pmi.linux.x64.checked.mch -0.08%
benchmarks.run_tiered.linux.x64.checked.mch -0.03%
benchmarks.run.linux.x64.checked.mch -0.05%
coreclr_tests.run.linux.x64.checked.mch -0.11%
smoke_tests.nativeaot.linux.x64.checked.mch -0.07%

Details here


Throughput diffs for linux/arm ran on windows/x86

Warning: Different compilers used for base and diff JITs. Results may be misleading.
Base JIT's compiler: MSVC 193933218
Diff JIT's compiler: MSVC 193933321

Overall (-0.17% to -0.02%)
Collection PDIFF
benchmarks.run.linux.arm.checked.mch -0.04%
benchmarks.run_pgo.linux.arm.checked.mch -0.17%
benchmarks.run_tiered.linux.arm.checked.mch -0.02%
coreclr_tests.run.linux.arm.checked.mch -0.04%
libraries.crossgen2.linux.arm.checked.mch -0.10%
libraries.pmi.linux.arm.checked.mch -0.07%
libraries_tests.run.linux.arm.Release.mch -0.14%
libraries_tests_no_tiered_compilation.run.linux.arm.Release.mch -0.04%
realworld.run.linux.arm.checked.mch -0.05%
FullOpts (-0.19% to -0.03%)
Collection PDIFF
benchmarks.run.linux.arm.checked.mch -0.04%
benchmarks.run_pgo.linux.arm.checked.mch -0.19%
benchmarks.run_tiered.linux.arm.checked.mch -0.03%
coreclr_tests.run.linux.arm.checked.mch -0.07%
libraries.crossgen2.linux.arm.checked.mch -0.10%
libraries.pmi.linux.arm.checked.mch -0.07%
libraries_tests.run.linux.arm.Release.mch -0.19%
libraries_tests_no_tiered_compilation.run.linux.arm.Release.mch -0.05%
realworld.run.linux.arm.checked.mch -0.05%

Throughput diffs for windows/x86 ran on windows/x86

Warning: Different compilers used for base and diff JITs. Results may be misleading.
Base JIT's compiler: MSVC 193933218
Diff JIT's compiler: MSVC 193933321

Overall (-0.29% to -0.04%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch -0.05%
benchmarks.run_pgo.windows.x86.checked.mch -0.29%
benchmarks.run_tiered.windows.x86.checked.mch -0.04%
coreclr_tests.run.windows.x86.checked.mch -0.08%
libraries.crossgen2.windows.x86.checked.mch -0.16%
libraries.pmi.windows.x86.checked.mch -0.07%
libraries_tests.run.windows.x86.Release.mch -0.14%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch -0.04%
realworld.run.windows.x86.checked.mch -0.07%
FullOpts (-0.31% to -0.04%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch -0.05%
benchmarks.run_pgo.windows.x86.checked.mch -0.31%
benchmarks.run_tiered.windows.x86.checked.mch -0.04%
coreclr_tests.run.windows.x86.checked.mch -0.12%
libraries.crossgen2.windows.x86.checked.mch -0.16%
libraries.pmi.windows.x86.checked.mch -0.07%
libraries_tests.run.windows.x86.Release.mch -0.19%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch -0.04%
realworld.run.windows.x86.checked.mch -0.07%

Details here


@ryujit-bot
Copy link

Diff results for #97773

Assembly diffs

Assembly diffs for linux/arm64 ran on windows/x64

Diffs are based on 2,374,031 contexts (1,007,092 MinOpts, 1,366,939 FullOpts).

MISSED contexts: base: 1 (0.00%), diff: 133,287 (5.32%)

Overall (+173,396 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch 10,779,100 -652
benchmarks.run_pgo.linux.arm64.checked.mch 67,515,080 +27,512
benchmarks.run_tiered.linux.arm64.checked.mch 23,940,084 -716
coreclr_tests.run.linux.arm64.checked.mch 477,601,936 +179,988
libraries.crossgen2.linux.arm64.checked.mch 55,839,492 -38,600
libraries.pmi.linux.arm64.checked.mch 56,495,516 -14,968
libraries_tests.run.linux.arm64.Release.mch 345,952,264 +38,848
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch 131,109,528 -14,148
realworld.run.linux.arm64.checked.mch 11,150,480 -3,396
smoke_tests.nativeaot.linux.arm64.checked.mch 2,568,016 -472
FullOpts (+173,396 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch 10,474,172 -652
benchmarks.run_pgo.linux.arm64.checked.mch 41,580,296 +27,512
benchmarks.run_tiered.linux.arm64.checked.mch 4,201,648 -716
coreclr_tests.run.linux.arm64.checked.mch 129,453,784 +179,988
libraries.crossgen2.linux.arm64.checked.mch 55,837,856 -38,600
libraries.pmi.linux.arm64.checked.mch 56,375,532 -14,968
libraries_tests.run.linux.arm64.Release.mch 130,820,312 +38,848
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch 117,612,064 -14,148
realworld.run.linux.arm64.checked.mch 10,569,556 -3,396
smoke_tests.nativeaot.linux.arm64.checked.mch 2,567,028 -472

Assembly diffs for linux/x64 ran on windows/x64

Diffs are based on 2,382,582 contexts (991,070 MinOpts, 1,391,512 FullOpts).

MISSED contexts: base: 1 (0.00%), diff: 135,327 (5.37%)

Overall (+219,372 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 9,116,540 -246
benchmarks.run_pgo.linux.x64.checked.mch 61,759,845 +55,484
benchmarks.run_tiered.linux.x64.checked.mch 20,952,201 -378
coreclr_tests.run.linux.x64.checked.mch 379,875,950 +174,414
libraries.crossgen2.linux.x64.checked.mch 38,724,198 -36,690
libraries.pmi.linux.x64.checked.mch 44,166,644 -10,472
libraries_tests.run.linux.x64.Release.mch 292,392,477 +47,433
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 104,936,794 -7,284
realworld.run.linux.x64.checked.mch 9,185,961 -2,304
smoke_tests.nativeaot.linux.x64.checked.mch 3,746,367 -585
FullOpts (+219,372 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 8,817,237 -246
benchmarks.run_pgo.linux.x64.checked.mch 37,959,856 +55,484
benchmarks.run_tiered.linux.x64.checked.mch 3,211,421 -378
coreclr_tests.run.linux.x64.checked.mch 100,121,248 +174,414
libraries.crossgen2.linux.x64.checked.mch 38,723,000 -36,690
libraries.pmi.linux.x64.checked.mch 44,053,787 -10,472
libraries_tests.run.linux.x64.Release.mch 108,632,784 +47,433
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 94,319,026 -7,284
realworld.run.linux.x64.checked.mch 8,800,077 -2,304
smoke_tests.nativeaot.linux.x64.checked.mch 3,745,418 -585

Assembly diffs for osx/arm64 ran on windows/x64

Diffs are based on 2,159,155 contexts (932,669 MinOpts, 1,226,486 FullOpts).

MISSED contexts: base: 2 (0.00%), diff: 111,715 (4.92%)

Overall (+132,884 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.osx.arm64.checked.mch 9,448,856 -564
benchmarks.run_pgo.osx.arm64.checked.mch 32,165,908 +15,424
benchmarks.run_tiered.osx.arm64.checked.mch 15,054,540 -304
coreclr_tests.run.osx.arm64.checked.mch 456,586,300 +174,144
libraries.crossgen2.osx.arm64.checked.mch 55,720,964 -38,600
libraries.pmi.osx.arm64.checked.mch 60,103,176 -17,584
libraries_tests.run.osx.arm64.Release.mch 290,728,984 +17,612
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch 129,078,576 -13,956
realworld.run.osx.arm64.checked.mch 10,546,316 -3,288
FullOpts (+132,884 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.osx.arm64.checked.mch 9,448,320 -564
benchmarks.run_pgo.osx.arm64.checked.mch 15,864,608 +15,424
benchmarks.run_tiered.osx.arm64.checked.mch 3,550,056 -304
coreclr_tests.run.osx.arm64.checked.mch 123,973,376 +174,144
libraries.crossgen2.osx.arm64.checked.mch 55,719,336 -38,600
libraries.pmi.osx.arm64.checked.mch 59,982,048 -17,584
libraries_tests.run.osx.arm64.Release.mch 87,013,136 +17,612
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch 115,924,848 -13,956
realworld.run.osx.arm64.checked.mch 9,982,360 -3,288

Assembly diffs for windows/arm64 ran on windows/x64

Diffs are based on 2,218,505 contexts (938,449 MinOpts, 1,280,056 FullOpts).

MISSED contexts: base: 9 (0.00%), diff: 122,612 (5.24%)

Overall (+144,232 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.arm64.checked.mch 9,209,620 -672
benchmarks.run_pgo.windows.arm64.checked.mch 37,042,776 +13,900
benchmarks.run_tiered.windows.arm64.checked.mch 14,982,116 -740
coreclr_tests.run.windows.arm64.checked.mch 464,848,280 +175,144
libraries.crossgen2.windows.arm64.checked.mch 59,064,704 -39,068
libraries.pmi.windows.arm64.checked.mch 59,138,872 -15,932
libraries_tests.run.windows.arm64.Release.mch 294,230,544 +30,240
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch 136,411,844 -14,072
realworld.run.windows.arm64.checked.mch 11,201,768 -4,048
smoke_tests.nativeaot.windows.arm64.checked.mch 3,425,620 -520
FullOpts (+144,232 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.arm64.checked.mch 9,209,084 -672
benchmarks.run_pgo.windows.arm64.checked.mch 21,031,380 +13,900
benchmarks.run_tiered.windows.arm64.checked.mch 3,804,928 -740
coreclr_tests.run.windows.arm64.checked.mch 126,159,176 +175,144
libraries.crossgen2.windows.arm64.checked.mch 59,063,068 -39,068
libraries.pmi.windows.arm64.checked.mch 59,018,888 -15,932
libraries_tests.run.windows.arm64.Release.mch 90,796,948 +30,240
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch 123,258,096 -14,072
realworld.run.windows.arm64.checked.mch 10,637,788 -4,048
smoke_tests.nativeaot.windows.arm64.checked.mch 3,424,608 -520

Assembly diffs for windows/x64 ran on windows/x64

Diffs are based on 2,384,796 contexts (997,391 MinOpts, 1,387,405 FullOpts).

MISSED contexts: base: 3 (0.00%), diff: 127,416 (5.07%)

Overall (+160,483 bytes)
Collection Base size (bytes) Diff size (bytes)
aspnet.run.windows.x64.checked.mch 41,148,955 +3,339
benchmarks.run.windows.x64.checked.mch 7,349,829 -153
benchmarks.run_pgo.windows.x64.checked.mch 31,419,594 +14,355
benchmarks.run_tiered.windows.x64.checked.mch 12,005,303 -406
coreclr_tests.run.windows.x64.checked.mch 370,205,685 +155,039
libraries.crossgen2.windows.x64.checked.mch 39,483,308 -30,733
libraries.pmi.windows.x64.checked.mch 45,446,626 -10,727
libraries_tests.run.windows.x64.Release.mch 249,593,901 +39,252
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 108,545,965 -6,320
realworld.run.windows.x64.checked.mch 9,896,125 -2,913
smoke_tests.nativeaot.windows.x64.checked.mch 4,471,874 -250
FullOpts (+160,483 bytes)
Collection Base size (bytes) Diff size (bytes)
aspnet.run.windows.x64.checked.mch 22,657,906 +3,339
benchmarks.run.windows.x64.checked.mch 7,349,466 -153
benchmarks.run_pgo.windows.x64.checked.mch 17,248,938 +14,355
benchmarks.run_tiered.windows.x64.checked.mch 2,906,064 -406
coreclr_tests.run.windows.x64.checked.mch 97,416,831 +155,039
libraries.crossgen2.windows.x64.checked.mch 39,482,121 -30,733
libraries.pmi.windows.x64.checked.mch 45,333,105 -10,727
libraries_tests.run.windows.x64.Release.mch 73,735,583 +39,252
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 97,926,859 -6,320
realworld.run.windows.x64.checked.mch 9,509,516 -2,913
smoke_tests.nativeaot.windows.x64.checked.mch 4,470,927 -250

Details here


Throughput diffs

Throughput diffs for linux/arm64 ran on windows/x64

Overall (-0.49% to -0.02%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch -0.05%
benchmarks.run_pgo.linux.arm64.checked.mch -0.49%
benchmarks.run_tiered.linux.arm64.checked.mch -0.02%
coreclr_tests.run.linux.arm64.checked.mch -0.03%
libraries.crossgen2.linux.arm64.checked.mch -0.14%
libraries.pmi.linux.arm64.checked.mch -0.06%
libraries_tests.run.linux.arm64.Release.mch -0.11%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch -0.04%
realworld.run.linux.arm64.checked.mch -0.05%
smoke_tests.nativeaot.linux.arm64.checked.mch -0.09%
MinOpts (-0.00% to +0.01%)
Collection PDIFF
libraries.pmi.linux.arm64.checked.mch +0.01%
FullOpts (-0.58% to -0.03%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch -0.05%
benchmarks.run_pgo.linux.arm64.checked.mch -0.58%
benchmarks.run_tiered.linux.arm64.checked.mch -0.03%
coreclr_tests.run.linux.arm64.checked.mch -0.05%
libraries.crossgen2.linux.arm64.checked.mch -0.14%
libraries.pmi.linux.arm64.checked.mch -0.06%
libraries_tests.run.linux.arm64.Release.mch -0.15%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch -0.04%
realworld.run.linux.arm64.checked.mch -0.05%
smoke_tests.nativeaot.linux.arm64.checked.mch -0.09%

Throughput diffs for linux/x64 ran on windows/x64

Overall (-0.54% to -0.01%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch -0.05%
benchmarks.run_pgo.linux.x64.checked.mch -0.54%
benchmarks.run_tiered.linux.x64.checked.mch -0.01%
coreclr_tests.run.linux.x64.checked.mch -0.05%
libraries.crossgen2.linux.x64.checked.mch -0.17%
libraries.pmi.linux.x64.checked.mch -0.08%
libraries_tests.run.linux.x64.Release.mch -0.14%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch -0.04%
realworld.run.linux.x64.checked.mch -0.06%
smoke_tests.nativeaot.linux.x64.checked.mch -0.07%
FullOpts (-0.62% to -0.03%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch -0.05%
benchmarks.run_pgo.linux.x64.checked.mch -0.62%
benchmarks.run_tiered.linux.x64.checked.mch -0.03%
coreclr_tests.run.linux.x64.checked.mch -0.10%
libraries.crossgen2.linux.x64.checked.mch -0.17%
libraries.pmi.linux.x64.checked.mch -0.08%
libraries_tests.run.linux.x64.Release.mch -0.20%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch -0.04%
realworld.run.linux.x64.checked.mch -0.06%
smoke_tests.nativeaot.linux.x64.checked.mch -0.07%

Throughput diffs for osx/arm64 ran on windows/x64

Overall (-0.14% to -0.01%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch -0.04%
benchmarks.run_pgo.osx.arm64.checked.mch -0.12%
benchmarks.run_tiered.osx.arm64.checked.mch -0.01%
coreclr_tests.run.osx.arm64.checked.mch -0.03%
libraries.crossgen2.osx.arm64.checked.mch -0.14%
libraries.pmi.osx.arm64.checked.mch -0.06%
libraries_tests.run.osx.arm64.Release.mch -0.08%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch -0.03%
realworld.run.osx.arm64.checked.mch -0.05%
FullOpts (-0.15% to -0.02%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch -0.04%
benchmarks.run_pgo.osx.arm64.checked.mch -0.15%
benchmarks.run_tiered.osx.arm64.checked.mch -0.02%
coreclr_tests.run.osx.arm64.checked.mch -0.05%
libraries.crossgen2.osx.arm64.checked.mch -0.14%
libraries.pmi.osx.arm64.checked.mch -0.06%
libraries_tests.run.osx.arm64.Release.mch -0.13%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch -0.04%
realworld.run.osx.arm64.checked.mch -0.05%

Throughput diffs for windows/arm64 ran on windows/x64

Overall (-0.43% to -0.02%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch -0.05%
benchmarks.run_pgo.windows.arm64.checked.mch -0.43%
benchmarks.run_tiered.windows.arm64.checked.mch -0.02%
coreclr_tests.run.windows.arm64.checked.mch -0.03%
libraries.crossgen2.windows.arm64.checked.mch -0.14%
libraries.pmi.windows.arm64.checked.mch -0.06%
libraries_tests.run.windows.arm64.Release.mch -0.09%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch -0.03%
realworld.run.windows.arm64.checked.mch -0.05%
smoke_tests.nativeaot.windows.arm64.checked.mch -0.07%
MinOpts (-0.00% to +0.01%)
Collection PDIFF
libraries.pmi.windows.arm64.checked.mch +0.01%
FullOpts (-0.52% to -0.03%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch -0.05%
benchmarks.run_pgo.windows.arm64.checked.mch -0.52%
benchmarks.run_tiered.windows.arm64.checked.mch -0.04%
coreclr_tests.run.windows.arm64.checked.mch -0.06%
libraries.crossgen2.windows.arm64.checked.mch -0.14%
libraries.pmi.windows.arm64.checked.mch -0.06%
libraries_tests.run.windows.arm64.Release.mch -0.14%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch -0.03%
realworld.run.windows.arm64.checked.mch -0.06%
smoke_tests.nativeaot.windows.arm64.checked.mch -0.07%

Throughput diffs for windows/x64 ran on windows/x64

Overall (-0.16% to -0.02%)
Collection PDIFF
aspnet.run.windows.x64.checked.mch -0.14%
benchmarks.run.windows.x64.checked.mch -0.04%
benchmarks.run_pgo.windows.x64.checked.mch -0.14%
benchmarks.run_tiered.windows.x64.checked.mch -0.02%
coreclr_tests.run.windows.x64.checked.mch -0.05%
libraries.crossgen2.windows.x64.checked.mch -0.16%
libraries.pmi.windows.x64.checked.mch -0.06%
libraries_tests.run.windows.x64.Release.mch -0.16%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch -0.04%
realworld.run.windows.x64.checked.mch -0.06%
smoke_tests.nativeaot.windows.x64.checked.mch -0.06%
FullOpts (-0.24% to -0.03%)
Collection PDIFF
aspnet.run.windows.x64.checked.mch -0.17%
benchmarks.run.windows.x64.checked.mch -0.04%
benchmarks.run_pgo.windows.x64.checked.mch -0.16%
benchmarks.run_tiered.windows.x64.checked.mch -0.03%
coreclr_tests.run.windows.x64.checked.mch -0.09%
libraries.crossgen2.windows.x64.checked.mch -0.16%
libraries.pmi.windows.x64.checked.mch -0.06%
libraries_tests.run.windows.x64.Release.mch -0.24%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch -0.04%
realworld.run.windows.x64.checked.mch -0.06%
smoke_tests.nativeaot.windows.x64.checked.mch -0.06%

Details here


Throughput diffs for linux/arm64 ran on linux/x64

Overall (-0.50% to -0.02%)
Collection PDIFF
smoke_tests.nativeaot.linux.arm64.checked.mch -0.09%
libraries.pmi.linux.arm64.checked.mch -0.06%
libraries_tests.run.linux.arm64.Release.mch -0.10%
realworld.run.linux.arm64.checked.mch -0.06%
benchmarks.run_pgo.linux.arm64.checked.mch -0.50%
benchmarks.run.linux.arm64.checked.mch -0.05%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch -0.04%
libraries.crossgen2.linux.arm64.checked.mch -0.15%
coreclr_tests.run.linux.arm64.checked.mch -0.03%
benchmarks.run_tiered.linux.arm64.checked.mch -0.02%
FullOpts (-0.58% to -0.04%)
Collection PDIFF
smoke_tests.nativeaot.linux.arm64.checked.mch -0.09%
libraries.pmi.linux.arm64.checked.mch -0.06%
libraries_tests.run.linux.arm64.Release.mch -0.14%
realworld.run.linux.arm64.checked.mch -0.06%
benchmarks.run_pgo.linux.arm64.checked.mch -0.58%
benchmarks.run.linux.arm64.checked.mch -0.05%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch -0.04%
libraries.crossgen2.linux.arm64.checked.mch -0.15%
coreclr_tests.run.linux.arm64.checked.mch -0.06%
benchmarks.run_tiered.linux.arm64.checked.mch -0.04%

Throughput diffs for linux/x64 ran on linux/x64

Overall (-0.54% to -0.02%)
Collection PDIFF
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch -0.04%
libraries_tests.run.linux.x64.Release.mch -0.13%
benchmarks.run_tiered.linux.x64.checked.mch -0.02%
libraries.pmi.linux.x64.checked.mch -0.08%
benchmarks.run.linux.x64.checked.mch -0.05%
smoke_tests.nativeaot.linux.x64.checked.mch -0.07%
coreclr_tests.run.linux.x64.checked.mch -0.06%
libraries.crossgen2.linux.x64.checked.mch -0.17%
benchmarks.run_pgo.linux.x64.checked.mch -0.54%
realworld.run.linux.x64.checked.mch -0.06%
FullOpts (-0.62% to -0.03%)
Collection PDIFF
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch -0.04%
libraries_tests.run.linux.x64.Release.mch -0.19%
benchmarks.run_tiered.linux.x64.checked.mch -0.03%
libraries.pmi.linux.x64.checked.mch -0.08%
benchmarks.run.linux.x64.checked.mch -0.05%
smoke_tests.nativeaot.linux.x64.checked.mch -0.07%
coreclr_tests.run.linux.x64.checked.mch -0.11%
libraries.crossgen2.linux.x64.checked.mch -0.17%
benchmarks.run_pgo.linux.x64.checked.mch -0.62%
realworld.run.linux.x64.checked.mch -0.06%

Details here


@EgorBo
Copy link
Member Author

EgorBo commented Feb 2, 2024

@jakobbotsch @dotnet/jit-contrib PTAL, no diffs as expected (the phase is not yet enabled fully)

Comment on lines +1877 to +1883
static int PickCandidatesForTypeCheck(Compiler* comp,
GenTreeCall* castHelper,
CORINFO_CLASS_HANDLE* candidates,
CORINFO_CLASS_HANDLE* commonCls,
unsigned* likelihoods,
TypeCheckFailedAction* typeCheckFailed,
TypeCheckPassedAction* typeCheckPassed)
Copy link
Member

Choose a reason for hiding this comment

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

It's probably warranted to make this return a struct instead of 6 separate return values (also the "Returns" in the function header looks outdated now)

Copy link
Member Author

Choose a reason for hiding this comment

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

Agree, will change in a follow up

Copy link
Member

@jakobbotsch jakobbotsch left a comment

Choose a reason for hiding this comment

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

LGTM, feel free to address the feedback in a follow up

@EgorBo EgorBo merged commit 2f59305 into dotnet:main Feb 2, 2024
129 checks passed
@EgorBo EgorBo deleted the late-cast-expansion-5 branch February 2, 2024 14:17
@github-actions github-actions bot locked and limited conversation to collaborators Mar 4, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

NAOT: isinst with multiple guesses without fallback
3 participants