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