path: root/src/gc/env/gcenv.base.h
diff options
authorJan Vorlicek <>2019-03-25 20:52:07 +0100
committerJan Vorlicek <>2019-04-03 21:12:02 +0200
commit67f1116cea421ebbe516fafc963e213cc6f0e117 (patch)
tree671983515e49105c60ba376a79bbd28020ce766c /src/gc/env/gcenv.base.h
parent17add60f708fa55a5447a67851783ab98e01f0cf (diff)
Remove CPU groups handling from the gc.cpp
This change removes all explicit manipulation and handling of CPU groups from the gc.cpp and hides it behind the GCToOSInterface. This is a step to prepare for removing the CPU groups emulation on Unix. In fact, I've already updated the standalone Unix GC to be able to affinitize GC threads to any subset of CPUs and added previously missing support for the affinity setting itself. The NUMA support still remains missing there. It also adds a new way to specify GC thread affinitization that is not limited to 64 threads. Instead of affinity mask stored in 64 bit integer, we now use a bitset that can contain as many processors as GC can support. And there is a new GC config to specify the affinity in a form of a range list.
Diffstat (limited to 'src/gc/env/gcenv.base.h')
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gc/env/gcenv.base.h b/src/gc/env/gcenv.base.h
index e99149eb6f..35a8a0b796 100644
--- a/src/gc/env/gcenv.base.h
+++ b/src/gc/env/gcenv.base.h
@@ -71,6 +71,7 @@ inline HRESULT HRESULT_FROM_WIN32(unsigned long x)
#define E_FAIL 0x80004005
#define E_OUTOFMEMORY 0x8007000E
#define COR_E_EXECUTIONENGINE 0x80131506
+#define CLR_E_GC_BAD_AFFINITY_CONFIG 0x8013200A
#define NOERROR 0x0
#define ERROR_TIMEOUT 1460