@@ -179,6 +179,8 @@ HRESULT EEConfig::Init()
179
179
iGCHeapCount = 0 ;
180
180
iGCNoAffinitize = 0 ;
181
181
iGCAffinityMask = 0 ;
182
+ iGCHeapHardLimit = 0 ;
183
+ iGCHeapHardLimitPercent = 0 ;
182
184
183
185
#ifdef GCTRIMCOMMIT
184
186
iGCTrimCommit = 0 ;
@@ -808,18 +810,20 @@ fTrackDynamicMethodDebugInfo = CLRConfig::GetConfigValue(CLRConfig::UNSUPPORTED_
808
810
if (!iGCAffinityMask) iGCAffinityMask = Configuration::GetKnobULONGLONGValue (W (" System.GC.HeapAffinitizeMask" ));
809
811
if (!iGCSegmentSize) iGCSegmentSize = GetConfigULONGLONG_DontUse_ (CLRConfig::UNSUPPORTED_GCSegmentSize, iGCSegmentSize);
810
812
if (!iGCgen0size) iGCgen0size = GetConfigULONGLONG_DontUse_ (CLRConfig::UNSUPPORTED_GCgen0size, iGCgen0size);
813
+ iGCHeapHardLimit = GetConfigULONGLONG_DontUse_ (CLRConfig::EXTERNAL_GCHeapHardLimit, iGCHeapHardLimit);
814
+ if (!iGCHeapHardLimit) iGCHeapHardLimit = Configuration::GetKnobULONGLONGValue (W (" System.GC.HeapHardLimit" ));
811
815
#else
812
816
iGCAffinityMask = GetConfigDWORD_DontUse_ (CLRConfig::EXTERNAL_GCHeapAffinitizeMask, iGCAffinityMask);
813
817
if (!iGCAffinityMask) iGCAffinityMask = Configuration::GetKnobDWORDValue (W (" System.GC.HeapAffinitizeMask" ), 0 );
814
818
if (!iGCSegmentSize) iGCSegmentSize = GetConfigDWORD_DontUse_ (CLRConfig::UNSUPPORTED_GCSegmentSize, iGCSegmentSize);
815
819
if (!iGCgen0size) iGCgen0size = GetConfigDWORD_DontUse_ (CLRConfig::UNSUPPORTED_GCgen0size, iGCgen0size);
820
+ iGCHeapHardLimit = GetConfigDWORD_DontUse_ (CLRConfig::EXTERNAL_GCHeapHardLimit, iGCHeapHardLimit);
821
+ if (!iGCHeapHardLimit) iGCHeapHardLimit = Configuration::GetKnobDWORDValue (W (" System.GC.HeapHardLimit" ), 0 );
816
822
#endif // _WIN64
817
823
818
- const ULONGLONG ullHeapHardLimit = Configuration::GetKnobULONGLONGValue (W (" System.GC.HeapHardLimit" ));
819
- iGCHeapHardLimit = FitsIn<size_t , ULONGLONG>(ullHeapHardLimit)
820
- ? static_cast <size_t >(ullHeapHardLimit)
821
- : ClrSafeInt<size_t >::MaxInt ();
822
- iGCHeapHardLimitPercent = Configuration::GetKnobDWORDValue (W (" System.GC.HeapHardLimitPercent" ), 0 );
824
+ iGCHeapHardLimitPercent = GetConfigDWORD_DontUse_ (CLRConfig::EXTERNAL_GCHeapHardLimitPercent, iGCHeapHardLimitPercent);
825
+ if (!iGCHeapHardLimitPercent)
826
+ iGCHeapHardLimitPercent = Configuration::GetKnobDWORDValue (W (" System.GC.HeapHardLimitPercent" ), 0 );
823
827
824
828
if (g_IGCHoardVM)
825
829
iGCHoardVM = g_IGCHoardVM;
0 commit comments