Enable optimized single-proc allocation helpers for single-proc x86/x64 systems only...
authorJan Kotas <jkotas@microsoft.com>
Tue, 8 Oct 2019 02:04:18 +0000 (19:04 -0700)
committerGitHub <noreply@github.com>
Tue, 8 Oct 2019 02:04:18 +0000 (19:04 -0700)
commit595a75721e718f69de309e1ebfed63d5fc427903
treec5337fff021a19b00570c1c14d33726b0466ca39
parent9095fb17285ed7f5c7477538f1292d96c543995d
Enable optimized single-proc allocation helpers for single-proc x86/x64 systems only (dotnet/coreclr#27014)

Use maximum number of processors the process may run on to determine whether it is ok to use
single-proc allocation helpers. It is not sufficient to depend on current process affinity since
that can change during the process lifetime.

Also, the single-proc allocation helpers work well on x86/x64 systems only because of they depend
on atomic non-interlocked increment instruction for good performance. Such instruction is available
on x86/x64 only. Disable them everywhere else.

Fixes dotnet/coreclr#26990

Commit migrated from https://github.com/dotnet/coreclr/commit/4e702da2c06ded8239d5eb2f47619604efbf3fde
src/coreclr/src/vm/gcheaputilities.h