Remove always defined FEATURE_CORECLR
[platform/upstream/coreclr.git] / src / vm / ecalllist.h
1 // Licensed to the .NET Foundation under one or more agreements.
2 // The .NET Foundation licenses this file to you under the MIT license.
3 // See the LICENSE file in the project root for more information.
4 // ECallList.H
5 //
6 // This file contains definitions of FCall entrypoints
7 //
8
9
10
11
12 #ifndef FCFuncElement
13 #define FCFuncElement(name, impl)
14 #endif
15
16 #ifndef FCFuncElementSig
17 #define FCFuncElementSig(name,sig,impl)
18 #endif
19
20 #ifndef FCIntrinsic
21 #define FCIntrinsic(name,impl,intrinsicID)
22 #endif
23
24 #ifndef FCIntrinsicSig
25 #define FCIntrinsicSig(name,sig,impl,intrinsicID)
26 #endif
27
28 #ifndef QCFuncElement
29 #define QCFuncElement(name,impl)
30 #endif
31
32 #ifndef FCDynamic
33 #define FCDynamic(name,intrinsicID,dynamicID)
34 #endif
35
36 #ifndef FCDynamicSig
37 #define FCDynamicSig(name,sig,intrinsicID,dynamicID)
38 #endif
39
40 #ifndef FCUnreferenced
41 #define FCUnreferenced
42 #endif
43
44 #ifndef FCFuncStart
45 #define FCFuncStart(name)
46 #endif
47
48 #ifndef FCFuncEnd
49 #define FCFuncEnd()
50 #endif
51
52 #ifndef FCClassElement
53 #define FCClassElement(name,namespace,funcs)
54 #endif
55
56 //
57 //
58 // Entrypoint definitions
59 //
60 //
61
62 #ifdef FEATURE_REMOTING
63 FCFuncStart(gMarshalByRefFuncs)
64     FCFuncElement("GetComIUnknown", RemotingNative::GetComIUnknown)
65 FCFuncEnd()
66
67 FCFuncStart(gRemotingFuncs)
68     FCFuncElement("IsTransparentProxy", RemotingNative::FCIsTransparentProxy)
69     FCFuncElement("GetRealProxy", RemotingNative::FCGetRealProxy)
70     FCFuncElement("Unwrap", RemotingNative::FCUnwrap)
71     FCFuncElement("AlwaysUnwrap", RemotingNative::FCAlwaysUnwrap)
72     FCFuncElement("CheckCast", RemotingNative::NativeCheckCast)
73     FCFuncElement("nSetRemoteActivationConfigured", RemotingNative::SetRemotingConfiguredFlag)
74
75     FCFuncElement("CORProfilerTrackRemoting", ProfilingFCallHelper::FC_TrackRemoting)
76     FCFuncElement("CORProfilerTrackRemotingCookie", ProfilingFCallHelper::FC_TrackRemotingCookie)
77     FCFuncElement("CORProfilerTrackRemotingAsync", ProfilingFCallHelper::FC_TrackRemotingAsync)
78     FCFuncElement("CORProfilerRemotingClientSendingMessage", ProfilingFCallHelper::FC_RemotingClientSendingMessage)
79     FCFuncElement("CORProfilerRemotingClientReceivingReply", ProfilingFCallHelper::FC_RemotingClientReceivingReply)
80     FCFuncElement("CORProfilerRemotingServerReceivingMessage", ProfilingFCallHelper::FC_RemotingServerReceivingMessage)
81     FCFuncElement("CORProfilerRemotingServerSendingReply", ProfilingFCallHelper::FC_RemotingServerSendingReply)
82
83     FCFuncElement("CreateTransparentProxy", RemotingNative::CreateTransparentProxy)
84     FCFuncElement("AllocateUninitializedObject", RemotingNative::AllocateUninitializedObject)
85     FCFuncElement("CallDefaultCtor", RemotingNative::CallDefaultCtor)
86     FCFuncElement("AllocateInitializedObject", RemotingNative::AllocateInitializedObject)
87     FCFuncElement("ResetInterfaceCache", RemotingNative::ResetInterfaceCache)
88 FCFuncEnd()
89
90 FCFuncStart(gRealProxyFuncs)
91     FCFuncElement("SetStubData", CRealProxy::SetStubData)
92     FCFuncElement("GetStubData", CRealProxy::GetStubData)
93     FCFuncElement("GetStub", CRealProxy::GetStub)
94     FCFuncElement("GetDefaultStub", CRealProxy::GetDefaultStub)
95     FCFuncElement("GetProxiedType", CRealProxy::GetProxiedType)
96 FCFuncEnd()
97
98 FCFuncStart(gContextFuncs)
99     FCFuncElement("SetupInternalContext", Context::SetupInternalContext)
100     FCFuncElement("CleanupInternalContext", Context::CleanupInternalContext)
101     FCFuncElement("ExecuteCallBackInEE", Context::ExecuteCallBack)
102 FCFuncEnd()
103 #endif
104
105
106 FCFuncStart(gDependentHandleFuncs)
107     FCFuncElement("nInitialize",             DependentHandle::nInitialize)
108     FCFuncElement("nGetPrimary",             DependentHandle::nGetPrimary)
109     FCFuncElement("nGetPrimaryAndSecondary", DependentHandle::nGetPrimaryAndSecondary)
110     FCFuncElement("nFree",                   DependentHandle::nFree)
111     FCFuncElement("nSetPrimary",             DependentHandle::nSetPrimary)
112     FCFuncElement("nSetSecondary",           DependentHandle::nSetSecondary)
113 FCFuncEnd()
114
115
116 #ifdef FEATURE_RWLOCK
117 FCFuncStart(gRWLockFuncs)
118     FCFuncElement("AcquireReaderLockInternal",  CRWLock::StaticAcquireReaderLockPublic)
119     FCFuncElement("AcquireWriterLockInternal",  CRWLock::StaticAcquireWriterLockPublic)
120     FCFuncElement("ReleaseReaderLockInternal",  CRWLock::StaticReleaseReaderLockPublic)
121     FCFuncElement("ReleaseWriterLockInternal",  CRWLock::StaticReleaseWriterLockPublic)
122     FCFuncElement("FCallUpgradeToWriterLock",  CRWLock::StaticDoUpgradeToWriterLockPublic)
123     FCFuncElement("DowngradeFromWriterLockInternal",  CRWLock::StaticDowngradeFromWriterLock)
124     FCFuncElement("FCallReleaseLock",  CRWLock::StaticDoReleaseLock)
125     FCFuncElement("RestoreLockInternal",  CRWLock::StaticRestoreLockPublic)
126     FCFuncElement("PrivateGetIsReaderLockHeld",  CRWLock::StaticIsReaderLockHeld)
127     FCFuncElement("PrivateGetIsWriterLockHeld",  CRWLock::StaticIsWriterLockHeld)
128     FCFuncElement("PrivateGetWriterSeqNum",  CRWLock::StaticGetWriterSeqNum)
129     FCFuncElement("AnyWritersSince",  CRWLock::StaticAnyWritersSince)
130     FCFuncElement("PrivateInitialize",  CRWLock::StaticPrivateInitialize)
131     FCFuncElement("PrivateDestruct",  CRWLock::StaticPrivateDestruct)
132 FCFuncEnd()
133 #endif // FEATURE_RWLOCK
134
135 #ifdef FEATURE_REMOTING
136 FCFuncStart(gMessageFuncs)
137     FCFuncElement("InternalGetArgCount", CMessage::GetArgCount)
138     FCFuncElement("InternalHasVarArgs", CMessage::HasVarArgs)
139     FCFuncElement("InternalGetArg", CMessage::GetArg)
140     FCFuncElement("InternalGetArgs", CMessage::GetArgs)
141     FCFuncElement("PropagateOutParameters", CMessage::PropagateOutParameters)
142     FCFuncElement("GetReturnValue", CMessage::GetReturnValue)
143     FCFuncElement("GetAsyncBeginInfo", CMessage::GetAsyncBeginInfo)
144     FCFuncElement("GetAsyncResult", CMessage::GetAsyncResult)
145     FCFuncElement("GetThisPtr", CMessage::GetAsyncObject)
146     FCFuncElement("OutToUnmanagedDebugger", CMessage::DebugOut)
147     FCFuncElement("Dispatch", CMessage::Dispatch)
148 FCFuncEnd()
149 #endif //FEATURE_REMOTING
150
151 #ifdef FEATURE_REMOTING
152 FCFuncStart(gChannelServicesFuncs)
153     FCFuncElement("GetPrivateContextsPerfCounters", GetPrivateContextsPerfCountersEx)
154 FCFuncEnd()
155 #endif // FEATURE_REMOTING
156
157 FCFuncStart(gEnumFuncs)
158     FCFuncElement("InternalGetUnderlyingType",  ReflectionEnum::InternalGetEnumUnderlyingType)
159     FCFuncElement("InternalGetCorElementType",  ReflectionEnum::InternalGetCorElementType)
160     QCFuncElement("GetEnumValuesAndNames",  ReflectionEnum::GetEnumValuesAndNames)
161     FCFuncElement("InternalBoxEnum", ReflectionEnum::InternalBoxEnum)
162     FCFuncElement("Equals", ReflectionEnum::InternalEquals)
163     FCFuncElement("InternalCompareTo", ReflectionEnum::InternalCompareTo)    
164     FCFuncElement("InternalHasFlag", ReflectionEnum::InternalHasFlag)
165 FCFuncEnd()
166
167 #ifdef FEATURE_REMOTING
168 FCFuncStart(gStackBuilderSinkFuncs)
169     FCFuncElement("_PrivateProcessMessage", CStackBuilderSink::PrivateProcessMessage)
170 FCFuncEnd()
171 #endif
172
173 FCFuncStart(gSymWrapperCodePunkSafeHandleFuncs)
174     FCFuncElement("nGetDReleaseTarget", COMPunkSafeHandle::nGetDReleaseTarget)
175 FCFuncEnd()
176
177 FCFuncStart(gParseNumbersFuncs)
178     FCFuncElement("IntToString", ParseNumbers::IntToString)
179     FCFuncElement("LongToString", ParseNumbers::LongToString)
180     FCFuncElement("StringToInt", ParseNumbers::StringToInt)
181     FCFuncElement("StringToLong", ParseNumbers::StringToLong)
182 FCFuncEnd()
183
184
185 FCFuncStart(gObjectFuncs)
186     FCIntrinsic("GetType", ObjectNative::GetClass, CORINFO_INTRINSIC_Object_GetType)
187     FCFuncElement("MemberwiseClone", ObjectNative::Clone)
188 FCFuncEnd()
189
190 FCFuncStart(gStringFuncs)
191     FCDynamic("FastAllocateString", CORINFO_INTRINSIC_Illegal, ECall::FastAllocateString)
192     FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_ArrChar_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::CtorCharArrayManaged)
193     FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_ArrChar_Int_Int_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::CtorCharArrayStartLengthManaged)
194     FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_PtrChar_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::CtorCharPtrManaged)
195     FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_PtrChar_Int_Int_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::CtorCharPtrStartLengthManaged)
196     FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_Char_Int_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::CtorCharCountManaged)
197     FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_PtrSByt_RetVoid, COMString::StringInitCharPtr)
198     FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_PtrSByt_Int_Int_RetVoid, COMString::StringInitCharPtrPartial)
199     FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_PtrSByt_Int_Int_Encoding_RetVoid, COMString::StringInitSBytPtrPartialEx)
200     FCFuncElement("IsFastSort", COMString::IsFastSort)
201     FCFuncElement("nativeCompareOrdinalIgnoreCaseWC", COMString::FCCompareOrdinalIgnoreCaseWC)
202     FCIntrinsic("get_Length", COMString::Length, CORINFO_INTRINSIC_StringLength)
203     FCIntrinsic("get_Chars", COMString::GetCharAt, CORINFO_INTRINSIC_StringGetChar)
204     FCFuncElement("IsAscii", COMString::IsAscii)
205     FCFuncElement("CompareOrdinalHelper", COMString::CompareOrdinalEx)
206     FCFuncElement("IndexOfAny", COMString::IndexOfCharArray)
207     FCFuncElement("LastIndexOfAny", COMString::LastIndexOfCharArray)
208     FCFuncElementSig("ReplaceInternal", &gsig_IM_Str_Str_RetStr, COMString::ReplaceString)
209 #ifdef FEATURE_COMINTEROP
210     FCFuncElement("SetTrailByte", COMString::FCSetTrailByte)
211     FCFuncElement("TryGetTrailByte", COMString::FCTryGetTrailByte)
212 #endif // FEATURE_COMINTEROP
213 #ifdef FEATURE_RANDOMIZED_STRING_HASHING
214     FCFuncElement("InternalMarvin32HashString", COMString::Marvin32HashString)
215     QCFuncElement("InternalUseRandomizedHashing", COMString::UseRandomizedHashing) 
216 #endif // FEATURE_RANDOMIZED_STRING_HASHING
217 FCFuncEnd()
218
219 FCFuncStart(gStringBufferFuncs)
220     FCFuncElement("ReplaceBufferInternal", COMStringBuffer::ReplaceBufferInternal)
221     FCFuncElement("ReplaceBufferAnsiInternal", COMStringBuffer::ReplaceBufferAnsiInternal)
222 FCFuncEnd()
223
224 FCFuncStart(gValueTypeFuncs)
225     FCFuncElement("CanCompareBits", ValueTypeHelper::CanCompareBits)
226     FCFuncElement("FastEqualsCheck", ValueTypeHelper::FastEqualsCheck)
227     FCFuncElement("GetHashCode", ValueTypeHelper::GetHashCode)
228     FCFuncElement("GetHashCodeOfPtr", ValueTypeHelper::GetHashCodeOfPtr)
229 FCFuncEnd()
230
231 FCFuncStart(gDiagnosticsDebugger)
232     FCFuncElement("BreakInternal", DebugDebugger::Break)
233     FCFuncElement("LaunchInternal", DebugDebugger::Launch)
234     FCFuncElement("get_IsAttached", DebugDebugger::IsDebuggerAttached)
235     FCFuncElement("Log", DebugDebugger::Log)
236     FCFuncElement("IsLogging", DebugDebugger::IsLogging)
237     FCFuncElement("CustomNotification", DebugDebugger::CustomNotification)
238 FCFuncEnd()
239
240 FCFuncStart(gDiagnosticsStackTrace)
241     FCFuncElement("GetStackFramesInternal", DebugStackTrace::GetStackFramesInternal)
242 FCFuncEnd()
243
244 FCFuncStart(gDiagnosticsLog)
245     FCFuncElement("AddLogSwitch", Log::AddLogSwitch)
246     FCFuncElement("ModifyLogSwitch", Log::ModifyLogSwitch)
247 FCFuncEnd()
248
249 FCFuncStart(gDiagnosticsAssert)
250     FCFuncElement("ShowDefaultAssertDialog", DebuggerAssert::ShowDefaultAssertDialog)
251 FCFuncEnd()
252
253 FCFuncStart(gDateTimeFuncs)
254     FCFuncElement("GetSystemTimeAsFileTime", SystemNative::__GetSystemTimeAsFileTime)
255 FCFuncEnd()
256
257 FCFuncStart(gEnvironmentFuncs)
258     FCFuncElement("GetVersion", SystemNative::GetOSVersion)
259     FCFuncElement("GetVersionEx", SystemNative::GetOSVersionEx)
260     FCFuncElement("get_TickCount", SystemNative::GetTickCount)
261     QCFuncElement("_Exit", SystemNative::Exit)
262     FCFuncElement("set_ExitCode", SystemNative::SetExitCode)
263     FCFuncElement("get_ExitCode", SystemNative::GetExitCode)
264     FCFuncElement("get_HasShutdownStarted", SystemNative::HasShutdownStarted)
265     QCFuncElement("GetProcessorCount", SystemNative::GetProcessorCount)
266     FCFuncElement("GetCommandLineArgsNative", SystemNative::GetCommandLineArgs)
267     FCFuncElement("get_CurrentProcessorNumber", SystemNative::GetCurrentProcessorNumber)
268
269     FCFuncElementSig("FailFast", &gsig_SM_Str_RetVoid, SystemNative::FailFast)
270     FCFuncElementSig("FailFast", &gsig_SM_Str_Exception_RetVoid, SystemNative::FailFastWithException)
271 FCFuncEnd()
272
273 FCFuncStart(gRuntimeEnvironmentFuncs)
274     FCFuncElement("GetModuleFileName", SystemNative::_GetModuleFileName)
275 FCFuncEnd()
276
277 FCFuncStart(gSerializationFuncs)
278     FCFuncElement("nativeGetUninitializedObject", ReflectionSerialization::GetUninitializedObject)
279 FCFuncEnd()
280
281 FCFuncStart(gExceptionFuncs)
282     FCFuncElement("IsImmutableAgileException", ExceptionNative::IsImmutableAgileException)
283     FCFuncElement("nIsTransient", ExceptionNative::IsTransient)
284     FCFuncElement("GetMethodFromStackTrace", SystemNative::GetMethodFromStackTrace)
285     QCFuncElement("GetMessageFromNativeResources", ExceptionNative::GetMessageFromNativeResources)
286 #if defined(FEATURE_EXCEPTIONDISPATCHINFO)
287     FCFuncElement("PrepareForForeignExceptionRaise", ExceptionNative::PrepareForForeignExceptionRaise)
288     FCFuncElement("CopyStackTrace", ExceptionNative::CopyStackTrace)
289     FCFuncElement("CopyDynamicMethods", ExceptionNative::CopyDynamicMethods)
290     FCFuncElement("GetStackTracesDeepCopy", ExceptionNative::GetStackTracesDeepCopy)
291     FCFuncElement("SaveStackTracesFromDeepCopy", ExceptionNative::SaveStackTracesFromDeepCopy)
292 #endif // defined(FEATURE_EXCEPTIONDISPATCHINFO)
293 FCFuncEnd()
294
295 FCFuncStart(gSafeHandleFuncs)
296     FCFuncElement("InternalDispose", SafeHandle::DisposeNative)
297     FCFuncElement("InternalFinalize", SafeHandle::Finalize)
298     FCFuncElement("SetHandleAsInvalid", SafeHandle::SetHandleAsInvalid)
299     FCFuncElement("DangerousAddRef", SafeHandle::DangerousAddRef)
300     FCFuncElement("DangerousRelease", SafeHandle::DangerousRelease)
301 FCFuncEnd()
302
303 FCFuncStart(gCriticalHandleFuncs)
304     FCFuncElement("FireCustomerDebugProbe", CriticalHandle::FireCustomerDebugProbe)
305 FCFuncEnd()
306
307 FCFuncStart(gSafeBufferFuncs)
308     FCFuncElement("PtrToStructureNative", SafeBuffer::PtrToStructure)
309     FCFuncElement("StructureToPtrNative", SafeBuffer::StructureToPtr)
310 FCFuncEnd()
311
312 #ifndef FEATURE_COREFX_GLOBALIZATION
313 FCFuncStart(gNormalizationFuncs)
314     FCFuncElement("nativeNormalizationIsNormalizedString", COMNlsInfo::nativeNormalizationIsNormalizedString)
315     FCFuncElement("nativeNormalizationNormalizeString", COMNlsInfo::nativeNormalizationNormalizeString)
316     QCFuncElement("nativeNormalizationInitNormalization", COMNlsInfo::nativeNormalizationInitNormalization)
317 FCFuncEnd()
318 #endif // FEATURE_COREFX_GLOBALIZATION
319
320 FCFuncStart(gTypedReferenceFuncs)
321     FCFuncElement("InternalToObject", ReflectionInvocation::TypedReferenceToObject)
322     FCFuncElement("InternalSetTypedReference", ReflectionInvocation::SetTypedReference)
323     FCFuncElement("InternalMakeTypedReference", ReflectionInvocation::MakeTypedReference)
324 FCFuncEnd()
325
326 FCFuncStart(gSystem_Type)
327     FCIntrinsic("GetTypeFromHandle", RuntimeTypeHandle::GetTypeFromHandle, CORINFO_INTRINSIC_GetTypeFromHandle)
328     FCFuncElement("GetTypeFromHandleUnsafe", RuntimeTypeHandle::GetRuntimeType)
329     FCIntrinsic("op_Equality", RuntimeTypeHandle::TypeEQ, CORINFO_INTRINSIC_TypeEQ)
330     FCIntrinsic("op_Inequality", RuntimeTypeHandle::TypeNEQ, CORINFO_INTRINSIC_TypeNEQ)
331 FCFuncEnd()
332
333 FCFuncStart(gSystem_RuntimeType)
334     FCFuncElement("GetGUID", ReflectionInvocation::GetGUID)
335     FCFuncElement("_CreateEnum", ReflectionInvocation::CreateEnum)
336     FCFuncElement("CanValueSpecialCast", ReflectionInvocation::CanValueSpecialCast)
337     FCFuncElement("AllocateValueType", ReflectionInvocation::AllocateValueType)
338 #if defined(FEATURE_COMINTEROP)
339     FCFuncElement("GetTypeFromCLSIDImpl", ReflectionInvocation::GetClassFromCLSID)
340     FCFuncElement("GetTypeFromProgIDImpl", ReflectionInvocation::GetClassFromProgID)
341     FCFuncElement("InvokeDispMethod", ReflectionInvocation::InvokeDispMethod)
342 #ifdef FEATURE_COMINTEROP_WINRT_MANAGED_ACTIVATION
343     FCFuncElement("IsTypeExportedToWindowsRuntime", RuntimeTypeHandle::IsTypeExportedToWindowsRuntime)
344 #endif
345     FCFuncElement("IsWindowsRuntimeObjectType", RuntimeTypeHandle::IsWindowsRuntimeObjectType)
346 #endif // defined(FEATURE_COMINTEROP) 
347 FCFuncEnd()
348
349 FCFuncStart(gJitHelpers)
350     FCFuncElement("UnsafeSetArrayElement", JitHelpers::UnsafeSetArrayElement)
351 #ifdef _DEBUG
352     FCFuncElement("IsAddressInStack", ReflectionInvocation::IsAddressInStack)
353 #endif
354 FCFuncEnd()
355
356 FCFuncStart(gCOMTypeHandleFuncs)
357     FCFuncElement("CreateInstance", RuntimeTypeHandle::CreateInstance)
358     FCFuncElement("CreateCaInstance", RuntimeTypeHandle::CreateCaInstance)
359     FCFuncElement("CreateInstanceForAnotherGenericParameter", RuntimeTypeHandle::CreateInstanceForGenericType)
360     QCFuncElement("GetGCHandle", RuntimeTypeHandle::GetGCHandle)
361
362     FCFuncElement("IsInstanceOfType", RuntimeTypeHandle::IsInstanceOfType)
363     FCFuncElement("GetDeclaringMethod", RuntimeTypeHandle::GetDeclaringMethod)
364     FCFuncElement("GetDeclaringType", RuntimeTypeHandle::GetDeclaringType)
365     QCFuncElement("GetDefaultConstructor", RuntimeTypeHandle::GetDefaultConstructor)
366     QCFuncElement("MakePointer", RuntimeTypeHandle::MakePointer)
367     QCFuncElement("MakeByRef", RuntimeTypeHandle::MakeByRef)
368     QCFuncElement("MakeSZArray", RuntimeTypeHandle::MakeSZArray)
369     QCFuncElement("MakeArray", RuntimeTypeHandle::MakeArray)
370     QCFuncElement("IsCollectible", RuntimeTypeHandle::IsCollectible)
371     FCFuncElement("GetFirstIntroducedMethod", RuntimeTypeHandle::GetFirstIntroducedMethod)
372     FCFuncElement("GetNextIntroducedMethod", RuntimeTypeHandle::GetNextIntroducedMethod)
373     FCFuncElement("GetCorElementType", RuntimeTypeHandle::GetCorElementType)
374     FCFuncElement("GetAssembly", RuntimeTypeHandle::GetAssembly)
375     FCFuncElement("GetModule", RuntimeTypeHandle::GetModule)
376     FCFuncElement("GetBaseType", RuntimeTypeHandle::GetBaseType)
377     FCFuncElement("GetElementType", RuntimeTypeHandle::GetElementType)
378     FCFuncElement("GetArrayRank", RuntimeTypeHandle::GetArrayRank)
379     FCFuncElement("GetToken", RuntimeTypeHandle::GetToken)
380     FCFuncElement("_GetUtf8Name", RuntimeTypeHandle::GetUtf8Name)
381     FCFuncElement("GetMethodAt", RuntimeTypeHandle::GetMethodAt)
382     FCFuncElement("GetFields", RuntimeTypeHandle::GetFields)
383     FCFuncElement("GetInterfaces", RuntimeTypeHandle::GetInterfaces)
384     QCFuncElement("GetConstraints", RuntimeTypeHandle::GetConstraints)
385     FCFuncElement("GetAttributes", RuntimeTypeHandle::GetAttributes)
386     FCFuncElement("_GetMetadataImport", RuntimeTypeHandle::GetMetadataImport)
387     FCFuncElement("GetNumVirtuals", RuntimeTypeHandle::GetNumVirtuals)
388     QCFuncElement("VerifyInterfaceIsImplemented", RuntimeTypeHandle::VerifyInterfaceIsImplemented)
389     QCFuncElement("GetInterfaceMethodImplementationSlot", RuntimeTypeHandle::GetInterfaceMethodImplementationSlot)
390     FCFuncElement("IsComObject", RuntimeTypeHandle::IsComObject)
391 #ifdef FEATURE_REMOTING        
392     FCFuncElement("HasProxyAttribute", RuntimeTypeHandle::HasProxyAttribute)
393     FCFuncElement("IsContextful", RuntimeTypeHandle::IsContextful)
394 #endif    
395     FCFuncElement("IsValueType", RuntimeTypeHandle::IsValueType)
396     FCFuncElement("IsInterface", RuntimeTypeHandle::IsInterface)
397     QCFuncElement("IsSecurityCritical", RuntimeTypeHandle::IsSecurityCritical)
398     QCFuncElement("IsSecuritySafeCritical", RuntimeTypeHandle::IsSecuritySafeCritical)
399     QCFuncElement("IsSecurityTransparent", RuntimeTypeHandle::IsSecurityTransparent)
400     QCFuncElement("_IsVisible", RuntimeTypeHandle::IsVisible)
401     QCFuncElement("ConstructName", RuntimeTypeHandle::ConstructName)
402     FCFuncElement("CanCastTo", RuntimeTypeHandle::CanCastTo)
403     QCFuncElement("GetTypeByName", RuntimeTypeHandle::GetTypeByName)
404     QCFuncElement("GetTypeByNameUsingCARules", RuntimeTypeHandle::GetTypeByNameUsingCARules)
405     QCFuncElement("GetInstantiation", RuntimeTypeHandle::GetInstantiation)
406     QCFuncElement("Instantiate", RuntimeTypeHandle::Instantiate)
407     QCFuncElement("GetGenericTypeDefinition", RuntimeTypeHandle::GetGenericTypeDefinition)
408     FCFuncElement("HasInstantiation", RuntimeTypeHandle::HasInstantiation)
409     FCFuncElement("GetGenericVariableIndex", RuntimeTypeHandle::GetGenericVariableIndex)
410     FCFuncElement("IsGenericVariable", RuntimeTypeHandle::IsGenericVariable)
411     FCFuncElement("IsGenericTypeDefinition", RuntimeTypeHandle::IsGenericTypeDefinition)
412     FCFuncElement("ContainsGenericVariables", RuntimeTypeHandle::ContainsGenericVariables)
413     FCFuncElement("SatisfiesConstraints", RuntimeTypeHandle::SatisfiesConstraints)
414     FCFuncElement("Allocate", RuntimeTypeHandle::Allocate) //for A.CI
415     FCFuncElement("CompareCanonicalHandles", RuntimeTypeHandle::CompareCanonicalHandles)
416     FCIntrinsic("GetValueInternal", RuntimeTypeHandle::GetValueInternal, CORINFO_INTRINSIC_RTH_GetValueInternal)
417 FCFuncEnd()
418
419 FCFuncStart(gMetaDataImport)
420     FCFuncElement("_GetDefaultValue", MetaDataImport::GetDefaultValue) 
421     FCFuncElement("_GetName", MetaDataImport::GetName) 
422     FCFuncElement("_GetUserString", MetaDataImport::GetUserString) 
423     FCFuncElement("_GetScopeProps", MetaDataImport::GetScopeProps)  
424     FCFuncElement("_GetClassLayout", MetaDataImport::GetClassLayout) 
425     FCFuncElement("_GetSignatureFromToken", MetaDataImport::GetSignatureFromToken) 
426     FCFuncElement("_GetNamespace", MetaDataImport::GetNamespace) 
427     FCFuncElement("_GetEventProps", MetaDataImport::GetEventProps)
428     FCFuncElement("_GetFieldDefProps", MetaDataImport::GetFieldDefProps)
429     FCFuncElement("_GetPropertyProps", MetaDataImport::GetPropertyProps)  
430     FCFuncElement("_GetParentToken", MetaDataImport::GetParentToken)  
431     FCFuncElement("_GetParamDefProps", MetaDataImport::GetParamDefProps) 
432     FCFuncElement("_GetGenericParamProps", MetaDataImport::GetGenericParamProps) 
433     
434     FCFuncElement("_Enum", MetaDataImport::Enum) 
435     FCFuncElement("_GetMemberRefProps", MetaDataImport::GetMemberRefProps) 
436     FCFuncElement("_GetCustomAttributeProps", MetaDataImport::GetCustomAttributeProps) 
437     FCFuncElement("_GetFieldOffset", MetaDataImport::GetFieldOffset) 
438
439     FCFuncElement("_GetSigOfFieldDef", MetaDataImport::GetSigOfFieldDef) 
440     FCFuncElement("_GetSigOfMethodDef", MetaDataImport::GetSigOfMethodDef) 
441     FCFuncElement("_GetFieldMarshal", MetaDataImport::GetFieldMarshal) 
442     FCFuncElement("_GetPInvokeMap", MetaDataImport::GetPinvokeMap) 
443     FCFuncElement("_IsValidToken", MetaDataImport::IsValidToken) 
444     FCFuncElement("_GetMarshalAs", MetaDataImport::GetMarshalAs)  
445 FCFuncEnd()
446
447 FCFuncStart(gRuntimeFieldInfoFuncs)
448     FCFuncElement("PerformVisibilityCheckOnField",  ReflectionInvocation::PerformVisibilityCheckOnField)
449 FCFuncEnd()
450
451 FCFuncStart(gSignatureNative)
452     FCFuncElement("GetSignature", SignatureNative::GetSignature)
453     FCFuncElement("GetCustomModifiers", SignatureNative::GetCustomModifiers)
454     FCFuncElement("CompareSig", SignatureNative::CompareSig)
455 FCFuncEnd()
456
457 FCFuncStart(gRuntimeMethodHandle)
458     QCFuncElement("ConstructInstantiation", RuntimeMethodHandle::ConstructInstantiation)
459     FCFuncElement("_GetCurrentMethod", RuntimeMethodHandle::GetCurrentMethod)
460     FCFuncElement("InvokeMethod", RuntimeMethodHandle::InvokeMethod)
461     QCFuncElement("GetFunctionPointer", RuntimeMethodHandle::GetFunctionPointer)
462     FCFuncElement("GetImplAttributes", RuntimeMethodHandle::GetImplAttributes)
463     FCFuncElement("GetAttributes", RuntimeMethodHandle::GetAttributes)
464     FCFuncElement("GetDeclaringType", RuntimeMethodHandle::GetDeclaringType)
465     FCFuncElement("GetSlot", RuntimeMethodHandle::GetSlot)
466     FCFuncElement("GetMethodDef", RuntimeMethodHandle::GetMethodDef)
467     FCFuncElement("GetName", RuntimeMethodHandle::GetName)
468     FCFuncElement("_GetUtf8Name", RuntimeMethodHandle::GetUtf8Name)
469     FCFuncElement("MatchesNameHash", RuntimeMethodHandle::MatchesNameHash)
470     QCFuncElement("GetMethodInstantiation", RuntimeMethodHandle::GetMethodInstantiation)
471     FCFuncElement("HasMethodInstantiation", RuntimeMethodHandle::HasMethodInstantiation)
472     FCFuncElement("IsGenericMethodDefinition", RuntimeMethodHandle::IsGenericMethodDefinition)
473     FCFuncElement("IsTypicalMethodDefinition", RuntimeMethodHandle::IsTypicalMethodDefinition)
474     QCFuncElement("GetTypicalMethodDefinition", RuntimeMethodHandle::GetTypicalMethodDefinition)
475     QCFuncElement("StripMethodInstantiation", RuntimeMethodHandle::StripMethodInstantiation)
476     FCFuncElement("GetStubIfNeeded", RuntimeMethodHandle::GetStubIfNeeded)
477     FCFuncElement("GetMethodFromCanonical", RuntimeMethodHandle::GetMethodFromCanonical)
478     FCFuncElement("IsDynamicMethod", RuntimeMethodHandle::IsDynamicMethod)
479     FCFuncElement("GetMethodBody", RuntimeMethodHandle::GetMethodBody)    
480     QCFuncElement("_IsSecurityTransparent", RuntimeMethodHandle::IsSecurityTransparent)
481     FCFuncElement("CheckLinktimeDemands", RuntimeMethodHandle::CheckLinktimeDemands)    
482     QCFuncElement("IsCAVisibleFromDecoratedType", RuntimeMethodHandle::IsCAVisibleFromDecoratedType)
483     FCFuncElement("IsConstructor", RuntimeMethodHandle::IsConstructor)    
484     QCFuncElement("Destroy", RuntimeMethodHandle::Destroy)
485     FCFuncElement("GetResolver", RuntimeMethodHandle::GetResolver)
486     FCFuncElement("GetLoaderAllocator", RuntimeMethodHandle::GetLoaderAllocator)
487     FCFuncElement("GetSpecialSecurityFlags", ReflectionInvocation::GetSpecialSecurityFlags)
488 FCFuncEnd()
489
490 FCFuncStart(gCOMDefaultBinderFuncs)
491     FCFuncElement("CanConvertPrimitive", ReflectionBinder::DBCanConvertPrimitive)
492     FCFuncElement("CanConvertPrimitiveObjectToType",  ReflectionBinder::DBCanConvertObjectPrimitive)
493 FCFuncEnd()
494
495
496 FCFuncStart(gCOMFieldHandleNewFuncs)
497     FCFuncElement("GetValue", RuntimeFieldHandle::GetValue)
498     FCFuncElement("SetValue", RuntimeFieldHandle::SetValue)
499     FCFuncElement("GetValueDirect", RuntimeFieldHandle::GetValueDirect)
500     FCFuncElement("SetValueDirect", RuntimeFieldHandle::SetValueDirect)
501     FCFuncElement("GetName", RuntimeFieldHandle::GetName)
502     FCFuncElement("_GetUtf8Name", RuntimeFieldHandle::GetUtf8Name)
503     FCFuncElement("MatchesNameHash", RuntimeFieldHandle::MatchesNameHash)
504     FCFuncElement("GetAttributes", RuntimeFieldHandle::GetAttributes)
505     FCFuncElement("GetApproxDeclaringType", RuntimeFieldHandle::GetApproxDeclaringType)
506     FCFuncElement("GetToken", RuntimeFieldHandle::GetToken)
507     FCFuncElement("GetStaticFieldForGenericType", RuntimeFieldHandle::GetStaticFieldForGenericType)
508     QCFuncElement("IsSecurityCritical", RuntimeFieldHandle::IsSecurityCritical)
509     QCFuncElement("IsSecuritySafeCritical", RuntimeFieldHandle::IsSecuritySafeCritical)
510     QCFuncElement("IsSecurityTransparent", RuntimeFieldHandle::IsSecurityTransparent)
511     FCFuncElement("AcquiresContextFromThis", RuntimeFieldHandle::AcquiresContextFromThis)
512     QCFuncElement("CheckAttributeAccess", RuntimeFieldHandle::CheckAttributeAccess)
513 FCFuncEnd()
514
515
516 FCFuncStart(gCOMModuleFuncs)
517     QCFuncElement("GetType", COMModule::GetType)
518     QCFuncElement("GetScopeName", COMModule::GetScopeName)
519     FCFuncElement("GetTypes", COMModule::GetTypes)
520     QCFuncElement("GetFullyQualifiedName", COMModule::GetFullyQualifiedName)
521     QCFuncElement("nIsTransientInternal", COMModule::IsTransient)
522     FCFuncElement("IsResource", COMModule::IsResource)    
523 FCFuncEnd()
524
525 FCFuncStart(gCOMModuleBuilderFuncs)
526     FCFuncElement("nCreateISymWriterForDynamicModule", COMModule::nCreateISymWriterForDynamicModule)
527     QCFuncElement("GetStringConstant", COMModule::GetStringConstant)
528     QCFuncElement("GetTypeRef", COMModule::GetTypeRef)
529     QCFuncElement("GetTokenFromTypeSpec", COMModule::GetTokenFromTypeSpec)
530     QCFuncElement("GetMemberRef", COMModule::GetMemberRef)
531     QCFuncElement("GetMemberRefOfMethodInfo", COMModule::GetMemberRefOfMethodInfo)
532     QCFuncElement("GetMemberRefOfFieldInfo", COMModule::GetMemberRefOfFieldInfo)
533     QCFuncElement("GetMemberRefFromSignature", COMModule::GetMemberRefFromSignature)
534     QCFuncElement("GetArrayMethodToken", COMModule::GetArrayMethodToken)
535     QCFuncElement("SetFieldRVAContent", COMModule::SetFieldRVAContent)
536 FCFuncEnd()
537
538 FCFuncStart(gCOMModuleHandleFuncs)
539     FCFuncElement("GetToken", ModuleHandle::GetToken)
540     QCFuncElement("GetModuleType", ModuleHandle::GetModuleType)
541     FCFuncElement("GetDynamicMethod", ModuleHandle::GetDynamicMethod)
542     FCFuncElement("_GetMetadataImport", ModuleHandle::GetMetadataImport)
543     QCFuncElement("ResolveType", ModuleHandle::ResolveType)
544     QCFuncElement("ResolveMethod", ModuleHandle::ResolveMethod)
545     QCFuncElement("_ContainsPropertyMatchingHash", ModuleHandle::ContainsPropertyMatchingHash)
546     QCFuncElement("ResolveField", ModuleHandle::ResolveField)
547     QCFuncElement("GetPEKind", ModuleHandle::GetPEKind)
548     FCFuncElement("GetMDStreamVersion", ModuleHandle::GetMDStreamVersion)
549 FCFuncEnd()
550
551 FCFuncStart(gCustomAttributeEncodedArgument)
552     FCFuncElement("ParseAttributeArguments", Attribute::ParseAttributeArguments)
553 FCFuncEnd()
554
555 FCFuncStart(gCOMCustomAttributeFuncs)
556     FCFuncElement("_ParseAttributeUsageAttribute", COMCustomAttribute::ParseAttributeUsageAttribute)
557     FCFuncElement("_CreateCaObject", COMCustomAttribute::CreateCaObject)
558     FCFuncElement("_GetPropertyOrFieldData",  COMCustomAttribute::GetPropertyOrFieldData)
559 FCFuncEnd()
560
561 FCFuncStart(gCOMClassWriter)
562     QCFuncElement("DefineGenericParam", COMDynamicWrite::DefineGenericParam)
563     QCFuncElement("DefineType", COMDynamicWrite::DefineType)
564     QCFuncElement("SetParentType", COMDynamicWrite::SetParentType)
565     QCFuncElement("AddInterfaceImpl", COMDynamicWrite::AddInterfaceImpl)
566     QCFuncElement("DefineMethod", COMDynamicWrite::DefineMethod)
567     QCFuncElement("DefineMethodSpec", COMDynamicWrite::DefineMethodSpec)
568     QCFuncElement("SetMethodIL", COMDynamicWrite::SetMethodIL)
569     QCFuncElement("TermCreateClass", COMDynamicWrite::TermCreateClass)
570     QCFuncElement("DefineField", COMDynamicWrite::DefineField)
571     QCFuncElement("DefineProperty", COMDynamicWrite::DefineProperty)
572     QCFuncElement("DefineEvent", COMDynamicWrite::DefineEvent)
573     QCFuncElement("DefineMethodSemantics", COMDynamicWrite::DefineMethodSemantics)
574     QCFuncElement("SetMethodImpl", COMDynamicWrite::SetMethodImpl)
575     QCFuncElement("DefineMethodImpl", COMDynamicWrite::DefineMethodImpl)
576     QCFuncElement("GetTokenFromSig",  COMDynamicWrite::GetTokenFromSig)
577     QCFuncElement("SetFieldLayoutOffset", COMDynamicWrite::SetFieldLayoutOffset)
578     QCFuncElement("SetClassLayout", COMDynamicWrite::SetClassLayout)
579     QCFuncElement("SetParamInfo", COMDynamicWrite::SetParamInfo)
580     QCFuncElement("SetConstantValue", COMDynamicWrite::SetConstantValue)
581     QCFuncElement("DefineCustomAttribute", COMDynamicWrite::DefineCustomAttribute)
582 FCFuncEnd()
583
584 #ifdef FEATURE_METHOD_RENTAL
585 FCFuncStart(gCOMMethodRental)
586     QCFuncElement("SwapMethodBody", COMMethodRental::SwapMethodBody)
587 FCFuncEnd()
588 #endif // FEATURE_METHOD_RENTAL
589
590 FCFuncStart(gCompatibilitySwitchFuncs)
591     FCFuncElement("GetValueInternalCall", CompatibilitySwitch::GetValue)
592 FCFuncEnd()
593
594
595 FCFuncStart(gBCLDebugFuncs)
596     FCFuncElement("GetRegistryLoggingValues", ManagedLoggingHelper::GetRegistryLoggingValues)
597 FCFuncEnd()
598
599 FCFuncStart(gAppDomainManagerFuncs)
600     QCFuncElement("GetEntryAssembly", AssemblyNative::GetEntryAssembly)
601 #ifdef FEATURE_APPDOMAINMANAGER_INITOPTIONS
602     FCFuncElement("HasHost", AppDomainNative::HasHost)
603     QCFuncElement("RegisterWithHost", AppDomainNative::RegisterWithHost)
604 #endif    
605 FCFuncEnd()
606
607 #ifdef FEATURE_FUSION
608 FCFuncStart(gAppDomainSetupFuncs)
609     FCFuncElement("UpdateContextProperty", AppDomainNative::UpdateContextProperty)
610 FCFuncEnd()
611 #endif // FEATURE_FUSION
612
613
614 FCFuncStart(gAppDomainFuncs)
615 #ifdef FEATURE_REMOTING 
616     FCFuncElement("GetDefaultDomain", AppDomainNative::GetDefaultDomain)
617 #endif    
618 #ifdef FEATURE_FUSION
619     FCFuncElement("GetFusionContext", AppDomainNative::GetFusionContext)
620 #endif // FEATURE_FUSION
621     FCFuncElement("IsStringInterned", AppDomainNative::IsStringInterned)
622     FCFuncElement("IsUnloadingForcedFinalize", AppDomainNative::IsUnloadingForcedFinalize)
623 #ifdef FEATURE_REMOTING    
624     FCFuncElement("nCreateDomain", AppDomainNative::CreateDomain)
625     FCFuncElement("nCreateInstance", AppDomainNative::CreateInstance)
626 #endif    
627 #ifdef FEATURE_LOADER_OPTIMIZATION
628     FCFuncElement("UpdateLoaderOptimization", AppDomainNative::UpdateLoaderOptimization)
629 #endif // FEATURE_LOADER_OPTIMIZATION
630     QCFuncElement("DisableFusionUpdatesFromADManager", AppDomainNative::DisableFusionUpdatesFromADManager)
631
632 #ifdef FEATURE_APPX
633     QCFuncElement("nGetAppXFlags", AppDomainNative::GetAppXFlags)
634 #endif
635     QCFuncElement("GetAppDomainManagerType", AppDomainNative::GetAppDomainManagerType)
636     QCFuncElement("SetAppDomainManagerType", AppDomainNative::SetAppDomainManagerType)
637     FCFuncElement("nGetFriendlyName", AppDomainNative::GetFriendlyName)
638     QCFuncElement("SetSecurityHomogeneousFlag", AppDomainNative::SetSecurityHomogeneousFlag)
639     QCFuncElement("SetupDomainSecurity", AppDomainNative::SetupDomainSecurity)
640     FCFuncElement("nSetupFriendlyName", AppDomainNative::SetupFriendlyName)
641 #if FEATURE_COMINTEROP
642     FCFuncElement("nSetDisableInterfaceCache", AppDomainNative::SetDisableInterfaceCache)
643 #endif // FEATURE_COMINTEROP
644 #ifdef FEATURE_VERSIONING
645     FCFuncElement("nCreateContext", AppDomainNative::CreateContext)
646 #endif // FEATURE_VERSIONING
647 #ifdef FEATURE_REMOTING
648     FCFuncElement("nUnload", AppDomainNative::Unload)
649 #endif // FEATURE_REMOTING
650     FCFuncElement("GetId", AppDomainNative::GetId)
651     FCFuncElement("GetOrInternString", AppDomainNative::GetOrInternString)
652     QCFuncElement("GetGrantSet", AppDomainNative::GetGrantSet)
653 #ifdef FEATURE_REMOTING
654     FCFuncElement("GetDynamicDir", AppDomainNative::GetDynamicDir)
655     FCFuncElement("nChangeSecurityPolicy", AppDomainNative::ChangeSecurityPolicy)
656     FCFuncElement("IsDomainIdValid", AppDomainNative::IsDomainIdValid)
657     FCFuncElement("nApplyPolicy", AppDomainNative::nApplyPolicy)
658 #endif // FEATURE_REMOTING
659     QCFuncElement("nSetupBindingPaths", AppDomainNative::SetupBindingPaths)
660     QCFuncElement("nSetNativeDllSearchDirectories", AppDomainNative::SetNativeDllSearchDirectories)
661     FCFuncElement("IsFinalizingForUnload", AppDomainNative::IsFinalizingForUnload)
662     FCFuncElement("PublishAnonymouslyHostedDynamicMethodsAssembly", AppDomainNative::PublishAnonymouslyHostedDynamicMethodsAssembly)
663 #ifdef FEATURE_APPDOMAIN_RESOURCE_MONITORING
664     FCFuncElement("nEnableMonitoring", AppDomainNative::EnableMonitoring)
665     FCFuncElement("nMonitoringIsEnabled", AppDomainNative::MonitoringIsEnabled)
666     FCFuncElement("nGetTotalProcessorTime", AppDomainNative::GetTotalProcessorTime)
667     FCFuncElement("nGetTotalAllocatedMemorySize", AppDomainNative::GetTotalAllocatedMemorySize)
668     FCFuncElement("nGetLastSurvivedMemorySize", AppDomainNative::GetLastSurvivedMemorySize)
669     FCFuncElement("nGetLastSurvivedProcessMemorySize", AppDomainNative::GetLastSurvivedProcessMemorySize)
670
671 #endif //FEATURE_APPDOMAIN_RESOURCE_MONITORING
672 FCFuncEnd()
673
674
675 FCFuncStart(gUtf8String)
676     FCFuncElement("EqualsCaseSensitive", Utf8String::EqualsCaseSensitive)
677     QCFuncElement("EqualsCaseInsensitive", Utf8String::EqualsCaseInsensitive)
678     QCFuncElement("HashCaseInsensitive", Utf8String::HashCaseInsensitive)
679 FCFuncEnd()
680
681 FCFuncStart(gTypeNameBuilder)
682     QCFuncElement("CreateTypeNameBuilder", TypeNameBuilder::_CreateTypeNameBuilder)
683     QCFuncElement("ReleaseTypeNameBuilder", TypeNameBuilder::_ReleaseTypeNameBuilder)
684     QCFuncElement("OpenGenericArguments", TypeNameBuilder::_OpenGenericArguments)
685     QCFuncElement("CloseGenericArguments", TypeNameBuilder::_CloseGenericArguments)
686     QCFuncElement("OpenGenericArgument", TypeNameBuilder::_OpenGenericArgument)
687     QCFuncElement("CloseGenericArgument", TypeNameBuilder::_CloseGenericArgument)
688     QCFuncElement("AddName", TypeNameBuilder::_AddName)
689     QCFuncElement("AddPointer", TypeNameBuilder::_AddPointer)
690     QCFuncElement("AddByRef", TypeNameBuilder::_AddByRef)
691     QCFuncElement("AddSzArray", TypeNameBuilder::_AddSzArray)
692     QCFuncElement("AddArray", TypeNameBuilder::_AddArray)
693     QCFuncElement("AddAssemblySpec", TypeNameBuilder::_AddAssemblySpec)
694     QCFuncElement("ToString", TypeNameBuilder::_ToString)
695     QCFuncElement("Clear", TypeNameBuilder::_Clear)
696 FCFuncEnd()
697
698
699 FCFuncStart(gSafeTypeNameParserHandle)
700     QCFuncElement("_ReleaseTypeNameParser", TypeName::QReleaseTypeNameParser)
701 FCFuncEnd()
702
703 FCFuncStart(gTypeNameParser)
704     QCFuncElement("_CreateTypeNameParser",  TypeName::QCreateTypeNameParser)
705     QCFuncElement("_GetNames",              TypeName::QGetNames)
706     QCFuncElement("_GetTypeArguments",      TypeName::QGetTypeArguments)
707     QCFuncElement("_GetModifiers",          TypeName::QGetModifiers)
708     QCFuncElement("_GetAssemblyName",       TypeName::QGetAssemblyName)
709 FCFuncEnd()
710
711 FCFuncStart(gManifestBasedResourceGrovelerFuncs)
712     QCFuncElement("GetNeutralResourcesLanguageAttribute", AssemblyNative::GetNeutralResourcesLanguageAttribute)
713 FCFuncEnd()
714
715 FCFuncStart(gAssemblyFuncs)
716     QCFuncElement("GetFullName", AssemblyNative::GetFullName)
717     QCFuncElement("GetLocation", AssemblyNative::GetLocation)
718     QCFuncElement("GetResource", AssemblyNative::GetResource)
719     QCFuncElement("GetCodeBase", AssemblyNative::GetCodeBase)
720     QCFuncElement("GetExecutingAssembly", AssemblyNative::GetExecutingAssembly)
721     QCFuncElement("GetFlags", AssemblyNative::GetFlags)
722     QCFuncElement("GetHashAlgorithm", AssemblyNative::GetHashAlgorithm)
723     QCFuncElement("GetLocale", AssemblyNative::GetLocale)
724     QCFuncElement("GetPublicKey", AssemblyNative::GetPublicKey)
725     QCFuncElement("GetSimpleName", AssemblyNative::GetSimpleName)
726     QCFuncElement("GetVersion", AssemblyNative::GetVersion)
727     FCFuncElement("FCallIsDynamic", AssemblyNative::IsDynamic)
728     FCFuncElement("_nLoad", AssemblyNative::Load)
729     FCFuncElement("nLoadImage", AssemblyNative::LoadImage)
730     QCFuncElement("GetType", AssemblyNative::GetType)
731     QCFuncElement("GetManifestResourceInfo", AssemblyNative::GetManifestResourceInfo)
732     QCFuncElement("GetModules", AssemblyNative::GetModules)
733     QCFuncElement("GetModule", AssemblyNative::GetModule)
734     FCFuncElement("GetReferencedAssemblies", AssemblyNative::GetReferencedAssemblies)
735     QCFuncElement("GetExportedTypes", AssemblyNative::GetExportedTypes)
736     FCFuncElement("GetManifestResourceNames", AssemblyNative::GetManifestResourceNames)
737     QCFuncElement("GetEntryPoint", AssemblyNative::GetEntryPoint)
738     QCFuncElement("IsAllSecurityTransparent", AssemblyNative::IsAllSecurityTransparent)
739     QCFuncElement("IsAllSecurityCritical", AssemblyNative::IsAllSecurityCritical)
740     QCFuncElement("GetImageRuntimeVersion", AssemblyNative::GetImageRuntimeVersion)
741     FCFuncElement("IsReflectionOnly", AssemblyNative::IsReflectionOnly)
742     FCFuncElement("GetManifestModule", AssemblyHandle::GetManifestModule)
743     FCFuncElement("GetToken", AssemblyHandle::GetToken)
744 FCFuncEnd()
745
746 FCFuncStart(gAssemblyExtensionsFuncs)
747     QCFuncElement("InternalTryGetRawMetadata", AssemblyNative::InternalTryGetRawMetadata)
748 FCFuncEnd()
749
750 #if defined(FEATURE_HOST_ASSEMBLY_RESOLVER)
751 FCFuncStart(gAssemblyLoadContextFuncs)
752     QCFuncElement("InitializeAssemblyLoadContext", AssemblyNative::InitializeAssemblyLoadContext)
753     QCFuncElement("LoadFromPath", AssemblyNative::LoadFromPath)
754     QCFuncElement("GetLoadedAssembliesInternal", AssemblyNative::GetLoadedAssembliesInternal)
755     QCFuncElement("InternalLoadUnmanagedDllFromPath", AssemblyNative::InternalLoadUnmanagedDllFromPath)
756     QCFuncElement("CanUseAppPathAssemblyLoadContextInCurrentDomain", AssemblyNative::CanUseAppPathAssemblyLoadContextInCurrentDomain)
757     QCFuncElement("LoadFromStream", AssemblyNative::LoadFromStream)
758     FCFuncElement("nGetFileInformation", AssemblyNameNative::GetFileInformation)
759     QCFuncElement("GetLoadContextForAssembly", AssemblyNative::GetLoadContextForAssembly)
760 #if defined(FEATURE_MULTICOREJIT)
761     QCFuncElement("InternalSetProfileRoot", MultiCoreJITNative::InternalSetProfileRoot)
762     QCFuncElement("InternalStartProfile",   MultiCoreJITNative::InternalStartProfile)
763 #endif // defined(FEATURE_MULTICOREJIT)
764 FCFuncEnd()
765 #endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER)
766
767 FCFuncStart(gAssemblyNameFuncs)
768     FCFuncElement("nInit", AssemblyNameNative::Init)
769     FCFuncElement("nToString", AssemblyNameNative::ToString)
770     FCFuncElement("nGetPublicKeyToken", AssemblyNameNative::GetPublicKeyToken)
771     FCFuncElement("ReferenceMatchesDefinitionInternal", AssemblyNameNative::ReferenceMatchesDefinition)
772     FCFuncElement("nGetFileInformation", AssemblyNameNative::GetFileInformation)
773 FCFuncEnd()
774
775 FCFuncStart(gLoaderAllocatorFuncs)
776     QCFuncElement("Destroy", LoaderAllocator::Destroy)
777 FCFuncEnd()
778
779 FCFuncStart(gAssemblyBuilderFuncs)
780     FCFuncElement("nCreateDynamicAssembly", AppDomainNative::CreateDynamicAssembly)
781     FCFuncElement("GetInMemoryAssemblyModule", AssemblyNative::GetInMemoryAssemblyModule)
782 FCFuncEnd()
783
784 #ifdef MDA_SUPPORTED 
785 FCFuncStart(gMda)
786     FCFuncElement("MemberInfoCacheCreation", MdaManagedSupport::MemberInfoCacheCreation)
787     FCFuncElement("DateTimeInvalidLocalFormat", MdaManagedSupport::DateTimeInvalidLocalFormat)
788     FCFuncElement("IsStreamWriterBufferedDataLostEnabled", MdaManagedSupport::IsStreamWriterBufferedDataLostEnabled)
789     FCFuncElement("IsStreamWriterBufferedDataLostCaptureAllocatedCallStack", MdaManagedSupport::IsStreamWriterBufferedDataLostCaptureAllocatedCallStack)
790     FCFuncElement("ReportStreamWriterBufferedDataLost", MdaManagedSupport::ReportStreamWriterBufferedDataLost)
791     FCFuncElement("IsInvalidGCHandleCookieProbeEnabled", MdaManagedSupport::IsInvalidGCHandleCookieProbeEnabled)
792     FCFuncElement("FireInvalidGCHandleCookieProbe", MdaManagedSupport::FireInvalidGCHandleCookieProbe)
793     FCFuncElement("ReportErrorSafeHandleRelease", MdaManagedSupport::ReportErrorSafeHandleRelease)
794 FCFuncEnd()
795 #endif // MDA_SUPPORTED
796
797 FCFuncStart(gDelegateFuncs)
798     FCFuncElement("BindToMethodName", COMDelegate::BindToMethodName)
799     FCFuncElement("BindToMethodInfo", COMDelegate::BindToMethodInfo)
800     FCFuncElement("GetMulticastInvoke", COMDelegate::GetMulticastInvoke)
801     FCFuncElement("GetInvokeMethod", COMDelegate::GetInvokeMethod)
802     FCFuncElement("InternalAlloc", COMDelegate::InternalAlloc)
803     FCFuncElement("InternalAllocLike", COMDelegate::InternalAllocLike)
804     FCFuncElement("InternalEqualTypes", COMDelegate::InternalEqualTypes)
805     FCFuncElement("InternalEqualMethodHandles", COMDelegate::InternalEqualMethodHandles)
806     FCFuncElement("FindMethodHandle", COMDelegate::FindMethodHandle)
807     FCFuncElement("AdjustTarget", COMDelegate::AdjustTarget)
808     FCFuncElement("GetCallStub", COMDelegate::GetCallStub)
809     FCFuncElement("CompareUnmanagedFunctionPtrs", COMDelegate::CompareUnmanagedFunctionPtrs)
810
811     // The FCall mechanism knows how to wire multiple different constructor calls into a
812     // single entrypoint, without the following entry.  But we need this entry to satisfy
813     // frame creation within the body:
814     FCFuncElement("DelegateConstruct", COMDelegate::DelegateConstruct)
815 FCFuncEnd()
816
817 FCFuncStart(gMathFuncs)
818     FCIntrinsicSig("Abs", &gsig_SM_Dbl_RetDbl, COMDouble::Abs, CORINFO_INTRINSIC_Abs)
819     FCIntrinsicSig("Abs", &gsig_SM_Flt_RetFlt, COMSingle::Abs, CORINFO_INTRINSIC_Abs)
820     FCIntrinsic("Acos", COMDouble::Acos, CORINFO_INTRINSIC_Acos)
821     FCIntrinsic("Asin", COMDouble::Asin, CORINFO_INTRINSIC_Asin)
822     FCIntrinsic("Atan", COMDouble::Atan, CORINFO_INTRINSIC_Atan)
823     FCIntrinsic("Atan2", COMDouble::Atan2, CORINFO_INTRINSIC_Atan2)
824     FCIntrinsic("Ceiling", COMDouble::Ceil, CORINFO_INTRINSIC_Ceiling)
825     FCIntrinsic("Cos", COMDouble::Cos, CORINFO_INTRINSIC_Cos)
826     FCIntrinsic("Cosh", COMDouble::Cosh, CORINFO_INTRINSIC_Cosh)
827     FCIntrinsic("Exp", COMDouble::Exp, CORINFO_INTRINSIC_Exp)
828     FCIntrinsic("Floor", COMDouble::Floor, CORINFO_INTRINSIC_Floor)
829     FCFuncElement("Log", COMDouble::Log)
830     FCIntrinsic("Log10", COMDouble::Log10, CORINFO_INTRINSIC_Log10)
831     FCIntrinsic("Pow", COMDouble::Pow, CORINFO_INTRINSIC_Pow)
832     FCIntrinsic("Round", COMDouble::Round, CORINFO_INTRINSIC_Round)
833     FCIntrinsic("Sin", COMDouble::Sin, CORINFO_INTRINSIC_Sin)
834     FCIntrinsic("Sinh", COMDouble::Sinh, CORINFO_INTRINSIC_Sinh)
835     FCFuncElement("SplitFractionDouble", COMDouble::ModF)
836     FCIntrinsic("Sqrt", COMDouble::Sqrt, CORINFO_INTRINSIC_Sqrt)
837     FCIntrinsic("Tan", COMDouble::Tan, CORINFO_INTRINSIC_Tan)
838     FCIntrinsic("Tanh", COMDouble::Tanh, CORINFO_INTRINSIC_Tanh)
839 FCFuncEnd()
840
841 FCFuncStart(gMathFFuncs)
842     FCIntrinsic("Acos", COMSingle::Acos, CORINFO_INTRINSIC_Acos)
843     FCIntrinsic("Asin", COMSingle::Asin, CORINFO_INTRINSIC_Asin)
844     FCIntrinsic("Atan", COMSingle::Atan, CORINFO_INTRINSIC_Atan)
845     FCIntrinsic("Atan2", COMSingle::Atan2, CORINFO_INTRINSIC_Atan2)
846     FCIntrinsic("Ceiling", COMSingle::Ceil, CORINFO_INTRINSIC_Ceiling)
847     FCIntrinsic("Cos", COMSingle::Cos, CORINFO_INTRINSIC_Cos)
848     FCIntrinsic("Cosh", COMSingle::Cosh, CORINFO_INTRINSIC_Cosh)
849     FCIntrinsic("Exp", COMSingle::Exp, CORINFO_INTRINSIC_Exp)
850     FCIntrinsic("Floor", COMSingle::Floor, CORINFO_INTRINSIC_Floor)
851     FCFuncElement("Log", COMSingle::Log)
852     FCIntrinsic("Log10", COMSingle::Log10, CORINFO_INTRINSIC_Log10)
853     FCIntrinsic("Pow", COMSingle::Pow, CORINFO_INTRINSIC_Pow)
854     FCIntrinsic("Round", COMSingle::Round, CORINFO_INTRINSIC_Round)
855     FCIntrinsic("Sin", COMSingle::Sin, CORINFO_INTRINSIC_Sin)
856     FCIntrinsic("Sinh", COMSingle::Sinh, CORINFO_INTRINSIC_Sinh)
857     FCFuncElement("SplitFractionSingle", COMSingle::ModF)
858     FCIntrinsic("Sqrt", COMSingle::Sqrt, CORINFO_INTRINSIC_Sqrt)
859     FCIntrinsic("Tan", COMSingle::Tan, CORINFO_INTRINSIC_Tan)
860     FCIntrinsic("Tanh", COMSingle::Tanh, CORINFO_INTRINSIC_Tanh)
861 FCFuncEnd()
862
863 FCFuncStart(gRuntimeThreadFuncs)
864     FCFuncElement("get_IsAlive", ThreadNative::IsAlive)
865     FCFuncElement("IsBackgroundNative", ThreadNative::IsBackground)
866     FCFuncElement("SetBackgroundNative", ThreadNative::SetBackground)
867     FCFuncElement("get_IsThreadPoolThread", ThreadNative::IsThreadpoolThread)
868     FCFuncElement("GetPriorityNative", ThreadNative::GetPriority)
869     FCFuncElement("SetPriorityNative", ThreadNative::SetPriority)
870     FCFuncElement("GetThreadStateNative", ThreadNative::GetThreadState)
871 #ifdef FEATURE_COMINTEROP_APARTMENT_SUPPORT
872     FCFuncElement("GetApartmentStateNative", ThreadNative::GetApartmentState)
873     FCFuncElement("SetApartmentStateNative", ThreadNative::SetApartmentState)
874 #endif // FEATURE_COMINTEROP_APARTMENT_SUPPORT
875 #ifdef FEATURE_COMINTEROP
876     FCFuncElement("DisableComObjectEagerCleanup", ThreadNative::DisableComObjectEagerCleanup)
877 #endif // FEATURE_COMINTEROP
878     FCFuncElement("InterruptInternal", ThreadNative::Interrupt)
879     FCFuncElement("JoinInternal", ThreadNative::Join)
880 FCFuncEnd()
881
882 FCFuncStart(gThreadFuncs)
883     FCDynamic("InternalGetCurrentThread", CORINFO_INTRINSIC_Illegal, ECall::InternalGetCurrentThread)
884     FCFuncElement("StartInternal", ThreadNative::Start)
885 #ifdef FEATURE_LEAK_CULTURE_INFO
886     FCFuncElement("nativeGetSafeCulture", ThreadNative::nativeGetSafeCulture)
887 #else
888     QCFuncElement("nativeInitCultureAccessors", ThreadNative::nativeInitCultureAccessors)
889 #endif
890 #undef Sleep
891     FCFuncElement("SleepInternal", ThreadNative::Sleep)
892 #define Sleep(a) Dont_Use_Sleep(a)
893     FCFuncElement("SetStart", ThreadNative::SetStart)
894 #ifdef FEATURE_REMOTING         
895     FCFuncElement("GetContextInternal", ThreadNative::GetContextFromContextID)
896 #endif    
897     FCFuncElement("GetDomainInternal", ThreadNative::GetDomain)
898     FCFuncElement("GetFastDomainInternal", ThreadNative::FastGetDomain)
899 #ifdef FEATURE_REMOTING         
900     FCFuncElement("InternalCrossContextCallback", ThreadNative::InternalCrossContextCallback)
901 #endif    
902     QCFuncElement("InformThreadNameChange", ThreadNative::InformThreadNameChange)
903     FCFuncElement("SpinWaitInternal", ThreadNative::SpinWait)
904     QCFuncElement("YieldInternal", ThreadNative::YieldThread)
905     FCIntrinsic("GetCurrentThreadNative", ThreadNative::GetCurrentThread, CORINFO_INTRINSIC_GetCurrentManagedThread)
906     FCIntrinsic("get_ManagedThreadId", ThreadNative::GetManagedThreadId, CORINFO_INTRINSIC_GetManagedThreadId)
907     FCFuncElement("InternalFinalize", ThreadNative::Finalize)
908 #ifdef FEATURE_LEAK_CULTURE_INFO
909     FCFuncElement("nativeSetThreadUILocale", ThreadNative::SetThreadUILocale)
910 #endif
911 #ifdef FEATURE_COMINTEROP_APARTMENT_SUPPORT
912     FCFuncElement("StartupSetApartmentStateInternal", ThreadNative::StartupSetApartmentState)
913 #endif // FEATURE_COMINTEROP_APARTMENT_SUPPORT
914     FCIntrinsic("MemoryBarrier", ThreadNative::FCMemoryBarrier, CORINFO_INTRINSIC_MemoryBarrier)
915 FCFuncEnd()
916
917 FCFuncStart(gThreadPoolFuncs)
918     FCFuncElement("PostQueuedCompletionStatus", ThreadPoolNative::CorPostQueuedCompletionStatus)
919     FCFuncElement("GetAvailableThreadsNative", ThreadPoolNative::CorGetAvailableThreads)
920     FCFuncElement("SetMinThreadsNative", ThreadPoolNative::CorSetMinThreads)
921     FCFuncElement("GetMinThreadsNative", ThreadPoolNative::CorGetMinThreads)
922     FCFuncElement("RegisterWaitForSingleObjectNative", ThreadPoolNative::CorRegisterWaitForSingleObject)
923     FCFuncElement("BindIOCompletionCallbackNative", ThreadPoolNative::CorBindIoCompletionCallback)
924     FCFuncElement("SetMaxThreadsNative", ThreadPoolNative::CorSetMaxThreads)
925     FCFuncElement("GetMaxThreadsNative", ThreadPoolNative::CorGetMaxThreads)
926     FCFuncElement("NotifyWorkItemComplete", ThreadPoolNative::NotifyRequestComplete)
927     FCFuncElement("NotifyWorkItemProgressNative", ThreadPoolNative::NotifyRequestProgress)
928     FCFuncElement("IsThreadPoolHosted", ThreadPoolNative::IsThreadPoolHosted)   
929     QCFuncElement("InitializeVMTp", ThreadPoolNative::InitializeVMTp)
930     FCFuncElement("ReportThreadStatus", ThreadPoolNative::ReportThreadStatus)   
931     QCFuncElement("RequestWorkerThread", ThreadPoolNative::RequestWorkerThread)
932 FCFuncEnd()
933
934 FCFuncStart(gTimerFuncs)
935     QCFuncElement("CreateAppDomainTimer", AppDomainTimerNative::CreateAppDomainTimer)
936     QCFuncElement("ChangeAppDomainTimer", AppDomainTimerNative::ChangeAppDomainTimer)
937     QCFuncElement("DeleteAppDomainTimer", AppDomainTimerNative::DeleteAppDomainTimer)
938 FCFuncEnd()
939
940
941 FCFuncStart(gRegisteredWaitHandleFuncs)
942     FCFuncElement("UnregisterWaitNative", ThreadPoolNative::CorUnregisterWait)
943     FCFuncElement("WaitHandleCleanupNative", ThreadPoolNative::CorWaitHandleCleanupNative)
944 FCFuncEnd()
945
946 FCFuncStart(gWaitHandleFuncs)
947     FCFuncElement("WaitOneNative", WaitHandleNative::CorWaitOneNative)
948     FCFuncElement("WaitMultiple", WaitHandleNative::CorWaitMultipleNative)
949 #ifndef FEATURE_PAL
950     FCFuncElement("SignalAndWaitOne", WaitHandleNative::CorSignalAndWaitOneNative)
951 #endif // !FEATURE_PAL
952 FCFuncEnd()
953
954 FCFuncStart(gNumberFuncs)
955     FCFuncElement("FormatDecimal", COMNumber::FormatDecimal)
956     FCFuncElement("FormatDouble", COMNumber::FormatDouble)
957     FCFuncElement("FormatInt32", COMNumber::FormatInt32)
958     FCFuncElement("FormatUInt32", COMNumber::FormatUInt32)
959     FCFuncElement("FormatInt64", COMNumber::FormatInt64)
960     FCFuncElement("FormatUInt64", COMNumber::FormatUInt64)
961     FCFuncElement("FormatSingle", COMNumber::FormatSingle)
962     FCFuncElement("NumberBufferToDecimal", COMNumber::NumberBufferToDecimal)
963     FCFuncElement("NumberBufferToDouble", COMNumber::NumberBufferToDouble)
964 FCFuncEnd()
965
966 #ifdef FEATURE_COMINTEROP
967 FCFuncStart(gVariantFuncs)
968     FCFuncElement("SetFieldsObject", COMVariant::SetFieldsObject)
969     FCFuncElement("SetFieldsR4", COMVariant::SetFieldsR4)
970     FCFuncElement("SetFieldsR8", COMVariant::SetFieldsR8)
971     FCFuncElement("GetR4FromVar", COMVariant::GetR4FromVar)
972     FCFuncElement("GetR8FromVar", COMVariant::GetR8FromVar)
973     FCFuncElement("BoxEnum", COMVariant::BoxEnum)
974 FCFuncEnd()
975 #endif // FEATURE_COMINTEROP
976
977 #ifdef FEATURE_COMINTEROP
978 FCFuncStart(gOAVariantFuncs)
979     FCFuncElement("ChangeTypeEx", COMOAVariant::ChangeTypeEx)
980 FCFuncEnd()
981 #endif // FEATURE_COMINTEROP
982
983 FCFuncStart(gDecimalFuncs)
984     FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_Flt_RetVoid, COMDecimal::InitSingle)
985     FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_Dbl_RetVoid, COMDecimal::InitDouble)
986     FCFuncElement("FCallAddSub", COMDecimal::DoAddSubThrow)
987     FCFuncElement("FCallMultiply", COMDecimal::DoMultiplyThrow)
988     FCFuncElement("FCallDivide", COMDecimal::DoDivideThrow)
989     FCFuncElement("FCallCompare", COMDecimal::DoCompare)
990     FCFuncElement("FCallFloor", COMDecimal::DoFloor)
991     FCFuncElement("GetHashCode", COMDecimal::GetHashCode)
992     FCFuncElement("FCallRound", COMDecimal::DoRound)
993     FCFuncElement("FCallToCurrency", COMDecimal::DoToCurrency)
994     FCFuncElement("FCallToInt32", COMDecimal::ToInt32)    
995     FCFuncElement("ToDouble", COMDecimal::ToDouble)
996     FCFuncElement("ToSingle", COMDecimal::ToSingle)
997     FCFuncElement("FCallTruncate", COMDecimal::DoTruncate)
998 FCFuncEnd()
999
1000 FCFuncStart(gCurrencyFuncs)
1001     FCFuncElement("FCallToDecimal", COMCurrency::DoToDecimal)
1002 FCFuncEnd()
1003
1004
1005 #if !defined(FEATURE_COREFX_GLOBALIZATION)
1006 FCFuncStart(gCompareInfoFuncs)
1007     QCFuncElement("InternalGetGlobalizedHashCode", COMNlsInfo::InternalGetGlobalizedHashCode)
1008     QCFuncElement("InternalCompareString", COMNlsInfo::InternalCompareString)
1009     QCFuncElement("InternalFindNLSStringEx", COMNlsInfo::InternalFindNLSStringEx)
1010     QCFuncElement("NativeInternalInitSortHandle", COMNlsInfo::InternalInitSortHandle)
1011     QCFuncElement("InternalIsSortable", COMNlsInfo::InternalIsSortable)
1012     QCFuncElement("InternalGetSortKey", COMNlsInfo::InternalGetSortKey)
1013     QCFuncElement("InternalGetNlsVersionEx", COMNlsInfo::InternalGetNlsVersionEx)
1014 FCFuncEnd()
1015
1016 FCFuncStart(gEncodingTableFuncs)
1017     FCFuncElement("GetNumEncodingItems", COMNlsInfo::nativeGetNumEncodingItems)
1018     FCFuncElement("GetEncodingData", COMNlsInfo::nativeGetEncodingTableDataPointer)
1019     FCFuncElement("GetCodePageData", COMNlsInfo::nativeGetCodePageTableDataPointer)
1020 FCFuncEnd()
1021
1022 FCFuncStart(gCalendarDataFuncs)
1023     FCFuncElement("nativeGetTwoDigitYearMax", CalendarData::nativeGetTwoDigitYearMax)
1024     FCFuncElement("nativeGetCalendarData", CalendarData::nativeGetCalendarData)
1025     FCFuncElement("nativeGetCalendars", CalendarData::nativeGetCalendars)
1026 FCFuncEnd()
1027
1028 FCFuncStart(gCultureDataFuncs)
1029     FCFuncElement("nativeInitCultureData", COMNlsInfo::nativeInitCultureData)
1030     FCFuncElement("nativeGetNumberFormatInfoValues", COMNlsInfo::nativeGetNumberFormatInfoValues)
1031     FCFuncElement("nativeEnumTimeFormats", CalendarData::nativeEnumTimeFormats)
1032     FCFuncElement("LCIDToLocaleName", COMNlsInfo::LCIDToLocaleName)
1033     FCFuncElement("LocaleNameToLCID", COMNlsInfo::LocaleNameToLCID)    
1034
1035     QCFuncElement("nativeEnumCultureNames", COMNlsInfo::nativeEnumCultureNames)
1036
1037 FCFuncEnd()
1038
1039 FCFuncStart(gCultureInfoFuncs)
1040     QCFuncElement("InternalGetDefaultLocaleName", COMNlsInfo::InternalGetDefaultLocaleName)
1041     FCFuncElement("nativeGetLocaleInfoEx", COMNlsInfo::nativeGetLocaleInfoEx)
1042     FCFuncElement("nativeGetLocaleInfoExInt", COMNlsInfo::nativeGetLocaleInfoExInt)
1043     
1044     QCFuncElement("InternalGetUserDefaultUILanguage", COMNlsInfo::InternalGetUserDefaultUILanguage)
1045     QCFuncElement("InternalGetSystemDefaultUILanguage", COMNlsInfo::InternalGetSystemDefaultUILanguage)
1046 // Added but disabled from desktop in .NET 4.0, stayed disabled in .NET 4.5
1047     FCFuncElement("nativeGetResourceFallbackArray", COMNlsInfo::nativeGetResourceFallbackArray)
1048 FCFuncEnd()
1049
1050 FCFuncStart(gTextInfoFuncs)
1051     FCFuncElement("InternalChangeCaseChar", COMNlsInfo::InternalChangeCaseChar)
1052     FCFuncElement("InternalChangeCaseString", COMNlsInfo::InternalChangeCaseString)
1053     FCFuncElement("InternalGetCaseInsHash", COMNlsInfo::InternalGetCaseInsHash)
1054     QCFuncElement("InternalCompareStringOrdinalIgnoreCase", COMNlsInfo::InternalCompareStringOrdinalIgnoreCase)
1055     QCFuncElement("InternalTryFindStringOrdinalIgnoreCase", COMNlsInfo::InternalTryFindStringOrdinalIgnoreCase)
1056 FCFuncEnd()
1057 #endif // !defined(FEATURE_COREFX_GLOBALIZATION)
1058
1059 #ifdef FEATURE_COREFX_GLOBALIZATION
1060 FCFuncStart(gCompareInfoFuncs)
1061     QCFuncElement("InternalHashSortKey", CoreFxGlobalization::HashSortKey)
1062 FCFuncEnd()
1063 #endif
1064
1065 FCFuncStart(gArrayFuncs)
1066     FCFuncElement("get_Rank", ArrayNative::GetRank)
1067     FCFuncElement("GetLowerBound", ArrayNative::GetLowerBound)
1068     FCFuncElement("GetUpperBound", ArrayNative::GetUpperBound)
1069     FCIntrinsicSig("GetLength", &gsig_IM_Int_RetInt, ArrayNative::GetLength, CORINFO_INTRINSIC_Array_GetDimLength)
1070     FCFuncElement("get_Length", ArrayNative::GetLengthNoRank)
1071     FCFuncElement("get_LongLength", ArrayNative::GetLongLengthNoRank)
1072     FCFuncElement("GetDataPtrOffsetInternal", ArrayNative::GetDataPtrOffsetInternal)
1073     FCFuncElement("Initialize", ArrayNative::Initialize)
1074     FCFuncElement("Copy", ArrayNative::ArrayCopy)
1075     FCFuncElement("Clear", ArrayNative::ArrayClear)
1076     FCFuncElement("InternalCreate", ArrayNative::CreateInstance)
1077     FCFuncElement("InternalGetReference", ArrayNative::GetReference)
1078     FCFuncElement("InternalSetValue", ArrayNative::SetValue)
1079     FCFuncElement("TrySZIndexOf", ArrayHelper::TrySZIndexOf)
1080     FCFuncElement("TrySZLastIndexOf", ArrayHelper::TrySZLastIndexOf)
1081     FCFuncElement("TrySZBinarySearch", ArrayHelper::TrySZBinarySearch)
1082     FCFuncElement("TrySZSort", ArrayHelper::TrySZSort)
1083     FCFuncElement("TrySZReverse", ArrayHelper::TrySZReverse)
1084 FCFuncEnd()
1085
1086 FCFuncStart(gBufferFuncs)
1087     FCFuncElement("BlockCopy", Buffer::BlockCopy)
1088     FCFuncElement("InternalBlockCopy", Buffer::InternalBlockCopy)
1089     FCFuncElement("_GetByte", Buffer::GetByte)
1090     FCFuncElement("_SetByte", Buffer::SetByte)
1091     FCFuncElement("IsPrimitiveTypeArray", Buffer::IsPrimitiveTypeArray)
1092     FCFuncElement("_ByteLength", Buffer::ByteLength)
1093 #ifdef _TARGET_ARM_
1094     FCFuncElement("Memcpy", FCallMemcpy)
1095 #endif
1096     QCFuncElement("__Memmove", Buffer::MemMove)
1097 FCFuncEnd()
1098
1099 FCFuncStart(gGCInterfaceFuncs)
1100     FCFuncElement("GetGenerationWR", GCInterface::GetGenerationWR)
1101     FCFuncElement("_RegisterForFullGCNotification", GCInterface::RegisterForFullGCNotification)
1102     FCFuncElement("_CancelFullGCNotification", GCInterface::CancelFullGCNotification)
1103     FCFuncElement("_WaitForFullGCApproach", GCInterface::WaitForFullGCApproach)
1104     FCFuncElement("_WaitForFullGCComplete", GCInterface::WaitForFullGCComplete)
1105     FCFuncElement("_CollectionCount", GCInterface::CollectionCount)
1106     FCFuncElement("GetGCLatencyMode", GCInterface::GetGcLatencyMode)
1107     FCFuncElement("SetGCLatencyMode", GCInterface::SetGcLatencyMode)
1108     FCFuncElement("GetLOHCompactionMode", GCInterface::GetLOHCompactionMode)
1109     FCFuncElement("SetLOHCompactionMode", GCInterface::SetLOHCompactionMode)
1110     QCFuncElement("_StartNoGCRegion", GCInterface::StartNoGCRegion)
1111     QCFuncElement("_EndNoGCRegion", GCInterface::EndNoGCRegion)
1112     FCFuncElement("IsServerGC", SystemNative::IsServerGC)
1113     QCFuncElement("_AddMemoryPressure", GCInterface::_AddMemoryPressure)
1114     QCFuncElement("_RemoveMemoryPressure", GCInterface::_RemoveMemoryPressure)
1115     FCFuncElement("GetGeneration", GCInterface::GetGeneration)
1116     QCFuncElement("GetTotalMemory", GCInterface::GetTotalMemory)
1117     QCFuncElement("_Collect", GCInterface::Collect)
1118     FCFuncElement("GetMaxGeneration", GCInterface::GetMaxGeneration)
1119     QCFuncElement("_WaitForPendingFinalizers", GCInterface::WaitForPendingFinalizers)
1120
1121     FCFuncElement("_SuppressFinalize", GCInterface::SuppressFinalize)
1122     FCFuncElement("_ReRegisterForFinalize", GCInterface::ReRegisterForFinalize)
1123     
1124     FCFuncElement("_GetAllocatedBytesForCurrentThread", GCInterface::GetAllocatedBytesForCurrentThread)
1125 FCFuncEnd()
1126
1127 FCFuncStart(gMemoryFailPointFuncs)
1128     FCFuncElement("GetMemorySettings", COMMemoryFailPoint::GetMemorySettings)
1129 FCFuncEnd()
1130
1131 FCFuncStart(gInteropMarshalFuncs)
1132     FCFuncElement("GetLastWin32Error", MarshalNative::GetLastWin32Error)
1133     FCFuncElement("SetLastWin32Error", MarshalNative::SetLastWin32Error)
1134     FCFuncElement("SizeOfHelper", MarshalNative::SizeOfClass)
1135     FCFuncElement("GetSystemMaxDBCSCharSize", MarshalNative::GetSystemMaxDBCSCharSize)
1136     FCFuncElement("PtrToStructureHelper", MarshalNative::PtrToStructureHelper)
1137     FCFuncElement("DestroyStructure", MarshalNative::DestroyStructure)
1138     FCFuncElement("UnsafeAddrOfPinnedArrayElement", MarshalNative::FCUnsafeAddrOfPinnedArrayElement)
1139     FCFuncElement("GetExceptionCode", ExceptionNative::GetExceptionCode)
1140     QCFuncElement("GetHINSTANCE", COMModule::GetHINSTANCE)
1141
1142     FCFuncElement("OffsetOfHelper", MarshalNative::OffsetOfHelper)
1143     FCFuncElement("SizeOfType", SafeBuffer::SizeOfType)
1144     FCFuncElement("AlignedSizeOfType", SafeBuffer::AlignedSizeOfType)
1145
1146     QCFuncElement("InternalPrelink", MarshalNative::Prelink)
1147     FCFuncElement("CopyToNative", MarshalNative::CopyToNative)
1148     FCFuncElement("CopyToManaged", MarshalNative::CopyToManaged)
1149     FCFuncElement("StructureToPtr", MarshalNative::StructureToPtr)
1150     FCFuncElement("ThrowExceptionForHRInternal", MarshalNative::ThrowExceptionForHR)
1151     FCFuncElement("GetExceptionForHRInternal", MarshalNative::GetExceptionForHR)
1152     FCFuncElement("GetDelegateForFunctionPointerInternal", MarshalNative::GetDelegateForFunctionPointerInternal)
1153     FCFuncElement("GetFunctionPointerForDelegateInternal", MarshalNative::GetFunctionPointerForDelegateInternal)
1154 #ifdef FEATURE_COMINTEROP
1155     FCFuncElement("GetHRForException", MarshalNative::GetHRForException)
1156     FCFuncElement("GetHRForException_WinRT", MarshalNative::GetHRForException_WinRT)
1157     FCFuncElement("GetRawIUnknownForComObjectNoAddRef", MarshalNative::GetRawIUnknownForComObjectNoAddRef)
1158     FCFuncElement("IsComObject", MarshalNative::IsComObject)
1159     FCFuncElement("GetObjectForIUnknown", MarshalNative::GetObjectForIUnknown)
1160     FCFuncElement("GetUniqueObjectForIUnknown", MarshalNative::GetUniqueObjectForIUnknown)
1161     FCFuncElement("AddRef", MarshalNative::AddRef)
1162     FCFuncElement("GetNativeVariantForObject", MarshalNative::GetNativeVariantForObject)
1163     FCFuncElement("GetObjectForNativeVariant", MarshalNative::GetObjectForNativeVariant)
1164     FCFuncElement("InternalFinalReleaseComObject", MarshalNative::FinalReleaseComObject)
1165     FCFuncElement("QueryInterface", MarshalNative::QueryInterface)
1166     FCFuncElement("CreateAggregatedObject", MarshalNative::CreateAggregatedObject)
1167     FCFuncElement("AreComObjectsAvailableForCleanup", MarshalNative::AreComObjectsAvailableForCleanup)
1168     FCFuncElement("InternalCreateWrapperOfType", MarshalNative::InternalCreateWrapperOfType)
1169     FCFuncElement("GetObjectsForNativeVariants", MarshalNative::GetObjectsForNativeVariants)
1170     FCFuncElement("GetStartComSlot", MarshalNative::GetStartComSlot)
1171
1172     FCFuncElement("InitializeManagedWinRTFactoryObject", MarshalNative::InitializeManagedWinRTFactoryObject)
1173
1174     FCFuncElement("GetNativeActivationFactory", MarshalNative::GetNativeActivationFactory)
1175     FCFuncElement("GetIUnknownForObjectNative", MarshalNative::GetIUnknownForObjectNative)
1176     FCFuncElement("GetComInterfaceForObjectNative", MarshalNative::GetComInterfaceForObjectNative)
1177     FCFuncElement("InternalReleaseComObject", MarshalNative::ReleaseComObject)
1178     FCFuncElement("Release", MarshalNative::Release)
1179     FCFuncElement("InitializeWrapperForWinRT", MarshalNative::InitializeWrapperForWinRT)
1180     FCFuncElement("GetTypedObjectForIUnknown", MarshalNative::GetTypedObjectForIUnknown)
1181     FCFuncElement("ChangeWrapperHandleStrength", MarshalNative::ChangeWrapperHandleStrength)
1182     FCFuncElement("CleanupUnusedObjectsInCurrentContext", MarshalNative::CleanupUnusedObjectsInCurrentContext)
1183 #endif // FEATURE_COMINTEROP
1184 FCFuncEnd()
1185
1186 FCFuncStart(gArrayWithOffsetFuncs)
1187     FCFuncElement("CalculateCount", MarshalNative::CalculateCount)
1188 FCFuncEnd()
1189
1190 #ifdef FEATURE_COMINTEROP
1191
1192
1193
1194 #ifdef FEATURE_COMINTEROP_TLB_SUPPORT
1195 FCFuncStart(gTypeLibConverterFuncs)
1196     FCFuncElement("nConvertAssemblyToTypeLib", COMTypeLibConverter::ConvertAssemblyToTypeLib)
1197     FCFuncElement("nConvertTypeLibToMetadata", COMTypeLibConverter::ConvertTypeLibToMetadata)
1198     QCFuncElement("LoadInMemoryTypeByName", COMModule::LoadInMemoryTypeByName)
1199 FCFuncEnd()
1200 #endif // FEATURE_COMINTEROP_TLB_SUPPORT
1201
1202 #ifdef FEATURE_COMINTEROP_MANAGED_ACTIVATION
1203 FCFuncStart(gRegistrationFuncs)
1204     FCFuncElement("RegisterTypeForComClientsNative", RegisterTypeForComClientsNative)
1205     FCFuncElement("RegisterTypeForComClientsExNative", RegisterTypeForComClientsExNative)
1206 FCFuncEnd()
1207 #endif // FEATURE_COMINTEROP_MANAGED_ACTIVATION
1208
1209 #endif // FEATURE_COMINTEROP
1210
1211 FCFuncStart(gTypeLoadExceptionFuncs)
1212     QCFuncElement("GetTypeLoadExceptionMessage", GetTypeLoadExceptionMessage)
1213 FCFuncEnd()
1214
1215 FCFuncStart(gFileLoadExceptionFuncs)
1216     QCFuncElement("GetFileLoadExceptionMessage", GetFileLoadExceptionMessage)
1217     QCFuncElement("GetMessageForHR", FileLoadException_GetMessageForHR)
1218 FCFuncEnd()
1219
1220 FCFuncStart(gMissingMemberExceptionFuncs)
1221     FCFuncElement("FormatSignature", MissingMemberException_FormatSignature)
1222 FCFuncEnd()
1223
1224 FCFuncStart(gInterlockedFuncs)
1225     FCIntrinsicSig("Exchange", &gsig_SM_RefInt_Int_RetInt, COMInterlocked::Exchange, CORINFO_INTRINSIC_InterlockedXchg32)
1226     FCIntrinsicSig("Exchange", &gsig_SM_RefLong_Long_RetLong, COMInterlocked::Exchange64, CORINFO_INTRINSIC_InterlockedXchg64)    
1227     FCFuncElementSig("Exchange", &gsig_SM_RefDbl_Dbl_RetDbl, COMInterlocked::ExchangeDouble)
1228     FCFuncElementSig("Exchange", &gsig_SM_RefFlt_Flt_RetFlt, COMInterlocked::ExchangeFloat)
1229     FCFuncElementSig("Exchange", &gsig_SM_RefObj_Obj_RetObj, COMInterlocked::ExchangeObject)
1230     FCFuncElementSig("Exchange", &gsig_SM_RefIntPtr_IntPtr_RetIntPtr, COMInterlocked::ExchangePointer)
1231     FCIntrinsicSig("CompareExchange", &gsig_SM_RefInt_Int_Int_RetInt, COMInterlocked::CompareExchange, CORINFO_INTRINSIC_InterlockedCmpXchg32)
1232     FCIntrinsicSig("CompareExchange", &gsig_SM_RefLong_Long_Long_RetLong, COMInterlocked::CompareExchange64, CORINFO_INTRINSIC_InterlockedCmpXchg64)
1233     FCFuncElementSig("CompareExchange", &gsig_SM_RefDbl_Dbl_Dbl_RetDbl, COMInterlocked::CompareExchangeDouble)
1234     FCFuncElementSig("CompareExchange", &gsig_SM_RefFlt_Flt_Flt_RetFlt, COMInterlocked::CompareExchangeFloat)
1235     FCFuncElementSig("CompareExchange", &gsig_SM_RefObj_Obj_Obj_RetObj, COMInterlocked::CompareExchangeObject)
1236     FCFuncElementSig("CompareExchange", &gsig_SM_RefInt_Int_Int_RefBool_RetInt, COMInterlocked::CompareExchangeReliableResult)
1237     FCFuncElementSig("CompareExchange", &gsig_SM_RefIntPtr_IntPtr_IntPtr_RetIntPtr, COMInterlocked::CompareExchangePointer)
1238     FCIntrinsicSig("ExchangeAdd", &gsig_SM_RefInt_Int_RetInt, COMInterlocked::ExchangeAdd32, CORINFO_INTRINSIC_InterlockedXAdd32)
1239     FCIntrinsicSig("ExchangeAdd", &gsig_SM_RefLong_Long_RetLong, COMInterlocked::ExchangeAdd64, CORINFO_INTRINSIC_InterlockedXAdd64)
1240
1241     FCFuncElement("_Exchange", COMInterlocked::ExchangeGeneric)
1242     FCFuncElement("_CompareExchange", COMInterlocked::CompareExchangeGeneric)
1243     
1244 FCFuncEnd()
1245
1246 FCFuncStart(gVarArgFuncs)
1247     FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_IntPtr_PtrVoid_RetVoid, VarArgsNative::Init2)
1248     FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_IntPtr_RetVoid, VarArgsNative::Init)
1249     FCFuncElement("GetRemainingCount", VarArgsNative::GetRemainingCount)
1250     FCFuncElement("_GetNextArgType", VarArgsNative::GetNextArgType)
1251     FCFuncElement("FCallGetNextArg", VarArgsNative::DoGetNextArg)
1252     FCFuncElement("InternalGetNextArg", VarArgsNative::GetNextArg2)
1253 FCFuncEnd()
1254
1255 FCFuncStart(gMonitorFuncs)
1256     FCFuncElement("Enter", JIT_MonEnter)
1257     FCFuncElement("ReliableEnter", JIT_MonReliableEnter)
1258     FCFuncElement("ReliableEnterTimeout", JIT_MonTryEnter)
1259     FCFuncElement("Exit", JIT_MonExit)
1260     FCFuncElement("ObjWait", ObjectNative::WaitTimeout)
1261     FCFuncElement("ObjPulse", ObjectNative::Pulse)
1262     FCFuncElement("ObjPulseAll", ObjectNative::PulseAll)
1263     FCFuncElement("IsEnteredNative", ObjectNative::IsLockHeld)
1264 FCFuncEnd()
1265
1266 FCFuncStart(gOverlappedFuncs)
1267     FCFuncElement("AllocateNativeOverlapped", AllocateNativeOverlapped)
1268     FCFuncElement("FreeNativeOverlapped", FreeNativeOverlapped)
1269     FCFuncElement("CheckVMForIOPacket", CheckVMForIOPacket)
1270     FCFuncElement("GetOverlappedFromNative", GetOverlappedFromNative)
1271 FCFuncEnd()
1272
1273 FCFuncStart(gCompilerFuncs)
1274     FCFuncElement("GetObjectValue", ObjectNative::GetObjectValue)
1275     FCIntrinsic("InitializeArray", ArrayNative::InitializeArray, CORINFO_INTRINSIC_InitializeArray)
1276     FCFuncElement("_RunClassConstructor", ReflectionInvocation::RunClassConstructor)
1277     FCFuncElement("_RunModuleConstructor", ReflectionInvocation::RunModuleConstructor)
1278     QCFuncElement("_CompileMethod", ReflectionInvocation::CompileMethod)
1279     FCFuncElement("PrepareContractedDelegate", ReflectionInvocation::PrepareContractedDelegate)
1280     FCFuncElement("ProbeForSufficientStack", ReflectionInvocation::ProbeForSufficientStack)
1281     FCFuncElement("ExecuteCodeWithGuaranteedCleanup", ReflectionInvocation::ExecuteCodeWithGuaranteedCleanup)
1282     FCFuncElement("GetHashCode", ObjectNative::GetHashCode)
1283     FCFuncElement("Equals", ObjectNative::Equals)
1284     FCFuncElement("EnsureSufficientExecutionStack", ReflectionInvocation::EnsureSufficientExecutionStack)
1285     FCFuncElement("TryEnsureSufficientExecutionStack", ReflectionInvocation::TryEnsureSufficientExecutionStack)
1286 FCFuncEnd()
1287
1288 FCFuncStart(gContextSynchronizationFuncs)
1289 #ifdef FEATURE_SYNCHRONIZATIONCONTEXT_WAIT
1290     FCFuncElement("WaitHelperNative", SynchronizationContextNative::WaitHelper)
1291 #endif // #ifdef FEATURE_SYNCHRONIZATIONCONTEXT_WAIT
1292 #ifdef FEATURE_APPX
1293     QCFuncElement("GetWinRTDispatcherForCurrentThread", SynchronizationContextNative::GetWinRTDispatcherForCurrentThread)
1294 #endif
1295 FCFuncEnd()
1296
1297 FCFuncStart(gDateMarshalerFuncs)
1298     FCFuncElement("ConvertToNative", StubHelpers::DateMarshaler__ConvertToNative)
1299     FCFuncElement("ConvertToManaged", StubHelpers::DateMarshaler__ConvertToManaged)
1300 FCFuncEnd()
1301
1302 FCFuncStart(gValueClassMarshalerFuncs)
1303     FCFuncElement("ConvertToNative", StubHelpers::ValueClassMarshaler__ConvertToNative)
1304     FCFuncElement("ConvertToManaged", StubHelpers::ValueClassMarshaler__ConvertToManaged)
1305     FCFuncElement("ClearNative", StubHelpers::ValueClassMarshaler__ClearNative)
1306 FCFuncEnd()
1307
1308 FCFuncStart(gMngdNativeArrayMarshalerFuncs)
1309     FCFuncElement("CreateMarshaler", MngdNativeArrayMarshaler::CreateMarshaler)
1310     FCFuncElement("ConvertSpaceToNative", MngdNativeArrayMarshaler::ConvertSpaceToNative)
1311     FCFuncElement("ConvertContentsToNative", MngdNativeArrayMarshaler::ConvertContentsToNative)
1312     FCFuncElement("ConvertSpaceToManaged", MngdNativeArrayMarshaler::ConvertSpaceToManaged)
1313     FCFuncElement("ConvertContentsToManaged", MngdNativeArrayMarshaler::ConvertContentsToManaged)
1314     FCFuncElement("ClearNative", MngdNativeArrayMarshaler::ClearNative)
1315     FCFuncElement("ClearNativeContents", MngdNativeArrayMarshaler::ClearNativeContents)
1316 FCFuncEnd()
1317
1318 #ifdef FEATURE_COMINTEROP
1319 FCFuncStart(gObjectMarshalerFuncs)
1320     FCFuncElement("ConvertToNative", StubHelpers::ObjectMarshaler__ConvertToNative)
1321     FCFuncElement("ConvertToManaged", StubHelpers::ObjectMarshaler__ConvertToManaged)
1322     FCFuncElement("ClearNative", StubHelpers::ObjectMarshaler__ClearNative)
1323 FCFuncEnd()
1324
1325 FCFuncStart(gInterfaceMarshalerFuncs)
1326     FCFuncElement("ConvertToNative", StubHelpers::InterfaceMarshaler__ConvertToNative)
1327     FCFuncElement("ConvertToManaged", StubHelpers::InterfaceMarshaler__ConvertToManaged)
1328     QCFuncElement("ClearNative", StubHelpers::InterfaceMarshaler__ClearNative)
1329     FCFuncElement("ConvertToManagedWithoutUnboxing", StubHelpers::InterfaceMarshaler__ConvertToManagedWithoutUnboxing)
1330 FCFuncEnd()
1331
1332 FCFuncStart(gUriMarshalerFuncs)
1333     FCFuncElement("GetRawUriFromNative", StubHelpers::UriMarshaler__GetRawUriFromNative)
1334     FCFuncElement("CreateNativeUriInstanceHelper", StubHelpers::UriMarshaler__CreateNativeUriInstance)
1335 FCFuncEnd()
1336
1337 FCFuncStart(gEventArgsMarshalerFuncs)
1338     QCFuncElement("CreateNativeNCCEventArgsInstanceHelper", StubHelpers::EventArgsMarshaler__CreateNativeNCCEventArgsInstance)
1339     QCFuncElement("CreateNativePCEventArgsInstance", StubHelpers::EventArgsMarshaler__CreateNativePCEventArgsInstance)
1340 FCFuncEnd()
1341
1342 FCFuncStart(gMngdSafeArrayMarshalerFuncs)
1343     FCFuncElement("CreateMarshaler", MngdSafeArrayMarshaler::CreateMarshaler)
1344     FCFuncElement("ConvertSpaceToNative", MngdSafeArrayMarshaler::ConvertSpaceToNative)
1345     FCFuncElement("ConvertContentsToNative", MngdSafeArrayMarshaler::ConvertContentsToNative)
1346     FCFuncElement("ConvertSpaceToManaged", MngdSafeArrayMarshaler::ConvertSpaceToManaged)
1347     FCFuncElement("ConvertContentsToManaged", MngdSafeArrayMarshaler::ConvertContentsToManaged)
1348     FCFuncElement("ClearNative", MngdSafeArrayMarshaler::ClearNative)
1349 FCFuncEnd()
1350
1351 FCFuncStart(gMngdHiddenLengthArrayMarshalerFuncs)
1352     FCFuncElement("CreateMarshaler", MngdHiddenLengthArrayMarshaler::CreateMarshaler)
1353     FCFuncElement("ConvertSpaceToNative", MngdHiddenLengthArrayMarshaler::ConvertSpaceToNative)
1354     FCFuncElement("ConvertContentsToNative", MngdHiddenLengthArrayMarshaler::ConvertContentsToNative)
1355     FCFuncElement("ConvertSpaceToManaged", MngdHiddenLengthArrayMarshaler::ConvertSpaceToManaged)
1356     FCFuncElement("ConvertContentsToManaged", MngdHiddenLengthArrayMarshaler::ConvertContentsToManaged)
1357     FCFuncElement("ClearNativeContents", MngdHiddenLengthArrayMarshaler::ClearNativeContents)
1358 FCFuncEnd()
1359     
1360 FCFuncStart(gWinRTTypeNameConverterFuncs)
1361     FCFuncElement("ConvertToWinRTTypeName", StubHelpers::WinRTTypeNameConverter__ConvertToWinRTTypeName)
1362     FCFuncElement("GetTypeFromWinRTTypeName", StubHelpers::WinRTTypeNameConverter__GetTypeFromWinRTTypeName)
1363 FCFuncEnd()
1364
1365 #endif // FEATURE_COMINTEROP
1366
1367 FCFuncStart(gMngdRefCustomMarshalerFuncs)
1368     FCFuncElement("CreateMarshaler", MngdRefCustomMarshaler::CreateMarshaler)
1369     FCFuncElement("ConvertContentsToNative", MngdRefCustomMarshaler::ConvertContentsToNative)
1370     FCFuncElement("ConvertContentsToManaged", MngdRefCustomMarshaler::ConvertContentsToManaged)
1371     FCFuncElement("ClearNative", MngdRefCustomMarshaler::ClearNative)
1372     FCFuncElement("ClearManaged", MngdRefCustomMarshaler::ClearManaged)
1373 FCFuncEnd()
1374
1375 FCFuncStart(gStubHelperFuncs)
1376     FCFuncElement("IsQCall", StubHelpers::IsQCall)
1377     FCFuncElement("InitDeclaringType", StubHelpers::InitDeclaringType)
1378     FCIntrinsic("GetNDirectTarget", StubHelpers::GetNDirectTarget, CORINFO_INTRINSIC_StubHelpers_GetNDirectTarget)
1379     FCFuncElement("GetDelegateTarget", StubHelpers::GetDelegateTarget)
1380     FCFuncElement("SetLastError", StubHelpers::SetLastError)
1381     FCFuncElement("ClearLastError", StubHelpers::ClearLastError)
1382     FCFuncElement("ThrowInteropParamException", StubHelpers::ThrowInteropParamException)
1383     FCFuncElement("InternalGetHRExceptionObject", StubHelpers::GetHRExceptionObject)
1384 #ifdef FEATURE_COMINTEROP
1385     FCFuncElement("InternalGetCOMHRExceptionObject", StubHelpers::GetCOMHRExceptionObject)
1386     FCFuncElement("GetCOMIPFromRCW", StubHelpers::GetCOMIPFromRCW)
1387     FCFuncElement("GetCOMIPFromRCW_WinRT", StubHelpers::GetCOMIPFromRCW_WinRT)
1388     FCFuncElement("GetCOMIPFromRCW_WinRTSharedGeneric", StubHelpers::GetCOMIPFromRCW_WinRTSharedGeneric)
1389     FCFuncElement("GetCOMIPFromRCW_WinRTDelegate", StubHelpers::GetCOMIPFromRCW_WinRTDelegate)
1390     FCFuncElement("ShouldCallWinRTInterface", StubHelpers::ShouldCallWinRTInterface)
1391     FCFuncElement("GetTargetForAmbiguousVariantCall", StubHelpers::GetTargetForAmbiguousVariantCall)
1392     FCFuncElement("StubRegisterRCW", StubHelpers::StubRegisterRCW)
1393     FCFuncElement("StubUnregisterRCW", StubHelpers::StubUnregisterRCW)
1394     FCFuncElement("GetDelegateInvokeMethod", StubHelpers::GetDelegateInvokeMethod)
1395     FCFuncElement("GetWinRTFactoryObject", StubHelpers::GetWinRTFactoryObject)
1396     FCFuncElement("GetWinRTFactoryReturnValue", StubHelpers::GetWinRTFactoryReturnValue)
1397     FCFuncElement("GetOuterInspectable", StubHelpers::GetOuterInspectable)
1398 #ifdef MDA_SUPPORTED
1399     FCFuncElement("TriggerExceptionSwallowedMDA", StubHelpers::TriggerExceptionSwallowedMDA)
1400 #endif
1401 #endif // FEATURE_COMINTEROP
1402 #ifdef MDA_SUPPORTED
1403     FCFuncElement("CheckCollectedDelegateMDA", StubHelpers::CheckCollectedDelegateMDA)
1404 #endif // MDA_SUPPORTED
1405 #ifdef PROFILING_SUPPORTED    
1406     FCFuncElement("ProfilerBeginTransitionCallback", StubHelpers::ProfilerBeginTransitionCallback)
1407     FCFuncElement("ProfilerEndTransitionCallback", StubHelpers::ProfilerEndTransitionCallback)
1408 #endif    
1409     FCFuncElement("CreateCustomMarshalerHelper", StubHelpers::CreateCustomMarshalerHelper)
1410     FCFuncElement("DecimalCanonicalizeInternal", StubHelpers::DecimalCanonicalizeInternal)
1411     FCFuncElement("FmtClassUpdateNativeInternal", StubHelpers::FmtClassUpdateNativeInternal)
1412     FCFuncElement("FmtClassUpdateCLRInternal", StubHelpers::FmtClassUpdateCLRInternal)
1413     FCFuncElement("LayoutDestroyNativeInternal", StubHelpers::LayoutDestroyNativeInternal)
1414     FCFuncElement("AllocateInternal", StubHelpers::AllocateInternal)
1415     FCFuncElement("strlen", StubHelpers::AnsiStrlen)    
1416     FCFuncElement("MarshalToUnmanagedVaListInternal", StubHelpers::MarshalToUnmanagedVaListInternal)
1417     FCFuncElement("MarshalToManagedVaListInternal", StubHelpers::MarshalToManagedVaListInternal)
1418     FCFuncElement("CalcVaListSize", StubHelpers::CalcVaListSize)
1419     FCFuncElement("ValidateObject", StubHelpers::ValidateObject)
1420     FCFuncElement("ValidateByref", StubHelpers::ValidateByref)
1421     FCFuncElement("LogPinnedArgument", StubHelpers::LogPinnedArgument)
1422     FCIntrinsic("GetStubContext", StubHelpers::GetStubContext, CORINFO_INTRINSIC_StubHelpers_GetStubContext)
1423 #ifdef _WIN64
1424     FCIntrinsic("GetStubContextAddr", StubHelpers::GetStubContextAddr, CORINFO_INTRINSIC_StubHelpers_GetStubContextAddr)
1425 #endif // _WIN64
1426 #ifdef MDA_SUPPORTED
1427     FCFuncElement("TriggerGCForMDA", StubHelpers::TriggerGCForMDA)
1428 #endif // MDA_SUPPORTED
1429 #ifdef FEATURE_ARRAYSTUB_AS_IL
1430     FCFuncElement("ArrayTypeCheck", StubHelpers::ArrayTypeCheck)
1431 #endif //FEATURE_ARRAYSTUB_AS_IL
1432 #ifdef FEATURE_STUBS_AS_IL
1433     FCFuncElement("MulticastDebuggerTraceHelper", StubHelpers::MulticastDebuggerTraceHelper)
1434 #endif //FEATURE_STUBS_AS_IL
1435 FCFuncEnd()
1436
1437 FCFuncStart(gCoverageFuncs)
1438     FCUnreferenced FCFuncElement("nativeCoverBlock", COMCoverage::nativeCoverBlock)
1439 FCFuncEnd()
1440
1441 FCFuncStart(gGCHandleFuncs)
1442     FCFuncElement("InternalAlloc", MarshalNative::GCHandleInternalAlloc)
1443     FCFuncElement("InternalFree", MarshalNative::GCHandleInternalFree)
1444     FCFuncElement("InternalGet", MarshalNative::GCHandleInternalGet)
1445     FCFuncElement("InternalSet", MarshalNative::GCHandleInternalSet)
1446     FCFuncElement("InternalCompareExchange", MarshalNative::GCHandleInternalCompareExchange)
1447     FCFuncElement("InternalAddrOfPinnedObject", MarshalNative::GCHandleInternalAddrOfPinnedObject)
1448     FCFuncElement("InternalCheckDomain", MarshalNative::GCHandleInternalCheckDomain)
1449 FCFuncEnd()
1450
1451
1452 FCFuncStart(gVersioningHelperFuncs)
1453     FCFuncElement("GetRuntimeId", GetRuntimeId_Wrapper)
1454 FCFuncEnd()
1455
1456 FCFuncStart(gStreamFuncs)
1457     FCFuncElement("HasOverriddenBeginEndRead", StreamNative::HasOverriddenBeginEndRead)
1458     FCFuncElement("HasOverriddenBeginEndWrite", StreamNative::HasOverriddenBeginEndWrite)
1459 FCFuncEnd()
1460
1461 #if defined(FEATURE_COMINTEROP) && defined(FEATURE_REFLECTION_ONLY_LOAD)
1462 FCFuncStart(gWindowsRuntimeMetadata)
1463     QCFuncElement("nResolveNamespace", CLRPrivTypeCacheReflectionOnlyWinRT::ResolveNamespace)
1464 FCFuncEnd()
1465 #endif //FEATURE_COMINTEROP && FEATURE_REFLECTION_ONLY_LOAD
1466
1467 #ifdef FEATURE_COMINTEROP
1468 FCFuncStart(gWindowsRuntimeBufferHelperFuncs)
1469     QCFuncElement("StoreOverlappedPtrInCCW", WindowsRuntimeBufferHelper::StoreOverlappedPtrInCCW) 
1470     //QCFuncElement("ReleaseOverlapped", WindowsRuntimeBufferHelper::ReleaseOverlapped) 
1471 FCFuncEnd()
1472 #endif // ifdef FEATURE_COMINTEROP
1473
1474 #if defined(FEATURE_EVENTSOURCE_XPLAT)
1475 FCFuncStart(gEventLogger)
1476     QCFuncElement("IsEventSourceLoggingEnabled", XplatEventSourceLogger::IsEventSourceLoggingEnabled)
1477     QCFuncElement("LogEventSource", XplatEventSourceLogger::LogEventSource)
1478 FCFuncEnd()
1479 #endif // defined(FEATURE_EVENTSOURCE_XPLAT)
1480
1481 #ifdef FEATURE_COMINTEROP
1482 FCFuncStart(gRuntimeClassFuncs)
1483     FCFuncElement("GetRedirectedGetHashCodeMD", ComObject::GetRedirectedGetHashCodeMD)
1484     FCFuncElement("RedirectGetHashCode", ComObject::RedirectGetHashCode)
1485     FCFuncElement("GetRedirectedToStringMD", ComObject::GetRedirectedToStringMD)
1486     FCFuncElement("RedirectToString", ComObject::RedirectToString)
1487     FCFuncElement("GetRedirectedEqualsMD", ComObject::GetRedirectedEqualsMD)
1488     FCFuncElement("RedirectEquals", ComObject::RedirectEquals)
1489 FCFuncEnd()
1490 #endif // ifdef FEATURE_COMINTEROP
1491 FCFuncStart(gWeakReferenceFuncs)
1492     FCFuncElement("Create", WeakReferenceNative::Create)
1493     FCFuncElement("Finalize", WeakReferenceNative::Finalize)
1494     FCFuncElement("get_Target", WeakReferenceNative::GetTarget)
1495     FCFuncElement("set_Target", WeakReferenceNative::SetTarget)
1496     FCFuncElement("get_IsAlive", WeakReferenceNative::IsAlive)
1497     FCFuncElement("IsTrackResurrection", WeakReferenceNative::IsTrackResurrection)
1498 FCFuncEnd()
1499
1500 FCFuncStart(gWeakReferenceOfTFuncs)
1501     FCFuncElement("Create", WeakReferenceOfTNative::Create)
1502     FCFuncElement("Finalize", WeakReferenceOfTNative::Finalize)
1503     FCFuncElement("get_Target", WeakReferenceOfTNative::GetTarget)
1504     FCFuncElement("set_Target", WeakReferenceOfTNative::SetTarget)
1505     FCFuncElement("IsTrackResurrection", WeakReferenceOfTNative::IsTrackResurrection)
1506 FCFuncEnd()
1507
1508 #ifdef FEATURE_COMINTEROP
1509
1510 //
1511 // ECall helpers for the standard managed interfaces.
1512 //
1513
1514 #define MNGSTDITF_BEGIN_INTERFACE(FriendlyName, strMngItfName, strUCOMMngItfName, strCustomMarshalerName, strCustomMarshalerCookie, strManagedViewName, NativeItfIID, bCanCastOnNativeItfQI) \
1515 FCFuncStart(g##FriendlyName##Funcs)
1516
1517 #define MNGSTDITF_DEFINE_METH_IMPL(FriendlyName, FCallMethName, MethName, MethSig, FcallDecl) \
1518     FCUnreferenced FCFuncElementSig(#MethName, MethSig, FriendlyName::FCallMethName)
1519
1520 #define MNGSTDITF_END_INTERFACE(FriendlyName) \
1521 FCFuncEnd()
1522
1523 #include "mngstditflist.h"
1524
1525 #undef MNGSTDITF_BEGIN_INTERFACE
1526 #undef MNGSTDITF_DEFINE_METH_IMPL
1527 #undef MNGSTDITF_END_INTERFACE
1528
1529 #endif // FEATURE_COMINTEROP
1530
1531
1532 //
1533 //
1534 // Class definitions
1535 //
1536 //
1537
1538 // Note these have to remain sorted by name:namespace pair (Assert will wack you if you don't)
1539 // The sorting is case-sensitive
1540
1541 FCClassElement("AppDomain", "System", gAppDomainFuncs)
1542 FCClassElement("AppDomainManager", "System", gAppDomainManagerFuncs)
1543 #ifdef FEATURE_FUSION
1544 FCClassElement("AppDomainSetup", "System", gAppDomainSetupFuncs)
1545 #endif // FEATURE_FUSION
1546 FCClassElement("ArgIterator", "System", gVarArgFuncs)
1547 FCClassElement("Array", "System", gArrayFuncs)
1548 FCClassElement("ArrayWithOffset", "System.Runtime.InteropServices", gArrayWithOffsetFuncs)
1549 FCClassElement("AssemblyBuilder", "System.Reflection.Emit", gAssemblyBuilderFuncs)
1550
1551 FCClassElement("AssemblyExtensions", "System.Reflection.Metadata", gAssemblyExtensionsFuncs)
1552
1553 #if defined(FEATURE_HOST_ASSEMBLY_RESOLVER)
1554 FCClassElement("AssemblyLoadContext", "System.Runtime.Loader", gAssemblyLoadContextFuncs)
1555 #endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER)
1556
1557 FCClassElement("AssemblyName", "System.Reflection", gAssemblyNameFuncs)
1558 FCClassElement("Assert", "System.Diagnostics", gDiagnosticsAssert)
1559 FCClassElement("BCLDebug", "System", gBCLDebugFuncs)
1560 FCClassElement("Buffer", "System", gBufferFuncs)
1561 #if !defined(FEATURE_COREFX_GLOBALIZATION)
1562 FCClassElement("CalendarData", "System.Globalization", gCalendarDataFuncs)
1563 #endif // !defined(FEATURE_COREFX_GLOBALIZATION)
1564 FCClassElement("CompareInfo", "System.Globalization", gCompareInfoFuncs)
1565 FCClassElement("CompatibilitySwitch", "System.Runtime.Versioning", gCompatibilitySwitchFuncs)
1566 #ifdef FEATURE_REMOTING    
1567 FCClassElement("Context", "System.Runtime.Remoting.Contexts", gContextFuncs)
1568 #endif
1569 FCClassElement("CriticalHandle", "System.Runtime.InteropServices", gCriticalHandleFuncs)
1570 #if !defined(FEATURE_COREFX_GLOBALIZATION)
1571 FCClassElement("CultureData", "System.Globalization", gCultureDataFuncs)
1572 FCClassElement("CultureInfo", "System.Globalization", gCultureInfoFuncs)
1573 #endif
1574 FCClassElement("Currency", "System", gCurrencyFuncs)
1575 FCClassElement("CustomAttribute", "System.Reflection", gCOMCustomAttributeFuncs)
1576 FCClassElement("CustomAttributeEncodedArgument", "System.Reflection", gCustomAttributeEncodedArgument)
1577 FCClassElement("DateMarshaler", "System.StubHelpers", gDateMarshalerFuncs)
1578 FCClassElement("DateTime", "System", gDateTimeFuncs)
1579 FCClassElement("Debugger", "System.Diagnostics", gDiagnosticsDebugger)
1580 FCClassElement("Decimal", "System", gDecimalFuncs)
1581 FCClassElement("DefaultBinder", "System", gCOMDefaultBinderFuncs)
1582 FCClassElement("Delegate", "System", gDelegateFuncs)
1583 FCClassElement("DependentHandle", "System.Runtime.CompilerServices", gDependentHandleFuncs)
1584 #if !defined(FEATURE_COREFX_GLOBALIZATION)
1585 FCClassElement("EncodingTable", "System.Globalization", gEncodingTableFuncs)
1586 #endif // !defined(FEATURE_COREFX_GLOBALIZATION)
1587 FCClassElement("Enum", "System", gEnumFuncs)
1588 FCClassElement("Environment", "System", gEnvironmentFuncs)
1589 #ifdef FEATURE_COMINTEROP
1590 FCClassElement("EventArgsMarshaler", "System.StubHelpers", gEventArgsMarshalerFuncs)
1591 #endif // FEATURE_COMINTEROP
1592 FCClassElement("Exception", "System", gExceptionFuncs)
1593 FCClassElement("FileLoadException", "System.IO", gFileLoadExceptionFuncs)
1594 FCClassElement("FormatterServices", "System.Runtime.Serialization", gSerializationFuncs)
1595 FCClassElement("GC", "System", gGCInterfaceFuncs)
1596 FCClassElement("GCHandle", "System.Runtime.InteropServices", gGCHandleFuncs)
1597 #ifdef FEATURE_COMINTEROP
1598 FCClassElement("IEnumerable", "System.Collections", gStdMngIEnumerableFuncs)
1599 FCClassElement("IEnumerator", "System.Collections", gStdMngIEnumeratorFuncs)
1600 FCClassElement("IExpando", "System.Runtime.InteropServices.Expando", gStdMngIExpandoFuncs)
1601 #endif // FEATURE_COMINTEROP
1602 FCClassElement("ILCover", "System.Coverage", gCoverageFuncs)
1603 #ifdef FEATURE_COMINTEROP
1604 FCClassElement("IReflect", "System.Reflection", gStdMngIReflectFuncs)
1605 #endif
1606 #ifdef FEATURE_COMINTEROP
1607 FCClassElement("InterfaceMarshaler", "System.StubHelpers", gInterfaceMarshalerFuncs)
1608 #endif
1609 FCClassElement("Interlocked", "System.Threading", gInterlockedFuncs)
1610 FCClassElement("JitHelpers", "System.Runtime.CompilerServices", gJitHelpers)
1611 FCClassElement("LoaderAllocatorScout", "System.Reflection", gLoaderAllocatorFuncs)
1612 FCClassElement("Log", "System.Diagnostics", gDiagnosticsLog)
1613 FCClassElement("ManifestBasedResourceGroveler", "System.Resources",  gManifestBasedResourceGrovelerFuncs)
1614 FCClassElement("Marshal", "System.Runtime.InteropServices", gInteropMarshalFuncs)
1615 #ifdef FEATURE_REMOTING
1616 FCClassElement("MarshalByRefObject", "System", gMarshalByRefFuncs)
1617 #endif
1618 FCClassElement("Math", "System", gMathFuncs)
1619 FCClassElement("MathF", "System", gMathFFuncs)
1620 #ifdef MDA_SUPPORTED 
1621 FCClassElement("Mda", "System", gMda)
1622 #endif
1623 FCClassElement("MemoryFailPoint", "System.Runtime", gMemoryFailPointFuncs)
1624 #ifdef FEATURE_REMOTING    
1625 FCClassElement("Message", "System.Runtime.Remoting.Messaging", gMessageFuncs)
1626 #endif    
1627 FCClassElement("MetadataImport", "System.Reflection", gMetaDataImport)
1628 #ifdef FEATURE_METHOD_RENTAL
1629 FCClassElement("MethodRental", "System.Reflection.Emit", gCOMMethodRental)
1630 #endif // FEATURE_METHOD_RENTAL
1631 FCClassElement("MissingMemberException", "System",  gMissingMemberExceptionFuncs)
1632 #ifdef FEATURE_COMINTEROP
1633 FCClassElement("MngdHiddenLengthArrayMarshaler", "System.StubHelpers", gMngdHiddenLengthArrayMarshalerFuncs)
1634 #endif // FEATURE_COMINTEROP
1635 FCClassElement("MngdNativeArrayMarshaler", "System.StubHelpers", gMngdNativeArrayMarshalerFuncs)    
1636 FCClassElement("MngdRefCustomMarshaler", "System.StubHelpers", gMngdRefCustomMarshalerFuncs)    
1637 #ifdef FEATURE_COMINTEROP
1638 FCClassElement("MngdSafeArrayMarshaler", "System.StubHelpers", gMngdSafeArrayMarshalerFuncs)  
1639 #endif // FEATURE_COMINTEROP
1640 FCClassElement("ModuleBuilder", "System.Reflection.Emit", gCOMModuleBuilderFuncs)
1641 FCClassElement("ModuleHandle", "System", gCOMModuleHandleFuncs)
1642 FCClassElement("Monitor", "System.Threading", gMonitorFuncs)
1643 #ifndef FEATURE_COREFX_GLOBALIZATION
1644 FCClassElement("Normalization", "System.Text", gNormalizationFuncs)
1645 #endif // FEATURE_COREFX_GLOBALIZATION
1646 FCClassElement("Number", "System", gNumberFuncs)
1647 #ifdef FEATURE_COMINTEROP
1648 FCClassElement("OAVariantLib", "Microsoft.Win32", gOAVariantFuncs)
1649 #endif
1650 FCClassElement("Object", "System", gObjectFuncs)
1651 #ifdef FEATURE_COMINTEROP
1652 FCClassElement("ObjectMarshaler", "System.StubHelpers", gObjectMarshalerFuncs)
1653 #endif
1654 FCClassElement("OverlappedData", "System.Threading", gOverlappedFuncs)
1655 FCClassElement("ParseNumbers", "System", gParseNumbersFuncs)
1656
1657
1658 FCClassElement("PunkSafeHandle", "System.Reflection.Emit", gSymWrapperCodePunkSafeHandleFuncs)
1659 #ifdef FEATURE_RWLOCK
1660 FCClassElement("ReaderWriterLock", "System.Threading", gRWLockFuncs)
1661 #endif  // FEATURE_RWLOCK
1662 #ifdef FEATURE_REMOTING    
1663 FCClassElement("RealProxy", "System.Runtime.Remoting.Proxies", gRealProxyFuncs)
1664 #endif    
1665 FCClassElement("RegisteredWaitHandleSafe", "System.Threading", gRegisteredWaitHandleFuncs)
1666 #ifdef FEATURE_COMINTEROP
1667 #ifdef FEATURE_COMINTEROP_MANAGED_ACTIVATION
1668 FCClassElement("RegistrationServices", "System.Runtime.InteropServices", gRegistrationFuncs)
1669 #endif // FEATURE_COMINTEROP_MANAGED_ACTIVATION
1670 #endif // FEATURE_COMINTEROP
1671
1672 #ifdef FEATURE_REMOTING
1673 FCClassElement("RemotingServices", "System.Runtime.Remoting", gRemotingFuncs)
1674 #endif
1675 FCClassElement("RtFieldInfo", "System.Reflection", gRuntimeFieldInfoFuncs)
1676 FCClassElement("RuntimeAssembly", "System.Reflection", gAssemblyFuncs)
1677 #ifdef FEATURE_COMINTEROP    
1678 FCClassElement("RuntimeClass", "System.Runtime.InteropServices.WindowsRuntime", gRuntimeClassFuncs)
1679 #endif // FEATURE_COMINTEROP    
1680 FCClassElement("RuntimeEnvironment", "System.Runtime.InteropServices", gRuntimeEnvironmentFuncs)
1681 FCClassElement("RuntimeFieldHandle", "System", gCOMFieldHandleNewFuncs)
1682 FCClassElement("RuntimeHelpers", "System.Runtime.CompilerServices", gCompilerFuncs)
1683 FCClassElement("RuntimeMethodHandle", "System", gRuntimeMethodHandle)
1684 FCClassElement("RuntimeModule", "System.Reflection", gCOMModuleFuncs)
1685 FCClassElement("RuntimeThread", "Internal.Runtime.Augments", gRuntimeThreadFuncs)
1686 FCClassElement("RuntimeType", "System", gSystem_RuntimeType)
1687 FCClassElement("RuntimeTypeHandle", "System", gCOMTypeHandleFuncs)
1688 FCClassElement("SafeBuffer", "System.Runtime.InteropServices", gSafeBufferFuncs)
1689 FCClassElement("SafeHandle", "System.Runtime.InteropServices", gSafeHandleFuncs)
1690 FCClassElement("SafeTypeNameParserHandle", "System", gSafeTypeNameParserHandle)
1691
1692 FCClassElement("Signature", "System", gSignatureNative)
1693 #ifdef FEATURE_REMOTING    
1694 FCClassElement("StackBuilderSink", "System.Runtime.Remoting.Messaging", gStackBuilderSinkFuncs)
1695 #endif    
1696 FCClassElement("StackTrace", "System.Diagnostics", gDiagnosticsStackTrace)
1697 FCClassElement("Stream", "System.IO", gStreamFuncs)
1698 FCClassElement("String", "System", gStringFuncs)
1699 FCClassElement("StringBuilder", "System.Text", gStringBufferFuncs)
1700 FCClassElement("StubHelpers", "System.StubHelpers", gStubHelperFuncs)
1701 #if defined(FEATURE_SYNCHRONIZATIONCONTEXT_WAIT) || defined(FEATURE_APPX)
1702 FCClassElement("SynchronizationContext", "System.Threading", gContextSynchronizationFuncs)
1703 #endif // FEATURE_SYNCHRONIZATIONCONTEXT_WAIT || FEATURE_APPX
1704 #if !defined(FEATURE_COREFX_GLOBALIZATION)
1705 FCClassElement("TextInfo", "System.Globalization", gTextInfoFuncs)
1706 #endif // !defined(FEATURE_COREFX_GLOBALIZATION)
1707 FCClassElement("Thread", "System.Threading", gThreadFuncs)
1708 FCClassElement("ThreadPool", "System.Threading", gThreadPoolFuncs)
1709 FCClassElement("TimerQueue", "System.Threading", gTimerFuncs)
1710 FCClassElement("Type", "System", gSystem_Type)
1711 FCClassElement("TypeBuilder", "System.Reflection.Emit", gCOMClassWriter)
1712 #ifdef FEATURE_COMINTEROP_TLB_SUPPORT
1713 FCClassElement("TypeLibConverter", "System.Runtime.InteropServices", gTypeLibConverterFuncs)
1714 #endif
1715 FCClassElement("TypeLoadException", "System", gTypeLoadExceptionFuncs)
1716 FCClassElement("TypeNameBuilder", "System.Reflection.Emit", gTypeNameBuilder)
1717 FCClassElement("TypeNameParser", "System", gTypeNameParser)
1718 FCClassElement("TypedReference", "System", gTypedReferenceFuncs)
1719 #ifdef FEATURE_COMINTEROP
1720 FCClassElement("UriMarshaler", "System.StubHelpers", gUriMarshalerFuncs)
1721 #endif
1722 FCClassElement("Utf8String", "System", gUtf8String)
1723 FCClassElement("ValueClassMarshaler", "System.StubHelpers", gValueClassMarshalerFuncs)
1724 FCClassElement("ValueType", "System", gValueTypeFuncs)
1725 #ifdef FEATURE_COMINTEROP
1726 FCClassElement("Variant", "System", gVariantFuncs)
1727 #endif
1728 FCClassElement("VersioningHelper", "System.Runtime.Versioning", gVersioningHelperFuncs)
1729 FCClassElement("WaitHandle", "System.Threading", gWaitHandleFuncs)
1730 FCClassElement("WeakReference", "System", gWeakReferenceFuncs)
1731 FCClassElement("WeakReference`1", "System", gWeakReferenceOfTFuncs)
1732
1733 #ifdef FEATURE_COMINTEROP
1734 FCClassElement("WinRTTypeNameConverter", "System.StubHelpers", gWinRTTypeNameConverterFuncs)
1735 #endif // FEATURE_COMINTEROP
1736
1737 #ifdef FEATURE_COMINTEROP
1738 FCClassElement("WindowsRuntimeBufferHelper", "System.Runtime.InteropServices.WindowsRuntime", gWindowsRuntimeBufferHelperFuncs)                    
1739 #endif
1740
1741
1742 #if defined(FEATURE_COMINTEROP) && defined(FEATURE_REFLECTION_ONLY_LOAD)
1743 FCClassElement("WindowsRuntimeMetadata", "System.Runtime.InteropServices.WindowsRuntime", gWindowsRuntimeMetadata)
1744 #endif
1745
1746 #if defined(FEATURE_EVENTSOURCE_XPLAT)
1747 FCClassElement("XplatEventLogger", "System.Diagnostics.Tracing", gEventLogger)
1748 #endif //defined(FEATURE_EVENTSOURCE_XPLAT)
1749
1750 #undef FCFuncElement
1751 #undef FCFuncElementSig
1752 #undef FCIntrinsic
1753 #undef FCIntrinsicSig
1754 #undef QCFuncElement
1755 #undef FCDynamic
1756 #undef FCDynamicSig
1757 #undef FCUnreferenced
1758 #undef FCFuncStart
1759 #undef FCFuncEnd
1760 #undef FCClassElement