diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/debug/daccess/daccess.cpp | 7 | ||||
-rw-r--r-- | src/debug/di/process.cpp | 20 | ||||
-rw-r--r-- | src/debug/di/rspriv.h | 13 | ||||
-rw-r--r-- | src/inc/clrconfigvalues.h | 7 | ||||
-rw-r--r-- | src/inc/metadatatracker.h | 2 | ||||
-rw-r--r-- | src/inc/xcordebug.idl | 29 | ||||
-rw-r--r-- | src/md/compiler/assemblymd.cpp | 20 | ||||
-rw-r--r-- | src/md/runtime/mdinternalro.cpp | 21 | ||||
-rw-r--r-- | src/md/winmd/inc/adapter.h | 8 | ||||
-rw-r--r-- | src/vm/.vscode/c_cpp_properties.json | 4 | ||||
-rw-r--r-- | src/vm/comdelegate.cpp | 13 | ||||
-rw-r--r-- | src/vm/commodule.cpp | 20 | ||||
-rw-r--r-- | src/vm/dwbucketmanager.hpp | 122 | ||||
-rw-r--r-- | src/vm/dwreport.cpp | 7 | ||||
-rw-r--r-- | src/vm/interoputil.cpp | 2 | ||||
-rw-r--r-- | src/vm/loaderallocator.cpp | 6 | ||||
-rw-r--r-- | src/vm/stubhelpers.cpp | 14 |
17 files changed, 12 insertions, 303 deletions
diff --git a/src/debug/daccess/daccess.cpp b/src/debug/daccess/daccess.cpp index 08c44e2b8c..3985ed2c98 100644 --- a/src/debug/daccess/daccess.cpp +++ b/src/debug/daccess/daccess.cpp @@ -7845,13 +7845,10 @@ STDAPI OutOfProcessExceptionEventSignatureCallback(__in PDWORD pContext, } EX_CATCH_HRESULT(hr); -#ifndef FEATURE_WINDOWSPHONE - // we can't assert this on phone as it's possible for the OS to kill + // it's possible for the OS to kill // the faulting process before WER crash reporting has completed. - _ASSERTE(hr == S_OK); -#else _ASSERTE(hr == S_OK || hr == CORDBG_E_READVIRTUAL_FAILURE); -#endif + if (hr != S_OK) { // S_FALSE means either it is not a managed exception or we do not have Watson buckets. diff --git a/src/debug/di/process.cpp b/src/debug/di/process.cpp index ae1dd03314..243e21d15b 100644 --- a/src/debug/di/process.cpp +++ b/src/debug/di/process.cpp @@ -2181,12 +2181,6 @@ HRESULT CordbProcess::QueryInterface(REFIID id, void **pInterface) { *pInterface = static_cast<ICorDebugProcess10*>(this); } -#ifdef FEATURE_LEGACYNETCF_DBG_HOST_CONTROL - else if (id == IID_ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly) - { - *pInterface = static_cast<ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly*>(this); - } -#endif else if (id == IID_IUnknown) { *pInterface = static_cast<IUnknown*>(static_cast<ICorDebugProcess*>(this)); @@ -2545,20 +2539,6 @@ COM_METHOD CordbProcess::EnableGCNotificationEvents(BOOL fEnable) return hr; } -#ifdef FEATURE_LEGACYNETCF_DBG_HOST_CONTROL - -COM_METHOD CordbProcess::InvokePauseCallback() -{ - return S_OK; -} - -COM_METHOD CordbProcess::InvokeResumeCallback() -{ - return S_OK; -} - -#endif - HRESULT CordbProcess::GetTypeForObject(CORDB_ADDRESS addr, CordbAppDomain* pAppDomainOverride, CordbType **ppType, CordbAppDomain **pAppDomain) { VMPTR_AppDomain appDomain; diff --git a/src/debug/di/rspriv.h b/src/debug/di/rspriv.h index 64d1fae3db..a6cfcf9749 100644 --- a/src/debug/di/rspriv.h +++ b/src/debug/di/rspriv.h @@ -2934,9 +2934,6 @@ class CordbProcess : public IDacDbiInterface::IAllocator, public IDacDbiInterface::IMetaDataLookup, public IProcessShimHooks -#ifdef FEATURE_LEGACYNETCF_DBG_HOST_CONTROL - , public ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly -#endif { // Ctor is private. Use OpenVirtualProcess instead. CordbProcess(ULONG64 clrInstanceId, IUnknown * pDataTarget, HMODULE hDacModule, Cordb * pCordb, const ProcessDescriptor * pProcessDescriptor, ShimProcess * pShim); @@ -3147,16 +3144,6 @@ public: //----------------------------------------------------------- COM_METHOD EnableGCNotificationEvents(BOOL fEnable); -#ifdef FEATURE_LEGACYNETCF_DBG_HOST_CONTROL - // --------------------------------------------------------------- - // ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly - // --------------------------------------------------------------- - - COM_METHOD InvokePauseCallback(); - COM_METHOD InvokeResumeCallback(); - -#endif - //----------------------------------------------------------- // Methods not exposed via a COM interface. //----------------------------------------------------------- diff --git a/src/inc/clrconfigvalues.h b/src/inc/clrconfigvalues.h index b55c79a177..66fcda6d01 100644 --- a/src/inc/clrconfigvalues.h +++ b/src/inc/clrconfigvalues.h @@ -696,15 +696,8 @@ RETAIL_CONFIG_STRING_INFO(EXTERNAL_ZapRequireList, W("ZapRequireList"), "") RETAIL_CONFIG_STRING_INFO_EX(EXTERNAL_ZapSet, W("ZapSet"), "", CLRConfig::REGUTIL_default) #ifdef FEATURE_LAZY_COW_PAGES - -#ifdef FEATURE_WINDOWSPHONE RETAIL_CONFIG_DWORD_INFO(INTERNAL_ZapLazyCOWPagesEnabled, W("ZapLazyCOWPagesEnabled"), 1, ""); -#else //FEATURE_WINDOWSPHONE -RETAIL_CONFIG_DWORD_INFO(INTERNAL_ZapLazyCOWPagesEnabled, W("ZapLazyCOWPagesEnabled"), 0, ""); -#endif //FEATURE_WINDOWSPHONE - CONFIG_DWORD_INFO(INTERNAL_DebugAssertOnMissedCOWPage, W("DebugAssertOnMissedCOWPage"), 1, ""); - #endif //FEATURE_LAZY_COW_PAGES RETAIL_CONFIG_DWORD_INFO(EXTERNAL_ReadyToRun, W("ReadyToRun"), 1, "Enable/disable use of ReadyToRun native code") // On by default for CoreCLR diff --git a/src/inc/metadatatracker.h b/src/inc/metadatatracker.h index 3b0059b61f..90db2424af 100644 --- a/src/inc/metadatatracker.h +++ b/src/inc/metadatatracker.h @@ -5,7 +5,7 @@ #ifndef _METADATATRACKER_H_ #define _METADATATRACKER_H_ -#if defined(FEATURE_PREJIT) && defined(FEATURE_WINDOWSPHONE) +#ifdef FEATURE_PREJIT #define METADATATRACKER_DATA 1 #if !defined(DACCESS_COMPILE) diff --git a/src/inc/xcordebug.idl b/src/inc/xcordebug.idl index 646c2069ea..ef9128bea7 100644 --- a/src/inc/xcordebug.idl +++ b/src/inc/xcordebug.idl @@ -54,32 +54,3 @@ interface ICorDebugProcess4 : IUnknown HRESULT ProcessStateChanged([in] CorDebugStateChange eChange); }; - -#ifdef FEATURE_LEGACYNETCF_DBG_HOST_CONTROL - -/* A private API for use on Windows phone to invoke CLR hosting - * callbacks on IHostNetCFDebugControlManager. This allows the - * host's UI thread to be suspended and resumed on demand. - * - * This API should not be used for anything other than the - * Windows Phone scenario, it should never be made public, - * and as soon as we support mixed-mode debugging it should - * be retired by removing the interface and failing any - * QueryInterface call for it. -*/ -[ - object, - local, - uuid(34B27FB0-A318-450D-A0DD-11B70B21F41D), - pointer_default(unique) -] -interface ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly : IUnknown -{ - // Invokes IHostNetCFDebugControlManager::NotifyPause() on the debuggee's host - HRESULT InvokePauseCallback(); - - // Invokes IHostNetCFDebugControlManager::NotifyResume() on the debuggee's host - HRESULT InvokeResumeCallback(); -}; - -#endif
\ No newline at end of file diff --git a/src/md/compiler/assemblymd.cpp b/src/md/compiler/assemblymd.cpp index 8c0a22af4d..124180b44b 100644 --- a/src/md/compiler/assemblymd.cpp +++ b/src/md/compiler/assemblymd.cpp @@ -74,32 +74,12 @@ STDMETHODIMP RegMeta::GetAssemblyProps( // S_OK or error. { *pdwAssemblyFlags = pMiniMd->getFlagsOfAssembly(pRecord); -#ifdef FEATURE_WINDOWSPHONE // Turn on the afPublicKey if PublicKey blob is not empty DWORD cbPublicKey; const BYTE *pbPublicKey; IfFailGo(pMiniMd->getPublicKeyOfAssembly(pRecord, &pbPublicKey, &cbPublicKey)); if (cbPublicKey != 0) *pdwAssemblyFlags |= afPublicKey; -#else - if (ppbPublicKey) - { - if (pcbPublicKey && *pcbPublicKey) - *pdwAssemblyFlags |= afPublicKey; - } - else - { -#ifdef _DEBUG - // Assert that afPublicKey is set if PublicKey blob is not empty - DWORD cbPublicKey; - const BYTE *pbPublicKey; - IfFailGo(pMiniMd->getPublicKeyOfAssembly(pRecord, &pbPublicKey, &cbPublicKey)); - bool hasPublicKey = cbPublicKey != 0; - bool hasPublicKeyFlag = ( *pdwAssemblyFlags & afPublicKey ) != 0; - _ASSERTE( hasPublicKey == hasPublicKeyFlag ); -#endif - } -#endif // FEATURE_WINDOWSPHONE } // This call has to be last to set 'hr', so CLDB_S_TRUNCATION is not rewritten with S_OK if (szName || pchName) diff --git a/src/md/runtime/mdinternalro.cpp b/src/md/runtime/mdinternalro.cpp index 99a1a0d9c8..64a4054d28 100644 --- a/src/md/runtime/mdinternalro.cpp +++ b/src/md/runtime/mdinternalro.cpp @@ -3019,33 +3019,12 @@ HRESULT MDInternalRO::GetAssemblyProps( { *pdwAssemblyFlags = m_LiteWeightStgdb.m_MiniMd.getFlagsOfAssembly(pRecord); -#ifdef FEATURE_WINDOWSPHONE // Turn on the afPublicKey if PublicKey blob is not empty DWORD cbPublicKey; const BYTE *pbPublicKey; IfFailRet(m_LiteWeightStgdb.m_MiniMd.getPublicKeyOfAssembly(pRecord, &pbPublicKey, &cbPublicKey)); if (cbPublicKey != 0) *pdwAssemblyFlags |= afPublicKey; -#else - if (ppbPublicKey) - { - if (pcbPublicKey && *pcbPublicKey) - *pdwAssemblyFlags |= afPublicKey; - } - else - { -#ifdef _DEBUG - // Assert that afPublicKey is set if PublicKey blob is not empty - DWORD cbPublicKey; - const BYTE *pPublicKey; - IfFailRet(m_LiteWeightStgdb.m_MiniMd.getPublicKeyOfAssembly(pRecord, &pPublicKey, &cbPublicKey)); - bool hasPublicKey = cbPublicKey != 0; - bool hasPublicKeyFlag = ( *pdwAssemblyFlags & afPublicKey ) != 0; - if(REGUTIL::GetConfigDWORD_DontUse_(CLRConfig::INTERNAL_AssertOnBadImageFormat, 0)) - _ASSERTE( hasPublicKey == hasPublicKeyFlag ); -#endif - } -#endif // FEATURE_WINDOWSPHONE } return S_OK; diff --git a/src/md/winmd/inc/adapter.h b/src/md/winmd/inc/adapter.h index cc422017b6..a9f9a57141 100644 --- a/src/md/winmd/inc/adapter.h +++ b/src/md/winmd/inc/adapter.h @@ -263,18 +263,16 @@ public: else if (*pcbPublicKeyOrToken == sizeof(s_pbContractPublicKey)) *ppbPublicKeyOrToken = s_pbContractPublicKey; } -#ifdef FEATURE_WINDOWSPHONE - // System.Runtime.WindowsRuntime uses the ECMA key on Windows Phone. - // The WinRT adapter's policy of using mscorlib's assembly references for all the additional - // assembly references doesn't work here since mscorlib uses the Silverlight Platform key. else { + // System.Runtime.WindowsRuntime uses the ECMA key. + // The WinRT adapter's policy of using mscorlib's assembly references for all the additional + // assembly references doesn't work here since mscorlib uses the Silverlight Platform key. if (*pcbPublicKeyOrToken == sizeof(g_rbNeutralPublicKeyToken)) *ppbPublicKeyOrToken = g_rbNeutralPublicKeyToken; else if (*pcbPublicKeyOrToken == sizeof(g_rbNeutralPublicKey)) *ppbPublicKeyOrToken = g_rbNeutralPublicKey; } -#endif } if (pszName != nullptr) diff --git a/src/vm/.vscode/c_cpp_properties.json b/src/vm/.vscode/c_cpp_properties.json index 19cf31c24d..c5c61d3745 100644 --- a/src/vm/.vscode/c_cpp_properties.json +++ b/src/vm/.vscode/c_cpp_properties.json @@ -63,7 +63,6 @@ "FEATURE_INTEROP_DEBUGGING", "FEATURE_ISYM_READER", "FEATURE_JUMPSTAMP", - "FEATURE_LEGACYNETCF_DBG_HOST_CONTROL", "FEATURE_MANAGED_ETW", "FEATURE_MANAGED_ETW_CHANNELS", "FEATURE_MULTICASTSTUB_AS_IL", @@ -83,7 +82,6 @@ "FEATURE_UTF8STRING=1", "FEATURE_VERSIONING_LOG", "FEATURE_WIN32_REGISTRY", - "FEATURE_WINDOWSPHONE", "FEATURE_WINMD_RESILIENT", "PLATFORM_WINDOWS=1", "PROFILING_SUPPORTED_DATA", @@ -101,4 +99,4 @@ } ], "version": 4 -}
\ No newline at end of file +} diff --git a/src/vm/comdelegate.cpp b/src/vm/comdelegate.cpp index 8125f89d25..c0392eedf6 100644 --- a/src/vm/comdelegate.cpp +++ b/src/vm/comdelegate.cpp @@ -1189,19 +1189,6 @@ LPVOID COMDelegate::ConvertToCallback(OBJECTREF pDelegateObj) objhnd, pUMThunkMarshInfo, pInvokeMeth); -#ifdef FEATURE_WINDOWSPHONE - // Perform the runtime initialization lazily for better startup time. Lazy initialization - // has worse diagnostic experience (the invalid marshaling directive exception is thrown - // lazily on the first call instead of during delegate creation), but it should be ok - // for CoreCLR on phone because of reverse p-invoke is for internal use only. -#else - { - GCX_PREEMP(); - - pUMEntryThunk->RunTimeInit(); - } -#endif - if (!pInteropInfo->SetUMEntryThunk(pUMEntryThunk)) { pUMEntryThunk = (UMEntryThunk*)pInteropInfo->GetUMEntryThunk(); diff --git a/src/vm/commodule.cpp b/src/vm/commodule.cpp index 4d650c7e16..f2469078c9 100644 --- a/src/vm/commodule.cpp +++ b/src/vm/commodule.cpp @@ -903,27 +903,7 @@ void QCALLTYPE COMModule::GetFullyQualifiedName(QCall::ModuleHandle pModule, QCa { LPCWSTR fileName = pModule->GetPath(); if (*fileName != 0) { - { -#ifdef FEATURE_WINDOWSPHONE - // - // On Phone we use only native images without any concept of the matching IL image - // To stop native image filenames leaking through to apps, fudge Reflection::get_Name - // so apps see Foo.dll instead of Foo.ni.dll - // - if (pModule->GetFile()->GetAssembly()->GetILimage()->IsTrustedNativeImage()) - { - SString fileNameWithoutNi(fileName); - - ReplaceNiExtension(fileNameWithoutNi, W(".ni.dll"), W(".dll")); - ReplaceNiExtension(fileNameWithoutNi, W(".ni.exe"), W(".exe")); - ReplaceNiExtension(fileNameWithoutNi, W(".ni.winmd"), W(".winmd")); - - retString.Set(fileNameWithoutNi); - } - else -#endif retString.Set(fileName); - } } else { hr = UtilLoadStringRC(IDS_EE_NAME_UNKNOWN, wszBuffer, sizeof( wszBuffer ) / sizeof( WCHAR ), true ); if (FAILED(hr)) diff --git a/src/vm/dwbucketmanager.hpp b/src/vm/dwbucketmanager.hpp index 9b0d7b12e1..533acc3794 100644 --- a/src/vm/dwbucketmanager.hpp +++ b/src/vm/dwbucketmanager.hpp @@ -16,18 +16,10 @@ #ifndef DWBUCKETMANAGER_HPP #define DWBUCKETMANAGER_HPP -#ifdef FEATURE_WINDOWSPHONE -#include "corhost.h" -#endif - // this will be used as an index into g_WerEventTraits enum WatsonBucketType { CLR20r3 = 0, - MoCrash, -#ifdef FEATURE_WINDOWSPHONE - WinPhoneCrash, -#endif // insert new types above this line EndOfWerBucketTypes }; @@ -50,11 +42,6 @@ struct WerEventTypeTraits const WerEventTypeTraits g_WerEventTraits[] = { WerEventTypeTraits(W("CLR20r3"), 9 DEBUG_ARG(CLR20r3)), - WerEventTypeTraits(W("MoAppCrash"), 9 DEBUG_ARG(MoCrash)) -#ifdef FEATURE_WINDOWSPHONE - // unfortunately Apollo uses the same event name - ,WerEventTypeTraits(W("CLR20r3"), 9 DEBUG_ARG(WinPhoneCrash)) -#endif }; DWORD GetCountBucketParamsForEvent(LPCWSTR wzEventName) @@ -1316,108 +1303,6 @@ void CLR20r3BucketParamsManager::PopulateBucketParameters() PopulateBucketParameter(Parameter9, &CLR20r3BucketParamsManager::GetExceptionName, 32); } -class MoCrashBucketParamsManager : public BaseBucketParamsManager -{ -public: - MoCrashBucketParamsManager(GenericModeBlock* pGenericModeBlock, TypeOfReportedError typeOfError, PCODE faultingPC, Thread* pFaultingThread, OBJECTREF* pThrownException); - ~MoCrashBucketParamsManager(); - - virtual void PopulateBucketParameters(); -}; - -MoCrashBucketParamsManager::MoCrashBucketParamsManager(GenericModeBlock* pGenericModeBlock, TypeOfReportedError typeOfError, PCODE faultingPC, Thread* pFaultingThread, OBJECTREF* pThrownException) - : BaseBucketParamsManager(pGenericModeBlock, typeOfError, faultingPC, pFaultingThread, pThrownException) -{ - CONTRACTL - { - NOTHROW; - GC_NOTRIGGER; - MODE_ANY; - } - CONTRACTL_END; -} - -MoCrashBucketParamsManager::~MoCrashBucketParamsManager() -{ - LIMITED_METHOD_CONTRACT; -} - -void MoCrashBucketParamsManager::PopulateBucketParameters() -{ - CONTRACTL - { - NOTHROW; - GC_NOTRIGGER; - MODE_ANY; - } - CONTRACTL_END; - - PopulateEventName(g_WerEventTraits[MoCrash].EventName); - - // DW_MAX_BUCKETPARAM_CWC - 1 to ensure space for NULL - PopulateBucketParameter(Parameter1, &MoCrashBucketParamsManager::GetPackageMoniker, DW_MAX_BUCKETPARAM_CWC - 1); - PopulateBucketParameter(Parameter2, &MoCrashBucketParamsManager::GetPRAID, DW_MAX_BUCKETPARAM_CWC - 1); - PopulateBucketParameter(Parameter3, &MoCrashBucketParamsManager::GetAppVersion, DW_MAX_BUCKETPARAM_CWC - 1); - PopulateBucketParameter(Parameter4, &MoCrashBucketParamsManager::GetAppTimeStamp, DW_MAX_BUCKETPARAM_CWC - 1); - PopulateBucketParameter(Parameter5, &MoCrashBucketParamsManager::GetModuleName, DW_MAX_BUCKETPARAM_CWC - 1); - PopulateBucketParameter(Parameter6, &MoCrashBucketParamsManager::GetModuleVersion, DW_MAX_BUCKETPARAM_CWC - 1); - PopulateBucketParameter(Parameter7, &MoCrashBucketParamsManager::GetModuleTimeStamp, DW_MAX_BUCKETPARAM_CWC - 1); - PopulateBucketParameter(Parameter8, &MoCrashBucketParamsManager::GetExceptionName, DW_MAX_BUCKETPARAM_CWC - 1); - PopulateBucketParameter(Parameter9, &MoCrashBucketParamsManager::GetIlRva, DW_MAX_BUCKETPARAM_CWC - 1); -} - -#ifdef FEATURE_WINDOWSPHONE -class WinPhoneBucketParamsManager : public BaseBucketParamsManager -{ -public: - WinPhoneBucketParamsManager(GenericModeBlock* pGenericModeBlock, TypeOfReportedError typeOfError, PCODE faultingPC, Thread* pFaultingThread, OBJECTREF* pThrownException); - ~WinPhoneBucketParamsManager(); - - virtual void PopulateBucketParameters(); -}; - -WinPhoneBucketParamsManager::WinPhoneBucketParamsManager(GenericModeBlock* pGenericModeBlock, TypeOfReportedError typeOfError, PCODE faultingPC, Thread* pFaultingThread, OBJECTREF* pThrownException) - : BaseBucketParamsManager(pGenericModeBlock, typeOfError, faultingPC, pFaultingThread, pThrownException) -{ - CONTRACTL - { - NOTHROW; - GC_NOTRIGGER; - MODE_ANY; - } - CONTRACTL_END; -} - -WinPhoneBucketParamsManager::~WinPhoneBucketParamsManager() -{ - LIMITED_METHOD_CONTRACT; -} - -void WinPhoneBucketParamsManager::PopulateBucketParameters() -{ - CONTRACTL - { - NOTHROW; - GC_NOTRIGGER; - MODE_ANY; - } - CONTRACTL_END; - - PopulateEventName(g_WerEventTraits[WinPhoneCrash].EventName); - - // the "+ 1" is to explicitly indicate which fields need to specify space for NULL - PopulateBucketParameter(Parameter1, &WinPhoneBucketParamsManager::GetAppName, DW_MAX_BUCKETPARAM_CWC - 1); - PopulateBucketParameter(Parameter2, &WinPhoneBucketParamsManager::GetAppVersion, 23 + 1); - PopulateBucketParameter(Parameter3, &WinPhoneBucketParamsManager::GetAppTimeStamp, 8 + 1); - PopulateBucketParameter(Parameter4, &WinPhoneBucketParamsManager::GetModuleName, DW_MAX_BUCKETPARAM_CWC - 1); - PopulateBucketParameter(Parameter5, &WinPhoneBucketParamsManager::GetModuleVersion, 23 + 1); - PopulateBucketParameter(Parameter6, &WinPhoneBucketParamsManager::GetModuleTimeStamp, 8 + 1); - PopulateBucketParameter(Parameter7, &WinPhoneBucketParamsManager::GetMethodDef, 6 + 1); - PopulateBucketParameter(Parameter8, &WinPhoneBucketParamsManager::GetIlOffset, 8 + 1); - PopulateBucketParameter(Parameter9, &WinPhoneBucketParamsManager::GetExceptionName, DW_MAX_BUCKETPARAM_CWC - 1); -} -#endif // FEATURE_WINDOWSPHONE - WatsonBucketType GetWatsonBucketType() { CONTRACTL @@ -1429,12 +1314,7 @@ WatsonBucketType GetWatsonBucketType() } CONTRACTL_END; - -#ifdef FEATURE_WINDOWSPHONE - return WinPhoneCrash; -#else - return CLR20r3; -#endif // FEATURE_WINDOWSPHONE + return CLR20r3; } #endif // DACCESS_COMPILE diff --git a/src/vm/dwreport.cpp b/src/vm/dwreport.cpp index fc5838e8c6..d401651000 100644 --- a/src/vm/dwreport.cpp +++ b/src/vm/dwreport.cpp @@ -637,17 +637,12 @@ HRESULT GetManagedBucketParametersForIp( } WatsonBucketType bucketType = GetWatsonBucketType(); + { -#ifdef FEATURE_WINDOWSPHONE - _ASSERTE(bucketType == WinPhoneCrash); - WinPhoneBucketParamsManager winphoneManager(pGenericModeBlock, tore, currentPC, pThread, pThrowable); - winphoneManager.PopulateBucketParameters(); -#else // if we default to CLR20r3 then let's assert that the bucketType is correct _ASSERTE(bucketType == CLR20r3); CLR20r3BucketParamsManager clr20r3Manager(pGenericModeBlock, tore, currentPC, pThread, pThrowable); clr20r3Manager.PopulateBucketParameters(); -#endif // FEATURE_WINDOWSPHONE } // At this point we have a valid managed exception, so the GMB should get diff --git a/src/vm/interoputil.cpp b/src/vm/interoputil.cpp index 044cd2a427..c516a27eef 100644 --- a/src/vm/interoputil.cpp +++ b/src/vm/interoputil.cpp @@ -6747,9 +6747,7 @@ void GetNativeWinRTFactoryObject(MethodTable *pMT, Thread *pThread, MethodTable RCW::CF_SupportsIInspectable | // Returns a WinRT RCW RCW::CF_DontResolveClass; // Don't care about the exact type -#ifdef FEATURE_WINDOWSPHONE flags |= RCW::CF_DetectDCOMProxy; // Attempt to detect that the factory is a DCOM proxy in order to suppress caching -#endif // FEATURE_WINDOWSPHONE if (bNeedUniqueRCW) flags |= RCW::CF_NeedUniqueObject; // Returns a unique RCW diff --git a/src/vm/loaderallocator.cpp b/src/vm/loaderallocator.cpp index 199d896b1b..2bc99b7678 100644 --- a/src/vm/loaderallocator.cpp +++ b/src/vm/loaderallocator.cpp @@ -1105,13 +1105,7 @@ void LoaderAllocator::Init(BaseDomain *pDomain, BYTE *pExecutableHeapMemory) // Take a page from the high-frequency heap for this. if (pExecutableHeapMemory != NULL) { -#ifdef FEATURE_WINDOWSPHONE - // code:UMEntryThunk::CreateUMEntryThunk allocates memory on executable loader heap for phone. - // Reserve enough for a typical phone app to fit. - dwExecutableHeapReserveSize = 3 * GetOsPageSize(); -#else dwExecutableHeapReserveSize = GetOsPageSize(); -#endif _ASSERTE(dwExecutableHeapReserveSize < dwHighFrequencyHeapReserveSize); dwHighFrequencyHeapReserveSize -= dwExecutableHeapReserveSize; diff --git a/src/vm/stubhelpers.cpp b/src/vm/stubhelpers.cpp index 2ca71dbc24..7d6e39b2a0 100644 --- a/src/vm/stubhelpers.cpp +++ b/src/vm/stubhelpers.cpp @@ -1299,18 +1299,10 @@ FCIMPL1(Object*, StubHelpers::GetWinRTFactoryObject, MethodDesc *pCMD) if (callback.IsFreeThreaded()) lpCtxCookie = NULL; - // Cache the result in the AD-wide cache, unless this is a proxy to a DCOM object on Apollo. In the - // Apollo app model, out of process WinRT servers can have lifetimes independent of the application, - // and the cache may wind up with stale pointers if we save proxies to OOP factories. In addition, - // their app model is such that OOP WinRT objects cannot rely on having static state as they can be - // forcibly terminated at any point. Therefore, not caching an OOP WinRT factory object in Apollo - // does not lead to correctness issues. - // - // This is not the same on the desktop, where OOP objects may contain static state, and therefore - // we need to keep them alive. -#ifdef FEATURE_WINDOWSPHONE + // Cache the result in the AD-wide cache, unless this is a proxy to a DCOM object. + // Out of process WinRT servers can have lifetimes independent of the application, + // and the cache may wind up with stale pointers if we save proxies to OOP factories. if (!callback.IsDCOMProxy()) -#endif // FEATURE_WINDOWSPHONE { pDomain->CacheWinRTFactoryObject(pMTOfTypeToCreate, &refFactory, lpCtxCookie); } |