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