summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kotas <jkotas@microsoft.com>2016-03-21 09:06:54 -0700
committerJan Kotas <jkotas@microsoft.com>2016-03-24 07:28:13 -0700
commite416f57c553a9b9e11a3a22b2ac9b68cef1cd4ce (patch)
treea82e688a3d296fbd64a4e6ac929f4ae549f393f6
parent41dad10286dd73ffce954d80ff2acbb82785bf48 (diff)
downloadcoreclr-e416f57c553a9b9e11a3a22b2ac9b68cef1cd4ce.tar.gz
coreclr-e416f57c553a9b9e11a3a22b2ac9b68cef1cd4ce.tar.bz2
coreclr-e416f57c553a9b9e11a3a22b2ac9b68cef1cd4ce.zip
Delete legacy netcf compat support (final part)
-rw-r--r--CMakeLists.txt3
-rw-r--r--clr.coreclr.props3
-rw-r--r--clr.defines.targets7
-rw-r--r--src/debug/di/process.cpp47
-rw-r--r--src/debug/di/rspriv.h17
-rw-r--r--src/debug/ee/debugger.cpp86
-rw-r--r--src/debug/ee/debugger.h5
-rw-r--r--src/debug/inc/dbgipceventtypes.h8
-rw-r--r--src/inc/MSCOREE.IDL19
-rw-r--r--src/inc/corhost.h13
-rw-r--r--src/inc/corjit.h8
-rw-r--r--src/inc/corpriv.h4
-rw-r--r--src/inc/xcordebug.idl29
-rw-r--r--src/inc/zapper.h10
-rw-r--r--src/mscorlib/src/System/RtType.cs5
-rw-r--r--src/mscorlib/src/mscorlib.txt2
-rw-r--r--src/pal/prebuilt/idl/xcordebug_i.c3
-rw-r--r--src/pal/prebuilt/inc/xcordebug.h93
-rw-r--r--src/vm/appdomain.cpp28
-rw-r--r--src/vm/appdomain.hpp16
-rw-r--r--src/vm/appdomain.inl14
-rw-r--r--src/vm/assemblynative.cpp6
-rw-r--r--src/vm/corhost.cpp35
-rw-r--r--src/vm/ecalllist.h16
-rw-r--r--src/vm/mscorlib.cpp4
-rw-r--r--src/vm/mscorlib.h6
-rw-r--r--src/vm/rexcep.h2
-rw-r--r--src/vm/runtimehandles.cpp43
-rw-r--r--src/vm/typeparse.cpp20
-rw-r--r--src/vm/typeparse.h1
-rw-r--r--src/zap/zapper.cpp32
31 files changed, 21 insertions, 564 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 79a98a0e91..c9da3675a0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -799,9 +799,6 @@ if (CLR_CMAKE_PLATFORM_UNIX OR CLR_CMAKE_PLATFORM_ARCH_ARM64)
set(FEATURE_IMPLICIT_TLS 1)
endif(CLR_CMAKE_PLATFORM_UNIX OR CLR_CMAKE_PLATFORM_ARCH_ARM64)
add_definitions(-DFEATURE_ISYM_READER)
-add_definitions(-DFEATURE_LEGACYNETCF)
-add_definitions(-DFEATURE_LEGACYNETCF_DBG_HOST_CONTROL)
-add_definitions(-DFEATURE_LEGACYNETCFFAS)
add_definitions(-DFEATURE_LOADER_OPTIMIZATION)
add_definitions(-DFEATURE_MANAGED_ETW)
add_definitions(-DFEATURE_MANAGED_ETW_CHANNELS)
diff --git a/clr.coreclr.props b/clr.coreclr.props
index a3354867c3..d42b9f442f 100644
--- a/clr.coreclr.props
+++ b/clr.coreclr.props
@@ -65,9 +65,6 @@
<FeatureAscii>true</FeatureAscii>
<FeatureUtf7>true</FeatureUtf7>
<FeatureUtf32>true</FeatureUtf32>
- <FeatureLegacyNetCFDbgHostControl>true</FeatureLegacyNetCFDbgHostControl>
- <FeatureLegacyNetCFFAS>true</FeatureLegacyNetCFFAS>
- <FeatureLegacyNetCF>true</FeatureLegacyNetCF>
<FeatureRandomizedStringHashing>true</FeatureRandomizedStringHashing>
<!-- The rejit feature is available only on supported architectures (x86 & x64) -->
<FeatureReJIT Condition="('$(TargetArch)' == 'i386') or ('$(TargetArch)' == 'amd64')">true</FeatureReJIT>
diff --git a/clr.defines.targets b/clr.defines.targets
index a7876feabb..d6e25dc18c 100644
--- a/clr.defines.targets
+++ b/clr.defines.targets
@@ -55,10 +55,6 @@
<CDefines Condition="'$(FeatureIsymReader)' == 'true'">$(CDefines);FEATURE_ISYM_READER</CDefines>
<CDefines Condition="'$(FeatureLazyCOWPages)' == 'true'">$(CDefines);FEATURE_LAZY_COW_PAGES</CDefines>
<CDefines Condition="'$(FeatureLeakCultureInfo)' == 'true'">$(CDefines);FEATURE_LEAK_CULTURE_INFO</CDefines>
- <CDefines Condition="'$(FeatureLegacyNetCF)' == 'true'">$(CDefines);FEATURE_LEGACYNETCF</CDefines>
- <CDefines Condition="'$(FeatureLegacyNetCFCrypto)' == 'true'">$(CDefines);FEATURE_LEGACYNETCFCRYPTO</CDefines>
- <CDefines Condition="'$(FeatureLegacyNetCFDbgHostControl)' == 'true'">$(CDefines);FEATURE_LEGACYNETCF_DBG_HOST_CONTROL</CDefines>
- <CDefines Condition="'$(FeatureLegacyNetCFFAS)' == 'true'">$(CDefines);FEATURE_LEGACYNETCFFAS</CDefines>
<CDefines Condition="'$(FeatureLegacySurface)' == 'true'">$(CDefines);FEATURE_LEGACYSURFACE</CDefines>
<CDefines Condition="'$(FeatureLoaderOptimization)' == 'true'">$(CDefines);FEATURE_LOADER_OPTIMIZATION</CDefines>
<CDefines Condition="'$(FeatureMacl)' == 'true'">$(CDefines);FEATURE_MACL</CDefines>
@@ -173,9 +169,6 @@
<DefineConstants Condition="'$(FeatureIsostoreLight)' == 'true'">$(DefineConstants);FEATURE_ISOSTORE_LIGHT</DefineConstants>
<DefineConstants Condition="'$(FeatureLatin1)' == 'true'">$(DefineConstants);FEATURE_LATIN1</DefineConstants>
<DefineConstants Condition="'$(FeatureLeakCultureInfo)' == 'true'">$(DefineConstants);FEATURE_LEAK_CULTURE_INFO</DefineConstants>
- <DefineConstants Condition="'$(FeatureLegacyNetCF)' == 'true'">$(DefineConstants);FEATURE_LEGACYNETCF</DefineConstants>
- <DefineConstants Condition="'$(FeatureLegacyNetCFCrypto)' == 'true'">$(DefineConstants);FEATURE_LEGACYNETCFCRYPTO</DefineConstants>
- <DefineConstants Condition="'$(FeatureLegacyNetCFFAS)' == 'true'">$(DefineConstants);FEATURE_LEGACYNETCFFAS</DefineConstants>
<DefineConstants Condition="'$(FeatureLegacySurface)' == 'true'">$(DefineConstants);FEATURE_LEGACYSURFACE</DefineConstants>
<DefineConstants Condition="'$(FeatureLoaderOptimization)' == 'true'">$(DefineConstants);FEATURE_LOADER_OPTIMIZATION</DefineConstants>
<DefineConstants Condition="'$(FeatureMacl)' == 'true'">$(DefineConstants);FEATURE_MACL</DefineConstants>
diff --git a/src/debug/di/process.cpp b/src/debug/di/process.cpp
index a2bf15d849..572eef6a75 100644
--- a/src/debug/di/process.cpp
+++ b/src/debug/di/process.cpp
@@ -2142,12 +2142,6 @@ HRESULT CordbProcess::QueryInterface(REFIID id, void **pInterface)
{
*pInterface = static_cast<ICorDebugProcess8*>(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));
@@ -2501,47 +2495,6 @@ COM_METHOD CordbProcess::EnableExceptionCallbacksOutsideOfMyCode(BOOL enableExce
return hr;
}
-#ifdef FEATURE_LEGACYNETCF_DBG_HOST_CONTROL
-
-COM_METHOD CordbProcess::InvokePauseCallback()
-{
- HRESULT hr = S_OK;
- PUBLIC_API_ENTRY(this);
- ATT_REQUIRE_STOPPED_MAY_FAIL(this);
-
- EX_TRY
- {
- DebuggerIPCEvent * pIPCEvent = (DebuggerIPCEvent *) _alloca(CorDBIPC_BUFFER_SIZE);
- InitIPCEvent(pIPCEvent, DB_IPCE_NETCF_HOST_CONTROL_PAUSE, true, VMPTR_AppDomain::NullPtr());
-
- hr = m_cordb->SendIPCEvent(this, pIPCEvent, CorDBIPC_BUFFER_SIZE);
- hr = WORST_HR(hr, pIPCEvent->hr);
- }
- EX_CATCH_HRESULT(hr);
-
- return hr;
-}
-
-COM_METHOD CordbProcess::InvokeResumeCallback()
-{
- HRESULT hr = S_OK;
- PUBLIC_API_ENTRY(this);
- ATT_REQUIRE_STOPPED_MAY_FAIL(this);
-
- EX_TRY
- {
- DebuggerIPCEvent * pIPCEvent = (DebuggerIPCEvent *) _alloca(CorDBIPC_BUFFER_SIZE);
- InitIPCEvent(pIPCEvent, DB_IPCE_NETCF_HOST_CONTROL_RESUME, true, VMPTR_AppDomain::NullPtr());
-
- hr = m_cordb->SendIPCEvent(this, pIPCEvent, CorDBIPC_BUFFER_SIZE);
- hr = WORST_HR(hr, pIPCEvent->hr);
- }
- EX_CATCH_HRESULT(hr);
- return hr;
-}
-
-#endif
-
HRESULT CordbProcess::GetTypeForObject(CORDB_ADDRESS addr, CordbType **ppType, CordbAppDomain **pAppDomain)
{
VMPTR_AppDomain appDomain;
diff --git a/src/debug/di/rspriv.h b/src/debug/di/rspriv.h
index 3d17f20576..2bee31471f 100644
--- a/src/debug/di/rspriv.h
+++ b/src/debug/di/rspriv.h
@@ -2924,9 +2924,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, DWORD dwProcessID, ShimProcess * pShim);
@@ -3132,16 +3129,6 @@ public:
//-----------------------------------------------------------
COM_METHOD EnableExceptionCallbacksOutsideOfMyCode(BOOL enableExceptionsOutsideOfJMC);
-#ifdef FEATURE_LEGACYNETCF_DBG_HOST_CONTROL
- // ---------------------------------------------------------------
- // ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly
- // ---------------------------------------------------------------
-
- COM_METHOD InvokePauseCallback();
- COM_METHOD InvokeResumeCallback();
-
-#endif
-
//-----------------------------------------------------------
// Methods not exposed via a COM interface.
//-----------------------------------------------------------
@@ -3427,9 +3414,7 @@ public:
type == DB_IPCE_INTERCEPT_EXCEPTION ||
type == DB_IPCE_GET_NGEN_COMPILER_FLAGS ||
type == DB_IPCE_SET_NGEN_COMPILER_FLAGS ||
- type == DB_IPCE_SET_VALUE_CLASS ||
- type == DB_IPCE_NETCF_HOST_CONTROL_PAUSE ||
- type == DB_IPCE_NETCF_HOST_CONTROL_RESUME);
+ type == DB_IPCE_SET_VALUE_CLASS);
ipce->type = type;
ipce->hr = S_OK;
diff --git a/src/debug/ee/debugger.cpp b/src/debug/ee/debugger.cpp
index c063eb829f..87ddb79678 100644
--- a/src/debug/ee/debugger.cpp
+++ b/src/debug/ee/debugger.cpp
@@ -10585,64 +10585,6 @@ BYTE* Debugger::SerializeModuleMetaData(Module * pModule, DWORD * countBytes)
return metadataBuffer;
}
-#ifdef FEATURE_LEGACYNETCF_DBG_HOST_CONTROL
-//---------------------------------------------------------------------------------------
-//
-// Called on the helper thread to send a pause notification to the host
-//
-//
-// This is called on the helper-thread, or a thread pretending to be the helper-thread.
-// The debuggee should be synchronized. This callback to the host is only supported
-// on Windows Phone as a replacement for some legacy NetCF behavior. In general I don't
-// like being the transport between the VS debugger and the host, so don't use
-// this as precedent that we should start making more callbacks for them. In the future
-// the debugger and host should make alternative arrangements such as window messages,
-// out of proc event signaling, or any other IPC mechanism.
-//
-// This should be deprecated as soon as mixed-mode debugging is available. The
-// end goal on phone is to pause the UI thread while VS is in the break state. That
-// will be accomplished by a mixed-mode debugger suspending all native threads when
-// it breaks rather than having us send a special message.
-//
-//---------------------------------------------------------------------------------------
-VOID Debugger::InvokeLegacyNetCFHostPauseCallback()
-{
- IHostNetCFDebugControlManager* pHostCallback = CorHost2::GetHostNetCFDebugControlManager();
- if(pHostCallback != NULL)
- {
- pHostCallback->NotifyPause(0);
- }
-}
-
-//---------------------------------------------------------------------------------------
-//
-// Called on the helper thread to send a resume notification to the host
-//
-//
-// This is called on the helper-thread, or a thread pretending to be the helper-thread.
-// The debuggee should be synchronized. This callback to the host is only supported
-// on Windows Phone as a replacement for some legacy NetCF behavior. In general I don't
-// like being the transport between the VS debugger and the host, so don't use
-// this as precedent that we should start making more callbacks for them. In the future
-// the debugger and host should make alternative arrangements such as window messages,
-// out of proc event signaling, or any other IPC mechanism.
-//
-// This should be deprecated as soon as mixed-mode debugging is available. The
-// end goal on phone is to pause the UI thread while VS is in the break state. That
-// will be accomplished by a mixed-mode debugger suspending all native threads when
-// it breaks rather than having us send a special message.
-//
-//---------------------------------------------------------------------------------------
-VOID Debugger::InvokeLegacyNetCFHostResumeCallback()
-{
- IHostNetCFDebugControlManager* pHostCallback = CorHost2::GetHostNetCFDebugControlManager();
- if(pHostCallback != NULL)
- {
- pHostCallback->NotifyResume(0);
- }
-}
-#endif //FEATURE_LEGACYNETCF_DBG_HOST_CONTROL
-
//---------------------------------------------------------------------------------------
//
// Handle an IPC event from the Debugger.
@@ -11716,34 +11658,6 @@ bool Debugger::HandleIPCEvent(DebuggerIPCEvent * pEvent)
break;
-#ifdef FEATURE_LEGACYNETCF_DBG_HOST_CONTROL
- case DB_IPCE_NETCF_HOST_CONTROL_PAUSE:
- {
- LOG((LF_CORDB, LL_INFO10000, "D::HIPCE Handling DB_IPCE_NETCF_HOST_CONTROL_PAUSE\n"));
- InvokeLegacyNetCFHostPauseCallback();
-
- DebuggerIPCEvent * pResult = m_pRCThread->GetIPCEventReceiveBuffer();
- InitIPCEvent(pResult, DB_IPCE_NETCF_HOST_CONTROL_PAUSE_RESULT, NULL, NULL);
- pResult->hr = S_OK;
- m_pRCThread->SendIPCReply();
- }
-
- break;
-
- case DB_IPCE_NETCF_HOST_CONTROL_RESUME:
- {
- LOG((LF_CORDB, LL_INFO10000, "D::HIPCE Handling DB_IPCE_NETCF_HOST_CONTROL_RESUME\n"));
- InvokeLegacyNetCFHostResumeCallback();
-
- DebuggerIPCEvent * pResult = m_pRCThread->GetIPCEventReceiveBuffer();
- InitIPCEvent(pResult, DB_IPCE_NETCF_HOST_CONTROL_RESUME_RESULT, NULL, NULL);
- pResult->hr = S_OK;
- m_pRCThread->SendIPCReply();
- }
-
- break;
-#endif // FEATURE_LEGACYNETCF_DBG_HOST_CONTROL
-
default:
// We should never get an event that we don't know about.
CONSISTENCY_CHECK_MSGF(false, ("Unknown Debug-Event on LS:id=0x%08x.", pEvent->type));
diff --git a/src/debug/ee/debugger.h b/src/debug/ee/debugger.h
index 4904139665..4558468182 100644
--- a/src/debug/ee/debugger.h
+++ b/src/debug/ee/debugger.h
@@ -2061,11 +2061,6 @@ public:
void Terminate();
void Continue();
-#ifdef FEATURE_LEGACYNETCF_DBG_HOST_CONTROL
- VOID InvokeLegacyNetCFHostPauseCallback();
- VOID InvokeLegacyNetCFHostResumeCallback();
-#endif
-
bool HandleIPCEvent(DebuggerIPCEvent* event);
DebuggerModule * LookupOrCreateModule(VMPTR_DomainFile vmDomainFile);
diff --git a/src/debug/inc/dbgipceventtypes.h b/src/debug/inc/dbgipceventtypes.h
index 6d72149531..b538360e68 100644
--- a/src/debug/inc/dbgipceventtypes.h
+++ b/src/debug/inc/dbgipceventtypes.h
@@ -90,9 +90,7 @@ IPC_EVENT_TYPE1(DB_IPCE_LEFTSIDE_STARTUP ,0x015C)
IPC_EVENT_TYPE1(DB_IPCE_METADATA_UPDATE ,0x015D)
IPC_EVENT_TYPE1(DB_IPCE_RESOLVE_UPDATE_METADATA_1_RESULT,0x015E)
IPC_EVENT_TYPE1(DB_IPCE_RESOLVE_UPDATE_METADATA_2_RESULT,0x015F)
-IPC_EVENT_TYPE1(DB_IPCE_NETCF_HOST_CONTROL_PAUSE_RESULT,0x0160)
-IPC_EVENT_TYPE1(DB_IPCE_NETCF_HOST_CONTROL_RESUME_RESULT,0x0161)
-IPC_EVENT_TYPE0(DB_IPCE_RUNTIME_LAST ,0x0162) // The last event from runtime
+IPC_EVENT_TYPE0(DB_IPCE_RUNTIME_LAST ,0x0160) // The last event from runtime
@@ -141,7 +139,5 @@ IPC_EVENT_TYPE2(DB_IPCE_DEBUGGER_INVALID ,0x0249) // An invalid ev
IPC_EVENT_TYPE2(DB_IPCE_GET_GCHANDLE_INFO ,0x0251)
IPC_EVENT_TYPE2(DB_IPCE_RESOLVE_UPDATE_METADATA_1 ,0x0256)
IPC_EVENT_TYPE2(DB_IPCE_RESOLVE_UPDATE_METADATA_2 ,0x0257)
-IPC_EVENT_TYPE2(DB_IPCE_NETCF_HOST_CONTROL_PAUSE ,0x0258)
-IPC_EVENT_TYPE2(DB_IPCE_NETCF_HOST_CONTROL_RESUME ,0x0259)
-IPC_EVENT_TYPE0(DB_IPCE_DEBUGGER_LAST ,0x025a) // The last event from the debugger
+IPC_EVENT_TYPE0(DB_IPCE_DEBUGGER_LAST ,0x0258) // The last event from the debugger
diff --git a/src/inc/MSCOREE.IDL b/src/inc/MSCOREE.IDL
index 832783c36f..67605e23d4 100644
--- a/src/inc/MSCOREE.IDL
+++ b/src/inc/MSCOREE.IDL
@@ -2056,25 +2056,6 @@ interface ICLRExecutionManager : IUnknown
#endif // FEATURE_CORECLR
-#ifdef FEATURE_LEGACYNETCF_DBG_HOST_CONTROL
-/* This is an interface that NetCF created first for the phone.
- It allows the host (SL) to pause the user interface thread
- when a managed debugger has suspended the application.
-*/
-[
- uuid(F2833A0C-F944-48d8-940E-F59425EDBFCF),
- version(1.0),
- helpstring("NetCF Host debugger control interface"),
- pointer_default(unique),
- local
-]
-interface IHostNetCFDebugControlManager : IUnknown
-{
- HRESULT NotifyPause(DWORD dwReserved);
- HRESULT NotifyResume(DWORD dwReserved);
-}
-#endif
-
//*****************************************************************************
// Interface to utilize HostProtection
//*****************************************************************************
diff --git a/src/inc/corhost.h b/src/inc/corhost.h
index a413132815..2607c7d077 100644
--- a/src/inc/corhost.h
+++ b/src/inc/corhost.h
@@ -1009,14 +1009,6 @@ public:
}
#endif // FEATURE_INCLUDE_ALL_INTERFACES
-#ifdef FEATURE_LEGACYNETCF_DBG_HOST_CONTROL
- static IHostNetCFDebugControlManager *GetHostNetCFDebugControlManager ()
- {
- LIMITED_METHOD_CONTRACT;
- return m_HostNetCFDebugControlManager;
- }
-#endif
-
static int GetHostOverlappedExtensionSize()
{
LIMITED_METHOD_CONTRACT;
@@ -1150,11 +1142,6 @@ protected:
static DangerousNonHostedSpinLock m_FlagsLock; // protects the flags and host config
#endif // !defined(FEATURE_CORECLR)
-#ifdef FEATURE_LEGACYNETCF_DBG_HOST_CONTROL
-protected:
- static IHostNetCFDebugControlManager *m_HostNetCFDebugControlManager;
-#endif
-
SVAL_DECL(STARTUP_FLAGS, m_dwStartupFlags);
};
diff --git a/src/inc/corjit.h b/src/inc/corjit.h
index 32ceac6880..8fbbbdc0a3 100644
--- a/src/inc/corjit.h
+++ b/src/inc/corjit.h
@@ -86,16 +86,8 @@ enum CorJitFlag
CORJIT_FLG_GCPOLL_CALLS = 0x00000040, // Emit calls to JIT_POLLGC for thread suspension.
CORJIT_FLG_MCJIT_BACKGROUND = 0x00000080, // Calling from multicore JIT background thread, do not call JitComplete
-#if defined(FEATURE_LEGACYNETCF)
-
- CORJIT_FLG_NETCF_QUIRKS = 0x00000100, // Mimic .NetCF JIT's quirks for generated code (currently just inlining heuristics)
-
-#else // FEATURE_LEGACYNETCF
-
CORJIT_FLG_UNUSED1 = 0x00000100,
-#endif // FEATURE_LEGACYNETCF
-
#if defined(_TARGET_X86_)
CORJIT_FLG_PINVOKE_RESTORE_ESP = 0x00000200, // Restore ESP after returning from inlined PInvoke
diff --git a/src/inc/corpriv.h b/src/inc/corpriv.h
index 1a8f671701..8c737c7607 100644
--- a/src/inc/corpriv.h
+++ b/src/inc/corpriv.h
@@ -50,10 +50,6 @@ LocaleID RuntimeGetFileSystemLocale();
BOOL RuntimeFileNotFound(HRESULT hr);
-#ifdef FEATURE_LEGACYNETCF
-BOOL RuntimeIsLegacyNetCF(DWORD adid);
-#endif
-
// Helper function to get an Internal interface with an in-memory metadata section
STDAPI GetMetaDataInternalInterface(
LPVOID pData, // [IN] in memory metadata section
diff --git a/src/inc/xcordebug.idl b/src/inc/xcordebug.idl
index f9d2a8abb5..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
diff --git a/src/inc/zapper.h b/src/inc/zapper.h
index 9534c49eb3..1ff429effb 100644
--- a/src/inc/zapper.h
+++ b/src/inc/zapper.h
@@ -122,11 +122,6 @@ class Zapper
SString m_appPaths;
SString m_appNiPaths;
SString m_platformWinmdPaths;
-
-#ifdef FEATURE_LEGACYNETCF
- bool m_appCompatWP8; // Whether we're using quirks mode for binding with NetCF semantics.
-#endif
-
#endif // FEATURE_CORECLR || CROSSGEN_COMPILE
bool m_fForceFullTrust;
@@ -447,11 +442,6 @@ class Zapper
void SetAppPaths(LPCWSTR pwzAppPaths);
void SetAppNiPaths(LPCWSTR pwzAppNiPaths);
void SetPlatformWinmdPaths(LPCWSTR pwzPlatformWinmdPaths);
-
-#ifdef FEATURE_LEGACYNETCF
- void SetAppCompatWP8(bool val);
-#endif
-
void SetForceFullTrust(bool val);
#endif // FEATURE_CORECLR || CROSSGEN_COMPILE
diff --git a/src/mscorlib/src/System/RtType.cs b/src/mscorlib/src/System/RtType.cs
index 2da3211f0f..be49886282 100644
--- a/src/mscorlib/src/System/RtType.cs
+++ b/src/mscorlib/src/System/RtType.cs
@@ -475,8 +475,9 @@ namespace System
Volatile.Write(ref m_cacheComplete, true);
}
-// We want the behavior where the results are returned in the same order on the phone
-#if !FEATURE_LEGACYNETCF
+ else
+// We want the behavior where the results are returned in the same order
+#if !FEATURE_CORECLR
else
#endif
list = m_allMembers;
diff --git a/src/mscorlib/src/mscorlib.txt b/src/mscorlib/src/mscorlib.txt
index f435a7b7a2..f44e1d2082 100644
--- a/src/mscorlib/src/mscorlib.txt
+++ b/src/mscorlib/src/mscorlib.txt
@@ -930,8 +930,6 @@ Cryptography_InvalidKeySize = Specified key is not a valid size for this algorit
Cryptography_PasswordDerivedBytes_FewBytesSalt = Salt is not at least eight bytes.
Cryptography_PKCS7_InvalidPadding = Padding is invalid and cannot be removed.
Cryptography_UnknownHashAlgorithm='{0}' is not a known hash algorithm.
-Cryptography_LegacyNetCF_UnknownError = Unknown Error '{0}'.
-Cryptography_LegacyNetCF_CSP_CouldNotAcquire = CryptoAPI cryptographic service provider (CSP) for this implementation could not be acquired.
#if FEATURE_CRYPTO
Cryptography_Config_EncodedOIDError = Encoded OID length is too large (greater than 0x7f bytes).
diff --git a/src/pal/prebuilt/idl/xcordebug_i.c b/src/pal/prebuilt/idl/xcordebug_i.c
index 4730fcc774..a3d9395530 100644
--- a/src/pal/prebuilt/idl/xcordebug_i.c
+++ b/src/pal/prebuilt/idl/xcordebug_i.c
@@ -63,9 +63,6 @@ typedef IID CLSID;
MIDL_DEFINE_GUID(IID, IID_ICorDebugProcess4,0xE930C679,0x78AF,0x4953,0x8A,0xB7,0xB0,0xAA,0xBF,0x0F,0x9F,0x80);
-
-MIDL_DEFINE_GUID(IID, IID_ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly,0x34B27FB0,0xA318,0x450D,0xA0,0xDD,0x11,0xB7,0x0B,0x21,0xF4,0x1D);
-
#undef MIDL_DEFINE_GUID
#ifdef __cplusplus
diff --git a/src/pal/prebuilt/inc/xcordebug.h b/src/pal/prebuilt/inc/xcordebug.h
index f76f42b436..0cf4d8e067 100644
--- a/src/pal/prebuilt/inc/xcordebug.h
+++ b/src/pal/prebuilt/inc/xcordebug.h
@@ -46,13 +46,6 @@ typedef interface ICorDebugProcess4 ICorDebugProcess4;
#endif /* __ICorDebugProcess4_FWD_DEFINED__ */
-#ifndef __ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly_FWD_DEFINED__
-#define __ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly_FWD_DEFINED__
-typedef interface ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly;
-
-#endif /* __ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly_FWD_DEFINED__ */
-
-
/* header files for imported files */
#include "cordebug.h"
@@ -163,92 +156,6 @@ EXTERN_C const IID IID_ICorDebugProcess4;
#endif /* __ICorDebugProcess4_INTERFACE_DEFINED__ */
-#ifndef __ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly_INTERFACE_DEFINED__
-#define __ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly_INTERFACE_DEFINED__
-
-/* interface ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly */
-/* [unique][uuid][local][object] */
-
-
-EXTERN_C const IID IID_ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("34B27FB0-A318-450D-A0DD-11B70B21F41D")
- ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE InvokePauseCallback( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE InvokeResumeCallback( void) = 0;
-
- };
-
-
-#else /* C style interface */
-
- typedef struct ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnlyVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly * This);
-
- HRESULT ( STDMETHODCALLTYPE *InvokePauseCallback )(
- ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly * This);
-
- HRESULT ( STDMETHODCALLTYPE *InvokeResumeCallback )(
- ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly * This);
-
- END_INTERFACE
- } ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnlyVtbl;
-
- interface ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly
- {
- CONST_VTBL struct ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnlyVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly_InvokePauseCallback(This) \
- ( (This)->lpVtbl -> InvokePauseCallback(This) )
-
-#define ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly_InvokeResumeCallback(This) \
- ( (This)->lpVtbl -> InvokeResumeCallback(This) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly_INTERFACE_DEFINED__ */
-
-
/* Additional Prototypes for ALL interfaces */
/* end of Additional Prototypes */
diff --git a/src/vm/appdomain.cpp b/src/vm/appdomain.cpp
index a841423ace..99d5467469 100644
--- a/src/vm/appdomain.cpp
+++ b/src/vm/appdomain.cpp
@@ -794,10 +794,6 @@ BaseDomain::BaseDomain()
m_reJitMgr.PreInit(this == (BaseDomain *) g_pSharedDomainMemory);
#endif
-#ifdef FEATURE_CORECLR
- m_CompatMode = APPDOMAINCOMPAT_NONE;
-#endif
-
} //BaseDomain::BaseDomain
//*****************************************************************************
@@ -14164,23 +14160,6 @@ BOOL AppDomain::IsImageFullyTrusted(PEImage* pPEImage)
return IsImageFromTrustedPath(pPEImage);
}
-#ifdef FEATURE_LEGACYNETCF
-BOOL RuntimeIsLegacyNetCF(DWORD adid)
-{
- AppDomain * pAppDomain = GetAppDomain();
-
- _ASSERTE(adid == 0 || adid == pAppDomain->GetId().m_dwId);
-
- if (pAppDomain == NULL)
- return FALSE;
-
- if (pAppDomain->GetAppDomainCompatMode() == BaseDomain::APPDOMAINCOMPAT_APP_EARLIER_THAN_WP8)
- return TRUE;
-
- return FALSE;
-}
-#endif
-
#endif //FEATURE_CORECLR
#endif //!DACCESS_COMPILE
@@ -14870,13 +14849,6 @@ void ZapperSetBindingPaths(ICorCompilationDomain *pDomain, SString &trustedPlatf
#endif
}
-#ifdef FEATURE_LEGACYNETCF
-void ZapperSetAppCompatWP8(ICorCompilationDomain *pDomain)
-{
- ((CompilationDomain*)pDomain)->SetAppDomainCompatMode(BaseDomain::APPDOMAINCOMPAT_APP_EARLIER_THAN_WP8);
-}
-#endif
-
#endif
#if defined(FEATURE_CORECLR) && !defined(CROSSGEN_COMPILE)
diff --git a/src/vm/appdomain.hpp b/src/vm/appdomain.hpp
index 19d22bde91..cad939ce57 100644
--- a/src/vm/appdomain.hpp
+++ b/src/vm/appdomain.hpp
@@ -1554,22 +1554,6 @@ public:
bool enumThis);
#endif
-#ifdef FEATURE_CORECLR
-public:
- enum AppDomainCompatMode
- {
- APPDOMAINCOMPAT_NONE
-#ifdef FEATURE_LEGACYNETCF
- , APPDOMAINCOMPAT_APP_EARLIER_THAN_WP8 // for "AppDomainCompatSwitch" == "WindowsPhone_3.7.0.0" or "AppDomainCompatSwitch" == "WindowsPhone_3.8.0.0"
-#endif
- };
- void SetAppDomainCompatMode(AppDomainCompatMode compatMode);
- AppDomainCompatMode GetAppDomainCompatMode();
-
-private:
- AppDomainCompatMode m_CompatMode;
-#endif // FEATURE_CORECLR
-
}; // class BaseDomain
enum
diff --git a/src/vm/appdomain.inl b/src/vm/appdomain.inl
index a7720f6f52..210334c78e 100644
--- a/src/vm/appdomain.inl
+++ b/src/vm/appdomain.inl
@@ -19,20 +19,6 @@
#include "appdomain.hpp"
-#ifdef FEATURE_CORECLR
-inline void BaseDomain::SetAppDomainCompatMode(AppDomainCompatMode compatMode)
-{
- LIMITED_METHOD_CONTRACT;
- m_CompatMode = compatMode;
-}
-
-inline BaseDomain::AppDomainCompatMode BaseDomain::GetAppDomainCompatMode()
-{
- LIMITED_METHOD_CONTRACT;
- return m_CompatMode;
-}
-#endif // FEATURE_CORECLR
-
inline void AppDomain::SetUnloadInProgress(AppDomain *pThis)
{
WRAPPER_NO_CONTRACT;
diff --git a/src/vm/assemblynative.cpp b/src/vm/assemblynative.cpp
index 1e199bac94..96fd939126 100644
--- a/src/vm/assemblynative.cpp
+++ b/src/vm/assemblynative.cpp
@@ -1196,12 +1196,6 @@ void QCALLTYPE AssemblyNative::GetType(QCall::AssemblyHandle pAssembly, LPCWSTR
BOOL prohibitAsmQualifiedName = TRUE;
-#ifdef FEATURE_LEGACYNETCF
- // NetCF type name parser allowed assembly name to be overriden here
- if (GetAppDomain()->GetAppDomainCompatMode() == BaseDomain::APPDOMAINCOMPAT_APP_EARLIER_THAN_WP8)
- prohibitAsmQualifiedName = FALSE;
-#endif
-
// Load the class from this assembly (fail if it is in a different one).
retTypeHandle = TypeName::GetTypeManaged(wszName, pAssembly, bThrowOnError, bIgnoreCase, pAssembly->IsIntrospectionOnly(), prohibitAsmQualifiedName, NULL, FALSE, &keepAlive);
}
diff --git a/src/vm/corhost.cpp b/src/vm/corhost.cpp
index f3f9adbb7e..6bfa82c742 100644
--- a/src/vm/corhost.cpp
+++ b/src/vm/corhost.cpp
@@ -1665,27 +1665,6 @@ HRESULT CorHost2::_CreateAppDomain(
obj = StringObject::NewString(pPropertyValues[i]);
_gc.propertyValues->SetAt(i, obj);
-
-#ifdef FEATURE_LEGACYNETCF
- // Look for the "AppDomainCompatSwitch" property and, if it exists, save its value
- // in the AppDomain object.
- if ((0 == _wcsicmp(pPropertyNames[i], W("AppDomainCompatSwitch"))) && (pPropertyValues[i] != NULL))
- {
- if (0 == _wcsicmp(pPropertyValues[i], W("WindowsPhone_3.8.0.0")))
- {
- pDomain->SetAppDomainCompatMode(BaseDomain::APPDOMAINCOMPAT_APP_EARLIER_THAN_WP8);
- }
- else
- if (0 == _wcsicmp(pPropertyValues[i], W("WindowsPhone_3.7.0.0")))
- {
- pDomain->SetAppDomainCompatMode(BaseDomain::APPDOMAINCOMPAT_APP_EARLIER_THAN_WP8);
- }
- else
- {
- // We currently don't know any other AppDomain compatibility switches
- }
- }
-#endif // FEATURE_LEGACYNETCF
}
}
@@ -3912,10 +3891,6 @@ LPCWSTR CorHost2::s_wszAppDomainManagerAsm = NULL;
LPCWSTR CorHost2::s_wszAppDomainManagerType = NULL;
EInitializeNewDomainFlags CorHost2::s_dwDomainManagerInitFlags = eInitializeNewDomainFlags_None;
-#ifdef FEATURE_LEGACYNETCF_DBG_HOST_CONTROL
-IHostNetCFDebugControlManager *CorHost2::m_HostNetCFDebugControlManager = NULL;
-#endif
-
#ifndef FEATURE_CORECLR // not supported
StringArrayList CorHost2::s_defaultDomainPropertyNames;
@@ -4581,16 +4556,6 @@ HRESULT CorHost2::SetHostControl(IHostControl* pHostControl)
}
#endif //!FEATURE_CORECLR
-#ifdef FEATURE_LEGACYNETCF_DBG_HOST_CONTROL
- IHostNetCFDebugControlManager *hostNetCFDebugControlManager = NULL;
- if (m_HostNetCFDebugControlManager == NULL &&
- pHostControl->GetHostManager(__uuidof(IHostNetCFDebugControlManager),
- (void**)&hostNetCFDebugControlManager) == S_OK &&
- hostNetCFDebugControlManager != NULL) {
- m_HostNetCFDebugControlManager = hostNetCFDebugControlManager;
- }
-#endif
-
if (m_HostControl == NULL)
{
m_HostControl = pHostControl;
diff --git a/src/vm/ecalllist.h b/src/vm/ecalllist.h
index babb2676f4..8520cf9dcb 100644
--- a/src/vm/ecalllist.h
+++ b/src/vm/ecalllist.h
@@ -847,7 +847,7 @@ FCFuncStart(gBCLDebugFuncs)
FCFuncElement("GetRegistryLoggingValues", ManagedLoggingHelper::GetRegistryLoggingValues)
FCFuncEnd()
-#if defined(FEATURE_CRYPTO) || defined(FEATURE_LEGACYNETCFCRYPTO)
+#ifdef FEATURE_CRYPTO
FCFuncStart(gCryptographyUtilsFuncs)
FCFuncElement("_AcquireCSP", COMCryptography::_AcquireCSP)
FCFuncElement("_CreateCSP", COMCryptography::_CreateCSP)
@@ -917,7 +917,7 @@ FCFuncStart(gRSACryptoServiceProviderFuncs)
QCFuncElement("DecryptKey", COMCryptography::DecryptKey)
QCFuncElement("EncryptKey", COMCryptography::EncryptKey)
FCFuncEnd()
-#endif // FEATURE_CRYPTO || FEATURE_LEGACYNETCFCRYPTO
+#endif // FEATURE_CRYPTO
FCFuncStart(gAppDomainManagerFuncs)
QCFuncElement("GetEntryAssembly", AssemblyNative::GetEntryAssembly)
@@ -2334,7 +2334,7 @@ FCClassElement("PunkSafeHandle", "System.Reflection.Emit", gSymWrapperCodePunkSa
#ifndef FEATURE_CORECLR
FCClassElement("RNGCryptoServiceProvider", "System.Security.Cryptography", gRNGCryptoServiceProviderFuncs)
#endif
-#if defined(FEATURE_CRYPTO) || defined(FEATURE_LEGACYNETCFCRYPTO)
+#ifdef FEATURE_CRYPTO
FCClassElement("RSACryptoServiceProvider", "System.Security.Cryptography", gRSACryptoServiceProviderFuncs)
#endif
#ifdef FEATURE_RWLOCK
@@ -2376,19 +2376,19 @@ FCClassElement("SafeCertStoreHandle", "System.Security.Cryptography.X509Certific
#endif // FEATURE_CORECLR
#endif // FEATURE_X509
FCClassElement("SafeHandle", "System.Runtime.InteropServices", gSafeHandleFuncs)
-#if defined(FEATURE_CRYPTO) || defined(FEATURE_LEGACYNETCFCRYPTO)
+#ifdef FEATURE_CRYPTO
FCClassElement("SafeHashHandle", "System.Security.Cryptography", gSafeHashHandleFuncs)
-#endif // FEATURE_CRYPTO || FEATURE_LEGACYNETCFCRYPTO
+#endif // FEATURE_CRYPTO
#if defined(FEATURE_ISOSTORE) && !defined(FEATURE_ISOSTORE_LIGHT)
FCClassElement("SafeIsolatedStorageFileHandle", "System.IO.IsolatedStorage", gIsolatedStorageFileHandle)
#endif // FEATURE_ISOSTORE && !FEATURE_ISOSTORE_LIGHT
-#if defined(FEATURE_CRYPTO) || defined(FEATURE_LEGACYNETCFCRYPTO)
+#ifdef FEATURE_CRYPTO
FCClassElement("SafeKeyHandle", "System.Security.Cryptography", gSafeKeyHandleFuncs)
#endif
#ifdef FEATURE_CAS_POLICY
FCClassElement("SafePEFileHandle", "Microsoft.Win32.SafeHandles", gPEFileFuncs)
#endif // FEATURE_CAS_POLICY
-#if defined(FEATURE_CRYPTO) || defined(FEATURE_LEGACYNETCFCRYPTO)
+#ifdef FEATURE_CRYPTO
FCClassElement("SafeProvHandle", "System.Security.Cryptography", gSafeProvHandleFuncs)
#endif
#ifndef FEATURE_CORECLR
@@ -2443,7 +2443,7 @@ FCClassElement("URLString", "System.Security.Util", gCOMUrlStringFuncs)
FCClassElement("UriMarshaler", "System.StubHelpers", gUriMarshalerFuncs)
#endif
FCClassElement("Utf8String", "System", gUtf8String)
-#if defined(FEATURE_CRYPTO) || defined(FEATURE_LEGACYNETCFCRYPTO)
+#ifdef FEATURE_CRYPTO
FCClassElement("Utils", "System.Security.Cryptography", gCryptographyUtilsFuncs)
#endif
FCClassElement("ValueClassMarshaler", "System.StubHelpers", gValueClassMarshalerFuncs)
diff --git a/src/vm/mscorlib.cpp b/src/vm/mscorlib.cpp
index 1ba20944c9..8b7f6ebcba 100644
--- a/src/vm/mscorlib.cpp
+++ b/src/vm/mscorlib.cpp
@@ -88,9 +88,9 @@
#include "mdaassistants.h"
#endif
-#if defined(FEATURE_CRYPTO) || defined(FEATURE_LEGACYNETCFCRYPTO)
+#ifdef FEATURE_CRYPTO
#include "cryptography.h"
-#endif // FEATURE_CRYPTO || FEATURE_LEGACYNETCFCRYPTO
+#endif // FEATURE_CRYPTO
#ifndef FEATURE_CORECLR
#include "securityprincipal.h"
diff --git a/src/vm/mscorlib.h b/src/vm/mscorlib.h
index 478d049aad..a64269fb06 100644
--- a/src/vm/mscorlib.h
+++ b/src/vm/mscorlib.h
@@ -467,16 +467,16 @@ DEFINE_METHOD(CONTEXT, RESERVE_SLOT, ReserveSlot,
DEFINE_CLASS(CONTEXT_BOUND_OBJECT, System, ContextBoundObject)
-#if defined(FEATURE_CRYPTO) || defined(FEATURE_LEGACYNETCFCRYPTO)
+#ifdef FEATURE_CRYPTO
DEFINE_CLASS(CSP_PARAMETERS, Cryptography, CspParameters)
DEFINE_FIELD(CSP_PARAMETERS, PROVIDER_TYPE, ProviderType)
DEFINE_FIELD(CSP_PARAMETERS, PROVIDER_NAME, ProviderName)
DEFINE_FIELD(CSP_PARAMETERS, KEY_CONTAINER_NAME, KeyContainerName)
DEFINE_FIELD(CSP_PARAMETERS, FLAGS, m_flags)
-#endif //FEATURE_CRYPTO || FEATURE_LEGACYNETCFCRYPTO
+#endif //FEATURE_CRYPTO
-#if defined(FEATURE_X509) || defined(FEATURE_CRYPTO) || defined(FEATURE_LEGACYNETCFCRYPTO)
+#if defined(FEATURE_X509) || defined(FEATURE_CRYPTO)
DEFINE_CLASS(CRYPTO_EXCEPTION, Cryptography, CryptographicException)
DEFINE_METHOD(CRYPTO_EXCEPTION, THROW, ThrowCryptographicException, SM_Int_RetVoid)
#endif // FEATURE_X509 || FEATURE_CRYPTO
diff --git a/src/vm/rexcep.h b/src/vm/rexcep.h
index 8b23802ba6..fe920bcd2d 100644
--- a/src/vm/rexcep.h
+++ b/src/vm/rexcep.h
@@ -147,7 +147,7 @@ DEFINE_EXCEPTION(g_CodeContractsNS, ContractException, false, C
DEFINE_EXCEPTION(g_SystemNS, ContextMarshalException, false, COR_E_CONTEXTMARSHAL)
DEFINE_EXCEPTION(g_ReflectionNS, CustomAttributeFormatException, false, COR_E_CUSTOMATTRIBUTEFORMAT)
-#if defined(FEATURE_X509) || defined(FEATURE_CRYPTO) || defined(FEATURE_LEGACYNETCFCRYPTO)
+#if defined(FEATURE_X509) || defined(FEATURE_CRYPTO)
DEFINE_EXCEPTION(g_CryptographyNS, CryptographicException, false, CORSEC_E_CRYPTO)
#endif // FEATURE_X509 || FEATURE_CRYPTO
#ifndef FEATURE_CORECLR
diff --git a/src/vm/runtimehandles.cpp b/src/vm/runtimehandles.cpp
index cc319781d3..d0f36cb95c 100644
--- a/src/vm/runtimehandles.cpp
+++ b/src/vm/runtimehandles.cpp
@@ -2617,49 +2617,6 @@ FCIMPL2(FC_BOOL_RET, SignatureNative::CompareSig, SignatureNative* pLhsUNSAFE, S
}
FCIMPLEND
-#if FEATURE_LEGACYNETCF
-FCIMPL4(FC_BOOL_RET, SignatureNative::CompareSigForAppCompat, SignatureNative* pLhsUNSAFE, ReflectClassBaseObject * pTypeLhsUNSAFE, SignatureNative* pRhsUNSAFE, ReflectClassBaseObject * pTypeRhsUNSAFE)
-{
- FCALL_CONTRACT;
-
- INT32 ret = 0;
-
- struct
- {
- SIGNATURENATIVEREF pLhs;
- REFLECTCLASSBASEREF refTypeLhs;
- SIGNATURENATIVEREF pRhs;
- REFLECTCLASSBASEREF refTypeRhs;
- } gc;
-
- gc.pLhs = (SIGNATURENATIVEREF)pLhsUNSAFE;
- gc.refTypeLhs = (REFLECTCLASSBASEREF)ObjectToOBJECTREF(pTypeLhsUNSAFE);
- gc.pRhs = (SIGNATURENATIVEREF)pRhsUNSAFE;
- gc.refTypeRhs = (REFLECTCLASSBASEREF)ObjectToOBJECTREF(pTypeRhsUNSAFE);
-
- if ((gc.refTypeLhs == NULL) || (gc.refTypeRhs == NULL))
- FCThrowRes(kArgumentNullException, W("Arg_InvalidHandle"));
-
- TypeHandle typeHandle1 = gc.refTypeLhs->GetType();
- TypeHandle typeHandle2 = gc.refTypeRhs->GetType();
-
- // The type contexts will be used in substituting formal type arguments in generic types.
- SigTypeContext typeContext1(typeHandle1);
- SigTypeContext typeContext2(typeHandle2);
-
- HELPER_METHOD_FRAME_BEGIN_RET_PROTECT(gc);
- {
- MetaSig metaSig1(gc.pLhs->GetCorSig(), gc.pLhs->GetCorSigSize(), gc.pLhs->GetModule(), &typeContext1);
- MetaSig metaSig2(gc.pRhs->GetCorSig(), gc.pRhs->GetCorSigSize(), gc.pRhs->GetModule(), &typeContext2);
-
- ret = MetaSig::CompareMethodSigs(metaSig1, metaSig2, FALSE);
- }
- HELPER_METHOD_FRAME_END();
- FC_RETURN_BOOL(ret);
-}
-FCIMPLEND
-#endif
-
void QCALLTYPE RuntimeMethodHandle::GetMethodInstantiation(MethodDesc * pMethod, QCall::ObjectHandleOnStack retTypes, BOOL fAsRuntimeTypeArray)
{
QCALL_CONTRACT;
diff --git a/src/vm/typeparse.cpp b/src/vm/typeparse.cpp
index e6c9cd52ad..8f03e3c65c 100644
--- a/src/vm/typeparse.cpp
+++ b/src/vm/typeparse.cpp
@@ -1033,14 +1033,7 @@ BOOL TypeName::TypeNameParser::NAME()
GetIdentifier(m_pTypeName->AddName(), TypeNameId);
- BOOL legacy = FALSE;
-#ifdef FEATURE_LEGACYNETCF
- legacy = GetAppDomain()->GetAppDomainCompatMode() == BaseDomain::APPDOMAINCOMPAT_APP_EARLIER_THAN_WP8;
-#endif
- if (legacy && (m_nextToken == TypeNameComma))
- NextTokenLegacyAssemSpec();
- else
- NextToken();
+ NextToken();
if (TokenIs(TypeNamePlus))
{
@@ -1546,17 +1539,6 @@ TypeHandle TypeName::GetTypeFromAsm(BOOL bForIntrospection)
else if (pAssemblyGetType)
{
th = GetTypeHaveAssembly(pAssemblyGetType, bThrowIfNotFound, bIgnoreCase, pKeepAlive);
-
-#ifdef FEATURE_LEGACYNETCF
- // 443770 - [AppCompat]: Glow Artisan - CLR_EXCEPTION_NOSOS_e0434352_agcoredllCCoreServicesSetFrameDirty
- // NetCF searches mscorlib even if GetType() is explicitly called on another assembly.
- if (th.IsNull() &&
- GetAppDomain()->GetAppDomainCompatMode() == BaseDomain::APPDOMAINCOMPAT_APP_EARLIER_THAN_WP8 &&
- pAssemblyGetType != SystemDomain::SystemAssembly())
- {
- th = GetTypeHaveAssembly(SystemDomain::SystemAssembly(), bThrowIfNotFound, bIgnoreCase, pKeepAlive);
- }
-#endif
}
// Otherwise look in the caller's assembly then the system assembly
diff --git a/src/vm/typeparse.h b/src/vm/typeparse.h
index 4af5e8069b..4b0d754554 100644
--- a/src/vm/typeparse.h
+++ b/src/vm/typeparse.h
@@ -207,7 +207,6 @@ private:
TypeNameTokens LexAToken(BOOL ignorePlus = FALSE);
BOOL GetIdentifier(SString* sszId, TypeNameIdentifiers identiferType);
void NextToken() { WRAPPER_NO_CONTRACT; m_currentToken = m_nextToken; m_currentItr = m_itr; m_nextToken = LexAToken(); }
- void NextTokenLegacyAssemSpec() { WRAPPER_NO_CONTRACT; m_currentToken = m_nextToken; m_currentItr = m_itr; m_nextToken = LexAToken(true); }
BOOL NextTokenIs(TypeNameTokens token) { LIMITED_METHOD_CONTRACT; return !!(m_nextToken & token); }
BOOL TokenIs(TypeNameTokens token) { LIMITED_METHOD_CONTRACT; return !!(m_currentToken & token); }
BOOL TokenIs(int token) { LIMITED_METHOD_CONTRACT; return TokenIs((TypeNameTokens)token); }
diff --git a/src/zap/zapper.cpp b/src/zap/zapper.cpp
index 888a149b1f..699f1da8f6 100644
--- a/src/zap/zapper.cpp
+++ b/src/zap/zapper.cpp
@@ -211,10 +211,6 @@ STDAPI NGenWorker(LPCWSTR pwzFilename, DWORD dwFlags, LPCWSTR pwzPlatformAssembl
zap->SetForceFullTrust(!!(dwFlags & NGENWORKER_FLAGS_FULLTRUSTDOMAIN));
-#ifdef FEATURE_LEGACYNETCF
- zap->SetAppCompatWP8(!!(dwFlags & NGENWORKER_FLAGS_APPCOMPATWP8));
-#endif
-
g_fNGenMissingDependenciesOk = !!(dwFlags & NGENWORKER_FLAGS_MISSINGDEPENDENCIESOK);
#ifdef FEATURE_WINMD_RESILIENT
@@ -1977,10 +1973,6 @@ void ZapperSetPlatformAssembliesPaths(SString &platformAssembliesPaths);
void ZapperSetBindingPaths(ICorCompilationDomain *pDomain, SString &trustedPlatformAssemblies, SString &platformResourceRoots, SString &appPaths, SString &appNiPaths);
#endif
-#ifdef FEATURE_LEGACYNETCF
-void ZapperSetAppCompatWP8(ICorCompilationDomain *pDomain);
-#endif
-
void Zapper::CreateCompilationDomain()
{
#if defined(CROSSGEN_COMPILE) && !defined(FEATURE_CORECLR)
@@ -2023,13 +2015,6 @@ void Zapper::CreateCompilationDomain()
ZapperSetBindingPaths(m_pDomain, m_trustedPlatformAssemblies, m_platformResourceRoots, m_appPaths, m_appNiPaths);
}
#endif
-
-#ifdef FEATURE_LEGACYNETCF
- if (m_appCompatWP8)
- {
- ZapperSetAppCompatWP8(m_pDomain);
- }
-#endif
}
void Zapper::CreateDependenciesLookupDomain()
@@ -3760,16 +3745,6 @@ ZapImage * Zapper::CompileModule(CORINFO_MODULE_HANDLE hModule,
module->Open(hModule, pAssemblyEmit);
-#ifdef FEATURE_LEGACYNETCF
- // Need to check for a native header to avoid throwing in cases where the NI has loaded,
- // such as when we run crossgen a second time with IBC tuning enabled
- if (!module->m_ModuleDecoder.IsILOnly() && !module->m_ModuleDecoder.HasNativeHeader())
- {
- if (!m_appCompatWP8)
- ThrowHR(COR_E_BADIMAGEFORMAT);
- }
-#endif
-
//
// input module.
//
@@ -4058,13 +4033,6 @@ void Zapper::SetPlatformWinmdPaths(LPCWSTR pwzPlatformWinmdPaths)
m_platformWinmdPaths.Set(pwzPlatformWinmdPaths);
}
-#ifdef FEATURE_LEGACYNETCF
-void Zapper::SetAppCompatWP8(bool val)
-{
- m_appCompatWP8 = val;
-}
-#endif
-
void Zapper::SetForceFullTrust(bool val)
{
m_fForceFullTrust = val;