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