Delete FriendAccessAllowedAttribute and associated dead code (#15101)
[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
63
64 FCFuncStart(gDependentHandleFuncs)
65     FCFuncElement("nInitialize",             DependentHandle::nInitialize)
66     FCFuncElement("nGetPrimary",             DependentHandle::nGetPrimary)
67     FCFuncElement("nGetPrimaryAndSecondary", DependentHandle::nGetPrimaryAndSecondary)
68     FCFuncElement("nFree",                   DependentHandle::nFree)
69     FCFuncElement("nSetPrimary",             DependentHandle::nSetPrimary)
70     FCFuncElement("nSetSecondary",           DependentHandle::nSetSecondary)
71 FCFuncEnd()
72
73
74
75
76
77 FCFuncStart(gEnumFuncs)
78     FCFuncElement("InternalGetUnderlyingType",  ReflectionEnum::InternalGetEnumUnderlyingType)
79     FCFuncElement("InternalGetCorElementType",  ReflectionEnum::InternalGetCorElementType)
80     QCFuncElement("GetEnumValuesAndNames",  ReflectionEnum::GetEnumValuesAndNames)
81     FCFuncElement("InternalBoxEnum", ReflectionEnum::InternalBoxEnum)
82     FCFuncElement("Equals", ReflectionEnum::InternalEquals)
83     FCFuncElement("InternalCompareTo", ReflectionEnum::InternalCompareTo)    
84     FCFuncElement("InternalHasFlag", ReflectionEnum::InternalHasFlag)
85 FCFuncEnd()
86
87
88 FCFuncStart(gSymWrapperCodePunkSafeHandleFuncs)
89     FCFuncElement("nGetDReleaseTarget", COMPunkSafeHandle::nGetDReleaseTarget)
90 FCFuncEnd()
91
92
93 FCFuncStart(gObjectFuncs)
94     FCIntrinsic("GetType", ObjectNative::GetClass, CORINFO_INTRINSIC_Object_GetType)
95     FCFuncElement("MemberwiseClone", ObjectNative::Clone)
96 FCFuncEnd()
97
98 FCFuncStart(gStringFuncs)
99     FCDynamic("FastAllocateString", CORINFO_INTRINSIC_Illegal, ECall::FastAllocateString)
100     FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_ArrChar_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::CtorCharArrayManaged)
101     FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_ArrChar_Int_Int_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::CtorCharArrayStartLengthManaged)
102     FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_PtrChar_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::CtorCharPtrManaged)
103     FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_PtrChar_Int_Int_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::CtorCharPtrStartLengthManaged)
104     FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_Char_Int_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::CtorCharCountManaged)
105     FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_ReadOnlySpanOfChar_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::CtorReadOnlySpanOfCharManaged)
106     FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_PtrSByt_RetVoid, COMString::StringInitCharPtr)
107     FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_PtrSByt_Int_Int_RetVoid, COMString::StringInitCharPtrPartial)
108     FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_PtrSByt_Int_Int_Encoding_RetVoid, COMString::StringInitSBytPtrPartialEx)
109     FCFuncElement("IsFastSort", COMString::IsFastSort)
110     FCFuncElement("nativeCompareOrdinalIgnoreCaseWC", COMString::FCCompareOrdinalIgnoreCaseWC)
111     FCIntrinsic("get_Length", COMString::Length, CORINFO_INTRINSIC_StringLength)
112     FCIntrinsic("get_Chars", COMString::GetCharAt, CORINFO_INTRINSIC_StringGetChar)
113     FCFuncElement("IsAscii", COMString::IsAscii)
114     FCFuncElement("CompareOrdinalHelper", COMString::CompareOrdinalEx)
115     FCFuncElementSig("ReplaceInternal", &gsig_IM_Str_Str_RetStr, COMString::ReplaceString)
116 #ifdef FEATURE_COMINTEROP
117     FCFuncElement("SetTrailByte", COMString::FCSetTrailByte)
118     FCFuncElement("TryGetTrailByte", COMString::FCTryGetTrailByte)
119 #endif // FEATURE_COMINTEROP
120     FCFuncElement("InternalMarvin32HashString", COMString::Marvin32HashString)
121 FCFuncEnd()
122
123 FCFuncStart(gStringBufferFuncs)
124     FCFuncElement("ReplaceBufferInternal", COMStringBuffer::ReplaceBufferInternal)
125     FCFuncElement("ReplaceBufferAnsiInternal", COMStringBuffer::ReplaceBufferAnsiInternal)
126 FCFuncEnd()
127
128 FCFuncStart(gValueTypeFuncs)
129     FCFuncElement("CanCompareBits", ValueTypeHelper::CanCompareBits)
130     FCFuncElement("FastEqualsCheck", ValueTypeHelper::FastEqualsCheck)
131     FCFuncElement("GetHashCode", ValueTypeHelper::GetHashCode)
132     FCFuncElement("GetHashCodeOfPtr", ValueTypeHelper::GetHashCodeOfPtr)
133 FCFuncEnd()
134
135 FCFuncStart(gDiagnosticsDebugger)
136     FCFuncElement("BreakInternal", DebugDebugger::Break)
137     FCFuncElement("LaunchInternal", DebugDebugger::Launch)
138     FCFuncElement("get_IsAttached", DebugDebugger::IsDebuggerAttached)
139     FCFuncElement("Log", DebugDebugger::Log)
140     FCFuncElement("IsLogging", DebugDebugger::IsLogging)
141     FCFuncElement("CustomNotification", DebugDebugger::CustomNotification)
142 FCFuncEnd()
143
144 FCFuncStart(gDiagnosticsStackTrace)
145     FCFuncElement("GetStackFramesInternal", DebugStackTrace::GetStackFramesInternal)
146 FCFuncEnd()
147
148 FCFuncStart(gDateTimeFuncs)
149     FCFuncElement("GetSystemTimeAsFileTime", SystemNative::__GetSystemTimeAsFileTime)
150 FCFuncEnd()
151
152 FCFuncStart(gEnvironmentFuncs)
153     FCFuncElement("get_TickCount", SystemNative::GetTickCount)
154     QCFuncElement("_Exit", SystemNative::Exit)
155     FCFuncElement("set_ExitCode", SystemNative::SetExitCode)
156     FCFuncElement("get_ExitCode", SystemNative::GetExitCode)
157     FCFuncElement("get_HasShutdownStarted", SystemNative::HasShutdownStarted)
158     QCFuncElement("GetProcessorCount", SystemNative::GetProcessorCount)
159     FCFuncElement("GetCommandLineArgsNative", SystemNative::GetCommandLineArgs)
160     FCFuncElement("get_CurrentProcessorNumber", SystemNative::GetCurrentProcessorNumber)
161
162 #if defined(FEATURE_COMINTEROP)
163     QCFuncElement("WinRTSupported", SystemNative::WinRTSupported)
164 #endif // FEATURE_COMINTEROP
165     FCFuncElementSig("FailFast", &gsig_SM_Str_RetVoid, SystemNative::FailFast)
166     FCFuncElementSig("FailFast", &gsig_SM_Str_Exception_RetVoid, SystemNative::FailFastWithException)
167 FCFuncEnd()
168
169 FCFuncStart(gRuntimeEnvironmentFuncs)
170     FCFuncElement("GetModuleFileName", SystemNative::_GetModuleFileName)
171 FCFuncEnd()
172
173 FCFuncStart(gSerializationFuncs)
174     FCFuncElement("nativeGetUninitializedObject", ReflectionSerialization::GetUninitializedObject)
175 FCFuncEnd()
176
177 FCFuncStart(gExceptionFuncs)
178     FCFuncElement("IsImmutableAgileException", ExceptionNative::IsImmutableAgileException)
179     FCFuncElement("nIsTransient", ExceptionNative::IsTransient)
180     FCFuncElement("GetMethodFromStackTrace", SystemNative::GetMethodFromStackTrace)
181     QCFuncElement("GetMessageFromNativeResources", ExceptionNative::GetMessageFromNativeResources)
182     FCFuncElement("PrepareForForeignExceptionRaise", ExceptionNative::PrepareForForeignExceptionRaise)
183     FCFuncElement("CopyStackTrace", ExceptionNative::CopyStackTrace)
184     FCFuncElement("CopyDynamicMethods", ExceptionNative::CopyDynamicMethods)
185     FCFuncElement("GetStackTracesDeepCopy", ExceptionNative::GetStackTracesDeepCopy)
186     FCFuncElement("SaveStackTracesFromDeepCopy", ExceptionNative::SaveStackTracesFromDeepCopy)
187 FCFuncEnd()
188
189 FCFuncStart(gSafeHandleFuncs)
190     FCFuncElement("InternalDispose", SafeHandle::DisposeNative)
191     FCFuncElement("InternalFinalize", SafeHandle::Finalize)
192     FCFuncElement("SetHandleAsInvalid", SafeHandle::SetHandleAsInvalid)
193     FCFuncElement("DangerousAddRef", SafeHandle::DangerousAddRef)
194     FCFuncElement("DangerousRelease", SafeHandle::DangerousRelease)
195 FCFuncEnd()
196
197 FCFuncStart(gCriticalHandleFuncs)
198     FCFuncElement("FireCustomerDebugProbe", CriticalHandle::FireCustomerDebugProbe)
199 FCFuncEnd()
200
201 FCFuncStart(gSafeBufferFuncs)
202     FCFuncElement("PtrToStructureNative", SafeBuffer::PtrToStructure)
203     FCFuncElement("StructureToPtrNative", SafeBuffer::StructureToPtr)
204 FCFuncEnd()
205
206 FCFuncStart(gTypedReferenceFuncs)
207     FCFuncElement("InternalToObject", ReflectionInvocation::TypedReferenceToObject)
208     FCFuncElement("InternalSetTypedReference", ReflectionInvocation::SetTypedReference)
209     FCFuncElement("InternalMakeTypedReference", ReflectionInvocation::MakeTypedReference)
210 FCFuncEnd()
211
212 FCFuncStart(gSystem_Type)
213     FCIntrinsic("GetTypeFromHandle", RuntimeTypeHandle::GetTypeFromHandle, CORINFO_INTRINSIC_GetTypeFromHandle)
214     FCFuncElement("GetTypeFromHandleUnsafe", RuntimeTypeHandle::GetRuntimeType)
215     FCIntrinsic("op_Equality", RuntimeTypeHandle::TypeEQ, CORINFO_INTRINSIC_TypeEQ)
216     FCIntrinsic("op_Inequality", RuntimeTypeHandle::TypeNEQ, CORINFO_INTRINSIC_TypeNEQ)
217 FCFuncEnd()
218
219 FCFuncStart(gSystem_RuntimeType)
220     FCFuncElement("GetGUID", ReflectionInvocation::GetGUID)
221     FCFuncElement("_CreateEnum", ReflectionInvocation::CreateEnum)
222     FCFuncElement("CanValueSpecialCast", ReflectionInvocation::CanValueSpecialCast)
223     FCFuncElement("AllocateValueType", ReflectionInvocation::AllocateValueType)
224 #if defined(FEATURE_COMINTEROP)
225     FCFuncElement("GetTypeFromCLSIDImpl", ReflectionInvocation::GetClassFromCLSID)
226     FCFuncElement("GetTypeFromProgIDImpl", ReflectionInvocation::GetClassFromProgID)
227     FCFuncElement("InvokeDispMethod", ReflectionInvocation::InvokeDispMethod)
228 #ifdef FEATURE_COMINTEROP_WINRT_MANAGED_ACTIVATION
229     FCFuncElement("IsTypeExportedToWindowsRuntime", RuntimeTypeHandle::IsTypeExportedToWindowsRuntime)
230 #endif
231     FCFuncElement("IsWindowsRuntimeObjectType", RuntimeTypeHandle::IsWindowsRuntimeObjectType)
232 #endif // defined(FEATURE_COMINTEROP) 
233 FCFuncEnd()
234
235 FCFuncStart(gJitHelpers)
236     FCFuncElement("UnsafeSetArrayElement", JitHelpers::UnsafeSetArrayElement)
237 #ifdef _DEBUG
238     FCFuncElement("IsAddressInStack", ReflectionInvocation::IsAddressInStack)
239 #endif
240 FCFuncEnd()
241
242 FCFuncStart(gCOMTypeHandleFuncs)
243     FCFuncElement("CreateInstance", RuntimeTypeHandle::CreateInstance)
244     FCFuncElement("CreateCaInstance", RuntimeTypeHandle::CreateCaInstance)
245     FCFuncElement("CreateInstanceForAnotherGenericParameter", RuntimeTypeHandle::CreateInstanceForGenericType)
246     QCFuncElement("GetGCHandle", RuntimeTypeHandle::GetGCHandle)
247
248     FCFuncElement("IsInstanceOfType", RuntimeTypeHandle::IsInstanceOfType)
249     FCFuncElement("GetDeclaringMethod", RuntimeTypeHandle::GetDeclaringMethod)
250     FCFuncElement("GetDeclaringType", RuntimeTypeHandle::GetDeclaringType)
251     QCFuncElement("GetDefaultConstructor", RuntimeTypeHandle::GetDefaultConstructor)
252     QCFuncElement("MakePointer", RuntimeTypeHandle::MakePointer)
253     QCFuncElement("MakeByRef", RuntimeTypeHandle::MakeByRef)
254     QCFuncElement("MakeSZArray", RuntimeTypeHandle::MakeSZArray)
255     QCFuncElement("MakeArray", RuntimeTypeHandle::MakeArray)
256     QCFuncElement("IsCollectible", RuntimeTypeHandle::IsCollectible)
257     FCFuncElement("GetFirstIntroducedMethod", RuntimeTypeHandle::GetFirstIntroducedMethod)
258     FCFuncElement("GetNextIntroducedMethod", RuntimeTypeHandle::GetNextIntroducedMethod)
259     FCFuncElement("GetCorElementType", RuntimeTypeHandle::GetCorElementType)
260     FCFuncElement("GetAssembly", RuntimeTypeHandle::GetAssembly)
261     FCFuncElement("GetModule", RuntimeTypeHandle::GetModule)
262     FCFuncElement("GetBaseType", RuntimeTypeHandle::GetBaseType)
263     FCFuncElement("GetElementType", RuntimeTypeHandle::GetElementType)
264     FCFuncElement("GetArrayRank", RuntimeTypeHandle::GetArrayRank)
265     FCFuncElement("GetToken", RuntimeTypeHandle::GetToken)
266     FCFuncElement("_GetUtf8Name", RuntimeTypeHandle::GetUtf8Name)
267     FCFuncElement("GetMethodAt", RuntimeTypeHandle::GetMethodAt)
268     FCFuncElement("GetFields", RuntimeTypeHandle::GetFields)
269     FCFuncElement("GetInterfaces", RuntimeTypeHandle::GetInterfaces)
270     QCFuncElement("GetConstraints", RuntimeTypeHandle::GetConstraints)
271     FCFuncElement("GetAttributes", RuntimeTypeHandle::GetAttributes)
272     FCFuncElement("_GetMetadataImport", RuntimeTypeHandle::GetMetadataImport)
273     FCFuncElement("GetNumVirtuals", RuntimeTypeHandle::GetNumVirtuals)
274     QCFuncElement("VerifyInterfaceIsImplemented", RuntimeTypeHandle::VerifyInterfaceIsImplemented)
275     QCFuncElement("GetInterfaceMethodImplementationSlot", RuntimeTypeHandle::GetInterfaceMethodImplementationSlot)
276     FCFuncElement("IsComObject", RuntimeTypeHandle::IsComObject)
277     FCFuncElement("IsValueType", RuntimeTypeHandle::IsValueType)
278     FCFuncElement("IsInterface", RuntimeTypeHandle::IsInterface)
279     FCFuncElement("IsByRefLike", RuntimeTypeHandle::IsByRefLike)
280     QCFuncElement("_IsVisible", RuntimeTypeHandle::IsVisible)
281     QCFuncElement("ConstructName", RuntimeTypeHandle::ConstructName)
282     FCFuncElement("CanCastTo", RuntimeTypeHandle::CanCastTo)
283     QCFuncElement("GetTypeByName", RuntimeTypeHandle::GetTypeByName)
284     QCFuncElement("GetTypeByNameUsingCARules", RuntimeTypeHandle::GetTypeByNameUsingCARules)
285     QCFuncElement("GetInstantiation", RuntimeTypeHandle::GetInstantiation)
286     QCFuncElement("Instantiate", RuntimeTypeHandle::Instantiate)
287     QCFuncElement("GetGenericTypeDefinition", RuntimeTypeHandle::GetGenericTypeDefinition)
288     FCFuncElement("HasInstantiation", RuntimeTypeHandle::HasInstantiation)
289     FCFuncElement("GetGenericVariableIndex", RuntimeTypeHandle::GetGenericVariableIndex)
290     FCFuncElement("IsGenericVariable", RuntimeTypeHandle::IsGenericVariable)
291     FCFuncElement("IsGenericTypeDefinition", RuntimeTypeHandle::IsGenericTypeDefinition)
292     FCFuncElement("ContainsGenericVariables", RuntimeTypeHandle::ContainsGenericVariables)
293     FCFuncElement("SatisfiesConstraints", RuntimeTypeHandle::SatisfiesConstraints)
294     FCFuncElement("Allocate", RuntimeTypeHandle::Allocate) //for A.CI
295     FCFuncElement("CompareCanonicalHandles", RuntimeTypeHandle::CompareCanonicalHandles)
296     FCIntrinsic("GetValueInternal", RuntimeTypeHandle::GetValueInternal, CORINFO_INTRINSIC_RTH_GetValueInternal)
297 FCFuncEnd()
298
299 FCFuncStart(gMetaDataImport)
300     FCFuncElement("_GetDefaultValue", MetaDataImport::GetDefaultValue) 
301     FCFuncElement("_GetName", MetaDataImport::GetName) 
302     FCFuncElement("_GetUserString", MetaDataImport::GetUserString) 
303     FCFuncElement("_GetScopeProps", MetaDataImport::GetScopeProps)  
304     FCFuncElement("_GetClassLayout", MetaDataImport::GetClassLayout) 
305     FCFuncElement("_GetSignatureFromToken", MetaDataImport::GetSignatureFromToken) 
306     FCFuncElement("_GetNamespace", MetaDataImport::GetNamespace) 
307     FCFuncElement("_GetEventProps", MetaDataImport::GetEventProps)
308     FCFuncElement("_GetFieldDefProps", MetaDataImport::GetFieldDefProps)
309     FCFuncElement("_GetPropertyProps", MetaDataImport::GetPropertyProps)  
310     FCFuncElement("_GetParentToken", MetaDataImport::GetParentToken)  
311     FCFuncElement("_GetParamDefProps", MetaDataImport::GetParamDefProps) 
312     FCFuncElement("_GetGenericParamProps", MetaDataImport::GetGenericParamProps) 
313     
314     FCFuncElement("_Enum", MetaDataImport::Enum) 
315     FCFuncElement("_GetMemberRefProps", MetaDataImport::GetMemberRefProps) 
316     FCFuncElement("_GetCustomAttributeProps", MetaDataImport::GetCustomAttributeProps) 
317     FCFuncElement("_GetFieldOffset", MetaDataImport::GetFieldOffset) 
318
319     FCFuncElement("_GetSigOfFieldDef", MetaDataImport::GetSigOfFieldDef) 
320     FCFuncElement("_GetSigOfMethodDef", MetaDataImport::GetSigOfMethodDef) 
321     FCFuncElement("_GetFieldMarshal", MetaDataImport::GetFieldMarshal) 
322     FCFuncElement("_GetPInvokeMap", MetaDataImport::GetPinvokeMap) 
323     FCFuncElement("_IsValidToken", MetaDataImport::IsValidToken) 
324     FCFuncElement("_GetMarshalAs", MetaDataImport::GetMarshalAs)  
325 FCFuncEnd()
326
327 FCFuncStart(gSignatureNative)
328     FCFuncElement("GetSignature", SignatureNative::GetSignature)
329     FCFuncElement("GetCustomModifiers", SignatureNative::GetCustomModifiers)
330     FCFuncElement("CompareSig", SignatureNative::CompareSig)
331 FCFuncEnd()
332
333 FCFuncStart(gRuntimeMethodHandle)
334     QCFuncElement("ConstructInstantiation", RuntimeMethodHandle::ConstructInstantiation)
335     FCFuncElement("_GetCurrentMethod", RuntimeMethodHandle::GetCurrentMethod)
336     FCFuncElement("InvokeMethod", RuntimeMethodHandle::InvokeMethod)
337     QCFuncElement("GetFunctionPointer", RuntimeMethodHandle::GetFunctionPointer)
338     FCFuncElement("GetImplAttributes", RuntimeMethodHandle::GetImplAttributes)
339     FCFuncElement("GetAttributes", RuntimeMethodHandle::GetAttributes)
340     FCFuncElement("GetDeclaringType", RuntimeMethodHandle::GetDeclaringType)
341     FCFuncElement("GetSlot", RuntimeMethodHandle::GetSlot)
342     FCFuncElement("GetMethodDef", RuntimeMethodHandle::GetMethodDef)
343     FCFuncElement("GetName", RuntimeMethodHandle::GetName)
344     FCFuncElement("_GetUtf8Name", RuntimeMethodHandle::GetUtf8Name)
345     FCFuncElement("MatchesNameHash", RuntimeMethodHandle::MatchesNameHash)
346     QCFuncElement("GetMethodInstantiation", RuntimeMethodHandle::GetMethodInstantiation)
347     FCFuncElement("HasMethodInstantiation", RuntimeMethodHandle::HasMethodInstantiation)
348     FCFuncElement("IsGenericMethodDefinition", RuntimeMethodHandle::IsGenericMethodDefinition)
349     FCFuncElement("GetGenericParameterCount", RuntimeMethodHandle::GetGenericParameterCount)
350     FCFuncElement("IsTypicalMethodDefinition", RuntimeMethodHandle::IsTypicalMethodDefinition)
351     QCFuncElement("GetTypicalMethodDefinition", RuntimeMethodHandle::GetTypicalMethodDefinition)
352     QCFuncElement("StripMethodInstantiation", RuntimeMethodHandle::StripMethodInstantiation)
353     FCFuncElement("GetStubIfNeeded", RuntimeMethodHandle::GetStubIfNeeded)
354     FCFuncElement("GetMethodFromCanonical", RuntimeMethodHandle::GetMethodFromCanonical)
355     FCFuncElement("IsDynamicMethod", RuntimeMethodHandle::IsDynamicMethod)
356     FCFuncElement("GetMethodBody", RuntimeMethodHandle::GetMethodBody)    
357     QCFuncElement("IsCAVisibleFromDecoratedType", RuntimeMethodHandle::IsCAVisibleFromDecoratedType)
358     FCFuncElement("IsConstructor", RuntimeMethodHandle::IsConstructor)    
359     QCFuncElement("Destroy", RuntimeMethodHandle::Destroy)
360     FCFuncElement("GetResolver", RuntimeMethodHandle::GetResolver)
361     FCFuncElement("GetLoaderAllocator", RuntimeMethodHandle::GetLoaderAllocator)
362     FCFuncElement("GetSpecialSecurityFlags", ReflectionInvocation::GetSpecialSecurityFlags)
363 FCFuncEnd()
364
365 FCFuncStart(gCOMDefaultBinderFuncs)
366     FCFuncElement("CanConvertPrimitive", ReflectionBinder::DBCanConvertPrimitive)
367     FCFuncElement("CanConvertPrimitiveObjectToType",  ReflectionBinder::DBCanConvertObjectPrimitive)
368 FCFuncEnd()
369
370
371 FCFuncStart(gCOMFieldHandleNewFuncs)
372     FCFuncElement("GetValue", RuntimeFieldHandle::GetValue)
373     FCFuncElement("SetValue", RuntimeFieldHandle::SetValue)
374     FCFuncElement("GetValueDirect", RuntimeFieldHandle::GetValueDirect)
375     FCFuncElement("SetValueDirect", RuntimeFieldHandle::SetValueDirect)
376     FCFuncElement("GetName", RuntimeFieldHandle::GetName)
377     FCFuncElement("_GetUtf8Name", RuntimeFieldHandle::GetUtf8Name)
378     FCFuncElement("MatchesNameHash", RuntimeFieldHandle::MatchesNameHash)
379     FCFuncElement("GetAttributes", RuntimeFieldHandle::GetAttributes)
380     FCFuncElement("GetApproxDeclaringType", RuntimeFieldHandle::GetApproxDeclaringType)
381     FCFuncElement("GetToken", RuntimeFieldHandle::GetToken)
382     FCFuncElement("GetStaticFieldForGenericType", RuntimeFieldHandle::GetStaticFieldForGenericType)
383     FCFuncElement("AcquiresContextFromThis", RuntimeFieldHandle::AcquiresContextFromThis)
384 FCFuncEnd()
385
386
387 FCFuncStart(gCOMModuleFuncs)
388     QCFuncElement("GetType", COMModule::GetType)
389     QCFuncElement("GetScopeName", COMModule::GetScopeName)
390     FCFuncElement("GetTypes", COMModule::GetTypes)
391     QCFuncElement("GetFullyQualifiedName", COMModule::GetFullyQualifiedName)
392     QCFuncElement("nIsTransientInternal", COMModule::IsTransient)
393     FCFuncElement("IsResource", COMModule::IsResource)    
394 FCFuncEnd()
395
396 FCFuncStart(gCOMModuleBuilderFuncs)
397     FCFuncElement("nCreateISymWriterForDynamicModule", COMModule::nCreateISymWriterForDynamicModule)
398     QCFuncElement("GetStringConstant", COMModule::GetStringConstant)
399     QCFuncElement("GetTypeRef", COMModule::GetTypeRef)
400     QCFuncElement("GetTokenFromTypeSpec", COMModule::GetTokenFromTypeSpec)
401     QCFuncElement("GetMemberRef", COMModule::GetMemberRef)
402     QCFuncElement("GetMemberRefOfMethodInfo", COMModule::GetMemberRefOfMethodInfo)
403     QCFuncElement("GetMemberRefOfFieldInfo", COMModule::GetMemberRefOfFieldInfo)
404     QCFuncElement("GetMemberRefFromSignature", COMModule::GetMemberRefFromSignature)
405     QCFuncElement("GetArrayMethodToken", COMModule::GetArrayMethodToken)
406     QCFuncElement("SetFieldRVAContent", COMModule::SetFieldRVAContent)
407 FCFuncEnd()
408
409 FCFuncStart(gCOMModuleHandleFuncs)
410     FCFuncElement("GetToken", ModuleHandle::GetToken)
411     QCFuncElement("GetModuleType", ModuleHandle::GetModuleType)
412     FCFuncElement("GetDynamicMethod", ModuleHandle::GetDynamicMethod)
413     FCFuncElement("_GetMetadataImport", ModuleHandle::GetMetadataImport)
414     QCFuncElement("ResolveType", ModuleHandle::ResolveType)
415     QCFuncElement("ResolveMethod", ModuleHandle::ResolveMethod)
416     QCFuncElement("_ContainsPropertyMatchingHash", ModuleHandle::ContainsPropertyMatchingHash)
417     QCFuncElement("ResolveField", ModuleHandle::ResolveField)
418     QCFuncElement("GetPEKind", ModuleHandle::GetPEKind)
419     FCFuncElement("GetMDStreamVersion", ModuleHandle::GetMDStreamVersion)
420 FCFuncEnd()
421
422 FCFuncStart(gCustomAttributeEncodedArgument)
423     FCFuncElement("ParseAttributeArguments", Attribute::ParseAttributeArguments)
424 FCFuncEnd()
425
426 FCFuncStart(gCOMCustomAttributeFuncs)
427     FCFuncElement("_ParseAttributeUsageAttribute", COMCustomAttribute::ParseAttributeUsageAttribute)
428     FCFuncElement("_CreateCaObject", COMCustomAttribute::CreateCaObject)
429     FCFuncElement("_GetPropertyOrFieldData",  COMCustomAttribute::GetPropertyOrFieldData)
430 FCFuncEnd()
431
432 FCFuncStart(gCOMClassWriter)
433     QCFuncElement("DefineGenericParam", COMDynamicWrite::DefineGenericParam)
434     QCFuncElement("DefineType", COMDynamicWrite::DefineType)
435     QCFuncElement("SetParentType", COMDynamicWrite::SetParentType)
436     QCFuncElement("AddInterfaceImpl", COMDynamicWrite::AddInterfaceImpl)
437     QCFuncElement("DefineMethod", COMDynamicWrite::DefineMethod)
438     QCFuncElement("DefineMethodSpec", COMDynamicWrite::DefineMethodSpec)
439     QCFuncElement("SetMethodIL", COMDynamicWrite::SetMethodIL)
440     QCFuncElement("TermCreateClass", COMDynamicWrite::TermCreateClass)
441     QCFuncElement("DefineField", COMDynamicWrite::DefineField)
442     QCFuncElement("DefineProperty", COMDynamicWrite::DefineProperty)
443     QCFuncElement("DefineEvent", COMDynamicWrite::DefineEvent)
444     QCFuncElement("DefineMethodSemantics", COMDynamicWrite::DefineMethodSemantics)
445     QCFuncElement("SetMethodImpl", COMDynamicWrite::SetMethodImpl)
446     QCFuncElement("DefineMethodImpl", COMDynamicWrite::DefineMethodImpl)
447     QCFuncElement("GetTokenFromSig",  COMDynamicWrite::GetTokenFromSig)
448     QCFuncElement("SetFieldLayoutOffset", COMDynamicWrite::SetFieldLayoutOffset)
449     QCFuncElement("SetClassLayout", COMDynamicWrite::SetClassLayout)
450     QCFuncElement("SetParamInfo", COMDynamicWrite::SetParamInfo)
451     QCFuncElement("SetConstantValue", COMDynamicWrite::SetConstantValue)
452     QCFuncElement("DefineCustomAttribute", COMDynamicWrite::DefineCustomAttribute)
453 FCFuncEnd()
454
455
456 FCFuncStart(gCompatibilitySwitchFuncs)
457     FCFuncElement("GetValueInternalCall", CompatibilitySwitch::GetValue)
458 FCFuncEnd()
459
460
461 FCFuncStart(gAppDomainManagerFuncs)
462     QCFuncElement("GetEntryAssembly", AssemblyNative::GetEntryAssembly)
463 FCFuncEnd()
464
465 FCFuncStart(gAppDomainFuncs)
466     FCFuncElement("IsStringInterned", AppDomainNative::IsStringInterned)
467     FCFuncElement("IsUnloadingForcedFinalize", AppDomainNative::IsUnloadingForcedFinalize)
468
469 #ifdef FEATURE_APPX
470     QCFuncElement("nGetAppXFlags", AppDomainNative::GetAppXFlags)
471 #endif
472     FCFuncElement("nGetFriendlyName", AppDomainNative::GetFriendlyName)
473     FCFuncElement("nSetupFriendlyName", AppDomainNative::SetupFriendlyName)
474     FCFuncElement("nGetAssemblies", AppDomainNative::GetAssemblies)
475     FCFuncElement("nCreateContext", AppDomainNative::CreateContext)
476     FCFuncElement("GetId", AppDomainNative::GetId)
477     FCFuncElement("GetOrInternString", AppDomainNative::GetOrInternString)
478     QCFuncElement("nSetupBindingPaths", AppDomainNative::SetupBindingPaths)
479     QCFuncElement("nSetNativeDllSearchDirectories", AppDomainNative::SetNativeDllSearchDirectories)
480     FCFuncElement("IsFinalizingForUnload", AppDomainNative::IsFinalizingForUnload)
481     FCFuncElement("PublishAnonymouslyHostedDynamicMethodsAssembly", AppDomainNative::PublishAnonymouslyHostedDynamicMethodsAssembly)
482 #ifdef FEATURE_APPDOMAIN_RESOURCE_MONITORING
483     FCFuncElement("nEnableMonitoring", AppDomainNative::EnableMonitoring)
484     FCFuncElement("nMonitoringIsEnabled", AppDomainNative::MonitoringIsEnabled)
485     FCFuncElement("nGetTotalProcessorTime", AppDomainNative::GetTotalProcessorTime)
486     FCFuncElement("nGetTotalAllocatedMemorySize", AppDomainNative::GetTotalAllocatedMemorySize)
487     FCFuncElement("nGetLastSurvivedMemorySize", AppDomainNative::GetLastSurvivedMemorySize)
488     FCFuncElement("nGetLastSurvivedProcessMemorySize", AppDomainNative::GetLastSurvivedProcessMemorySize)
489
490 #endif //FEATURE_APPDOMAIN_RESOURCE_MONITORING
491 FCFuncEnd()
492
493
494 FCFuncStart(gUtf8String)
495     FCFuncElement("EqualsCaseSensitive", Utf8String::EqualsCaseSensitive)
496     QCFuncElement("EqualsCaseInsensitive", Utf8String::EqualsCaseInsensitive)
497     QCFuncElement("HashCaseInsensitive", Utf8String::HashCaseInsensitive)
498 FCFuncEnd()
499
500 FCFuncStart(gTypeNameBuilder)
501     QCFuncElement("CreateTypeNameBuilder", TypeNameBuilder::_CreateTypeNameBuilder)
502     QCFuncElement("ReleaseTypeNameBuilder", TypeNameBuilder::_ReleaseTypeNameBuilder)
503     QCFuncElement("OpenGenericArguments", TypeNameBuilder::_OpenGenericArguments)
504     QCFuncElement("CloseGenericArguments", TypeNameBuilder::_CloseGenericArguments)
505     QCFuncElement("OpenGenericArgument", TypeNameBuilder::_OpenGenericArgument)
506     QCFuncElement("CloseGenericArgument", TypeNameBuilder::_CloseGenericArgument)
507     QCFuncElement("AddName", TypeNameBuilder::_AddName)
508     QCFuncElement("AddPointer", TypeNameBuilder::_AddPointer)
509     QCFuncElement("AddByRef", TypeNameBuilder::_AddByRef)
510     QCFuncElement("AddSzArray", TypeNameBuilder::_AddSzArray)
511     QCFuncElement("AddArray", TypeNameBuilder::_AddArray)
512     QCFuncElement("AddAssemblySpec", TypeNameBuilder::_AddAssemblySpec)
513     QCFuncElement("ToString", TypeNameBuilder::_ToString)
514     QCFuncElement("Clear", TypeNameBuilder::_Clear)
515 FCFuncEnd()
516
517
518 FCFuncStart(gSafeTypeNameParserHandle)
519     QCFuncElement("_ReleaseTypeNameParser", TypeName::QReleaseTypeNameParser)
520 FCFuncEnd()
521
522 FCFuncStart(gTypeNameParser)
523     QCFuncElement("_CreateTypeNameParser",  TypeName::QCreateTypeNameParser)
524     QCFuncElement("_GetNames",              TypeName::QGetNames)
525     QCFuncElement("_GetTypeArguments",      TypeName::QGetTypeArguments)
526     QCFuncElement("_GetModifiers",          TypeName::QGetModifiers)
527     QCFuncElement("_GetAssemblyName",       TypeName::QGetAssemblyName)
528 FCFuncEnd()
529
530 FCFuncStart(gManifestBasedResourceGrovelerFuncs)
531     QCFuncElement("GetNeutralResourcesLanguageAttribute", AssemblyNative::GetNeutralResourcesLanguageAttribute)
532 FCFuncEnd()
533
534 FCFuncStart(gAssemblyFuncs)
535     QCFuncElement("GetFullName", AssemblyNative::GetFullName)
536     QCFuncElement("GetLocation", AssemblyNative::GetLocation)
537     QCFuncElement("GetResource", AssemblyNative::GetResource)
538     QCFuncElement("GetCodeBase", AssemblyNative::GetCodeBase)
539     QCFuncElement("GetExecutingAssembly", AssemblyNative::GetExecutingAssembly)
540     QCFuncElement("GetFlags", AssemblyNative::GetFlags)
541     QCFuncElement("GetHashAlgorithm", AssemblyNative::GetHashAlgorithm)
542     QCFuncElement("GetLocale", AssemblyNative::GetLocale)
543     QCFuncElement("GetPublicKey", AssemblyNative::GetPublicKey)
544     QCFuncElement("GetSimpleName", AssemblyNative::GetSimpleName)
545     QCFuncElement("GetVersion", AssemblyNative::GetVersion)
546     FCFuncElement("FCallIsDynamic", AssemblyNative::IsDynamic)
547     FCFuncElement("nLoad", AssemblyNative::Load)
548     QCFuncElement("GetType", AssemblyNative::GetType)
549     QCFuncElement("GetForwardedType", AssemblyNative::GetForwardedType)
550     QCFuncElement("GetManifestResourceInfo", AssemblyNative::GetManifestResourceInfo)
551     QCFuncElement("GetModules", AssemblyNative::GetModules)
552     QCFuncElement("GetModule", AssemblyNative::GetModule)
553     FCFuncElement("GetReferencedAssemblies", AssemblyNative::GetReferencedAssemblies)
554     QCFuncElement("GetExportedTypes", AssemblyNative::GetExportedTypes)
555     FCFuncElement("GetManifestResourceNames", AssemblyNative::GetManifestResourceNames)
556     QCFuncElement("GetEntryPoint", AssemblyNative::GetEntryPoint)
557     QCFuncElement("GetImageRuntimeVersion", AssemblyNative::GetImageRuntimeVersion)
558     FCFuncElement("GetManifestModule", AssemblyHandle::GetManifestModule)
559     FCFuncElement("GetToken", AssemblyHandle::GetToken)
560 FCFuncEnd()
561
562 FCFuncStart(gAssemblyExtensionsFuncs)
563     QCFuncElement("InternalTryGetRawMetadata", AssemblyNative::InternalTryGetRawMetadata)
564 FCFuncEnd()
565
566 FCFuncStart(gAssemblyLoadContextFuncs)
567     QCFuncElement("InitializeAssemblyLoadContext", AssemblyNative::InitializeAssemblyLoadContext)
568     QCFuncElement("LoadFromPath", AssemblyNative::LoadFromPath)
569     QCFuncElement("InternalLoadUnmanagedDllFromPath", AssemblyNative::InternalLoadUnmanagedDllFromPath)
570     QCFuncElement("CanUseAppPathAssemblyLoadContextInCurrentDomain", AssemblyNative::CanUseAppPathAssemblyLoadContextInCurrentDomain)
571     QCFuncElement("LoadFromStream", AssemblyNative::LoadFromStream)
572     QCFuncElement("GetLoadContextForAssembly", AssemblyNative::GetLoadContextForAssembly)
573 #if defined(FEATURE_MULTICOREJIT)
574     QCFuncElement("InternalSetProfileRoot", MultiCoreJITNative::InternalSetProfileRoot)
575     QCFuncElement("InternalStartProfile",   MultiCoreJITNative::InternalStartProfile)
576 #endif // defined(FEATURE_MULTICOREJIT)
577 FCFuncEnd()
578
579 FCFuncStart(gAssemblyNameFuncs)
580     FCFuncElement("nInit", AssemblyNameNative::Init)
581     FCFuncElement("nToString", AssemblyNameNative::ToString)
582     FCFuncElement("nGetPublicKeyToken", AssemblyNameNative::GetPublicKeyToken)
583     FCFuncElement("nGetFileInformation", AssemblyNameNative::GetFileInformation)
584 FCFuncEnd()
585
586 FCFuncStart(gLoaderAllocatorFuncs)
587     QCFuncElement("Destroy", LoaderAllocator::Destroy)
588 FCFuncEnd()
589
590 FCFuncStart(gAssemblyBuilderFuncs)
591     FCFuncElement("nCreateDynamicAssembly", AppDomainNative::CreateDynamicAssembly)
592     FCFuncElement("GetInMemoryAssemblyModule", AssemblyNative::GetInMemoryAssemblyModule)
593 FCFuncEnd()
594
595 #ifdef MDA_SUPPORTED 
596 FCFuncStart(gMda)
597     FCFuncElement("MemberInfoCacheCreation", MdaManagedSupport::MemberInfoCacheCreation)
598     FCFuncElement("DateTimeInvalidLocalFormat", MdaManagedSupport::DateTimeInvalidLocalFormat)
599     FCFuncElement("IsStreamWriterBufferedDataLostEnabled", MdaManagedSupport::IsStreamWriterBufferedDataLostEnabled)
600     FCFuncElement("IsStreamWriterBufferedDataLostCaptureAllocatedCallStack", MdaManagedSupport::IsStreamWriterBufferedDataLostCaptureAllocatedCallStack)
601     FCFuncElement("ReportStreamWriterBufferedDataLost", MdaManagedSupport::ReportStreamWriterBufferedDataLost)
602     FCFuncElement("IsInvalidGCHandleCookieProbeEnabled", MdaManagedSupport::IsInvalidGCHandleCookieProbeEnabled)
603     FCFuncElement("FireInvalidGCHandleCookieProbe", MdaManagedSupport::FireInvalidGCHandleCookieProbe)
604     FCFuncElement("ReportErrorSafeHandleRelease", MdaManagedSupport::ReportErrorSafeHandleRelease)
605 FCFuncEnd()
606 #endif // MDA_SUPPORTED
607
608 FCFuncStart(gDelegateFuncs)
609     FCFuncElement("BindToMethodName", COMDelegate::BindToMethodName)
610     FCFuncElement("BindToMethodInfo", COMDelegate::BindToMethodInfo)
611     FCFuncElement("GetMulticastInvoke", COMDelegate::GetMulticastInvoke)
612     FCFuncElement("GetInvokeMethod", COMDelegate::GetInvokeMethod)
613     FCFuncElement("InternalAlloc", COMDelegate::InternalAlloc)
614     FCFuncElement("InternalAllocLike", COMDelegate::InternalAllocLike)
615     FCFuncElement("InternalEqualTypes", COMDelegate::InternalEqualTypes)
616     FCFuncElement("InternalEqualMethodHandles", COMDelegate::InternalEqualMethodHandles)
617     FCFuncElement("FindMethodHandle", COMDelegate::FindMethodHandle)
618     FCFuncElement("AdjustTarget", COMDelegate::AdjustTarget)
619     FCFuncElement("GetCallStub", COMDelegate::GetCallStub)
620     FCFuncElement("CompareUnmanagedFunctionPtrs", COMDelegate::CompareUnmanagedFunctionPtrs)
621
622     // The FCall mechanism knows how to wire multiple different constructor calls into a
623     // single entrypoint, without the following entry.  But we need this entry to satisfy
624     // frame creation within the body:
625     FCFuncElement("DelegateConstruct", COMDelegate::DelegateConstruct)
626 FCFuncEnd()
627
628 FCFuncStart(gMathFuncs)
629     FCIntrinsicSig("Abs", &gsig_SM_Dbl_RetDbl, COMDouble::Abs, CORINFO_INTRINSIC_Abs)
630     FCIntrinsicSig("Abs", &gsig_SM_Flt_RetFlt, COMSingle::Abs, CORINFO_INTRINSIC_Abs)
631     FCIntrinsic("Acos", COMDouble::Acos, CORINFO_INTRINSIC_Acos)
632     FCIntrinsic("Asin", COMDouble::Asin, CORINFO_INTRINSIC_Asin)
633     FCIntrinsic("Atan", COMDouble::Atan, CORINFO_INTRINSIC_Atan)
634     FCIntrinsic("Atan2", COMDouble::Atan2, CORINFO_INTRINSIC_Atan2)
635     FCIntrinsic("Ceiling", COMDouble::Ceil, CORINFO_INTRINSIC_Ceiling)
636     FCIntrinsic("Cos", COMDouble::Cos, CORINFO_INTRINSIC_Cos)
637     FCIntrinsic("Cosh", COMDouble::Cosh, CORINFO_INTRINSIC_Cosh)
638     FCIntrinsic("Exp", COMDouble::Exp, CORINFO_INTRINSIC_Exp)
639     FCIntrinsic("Floor", COMDouble::Floor, CORINFO_INTRINSIC_Floor)
640     FCFuncElement("FMod", COMDouble::FMod)
641     FCFuncElement("Log", COMDouble::Log)
642     FCIntrinsic("Log10", COMDouble::Log10, CORINFO_INTRINSIC_Log10)
643     FCFuncElement("ModF", COMDouble::ModF)
644     FCIntrinsic("Pow", COMDouble::Pow, CORINFO_INTRINSIC_Pow)
645     FCIntrinsic("Sin", COMDouble::Sin, CORINFO_INTRINSIC_Sin)
646     FCIntrinsic("Sinh", COMDouble::Sinh, CORINFO_INTRINSIC_Sinh)
647     FCIntrinsic("Sqrt", COMDouble::Sqrt, CORINFO_INTRINSIC_Sqrt)
648     FCIntrinsic("Tan", COMDouble::Tan, CORINFO_INTRINSIC_Tan)
649     FCIntrinsic("Tanh", COMDouble::Tanh, CORINFO_INTRINSIC_Tanh)
650 FCFuncEnd()
651
652 FCFuncStart(gMathFFuncs)
653     FCIntrinsic("Acos", COMSingle::Acos, CORINFO_INTRINSIC_Acos)
654     FCIntrinsic("Asin", COMSingle::Asin, CORINFO_INTRINSIC_Asin)
655     FCIntrinsic("Atan", COMSingle::Atan, CORINFO_INTRINSIC_Atan)
656     FCIntrinsic("Atan2", COMSingle::Atan2, CORINFO_INTRINSIC_Atan2)
657     FCIntrinsic("Ceiling", COMSingle::Ceil, CORINFO_INTRINSIC_Ceiling)
658     FCIntrinsic("Cos", COMSingle::Cos, CORINFO_INTRINSIC_Cos)
659     FCIntrinsic("Cosh", COMSingle::Cosh, CORINFO_INTRINSIC_Cosh)
660     FCIntrinsic("Exp", COMSingle::Exp, CORINFO_INTRINSIC_Exp)
661     FCIntrinsic("Floor", COMSingle::Floor, CORINFO_INTRINSIC_Floor)
662     FCFuncElement("FMod", COMSingle::FMod)
663     FCFuncElement("Log", COMSingle::Log)
664     FCIntrinsic("Log10", COMSingle::Log10, CORINFO_INTRINSIC_Log10)
665     FCFuncElement("ModF", COMSingle::ModF)
666     FCIntrinsic("Pow", COMSingle::Pow, CORINFO_INTRINSIC_Pow)
667     FCIntrinsic("Sin", COMSingle::Sin, CORINFO_INTRINSIC_Sin)
668     FCIntrinsic("Sinh", COMSingle::Sinh, CORINFO_INTRINSIC_Sinh)
669     FCIntrinsic("Sqrt", COMSingle::Sqrt, CORINFO_INTRINSIC_Sqrt)
670     FCIntrinsic("Tan", COMSingle::Tan, CORINFO_INTRINSIC_Tan)
671     FCIntrinsic("Tanh", COMSingle::Tanh, CORINFO_INTRINSIC_Tanh)
672 FCFuncEnd()
673
674 FCFuncStart(gRuntimeThreadFuncs)
675     FCFuncElement("get_IsAlive", ThreadNative::IsAlive)
676     FCFuncElement("IsBackgroundNative", ThreadNative::IsBackground)
677     FCFuncElement("SetBackgroundNative", ThreadNative::SetBackground)
678     FCFuncElement("get_IsThreadPoolThread", ThreadNative::IsThreadpoolThread)
679     FCFuncElement("GetPriorityNative", ThreadNative::GetPriority)
680     FCFuncElement("SetPriorityNative", ThreadNative::SetPriority)
681     FCFuncElement("GetThreadStateNative", ThreadNative::GetThreadState)
682 #ifdef FEATURE_COMINTEROP_APARTMENT_SUPPORT
683     FCFuncElement("GetApartmentStateNative", ThreadNative::GetApartmentState)
684     FCFuncElement("SetApartmentStateNative", ThreadNative::SetApartmentState)
685 #endif // FEATURE_COMINTEROP_APARTMENT_SUPPORT
686 #ifdef FEATURE_COMINTEROP
687     FCFuncElement("DisableComObjectEagerCleanup", ThreadNative::DisableComObjectEagerCleanup)
688 #endif // FEATURE_COMINTEROP
689     FCFuncElement("InterruptInternal", ThreadNative::Interrupt)
690     FCFuncElement("JoinInternal", ThreadNative::Join)
691     QCFuncElement("GetOptimalMaxSpinWaitsPerSpinIterationInternal", ThreadNative::GetOptimalMaxSpinWaitsPerSpinIteration)
692 FCFuncEnd()
693
694 FCFuncStart(gThreadFuncs)
695     FCDynamic("InternalGetCurrentThread", CORINFO_INTRINSIC_Illegal, ECall::InternalGetCurrentThread)
696     FCFuncElement("StartInternal", ThreadNative::Start)
697     QCFuncElement("nativeInitCultureAccessors", ThreadNative::nativeInitCultureAccessors)
698 #undef Sleep
699     FCFuncElement("SleepInternal", ThreadNative::Sleep)
700 #define Sleep(a) Dont_Use_Sleep(a)
701     FCFuncElement("SetStart", ThreadNative::SetStart)
702     FCFuncElement("GetDomainInternal", ThreadNative::GetDomain)
703     FCFuncElement("GetFastDomainInternal", ThreadNative::FastGetDomain)
704     QCFuncElement("InformThreadNameChange", ThreadNative::InformThreadNameChange)
705     FCFuncElement("SpinWaitInternal", ThreadNative::SpinWait)
706     QCFuncElement("YieldInternal", ThreadNative::YieldThread)
707     FCIntrinsic("GetCurrentThreadNative", ThreadNative::GetCurrentThread, CORINFO_INTRINSIC_GetCurrentManagedThread)
708     FCIntrinsic("get_ManagedThreadId", ThreadNative::GetManagedThreadId, CORINFO_INTRINSIC_GetManagedThreadId)
709     FCFuncElement("InternalFinalize", ThreadNative::Finalize)
710 #ifdef FEATURE_COMINTEROP_APARTMENT_SUPPORT
711     FCFuncElement("StartupSetApartmentStateInternal", ThreadNative::StartupSetApartmentState)
712 #endif // FEATURE_COMINTEROP_APARTMENT_SUPPORT
713 FCFuncEnd()
714
715 FCFuncStart(gThreadPoolFuncs)
716     FCFuncElement("PostQueuedCompletionStatus", ThreadPoolNative::CorPostQueuedCompletionStatus)
717     FCFuncElement("GetAvailableThreadsNative", ThreadPoolNative::CorGetAvailableThreads)
718     FCFuncElement("SetMinThreadsNative", ThreadPoolNative::CorSetMinThreads)
719     FCFuncElement("GetMinThreadsNative", ThreadPoolNative::CorGetMinThreads)
720     FCFuncElement("RegisterWaitForSingleObjectNative", ThreadPoolNative::CorRegisterWaitForSingleObject)
721     FCFuncElement("BindIOCompletionCallbackNative", ThreadPoolNative::CorBindIoCompletionCallback)
722     FCFuncElement("SetMaxThreadsNative", ThreadPoolNative::CorSetMaxThreads)
723     FCFuncElement("GetMaxThreadsNative", ThreadPoolNative::CorGetMaxThreads)
724     FCFuncElement("NotifyWorkItemComplete", ThreadPoolNative::NotifyRequestComplete)
725     FCFuncElement("NotifyWorkItemProgressNative", ThreadPoolNative::NotifyRequestProgress)
726     QCFuncElement("InitializeVMTp", ThreadPoolNative::InitializeVMTp)
727     FCFuncElement("ReportThreadStatus", ThreadPoolNative::ReportThreadStatus)   
728     QCFuncElement("RequestWorkerThread", ThreadPoolNative::RequestWorkerThread)
729 FCFuncEnd()
730
731 FCFuncStart(gTimerFuncs)
732     QCFuncElement("CreateAppDomainTimer", AppDomainTimerNative::CreateAppDomainTimer)
733     QCFuncElement("ChangeAppDomainTimer", AppDomainTimerNative::ChangeAppDomainTimer)
734     QCFuncElement("DeleteAppDomainTimer", AppDomainTimerNative::DeleteAppDomainTimer)
735 FCFuncEnd()
736
737
738 FCFuncStart(gRegisteredWaitHandleFuncs)
739     FCFuncElement("UnregisterWaitNative", ThreadPoolNative::CorUnregisterWait)
740     FCFuncElement("WaitHandleCleanupNative", ThreadPoolNative::CorWaitHandleCleanupNative)
741 FCFuncEnd()
742
743 FCFuncStart(gWaitHandleFuncs)
744     FCFuncElement("WaitOneNative", WaitHandleNative::CorWaitOneNative)
745     FCFuncElement("WaitMultiple", WaitHandleNative::CorWaitMultipleNative)
746 #ifndef FEATURE_PAL
747     FCFuncElement("SignalAndWaitOne", WaitHandleNative::CorSignalAndWaitOneNative)
748 #endif // !FEATURE_PAL
749 FCFuncEnd()
750
751 FCFuncStart(gNumberFuncs)
752     FCFuncElement("FormatDecimal", COMNumber::FormatDecimal)
753     FCFuncElement("FormatDouble", COMNumber::FormatDouble)
754     FCFuncElement("FormatSingle", COMNumber::FormatSingle)
755     FCFuncElement("NumberBufferToDecimal", COMNumber::NumberBufferToDecimal)
756     FCFuncElement("NumberBufferToDouble", COMNumber::NumberBufferToDouble)
757 FCFuncEnd()
758
759 #ifdef FEATURE_COMINTEROP
760 FCFuncStart(gVariantFuncs)
761     FCFuncElement("SetFieldsObject", COMVariant::SetFieldsObject)
762     FCFuncElement("SetFieldsR4", COMVariant::SetFieldsR4)
763     FCFuncElement("SetFieldsR8", COMVariant::SetFieldsR8)
764     FCFuncElement("GetR4FromVar", COMVariant::GetR4FromVar)
765     FCFuncElement("GetR8FromVar", COMVariant::GetR8FromVar)
766     FCFuncElement("BoxEnum", COMVariant::BoxEnum)
767 FCFuncEnd()
768 #endif // FEATURE_COMINTEROP
769
770 #ifdef FEATURE_COMINTEROP
771 FCFuncStart(gOAVariantFuncs)
772     FCFuncElement("ChangeTypeEx", COMOAVariant::ChangeTypeEx)
773 FCFuncEnd()
774 #endif // FEATURE_COMINTEROP
775
776 FCFuncStart(gDecimalFuncs)
777     FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_Flt_RetVoid, COMDecimal::InitSingle)
778     FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_Dbl_RetVoid, COMDecimal::InitDouble)
779     FCFuncElement("FCallAddSub", COMDecimal::DoAddSubThrow)
780     FCFuncElement("FCallMultiply", COMDecimal::DoMultiplyThrow)
781     FCFuncElement("FCallDivide", COMDecimal::DoDivideThrow)
782     FCFuncElement("FCallCompare", COMDecimal::DoCompare)
783     FCFuncElement("FCallFloor", COMDecimal::DoFloor)
784     FCFuncElement("GetHashCode", COMDecimal::GetHashCode)
785     FCFuncElement("FCallRound", COMDecimal::DoRound)
786     FCFuncElement("FCallToCurrency", COMDecimal::DoToCurrency)
787     FCFuncElement("FCallToInt32", COMDecimal::ToInt32)    
788     FCFuncElement("ToDouble", COMDecimal::ToDouble)
789     FCFuncElement("ToSingle", COMDecimal::ToSingle)
790     FCFuncElement("FCallTruncate", COMDecimal::DoTruncate)
791 FCFuncEnd()
792
793 FCFuncStart(gCurrencyFuncs)
794     FCFuncElement("FCallToDecimal", COMCurrency::DoToDecimal)
795 FCFuncEnd()
796
797 FCFuncStart(gClrConfig)
798     QCFuncElement("GetConfigBoolValue", ClrConfigNative::GetConfigBoolValue)
799 FCFuncEnd()
800
801 #if !defined(FEATURE_COREFX_GLOBALIZATION)
802 FCFuncStart(gCompareInfoFuncs)
803     QCFuncElement("InternalGetGlobalizedHashCode", COMNlsInfo::InternalGetGlobalizedHashCode)
804 FCFuncEnd()
805
806 FCFuncStart(gEncodingTableFuncs)
807     FCFuncElement("GetNumEncodingItems", COMNlsInfo::nativeGetNumEncodingItems)
808     FCFuncElement("GetEncodingData", COMNlsInfo::nativeGetEncodingTableDataPointer)
809     FCFuncElement("GetCodePageData", COMNlsInfo::nativeGetCodePageTableDataPointer)
810 FCFuncEnd()
811 #endif // !defined(FEATURE_COREFX_GLOBALIZATION)
812
813 #ifdef FEATURE_COREFX_GLOBALIZATION
814 FCFuncStart(gCompareInfoFuncs)
815     QCFuncElement("InternalHashSortKey", CoreFxGlobalization::HashSortKey)
816 FCFuncEnd()
817 #endif
818
819 FCFuncStart(gArrayFuncs)
820     FCFuncElement("get_Rank", ArrayNative::GetRank)
821     FCFuncElement("GetLowerBound", ArrayNative::GetLowerBound)
822     FCFuncElement("GetUpperBound", ArrayNative::GetUpperBound)
823     FCIntrinsicSig("GetLength", &gsig_IM_Int_RetInt, ArrayNative::GetLength, CORINFO_INTRINSIC_Array_GetDimLength)
824     FCFuncElement("get_Length", ArrayNative::GetLengthNoRank)
825     FCFuncElement("get_LongLength", ArrayNative::GetLongLengthNoRank)
826     FCFuncElement("GetDataPtrOffsetInternal", ArrayNative::GetDataPtrOffsetInternal)
827     FCFuncElement("Initialize", ArrayNative::Initialize)
828     FCFuncElement("Copy", ArrayNative::ArrayCopy)
829     FCFuncElement("Clear", ArrayNative::ArrayClear)
830     FCFuncElement("InternalCreate", ArrayNative::CreateInstance)
831     FCFuncElement("InternalGetReference", ArrayNative::GetReference)
832     FCFuncElement("InternalSetValue", ArrayNative::SetValue)
833     FCFuncElement("TrySZIndexOf", ArrayHelper::TrySZIndexOf)
834     FCFuncElement("TrySZLastIndexOf", ArrayHelper::TrySZLastIndexOf)
835     FCFuncElement("TrySZBinarySearch", ArrayHelper::TrySZBinarySearch)
836     FCFuncElement("TrySZSort", ArrayHelper::TrySZSort)
837     FCFuncElement("TrySZReverse", ArrayHelper::TrySZReverse)
838 FCFuncEnd()
839
840 FCFuncStart(gBufferFuncs)
841     FCFuncElement("BlockCopy", Buffer::BlockCopy)
842     FCFuncElement("InternalBlockCopy", Buffer::InternalBlockCopy)
843     FCFuncElement("_GetByte", Buffer::GetByte)
844     FCFuncElement("_SetByte", Buffer::SetByte)
845     FCFuncElement("IsPrimitiveTypeArray", Buffer::IsPrimitiveTypeArray)
846     FCFuncElement("_ByteLength", Buffer::ByteLength)
847 #ifdef _TARGET_ARM_
848     FCFuncElement("Memcpy", FCallMemcpy)
849 #endif
850     QCFuncElement("__Memmove", Buffer::MemMove)
851 FCFuncEnd()
852
853 FCFuncStart(gGCInterfaceFuncs)
854     FCFuncElement("GetGenerationWR", GCInterface::GetGenerationWR)
855     FCFuncElement("_RegisterForFullGCNotification", GCInterface::RegisterForFullGCNotification)
856     FCFuncElement("_CancelFullGCNotification", GCInterface::CancelFullGCNotification)
857     FCFuncElement("_WaitForFullGCApproach", GCInterface::WaitForFullGCApproach)
858     FCFuncElement("_WaitForFullGCComplete", GCInterface::WaitForFullGCComplete)
859     FCFuncElement("_CollectionCount", GCInterface::CollectionCount)
860     FCFuncElement("GetGCLatencyMode", GCInterface::GetGcLatencyMode)
861     FCFuncElement("SetGCLatencyMode", GCInterface::SetGcLatencyMode)
862     FCFuncElement("GetLOHCompactionMode", GCInterface::GetLOHCompactionMode)
863     FCFuncElement("SetLOHCompactionMode", GCInterface::SetLOHCompactionMode)
864     QCFuncElement("_StartNoGCRegion", GCInterface::StartNoGCRegion)
865     QCFuncElement("_EndNoGCRegion", GCInterface::EndNoGCRegion)
866     FCFuncElement("IsServerGC", SystemNative::IsServerGC)
867     QCFuncElement("_AddMemoryPressure", GCInterface::_AddMemoryPressure)
868     QCFuncElement("_RemoveMemoryPressure", GCInterface::_RemoveMemoryPressure)
869     FCFuncElement("GetGeneration", GCInterface::GetGeneration)
870     QCFuncElement("GetTotalMemory", GCInterface::GetTotalMemory)
871     QCFuncElement("_Collect", GCInterface::Collect)
872     FCFuncElement("GetMaxGeneration", GCInterface::GetMaxGeneration)
873     QCFuncElement("_WaitForPendingFinalizers", GCInterface::WaitForPendingFinalizers)
874
875     FCFuncElement("_SuppressFinalize", GCInterface::SuppressFinalize)
876     FCFuncElement("_ReRegisterForFinalize", GCInterface::ReRegisterForFinalize)
877     
878     FCFuncElement("_GetAllocatedBytesForCurrentThread", GCInterface::GetAllocatedBytesForCurrentThread)
879 FCFuncEnd()
880
881 FCFuncStart(gMemoryFailPointFuncs)
882     FCFuncElement("GetMemorySettings", COMMemoryFailPoint::GetMemorySettings)
883 FCFuncEnd()
884
885 FCFuncStart(gInteropMarshalFuncs)
886     FCFuncElement("GetLastWin32Error", MarshalNative::GetLastWin32Error)
887     FCFuncElement("SetLastWin32Error", MarshalNative::SetLastWin32Error)
888     FCFuncElement("SizeOfHelper", MarshalNative::SizeOfClass)
889     FCFuncElement("GetSystemMaxDBCSCharSize", MarshalNative::GetSystemMaxDBCSCharSize)
890     FCFuncElement("PtrToStructureHelper", MarshalNative::PtrToStructureHelper)
891     FCFuncElement("DestroyStructure", MarshalNative::DestroyStructure)
892     FCFuncElement("UnsafeAddrOfPinnedArrayElement", MarshalNative::FCUnsafeAddrOfPinnedArrayElement)
893     FCFuncElement("GetExceptionCode", ExceptionNative::GetExceptionCode)
894     FCFuncElement("GetExceptionPointers", ExceptionNative::GetExceptionPointers)
895     QCFuncElement("GetHINSTANCE", COMModule::GetHINSTANCE)
896
897     FCFuncElement("OffsetOfHelper", MarshalNative::OffsetOfHelper)
898     FCFuncElement("SizeOfType", SafeBuffer::SizeOfType)
899     FCFuncElement("AlignedSizeOfType", SafeBuffer::AlignedSizeOfType)
900
901     QCFuncElement("InternalPrelink", MarshalNative::Prelink)
902     FCFuncElement("CopyToNative", MarshalNative::CopyToNative)
903     FCFuncElement("CopyToManaged", MarshalNative::CopyToManaged)
904     FCFuncElement("StructureToPtr", MarshalNative::StructureToPtr)
905     FCFuncElement("ThrowExceptionForHRInternal", MarshalNative::ThrowExceptionForHR)
906     FCFuncElement("GetExceptionForHRInternal", MarshalNative::GetExceptionForHR)
907     FCFuncElement("GetDelegateForFunctionPointerInternal", MarshalNative::GetDelegateForFunctionPointerInternal)
908     FCFuncElement("GetFunctionPointerForDelegateInternal", MarshalNative::GetFunctionPointerForDelegateInternal)
909 #ifdef FEATURE_COMINTEROP
910     FCFuncElement("GetHRForException", MarshalNative::GetHRForException)
911     FCFuncElement("GetHRForException_WinRT", MarshalNative::GetHRForException_WinRT)
912     FCFuncElement("GetRawIUnknownForComObjectNoAddRef", MarshalNative::GetRawIUnknownForComObjectNoAddRef)
913     FCFuncElement("IsComObject", MarshalNative::IsComObject)
914     FCFuncElement("GetObjectForIUnknown", MarshalNative::GetObjectForIUnknown)
915     FCFuncElement("GetUniqueObjectForIUnknown", MarshalNative::GetUniqueObjectForIUnknown)
916     FCFuncElement("AddRef", MarshalNative::AddRef)
917     FCFuncElement("GetNativeVariantForObject", MarshalNative::GetNativeVariantForObject)
918     FCFuncElement("GetObjectForNativeVariant", MarshalNative::GetObjectForNativeVariant)
919     FCFuncElement("InternalFinalReleaseComObject", MarshalNative::FinalReleaseComObject)
920     FCFuncElement("QueryInterface", MarshalNative::QueryInterface)
921     FCFuncElement("CreateAggregatedObject", MarshalNative::CreateAggregatedObject)
922     FCFuncElement("AreComObjectsAvailableForCleanup", MarshalNative::AreComObjectsAvailableForCleanup)
923     FCFuncElement("InternalCreateWrapperOfType", MarshalNative::InternalCreateWrapperOfType)
924     FCFuncElement("GetObjectsForNativeVariants", MarshalNative::GetObjectsForNativeVariants)
925     FCFuncElement("GetStartComSlot", MarshalNative::GetStartComSlot)
926
927     FCFuncElement("InitializeManagedWinRTFactoryObject", MarshalNative::InitializeManagedWinRTFactoryObject)
928
929     FCFuncElement("GetNativeActivationFactory", MarshalNative::GetNativeActivationFactory)
930     FCFuncElement("GetIUnknownForObjectNative", MarshalNative::GetIUnknownForObjectNative)
931     FCFuncElement("GetComInterfaceForObjectNative", MarshalNative::GetComInterfaceForObjectNative)
932     FCFuncElement("InternalReleaseComObject", MarshalNative::ReleaseComObject)
933     FCFuncElement("Release", MarshalNative::Release)
934     FCFuncElement("InitializeWrapperForWinRT", MarshalNative::InitializeWrapperForWinRT)
935     FCFuncElement("GetTypedObjectForIUnknown", MarshalNative::GetTypedObjectForIUnknown)
936     FCFuncElement("ChangeWrapperHandleStrength", MarshalNative::ChangeWrapperHandleStrength)
937     FCFuncElement("CleanupUnusedObjectsInCurrentContext", MarshalNative::CleanupUnusedObjectsInCurrentContext)
938 #endif // FEATURE_COMINTEROP
939 FCFuncEnd()
940
941 FCFuncStart(gArrayWithOffsetFuncs)
942     FCFuncElement("CalculateCount", MarshalNative::CalculateCount)
943 FCFuncEnd()
944
945 #ifdef FEATURE_COMINTEROP
946
947
948
949
950 #ifdef FEATURE_COMINTEROP_MANAGED_ACTIVATION
951 FCFuncStart(gRegistrationFuncs)
952     FCFuncElement("RegisterTypeForComClientsNative", RegisterTypeForComClientsNative)
953     FCFuncElement("RegisterTypeForComClientsExNative", RegisterTypeForComClientsExNative)
954 FCFuncEnd()
955 #endif // FEATURE_COMINTEROP_MANAGED_ACTIVATION
956
957 #endif // FEATURE_COMINTEROP
958
959 FCFuncStart(gTypeLoadExceptionFuncs)
960     QCFuncElement("GetTypeLoadExceptionMessage", GetTypeLoadExceptionMessage)
961 FCFuncEnd()
962
963 FCFuncStart(gFileLoadExceptionFuncs)
964     QCFuncElement("GetFileLoadExceptionMessage", GetFileLoadExceptionMessage)
965     QCFuncElement("GetMessageForHR", FileLoadException_GetMessageForHR)
966 FCFuncEnd()
967
968 FCFuncStart(gMissingMemberExceptionFuncs)
969     FCFuncElement("FormatSignature", MissingMemberException_FormatSignature)
970 FCFuncEnd()
971
972 FCFuncStart(gInterlockedFuncs)
973     FCIntrinsicSig("Exchange", &gsig_SM_RefInt_Int_RetInt, COMInterlocked::Exchange, CORINFO_INTRINSIC_InterlockedXchg32)
974     FCIntrinsicSig("Exchange", &gsig_SM_RefLong_Long_RetLong, COMInterlocked::Exchange64, CORINFO_INTRINSIC_InterlockedXchg64)    
975     FCFuncElementSig("Exchange", &gsig_SM_RefDbl_Dbl_RetDbl, COMInterlocked::ExchangeDouble)
976     FCFuncElementSig("Exchange", &gsig_SM_RefFlt_Flt_RetFlt, COMInterlocked::ExchangeFloat)
977     FCFuncElementSig("Exchange", &gsig_SM_RefObj_Obj_RetObj, COMInterlocked::ExchangeObject)
978     FCFuncElementSig("Exchange", &gsig_SM_RefIntPtr_IntPtr_RetIntPtr, COMInterlocked::ExchangePointer)
979     FCIntrinsicSig("CompareExchange", &gsig_SM_RefInt_Int_Int_RetInt, COMInterlocked::CompareExchange, CORINFO_INTRINSIC_InterlockedCmpXchg32)
980     FCIntrinsicSig("CompareExchange", &gsig_SM_RefLong_Long_Long_RetLong, COMInterlocked::CompareExchange64, CORINFO_INTRINSIC_InterlockedCmpXchg64)
981     FCFuncElementSig("CompareExchange", &gsig_SM_RefDbl_Dbl_Dbl_RetDbl, COMInterlocked::CompareExchangeDouble)
982     FCFuncElementSig("CompareExchange", &gsig_SM_RefFlt_Flt_Flt_RetFlt, COMInterlocked::CompareExchangeFloat)
983     FCFuncElementSig("CompareExchange", &gsig_SM_RefObj_Obj_Obj_RetObj, COMInterlocked::CompareExchangeObject)
984     FCFuncElementSig("CompareExchange", &gsig_SM_RefInt_Int_Int_RefBool_RetInt, COMInterlocked::CompareExchangeReliableResult)
985     FCFuncElementSig("CompareExchange", &gsig_SM_RefIntPtr_IntPtr_IntPtr_RetIntPtr, COMInterlocked::CompareExchangePointer)
986     FCIntrinsicSig("ExchangeAdd", &gsig_SM_RefInt_Int_RetInt, COMInterlocked::ExchangeAdd32, CORINFO_INTRINSIC_InterlockedXAdd32)
987     FCIntrinsicSig("ExchangeAdd", &gsig_SM_RefLong_Long_RetLong, COMInterlocked::ExchangeAdd64, CORINFO_INTRINSIC_InterlockedXAdd64)
988
989     FCFuncElement("_Exchange", COMInterlocked::ExchangeGeneric)
990     FCFuncElement("_CompareExchange", COMInterlocked::CompareExchangeGeneric)
991
992     FCIntrinsic("MemoryBarrier", COMInterlocked::FCMemoryBarrier, CORINFO_INTRINSIC_MemoryBarrier)
993     QCFuncElement("_MemoryBarrierProcessWide", COMInterlocked::MemoryBarrierProcessWide)
994 FCFuncEnd()
995
996 FCFuncStart(gVarArgFuncs)
997     FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_IntPtr_PtrVoid_RetVoid, VarArgsNative::Init2)
998     FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_IntPtr_RetVoid, VarArgsNative::Init)
999     FCFuncElement("GetRemainingCount", VarArgsNative::GetRemainingCount)
1000     FCFuncElement("_GetNextArgType", VarArgsNative::GetNextArgType)
1001     FCFuncElement("FCallGetNextArg", VarArgsNative::DoGetNextArg)
1002     FCFuncElement("InternalGetNextArg", VarArgsNative::GetNextArg2)
1003 FCFuncEnd()
1004
1005 FCFuncStart(gMonitorFuncs)
1006     FCFuncElement("Enter", JIT_MonEnter)
1007     FCFuncElement("ReliableEnter", JIT_MonReliableEnter)
1008     FCFuncElement("ReliableEnterTimeout", JIT_MonTryEnter)
1009     FCFuncElement("Exit", JIT_MonExit)
1010     FCFuncElement("ObjWait", ObjectNative::WaitTimeout)
1011     FCFuncElement("ObjPulse", ObjectNative::Pulse)
1012     FCFuncElement("ObjPulseAll", ObjectNative::PulseAll)
1013     FCFuncElement("IsEnteredNative", ObjectNative::IsLockHeld)
1014 FCFuncEnd()
1015
1016 FCFuncStart(gOverlappedFuncs)
1017     FCFuncElement("AllocateNativeOverlapped", AllocateNativeOverlapped)
1018     FCFuncElement("FreeNativeOverlapped", FreeNativeOverlapped)
1019     FCFuncElement("CheckVMForIOPacket", CheckVMForIOPacket)
1020     FCFuncElement("GetOverlappedFromNative", GetOverlappedFromNative)
1021 FCFuncEnd()
1022
1023 FCFuncStart(gCompilerFuncs)
1024     FCFuncElement("GetObjectValue", ObjectNative::GetObjectValue)
1025     FCIntrinsic("InitializeArray", ArrayNative::InitializeArray, CORINFO_INTRINSIC_InitializeArray)
1026     FCFuncElement("_RunClassConstructor", ReflectionInvocation::RunClassConstructor)
1027     FCFuncElement("_RunModuleConstructor", ReflectionInvocation::RunModuleConstructor)
1028     QCFuncElement("_CompileMethod", ReflectionInvocation::CompileMethod)
1029     FCFuncElement("ExecuteCodeWithGuaranteedCleanup", ReflectionInvocation::ExecuteCodeWithGuaranteedCleanup)
1030     FCFuncElement("GetHashCode", ObjectNative::GetHashCode)
1031     FCFuncElement("Equals", ObjectNative::Equals)
1032     FCFuncElement("EnsureSufficientExecutionStack", ReflectionInvocation::EnsureSufficientExecutionStack)
1033     FCFuncElement("TryEnsureSufficientExecutionStack", ReflectionInvocation::TryEnsureSufficientExecutionStack)
1034 FCFuncEnd()
1035
1036 FCFuncStart(gContextSynchronizationFuncs)
1037     FCFuncElement("WaitHelperNative", SynchronizationContextNative::WaitHelper)
1038 #ifdef FEATURE_APPX
1039     QCFuncElement("GetWinRTDispatcherForCurrentThread", SynchronizationContextNative::GetWinRTDispatcherForCurrentThread)
1040 #endif
1041 FCFuncEnd()
1042
1043 FCFuncStart(gDateMarshalerFuncs)
1044     FCFuncElement("ConvertToNative", StubHelpers::DateMarshaler__ConvertToNative)
1045     FCFuncElement("ConvertToManaged", StubHelpers::DateMarshaler__ConvertToManaged)
1046 FCFuncEnd()
1047
1048 FCFuncStart(gValueClassMarshalerFuncs)
1049     FCFuncElement("ConvertToNative", StubHelpers::ValueClassMarshaler__ConvertToNative)
1050     FCFuncElement("ConvertToManaged", StubHelpers::ValueClassMarshaler__ConvertToManaged)
1051     FCFuncElement("ClearNative", StubHelpers::ValueClassMarshaler__ClearNative)
1052 FCFuncEnd()
1053
1054 FCFuncStart(gMngdNativeArrayMarshalerFuncs)
1055     FCFuncElement("CreateMarshaler", MngdNativeArrayMarshaler::CreateMarshaler)
1056     FCFuncElement("ConvertSpaceToNative", MngdNativeArrayMarshaler::ConvertSpaceToNative)
1057     FCFuncElement("ConvertContentsToNative", MngdNativeArrayMarshaler::ConvertContentsToNative)
1058     FCFuncElement("ConvertSpaceToManaged", MngdNativeArrayMarshaler::ConvertSpaceToManaged)
1059     FCFuncElement("ConvertContentsToManaged", MngdNativeArrayMarshaler::ConvertContentsToManaged)
1060     FCFuncElement("ClearNative", MngdNativeArrayMarshaler::ClearNative)
1061     FCFuncElement("ClearNativeContents", MngdNativeArrayMarshaler::ClearNativeContents)
1062 FCFuncEnd()
1063
1064 #ifdef FEATURE_COMINTEROP
1065 FCFuncStart(gObjectMarshalerFuncs)
1066     FCFuncElement("ConvertToNative", StubHelpers::ObjectMarshaler__ConvertToNative)
1067     FCFuncElement("ConvertToManaged", StubHelpers::ObjectMarshaler__ConvertToManaged)
1068     FCFuncElement("ClearNative", StubHelpers::ObjectMarshaler__ClearNative)
1069 FCFuncEnd()
1070
1071 FCFuncStart(gInterfaceMarshalerFuncs)
1072     FCFuncElement("ConvertToNative", StubHelpers::InterfaceMarshaler__ConvertToNative)
1073     FCFuncElement("ConvertToManaged", StubHelpers::InterfaceMarshaler__ConvertToManaged)
1074     QCFuncElement("ClearNative", StubHelpers::InterfaceMarshaler__ClearNative)
1075     FCFuncElement("ConvertToManagedWithoutUnboxing", StubHelpers::InterfaceMarshaler__ConvertToManagedWithoutUnboxing)
1076 FCFuncEnd()
1077
1078 FCFuncStart(gUriMarshalerFuncs)
1079     FCFuncElement("GetRawUriFromNative", StubHelpers::UriMarshaler__GetRawUriFromNative)
1080     FCFuncElement("CreateNativeUriInstanceHelper", StubHelpers::UriMarshaler__CreateNativeUriInstance)
1081 FCFuncEnd()
1082
1083 FCFuncStart(gEventArgsMarshalerFuncs)
1084     QCFuncElement("CreateNativeNCCEventArgsInstanceHelper", StubHelpers::EventArgsMarshaler__CreateNativeNCCEventArgsInstance)
1085     QCFuncElement("CreateNativePCEventArgsInstance", StubHelpers::EventArgsMarshaler__CreateNativePCEventArgsInstance)
1086 FCFuncEnd()
1087
1088 FCFuncStart(gMngdSafeArrayMarshalerFuncs)
1089     FCFuncElement("CreateMarshaler", MngdSafeArrayMarshaler::CreateMarshaler)
1090     FCFuncElement("ConvertSpaceToNative", MngdSafeArrayMarshaler::ConvertSpaceToNative)
1091     FCFuncElement("ConvertContentsToNative", MngdSafeArrayMarshaler::ConvertContentsToNative)
1092     FCFuncElement("ConvertSpaceToManaged", MngdSafeArrayMarshaler::ConvertSpaceToManaged)
1093     FCFuncElement("ConvertContentsToManaged", MngdSafeArrayMarshaler::ConvertContentsToManaged)
1094     FCFuncElement("ClearNative", MngdSafeArrayMarshaler::ClearNative)
1095 FCFuncEnd()
1096
1097 FCFuncStart(gMngdHiddenLengthArrayMarshalerFuncs)
1098     FCFuncElement("CreateMarshaler", MngdHiddenLengthArrayMarshaler::CreateMarshaler)
1099     FCFuncElement("ConvertSpaceToNative", MngdHiddenLengthArrayMarshaler::ConvertSpaceToNative)
1100     FCFuncElement("ConvertContentsToNative", MngdHiddenLengthArrayMarshaler::ConvertContentsToNative)
1101     FCFuncElement("ConvertSpaceToManaged", MngdHiddenLengthArrayMarshaler::ConvertSpaceToManaged)
1102     FCFuncElement("ConvertContentsToManaged", MngdHiddenLengthArrayMarshaler::ConvertContentsToManaged)
1103     FCFuncElement("ClearNativeContents", MngdHiddenLengthArrayMarshaler::ClearNativeContents)
1104 FCFuncEnd()
1105     
1106 FCFuncStart(gWinRTTypeNameConverterFuncs)
1107     FCFuncElement("ConvertToWinRTTypeName", StubHelpers::WinRTTypeNameConverter__ConvertToWinRTTypeName)
1108     FCFuncElement("GetTypeFromWinRTTypeName", StubHelpers::WinRTTypeNameConverter__GetTypeFromWinRTTypeName)
1109 FCFuncEnd()
1110
1111 #endif // FEATURE_COMINTEROP
1112
1113 FCFuncStart(gMngdRefCustomMarshalerFuncs)
1114     FCFuncElement("CreateMarshaler", MngdRefCustomMarshaler::CreateMarshaler)
1115     FCFuncElement("ConvertContentsToNative", MngdRefCustomMarshaler::ConvertContentsToNative)
1116     FCFuncElement("ConvertContentsToManaged", MngdRefCustomMarshaler::ConvertContentsToManaged)
1117     FCFuncElement("ClearNative", MngdRefCustomMarshaler::ClearNative)
1118     FCFuncElement("ClearManaged", MngdRefCustomMarshaler::ClearManaged)
1119 FCFuncEnd()
1120
1121 FCFuncStart(gStubHelperFuncs)
1122     FCFuncElement("IsQCall", StubHelpers::IsQCall)
1123     FCFuncElement("InitDeclaringType", StubHelpers::InitDeclaringType)
1124     FCIntrinsic("GetNDirectTarget", StubHelpers::GetNDirectTarget, CORINFO_INTRINSIC_StubHelpers_GetNDirectTarget)
1125     FCFuncElement("GetDelegateTarget", StubHelpers::GetDelegateTarget)
1126     FCFuncElement("SetLastError", StubHelpers::SetLastError)
1127     FCFuncElement("ClearLastError", StubHelpers::ClearLastError)
1128     FCFuncElement("ThrowInteropParamException", StubHelpers::ThrowInteropParamException)
1129     FCFuncElement("InternalGetHRExceptionObject", StubHelpers::GetHRExceptionObject)
1130 #ifdef FEATURE_COMINTEROP
1131     FCFuncElement("InternalGetCOMHRExceptionObject", StubHelpers::GetCOMHRExceptionObject)
1132     FCFuncElement("GetCOMIPFromRCW", StubHelpers::GetCOMIPFromRCW)
1133     FCFuncElement("GetCOMIPFromRCW_WinRT", StubHelpers::GetCOMIPFromRCW_WinRT)
1134     FCFuncElement("GetCOMIPFromRCW_WinRTSharedGeneric", StubHelpers::GetCOMIPFromRCW_WinRTSharedGeneric)
1135     FCFuncElement("GetCOMIPFromRCW_WinRTDelegate", StubHelpers::GetCOMIPFromRCW_WinRTDelegate)
1136     FCFuncElement("ShouldCallWinRTInterface", StubHelpers::ShouldCallWinRTInterface)
1137     FCFuncElement("GetTargetForAmbiguousVariantCall", StubHelpers::GetTargetForAmbiguousVariantCall)
1138     FCFuncElement("StubRegisterRCW", StubHelpers::StubRegisterRCW)
1139     FCFuncElement("StubUnregisterRCW", StubHelpers::StubUnregisterRCW)
1140     FCFuncElement("GetDelegateInvokeMethod", StubHelpers::GetDelegateInvokeMethod)
1141     FCFuncElement("GetWinRTFactoryObject", StubHelpers::GetWinRTFactoryObject)
1142     FCFuncElement("GetWinRTFactoryReturnValue", StubHelpers::GetWinRTFactoryReturnValue)
1143     FCFuncElement("GetOuterInspectable", StubHelpers::GetOuterInspectable)
1144 #ifdef MDA_SUPPORTED
1145     FCFuncElement("TriggerExceptionSwallowedMDA", StubHelpers::TriggerExceptionSwallowedMDA)
1146 #endif
1147 #endif // FEATURE_COMINTEROP
1148 #ifdef MDA_SUPPORTED
1149     FCFuncElement("CheckCollectedDelegateMDA", StubHelpers::CheckCollectedDelegateMDA)
1150 #endif // MDA_SUPPORTED
1151 #ifdef PROFILING_SUPPORTED    
1152     FCFuncElement("ProfilerBeginTransitionCallback", StubHelpers::ProfilerBeginTransitionCallback)
1153     FCFuncElement("ProfilerEndTransitionCallback", StubHelpers::ProfilerEndTransitionCallback)
1154 #endif    
1155     FCFuncElement("CreateCustomMarshalerHelper", StubHelpers::CreateCustomMarshalerHelper)
1156     FCFuncElement("DecimalCanonicalizeInternal", StubHelpers::DecimalCanonicalizeInternal)
1157     FCFuncElement("FmtClassUpdateNativeInternal", StubHelpers::FmtClassUpdateNativeInternal)
1158     FCFuncElement("FmtClassUpdateCLRInternal", StubHelpers::FmtClassUpdateCLRInternal)
1159     FCFuncElement("LayoutDestroyNativeInternal", StubHelpers::LayoutDestroyNativeInternal)
1160     FCFuncElement("AllocateInternal", StubHelpers::AllocateInternal)
1161     FCFuncElement("strlen", StubHelpers::AnsiStrlen)    
1162     FCFuncElement("MarshalToUnmanagedVaListInternal", StubHelpers::MarshalToUnmanagedVaListInternal)
1163     FCFuncElement("MarshalToManagedVaListInternal", StubHelpers::MarshalToManagedVaListInternal)
1164     FCFuncElement("CalcVaListSize", StubHelpers::CalcVaListSize)
1165     FCFuncElement("ValidateObject", StubHelpers::ValidateObject)
1166     FCFuncElement("ValidateByref", StubHelpers::ValidateByref)
1167     FCFuncElement("LogPinnedArgument", StubHelpers::LogPinnedArgument)
1168     FCIntrinsic("GetStubContext", StubHelpers::GetStubContext, CORINFO_INTRINSIC_StubHelpers_GetStubContext)
1169 #ifdef _WIN64
1170     FCIntrinsic("GetStubContextAddr", StubHelpers::GetStubContextAddr, CORINFO_INTRINSIC_StubHelpers_GetStubContextAddr)
1171 #endif // _WIN64
1172 #ifdef MDA_SUPPORTED
1173     FCFuncElement("TriggerGCForMDA", StubHelpers::TriggerGCForMDA)
1174 #endif // MDA_SUPPORTED
1175 #ifdef FEATURE_ARRAYSTUB_AS_IL
1176     FCFuncElement("ArrayTypeCheck", StubHelpers::ArrayTypeCheck)
1177 #endif //FEATURE_ARRAYSTUB_AS_IL
1178 #ifdef FEATURE_MULTICASTSTUB_AS_IL
1179     FCFuncElement("MulticastDebuggerTraceHelper", StubHelpers::MulticastDebuggerTraceHelper)
1180 #endif //FEATURE_MULTICASTSTUB_AS_IL
1181 FCFuncEnd()
1182
1183 FCFuncStart(gGCHandleFuncs)
1184     FCFuncElement("InternalAlloc", MarshalNative::GCHandleInternalAlloc)
1185     FCFuncElement("InternalFree", MarshalNative::GCHandleInternalFree)
1186     FCFuncElement("InternalGet", MarshalNative::GCHandleInternalGet)
1187     FCFuncElement("InternalSet", MarshalNative::GCHandleInternalSet)
1188     FCFuncElement("InternalCompareExchange", MarshalNative::GCHandleInternalCompareExchange)
1189     FCFuncElement("InternalAddrOfPinnedObject", MarshalNative::GCHandleInternalAddrOfPinnedObject)
1190 FCFuncEnd()
1191
1192
1193 FCFuncStart(gStreamFuncs)
1194     FCFuncElement("HasOverriddenBeginEndRead", StreamNative::HasOverriddenBeginEndRead)
1195     FCFuncElement("HasOverriddenBeginEndWrite", StreamNative::HasOverriddenBeginEndWrite)
1196 FCFuncEnd()
1197
1198
1199 #if defined(FEATURE_EVENTSOURCE_XPLAT)
1200 FCFuncStart(gEventLogger)
1201     QCFuncElement("IsEventSourceLoggingEnabled", XplatEventSourceLogger::IsEventSourceLoggingEnabled)
1202     QCFuncElement("LogEventSource", XplatEventSourceLogger::LogEventSource)
1203 FCFuncEnd()
1204 #endif // defined(FEATURE_EVENTSOURCE_XPLAT)
1205
1206 #ifdef FEATURE_PERFTRACING
1207 FCFuncStart(gEventPipeInternalFuncs)
1208     QCFuncElement("Enable", EventPipeInternal::Enable)
1209     QCFuncElement("Disable", EventPipeInternal::Disable)
1210     QCFuncElement("CreateProvider", EventPipeInternal::CreateProvider)
1211     QCFuncElement("DefineEvent", EventPipeInternal::DefineEvent)
1212     QCFuncElement("DeleteProvider", EventPipeInternal::DeleteProvider)
1213     QCFuncElement("WriteEvent", EventPipeInternal::WriteEvent)
1214     QCFuncElement("WriteEventData", EventPipeInternal::WriteEventData)
1215 FCFuncEnd()
1216 #endif // FEATURE_PERFTRACING
1217
1218 #ifdef FEATURE_COMINTEROP
1219 FCFuncStart(gRuntimeClassFuncs)
1220     FCFuncElement("GetRedirectedGetHashCodeMD", ComObject::GetRedirectedGetHashCodeMD)
1221     FCFuncElement("RedirectGetHashCode", ComObject::RedirectGetHashCode)
1222     FCFuncElement("GetRedirectedToStringMD", ComObject::GetRedirectedToStringMD)
1223     FCFuncElement("RedirectToString", ComObject::RedirectToString)
1224     FCFuncElement("GetRedirectedEqualsMD", ComObject::GetRedirectedEqualsMD)
1225     FCFuncElement("RedirectEquals", ComObject::RedirectEquals)
1226 FCFuncEnd()
1227 #endif // ifdef FEATURE_COMINTEROP
1228
1229 FCFuncStart(gRuntimeImportsFuncs)
1230     QCFuncElement("RhZeroMemory", MemoryNative::Clear)
1231     FCFuncElement("RhBulkMoveWithWriteBarrier", MemoryNative::BulkMoveWithWriteBarrier)
1232 FCFuncEnd()
1233
1234 FCFuncStart(gWeakReferenceFuncs)
1235     FCFuncElement("Create", WeakReferenceNative::Create)
1236     FCFuncElement("Finalize", WeakReferenceNative::Finalize)
1237     FCFuncElement("get_Target", WeakReferenceNative::GetTarget)
1238     FCFuncElement("set_Target", WeakReferenceNative::SetTarget)
1239     FCFuncElement("get_IsAlive", WeakReferenceNative::IsAlive)
1240     FCFuncElement("IsTrackResurrection", WeakReferenceNative::IsTrackResurrection)
1241 FCFuncEnd()
1242
1243 FCFuncStart(gWeakReferenceOfTFuncs)
1244     FCFuncElement("Create", WeakReferenceOfTNative::Create)
1245     FCFuncElement("Finalize", WeakReferenceOfTNative::Finalize)
1246     FCFuncElement("get_Target", WeakReferenceOfTNative::GetTarget)
1247     FCFuncElement("set_Target", WeakReferenceOfTNative::SetTarget)
1248     FCFuncElement("IsTrackResurrection", WeakReferenceOfTNative::IsTrackResurrection)
1249 FCFuncEnd()
1250
1251 #ifdef FEATURE_COMINTEROP
1252
1253 //
1254 // ECall helpers for the standard managed interfaces.
1255 //
1256
1257 #define MNGSTDITF_BEGIN_INTERFACE(FriendlyName, strMngItfName, strUCOMMngItfName, strCustomMarshalerName, strCustomMarshalerCookie, strManagedViewName, NativeItfIID, bCanCastOnNativeItfQI) \
1258 FCFuncStart(g##FriendlyName##Funcs)
1259
1260 #define MNGSTDITF_DEFINE_METH_IMPL(FriendlyName, FCallMethName, MethName, MethSig, FcallDecl) \
1261     FCUnreferenced FCFuncElementSig(#MethName, MethSig, FriendlyName::FCallMethName)
1262
1263 #define MNGSTDITF_END_INTERFACE(FriendlyName) \
1264 FCFuncEnd()
1265
1266 #include "mngstditflist.h"
1267
1268 #undef MNGSTDITF_BEGIN_INTERFACE
1269 #undef MNGSTDITF_DEFINE_METH_IMPL
1270 #undef MNGSTDITF_END_INTERFACE
1271
1272 #endif // FEATURE_COMINTEROP
1273
1274
1275 //
1276 //
1277 // Class definitions
1278 //
1279 //
1280
1281 // Note these have to remain sorted by name:namespace pair (Assert will wack you if you don't)
1282 // The sorting is case-sensitive
1283
1284 FCClassElement("AppDomain", "System", gAppDomainFuncs)
1285 FCClassElement("AppDomainManager", "System", gAppDomainManagerFuncs)
1286 FCClassElement("ArgIterator", "System", gVarArgFuncs)
1287 FCClassElement("Array", "System", gArrayFuncs)
1288 FCClassElement("ArrayWithOffset", "System.Runtime.InteropServices", gArrayWithOffsetFuncs)
1289 FCClassElement("AssemblyBuilder", "System.Reflection.Emit", gAssemblyBuilderFuncs)
1290
1291 FCClassElement("AssemblyExtensions", "System.Reflection.Metadata", gAssemblyExtensionsFuncs)
1292
1293 FCClassElement("AssemblyLoadContext", "System.Runtime.Loader", gAssemblyLoadContextFuncs)
1294
1295 FCClassElement("AssemblyName", "System.Reflection", gAssemblyNameFuncs)
1296 FCClassElement("Buffer", "System", gBufferFuncs)
1297 FCClassElement("CLRConfig", "System", gClrConfig)
1298 FCClassElement("CompareInfo", "System.Globalization", gCompareInfoFuncs)
1299 FCClassElement("CompatibilitySwitch", "System.Runtime.Versioning", gCompatibilitySwitchFuncs)
1300 FCClassElement("CriticalHandle", "System.Runtime.InteropServices", gCriticalHandleFuncs)
1301 FCClassElement("Currency", "System", gCurrencyFuncs)
1302 FCClassElement("CustomAttribute", "System.Reflection", gCOMCustomAttributeFuncs)
1303 FCClassElement("CustomAttributeEncodedArgument", "System.Reflection", gCustomAttributeEncodedArgument)
1304 FCClassElement("DateMarshaler", "System.StubHelpers", gDateMarshalerFuncs)
1305 FCClassElement("DateTime", "System", gDateTimeFuncs)
1306 FCClassElement("Debugger", "System.Diagnostics", gDiagnosticsDebugger)
1307 FCClassElement("Decimal", "System", gDecimalFuncs)
1308 FCClassElement("DefaultBinder", "System", gCOMDefaultBinderFuncs)
1309 FCClassElement("Delegate", "System", gDelegateFuncs)
1310 FCClassElement("DependentHandle", "System.Runtime.CompilerServices", gDependentHandleFuncs)
1311 #if !defined(FEATURE_COREFX_GLOBALIZATION)
1312 FCClassElement("EncodingTable", "System.Globalization", gEncodingTableFuncs)
1313 #endif // !defined(FEATURE_COREFX_GLOBALIZATION)
1314 FCClassElement("Enum", "System", gEnumFuncs)
1315 FCClassElement("Environment", "System", gEnvironmentFuncs)
1316 #ifdef FEATURE_COMINTEROP
1317 FCClassElement("EventArgsMarshaler", "System.StubHelpers", gEventArgsMarshalerFuncs)
1318 #endif // FEATURE_COMINTEROP
1319 #if defined(FEATURE_PERFTRACING)
1320 FCClassElement("EventPipeInternal", "System.Diagnostics.Tracing", gEventPipeInternalFuncs)
1321 #endif // FEATURE_PERFTRACING
1322 FCClassElement("Exception", "System", gExceptionFuncs)
1323 FCClassElement("FileLoadException", "System.IO", gFileLoadExceptionFuncs)
1324 FCClassElement("FormatterServices", "System.Runtime.Serialization", gSerializationFuncs)
1325 FCClassElement("GC", "System", gGCInterfaceFuncs)
1326 FCClassElement("GCHandle", "System.Runtime.InteropServices", gGCHandleFuncs)
1327 #ifdef FEATURE_COMINTEROP
1328 FCClassElement("IEnumerable", "System.Collections", gStdMngIEnumerableFuncs)
1329 FCClassElement("IEnumerator", "System.Collections", gStdMngIEnumeratorFuncs)
1330 FCClassElement("IExpando", "System.Runtime.InteropServices.Expando", gStdMngIExpandoFuncs)
1331 FCClassElement("IReflect", "System.Reflection", gStdMngIReflectFuncs)
1332 FCClassElement("InterfaceMarshaler", "System.StubHelpers", gInterfaceMarshalerFuncs)
1333 #endif
1334 FCClassElement("Interlocked", "System.Threading", gInterlockedFuncs)
1335 FCClassElement("JitHelpers", "System.Runtime.CompilerServices", gJitHelpers)
1336 FCClassElement("LoaderAllocatorScout", "System.Reflection", gLoaderAllocatorFuncs)
1337 FCClassElement("ManifestBasedResourceGroveler", "System.Resources",  gManifestBasedResourceGrovelerFuncs)
1338 FCClassElement("Marshal", "System.Runtime.InteropServices", gInteropMarshalFuncs)
1339 FCClassElement("Math", "System", gMathFuncs)
1340 FCClassElement("MathF", "System", gMathFFuncs)
1341 #ifdef MDA_SUPPORTED 
1342 FCClassElement("Mda", "System", gMda)
1343 #endif
1344 FCClassElement("MemoryFailPoint", "System.Runtime", gMemoryFailPointFuncs)
1345 FCClassElement("MetadataImport", "System.Reflection", gMetaDataImport)
1346 FCClassElement("MissingMemberException", "System",  gMissingMemberExceptionFuncs)
1347 #ifdef FEATURE_COMINTEROP
1348 FCClassElement("MngdHiddenLengthArrayMarshaler", "System.StubHelpers", gMngdHiddenLengthArrayMarshalerFuncs)
1349 #endif // FEATURE_COMINTEROP
1350 FCClassElement("MngdNativeArrayMarshaler", "System.StubHelpers", gMngdNativeArrayMarshalerFuncs)    
1351 FCClassElement("MngdRefCustomMarshaler", "System.StubHelpers", gMngdRefCustomMarshalerFuncs)    
1352 #ifdef FEATURE_COMINTEROP
1353 FCClassElement("MngdSafeArrayMarshaler", "System.StubHelpers", gMngdSafeArrayMarshalerFuncs)  
1354 #endif // FEATURE_COMINTEROP
1355 FCClassElement("ModuleBuilder", "System.Reflection.Emit", gCOMModuleBuilderFuncs)
1356 FCClassElement("ModuleHandle", "System", gCOMModuleHandleFuncs)
1357 FCClassElement("Monitor", "System.Threading", gMonitorFuncs)
1358 FCClassElement("Number", "System", gNumberFuncs)
1359 #ifdef FEATURE_COMINTEROP
1360 FCClassElement("OAVariantLib", "Microsoft.Win32", gOAVariantFuncs)
1361 #endif
1362 FCClassElement("Object", "System", gObjectFuncs)
1363 #ifdef FEATURE_COMINTEROP
1364 FCClassElement("ObjectMarshaler", "System.StubHelpers", gObjectMarshalerFuncs)
1365 #endif
1366 FCClassElement("OverlappedData", "System.Threading", gOverlappedFuncs)
1367
1368
1369 FCClassElement("PunkSafeHandle", "System.Reflection.Emit", gSymWrapperCodePunkSafeHandleFuncs)
1370 FCClassElement("RegisteredWaitHandleSafe", "System.Threading", gRegisteredWaitHandleFuncs)
1371 #ifdef FEATURE_COMINTEROP
1372 #ifdef FEATURE_COMINTEROP_MANAGED_ACTIVATION
1373 FCClassElement("RegistrationServices", "System.Runtime.InteropServices", gRegistrationFuncs)
1374 #endif // FEATURE_COMINTEROP_MANAGED_ACTIVATION
1375 #endif // FEATURE_COMINTEROP
1376
1377 FCClassElement("RuntimeAssembly", "System.Reflection", gAssemblyFuncs)
1378 #ifdef FEATURE_COMINTEROP    
1379 FCClassElement("RuntimeClass", "System.Runtime.InteropServices.WindowsRuntime", gRuntimeClassFuncs)
1380 #endif // FEATURE_COMINTEROP    
1381 FCClassElement("RuntimeEnvironment", "System.Runtime.InteropServices", gRuntimeEnvironmentFuncs)
1382 FCClassElement("RuntimeFieldHandle", "System", gCOMFieldHandleNewFuncs)
1383 FCClassElement("RuntimeHelpers", "System.Runtime.CompilerServices", gCompilerFuncs)
1384 FCClassElement("RuntimeImports", "System.Runtime", gRuntimeImportsFuncs)
1385 FCClassElement("RuntimeMethodHandle", "System", gRuntimeMethodHandle)
1386 FCClassElement("RuntimeModule", "System.Reflection", gCOMModuleFuncs)
1387 FCClassElement("RuntimeThread", "Internal.Runtime.Augments", gRuntimeThreadFuncs)
1388 FCClassElement("RuntimeType", "System", gSystem_RuntimeType)
1389 FCClassElement("RuntimeTypeHandle", "System", gCOMTypeHandleFuncs)
1390 FCClassElement("SafeBuffer", "System.Runtime.InteropServices", gSafeBufferFuncs)
1391 FCClassElement("SafeHandle", "System.Runtime.InteropServices", gSafeHandleFuncs)
1392 FCClassElement("SafeTypeNameParserHandle", "System", gSafeTypeNameParserHandle)
1393
1394 FCClassElement("Signature", "System", gSignatureNative)
1395 FCClassElement("StackTrace", "System.Diagnostics", gDiagnosticsStackTrace)
1396 FCClassElement("Stream", "System.IO", gStreamFuncs)
1397 FCClassElement("String", "System", gStringFuncs)
1398 FCClassElement("StringBuilder", "System.Text", gStringBufferFuncs)
1399 FCClassElement("StubHelpers", "System.StubHelpers", gStubHelperFuncs)
1400 FCClassElement("SynchronizationContext", "System.Threading", gContextSynchronizationFuncs)
1401 FCClassElement("Thread", "System.Threading", gThreadFuncs)
1402 FCClassElement("ThreadPool", "System.Threading", gThreadPoolFuncs)
1403 FCClassElement("TimerQueue", "System.Threading", gTimerFuncs)
1404 FCClassElement("Type", "System", gSystem_Type)
1405 FCClassElement("TypeBuilder", "System.Reflection.Emit", gCOMClassWriter)
1406 FCClassElement("TypeLoadException", "System", gTypeLoadExceptionFuncs)
1407 FCClassElement("TypeNameBuilder", "System.Reflection.Emit", gTypeNameBuilder)
1408 FCClassElement("TypeNameParser", "System", gTypeNameParser)
1409 FCClassElement("TypedReference", "System", gTypedReferenceFuncs)
1410 #ifdef FEATURE_COMINTEROP
1411 FCClassElement("UriMarshaler", "System.StubHelpers", gUriMarshalerFuncs)
1412 #endif
1413 FCClassElement("Utf8String", "System", gUtf8String)
1414 FCClassElement("ValueClassMarshaler", "System.StubHelpers", gValueClassMarshalerFuncs)
1415 FCClassElement("ValueType", "System", gValueTypeFuncs)
1416 #ifdef FEATURE_COMINTEROP
1417 FCClassElement("Variant", "System", gVariantFuncs)
1418 #endif
1419 FCClassElement("WaitHandle", "System.Threading", gWaitHandleFuncs)
1420 FCClassElement("WeakReference", "System", gWeakReferenceFuncs)
1421 FCClassElement("WeakReference`1", "System", gWeakReferenceOfTFuncs)
1422
1423 #ifdef FEATURE_COMINTEROP
1424 FCClassElement("WinRTTypeNameConverter", "System.StubHelpers", gWinRTTypeNameConverterFuncs)
1425 #endif // FEATURE_COMINTEROP
1426
1427
1428 #if defined(FEATURE_EVENTSOURCE_XPLAT)
1429 FCClassElement("XplatEventLogger", "System.Diagnostics.Tracing", gEventLogger)
1430 #endif //defined(FEATURE_EVENTSOURCE_XPLAT)
1431
1432 #undef FCFuncElement
1433 #undef FCFuncElementSig
1434 #undef FCIntrinsic
1435 #undef FCIntrinsicSig
1436 #undef QCFuncElement
1437 #undef FCDynamic
1438 #undef FCDynamicSig
1439 #undef FCUnreferenced
1440 #undef FCFuncStart
1441 #undef FCFuncEnd
1442 #undef FCClassElement