Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/dotnet/coreclr into cleanall
Browse files Browse the repository at this point in the history
  • Loading branch information
4creators committed Nov 8, 2017
2 parents 4148d6a + 661ee8f commit 37a0e34
Show file tree
Hide file tree
Showing 135 changed files with 3,274 additions and 39,478 deletions.
2 changes: 1 addition & 1 deletion BuildToolsVersion.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.0.0-prerelease-02203-01
2.0.0-prerelease-02208-03
13 changes: 5 additions & 8 deletions Documentation/building/windows-test-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,6 @@ To run a clean, priority 1, crossgen test pass:

**buildtest /?** will list additional supported parameters.

Additionally, there is a Visual Studio solution, `<repo_root>\tests\src\AllTestProjects.sln`, where users can build a particular testcase, or all priority 0 testcases that are within it.

**Building Individual Tests**

Note: buildtest.cmd or build.cmd skipnative skipmscorlib needs to be run atleast once
Expand Down Expand Up @@ -87,12 +85,11 @@ If test changes are needed, make the change and build the test project. This wil
1. Use an existing test such as `<repo_root>\tests\src\Exceptions\Finalization\Finalizer.csproj` as a template and copy it to a new folder under `<repo_root>\tests\src`.
2. Be sure that the AssemblyName has been removed (this causes confusion with the way tests are generally handled behind the scenes by the build system).
3. [Assign a CLRTestKind/CLRTestPriority.](test-configuration.md)
4. Add the project of the new test to `<repo_root>\tests\src\AllTestProjects.sln` in VS
5. Add source files to this newly added project.
6. Indicate the success of the test by returning `100`.
8. Add any other projects as a dependency, if needed.
9. Build the test.
10. Follow the steps to re-run a failed test to validate the new test.
4. Add source files to this newly added project.
5. Indicate the success of the test by returning `100`.
6. Add any other projects as a dependency, if needed.
7. Build the test.
8. Follow the steps to re-run a failed test to validate the new test.

Note:

Expand Down
5 changes: 5 additions & 0 deletions Documentation/deep-dive-blog-posts.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
## List of blog posts that provide a 'deep-dive' into the CoreCLR source code

### Posts that take a high-level overview of releases

- [Corestart 2.0: What's new for performance in .NET Core 2.0](https://www.ageofascent.com/2017/11/05/perfromance-dotnet-core-2-corestart-conference/)


### Posts that take a high-level look at the entire source:

- [A Hitchhikers Guide to the CoreCLR Source Code](http://mattwarren.org/2017/03/23/Hitchhikers-Guide-to-the-CoreCLR-Source-Code/)
Expand Down
4 changes: 2 additions & 2 deletions buildpipeline/DotNet-Trusted-Publish-Symbols.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
},
"inputs": {
"filename": "sync.cmd",
"arguments": "-ab -AzureAccount=$(CloudDropAccountName) -AzureToken=$(CloudDropAccessToken) -Container=$(PB_ContainerName) -BlobNamePrefix=$(PB_BlobNamePrefix)",
"arguments": "-ab -AzureAccount=$(CloudDropAccountName) -AzureToken=$(CloudDropAccessToken) -Container=$(PB_ContainerName) -BlobNamePrefix=$(PB_BlobNamePrefix)$(PB_BuildType)/symbolpkg/ -- /p:DownloadFlatFiles=true /p:BlobNameExtension=\".nupkg\" /p:DownloadDirectory=$(Pipeline.SourcesDirectory)\\packages\\AzureTransfer\\$(ConfigurationGroup)\\symbolpkg",
"workingFolder": "$(Pipeline.SourcesDirectory)",
"failOnStandardError": "false"
}
Expand Down Expand Up @@ -176,7 +176,7 @@
"allowOverride": true
},
"AzureContainerSymbolPackageGlob": {
"value": "symbolpkg\\*\\*\\*.nupkg",
"value": "symbolpkg\\*.nupkg",
"allowOverride": true
},
"PB_AzureContainerSymbolPackageGlob": {
Expand Down
40 changes: 29 additions & 11 deletions buildpipeline/DotNet-Trusted-Publish.json
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,25 @@
},
"inputs": {
"filename": "sync.cmd",
"arguments": "-ab -AzureAccount=$(CloudDropAccountName) -AzureToken=$(CloudDropAccessToken) -Container=$(PB_ContainerName) -BlobNamePrefix=$(PB_BlobNamePrefix)",
"arguments": "-ab -AzureAccount=$(CloudDropAccountName) -AzureToken=$(CloudDropAccessToken) -Container=$(PB_ContainerName) -BlobNamePrefix=$(PB_BlobNamePrefix)$(PB_BuildType)/pkg/flatcontainer/ -- /p:DownloadFlatFiles=true /p:BlobNameExtension=\".nupkg\" /p:DownloadDirectory=$(Pipeline.SourcesDirectory)\\packages\\AzureTransfer\\$(ConfigurationGroup)\\pkg",
"workingFolder": "$(Pipeline.SourcesDirectory)",
"failOnStandardError": "false"
}
},
{
"enabled": true,
"continueOnError": false,
"alwaysRun": false,
"displayName": "Sync symbol packages",
"timeoutInMinutes": 0,
"task": {
"id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
"versionSpec": "1.*",
"definitionType": "task"
},
"inputs": {
"filename": "sync.cmd",
"arguments": "-ab -AzureAccount=$(CloudDropAccountName) -AzureToken=$(CloudDropAccessToken) -Container=$(PB_ContainerName) -BlobNamePrefix=$(PB_BlobNamePrefix)$(PB_BuildType)/symbolpkg/ -- /p:DownloadFlatFiles=true /p:BlobNameExtension=\".nupkg\" /p:DownloadDirectory=$(Pipeline.SourcesDirectory)\\packages\\AzureTransfer\\$(ConfigurationGroup)\\symbolpkg",
"workingFolder": "$(Pipeline.SourcesDirectory)",
"failOnStandardError": "false"
}
Expand Down Expand Up @@ -179,7 +197,7 @@
"alwaysRun": false,
"displayName": "packages -> dotnet.myget.org",
"timeoutInMinutes": 0,
"condition": "and(succeeded(), contains(variables.PB_PublishType, 'myget'), eq(ConfigurationGroup, 'Release'))",
"condition": "and(succeeded(), contains(variables.PB_PublishType, 'myget'), eq(variables.ConfigurationGroup, 'Release'))",
"task": {
"id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
"versionSpec": "1.*",
Expand All @@ -200,7 +218,7 @@
"alwaysRun": false,
"displayName": "symbol packages -> dotnet.myget.org",
"timeoutInMinutes": 0,
"condition": "and(succeeded(), contains(variables.PB_PublishType, 'myget'), eq(ConfigurationGroup, 'Release'))",
"condition": "and(succeeded(), contains(variables.PB_PublishType, 'myget'), eq(variables.ConfigurationGroup, 'Release'))",
"task": {
"id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
"versionSpec": "1.*",
Expand All @@ -221,15 +239,15 @@
"alwaysRun": false,
"displayName": "Packages -> Blob Feed",
"timeoutInMinutes": 0,
"condition": "and(succeeded(), contains(variables.PB_PublishType, 'blob'), eq(variables.ConfigurationGroup'], 'Release'))",
"condition": "and(succeeded(), contains(variables.PB_PublishType, 'blob'), eq(variables.ConfigurationGroup, 'Release'))",
"task": {
"id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
"versionSpec": "1.*",
"definitionType": "task"
},
"inputs": {
"filename": "msbuild",
"arguments": "src\\publish.proj /t:PublishPackages /p:CloudDropAccessToken=$(AzureBlobFeedAccessToken) /p:CloudDropAccountName=$(AzureBlobFeedAccountName) /p:ContainerName=$(AzureBlobFeedContainerName) /p:__PublishPackages=true /p:OverwriteOnPublish=true /p:PackagesPattern=../packages/AzureTransfer/Release/pkg/*/*/*.nupkg /p:RelativePath=packages /p:__BuildType=$(ConfigurationGroup) /p:OfficialPublish=true /p:PublishFlatContainer=false /fileloggerparameters:Verbosity=diag;LogFile=publishpkg.log",
"arguments": "src\\publish.proj /t:PublishPackages /p:CloudDropAccessToken=$(AzureBlobFeedAccessToken) /p:CloudDropAccountName=$(AzureBlobFeedAccountName) /p:ContainerName=$(AzureBlobFeedContainerName) /p:__PublishPackages=true /p:OverwriteOnPublish=true /p:PackagesPattern=../packages/AzureTransfer/Release/pkg/*.nupkg /p:RelativePath=packages /p:__BuildType=$(ConfigurationGroup) /p:OfficialPublish=true /p:PublishFlatContainer=false /fileloggerparameters:Verbosity=diag;LogFile=publishpkg.log",
"workingFolder": "$(Pipeline.SourcesDirectory)",
"failOnStandardError": "false"
}
Expand All @@ -240,15 +258,15 @@
"alwaysRun": false,
"displayName": "Symbol Packages -> Blob Feed",
"timeoutInMinutes": 0,
"condition": "and(succeeded(), contains(variables.PB_PublishType, 'blob'), eq(variables.ConfigurationGroup'], 'Release'))",
"condition": "and(succeeded(), contains(variables.PB_PublishType, 'blob'), eq(variables.ConfigurationGroup, 'Release'))",
"task": {
"id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
"versionSpec": "1.*",
"definitionType": "task"
},
"inputs": {
"filename": "msbuild",
"arguments": "src\\publish.proj /t:PublishSymbolPackages /p:CloudDropAccessToken=$(AzureBlobFeedAccessToken) /p:CloudDropAccountName=$(AzureBlobFeedAccountName) /p:ContainerName=$(AzureBlobFeedContainerName) /p:__PublishSymbols=true /p:OverwriteOnPublish=true /p:SymbolsPackagesPattern=../packages/AzureTransfer/Release/symbolpkg/*/*/*.nupkg /p:RelativePath=symbols /p:__BuildType=$(ConfigurationGroup) /p:OfficialPublish=true /p:PublishFlatContainer=true /fileloggerparameters:Verbosity=diag;LogFile=publishpkg.log",
"arguments": "src\\publish.proj /t:PublishSymbolPackages /p:CloudDropAccessToken=$(AzureBlobFeedAccessToken) /p:CloudDropAccountName=$(AzureBlobFeedAccountName) /p:ContainerName=$(AzureBlobFeedContainerName) /p:__PublishSymbols=true /p:OverwriteOnPublish=true /p:SymbolsPackagesPattern=../packages/AzureTransfer/Release/symbolpkg/*.nupkg /p:RelativePath=symbols /p:__BuildType=$(ConfigurationGroup) /p:OfficialPublish=true /p:PublishFlatContainer=true /fileloggerparameters:Verbosity=diag;LogFile=publishpkg.log",
"workingFolder": "$(Pipeline.SourcesDirectory)",
"failOnStandardError": "false"
}
Expand Down Expand Up @@ -299,7 +317,7 @@
"alwaysRun": false,
"displayName": "Update versions repository",
"timeoutInMinutes": 0,
"condition": "and(succeeded(), contains(variables.PB_PublishType, 'versions'), eq(variables.ConfigurationGroup'], 'Release'))",
"condition": "and(succeeded(), contains(variables.PB_PublishType, 'versions'), eq(variables.ConfigurationGroup, 'Release'))",
"task": {
"id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
"versionSpec": "1.*",
Expand Down Expand Up @@ -597,11 +615,11 @@
"allowOverride": true
},
"AzureContainerPackageGlob": {
"value": "pkg\\*\\*\\*.nupkg",
"value": "pkg\\*.nupkg",
"allowOverride": true
},
"AzureContainerSymbolPackageGlob": {
"value": "symbolpkg\\*\\*\\*.nupkg",
"value": "symbolpkg\\*.nupkg",
"allowOverride": true
},
"SymbolPackageLocation": {
Expand Down Expand Up @@ -682,4 +700,4 @@
"state": "wellFormed",
"revision": 418097633
}
}
}
2 changes: 1 addition & 1 deletion config.json
Original file line number Diff line number Diff line change
Expand Up @@ -674,7 +674,7 @@
"settings": {
"__BuildOS": "default",
"Project": "./src/publish.proj",
"MsBuildFileLogging": "/flp:v=detailed;LogFile=publish-packages.log"
"MsBuildFileLogging": "/flp:v=detailed;LogFile=publish-packages.log /clp:v=detailed"
}
}
},
Expand Down
14 changes: 7 additions & 7 deletions dependencies.props
Original file line number Diff line number Diff line change
Expand Up @@ -23,17 +23,17 @@

<!-- Source of truth for dependency tooling: the commit hash of the dotnet/versions master branch as of the last auto-upgrade. -->
<PropertyGroup>
<CoreFxCurrentRef>a2b323a39e7ab7e92d87334260328cc042ed6a78</CoreFxCurrentRef>
<CoreFxCurrentRef>ac4c079ac61d3a69fff717ce7ef9c7b880c4ad6d</CoreFxCurrentRef>
<CoreClrCurrentRef>4dd4bc933ecb18df77beb65afe79b118cae240d4</CoreClrCurrentRef>
<BuildToolsCurrentRef>a2b323a39e7ab7e92d87334260328cc042ed6a78</BuildToolsCurrentRef>
<PgoDataCurrentRef>a2b323a39e7ab7e92d87334260328cc042ed6a78</PgoDataCurrentRef>
<BuildToolsCurrentRef>ac4c079ac61d3a69fff717ce7ef9c7b880c4ad6d</BuildToolsCurrentRef>
<PgoDataCurrentRef>ac4c079ac61d3a69fff717ce7ef9c7b880c4ad6d</PgoDataCurrentRef>
</PropertyGroup>

<!-- Tests/infrastructure dependency versions. -->
<PropertyGroup>
<MicrosoftPrivateCoreFxNETCoreAppPackageVersion>4.5.0-preview1-25902-08</MicrosoftPrivateCoreFxNETCoreAppPackageVersion>
<MicrosoftNETCorePlatformsPackageVersion>2.1.0-preview1-25902-08</MicrosoftNETCorePlatformsPackageVersion>
<PgoDataPackageVersion>99.99.99-master-20171103-0222</PgoDataPackageVersion>
<MicrosoftPrivateCoreFxNETCoreAppPackageVersion>4.5.0-preview1-25907-04</MicrosoftPrivateCoreFxNETCoreAppPackageVersion>
<MicrosoftNETCorePlatformsPackageVersion>2.1.0-preview1-25907-04</MicrosoftNETCorePlatformsPackageVersion>
<PgoDataPackageVersion>99.99.99-master-20171107-0019</PgoDataPackageVersion>
<MicrosoftNETCoreRuntimeCoreCLRPackageVersion>2.1.0-preview1-25901-06</MicrosoftNETCoreRuntimeCoreCLRPackageVersion>
<XunitPackageVersion>2.2.0-beta2-build3300</XunitPackageVersion>
<XunitConsoleNetcorePackageVersion>1.0.2-prerelease-00177</XunitConsoleNetcorePackageVersion>
Expand All @@ -45,7 +45,7 @@
<!-- Package versions used as toolsets -->
<PropertyGroup>
<FeedTasksPackage>Microsoft.DotNet.Build.Tasks.Feed</FeedTasksPackage>
<FeedTasksPackageVersion>1.0.0-prerelease-02203-01</FeedTasksPackageVersion>
<FeedTasksPackageVersion>1.0.0-prerelease-02207-02</FeedTasksPackageVersion>
</PropertyGroup>

<!-- Package dependency verification/auto-upgrade configuration. -->
Expand Down
16 changes: 8 additions & 8 deletions netci.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ class Constants {
'jitstress2_jitstressregs0x1000' : ['COMPlus_JitStress' : '2', 'COMPlus_JitStressRegs' : '0x1000'],
'tailcallstress' : ['COMPlus_TailcallStress' : '1'],
'jitsse2only' : ['COMPlus_EnableAVX' : '0', 'COMPlus_EnableSSE3_4' : '0'],
'jitnosimd' : ['COMPlus_FeatureSIMD' : '0'],
'corefx_baseline' : [ : ], // corefx baseline
'corefx_minopts' : ['COMPlus_JITMinOpts' : '1'],
'corefx_tieredcompilation' : ['COMPlus_EXPERIMENTAL_TieredCompilation' : '1'],
Expand Down Expand Up @@ -604,6 +605,7 @@ def static addNonPRTriggers(def job, def branch, def isPR, def architecture, def
case 'jitstress2_jitstressregs0x1000':
case 'tailcallstress':
case 'jitsse2only':
case 'jitnosimd':
case 'corefx_baseline':
case 'corefx_minopts':
case 'corefx_jitstress1':
Expand Down Expand Up @@ -871,6 +873,7 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os,
case 'jitstress2_jitstressregs0x1000':
case 'tailcallstress':
case 'jitsse2only':
case 'jitnosimd':
case 'gcstress0x3':
case 'gcstress0xc':
case 'zapdisable':
Expand Down Expand Up @@ -1046,6 +1049,7 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os,
case 'jitstress2_jitstressregs0x1000':
case 'tailcallstress':
case 'jitsse2only':
case 'jitnosimd':
case 'gcstress0x3':
case 'gcstress0xc':
case 'zapdisable':
Expand Down Expand Up @@ -1378,6 +1382,7 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os,
case 'jitstress2_jitstressregs0x1000':
case 'tailcallstress':
case 'jitsse2only':
case 'jitnosimd':
case 'gcstress0x3':
case 'gcstress0xc':
case 'zapdisable':
Expand Down Expand Up @@ -1664,7 +1669,7 @@ def static calculateBuildCommands(def newJob, def scenario, def branch, def isPR
def workspaceRelativeFxRoot = "_/fx"
def absoluteFxRoot = "%WORKSPACE%\\_\\fx"

buildCommands += "python -u %WORKSPACE%\\tests\\scripts\\run-corefx-tests.py -arch ${arch} -build_type ${configuration} -fx_root ${absoluteFxRoot} -fx_branch ${branch} -env_script ${envScriptPath}"
buildCommands += "python -u %WORKSPACE%\\tests\\scripts\\run-corefx-tests.py -arch ${arch} -ci_arch ${architecture} -build_type ${configuration} -fx_root ${absoluteFxRoot} -fx_branch ${branch} -env_script ${envScriptPath}"

setTestJobTimeOut(newJob, scenario)

Expand Down Expand Up @@ -1819,18 +1824,13 @@ def static calculateBuildCommands(def newJob, def scenario, def branch, def isPR
if (scenario == 'standalone_gc') {
standaloneGc = 'buildstandalonegc'
}

def disablePgo = ''
if (lowerConfiguration == 'release') {
disablePgo = 'nopgooptimize'
}

if (!enableCorefxTesting) {
// We run pal tests on all OS but generate mscorlib (and thus, nuget packages)
// only on supported OS platforms.
def bootstrapRid = Utilities.getBoostrapPublishRid(os)
def bootstrapRidEnv = bootstrapRid != null ? "__PUBLISH_RID=${bootstrapRid} " : ''
buildCommands += "${bootstrapRidEnv}./build.sh verbose ${lowerConfiguration} ${architecture} ${standaloneGc} ${disablePgo}"
buildCommands += "${bootstrapRidEnv}./build.sh verbose ${lowerConfiguration} ${architecture} ${standaloneGc}"
buildCommands += "src/pal/tests/palsuite/runpaltests.sh \${WORKSPACE}/bin/obj/${osGroup}.${architecture}.${configuration} \${WORKSPACE}/bin/paltestout"

// Set time out
Expand All @@ -1857,7 +1857,7 @@ def static calculateBuildCommands(def newJob, def scenario, def branch, def isPR
def workspaceRelativeFxRoot = "_/fx"
def absoluteFxRoot = "\$WORKSPACE/${workspaceRelativeFxRoot}"

buildCommands += "python -u \$WORKSPACE/tests/scripts/run-corefx-tests.py -arch ${architecture} -build_type ${configuration} -fx_root ${absoluteFxRoot} -fx_branch ${branch} -env_script ${scriptFileName}"
buildCommands += "python -u \$WORKSPACE/tests/scripts/run-corefx-tests.py -arch ${architecture} -ci_arch ${architecture} -build_type ${configuration} -fx_root ${absoluteFxRoot} -fx_branch ${branch} -env_script ${scriptFileName}"

setTestJobTimeOut(newJob, scenario)

Expand Down
14 changes: 0 additions & 14 deletions src/inc/clrconfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,6 @@ class CLRConfig
// Remove any whitespace at beginning and end of value. (Only applicable for
// *string* configuration values.)
TrimWhiteSpaceFromStringValue = 0x100,
// If set, check whether a PerformanceDefault is active for this value before using the built-in default
MayHavePerformanceDefault = 0x200,

// Legacy REGUTIL-style lookup.
REGUTIL_default = IgnoreConfigFiles,
Expand All @@ -76,10 +74,6 @@ class CLRConfig
typedef HRESULT (* GetConfigValueFunction)
(__in_z LPCWSTR /*pKey*/, __deref_out_opt LPCWSTR* /*value*/, BOOL /*systemOnly*/, BOOL /*applicationFirst*/);

// Function pointer definition used for calling PerformanceDefaults::LookupConfigValue
typedef BOOL (* GetPerformanceDefaultValueFunction)
(LPCWSTR /*name*/, DWORD* /*pValue*/);

// Struct used to store information about where/how to find a Config DWORD.
// NOTE: Please do NOT create instances of this struct. Use the macros in file:CLRConfigValues.h instead.
typedef struct ConfigDWORDInfo
Expand Down Expand Up @@ -195,18 +189,10 @@ class CLRConfig
// Register EEConfig's GetConfigValueCallback function so CLRConfig can look in config files.
static void RegisterGetConfigValueCallback(GetConfigValueFunction func);

// Register PerformanceDefaults' LookupConfigValue so CLRConfig can support 'MayHavePerformanceDefault' values
static void RegisterGetPerformanceDefaultValueCallback(GetPerformanceDefaultValueFunction func);



private:
// Function pointer to EEConfig's GetConfigValueCallback function (can't static bind from utilcode to VM)
static GetConfigValueFunction s_GetConfigValueCallback;

// Function pointer to PerformanceDefaults' LookupConfigValue function (can't static bind from utilcode to VM)
static GetPerformanceDefaultValueFunction s_GetPerformanceDefaultValueCallback;


// Helper method to translate LookupOptions to REGUTIL::CORConfigLevel
static REGUTIL::CORConfigLevel GetConfigLevel(LookupOptions options);
Expand Down
Loading

0 comments on commit 37a0e34

Please sign in to comment.