Skip to content

Commit b524fc3

Browse files
authored
Add support for JumpStubStubManager when FEATURE_JIT is enabled (#121338)
## Description This PR fixes the iOS build by wrapping JumpStubStubManager in FEATURE_JIT. It unblocks dotnet/dotnet#3175 and adds the iOS CoreCLR functional test to runtime.yml to catch build failures earlier in PRs.
1 parent 67b5e73 commit b524fc3

File tree

5 files changed

+51
-0
lines changed

5 files changed

+51
-0
lines changed

eng/pipelines/runtime.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1053,6 +1053,49 @@ extends:
10531053
eq(variables['illinkContainsChange'], true),
10541054
eq(variables['isRollingBuild'], true))
10551055
1056+
#
1057+
# Build the whole product using CoreCLR and run functional tests
1058+
#
1059+
- template: /eng/pipelines/common/platform-matrix.yml
1060+
parameters:
1061+
jobTemplate: /eng/pipelines/common/global-build-job.yml
1062+
helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
1063+
buildConfig: Checked
1064+
runtimeFlavor: coreclr
1065+
platforms:
1066+
- ios_arm64
1067+
variables:
1068+
# map dependencies variables to local variables
1069+
- name: librariesContainsChange
1070+
value: $[ stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
1071+
- name: coreclrContainsChange
1072+
value: $[ stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'] ]
1073+
- name: illinkContainsChange
1074+
value: $[ stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_tools_illink.containsChange'] ]
1075+
jobParameters:
1076+
testGroup: innerloop
1077+
nameSuffix: AllSubsets_CoreCLR
1078+
buildArgs: -s clr+clr.runtime+libs+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=false /p:UseMonoRuntime=false /p:MonoForceInterpreter=false /p:BuildTestsOnHelix=false /p:UseNativeAOTRuntime=false /p:RunSmokeTestsOnly=true
1079+
timeoutInMinutes: 120
1080+
condition: >-
1081+
or(
1082+
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
1083+
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
1084+
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_tools_illink.containsChange'], true),
1085+
eq(variables['isRollingBuild'], true))
1086+
# extra steps, run tests
1087+
postBuildSteps:
1088+
- template: /eng/pipelines/libraries/helix.yml
1089+
parameters:
1090+
creator: dotnet-bot
1091+
testRunNamePrefixSuffix: CoreCLR_$(_BuildConfig)
1092+
condition: >-
1093+
or(
1094+
eq(variables['librariesContainsChange'], true),
1095+
eq(variables['coreclrContainsChange'], true),
1096+
eq(variables['illinkContainsChange'], true),
1097+
eq(variables['isRollingBuild'], true))
1098+
10561099
#
10571100
# iOS/tvOS devices
10581101
# Build the whole product using Native AOT and run libraries tests

src/coreclr/debug/daccess/daccess.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5806,6 +5806,7 @@ ClrDataAccess::RawGetMethodName(
58065806
EX_END_CATCH
58075807
}
58085808
}
5809+
#ifdef FEATURE_JIT
58095810
else
58105811
if (pStubManager == JumpStubStubManager::g_pManager)
58115812
{
@@ -5827,6 +5828,7 @@ ClrDataAccess::RawGetMethodName(
58275828
return hr;
58285829
}
58295830
}
5831+
#endif // FEATURE_JIT
58305832

58315833
LPCWSTR wszStubManagerName = pStubManager->GetStubManagerName(TO_TADDR(address));
58325834
_ASSERTE(wszStubManagerName != NULL);

src/coreclr/inc/dacvars.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,9 @@ DEFINE_DACVAR(VMHELPDEF *, dac__hlpDynamicFuncTable, ::hlpDynamicFuncTable)
9595
DEFINE_DACVAR(PTR_StubManager, StubManager__g_pFirstManager, StubManager::g_pFirstManager)
9696
DEFINE_DACVAR(PTR_PrecodeStubManager, PrecodeStubManager__g_pManager, PrecodeStubManager::g_pManager)
9797
DEFINE_DACVAR(PTR_StubLinkStubManager, StubLinkStubManager__g_pManager, StubLinkStubManager::g_pManager)
98+
#ifdef FEATURE_JIT
9899
DEFINE_DACVAR(PTR_JumpStubStubManager, JumpStubStubManager__g_pManager, JumpStubStubManager::g_pManager)
100+
#endif // FEATURE_JIT
99101
DEFINE_DACVAR(PTR_RangeSectionStubManager, RangeSectionStubManager__g_pManager, RangeSectionStubManager::g_pManager)
100102
DEFINE_DACVAR(PTR_VirtualCallStubManagerManager, VirtualCallStubManagerManager__g_pManager, VirtualCallStubManagerManager::g_pManager)
101103
#ifdef FEATURE_TIERED_COMPILATION

src/coreclr/inc/vptr_list.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ VPTR_CLASS(StubLinkStubManager)
3030
VPTR_CLASS(ThePreStubManager)
3131
VPTR_CLASS(VirtualCallStubManager)
3232
VPTR_CLASS(VirtualCallStubManagerManager)
33+
#ifdef FEATURE_JIT
3334
VPTR_CLASS(JumpStubStubManager)
35+
#endif // FEATURE_JIT
3436
VPTR_CLASS(RangeSectionStubManager)
3537
VPTR_CLASS(ILStubManager)
3638
VPTR_CLASS(InteropDispatchStubManager)

src/coreclr/vm/stubmgr.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2173,6 +2173,7 @@ StubLinkStubManager::DoEnumMemoryRegions(CLRDataEnumMemoryFlags flags)
21732173
GetRangeList()->EnumMemoryRegions(flags);
21742174
}
21752175

2176+
#ifdef FEATURE_JIT
21762177
void
21772178
JumpStubStubManager::DoEnumMemoryRegions(CLRDataEnumMemoryFlags flags)
21782179
{
@@ -2181,6 +2182,7 @@ JumpStubStubManager::DoEnumMemoryRegions(CLRDataEnumMemoryFlags flags)
21812182
DAC_ENUM_VTHIS();
21822183
EMEM_OUT(("MEM: %p JumpStubStubManager\n", dac_cast<TADDR>(this)));
21832184
}
2185+
#endif // FEATURE_JIT
21842186

21852187
void
21862188
RangeSectionStubManager::DoEnumMemoryRegions(CLRDataEnumMemoryFlags flags)

0 commit comments

Comments
 (0)