diff options
Diffstat (limited to 'src/debug')
-rw-r--r-- | src/debug/daccess/dacdbiimpl.cpp | 18 | ||||
-rw-r--r-- | src/debug/daccess/dacdbiimplstackwalk.cpp | 4 | ||||
-rw-r--r-- | src/debug/daccess/inspect.cpp | 2 | ||||
-rw-r--r-- | src/debug/daccess/request.cpp | 37 | ||||
-rw-r--r-- | src/debug/ee/debugger.cpp | 8 |
5 files changed, 21 insertions, 48 deletions
diff --git a/src/debug/daccess/dacdbiimpl.cpp b/src/debug/daccess/dacdbiimpl.cpp index 4f878cc73f..4d97298838 100644 --- a/src/debug/daccess/dacdbiimpl.cpp +++ b/src/debug/daccess/dacdbiimpl.cpp @@ -1589,7 +1589,7 @@ void DacDbiInterfaceImpl::GetStaticsBases(TypeHandle thExact, Module * pModuleForStatics = pMT->GetModuleForStatics(); if (pModuleForStatics != NULL) { - PTR_DomainLocalModule pLocalModule = pModuleForStatics->GetDomainLocalModule(pAppDomain); + PTR_DomainLocalModule pLocalModule = pModuleForStatics->GetDomainLocalModule(); if (pLocalModule != NULL) { *ppGCStaticsBase = pLocalModule->GetGCStaticsBasePointer(pMT); @@ -2532,7 +2532,7 @@ void DacDbiInterfaceImpl::GetClassTypeInfo(TypeHandle typeH pTypeInfo->ClassTypeData.vmModule.SetDacTargetPtr(PTR_HOST_TO_TADDR(pModule)); if (pAppDomain) { - pTypeInfo->ClassTypeData.vmDomainFile.SetDacTargetPtr(PTR_HOST_TO_TADDR(pModule->GetDomainFile(pAppDomain))); + pTypeInfo->ClassTypeData.vmDomainFile.SetDacTargetPtr(PTR_HOST_TO_TADDR(pModule->GetDomainFile())); } else { @@ -2619,7 +2619,7 @@ void DacDbiInterfaceImpl::TypeHandleToBasicTypeInfo(TypeHandle pTypeInfo->vmModule.SetDacTargetPtr(PTR_HOST_TO_TADDR(pModule)); if (pAppDomain) { - pTypeInfo->vmDomainFile.SetDacTargetPtr(PTR_HOST_TO_TADDR(pModule->GetDomainFile(pAppDomain))); + pTypeInfo->vmDomainFile.SetDacTargetPtr(PTR_HOST_TO_TADDR(pModule->GetDomainFile())); } else { @@ -3281,7 +3281,7 @@ CORDB_ADDRESS DacDbiInterfaceImpl::GetCollectibleTypeStaticAddress(VMPTR_FieldDe // // Get the address // - PTR_VOID base = pFieldDesc->GetBaseInDomain(pAppDomain); + PTR_VOID base = pFieldDesc->GetBase(); if (base == PTR_NULL) { return PTR_HOST_TO_TADDR(NULL); @@ -3368,7 +3368,7 @@ void DacDbiInterfaceImpl::GetSimpleType(VMPTR_AppDomain vmAppDomain, if (pAppDomain) { - pVmDomainFile->SetHostPtr(pModule->GetDomainFile(pAppDomain)); + pVmDomainFile->SetHostPtr(pModule->GetDomainFile()); if (pVmDomainFile->IsNull()) ThrowHR(CORDBG_E_TARGET_INCONSISTENT); } @@ -3449,7 +3449,7 @@ void DacDbiInterfaceImpl::GetStackFramesFromException(VMPTR_Object vmObject, Dac _ASSERTE(pDomain != NULL); - pDomainFile = pModule->FindDomainFile(pDomain); + pDomainFile = pModule->GetDomainFile(); _ASSERTE(pDomainFile != NULL); currentFrame.vmAppDomain.SetHostPtr(pDomain); @@ -3963,7 +3963,7 @@ void DacDbiInterfaceImpl::ResolveTypeReference(const TypeRefData * pTypeRefInfo, AppDomain * pAppDomain = pDomainFile->GetAppDomain(); - pTargetRefInfo->vmDomainFile.SetDacTargetPtr(PTR_HOST_TO_TADDR(pTargetModule->GetDomainFile(pAppDomain))); + pTargetRefInfo->vmDomainFile.SetDacTargetPtr(PTR_HOST_TO_TADDR(pTargetModule->GetDomainFile())); pTargetRefInfo->typeToken = targetTypeDef; } else @@ -4386,7 +4386,7 @@ VMPTR_DomainAssembly DacDbiInterfaceImpl::ResolveAssembly( Assembly * pAssembly = pModule->LookupAssemblyRef(tkAssemblyRef); if (pAssembly != NULL) { - DomainAssembly * pDomainAssembly = pAssembly->FindDomainAssembly(pAppDomain); + DomainAssembly * pDomainAssembly = pAssembly->GetDomainAssembly(); vmDomainAssembly.SetHostPtr(pDomainAssembly); } return vmDomainAssembly; @@ -6806,7 +6806,7 @@ bool DacDbiInterfaceImpl::GetAppDomainForObject(CORDB_ADDRESS addr, OUT VMPTR_Ap { pAppDomain->SetDacTargetPtr(PTR_HOST_TO_TADDR(baseDomain->AsAppDomain())); pModule->SetDacTargetPtr(PTR_HOST_TO_TADDR(module)); - pDomainFile->SetDacTargetPtr(PTR_HOST_TO_TADDR(module->GetDomainFile(baseDomain->AsAppDomain()))); + pDomainFile->SetDacTargetPtr(PTR_HOST_TO_TADDR(module->GetDomainFile())); } else { diff --git a/src/debug/daccess/dacdbiimplstackwalk.cpp b/src/debug/daccess/dacdbiimplstackwalk.cpp index 83e3e382d0..e8c21748e7 100644 --- a/src/debug/daccess/dacdbiimplstackwalk.cpp +++ b/src/debug/daccess/dacdbiimplstackwalk.cpp @@ -515,7 +515,7 @@ void DacDbiInterfaceImpl::EnumerateInternalFrames(VMPTR_Thread #endif // FEATURE_COMINTEROP Module * pModule = (pMD ? pMD->GetModule() : NULL); - DomainFile * pDomainFile = (pModule ? pModule->GetDomainFile(pAppDomain) : NULL); + DomainFile * pDomainFile = (pModule ? pModule->GetDomainFile() : NULL); if (frameData.stubFrame.frameType == STUBFRAME_FUNC_EVAL) { @@ -714,7 +714,7 @@ void DacDbiInterfaceImpl::InitFrameData(StackFrameIterator * pIter, DomainFile *pDomainFile = NULL; EX_TRY_ALLOW_DATATARGET_MISSING_MEMORY { - pDomainFile = (pModule ? pModule->GetDomainFile(pAppDomain) : NULL); + pDomainFile = (pModule ? pModule->GetDomainFile() : NULL); _ASSERTE(pDomainFile != NULL); } EX_END_CATCH_ALLOW_DATATARGET_MISSING_MEMORY diff --git a/src/debug/daccess/inspect.cpp b/src/debug/daccess/inspect.cpp index bbd724fb5c..5eb9b11ae5 100644 --- a/src/debug/daccess/inspect.cpp +++ b/src/debug/daccess/inspect.cpp @@ -1437,7 +1437,7 @@ ClrDataValue::NewFromFieldDesc(ClrDataAccess* dac, { baseAddr = TO_CDADDR (PTR_TO_TADDR(fieldDesc->GetStaticAddressHandle - (fieldDesc->GetBaseInDomain(appDomain)))); + (fieldDesc->GetBase()))); } else { diff --git a/src/debug/daccess/request.cpp b/src/debug/daccess/request.cpp index 2365fdf959..dff24c8eb6 100644 --- a/src/debug/daccess/request.cpp +++ b/src/debug/daccess/request.cpp @@ -2316,9 +2316,8 @@ ClrDataAccess::GetAppDomainData(CLRDATA_ADDRESS addr, struct DacpAppDomainData * if (pBaseDomain->IsAppDomain()) { AppDomain * pAppDomain = pBaseDomain->AsAppDomain(); - appdomainData->DomainLocalBlock = appdomainData->AppDomainPtr + - offsetof(AppDomain, m_sDomainLocalBlock); - appdomainData->pDomainLocalModules = PTR_CDADDR(pAppDomain->m_sDomainLocalBlock.m_pModuleSlots); + appdomainData->DomainLocalBlock = 0; + appdomainData->pDomainLocalModules = 0; appdomainData->dwId = DefaultADID; appdomainData->appDomainStage = (DacpAppDomainDataStage)pAppDomain->m_Stage.Load(); @@ -3197,7 +3196,7 @@ ClrDataAccess::GetDomainLocalModuleDataFromModule(CLRDATA_ADDRESS addr, struct D SOSDacEnter(); Module* pModule = PTR_Module(TO_TADDR(addr)); - DomainLocalModule* pLocalModule = PTR_DomainLocalModule(pModule->GetDomainLocalModule(NULL)); + DomainLocalModule* pLocalModule = PTR_DomainLocalModule(pModule->GetDomainLocalModule()); if (!pLocalModule) { hr = E_INVALIDARG; @@ -3217,36 +3216,10 @@ ClrDataAccess::GetDomainLocalModuleDataFromModule(CLRDATA_ADDRESS addr, struct D HRESULT ClrDataAccess::GetDomainLocalModuleDataFromAppDomain(CLRDATA_ADDRESS appDomainAddr, int moduleID, struct DacpDomainLocalModuleData *pLocalModuleData) { - if (appDomainAddr == 0 || moduleID < 0 || pLocalModuleData == NULL) - return E_INVALIDARG; - - SOSDacEnter(); - - pLocalModuleData->appDomainAddr = appDomainAddr; - pLocalModuleData->ModuleID = moduleID; - - AppDomain *pAppDomain = PTR_AppDomain(TO_TADDR(appDomainAddr)); - ModuleIndex index = Module::IDToIndex(moduleID); - DomainLocalModule* pLocalModule = pAppDomain->GetDomainLocalBlock()->GetModuleSlot(index); - if (!pLocalModule) - { - hr = E_INVALIDARG; - } - else - { - pLocalModuleData->pGCStaticDataStart = TO_CDADDR(PTR_TO_TADDR(pLocalModule->GetPrecomputedGCStaticsBasePointer())); - pLocalModuleData->pNonGCStaticDataStart = TO_CDADDR(pLocalModule->GetPrecomputedNonGCStaticsBasePointer()); - pLocalModuleData->pDynamicClassTable = PTR_CDADDR(pLocalModule->m_pDynamicClassTable.Load()); - pLocalModuleData->pClassData = (TADDR) (PTR_HOST_MEMBER_TADDR(DomainLocalModule, pLocalModule, m_pDataBlob)); - } - - SOSDacLeave(); - return hr; + // CoreCLR does not support multi-appdomain shared assembly loading. Thus, a non-pointer sized moduleID cannot exist. + return E_INVALIDARG; } - - - HRESULT ClrDataAccess::GetThreadLocalModuleData(CLRDATA_ADDRESS thread, unsigned int index, struct DacpThreadLocalModuleData *pLocalModuleData) { diff --git a/src/debug/ee/debugger.cpp b/src/debug/ee/debugger.cpp index f2d2f06105..e8e8de94c3 100644 --- a/src/debug/ee/debugger.cpp +++ b/src/debug/ee/debugger.cpp @@ -5335,7 +5335,7 @@ DebuggerModule* Debugger::LookupOrCreateModule(Module* pModule, AppDomain *pAppD HRESULT hr = S_OK; EX_TRY { - DomainFile * pDomainFile = pModule->FindDomainFile(pAppDomain); + DomainFile * pDomainFile = pModule->GetDomainFile(); SIMPLIFYING_ASSUMPTION(pDomainFile != NULL); dmod = AddDebuggerModule(pDomainFile); // throws } @@ -9592,7 +9592,7 @@ void Debugger::LoadModule(Module* pRuntimeModule, _ASSERTE(pManifestModule->IsManifest()); _ASSERTE(pManifestModule->GetAssembly() == pRuntimeModule->GetAssembly()); - DomainFile * pManifestDomainFile = pManifestModule->GetDomainFile(pAppDomain); + DomainFile * pManifestDomainFile = pManifestModule->GetDomainFile(); DebuggerLockHolder dbgLockHolder(this); @@ -9741,7 +9741,7 @@ void Debugger::LoadModuleFinished(Module * pRuntimeModule, AppDomain * pAppDomai #ifdef _DEBUG { // This notification is called once the module is loaded - DomainFile * pDomainFile = pRuntimeModule->FindDomainFile(pAppDomain); + DomainFile * pDomainFile = pRuntimeModule->GetDomainFile(); _ASSERTE((pDomainFile != NULL) && (pDomainFile->GetLoadLevel() >= FILE_LOADED)); } #endif // _DEBUG @@ -10202,7 +10202,7 @@ BOOL Debugger::SendSystemClassLoadUnloadEvent(mdTypeDef classMetadataToken, // triggers too early in the loading process. FindDomainFile will not become // non-NULL until the module is fully loaded into the domain which is what we // want. - if (classModule->FindDomainFile(pAppDomain) != NULL ) + if (classModule->GetDomainFile() != NULL ) { // Find the Left Side module that this class belongs in. DebuggerModule* pModule = LookupOrCreateModule(classModule, pAppDomain); |