Skip to content

Commit

Permalink
Use DOTNET_ variables in tests (#76997)
Browse files Browse the repository at this point in the history
* Use DOTNET_ variables in tests

* Delete RunBenchmarks directory

* Address CR feedback

* Fix typos

* Cleanup minor redundancies

* Use DOTNET_ vars in superpmi scripts

* Fix typo
  • Loading branch information
am11 authored Oct 19, 2022
1 parent ba99b91 commit 51e3afb
Show file tree
Hide file tree
Showing 163 changed files with 597 additions and 3,353 deletions.
2 changes: 1 addition & 1 deletion src/coreclr/scripts/exploratory.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

The basics of both tools are the same: they generate random programs using Roslyn and execute them with `corerun.exe` in a baseline and a test mode.
Typically, baseline uses the JIT with minimum optimizations enabled while the test mode has optimizations enabled.
Antigen also sets various `COMPlus_*` variables in its test mode to turn on different stress modes or turn on/off different optimizations.
Antigen also sets various `DOTNET_*` variables in its test mode to turn on different stress modes or turn on/off different optimizations.

The fuzzers detect issues by checking for assertion failures and by comparing results between the baseline and test modes.
For more information, see the respectives repos.
Expand Down
110 changes: 55 additions & 55 deletions src/coreclr/scripts/superpmi.py

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions src/coreclr/scripts/superpmi_aspnet.py
Original file line number Diff line number Diff line change
Expand Up @@ -232,10 +232,10 @@ def remove_readonly(func, path, _):
"--application.framework", "net7.0",
"--application.channel", "edge",
"--application.sdkVersion", "latest",
"--application.environmentVariables", "COMPlus_JitName=" + spminame,
"--application.environmentVariables", "DOTNET_JitName=" + spminame,
"--application.environmentVariables", "SuperPMIShimLogPath=.",
"--application.environmentVariables", "SuperPMIShimPath=" + jitpath,
"--application.environmentVariables", "COMPlus_EnableExtraSuperPmiQueries=1",
"--application.environmentVariables", "DOTNET_EnableExtraSuperPmiQueries=1",
"--application.options.downloadFiles", "*.mc",
"--application.options.displayOutput", "true",
# "--application.options.dumpType", "full",
Expand All @@ -249,7 +249,7 @@ def remove_readonly(func, path, _):
runtime_arguments = []
for runtime_option in runtime_options:
runtime_arguments.append("--application.environmentVariables")
runtime_arguments.append("COMPlus_" + runtime_option)
runtime_arguments.append("DOTNET_" + runtime_option)

print("")
print("================================")
Expand Down
12 changes: 6 additions & 6 deletions src/coreclr/scripts/superpmi_benchmarks.py
Original file line number Diff line number Diff line change
Expand Up @@ -183,8 +183,8 @@ def build_and_run(coreclr_args, output_mch_name):

# Disable ReadyToRun so we always JIT R2R methods and collect them
collection_command = f"{dotnet_exe} {benchmarks_dll} --filter \"*\" --corerun {os.path.join(core_root, corerun_exe)} --partition-count {partition_count} " \
f"--partition-index {partition_index} --envVars COMPlus_JitName:{shim_name} " \
" COMPlus_ZapDisable:1 COMPlus_ReadyToRun:0 " \
f"--partition-index {partition_index} --envVars DOTNET_JitName:{shim_name} " \
" DOTNET_ZapDisable:1 DOTNET_ReadyToRun:0 " \
"--iterationCount 1 --warmupCount 0 --invocationCount 1 --unrollFactor 1 --strategy ColdStart --logBuildOutput"

# Generate the execution script in Temp location
Expand All @@ -194,12 +194,12 @@ def build_and_run(coreclr_args, output_mch_name):
contents = []
# Unset the JitName so dotnet process will not fail
if is_windows:
contents.append("set JitName=%COMPlus_JitName%")
contents.append("set COMPlus_JitName=")
contents.append("set JitName=%DOTNET_JitName%")
contents.append("set DOTNET_JitName=")
else:
contents.append("#!/bin/bash")
contents.append("export JitName=$COMPlus_JitName")
contents.append("unset COMPlus_JitName")
contents.append("export JitName=$DOTNET_JitName")
contents.append("unset DOTNET_JitName")
contents.append(f"pushd {performance_directory}")
contents.append(collection_command)

Expand Down
2 changes: 1 addition & 1 deletion src/coreclr/scripts/superpmi_replay.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
#
# Notes:
#
# Script to run "superpmi replay" for various collections under various COMPlus_JitStressRegs values.
# Script to run "superpmi replay" for various collections under various DOTNET_JitStressRegs values.
#
################################################################################
################################################################################
Expand Down
21 changes: 15 additions & 6 deletions src/tests/Common/CLRTest.CrossGen.targets
Original file line number Diff line number Diff line change
Expand Up @@ -108,13 +108,15 @@ if [ ! -z ${RunCrossGen2+x} ]%3B then
echo "Response file: $__ResponseFile"
cat $__ResponseFile
# Suppress some COMPlus variables for the duration of Crossgen2 execution
# Suppress some DOTNET and COMPlus variables for the duration of Crossgen2 execution
export -n DOTNET_GCName DOTNET_GCStress DOTNET_HeapVerify DOTNET_ReadyToRun DOTNET_TC_OnStackReplacement DOTNET_TC_PartialCompilation
export -n COMPlus_GCName COMPlus_GCStress COMPlus_HeapVerify COMPlus_ReadyToRun COMPlus_TC_OnStackReplacement COMPlus_TC_PartialCompilation
echo "Running CrossGen2: $__Command"
$__Command
__cg2ExitCode=$?
export DOTNET_GCName DOTNET_GCStress DOTNET_HeapVerify DOTNET_ReadyToRun DOTNET_TC_OnStackReplacement DOTNET_TC_PartialCompilation
export COMPlus_GCName COMPlus_GCStress COMPlus_HeapVerify COMPlus_ReadyToRun COMPlus_TC_OnStackReplacement COMPlus_TC_PartialCompilation
date +%H:%M:%S
}
Expand Down Expand Up @@ -145,8 +147,8 @@ if [ ! -z ${RunCrossGen2+x} ]%3B then
ReleaseLock
fi
export COMPlus_ZapRequire=$(ZapRequire)
export COMPlus_ZapRequireList=$(AssemblyName)
export DOTNET_ZapRequire=$(ZapRequire)
export DOTNET_ZapRequireList=$(AssemblyName)
fi
]]>
</CrossgenBashScript>
Expand Down Expand Up @@ -244,13 +246,20 @@ if defined RunCrossGen2 (
echo Response file: !__ResponseFile!
type !__ResponseFile!
REM Suppress some COMPlus variables for the duration of Crossgen2 execution
REM Suppress some DOTNET and COMPlus variables for the duration of Crossgen2 execution
setlocal
set "DOTNET_GCName="
set "DOTNET_GCStress="
set "DOTNET_HeapVerify="
set "DOTNET_ReadyToRun="
set "COMPlus_GCName="
set "COMPlus_GCStress="
set "COMPlus_HeapVerify="
set "COMPlus_ReadyToRun="
REM work around problems in 6.0 OSR
set "DOTNET_TC_OnStackReplacement="
set "DOTNET_TC_PartialCompilation="
set "COMPlus_TC_OnStackReplacement="
set "COMPlus_TC_PartialCompilation="
Expand All @@ -270,8 +279,8 @@ if defined RunCrossGen2 (
Exit /b 1
)
set COMPlus_ZapRequire=$(ZapRequire)
set COMPlus_ZapRequireList=$(AssemblyName)
set DOTNET_ZapRequire=$(ZapRequire)
set DOTNET_ZapRequireList=$(AssemblyName)
)
]]>
</CrossgenBatchScript>
Expand Down
16 changes: 8 additions & 8 deletions src/tests/Common/CLRTest.Execute.Bash.targets
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,9 @@ WARNING: When setting properties based on their current state (for example:

<BashCLRTestEnvironmentCompatibilityCheck Condition="'$(GCStressIncompatible)' == 'true'"><![CDATA[
$(BashCLRTestEnvironmentCompatibilityCheck)
if [ ! -z "$COMPlus_GCStress" ]
if [ ! -z "$DOTNET_GCStress" ]
then
echo SKIPPING EXECUTION BECAUSE COMPlus_GCStress IS SET
echo SKIPPING EXECUTION BECAUSE DOTNET_GCStress IS SET
exit $(IncompatibleTestBashScriptExitCode)
fi
]]></BashCLRTestEnvironmentCompatibilityCheck>
Expand All @@ -88,22 +88,22 @@ fi
<BashCLRTestEnvironmentCompatibilityCheck Condition="'$(JitOptimizationSensitive)' == 'true' And '$(RuntimeFlavor)' != 'mono'">
<![CDATA[
$(BashCLRTestEnvironmentCompatibilityCheck)
if [[ ( ! -z "$COMPlus_JitStress" ) || ( ! -z "$COMPlus_JitStressRegs" ) || ( ! -z "$COMPlus_JITMinOpts" ) || ( ! -z "$COMPlus_TailcallStress" ) ]]
if [[ ( ! -z "$DOTNET_JitStress" ) || ( ! -z "$DOTNET_JitStressRegs" ) || ( ! -z "$DOTNET_JITMinOpts" ) || ( ! -z "$DOTNET_TailcallStress" ) ]]
then
echo "SKIPPING EXECUTION BECAUSE ONE OR MORE OF (COMPlus_JitStress, COMPlus_JitStressRegs, COMPlus_JITMinOpts, COMPlus_TailcallStress) IS SET"
echo "SKIPPING EXECUTION BECAUSE ONE OR MORE OF (DOTNET_JitStress, DOTNET_JitStressRegs, DOTNET_JITMinOpts, DOTNET_TailcallStress) IS SET"
exit $(IncompatibleTestBashScriptExitCode)
fi
if [[ "$COMPlus_TieredCompilation" != "0" ]]
if [[ "$DOTNET_TieredCompilation" != "0" ]]
then
echo "SKIPPING EXECUTION BECAUSE COMPlus_TieredCompilation has not been disabled and this test is marked JitOptimizationSensitive"
echo "SKIPPING EXECUTION BECAUSE DOTNET_TieredCompilation has not been disabled and this test is marked JitOptimizationSensitive"
exit $(IncompatibleTestBashScriptExitCode)
fi
]]></BashCLRTestEnvironmentCompatibilityCheck>
<BashCLRTestEnvironmentCompatibilityCheck Condition="'$(HeapVerifyIncompatible)' == 'true'"><![CDATA[
$(BashCLRTestEnvironmentCompatibilityCheck)
if [ ! -z "$COMPlus_HeapVerify" ]
if [ ! -z "$DOTNET_HeapVerify" ]
then
echo SKIPPING EXECUTION BECAUSE COMPlus_HeapVerify IS SET
echo SKIPPING EXECUTION BECAUSE DOTNET_HeapVerify IS SET
exit $(IncompatibleTestBashScriptExitCode)
fi
]]></BashCLRTestEnvironmentCompatibilityCheck>
Expand Down
16 changes: 8 additions & 8 deletions src/tests/Common/CLRTest.Execute.Batch.targets
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ WARNING: When setting properties based on their current state (for example:
<CoreRunArgs>@(RuntimeHostConfigurationOption -> '-p &quot;%(Identity)=%(Value)&quot;', ' ')</CoreRunArgs>
<BatchCLRTestEnvironmentCompatibilityCheck Condition="'$(GCStressIncompatible)' == 'true'"><![CDATA[
$(BatchCLRTestEnvironmentCompatibilityCheck)
IF NOT "%COMPlus_GCStress%"=="" (
ECHO SKIPPING EXECUTION BECAUSE COMPlus_GCStress IS SET
IF NOT "%DOTNET_GCStress%"=="" (
ECHO SKIPPING EXECUTION BECAUSE DOTNET_GCStress IS SET
popd
Exit /b 0
)
Expand Down Expand Up @@ -97,21 +97,21 @@ REM tests. The following cannot run the test.
REM
REM TieredCompilation=1
REM TieredCompilation=
IF "%COMPlus_JitStress%"=="" IF "%COMPlus_JitStressRegs%"=="" IF "%COMPlus_JITMinOpts%"=="" IF "%COMPlus_TailcallStress%"=="" goto :Compatible
ECHO SKIPPING EXECUTION BECAUSE ONE OR MORE OF (COMPlus_JitStress, COMPlus_JitStressRegs, COMPlus_JITMinOpts, COMPlus_TailcallStress, COMPlus_TieredCompilation) IS SET
IF "%DOTNET_JitStress%"=="" IF "%DOTNET_JitStressRegs%"=="" IF "%DOTNET_JITMinOpts%"=="" IF "%DOTNET_TailcallStress%"=="" goto :Compatible
ECHO SKIPPING EXECUTION BECAUSE ONE OR MORE OF (DOTNET_JitStress, DOTNET_JitStressRegs, DOTNET_JITMinOpts, DOTNET_TailcallStress, DOTNET_TieredCompilation) IS SET
popd
Exit /b 0
:Compatible
IF "%COMPlus_TieredCompilation%"=="0" goto :TieredCompilationDisabledCorrectly
ECHO SKIPPING EXECUTION BECAUSE COMPlus_TieredCompilation has not been disabled and this test is marked JitOptimizationSensitive
IF "%DOTNET_TieredCompilation%"=="0" goto :TieredCompilationDisabledCorrectly
ECHO SKIPPING EXECUTION BECAUSE DOTNET_TieredCompilation has not been disabled and this test is marked JitOptimizationSensitive
popd
Exit /b 0
:TieredCompilationDisabledCorrectly
]]></BatchCLRTestEnvironmentCompatibilityCheck>
<BatchCLRTestEnvironmentCompatibilityCheck Condition="'$(HeapVerifyIncompatible)' == 'true'"><![CDATA[
$(BatchCLRTestEnvironmentCompatibilityCheck)
IF NOT "%COMPlus_HeapVerify%"=="" (
ECHO SKIPPING EXECUTION BECAUSE COMPlus_HeapVerify IS SET
IF NOT "%DOTNET_HeapVerify%"=="" (
ECHO SKIPPING EXECUTION BECAUSE DOTNET_HeapVerify IS SET
popd
Exit /b 0
)
Expand Down
32 changes: 16 additions & 16 deletions src/tests/Common/CLRTest.Jit.targets
Original file line number Diff line number Diff line change
Expand Up @@ -235,12 +235,12 @@ IF NOT DEFINED DoLink (

<BashCLRTestPreCommands Condition="'$(HasBashDisasmCheck)' == 'true'"><![CDATA[
$(BashCLRTestPreCommands)
if [[ ( -z "$COMPlus_JitStress" ) && ( -z "$COMPlus_JitStressRegs" ) && ( -z "$COMPlus_TailcallStress" ) && ( "$COMPlus_TieredPGO" != "1" ) && ( -z "$RunCrossGen2" ) ]]; then
if [[ ( -z "$DOTNET_JitStress" ) && ( -z "$DOTNET_JitStressRegs" ) && ( -z "$DOTNET_TailcallStress" ) && ( "$DOTNET_TieredPGO" != "1" ) && ( -z "$RunCrossGen2" ) ]]; then
@(DisasmCheckFiles -> ' dotnet $CORE_ROOT/SuperFileCheck/SuperFileCheck.dll --csharp-list-method-names "%(Identity)" --allow-unused-prefixes --check-prefixes=CHECK,$(TargetArchitecture.ToUpperInvariant()),$(TargetArchitecture.ToUpperInvariant())-$(TargetOS.ToUpperInvariant()) > "$(BashDisasmListOutputFile)"
ERRORLEVEL=$?
export COMPlus_JitDisasm=`cat $(BashDisasmListOutputFile)`
export COMPlus_JitDiffableDasm=1
export COMPlus_JitStdOutFile=$(BashDisasmOutputFile)
export DOTNET_JitDisasm=`cat $(BashDisasmListOutputFile)`
export DOTNET_JitDiffableDasm=1
export DOTNET_JitStdOutFile=$(BashDisasmOutputFile)
if [[ $ERRORLEVEL -ne 0 ]]
then
echo EXECUTION OF FILECHECK - FAILED $ERRORLEVEL
Expand All @@ -252,7 +252,7 @@ fi

<BashDisasmCheckPostCommands></BashDisasmCheckPostCommands>
<BashDisasmCheckPostCommands Condition="'$(HasBashDisasmCheck)' == 'true'"><![CDATA[
if [[ -n $COMPlus_JitDisasm ]]; then
if [[ -n $DOTNET_JitDisasm ]]; then
@(DisasmCheckFiles -> ' dotnet $CORE_ROOT/SuperFileCheck/SuperFileCheck.dll --csharp "%(Identity)" --allow-unused-prefixes --check-prefixes=CHECK,$(TargetArchitecture.ToUpperInvariant()),$(TargetArchitecture.ToUpperInvariant())-$(TargetOS.ToUpperInvariant()) --dump-input-context 40 --input-file "$(BashDisasmOutputFile)"
ERRORLEVEL=$?
if [[ $ERRORLEVEL -ne 0 ]]
Expand Down Expand Up @@ -282,22 +282,22 @@ fi
<CLRTestBatchPreCommands Condition="'$(HasBatchDisasmCheck)' == 'true'">
<![CDATA[
$(CLRTestBatchPreCommands)
IF "%COMPlus_JitStress%"=="" IF "%COMPlus_JitStressRegs%"=="" IF "%COMPlus_TailcallStress%"=="" IF NOT "%COMPlus_TieredPGO%" == "1" IF NOT "%RunCrossGen2%" == "1" (
IF "%DOTNET_JitStress%"=="" IF "%DOTNET_JitStressRegs%"=="" IF "%DOTNET_TailcallStress%"=="" IF NOT "%DOTNET_TieredPGO%" == "1" IF NOT "%RunCrossGen2%" == "1" (
@(DisasmCheckFiles -> ' dotnet %CORE_ROOT%\SuperFileCheck\SuperFileCheck.dll --csharp-list-method-names "%(Identity)" --check-prefixes=CHECK,$(TargetArchitecture.ToUpperInvariant()),$(TargetArchitecture.ToUpperInvariant())-$(TargetOS.ToUpperInvariant()) > "$(BatchDisasmListOutputFile)"
IF NOT "!ERRORLEVEL!" == "0" (
ECHO EXECUTION OF FILECHECK LISTING METHOD NAMES - FAILED !ERRORLEVEL!
Exit /b 1
)', '%0d%0a')
for /F "delims=" %%g in ($(BatchDisasmListOutputFile)) do set COMPlus_JitDisasm=%%g
set COMPlus_JitDiffableDasm=1
set COMPlus_JitStdOutFile=$(BatchDisasmOutputFile)
for /F "delims=" %%g in ($(BatchDisasmListOutputFile)) do set DOTNET_JitDisasm=%%g
set DOTNET_JitDiffableDasm=1
set DOTNET_JitStdOutFile=$(BatchDisasmOutputFile)
)
]]>
</CLRTestBatchPreCommands>

<BatchDisasmCheckPostCommands></BatchDisasmCheckPostCommands>
<BatchDisasmCheckPostCommands Condition="'$(HasBatchDisasmCheck)' == 'true'"><![CDATA[
IF NOT "%COMPlus_JitDisasm%" == "" (
IF NOT "%DOTNET_JitDisasm%" == "" (
@(DisasmCheckFiles -> ' dotnet %CORE_ROOT%\SuperFileCheck\SuperFileCheck.dll --csharp "%(Identity)" --allow-unused-prefixes --check-prefixes=CHECK,$(TargetArchitecture.ToUpperInvariant()),$(TargetArchitecture.ToUpperInvariant())-$(TargetOS.ToUpperInvariant()) --dump-input-context 40 --input-file "$(BatchDisasmOutputFile)"
IF NOT "!ERRORLEVEL!" == "0" (
ECHO EXECUTION OF FILECHECK - FAILED !ERRORLEVEL!
Expand Down Expand Up @@ -339,8 +339,8 @@ then
export spmi_jitlib=$CORE_ROOT/libclrjit.$spmi_file_extension
export SuperPMIShimLogPath=$spmi_collect_dir
export SuperPMIShimPath=$spmi_jitlib
export COMPlus_EnableExtraSuperPmiQueries=1
export COMPlus_JitPath=$CORE_ROOT/libsuperpmi-shim-collector.$spmi_file_extension
export DOTNET_EnableExtraSuperPmiQueries=1
export DOTNET_JitPath=$CORE_ROOT/libsuperpmi-shim-collector.$spmi_file_extension
fi
]]>
</SuperPMICollectionBashScript>
Expand All @@ -359,8 +359,8 @@ if not exist %spmi_collect_dir% mkdir %spmi_collect_dir%
set spmi_jitlib=%CORE_ROOT%\clrjit.dll
set SuperPMIShimLogPath=%spmi_collect_dir%
set SuperPMIShimPath=%spmi_jitlib%
set COMPlus_EnableExtraSuperPmiQueries=1
set COMPlus_JitPath=%CORE_ROOT%\superpmi-shim-collector.dll
set DOTNET_EnableExtraSuperPmiQueries=1
set DOTNET_JitPath=%CORE_ROOT%\superpmi-shim-collector.dll
:skip_spmi_enable_collection
]]>
</SuperPMICollectionBatchScript>
Expand All @@ -377,13 +377,13 @@ set COMPlus_JitPath=%CORE_ROOT%\superpmi-shim-collector.dll
<CLRTestBatchPreCommands>
<![CDATA[
$(CLRTestBatchPreCommands)
set COMPlus_GCStress=$(RunWithGcStress)
set DOTNET_GCStress=$(RunWithGcStress)
]]>
</CLRTestBatchPreCommands>
<BashCLRTestPreCommands>
<![CDATA[
$(BashCLRTestPreCommands)
export COMPlus_GCStress=$(RunWithGcStress)
export DOTNET_GCStress=$(RunWithGcStress)
]]>
</BashCLRTestPreCommands>
</PropertyGroup>
Expand Down
2 changes: 1 addition & 1 deletion src/tests/Common/CoreCLRTestLibrary/Utilities.cs
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ public static bool IsWindowsIoTCore
public static bool IsReflectionEmitSupported => true;
#endif
public static bool SupportsExceptionInterop => IsWindows && IsNotMonoRuntime && !IsNativeAot; // matches definitions in clr.featuredefines.props
public static bool IsGCStress => (Environment.GetEnvironmentVariable("COMPlus_GCStress") != null) || (Environment.GetEnvironmentVariable("DOTNET_GCStress") != null);
public static bool IsGCStress => (Environment.GetEnvironmentVariable("DOTNET_GCStress") != null);

public static string ByteArrayToString(byte[] bytes)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ static bool CollectCrashDump(Process process, string path)
{
createdump.StartInfo.FileName = "sudo";
createdump.StartInfo.Arguments = $"{createdumpPath} " + arguments;
createdump.StartInfo.EnvironmentVariables.Add("COMPlus_DbgEnableElfDumpOnMacOS", "1");
createdump.StartInfo.EnvironmentVariables.Add("DOTNET_DbgEnableElfDumpOnMacOS", "1");
}

createdump.StartInfo.UseShellExecute = false;
Expand Down
14 changes: 7 additions & 7 deletions src/tests/Common/XUnitWrapperGenerator/RuntimeTestModes.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,22 +17,22 @@ public enum RuntimeTestModes
// JitStress, JitStressRegs, JitMinOpts and TailcallStress enable
// various modes in the JIT that cause us to exercise more code paths,
// and generate different kinds of code
JitStress = 1 << 1, // COMPlus_JitStress is set.
JitStressRegs = 1 << 2, // COMPlus_JitStressRegs is set.
JitMinOpts = 1 << 3, // COMPlus_JITMinOpts is set.
TailcallStress = 1 << 4, // COMPlus_TailcallStress is set.
JitStress = 1 << 1, // DOTNET_JitStress is set.
JitStressRegs = 1 << 2, // DOTNET_JitStressRegs is set.
JitMinOpts = 1 << 3, // DOTNET_JITMinOpts is set.
TailcallStress = 1 << 4, // DOTNET_TailcallStress is set.

// ZapDisable says to not use NGEN or ReadyToRun images.
// This means we JIT everything.
ZapDisable = 1 << 5, // COMPlus_ZapDisable is set.
ZapDisable = 1 << 5, // DOTNET_ZapDisable is set.

// GCStress3 forces a GC at various locations, typically transitions
// to/from the VM from managed code.
GCStress3 = 1 << 6, // COMPlus_GCStress includes mode 0x3.
GCStress3 = 1 << 6, // DOTNET_GCStress includes mode 0x3.

// GCStressC forces a GC at every JIT-generated code instruction,
// including in NGEN/ReadyToRun code.
GCStressC = 1 << 7, // COMPlus_GCStress includes mode 0xC.
GCStressC = 1 << 7, // DOTNET_GCStress includes mode 0xC.
AnyGCStress = GCStress3 | GCStressC // Disable when any GCStress is exercised.
}
}
Loading

0 comments on commit 51e3afb

Please sign in to comment.