Skip to content

Commit

Permalink
Merged PR 34793: [internal/release/8.0] Merge from public
Browse files Browse the repository at this point in the history
Merge from public release/8.0 to internal/release/8.0 and resolve conflicts if necessary
  • Loading branch information
mmitche committed Oct 25, 2023
2 parents 4796219 + 2066e8f commit 17ea9ab
Show file tree
Hide file tree
Showing 347 changed files with 29,457 additions and 5,831 deletions.
5 changes: 5 additions & 0 deletions NuGet.config
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@
</fallbackPackageFolders>
<packageSources>
<clear />
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
<!-- Begin: Package sources from dotnet-emsdk -->
<add key="darc-pub-dotnet-emsdk-51bf18a" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-emsdk-51bf18a2/nuget/v3/index.json" />
<!-- End: Package sources from dotnet-emsdk -->
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
<!--
'src/test/PrepareTestAssets/PrepareTestAssets.proj' generates a NuGet.config file using this
one as a template. The following line is a marker to insert the test restore sources.
Expand Down
2 changes: 1 addition & 1 deletion docs/project/list-of-diagnostics.md
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,7 @@ The diagnostic id values reserved for .NET Libraries analyzer warnings are `SYSL
| __`SYSLIB1214`__ | Options validation generator: Can't validate constants, static fields or properties. |
| __`SYSLIB1215`__ | Options validation generator: Validation attribute on the member is inaccessible from the validator type. |
| __`SYSLIB1216`__ | C# language version not supported by the options validation source generator. |
| __`SYSLIB1217`__ | *_`SYSLIB1201`-`SYSLIB1219` reserved for Microsoft.Extensions.Options.SourceGeneration.* |
| __`SYSLIB1217`__ | The validation attribute is only applicable to properties of type string, array, or ICollection; it cannot be used with other types. |
| __`SYSLIB1218`__ | *_`SYSLIB1201`-`SYSLIB1219` reserved for Microsoft.Extensions.Options.SourceGeneration.* |
| __`SYSLIB1219`__ | *_`SYSLIB1201`-`SYSLIB1219` reserved for Microsoft.Extensions.Options.SourceGeneration.* |
| __`SYSLIB1220`__ | JsonSourceGenerator encountered a [JsonConverterAttribute] with an invalid type argument. |
Expand Down
7 changes: 7 additions & 0 deletions eng/Analyzers.targets
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
<Project>
<PropertyGroup Condition="'$(UsingMicrosoftNoTargetsSdk)' == 'true' or
'$(UsingMicrosoftDotNetSharedFrameworkSdk)' == 'true' or
'$(MSBuildProjectExtension)' == '.pkgproj' or
'$(UsingMicrosoftTraversalSdk)' == 'true'">
<!-- Explicitly disable running analyzers to avoid trying to discover the correct ILLink tool pack for a project that has no sources. -->
<RunAnalyzers>false</RunAnalyzers>
</PropertyGroup>
<PropertyGroup>
<!-- Disable analyzers in sourcebuild -->
<RunAnalyzers Condition="'$(DotNetBuildFromSource)' == 'true'">false</RunAnalyzers>
Expand Down
4 changes: 2 additions & 2 deletions eng/Subsets.props
Original file line number Diff line number Diff line change
Expand Up @@ -502,7 +502,7 @@
<ItemGroup Condition="'$(PgoInstrument)' != 'true'">
<SharedFrameworkProjectToBuild Condition="'$(BuildMonoAOTCrossCompilerOnly)' != 'true'" Include="$(InstallerProjectRoot)pkg\sfx\Microsoft.NETCore.App\Microsoft.NETCore.App.Ref.sfxproj" />
</ItemGroup>
<ItemGroup Condition="'$(BuildNativeAOTRuntimePack)' != 'true'">
<ItemGroup Condition="'$(BuildNativeAOTRuntimePack)' != 'true' and '$(PgoInstrument)' != 'true'">
<SharedFrameworkProjectToBuild Condition="'$(RuntimeFlavor)' == '$(PrimaryRuntimeFlavor)'" Include="$(InstallerProjectRoot)pkg\sfx\Microsoft.NETCore.App\Microsoft.NETCore.App.Host.sfxproj" />
<SharedFrameworkProjectToBuild Condition="'$(RuntimeFlavor)' != 'Mono'" Include="$(InstallerProjectRoot)pkg\sfx\Microsoft.NETCore.App\Microsoft.NETCore.App.Crossgen2.sfxproj" />
<SharedFrameworkProjectToBuild Condition="'$(RuntimeFlavor)' == '$(PrimaryRuntimeFlavor)'" Include="$(InstallerProjectRoot)pkg\sfx\installers\dotnet-host.proj" />
Expand All @@ -512,7 +512,7 @@
<SharedFrameworkProjectToBuild Condition="'$(MonoCrossAOTTargetOS)' != ''" Include="$(InstallerProjectRoot)pkg\sfx\Microsoft.NETCore.App\monocrossaot.sfxproj" Pack="true" />
</ItemGroup>
<ItemGroup>
<ProjectToBuild Condition="'$(NativeAotSupported)' == 'true' and '$(RuntimeFlavor)' != 'Mono'" Include="$(InstallerProjectRoot)\pkg\projects\nativeaot-packages.proj" Category="packs" />
<ProjectToBuild Condition="'$(NativeAotSupported)' == 'true' and '$(RuntimeFlavor)' != 'Mono' and '$(PgoInstrument)' != 'true'" Include="$(InstallerProjectRoot)\pkg\projects\nativeaot-packages.proj" Category="packs" />
</ItemGroup>
<ItemGroup>
<SharedFrameworkProjectToBuild Condition="'$(BuildMonoAOTCrossCompilerOnly)' != 'true'" Include="$(InstallerProjectRoot)pkg\sfx\Microsoft.NETCore.App\Microsoft.NETCore.App.Runtime.sfxproj" />
Expand Down
280 changes: 144 additions & 136 deletions eng/Version.Details.xml

Large diffs are not rendered by default.

145 changes: 74 additions & 71 deletions eng/Versions.props

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion eng/common/sdk-task.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ try {
$GlobalJson.tools | Add-Member -Name "vs" -Value (ConvertFrom-Json "{ `"version`": `"16.5`" }") -MemberType NoteProperty
}
if( -not ($GlobalJson.tools.PSObject.Properties.Name -match "xcopy-msbuild" )) {
$GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "17.6.0-2" -MemberType NoteProperty
$GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "17.8.1-2" -MemberType NoteProperty
}
if ($GlobalJson.tools."xcopy-msbuild".Trim() -ine "none") {
$xcopyMSBuildToolsFolder = InitializeXCopyMSBuild $GlobalJson.tools."xcopy-msbuild" -install $true
Expand Down
6 changes: 3 additions & 3 deletions eng/common/tools.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -379,13 +379,13 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
}

# Minimum VS version to require.
$vsMinVersionReqdStr = '17.6'
$vsMinVersionReqdStr = '17.7'
$vsMinVersionReqd = [Version]::new($vsMinVersionReqdStr)

# If the version of msbuild is going to be xcopied,
# use this version. Version matches a package here:
# https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet-eng/NuGet/RoslynTools.MSBuild/versions/17.6.0-2
$defaultXCopyMSBuildVersion = '17.6.0-2'
# https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet-eng/NuGet/RoslynTools.MSBuild/versions/17.8.1-2
$defaultXCopyMSBuildVersion = '17.8.1-2'

if (!$vsRequirements) {
if (Get-Member -InputObject $GlobalJson.tools -Name 'vs') {
Expand Down
2 changes: 1 addition & 1 deletion eng/native/ijw/IJW.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ if (CLR_CMAKE_HOST_WIN32)

# 4365 - signed/unsigned mismatch
# 4679 - Could not import member. This is an issue with IJW and static abstract methods in interfaces.
add_compile_options(/wd4365 /wd4679)
add_compile_options(/wd4365 /wd4679 /wd5271)

# IJW
add_compile_options(/clr:netcore)
Expand Down
2 changes: 2 additions & 0 deletions eng/pipelines/common/evaluate-default-paths.yml
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,7 @@ jobs:
- src/mono/tools/*
- src/mono/wasi/*
- src/mono/wasm/debugger/*
- src/mono/wasm/host/*
- src/mono/wasm/Wasm.Build.Tests/*
- ${{ parameters._const_paths._wasm_pipelines }}
- ${{ parameters._const_paths._always_exclude }}
Expand All @@ -258,6 +259,7 @@ jobs:
- eng/testing/workloads-testing.targets
- src/mono/mono/component/mini-wasm-debugger.c
- src/mono/wasm/debugger/*
- src/mono/wasm/host/*
- src/mono/wasm/Wasm.Build.Tests/*
- src/mono/nuget/Microsoft.NET.Runtime*
src/mono/nuget/Microsoft.NET.Sdk.WebAssembly.Pack/*
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/common/xplat-setup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ jobs:
- ${{ if eq(parameters.archType, 'wasm') }}:
- name: wasmDarcDependenciesChanged
value: $[ or(
eq(dependencies.evaluate_paths.outputs['DarcDependenciesChanged.Microsoft_NET_Workload_Emscripten_Current_Manifest-8_0_100_Transport'], true),
eq(dependencies.evaluate_paths.outputs['DarcDependenciesChanged.Microsoft_NET_Workload_Emscripten_Current_Manifest-8_0_100'], true),
eq(dependencies.evaluate_paths.outputs['DarcDependenciesChanged.Microsoft_DotNet_Build_Tasks_Workloads'], true),
eq(dependencies.evaluate_paths.outputs['DarcDependenciesChanged.System_Runtime_TimeZoneData'], true),
eq(dependencies.evaluate_paths.outputs['DarcDependenciesChanged.Microsoft_Net_Compilers_Toolset'], true),
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/perf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ trigger:
branches:
include:
- main
- release/8.0-rc1
- release/8.0
paths:
include:
- '*'
Expand Down
4 changes: 2 additions & 2 deletions eng/pipelines/runtime-llvm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ extends:
testGroup: innerloop
nameSuffix: AllSubsets_Mono_LLVMAOT
buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
/p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
/p:MonoEnableLLVM=true /p:MonoAOTEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
condition: >-
or(
eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
Expand All @@ -138,7 +138,7 @@ extends:
testGroup: innerloop
nameSuffix: AllSubsets_Mono_LLVMAOT
buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
/p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
/p:MonoEnableLLVM=true /p:MonoAOTEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
condition: >-
or(
eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/runtime-official.yml
Original file line number Diff line number Diff line change
Expand Up @@ -334,7 +334,7 @@ extends:
runtimeFlavor: mono
jobParameters:
buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
/p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
/p:MonoEnableLLVM=true /p:MonoAOTEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
nameSuffix: AllSubsets_Mono_LLVMAOT
runtimeVariant: LLVMAOT
isOfficialBuild: ${{ variables.isOfficialBuild }}
Expand Down
1 change: 1 addition & 0 deletions eng/pipelines/runtime-wasm-perf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# UI to this, and thus avoid any scheduled triggers

trigger: none
pr: none

variables:
- template: /eng/pipelines/common/variables.yml
Expand Down
47 changes: 44 additions & 3 deletions eng/pipelines/runtime.yml
Original file line number Diff line number Diff line change
Expand Up @@ -556,6 +556,47 @@ extends:
extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
alwaysRun: ${{ variables.isRollingBuild }}

#
# Android devices
# Build the whole product using Mono and run libraries tests
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
buildConfig: Release
runtimeFlavor: mono
platforms:
- android_arm
- android_arm64
variables:
# map dependencies variables to local variables
- name: librariesContainsChange
value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
- name: monoContainsChange
value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'] ]
jobParameters:
testGroup: innerloop
nameSuffix: AllSubsets_Mono
buildArgs: -s mono+libs+libs.tests+host+packs -c $(_BuildConfig) /p:ArchiveTests=true /p:RunSmokeTestsOnly=true /p:EnableAdditionalTimezoneChecks=true
timeoutInMinutes: 480
condition: >-
or(
eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
eq(variables['isRollingBuild'], true))
# extra steps, run tests
extraStepsTemplate: /eng/pipelines/libraries/helix.yml
extraStepsParameters:
creator: dotnet-bot
testRunNamePrefixSuffix: Mono_$(_BuildConfig)
condition: >-
or(
eq(variables['librariesContainsChange'], true),
eq(variables['monoContainsChange'], true),
eq(variables['isRollingBuild'], true))
#
# iOS/tvOS devices - Full AOT + AggressiveTrimming to reduce size
# Build the whole product using Mono and run libraries tests
Expand Down Expand Up @@ -739,7 +780,7 @@ extends:
testGroup: innerloop
nameSuffix: AllSubsets_Mono_LLVMAOT
buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
/p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
/p:MonoEnableLLVM=true /p:MonoAOTEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
condition: >-
or(
eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
Expand All @@ -758,7 +799,7 @@ extends:
testGroup: innerloop
nameSuffix: AllSubsets_Mono_LLVMAOT
buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
/p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
/p:MonoEnableLLVM=true /p:MonoAOTEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
condition: >-
or(
eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
Expand Down Expand Up @@ -1277,7 +1318,7 @@ extends:
testGroup: innerloop
nameSuffix: AllSubsets_Mono_LLVMAot_RuntimeTests
runtimeVariant: llvmaot
buildArgs: -s mono+libs+clr.hosts+clr.iltools -c Release /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
buildArgs: -s mono+libs+clr.hosts+clr.iltools -c Release /p:MonoEnableLLVM=true /p:MonoAOTEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
timeoutInMinutes: 180

condition: >-
Expand Down
5 changes: 3 additions & 2 deletions eng/resolveContract.targets
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,9 @@
That is necessary as APICompat is invoked twice, once for the ref <-> src comparision and then again
for the package validation (which doesn't include reference assemblies). As both operations don't have
all the inputs available, some suppressions might only apply to one or the other and hence unnecessary
suppressions can't be determined. -->
<PropertyGroup Condition="'$(IsPackable)' == 'true' and '$(IsRuntimeAndReferenceAssembly)' != 'true'">
suppressions can't be determined.
Disable the validation under source build as that might use an out-of-date SDK and not the ApiCompat.Task package. -->
<PropertyGroup Condition="('$(IsPackable)' == 'true' and '$(IsRuntimeAndReferenceAssembly)' != 'true') or '$(DotNetBuildFromSource)' == 'true'">
<ApiCompatPreserveUnnecessarySuppressions>true</ApiCompatPreserveUnnecessarySuppressions>
<ApiCompatPermitUnnecessarySuppressions>true</ApiCompatPermitUnnecessarySuppressions>
</PropertyGroup>
Expand Down
2 changes: 1 addition & 1 deletion eng/testing/performance/performance-setup.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ if ($iOSNativeAOT) {
}

# FIX ME: This is a workaround until we get this from the actual pipeline
$CleanedBranchName = "main"
$CleanedBranchName = "release/8.0"
if($Branch.Contains("refs/heads/release"))
{
$CleanedBranchName = $Branch.replace('refs/heads/', '')
Expand Down
9 changes: 3 additions & 6 deletions eng/testing/performance/performance-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -358,9 +358,7 @@ if [[ "$physicalpromotion" == "true" ]]; then
configurations="$configurations PhysicalPromotionType=physicalpromotion"
fi



cleaned_branch_name="main"
cleaned_branch_name="release/8.0"
if [[ $branch == *"refs/heads/release"* ]]; then
cleaned_branch_name=${branch/refs\/heads\//}
fi
Expand Down Expand Up @@ -404,15 +402,14 @@ if [[ -n "$wasm_bundle_directory" ]]; then
using_wasm=true
wasm_bundle_directory_path=$payload_directory
mv $wasm_bundle_directory/* $wasm_bundle_directory_path
find $wasm_bundle_directory_path -type d
wasm_args="--experimental-wasm-eh --expose_wasm"
wasm_args="--expose_wasm"
if [ "$javascript_engine" == "v8" ]; then
# for es6 module support
wasm_args="$wasm_args --module"
fi

# Workaround: escaping the quotes around `--wasmArgs=..` so they get retained for the actual command line
extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/bin/$javascript_engine --wasmArgs \\\"$wasm_args\\\" --cli \$HELIX_CORRELATION_PAYLOAD/dotnet/dotnet --wasmDataDir \$HELIX_CORRELATION_PAYLOAD/wasm-data"
extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/bin/$javascript_engine \\\"--wasmArgs=$wasm_args\\\" --cli \$HELIX_CORRELATION_PAYLOAD/dotnet/dotnet --wasmDataDir \$HELIX_CORRELATION_PAYLOAD/wasm-data"
if [[ "$wasmaot" == "true" ]]; then
extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --aotcompilermode wasm --buildTimeout 3600"
fi
Expand Down
10 changes: 5 additions & 5 deletions global.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
{
"sdk": {
"version": "8.0.100-preview.7.23376.3",
"version": "8.0.100-rtm.23506.1",
"allowPrerelease": true,
"rollForward": "major"
},
"tools": {
"dotnet": "8.0.100-preview.7.23376.3"
"dotnet": "8.0.100-rtm.23506.1"
},
"msbuild-sdks": {
"Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.23463.1",
"Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.23463.1",
"Microsoft.DotNet.SharedFramework.Sdk": "8.0.0-beta.23463.1",
"Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.23516.4",
"Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.23516.4",
"Microsoft.DotNet.SharedFramework.Sdk": "8.0.0-beta.23516.4",
"Microsoft.Build.NoTargets": "3.7.0",
"Microsoft.Build.Traversal": "3.4.0",
"Microsoft.NET.Sdk.IL": "8.0.0-rc.1.23406.6"
Expand Down
3 changes: 2 additions & 1 deletion src/coreclr/debug/daccess/dacdbiimpl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7788,8 +7788,9 @@ HRESULT DacStackReferenceWalker::Next(ULONG count, DacGcReference stackRefs[], U
stackRefs[i].i64ExtraData = 0;

const SOSStackRefData &sosStackRef = mList.Get(i);
if (sosStackRef.Flags & GC_CALL_INTERIOR)
if (sosStackRef.Flags & GC_CALL_INTERIOR || sosStackRef.Address == 0)
{
// Direct pointer case - interior pointer, Frame ref, or enregistered var.
stackRefs[i].pObject = CLRDATA_ADDRESS_TO_TADDR(sosStackRef.Object) | 1;
}
else
Expand Down
11 changes: 0 additions & 11 deletions src/coreclr/debug/daccess/dacimpl.h
Original file line number Diff line number Diff line change
Expand Up @@ -1253,17 +1253,6 @@ class ClrDataAccess
/* [out] */ union STUB_BUF* outBuffer,
/* [out] */ ULONG32* outFlags);

DebuggerJitInfo* GetDebuggerJitInfo(MethodDesc* methodDesc,
TADDR addr)
{
if (g_pDebugger)
{
return g_pDebugger->GetJitInfo(methodDesc, (PBYTE)addr, NULL);
}

return NULL;
}

HRESULT GetMethodExtents(MethodDesc* methodDesc,
METH_EXTENTS** extents);
HRESULT GetMethodVarInfo(MethodDesc* methodDesc,
Expand Down
4 changes: 2 additions & 2 deletions src/coreclr/debug/daccess/task.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5225,7 +5225,7 @@ EnumMethodInstances::Next(ClrDataAccess* dac,
}
}

if (!m_methodIter.Current()->HasNativeCodeReJITAware())
if (!m_methodIter.Current()->HasNativeCodeAnyVersion())
{
goto NextMethod;
}
Expand All @@ -5243,7 +5243,7 @@ EnumMethodInstances::CdStart(MethodDesc* methodDesc,
CLRDATA_ENUM* handle)
{
if (!methodDesc->HasClassOrMethodInstantiation() &&
!methodDesc->HasNativeCodeReJITAware())
!(methodDesc->HasNativeCodeAnyVersion()))
{
*handle = 0;
return S_FALSE;
Expand Down
2 changes: 2 additions & 0 deletions src/coreclr/debug/di/breakpoint.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -211,11 +211,13 @@ HRESULT CordbFunctionBreakpoint::Activate(BOOL fActivate)
if (codeIsIL)
{
pEvent->BreakpointData.nativeCodeMethodDescToken = pEvent->BreakpointData.nativeCodeMethodDescToken.NullPtr();
pEvent->BreakpointData.codeStartAddress = 0;
}
else
{
pEvent->BreakpointData.nativeCodeMethodDescToken =
(m_code.GetValue()->AsNativeCode())->GetVMNativeCodeMethodDescToken().ToLsPtr();
pEvent->BreakpointData.codeStartAddress = (m_code.GetValue()->AsNativeCode())->GetAddress();
}

// Note: we're sending a two-way event, so it blocks here
Expand Down
2 changes: 1 addition & 1 deletion src/coreclr/debug/di/rsclass.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ HRESULT CordbClass::GetStaticFieldValue(mdFieldDef fieldDef,
IMetaDataImport * pImport = NULL;
EX_TRY
{
RSLockHolder lockHolder(GetProcess()->GetProcessLock());
pImport = GetModule()->GetMetaDataImporter(); // throws

// Validate the token.
Expand Down Expand Up @@ -1191,4 +1192,3 @@ HRESULT CordbClass::SearchFieldInfo(
// Well, the field doesn't even belong to this class...
ThrowHR(E_INVALIDARG);
}

Loading

0 comments on commit 17ea9ab

Please sign in to comment.