Fall back to CpuId if failed to get cache size from OS (#24989)
Fall back to CpuId if failed to get cache size from OS (#24989)

* Fall back to CpuId if failed to get cache size from OS

It's possible for GetLogicalProcessorCacheSizeFromOS() to fail;
this happens on alpine linux where it compiles to just `return 0;`.

As a fallback, we can get the cache size from CpuId. Previously that
was specific to x86; this PR preserves the behavior that we never call
GetLogicalProcessorCacheSizeFromOS on x86.

CpuId only works on x86 and amd64; on other systems we may still return
0 from here. Then GC defaults to a cache size of only 0.25MB.

Note: Removed the code in an `#ifdef _WIN64` that was nested inside of
`#if defined (_TARGET_X86_)`. Presuming that is dead code.

* Fix exception handler

poizan42/coreclr,cshung/coreclr,cshung/coreclr,poizan42/coreclr,cshung/coreclr,krk/coreclr,wtgodbe/coreclr,krk/coreclr,wtgodbe/coreclr,poizan42/coreclr,krk/coreclr,wtgodbe/coreclr,krk/coreclr,poizan42/coreclr,wtgodbe/coreclr,cshung/coreclr,krk/coreclr,wtgodbe/coreclr,poizan42/coreclr,cshung/coreclr,wtgodbe/coreclr,cshung/coreclr,krk/coreclr,poizan42/coreclr