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

Remove remaining CRT PAL wrappers and enable including standard headers in the CoreCLR build #98336

Merged
merged 68 commits into from
Apr 4, 2024

Conversation

jkoritzinsky
Copy link
Member

@jkoritzinsky jkoritzinsky commented Feb 13, 2024

Depends on #98238

  • Remove malloc-family PAL and update callsites that might get passed 0 to bump up to 1.
  • Move getenv usage to use the PAL function directly when on non-Windows (to preserve the existing behavior).
  • Remove other remaining CRT PAL shims
  • Remove header shims and enable building with the CRT and STL headers across the product, with various build fixes required (mostly around using the standard min/max definitions)

@ryujit-bot
Copy link

Diff results for #98336

Throughput diffs

Throughput diffs for linux/arm64 ran on windows/x64

Overall (+0.02% to +0.05%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.03%
benchmarks.run_pgo.linux.arm64.checked.mch +0.05%
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.02%
libraries.pmi.linux.arm64.checked.mch +0.03%
libraries_tests.run.linux.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.03%
realworld.run.linux.arm64.checked.mch +0.03%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.03%
MinOpts (+0.00% to +0.02%)
Collection PDIFF
benchmarks.run_pgo.linux.arm64.checked.mch +0.02%
benchmarks.run_tiered.linux.arm64.checked.mch +0.02%
coreclr_tests.run.linux.arm64.checked.mch +0.02%
libraries.pmi.linux.arm64.checked.mch +0.01%
libraries_tests.run.linux.arm64.Release.mch +0.02%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.02%
realworld.run.linux.arm64.checked.mch +0.02%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.01%
FullOpts (+0.02% to +0.06%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.03%
benchmarks.run_pgo.linux.arm64.checked.mch +0.06%
benchmarks.run_tiered.linux.arm64.checked.mch +0.03%
coreclr_tests.run.linux.arm64.checked.mch +0.04%
libraries.crossgen2.linux.arm64.checked.mch +0.02%
libraries.pmi.linux.arm64.checked.mch +0.03%
libraries_tests.run.linux.arm64.Release.mch +0.05%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.03%
realworld.run.linux.arm64.checked.mch +0.03%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.03%

Throughput diffs for linux/x64 ran on windows/x64

Overall (-0.00% to +0.04%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.02%
benchmarks.run_pgo.linux.x64.checked.mch +0.03%
benchmarks.run_tiered.linux.x64.checked.mch +0.02%
coreclr_tests.run.linux.x64.checked.mch +0.01%
libraries.crossgen2.linux.x64.checked.mch +0.02%
libraries.pmi.linux.x64.checked.mch +0.02%
libraries_tests.run.linux.x64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.02%
realworld.run.linux.x64.checked.mch +0.02%
MinOpts (-0.03% to +0.08%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.04%
benchmarks.run_pgo.linux.x64.checked.mch +0.03%
benchmarks.run_tiered.linux.x64.checked.mch +0.04%
coreclr_tests.run.linux.x64.checked.mch +0.02%
libraries.crossgen2.linux.x64.checked.mch +0.01%
libraries.pmi.linux.x64.checked.mch +0.08%
libraries_tests.run.linux.x64.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.02%
realworld.run.linux.x64.checked.mch +0.03%
smoke_tests.nativeaot.linux.x64.checked.mch -0.03%
FullOpts (-0.00% to +0.04%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.02%
benchmarks.run_pgo.linux.x64.checked.mch +0.03%
benchmarks.run_tiered.linux.x64.checked.mch +0.01%
libraries.crossgen2.linux.x64.checked.mch +0.02%
libraries.pmi.linux.x64.checked.mch +0.02%
libraries_tests.run.linux.x64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.02%
realworld.run.linux.x64.checked.mch +0.02%

Throughput diffs for osx/arm64 ran on windows/x64

Overall (+0.02% to +0.05%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.03%
benchmarks.run_pgo.osx.arm64.checked.mch +0.05%
benchmarks.run_tiered.osx.arm64.checked.mch +0.02%
coreclr_tests.run.osx.arm64.checked.mch +0.03%
libraries.crossgen2.osx.arm64.checked.mch +0.02%
libraries.pmi.osx.arm64.checked.mch +0.03%
libraries_tests.run.osx.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.03%
realworld.run.osx.arm64.checked.mch +0.03%
MinOpts (+0.00% to +0.03%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.01%
benchmarks.run_pgo.osx.arm64.checked.mch +0.01%
benchmarks.run_tiered.osx.arm64.checked.mch +0.01%
coreclr_tests.run.osx.arm64.checked.mch +0.02%
libraries.pmi.osx.arm64.checked.mch +0.01%
libraries_tests.run.osx.arm64.Release.mch +0.02%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.01%
realworld.run.osx.arm64.checked.mch +0.03%
FullOpts (+0.02% to +0.06%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.03%
benchmarks.run_pgo.osx.arm64.checked.mch +0.06%
benchmarks.run_tiered.osx.arm64.checked.mch +0.03%
coreclr_tests.run.osx.arm64.checked.mch +0.04%
libraries.crossgen2.osx.arm64.checked.mch +0.02%
libraries.pmi.osx.arm64.checked.mch +0.03%
libraries_tests.run.osx.arm64.Release.mch +0.05%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.03%
realworld.run.osx.arm64.checked.mch +0.03%

Throughput diffs for windows/arm64 ran on windows/x64

Overall (+0.02% to +0.05%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.03%
benchmarks.run_pgo.windows.arm64.checked.mch +0.05%
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.02%
libraries.pmi.windows.arm64.checked.mch +0.03%
libraries_tests.run.windows.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.03%
realworld.run.windows.arm64.checked.mch +0.03%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.03%
MinOpts (+0.00% to +0.02%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.01%
benchmarks.run_pgo.windows.arm64.checked.mch +0.01%
benchmarks.run_tiered.windows.arm64.checked.mch +0.01%
coreclr_tests.run.windows.arm64.checked.mch +0.02%
libraries.pmi.windows.arm64.checked.mch +0.01%
libraries_tests.run.windows.arm64.Release.mch +0.02%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.01%
realworld.run.windows.arm64.checked.mch +0.02%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.01%
FullOpts (+0.02% to +0.06%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.03%
benchmarks.run_pgo.windows.arm64.checked.mch +0.06%
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.02%
libraries.pmi.windows.arm64.checked.mch +0.03%
libraries_tests.run.windows.arm64.Release.mch +0.05%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.03%
realworld.run.windows.arm64.checked.mch +0.03%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.03%

Throughput diffs for windows/x64 ran on windows/x64

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

Details here


Throughput diffs for linux/arm ran on linux/x86

Overall (+0.04% to +0.07%)
Collection PDIFF
benchmarks.run.linux.arm.checked.mch +0.05%
benchmarks.run_pgo.linux.arm.checked.mch +0.07%
benchmarks.run_tiered.linux.arm.checked.mch +0.05%
coreclr_tests.run.linux.arm.checked.mch +0.06%
libraries.crossgen2.linux.arm.checked.mch +0.06%
libraries.pmi.linux.arm.checked.mch +0.05%
libraries_tests.run.linux.arm.Release.mch +0.07%
libraries_tests_no_tiered_compilation.run.linux.arm.Release.mch +0.04%
realworld.run.linux.arm.checked.mch +0.04%
MinOpts (+0.05% to +0.09%)
Collection PDIFF
benchmarks.run.linux.arm.checked.mch +0.07%
benchmarks.run_pgo.linux.arm.checked.mch +0.08%
benchmarks.run_tiered.linux.arm.checked.mch +0.08%
coreclr_tests.run.linux.arm.checked.mch +0.06%
libraries.crossgen2.linux.arm.checked.mch +0.05%
libraries.pmi.linux.arm.checked.mch +0.08%
libraries_tests.run.linux.arm.Release.mch +0.07%
libraries_tests_no_tiered_compilation.run.linux.arm.Release.mch +0.08%
realworld.run.linux.arm.checked.mch +0.09%
FullOpts (+0.04% to +0.07%)
Collection PDIFF
benchmarks.run.linux.arm.checked.mch +0.05%
benchmarks.run_pgo.linux.arm.checked.mch +0.07%
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.06%
libraries.pmi.linux.arm.checked.mch +0.05%
libraries_tests.run.linux.arm.Release.mch +0.07%
libraries_tests_no_tiered_compilation.run.linux.arm.Release.mch +0.04%
realworld.run.linux.arm.checked.mch +0.04%

Throughput diffs for windows/x86 ran on linux/x86

Overall (+0.05% to +0.08%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.07%
benchmarks.run_pgo.windows.x86.checked.mch +0.08%
benchmarks.run_tiered.windows.x86.checked.mch +0.06%
coreclr_tests.run.windows.x86.checked.mch +0.05%
libraries.crossgen2.windows.x86.checked.mch +0.06%
libraries.pmi.windows.x86.checked.mch +0.06%
libraries_tests.run.windows.x86.Release.mch +0.08%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.07%
realworld.run.windows.x86.checked.mch +0.06%
MinOpts (+0.00% to +0.09%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.04%
benchmarks.run_pgo.windows.x86.checked.mch +0.04%
benchmarks.run_tiered.windows.x86.checked.mch +0.04%
coreclr_tests.run.windows.x86.checked.mch +0.04%
libraries.pmi.windows.x86.checked.mch +0.06%
libraries_tests.run.windows.x86.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.05%
realworld.run.windows.x86.checked.mch +0.09%
FullOpts (+0.06% to +0.09%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.07%
benchmarks.run_pgo.windows.x86.checked.mch +0.09%
benchmarks.run_tiered.windows.x86.checked.mch +0.07%
coreclr_tests.run.windows.x86.checked.mch +0.06%
libraries.crossgen2.windows.x86.checked.mch +0.06%
libraries.pmi.windows.x86.checked.mch +0.06%
libraries_tests.run.windows.x86.Release.mch +0.08%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.07%
realworld.run.windows.x86.checked.mch +0.06%

Details here


@ryujit-bot
Copy link

Diff results for #98336

Throughput diffs

Throughput diffs for linux/arm64 ran on windows/x64

Overall (+0.02% to +0.05%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.03%
benchmarks.run_pgo.linux.arm64.checked.mch +0.05%
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.02%
libraries.pmi.linux.arm64.checked.mch +0.03%
libraries_tests.run.linux.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.03%
realworld.run.linux.arm64.checked.mch +0.03%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.03%
MinOpts (+0.00% to +0.03%)
Collection PDIFF
benchmarks.run_pgo.linux.arm64.checked.mch +0.02%
benchmarks.run_tiered.linux.arm64.checked.mch +0.02%
coreclr_tests.run.linux.arm64.checked.mch +0.02%
libraries.pmi.linux.arm64.checked.mch +0.01%
libraries_tests.run.linux.arm64.Release.mch +0.02%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.01%
realworld.run.linux.arm64.checked.mch +0.03%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.01%
FullOpts (+0.02% to +0.06%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.03%
benchmarks.run_pgo.linux.arm64.checked.mch +0.06%
benchmarks.run_tiered.linux.arm64.checked.mch +0.03%
coreclr_tests.run.linux.arm64.checked.mch +0.04%
libraries.crossgen2.linux.arm64.checked.mch +0.02%
libraries.pmi.linux.arm64.checked.mch +0.03%
libraries_tests.run.linux.arm64.Release.mch +0.05%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.03%
realworld.run.linux.arm64.checked.mch +0.03%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.03%

Throughput diffs for linux/x64 ran on windows/x64

Overall (-0.00% to +0.04%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.02%
benchmarks.run_pgo.linux.x64.checked.mch +0.03%
benchmarks.run_tiered.linux.x64.checked.mch +0.02%
coreclr_tests.run.linux.x64.checked.mch +0.01%
libraries.crossgen2.linux.x64.checked.mch +0.02%
libraries.pmi.linux.x64.checked.mch +0.02%
libraries_tests.run.linux.x64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.02%
realworld.run.linux.x64.checked.mch +0.02%
MinOpts (-0.02% to +0.08%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.04%
benchmarks.run_pgo.linux.x64.checked.mch +0.03%
benchmarks.run_tiered.linux.x64.checked.mch +0.04%
coreclr_tests.run.linux.x64.checked.mch +0.02%
libraries.crossgen2.linux.x64.checked.mch +0.01%
libraries.pmi.linux.x64.checked.mch +0.08%
libraries_tests.run.linux.x64.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.02%
realworld.run.linux.x64.checked.mch +0.03%
smoke_tests.nativeaot.linux.x64.checked.mch -0.02%
FullOpts (-0.00% to +0.04%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.02%
benchmarks.run_pgo.linux.x64.checked.mch +0.03%
benchmarks.run_tiered.linux.x64.checked.mch +0.01%
libraries.crossgen2.linux.x64.checked.mch +0.02%
libraries.pmi.linux.x64.checked.mch +0.02%
libraries_tests.run.linux.x64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.02%
realworld.run.linux.x64.checked.mch +0.02%

Throughput diffs for osx/arm64 ran on windows/x64

Overall (+0.02% to +0.05%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.03%
benchmarks.run_pgo.osx.arm64.checked.mch +0.05%
benchmarks.run_tiered.osx.arm64.checked.mch +0.02%
coreclr_tests.run.osx.arm64.checked.mch +0.03%
libraries.crossgen2.osx.arm64.checked.mch +0.02%
libraries.pmi.osx.arm64.checked.mch +0.03%
libraries_tests.run.osx.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.03%
realworld.run.osx.arm64.checked.mch +0.03%
MinOpts (+0.00% to +0.02%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.01%
benchmarks.run_pgo.osx.arm64.checked.mch +0.01%
benchmarks.run_tiered.osx.arm64.checked.mch +0.01%
coreclr_tests.run.osx.arm64.checked.mch +0.02%
libraries.pmi.osx.arm64.checked.mch +0.01%
libraries_tests.run.osx.arm64.Release.mch +0.02%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.01%
realworld.run.osx.arm64.checked.mch +0.02%
FullOpts (+0.02% to +0.06%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.03%
benchmarks.run_pgo.osx.arm64.checked.mch +0.06%
benchmarks.run_tiered.osx.arm64.checked.mch +0.03%
coreclr_tests.run.osx.arm64.checked.mch +0.04%
libraries.crossgen2.osx.arm64.checked.mch +0.02%
libraries.pmi.osx.arm64.checked.mch +0.03%
libraries_tests.run.osx.arm64.Release.mch +0.05%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.03%
realworld.run.osx.arm64.checked.mch +0.03%

Throughput diffs for windows/arm64 ran on windows/x64

Overall (+0.02% to +0.05%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.03%
benchmarks.run_pgo.windows.arm64.checked.mch +0.05%
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.02%
libraries.pmi.windows.arm64.checked.mch +0.03%
libraries_tests.run.windows.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.03%
realworld.run.windows.arm64.checked.mch +0.03%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.03%
MinOpts (+0.00% to +0.02%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.01%
benchmarks.run_pgo.windows.arm64.checked.mch +0.01%
benchmarks.run_tiered.windows.arm64.checked.mch +0.01%
coreclr_tests.run.windows.arm64.checked.mch +0.02%
libraries.pmi.windows.arm64.checked.mch +0.01%
libraries_tests.run.windows.arm64.Release.mch +0.02%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.01%
realworld.run.windows.arm64.checked.mch +0.02%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.01%
FullOpts (+0.02% to +0.06%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.03%
benchmarks.run_pgo.windows.arm64.checked.mch +0.06%
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.02%
libraries.pmi.windows.arm64.checked.mch +0.03%
libraries_tests.run.windows.arm64.Release.mch +0.05%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.03%
realworld.run.windows.arm64.checked.mch +0.03%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.03%

Throughput diffs for windows/x64 ran on windows/x64

Overall (+0.00% to +0.04%)
Collection PDIFF
aspnet.run.windows.x64.checked.mch +0.04%
benchmarks.run.windows.x64.checked.mch +0.02%
benchmarks.run_pgo.windows.x64.checked.mch +0.04%
benchmarks.run_tiered.windows.x64.checked.mch +0.03%
coreclr_tests.run.windows.x64.checked.mch +0.01%
libraries.crossgen2.windows.x64.checked.mch +0.03%
libraries.pmi.windows.x64.checked.mch +0.02%
libraries_tests.run.windows.x64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch +0.02%
realworld.run.windows.x64.checked.mch +0.02%
MinOpts (-0.02% to +0.08%)
Collection PDIFF
aspnet.run.windows.x64.checked.mch +0.04%
benchmarks.run.windows.x64.checked.mch +0.05%
benchmarks.run_pgo.windows.x64.checked.mch +0.04%
benchmarks.run_tiered.windows.x64.checked.mch +0.05%
coreclr_tests.run.windows.x64.checked.mch +0.03%
libraries.crossgen2.windows.x64.checked.mch +0.04%
libraries.pmi.windows.x64.checked.mch +0.08%
libraries_tests.run.windows.x64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch +0.03%
realworld.run.windows.x64.checked.mch +0.03%
smoke_tests.nativeaot.windows.x64.checked.mch -0.02%
FullOpts (-0.00% to +0.04%)
Collection PDIFF
aspnet.run.windows.x64.checked.mch +0.04%
benchmarks.run.windows.x64.checked.mch +0.02%
benchmarks.run_pgo.windows.x64.checked.mch +0.04%
benchmarks.run_tiered.windows.x64.checked.mch +0.01%
libraries.crossgen2.windows.x64.checked.mch +0.03%
libraries.pmi.windows.x64.checked.mch +0.02%
libraries_tests.run.windows.x64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch +0.02%
realworld.run.windows.x64.checked.mch +0.02%

Details here


Throughput diffs for linux/arm ran on windows/x86

Overall (+0.04% to +0.07%)
Collection PDIFF
benchmarks.run.linux.arm.checked.mch +0.05%
benchmarks.run_pgo.linux.arm.checked.mch +0.07%
benchmarks.run_tiered.linux.arm.checked.mch +0.05%
coreclr_tests.run.linux.arm.checked.mch +0.06%
libraries.crossgen2.linux.arm.checked.mch +0.06%
libraries.pmi.linux.arm.checked.mch +0.05%
libraries_tests.run.linux.arm.Release.mch +0.07%
libraries_tests_no_tiered_compilation.run.linux.arm.Release.mch +0.04%
realworld.run.linux.arm.checked.mch +0.05%
MinOpts (+0.05% to +0.09%)
Collection PDIFF
benchmarks.run.linux.arm.checked.mch +0.07%
benchmarks.run_pgo.linux.arm.checked.mch +0.08%
benchmarks.run_tiered.linux.arm.checked.mch +0.08%
coreclr_tests.run.linux.arm.checked.mch +0.06%
libraries.crossgen2.linux.arm.checked.mch +0.05%
libraries.pmi.linux.arm.checked.mch +0.08%
libraries_tests.run.linux.arm.Release.mch +0.07%
libraries_tests_no_tiered_compilation.run.linux.arm.Release.mch +0.08%
realworld.run.linux.arm.checked.mch +0.09%
FullOpts (+0.04% to +0.07%)
Collection PDIFF
benchmarks.run.linux.arm.checked.mch +0.05%
benchmarks.run_pgo.linux.arm.checked.mch +0.07%
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.06%
libraries.pmi.linux.arm.checked.mch +0.05%
libraries_tests.run.linux.arm.Release.mch +0.07%
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

Overall (+0.05% to +0.08%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.07%
benchmarks.run_pgo.windows.x86.checked.mch +0.08%
benchmarks.run_tiered.windows.x86.checked.mch +0.06%
coreclr_tests.run.windows.x86.checked.mch +0.05%
libraries.crossgen2.windows.x86.checked.mch +0.06%
libraries.pmi.windows.x86.checked.mch +0.06%
libraries_tests.run.windows.x86.Release.mch +0.08%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.07%
realworld.run.windows.x86.checked.mch +0.06%
MinOpts (+0.00% to +0.09%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.04%
benchmarks.run_pgo.windows.x86.checked.mch +0.04%
benchmarks.run_tiered.windows.x86.checked.mch +0.04%
coreclr_tests.run.windows.x86.checked.mch +0.04%
libraries.pmi.windows.x86.checked.mch +0.06%
libraries_tests.run.windows.x86.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.05%
realworld.run.windows.x86.checked.mch +0.09%
FullOpts (+0.06% to +0.08%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.07%
benchmarks.run_pgo.windows.x86.checked.mch +0.08%
benchmarks.run_tiered.windows.x86.checked.mch +0.07%
coreclr_tests.run.windows.x86.checked.mch +0.06%
libraries.crossgen2.windows.x86.checked.mch +0.06%
libraries.pmi.windows.x86.checked.mch +0.06%
libraries_tests.run.windows.x86.Release.mch +0.08%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.07%
realworld.run.windows.x86.checked.mch +0.06%

Details here


@ryujit-bot
Copy link

Diff results for #98336

Throughput diffs

Throughput diffs for linux/arm ran on windows/x86

Overall (+0.04% to +0.07%)
Collection PDIFF
benchmarks.run.linux.arm.checked.mch +0.05%
benchmarks.run_pgo.linux.arm.checked.mch +0.07%
benchmarks.run_tiered.linux.arm.checked.mch +0.05%
coreclr_tests.run.linux.arm.checked.mch +0.06%
libraries.crossgen2.linux.arm.checked.mch +0.06%
libraries.pmi.linux.arm.checked.mch +0.05%
libraries_tests.run.linux.arm.Release.mch +0.07%
libraries_tests_no_tiered_compilation.run.linux.arm.Release.mch +0.04%
realworld.run.linux.arm.checked.mch +0.05%
MinOpts (+0.05% to +0.09%)
Collection PDIFF
benchmarks.run.linux.arm.checked.mch +0.07%
benchmarks.run_pgo.linux.arm.checked.mch +0.08%
benchmarks.run_tiered.linux.arm.checked.mch +0.08%
coreclr_tests.run.linux.arm.checked.mch +0.06%
libraries.crossgen2.linux.arm.checked.mch +0.05%
libraries.pmi.linux.arm.checked.mch +0.08%
libraries_tests.run.linux.arm.Release.mch +0.07%
libraries_tests_no_tiered_compilation.run.linux.arm.Release.mch +0.08%
realworld.run.linux.arm.checked.mch +0.09%
FullOpts (+0.04% to +0.07%)
Collection PDIFF
benchmarks.run.linux.arm.checked.mch +0.05%
benchmarks.run_pgo.linux.arm.checked.mch +0.07%
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.06%
libraries.pmi.linux.arm.checked.mch +0.05%
libraries_tests.run.linux.arm.Release.mch +0.07%
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

Overall (+0.05% to +0.08%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.07%
benchmarks.run_pgo.windows.x86.checked.mch +0.08%
benchmarks.run_tiered.windows.x86.checked.mch +0.06%
coreclr_tests.run.windows.x86.checked.mch +0.05%
libraries.crossgen2.windows.x86.checked.mch +0.06%
libraries.pmi.windows.x86.checked.mch +0.06%
libraries_tests.run.windows.x86.Release.mch +0.08%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.07%
realworld.run.windows.x86.checked.mch +0.06%
MinOpts (+0.00% to +0.09%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.04%
benchmarks.run_pgo.windows.x86.checked.mch +0.04%
benchmarks.run_tiered.windows.x86.checked.mch +0.04%
coreclr_tests.run.windows.x86.checked.mch +0.04%
libraries.pmi.windows.x86.checked.mch +0.06%
libraries_tests.run.windows.x86.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.05%
realworld.run.windows.x86.checked.mch +0.09%
FullOpts (+0.06% to +0.08%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.07%
benchmarks.run_pgo.windows.x86.checked.mch +0.08%
benchmarks.run_tiered.windows.x86.checked.mch +0.07%
coreclr_tests.run.windows.x86.checked.mch +0.06%
libraries.crossgen2.windows.x86.checked.mch +0.06%
libraries.pmi.windows.x86.checked.mch +0.06%
libraries_tests.run.windows.x86.Release.mch +0.08%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.07%
realworld.run.windows.x86.checked.mch +0.06%

Details here


@jkoritzinsky
Copy link
Member Author

@janvorli any more feedback on this PR?

@janvorli
Copy link
Member

janvorli commented Apr 3, 2024

I'm taking a last look now.

Copy link
Member

@janvorli janvorli left a comment

Choose a reason for hiding this comment

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

LGTM modulo the comment.

@@ -768,7 +768,7 @@ class MSLAYOUT VMPTR_Base
//
// Operators to emulate Pointer semantics.
//
bool IsNull() { SUPPORTS_DAC; return m_addr == NULL; }
bool IsNull() { SUPPORTS_DAC; return m_addr == (TADDR)NULL; }
Copy link
Member

Choose a reason for hiding this comment

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

@jkoritzinsky can you please change this the way @jkotas suggested?

@jkoritzinsky
Copy link
Member Author

/ba-g Timeouts look like the slow mac issue, all with non-CoreCLR runtimes.

@BruceForstall
Copy link
Member

Amazing. I never thought this would happen.

Could (should) someone convert the JIT from the jitstd implementations of list and vector (and others) to the platform implementations?

Is there guidance about what parts of the STL can and can't be used?

@AaronRobinsonMSFT
Copy link
Member

Is there guidance about what parts of the STL can and can't be used?

Not at present, but we need to avoid cases where exceptions are thrown. This means no STL collections should be used in the product. Using in tests is fine, but we need to make sure the code isn't shared in some non-obvious manner.

If someone wanted to use the STL collections the first step would be to write a custom allocator so we can control the failure mode. Ideally we would typedef all the STL collections to be something like clr_vector that uses the custom allocator. There are also other APIs like std::make_shared<>, which can have unexpected behavior. std::string is also a type of "collection" and falls under the same bucket.

My preference, no way to enforce this, would be for me and a group of others to be added to PRs where new uses of the STL are used. After a while we will all agree on approved patterns and then we can document them appropriately.

@jkoritzinsky
Copy link
Member Author

I'll work on a doc for guidance for STL usage with some useful typedefs.

shushanhf added a commit to shushanhf/runtime that referenced this pull request Apr 8, 2024
…code`

when building on debug mode on loongarch64/arm64/amd64-linux by clang<=13.

Also delete `#ifndef FALLTHROUGH` block as dotnet#98336 added after dotnet#98712.
shushanhf added a commit to shushanhf/runtime that referenced this pull request Apr 8, 2024
…code`

when building on debug mode on loongarch64/arm64/amd64-linux by clang<14.

Also delete `#ifndef FALLTHROUGH` block as dotnet#98336 added after dotnet#98712.
shushanhf added a commit to shushanhf/runtime that referenced this pull request Apr 8, 2024
…code`

when building on debug mode on loongarch64/arm64/amd64-linux by clang<14.

Also delete `#ifndef FALLTHROUGH` block as dotnet#98336 added after dotnet#98712.
shushanhf added a commit to shushanhf/runtime that referenced this pull request Apr 8, 2024
…code`

when building on debug mode on loongarch64/arm64/amd64-linux by clang<14.

Also delete `#ifndef FALLTHROUGH` block as dotnet#98336 added after dotnet#98712.
shushanhf added a commit to shushanhf/runtime that referenced this pull request Apr 9, 2024
…code`

when building on debug mode on loongarch64/arm64/amd64-linux by clang<14.

Also delete `#ifndef FALLTHROUGH` block as dotnet#98336 added after dotnet#98712.
shushanhf added a commit to shushanhf/runtime that referenced this pull request Apr 9, 2024
…code`

when building on debug mode on loongarch64/arm64/amd64-linux by clang<14.

Also delete `#ifndef FALLTHROUGH` block as dotnet#98336 added after dotnet#98712.
shushanhf added a commit to shushanhf/runtime that referenced this pull request Apr 9, 2024
…code`

when building on debug mode on loongarch64/arm64/amd64-linux by clang<14.

Also delete `#ifndef FALLTHROUGH` block as dotnet#98336 added after dotnet#98712.
AaronRobinsonMSFT pushed a commit that referenced this pull request Apr 9, 2024
…code` (#100742)

when building on debug mode on loongarch64/arm64/amd64-linux by clang<14.

Also delete `#ifndef FALLTHROUGH` block as #98336 added after #98712.
matouskozak pushed a commit to matouskozak/runtime that referenced this pull request Apr 30, 2024
…rs in the CoreCLR build (dotnet#98336)

- Remove malloc-family PAL and update callsites that might get passed 0 to bump up to 1.
- Move `getenv` usage to use the `PAL` function directly when on non-Windows (to preserve the existing behavior).
- Remove other remaining CRT PAL shims
- Remove header shims and enable building with the CRT and STL headers across the product, with various build fixes required (mostly around using the standard min/max definitions)
matouskozak pushed a commit to matouskozak/runtime that referenced this pull request Apr 30, 2024
…code` (dotnet#100742)

when building on debug mode on loongarch64/arm64/amd64-linux by clang<14.

Also delete `#ifndef FALLTHROUGH` block as dotnet#98336 added after dotnet#98712.
@github-actions github-actions bot locked and limited conversation to collaborators May 5, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants