desktop port (dotnet/coreclr#21523)
authorMaoni Stephens <Maoni0@users.noreply.github.com>
Wed, 26 Dec 2018 21:13:21 +0000 (13:13 -0800)
committerGitHub <noreply@github.com>
Wed, 26 Dec 2018 21:13:21 +0000 (13:13 -0800)
commit8eee7ea7a81ffd76f826403d7959fd03028eadac
tree6bee672fe299fed46f08cf4cf6d8dbfdfc7d615d
parentfad0533959598382c73b6551118e3600651afd38
desktop port (dotnet/coreclr#21523)

+alloc lock split into SOH and LOH
+provisional mode to fix too many gen2 GCs triggered in low mem situation when the heap has heavy pinning fragmentation
+better free list usage
+premature OOM fixes
+3 new configs: GCHeapAffinitizeMask, GCHighMemPercent, GCLOHThreshold (will be documented)
YieldProcessor scaling factor is different on core due to the different implementation on core.

Commit migrated from https://github.com/dotnet/coreclr/commit/aa13ca95d633e9251fa040533d3d5650808455c0
28 files changed:
src/coreclr/clrdefinitions.cmake
src/coreclr/clrfeatures.cmake
src/coreclr/src/gc/env/gcenv.ee.h
src/coreclr/src/gc/gc.cpp
src/coreclr/src/gc/gc.h
src/coreclr/src/gc/gcconfig.h
src/coreclr/src/gc/gcee.cpp
src/coreclr/src/gc/gcenv.ee.standalone.inl
src/coreclr/src/gc/gcevents.h
src/coreclr/src/gc/gcimpl.h
src/coreclr/src/gc/gcinterface.ee.h
src/coreclr/src/gc/gcinterface.h
src/coreclr/src/gc/gcpriv.h
src/coreclr/src/inc/clrconfigvalues.h
src/coreclr/src/inc/configuration.h
src/coreclr/src/utilcode/configuration.cpp
src/coreclr/src/vm/ClrEtwAll.man
src/coreclr/src/vm/ClrEtwAllMeta.lst
src/coreclr/src/vm/eeconfig.cpp
src/coreclr/src/vm/eeconfig.h
src/coreclr/src/vm/eventtrace.cpp
src/coreclr/src/vm/gcenv.ee.cpp
src/coreclr/src/vm/gcenv.ee.h
src/coreclr/src/vm/gchelpers.cpp
src/coreclr/src/vm/gctoclreventsink.cpp
src/coreclr/src/vm/gctoclreventsink.h
src/coreclr/src/vm/threads.cpp
src/coreclr/src/vm/yieldprocessornormalized.cpp