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("SetTrailByte", COMString::FCSetTrailByte)
113 FCFuncElement("TryGetTrailByte", COMString::FCTryGetTrailByte)
114 FCFuncElement("IsInterned", AppDomainNative::IsStringInterned)
115 FCFuncElement("Intern", AppDomainNative::GetOrInternString)
118 #ifdef FEATURE_UTF8STRING
119 FCFuncStart(gUtf8StringFuncs)
120 FCDynamic("FastAllocate", CORINFO_INTRINSIC_Illegal, ECall::FastAllocateUtf8String)
121 FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_ReadOnlySpanOfByte_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::Utf8StringCtorReadOnlySpanOfByteManaged)
122 FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_ReadOnlySpanOfChar_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::Utf8StringCtorReadOnlySpanOfCharManaged)
123 FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_ArrByte_Int_Int_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::Utf8StringCtorByteArrayStartLengthManaged)
124 FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_PtrByte_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::Utf8StringCtorBytePtrManaged)
125 FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_ArrChar_Int_Int_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::Utf8StringCtorCharArrayStartLengthManaged)
126 FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_PtrChar_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::Utf8StringCtorCharPtrManaged)
127 FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_Str_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::Utf8StringCtorStringManaged)
129 #endif // FEATURE_UTF8STRING
131 FCFuncStart(gValueTypeFuncs)
132 FCFuncElement("CanCompareBits", ValueTypeHelper::CanCompareBits)
133 FCFuncElement("FastEqualsCheck", ValueTypeHelper::FastEqualsCheck)
134 FCFuncElement("GetHashCode", ValueTypeHelper::GetHashCode)
135 FCFuncElement("GetHashCodeOfPtr", ValueTypeHelper::GetHashCodeOfPtr)
138 FCFuncStart(gDiagnosticsDebugger)
139 FCFuncElement("BreakInternal", DebugDebugger::Break)
140 FCFuncElement("LaunchInternal", DebugDebugger::Launch)
141 FCFuncElement("get_IsAttached", DebugDebugger::IsDebuggerAttached)
142 FCFuncElement("Log", DebugDebugger::Log)
143 FCFuncElement("IsLogging", DebugDebugger::IsLogging)
144 FCFuncElement("CustomNotification", DebugDebugger::CustomNotification)
147 FCFuncStart(gDiagnosticsStackTrace)
148 FCFuncElement("GetStackFramesInternal", DebugStackTrace::GetStackFramesInternal)
151 FCFuncStart(gDateTimeFuncs)
152 #if !defined(FEATURE_PAL)
153 FCFuncElement("GetSystemTimeWithLeapSecondsHandling", SystemNative::GetSystemTimeWithLeapSecondsHandling)
154 FCFuncElement("ValidateSystemTime", SystemNative::ValidateSystemTime)
155 FCFuncElement("FileTimeToSystemTime", SystemNative::FileTimeToSystemTime)
156 FCFuncElement("SystemTimeToFileTime", SystemNative::SystemTimeToFileTime)
157 #endif // FEATURE_PAL
158 FCFuncElement("GetSystemTimeAsFileTime", SystemNative::__GetSystemTimeAsFileTime)
161 FCFuncStart(gEnvironmentFuncs)
162 FCFuncElement("get_TickCount", SystemNative::GetTickCount)
163 FCFuncElement("get_TickCount64", SystemNative::GetTickCount64)
164 QCFuncElement("_Exit", SystemNative::Exit)
165 FCFuncElement("set_ExitCode", SystemNative::SetExitCode)
166 FCFuncElement("get_ExitCode", SystemNative::GetExitCode)
167 QCFuncElement("GetProcessorCount", SystemNative::GetProcessorCount)
168 FCFuncElement("GetCommandLineArgsNative", SystemNative::GetCommandLineArgs)
170 #if defined(FEATURE_COMINTEROP)
171 QCFuncElement("WinRTSupported", SystemNative::WinRTSupported)
172 #endif // FEATURE_COMINTEROP
173 FCFuncElementSig("FailFast", &gsig_SM_Str_RetVoid, SystemNative::FailFast)
174 FCFuncElementSig("FailFast", &gsig_SM_Str_Exception_RetVoid, SystemNative::FailFastWithException)
175 FCFuncElementSig("FailFast", &gsig_SM_Str_Exception_Str_RetVoid, SystemNative::FailFastWithExceptionAndSource)
178 FCFuncStart(gExceptionFuncs)
179 FCFuncElement("IsImmutableAgileException", ExceptionNative::IsImmutableAgileException)
180 FCFuncElement("GetMethodFromStackTrace", SystemNative::GetMethodFromStackTrace)
181 QCFuncElement("GetMessageFromNativeResources", ExceptionNative::GetMessageFromNativeResources)
182 FCFuncElement("PrepareForForeignExceptionRaise", ExceptionNative::PrepareForForeignExceptionRaise)
183 FCFuncElement("CopyStackTrace", ExceptionNative::CopyStackTrace)
184 FCFuncElement("CopyDynamicMethods", ExceptionNative::CopyDynamicMethods)
185 FCFuncElement("GetStackTracesDeepCopy", ExceptionNative::GetStackTracesDeepCopy)
186 FCFuncElement("SaveStackTracesFromDeepCopy", ExceptionNative::SaveStackTracesFromDeepCopy)
187 FCFuncElement("GetExceptionCount", ExceptionNative::GetExceptionCount)
190 FCFuncStart(gCriticalHandleFuncs)
191 FCFuncElement("ReleaseHandleFailed", CriticalHandle::FireCustomerDebugProbe)
194 FCFuncStart(gTypedReferenceFuncs)
195 FCFuncElement("InternalToObject", ReflectionInvocation::TypedReferenceToObject)
196 FCFuncElement("InternalSetTypedReference", ReflectionInvocation::SetTypedReference)
197 FCFuncElement("InternalMakeTypedReference", ReflectionInvocation::MakeTypedReference)
200 FCFuncStart(gSystem_Type)
201 FCIntrinsic("GetTypeFromHandle", RuntimeTypeHandle::GetTypeFromHandle, CORINFO_INTRINSIC_GetTypeFromHandle)
202 FCFuncElement("GetTypeFromHandleUnsafe", RuntimeTypeHandle::GetRuntimeType)
203 FCIntrinsic("op_Equality", RuntimeTypeHandle::TypeEQ, CORINFO_INTRINSIC_TypeEQ)
204 FCIntrinsic("op_Inequality", RuntimeTypeHandle::TypeNEQ, CORINFO_INTRINSIC_TypeNEQ)
207 FCFuncStart(gSystem_RuntimeType)
208 FCFuncElement("GetGUID", ReflectionInvocation::GetGUID)
209 FCFuncElement("_CreateEnum", ReflectionInvocation::CreateEnum)
210 FCFuncElement("CanValueSpecialCast", ReflectionInvocation::CanValueSpecialCast)
211 FCFuncElement("AllocateValueType", ReflectionInvocation::AllocateValueType)
212 #if defined(FEATURE_COMINTEROP)
213 FCFuncElement("GetTypeFromCLSIDImpl", ReflectionInvocation::GetClassFromCLSID)
214 FCFuncElement("GetTypeFromProgIDImpl", ReflectionInvocation::GetClassFromProgID)
215 FCFuncElement("InvokeDispMethod", ReflectionInvocation::InvokeDispMethod)
216 #ifdef FEATURE_COMINTEROP_WINRT_MANAGED_ACTIVATION
217 FCFuncElement("IsTypeExportedToWindowsRuntime", RuntimeTypeHandle::IsTypeExportedToWindowsRuntime)
219 FCFuncElement("IsWindowsRuntimeObjectType", RuntimeTypeHandle::IsWindowsRuntimeObjectType)
220 #endif // defined(FEATURE_COMINTEROP)
223 FCFuncStart(gCOMTypeHandleFuncs)
224 FCFuncElement("CreateInstance", RuntimeTypeHandle::CreateInstance)
225 FCFuncElement("CreateCaInstance", RuntimeTypeHandle::CreateCaInstance)
226 FCFuncElement("CreateInstanceForAnotherGenericParameter", RuntimeTypeHandle::CreateInstanceForGenericType)
227 QCFuncElement("GetGCHandle", RuntimeTypeHandle::GetGCHandle)
229 FCFuncElement("IsInstanceOfType", RuntimeTypeHandle::IsInstanceOfType)
230 FCFuncElement("GetDeclaringMethod", RuntimeTypeHandle::GetDeclaringMethod)
231 FCFuncElement("GetDeclaringType", RuntimeTypeHandle::GetDeclaringType)
232 QCFuncElement("GetDefaultConstructor", RuntimeTypeHandle::GetDefaultConstructor)
233 QCFuncElement("MakePointer", RuntimeTypeHandle::MakePointer)
234 QCFuncElement("MakeByRef", RuntimeTypeHandle::MakeByRef)
235 QCFuncElement("MakeSZArray", RuntimeTypeHandle::MakeSZArray)
236 QCFuncElement("MakeArray", RuntimeTypeHandle::MakeArray)
237 QCFuncElement("IsCollectible", RuntimeTypeHandle::IsCollectible)
238 FCFuncElement("GetFirstIntroducedMethod", RuntimeTypeHandle::GetFirstIntroducedMethod)
239 FCFuncElement("GetNextIntroducedMethod", RuntimeTypeHandle::GetNextIntroducedMethod)
240 FCFuncElement("GetCorElementType", RuntimeTypeHandle::GetCorElementType)
241 FCFuncElement("GetAssembly", RuntimeTypeHandle::GetAssembly)
242 FCFuncElement("GetModule", RuntimeTypeHandle::GetModule)
243 FCFuncElement("GetBaseType", RuntimeTypeHandle::GetBaseType)
244 FCFuncElement("GetElementType", RuntimeTypeHandle::GetElementType)
245 FCFuncElement("GetArrayRank", RuntimeTypeHandle::GetArrayRank)
246 FCFuncElement("GetToken", RuntimeTypeHandle::GetToken)
247 FCFuncElement("_GetUtf8Name", RuntimeTypeHandle::GetUtf8Name)
248 FCFuncElement("GetMethodAt", RuntimeTypeHandle::GetMethodAt)
249 FCFuncElement("GetFields", RuntimeTypeHandle::GetFields)
250 FCFuncElement("GetInterfaces", RuntimeTypeHandle::GetInterfaces)
251 QCFuncElement("GetConstraints", RuntimeTypeHandle::GetConstraints)
252 FCFuncElement("GetAttributes", RuntimeTypeHandle::GetAttributes)
253 FCFuncElement("_GetMetadataImport", RuntimeTypeHandle::GetMetadataImport)
254 FCFuncElement("GetNumVirtuals", RuntimeTypeHandle::GetNumVirtuals)
255 QCFuncElement("VerifyInterfaceIsImplemented", RuntimeTypeHandle::VerifyInterfaceIsImplemented)
256 QCFuncElement("GetInterfaceMethodImplementation", RuntimeTypeHandle::GetInterfaceMethodImplementation)
257 FCFuncElement("IsComObject", RuntimeTypeHandle::IsComObject)
258 FCFuncElement("IsValueType", RuntimeTypeHandle::IsValueType)
259 FCFuncElement("IsInterface", RuntimeTypeHandle::IsInterface)
260 FCFuncElement("IsByRefLike", RuntimeTypeHandle::IsByRefLike)
261 QCFuncElement("_IsVisible", RuntimeTypeHandle::IsVisible)
262 QCFuncElement("ConstructName", RuntimeTypeHandle::ConstructName)
263 FCFuncElement("CanCastTo", RuntimeTypeHandle::CanCastTo)
264 QCFuncElement("GetTypeByName", RuntimeTypeHandle::GetTypeByName)
265 QCFuncElement("GetTypeByNameUsingCARules", RuntimeTypeHandle::GetTypeByNameUsingCARules)
266 QCFuncElement("GetInstantiation", RuntimeTypeHandle::GetInstantiation)
267 QCFuncElement("Instantiate", RuntimeTypeHandle::Instantiate)
268 QCFuncElement("GetGenericTypeDefinition", RuntimeTypeHandle::GetGenericTypeDefinition)
269 FCFuncElement("HasInstantiation", RuntimeTypeHandle::HasInstantiation)
270 FCFuncElement("GetGenericVariableIndex", RuntimeTypeHandle::GetGenericVariableIndex)
271 FCFuncElement("IsGenericVariable", RuntimeTypeHandle::IsGenericVariable)
272 FCFuncElement("IsGenericTypeDefinition", RuntimeTypeHandle::IsGenericTypeDefinition)
273 FCFuncElement("ContainsGenericVariables", RuntimeTypeHandle::ContainsGenericVariables)
274 FCFuncElement("SatisfiesConstraints", RuntimeTypeHandle::SatisfiesConstraints)
275 FCFuncElement("Allocate", RuntimeTypeHandle::Allocate) //for A.CI
276 FCFuncElement("CompareCanonicalHandles", RuntimeTypeHandle::CompareCanonicalHandles)
277 FCIntrinsic("GetValueInternal", RuntimeTypeHandle::GetValueInternal, CORINFO_INTRINSIC_RTH_GetValueInternal)
278 FCFuncElement("IsEquivalentTo", RuntimeTypeHandle::IsEquivalentTo)
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)
348 FCFuncStart(gCOMFieldHandleNewFuncs)
349 FCFuncElement("GetValue", RuntimeFieldHandle::GetValue)
350 FCFuncElement("SetValue", RuntimeFieldHandle::SetValue)
351 FCFuncElement("GetValueDirect", RuntimeFieldHandle::GetValueDirect)
352 FCFuncElement("SetValueDirect", RuntimeFieldHandle::SetValueDirect)
353 FCFuncElement("GetName", RuntimeFieldHandle::GetName)
354 FCFuncElement("_GetUtf8Name", RuntimeFieldHandle::GetUtf8Name)
355 FCFuncElement("MatchesNameHash", RuntimeFieldHandle::MatchesNameHash)
356 FCFuncElement("GetAttributes", RuntimeFieldHandle::GetAttributes)
357 FCFuncElement("GetApproxDeclaringType", RuntimeFieldHandle::GetApproxDeclaringType)
358 FCFuncElement("GetToken", RuntimeFieldHandle::GetToken)
359 FCFuncElement("GetStaticFieldForGenericType", RuntimeFieldHandle::GetStaticFieldForGenericType)
360 FCFuncElement("AcquiresContextFromThis", RuntimeFieldHandle::AcquiresContextFromThis)
364 FCFuncStart(gCOMModuleFuncs)
365 QCFuncElement("GetType", COMModule::GetType)
366 QCFuncElement("GetScopeName", COMModule::GetScopeName)
367 FCFuncElement("GetTypes", COMModule::GetTypes)
368 QCFuncElement("GetFullyQualifiedName", COMModule::GetFullyQualifiedName)
369 QCFuncElement("nIsTransientInternal", COMModule::IsTransient)
370 FCFuncElement("IsResource", COMModule::IsResource)
373 FCFuncStart(gCOMModuleBuilderFuncs)
374 FCFuncElement("nCreateISymWriterForDynamicModule", COMModule::nCreateISymWriterForDynamicModule)
375 QCFuncElement("GetStringConstant", COMModule::GetStringConstant)
376 QCFuncElement("GetTypeRef", COMModule::GetTypeRef)
377 QCFuncElement("GetTokenFromTypeSpec", COMModule::GetTokenFromTypeSpec)
378 QCFuncElement("GetMemberRef", COMModule::GetMemberRef)
379 QCFuncElement("GetMemberRefOfMethodInfo", COMModule::GetMemberRefOfMethodInfo)
380 QCFuncElement("GetMemberRefOfFieldInfo", COMModule::GetMemberRefOfFieldInfo)
381 QCFuncElement("GetMemberRefFromSignature", COMModule::GetMemberRefFromSignature)
382 QCFuncElement("GetArrayMethodToken", COMModule::GetArrayMethodToken)
383 QCFuncElement("SetFieldRVAContent", COMModule::SetFieldRVAContent)
386 FCFuncStart(gCOMModuleHandleFuncs)
387 FCFuncElement("GetToken", ModuleHandle::GetToken)
388 QCFuncElement("GetModuleType", ModuleHandle::GetModuleType)
389 FCFuncElement("GetDynamicMethod", ModuleHandle::GetDynamicMethod)
390 FCFuncElement("_GetMetadataImport", ModuleHandle::GetMetadataImport)
391 QCFuncElement("ResolveType", ModuleHandle::ResolveType)
392 QCFuncElement("ResolveMethod", ModuleHandle::ResolveMethod)
393 QCFuncElement("_ContainsPropertyMatchingHash", ModuleHandle::ContainsPropertyMatchingHash)
394 QCFuncElement("ResolveField", ModuleHandle::ResolveField)
395 QCFuncElement("GetPEKind", ModuleHandle::GetPEKind)
396 FCFuncElement("GetMDStreamVersion", ModuleHandle::GetMDStreamVersion)
399 FCFuncStart(gCustomAttributeEncodedArgument)
400 FCFuncElement("ParseAttributeArguments", Attribute::ParseAttributeArguments)
403 FCFuncStart(gCOMCustomAttributeFuncs)
404 FCFuncElement("_ParseAttributeUsageAttribute", COMCustomAttribute::ParseAttributeUsageAttribute)
405 FCFuncElement("_CreateCaObject", COMCustomAttribute::CreateCaObject)
406 FCFuncElement("_GetPropertyOrFieldData", COMCustomAttribute::GetPropertyOrFieldData)
409 FCFuncStart(gCOMClassWriter)
410 QCFuncElement("DefineGenericParam", COMDynamicWrite::DefineGenericParam)
411 QCFuncElement("DefineType", COMDynamicWrite::DefineType)
412 QCFuncElement("SetParentType", COMDynamicWrite::SetParentType)
413 QCFuncElement("AddInterfaceImpl", COMDynamicWrite::AddInterfaceImpl)
414 QCFuncElement("DefineMethod", COMDynamicWrite::DefineMethod)
415 QCFuncElement("DefineMethodSpec", COMDynamicWrite::DefineMethodSpec)
416 QCFuncElement("SetMethodIL", COMDynamicWrite::SetMethodIL)
417 QCFuncElement("TermCreateClass", COMDynamicWrite::TermCreateClass)
418 QCFuncElement("DefineField", COMDynamicWrite::DefineField)
419 QCFuncElement("DefineProperty", COMDynamicWrite::DefineProperty)
420 QCFuncElement("DefineEvent", COMDynamicWrite::DefineEvent)
421 QCFuncElement("DefineMethodSemantics", COMDynamicWrite::DefineMethodSemantics)
422 QCFuncElement("SetMethodImpl", COMDynamicWrite::SetMethodImpl)
423 QCFuncElement("DefineMethodImpl", COMDynamicWrite::DefineMethodImpl)
424 QCFuncElement("GetTokenFromSig", COMDynamicWrite::GetTokenFromSig)
425 QCFuncElement("SetFieldLayoutOffset", COMDynamicWrite::SetFieldLayoutOffset)
426 QCFuncElement("SetClassLayout", COMDynamicWrite::SetClassLayout)
427 QCFuncElement("SetParamInfo", COMDynamicWrite::SetParamInfo)
428 QCFuncElement("SetPInvokeData", COMDynamicWrite::SetPInvokeData)
429 QCFuncElement("SetConstantValue", COMDynamicWrite::SetConstantValue)
430 QCFuncElement("DefineCustomAttribute", COMDynamicWrite::DefineCustomAttribute)
433 FCFuncStart(gCompatibilitySwitchFuncs)
434 FCFuncElement("GetValueInternalCall", CompatibilitySwitch::GetValue)
438 FCFuncStart(gApplicationModelFuncs)
439 QCFuncElement("IsAppXProcess", AppDomainNative::IsAppXProcess)
443 FCFuncStart(gMdUtf8String)
444 QCFuncElement("EqualsCaseInsensitive", MdUtf8String::EqualsCaseInsensitive)
445 QCFuncElement("HashCaseInsensitive", MdUtf8String::HashCaseInsensitive)
448 FCFuncStart(gTypeNameBuilder)
449 QCFuncElement("CreateTypeNameBuilder", TypeNameBuilder::_CreateTypeNameBuilder)
450 QCFuncElement("ReleaseTypeNameBuilder", TypeNameBuilder::_ReleaseTypeNameBuilder)
451 QCFuncElement("OpenGenericArguments", TypeNameBuilder::_OpenGenericArguments)
452 QCFuncElement("CloseGenericArguments", TypeNameBuilder::_CloseGenericArguments)
453 QCFuncElement("OpenGenericArgument", TypeNameBuilder::_OpenGenericArgument)
454 QCFuncElement("CloseGenericArgument", TypeNameBuilder::_CloseGenericArgument)
455 QCFuncElement("AddName", TypeNameBuilder::_AddName)
456 QCFuncElement("AddPointer", TypeNameBuilder::_AddPointer)
457 QCFuncElement("AddByRef", TypeNameBuilder::_AddByRef)
458 QCFuncElement("AddSzArray", TypeNameBuilder::_AddSzArray)
459 QCFuncElement("AddArray", TypeNameBuilder::_AddArray)
460 QCFuncElement("AddAssemblySpec", TypeNameBuilder::_AddAssemblySpec)
461 QCFuncElement("ToString", TypeNameBuilder::_ToString)
462 QCFuncElement("Clear", TypeNameBuilder::_Clear)
466 FCFuncStart(gSafeTypeNameParserHandle)
467 QCFuncElement("_ReleaseTypeNameParser", TypeName::QReleaseTypeNameParser)
470 FCFuncStart(gTypeNameParser)
471 QCFuncElement("_CreateTypeNameParser", TypeName::QCreateTypeNameParser)
472 QCFuncElement("_GetNames", TypeName::QGetNames)
473 QCFuncElement("_GetTypeArguments", TypeName::QGetTypeArguments)
474 QCFuncElement("_GetModifiers", TypeName::QGetModifiers)
475 QCFuncElement("_GetAssemblyName", TypeName::QGetAssemblyName)
478 FCFuncStart(gRuntimeAssemblyFuncs)
479 QCFuncElement("GetFullName", AssemblyNative::GetFullName)
480 QCFuncElement("GetLocation", AssemblyNative::GetLocation)
481 QCFuncElement("GetResource", AssemblyNative::GetResource)
482 QCFuncElement("GetCodeBase", AssemblyNative::GetCodeBase)
483 QCFuncElement("GetFlags", AssemblyNative::GetFlags)
484 QCFuncElement("GetHashAlgorithm", AssemblyNative::GetHashAlgorithm)
485 QCFuncElement("GetLocale", AssemblyNative::GetLocale)
486 QCFuncElement("GetPublicKey", AssemblyNative::GetPublicKey)
487 QCFuncElement("GetSimpleName", AssemblyNative::GetSimpleName)
488 QCFuncElement("GetVersion", AssemblyNative::GetVersion)
489 FCFuncElement("FCallIsDynamic", AssemblyNative::IsDynamic)
490 FCFuncElement("nLoad", AssemblyNative::Load)
491 QCFuncElement("GetType", AssemblyNative::GetType)
492 QCFuncElement("GetForwardedType", AssemblyNative::GetForwardedType)
493 QCFuncElement("GetManifestResourceInfo", AssemblyNative::GetManifestResourceInfo)
494 QCFuncElement("GetModules", AssemblyNative::GetModules)
495 QCFuncElement("GetModule", AssemblyNative::GetModule)
496 FCFuncElement("GetReferencedAssemblies", AssemblyNative::GetReferencedAssemblies)
497 QCFuncElement("GetExportedTypes", AssemblyNative::GetExportedTypes)
498 FCFuncElement("GetManifestResourceNames", AssemblyNative::GetManifestResourceNames)
499 QCFuncElement("GetEntryPoint", AssemblyNative::GetEntryPoint)
500 QCFuncElement("GetImageRuntimeVersion", AssemblyNative::GetImageRuntimeVersion)
501 FCFuncElement("GetManifestModule", AssemblyHandle::GetManifestModule)
502 FCFuncElement("GetToken", AssemblyHandle::GetToken)
503 QCFuncElement("GetIsCollectible", AssemblyNative::GetIsCollectible)
506 FCFuncStart(gAssemblyExtensionsFuncs)
507 QCFuncElement("InternalTryGetRawMetadata", AssemblyNative::InternalTryGetRawMetadata)
510 FCFuncStart(gAssemblyLoadContextFuncs)
511 QCFuncElement("InitializeAssemblyLoadContext", AssemblyNative::InitializeAssemblyLoadContext)
512 QCFuncElement("PrepareForAssemblyLoadContextRelease", AssemblyNative::PrepareForAssemblyLoadContextRelease)
513 QCFuncElement("LoadFromPath", AssemblyNative::LoadFromPath)
514 QCFuncElement("InternalLoadUnmanagedDllFromPath", AssemblyNative::InternalLoadUnmanagedDllFromPath)
515 QCFuncElement("LoadFromStream", AssemblyNative::LoadFromStream)
516 #ifdef FEATURE_COMINTEROP_WINRT_MANAGED_ACTIVATION
517 QCFuncElement("LoadTypeForWinRTTypeNameInContextInternal", AssemblyNative::LoadTypeForWinRTTypeNameInContext)
520 QCFuncElement("LoadFromInMemoryModuleInternal", AssemblyNative::LoadFromInMemoryModule)
522 QCFuncElement("GetLoadContextForAssembly", AssemblyNative::GetLoadContextForAssembly)
523 FCFuncElement("GetLoadedAssemblies", AppDomainNative::GetLoadedAssemblies)
524 #if defined(FEATURE_MULTICOREJIT)
525 QCFuncElement("InternalSetProfileRoot", MultiCoreJITNative::InternalSetProfileRoot)
526 QCFuncElement("InternalStartProfile", MultiCoreJITNative::InternalStartProfile)
527 #endif // defined(FEATURE_MULTICOREJIT)
530 FCFuncStart(gAssemblyNameFuncs)
531 FCFuncElement("nInit", AssemblyNameNative::Init)
532 FCFuncElement("ComputePublicKeyToken", AssemblyNameNative::GetPublicKeyToken)
533 FCFuncElement("nGetFileInformation", AssemblyNameNative::GetFileInformation)
536 FCFuncStart(gLoaderAllocatorFuncs)
537 QCFuncElement("Destroy", LoaderAllocator::Destroy)
540 FCFuncStart(gAssemblyFuncs)
541 QCFuncElement("GetEntryAssemblyNative", AssemblyNative::GetEntryAssembly)
542 QCFuncElement("GetExecutingAssemblyNative", AssemblyNative::GetExecutingAssembly)
543 FCFuncElement("GetAssemblyCount", AssemblyNative::GetAssemblyCount)
546 FCFuncStart(gAssemblyBuilderFuncs)
547 FCFuncElement("nCreateDynamicAssembly", AppDomainNative::CreateDynamicAssembly)
548 FCFuncElement("GetInMemoryAssemblyModule", AssemblyNative::GetInMemoryAssemblyModule)
551 FCFuncStart(gDelegateFuncs)
552 FCFuncElement("BindToMethodName", COMDelegate::BindToMethodName)
553 FCFuncElement("BindToMethodInfo", COMDelegate::BindToMethodInfo)
554 FCFuncElement("GetMulticastInvoke", COMDelegate::GetMulticastInvoke)
555 FCFuncElement("GetInvokeMethod", COMDelegate::GetInvokeMethod)
556 FCFuncElement("InternalAlloc", COMDelegate::InternalAlloc)
557 FCFuncElement("InternalAllocLike", COMDelegate::InternalAllocLike)
558 FCFuncElement("InternalEqualTypes", COMDelegate::InternalEqualTypes)
559 FCFuncElement("InternalEqualMethodHandles", COMDelegate::InternalEqualMethodHandles)
560 FCFuncElement("FindMethodHandle", COMDelegate::FindMethodHandle)
561 FCFuncElement("AdjustTarget", COMDelegate::AdjustTarget)
562 FCFuncElement("GetCallStub", COMDelegate::GetCallStub)
563 FCFuncElement("CompareUnmanagedFunctionPtrs", COMDelegate::CompareUnmanagedFunctionPtrs)
565 // The FCall mechanism knows how to wire multiple different constructor calls into a
566 // single entrypoint, without the following entry. But we need this entry to satisfy
567 // frame creation within the body:
568 FCFuncElement("DelegateConstruct", COMDelegate::DelegateConstruct)
571 FCFuncStart(gMathFuncs)
572 FCIntrinsicSig("Abs", &gsig_SM_Dbl_RetDbl, COMDouble::Abs, CORINFO_INTRINSIC_Abs)
573 FCIntrinsicSig("Abs", &gsig_SM_Flt_RetFlt, COMSingle::Abs, CORINFO_INTRINSIC_Abs)
574 FCIntrinsic("Acos", COMDouble::Acos, CORINFO_INTRINSIC_Acos)
575 FCIntrinsic("Acosh", COMDouble::Acosh, CORINFO_INTRINSIC_Acosh)
576 FCIntrinsic("Asin", COMDouble::Asin, CORINFO_INTRINSIC_Asin)
577 FCIntrinsic("Asinh", COMDouble::Asinh, CORINFO_INTRINSIC_Asinh)
578 FCIntrinsic("Atan", COMDouble::Atan, CORINFO_INTRINSIC_Atan)
579 FCIntrinsic("Atanh", COMDouble::Atanh, CORINFO_INTRINSIC_Atanh)
580 FCIntrinsic("Atan2", COMDouble::Atan2, CORINFO_INTRINSIC_Atan2)
581 FCIntrinsic("Cbrt", COMDouble::Cbrt, CORINFO_INTRINSIC_Cbrt)
582 FCIntrinsic("Ceiling", COMDouble::Ceil, CORINFO_INTRINSIC_Ceiling)
583 FCIntrinsic("Cos", COMDouble::Cos, CORINFO_INTRINSIC_Cos)
584 FCIntrinsic("Cosh", COMDouble::Cosh, CORINFO_INTRINSIC_Cosh)
585 FCIntrinsic("Exp", COMDouble::Exp, CORINFO_INTRINSIC_Exp)
586 FCIntrinsic("Floor", COMDouble::Floor, CORINFO_INTRINSIC_Floor)
587 FCFuncElement("FMod", COMDouble::FMod)
588 FCFuncElement("FusedMultiplyAdd", COMDouble::FusedMultiplyAdd)
589 FCFuncElement("ILogB", COMDouble::ILogB)
590 FCFuncElement("Log", COMDouble::Log)
591 FCFuncElement("Log2", COMDouble::Log2)
592 FCIntrinsic("Log10", COMDouble::Log10, CORINFO_INTRINSIC_Log10)
593 FCFuncElement("ModF", COMDouble::ModF)
594 FCIntrinsic("Pow", COMDouble::Pow, CORINFO_INTRINSIC_Pow)
595 FCFuncElement("ScaleB", COMDouble::ScaleB)
596 FCIntrinsic("Sin", COMDouble::Sin, CORINFO_INTRINSIC_Sin)
597 FCIntrinsic("Sinh", COMDouble::Sinh, CORINFO_INTRINSIC_Sinh)
598 FCIntrinsic("Sqrt", COMDouble::Sqrt, CORINFO_INTRINSIC_Sqrt)
599 FCIntrinsic("Tan", COMDouble::Tan, CORINFO_INTRINSIC_Tan)
600 FCIntrinsic("Tanh", COMDouble::Tanh, CORINFO_INTRINSIC_Tanh)
603 FCFuncStart(gMathFFuncs)
604 FCIntrinsic("Acos", COMSingle::Acos, CORINFO_INTRINSIC_Acos)
605 FCIntrinsic("Acosh", COMSingle::Acosh, CORINFO_INTRINSIC_Acosh)
606 FCIntrinsic("Asin", COMSingle::Asin, CORINFO_INTRINSIC_Asin)
607 FCIntrinsic("Asinh", COMSingle::Asinh, CORINFO_INTRINSIC_Asinh)
608 FCIntrinsic("Atan", COMSingle::Atan, CORINFO_INTRINSIC_Atan)
609 FCIntrinsic("Atanh", COMSingle::Atanh, CORINFO_INTRINSIC_Atanh)
610 FCIntrinsic("Atan2", COMSingle::Atan2, CORINFO_INTRINSIC_Atan2)
611 FCIntrinsic("Cbrt", COMSingle::Cbrt, CORINFO_INTRINSIC_Cbrt)
612 FCIntrinsic("Ceiling", COMSingle::Ceil, CORINFO_INTRINSIC_Ceiling)
613 FCIntrinsic("Cos", COMSingle::Cos, CORINFO_INTRINSIC_Cos)
614 FCIntrinsic("Cosh", COMSingle::Cosh, CORINFO_INTRINSIC_Cosh)
615 FCIntrinsic("Exp", COMSingle::Exp, CORINFO_INTRINSIC_Exp)
616 FCIntrinsic("Floor", COMSingle::Floor, CORINFO_INTRINSIC_Floor)
617 FCFuncElement("FMod", COMSingle::FMod)
618 FCFuncElement("FusedMultiplyAdd", COMSingle::FusedMultiplyAdd)
619 FCFuncElement("ILogB", COMSingle::ILogB)
620 FCFuncElement("Log", COMSingle::Log)
621 FCFuncElement("Log2", COMSingle::Log2)
622 FCIntrinsic("Log10", COMSingle::Log10, CORINFO_INTRINSIC_Log10)
623 FCFuncElement("ModF", COMSingle::ModF)
624 FCIntrinsic("Pow", COMSingle::Pow, CORINFO_INTRINSIC_Pow)
625 FCFuncElement("ScaleB", COMSingle::ScaleB)
626 FCIntrinsic("Sin", COMSingle::Sin, CORINFO_INTRINSIC_Sin)
627 FCIntrinsic("Sinh", COMSingle::Sinh, CORINFO_INTRINSIC_Sinh)
628 FCIntrinsic("Sqrt", COMSingle::Sqrt, CORINFO_INTRINSIC_Sqrt)
629 FCIntrinsic("Tan", COMSingle::Tan, CORINFO_INTRINSIC_Tan)
630 FCIntrinsic("Tanh", COMSingle::Tanh, CORINFO_INTRINSIC_Tanh)
633 FCFuncStart(gThreadFuncs)
634 FCDynamic("InternalGetCurrentThread", CORINFO_INTRINSIC_Illegal, ECall::InternalGetCurrentThread)
635 FCFuncElement("StartInternal", ThreadNative::Start)
637 FCFuncElement("SleepInternal", ThreadNative::Sleep)
638 #define Sleep(a) Dont_Use_Sleep(a)
639 FCFuncElement("SetStart", ThreadNative::SetStart)
640 QCFuncElement("InformThreadNameChange", ThreadNative::InformThreadNameChange)
641 FCFuncElement("SpinWaitInternal", ThreadNative::SpinWait)
642 QCFuncElement("YieldInternal", ThreadNative::YieldThread)
643 FCIntrinsic("GetCurrentThreadNative", ThreadNative::GetCurrentThread, CORINFO_INTRINSIC_GetCurrentManagedThread)
644 FCIntrinsic("get_ManagedThreadId", ThreadNative::GetManagedThreadId, CORINFO_INTRINSIC_GetManagedThreadId)
645 FCFuncElement("InternalFinalize", ThreadNative::Finalize)
646 #ifdef FEATURE_COMINTEROP_APARTMENT_SUPPORT
647 FCFuncElement("StartupSetApartmentStateInternal", ThreadNative::StartupSetApartmentState)
648 #endif // FEATURE_COMINTEROP_APARTMENT_SUPPORT
649 FCFuncElement("get_IsAlive", ThreadNative::IsAlive)
650 FCFuncElement("IsBackgroundNative", ThreadNative::IsBackground)
651 FCFuncElement("SetBackgroundNative", ThreadNative::SetBackground)
652 FCFuncElement("get_IsThreadPoolThread", ThreadNative::IsThreadpoolThread)
653 FCFuncElement("GetPriorityNative", ThreadNative::GetPriority)
654 FCFuncElement("SetPriorityNative", ThreadNative::SetPriority)
655 QCFuncElement("GetCurrentOSThreadId", ThreadNative::GetCurrentOSThreadId)
656 FCFuncElement("GetThreadStateNative", ThreadNative::GetThreadState)
657 #ifdef FEATURE_COMINTEROP_APARTMENT_SUPPORT
658 FCFuncElement("GetApartmentStateNative", ThreadNative::GetApartmentState)
659 FCFuncElement("SetApartmentStateNative", ThreadNative::SetApartmentState)
660 #endif // FEATURE_COMINTEROP_APARTMENT_SUPPORT
661 #ifdef FEATURE_COMINTEROP
662 FCFuncElement("DisableComObjectEagerCleanup", ThreadNative::DisableComObjectEagerCleanup)
663 #endif // FEATURE_COMINTEROP
664 FCFuncElement("Interrupt", ThreadNative::Interrupt)
665 FCFuncElement("Join", ThreadNative::Join)
666 QCFuncElement("GetOptimalMaxSpinWaitsPerSpinIterationInternal", ThreadNative::GetOptimalMaxSpinWaitsPerSpinIteration)
667 FCFuncElement("GetCurrentProcessorNumber", ThreadNative::GetCurrentProcessorNumber)
668 FCFuncElement("GetThreadDeserializationTracker", ThreadNative::GetThreadDeserializationTracker)
671 FCFuncStart(gThreadPoolFuncs)
672 FCFuncElement("PostQueuedCompletionStatus", ThreadPoolNative::CorPostQueuedCompletionStatus)
673 FCFuncElement("GetAvailableThreadsNative", ThreadPoolNative::CorGetAvailableThreads)
674 FCFuncElement("SetMinThreadsNative", ThreadPoolNative::CorSetMinThreads)
675 FCFuncElement("GetMinThreadsNative", ThreadPoolNative::CorGetMinThreads)
676 FCFuncElement("get_ThreadCount", ThreadPoolNative::GetThreadCount)
677 QCFuncElement("GetCompletedWorkItemCount", ThreadPoolNative::GetCompletedWorkItemCount)
678 FCFuncElement("get_PendingUnmanagedWorkItemCount", ThreadPoolNative::GetPendingUnmanagedWorkItemCount)
679 FCFuncElement("RegisterWaitForSingleObjectNative", ThreadPoolNative::CorRegisterWaitForSingleObject)
680 FCFuncElement("BindIOCompletionCallbackNative", ThreadPoolNative::CorBindIoCompletionCallback)
681 FCFuncElement("SetMaxThreadsNative", ThreadPoolNative::CorSetMaxThreads)
682 FCFuncElement("GetMaxThreadsNative", ThreadPoolNative::CorGetMaxThreads)
683 FCFuncElement("NotifyWorkItemComplete", ThreadPoolNative::NotifyRequestComplete)
684 FCFuncElement("NotifyWorkItemProgressNative", ThreadPoolNative::NotifyRequestProgress)
685 QCFuncElement("InitializeVMTp", ThreadPoolNative::InitializeVMTp)
686 FCFuncElement("ReportThreadStatus", ThreadPoolNative::ReportThreadStatus)
687 QCFuncElement("RequestWorkerThread", ThreadPoolNative::RequestWorkerThread)
690 FCFuncStart(gTimerFuncs)
691 QCFuncElement("CreateAppDomainTimer", AppDomainTimerNative::CreateAppDomainTimer)
692 QCFuncElement("ChangeAppDomainTimer", AppDomainTimerNative::ChangeAppDomainTimer)
693 QCFuncElement("DeleteAppDomainTimer", AppDomainTimerNative::DeleteAppDomainTimer)
697 FCFuncStart(gRegisteredWaitHandleFuncs)
698 FCFuncElement("UnregisterWaitNative", ThreadPoolNative::CorUnregisterWait)
699 FCFuncElement("WaitHandleCleanupNative", ThreadPoolNative::CorWaitHandleCleanupNative)
702 FCFuncStart(gWaitHandleFuncs)
703 FCFuncElement("WaitOneCore", WaitHandleNative::CorWaitOneNative)
704 FCFuncElement("WaitMultipleIgnoringSyncContext", WaitHandleNative::CorWaitMultipleNative)
705 FCFuncElement("SignalAndWaitNative", WaitHandleNative::CorSignalAndWaitOneNative)
708 #ifdef FEATURE_COMINTEROP
709 FCFuncStart(gVariantFuncs)
710 FCFuncElement("SetFieldsObject", COMVariant::SetFieldsObject)
711 FCFuncElement("BoxEnum", COMVariant::BoxEnum)
713 #endif // FEATURE_COMINTEROP
715 #ifdef FEATURE_COMINTEROP
716 FCFuncStart(gOAVariantFuncs)
717 FCFuncElement("ChangeTypeEx", COMOAVariant::ChangeTypeEx)
719 #endif // FEATURE_COMINTEROP
721 FCFuncStart(gClrConfig)
722 QCFuncElement("GetConfigBoolValue", ClrConfigNative::GetConfigBoolValue)
725 FCFuncStart(gArrayFuncs)
726 FCFuncElement("get_Rank", ArrayNative::GetRank)
727 FCFuncElement("GetLowerBound", ArrayNative::GetLowerBound)
728 FCFuncElement("GetUpperBound", ArrayNative::GetUpperBound)
729 FCIntrinsicSig("GetLength", &gsig_IM_Int_RetInt, ArrayNative::GetLength, CORINFO_INTRINSIC_Array_GetDimLength)
730 FCFuncElement("get_Length", ArrayNative::GetLengthNoRank)
731 FCFuncElement("get_LongLength", ArrayNative::GetLongLengthNoRank)
732 FCFuncElement("GetRawArrayData", ArrayNative::GetRawArrayData)
733 FCFuncElement("GetElementSize", ArrayNative::GetElementSize)
734 FCFuncElement("Initialize", ArrayNative::Initialize)
735 FCFuncElement("Copy", ArrayNative::ArrayCopy)
736 FCFuncElement("GetRawArrayGeometry", ArrayNative::GetRawArrayGeometry)
737 FCFuncElement("InternalCreate", ArrayNative::CreateInstance)
738 FCFuncElement("InternalGetReference", ArrayNative::GetReference)
739 FCFuncElement("InternalSetValue", ArrayNative::SetValue)
740 FCFuncElement("TrySZIndexOf", ArrayHelper::TrySZIndexOf)
741 FCFuncElement("TrySZLastIndexOf", ArrayHelper::TrySZLastIndexOf)
742 FCFuncElement("TrySZBinarySearch", ArrayHelper::TrySZBinarySearch)
743 FCFuncElement("TrySZSort", ArrayHelper::TrySZSort)
744 FCFuncElement("TrySZReverse", ArrayHelper::TrySZReverse)
747 FCFuncStart(gBufferFuncs)
748 FCFuncElement("BlockCopy", Buffer::BlockCopy)
749 FCFuncElement("IsPrimitiveTypeArray", Buffer::IsPrimitiveTypeArray)
750 FCFuncElement("_ByteLength", Buffer::ByteLength)
752 FCFuncElement("Memcpy", FCallMemcpy)
754 QCFuncElement("__Memmove", Buffer::MemMove)
757 FCFuncStart(gGCInterfaceFuncs)
758 FCFuncElement("GetGenerationWR", GCInterface::GetGenerationWR)
759 FCFuncElement("_RegisterForFullGCNotification", GCInterface::RegisterForFullGCNotification)
760 FCFuncElement("_CancelFullGCNotification", GCInterface::CancelFullGCNotification)
761 FCFuncElement("_WaitForFullGCApproach", GCInterface::WaitForFullGCApproach)
762 FCFuncElement("_WaitForFullGCComplete", GCInterface::WaitForFullGCComplete)
763 FCFuncElement("_CollectionCount", GCInterface::CollectionCount)
764 FCFuncElement("GetMemoryInfo", GCInterface::GetMemoryInfo)
765 QCFuncElement("_StartNoGCRegion", GCInterface::StartNoGCRegion)
766 QCFuncElement("_EndNoGCRegion", GCInterface::EndNoGCRegion)
767 FCFuncElement("GetSegmentSize", GCInterface::GetSegmentSize)
768 FCFuncElement("GetLastGCPercentTimeInGC", GCInterface::GetLastGCPercentTimeInGC)
769 FCFuncElement("GetGenerationSize", GCInterface::GetGenerationSize)
770 QCFuncElement("_AddMemoryPressure", GCInterface::_AddMemoryPressure)
771 QCFuncElement("_RemoveMemoryPressure", GCInterface::_RemoveMemoryPressure)
772 FCFuncElement("GetGeneration", GCInterface::GetGeneration)
773 QCFuncElement("GetTotalMemory", GCInterface::GetTotalMemory)
774 QCFuncElement("_Collect", GCInterface::Collect)
775 FCFuncElement("GetMaxGeneration", GCInterface::GetMaxGeneration)
776 QCFuncElement("_WaitForPendingFinalizers", GCInterface::WaitForPendingFinalizers)
778 FCFuncElement("_SuppressFinalize", GCInterface::SuppressFinalize)
779 FCFuncElement("_ReRegisterForFinalize", GCInterface::ReRegisterForFinalize)
781 FCFuncElement("GetAllocatedBytesForCurrentThread", GCInterface::GetAllocatedBytesForCurrentThread)
782 FCFuncElement("GetTotalAllocatedBytes", GCInterface::GetTotalAllocatedBytes)
784 FCFuncElement("AllocateNewArray", GCInterface::AllocateNewArray)
786 #ifdef FEATURE_BASICFREEZE
787 QCFuncElement("_RegisterFrozenSegment", GCInterface::RegisterFrozenSegment)
788 QCFuncElement("_UnregisterFrozenSegment", GCInterface::UnregisterFrozenSegment)
789 #endif // FEATURE_BASICFREEZE
793 FCFuncStart(gGCSettingsFuncs)
794 FCFuncElement("get_IsServerGC", SystemNative::IsServerGC)
795 FCFuncElement("GetGCLatencyMode", GCInterface::GetGcLatencyMode)
796 FCFuncElement("GetLOHCompactionMode", GCInterface::GetLOHCompactionMode)
797 FCFuncElement("SetGCLatencyMode", GCInterface::SetGcLatencyMode)
798 FCFuncElement("SetLOHCompactionMode", GCInterface::SetLOHCompactionMode)
801 FCFuncStart(gInteropMarshalFuncs)
802 FCFuncElement("GetLastWin32Error", MarshalNative::GetLastWin32Error)
803 FCFuncElement("SetLastWin32Error", MarshalNative::SetLastWin32Error)
804 FCFuncElement("SizeOfHelper", MarshalNative::SizeOfClass)
805 FCFuncElement("StructureToPtr", MarshalNative::StructureToPtr)
806 FCFuncElement("PtrToStructureHelper", MarshalNative::PtrToStructureHelper)
807 FCFuncElement("DestroyStructure", MarshalNative::DestroyStructure)
808 FCFuncElement("IsPinnable", MarshalNative::IsPinnable)
809 FCFuncElement("GetExceptionCode", ExceptionNative::GetExceptionCode)
810 FCFuncElement("GetExceptionPointers", ExceptionNative::GetExceptionPointers)
811 QCFuncElement("GetHINSTANCE", COMModule::GetHINSTANCE)
813 FCFuncElement("OffsetOfHelper", MarshalNative::OffsetOfHelper)
815 QCFuncElement("InternalPrelink", MarshalNative::Prelink)
816 FCFuncElement("GetExceptionForHRInternal", MarshalNative::GetExceptionForHR)
817 FCFuncElement("GetDelegateForFunctionPointerInternal", MarshalNative::GetDelegateForFunctionPointerInternal)
818 FCFuncElement("GetFunctionPointerForDelegateInternal", MarshalNative::GetFunctionPointerForDelegateInternal)
820 #ifdef FEATURE_COMINTEROP
821 FCFuncElement("GetHRForException", MarshalNative::GetHRForException)
822 FCFuncElement("GetRawIUnknownForComObjectNoAddRef", MarshalNative::GetRawIUnknownForComObjectNoAddRef)
823 FCFuncElement("IsComObject", MarshalNative::IsComObject)
824 FCFuncElement("GetObjectForIUnknown", MarshalNative::GetObjectForIUnknown)
825 FCFuncElement("GetUniqueObjectForIUnknown", MarshalNative::GetUniqueObjectForIUnknown)
826 FCFuncElement("AddRef", MarshalNative::AddRef)
827 FCFuncElement("GetNativeVariantForObject", MarshalNative::GetNativeVariantForObject)
828 FCFuncElement("GetObjectForNativeVariant", MarshalNative::GetObjectForNativeVariant)
829 FCFuncElement("InternalFinalReleaseComObject", MarshalNative::FinalReleaseComObject)
830 FCFuncElement("IsTypeVisibleFromCom", MarshalNative::IsTypeVisibleFromCom)
831 FCFuncElement("QueryInterface", MarshalNative::QueryInterface)
832 FCFuncElement("CreateAggregatedObject", MarshalNative::CreateAggregatedObject)
833 FCFuncElement("AreComObjectsAvailableForCleanup", MarshalNative::AreComObjectsAvailableForCleanup)
834 FCFuncElement("InternalCreateWrapperOfType", MarshalNative::InternalCreateWrapperOfType)
835 FCFuncElement("GetObjectsForNativeVariants", MarshalNative::GetObjectsForNativeVariants)
836 FCFuncElement("GetStartComSlot", MarshalNative::GetStartComSlot)
837 FCFuncElement("GetEndComSlot", MarshalNative::GetEndComSlot)
838 FCFuncElement("GetIUnknownForObjectNative", MarshalNative::GetIUnknownForObjectNative)
839 FCFuncElement("GetComInterfaceForObjectNative", MarshalNative::GetComInterfaceForObjectNative)
840 FCFuncElement("InternalReleaseComObject", MarshalNative::ReleaseComObject)
841 FCFuncElement("Release", MarshalNative::Release)
842 FCFuncElement("GetTypedObjectForIUnknown", MarshalNative::GetTypedObjectForIUnknown)
843 FCFuncElement("ChangeWrapperHandleStrength", MarshalNative::ChangeWrapperHandleStrength)
844 FCFuncElement("CleanupUnusedObjectsInCurrentContext", MarshalNative::CleanupUnusedObjectsInCurrentContext)
845 #endif // FEATURE_COMINTEROP
848 #ifdef FEATURE_COMINTEROP
849 FCFuncStart(gWindowsRuntimeMarshalFuncs)
850 FCFuncElement("GetNativeActivationFactory", MarshalNative::GetNativeActivationFactory)
851 FCFuncElement("GetHRForException", MarshalNative::GetHRForException_WinRT)
852 FCFuncElement("GetUniqueObjectForIUnknownWithoutUnboxing", MarshalNative::GetUniqueObjectForIUnknownWithoutUnboxing)
853 FCFuncElement("InitializeManagedWinRTFactoryObject", MarshalNative::InitializeManagedWinRTFactoryObject)
854 FCFuncElement("InitializeWrapper", MarshalNative::InitializeWrapperForWinRT)
858 FCFuncStart(gInteropNativeLibraryFuncs)
859 QCFuncElement("LoadFromPath", NativeLibraryNative::LoadFromPath)
860 QCFuncElement("LoadByName", NativeLibraryNative::LoadByName)
861 QCFuncElement("FreeLib", NativeLibraryNative::FreeLib)
862 QCFuncElement("GetSymbol", NativeLibraryNative::GetSymbol)
865 FCFuncStart(gTypeLoadExceptionFuncs)
866 QCFuncElement("GetTypeLoadExceptionMessage", GetTypeLoadExceptionMessage)
869 FCFuncStart(gFileLoadExceptionFuncs)
870 QCFuncElement("GetFileLoadExceptionMessage", GetFileLoadExceptionMessage)
871 QCFuncElement("GetMessageForHR", FileLoadException_GetMessageForHR)
874 FCFuncStart(gMissingMemberExceptionFuncs)
875 FCFuncElement("FormatSignature", MissingMemberException_FormatSignature)
878 FCFuncStart(gInterlockedFuncs)
879 FCIntrinsicSig("Exchange", &gsig_SM_RefInt_Int_RetInt, COMInterlocked::Exchange, CORINFO_INTRINSIC_InterlockedXchg32)
880 FCIntrinsicSig("Exchange", &gsig_SM_RefLong_Long_RetLong, COMInterlocked::Exchange64, CORINFO_INTRINSIC_InterlockedXchg64)
881 FCFuncElementSig("Exchange", &gsig_SM_RefDbl_Dbl_RetDbl, COMInterlocked::ExchangeDouble)
882 FCFuncElementSig("Exchange", &gsig_SM_RefFlt_Flt_RetFlt, COMInterlocked::ExchangeFloat)
883 FCFuncElementSig("Exchange", &gsig_SM_RefObj_Obj_RetObj, COMInterlocked::ExchangeObject)
884 FCFuncElementSig("Exchange", &gsig_SM_RefIntPtr_IntPtr_RetIntPtr, COMInterlocked::ExchangePointer)
885 FCIntrinsicSig("CompareExchange", &gsig_SM_RefInt_Int_Int_RetInt, COMInterlocked::CompareExchange, CORINFO_INTRINSIC_InterlockedCmpXchg32)
886 FCIntrinsicSig("CompareExchange", &gsig_SM_RefLong_Long_Long_RetLong, COMInterlocked::CompareExchange64, CORINFO_INTRINSIC_InterlockedCmpXchg64)
887 FCFuncElementSig("CompareExchange", &gsig_SM_RefDbl_Dbl_Dbl_RetDbl, COMInterlocked::CompareExchangeDouble)
888 FCFuncElementSig("CompareExchange", &gsig_SM_RefFlt_Flt_Flt_RetFlt, COMInterlocked::CompareExchangeFloat)
889 FCFuncElementSig("CompareExchange", &gsig_SM_RefObj_Obj_Obj_RetObj, COMInterlocked::CompareExchangeObject)
890 FCFuncElementSig("CompareExchange", &gsig_SM_RefInt_Int_Int_RefBool_RetInt, COMInterlocked::CompareExchangeReliableResult)
891 FCFuncElementSig("CompareExchange", &gsig_SM_RefIntPtr_IntPtr_IntPtr_RetIntPtr, COMInterlocked::CompareExchangePointer)
892 FCIntrinsicSig("ExchangeAdd", &gsig_SM_RefInt_Int_RetInt, COMInterlocked::ExchangeAdd32, CORINFO_INTRINSIC_InterlockedXAdd32)
893 FCIntrinsicSig("ExchangeAdd", &gsig_SM_RefLong_Long_RetLong, COMInterlocked::ExchangeAdd64, CORINFO_INTRINSIC_InterlockedXAdd64)
895 FCIntrinsic("MemoryBarrier", COMInterlocked::FCMemoryBarrier, CORINFO_INTRINSIC_MemoryBarrier)
896 QCFuncElement("_MemoryBarrierProcessWide", COMInterlocked::MemoryBarrierProcessWide)
899 FCFuncStart(gVarArgFuncs)
900 FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_IntPtr_PtrVoid_RetVoid, VarArgsNative::Init2)
901 FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_IntPtr_RetVoid, VarArgsNative::Init)
902 FCFuncElement("GetRemainingCount", VarArgsNative::GetRemainingCount)
903 FCFuncElement("_GetNextArgType", VarArgsNative::GetNextArgType)
904 FCFuncElement("FCallGetNextArg", VarArgsNative::DoGetNextArg)
905 FCFuncElement("InternalGetNextArg", VarArgsNative::GetNextArg2)
908 FCFuncStart(gMonitorFuncs)
909 FCFuncElement("Enter", JIT_MonEnter)
910 FCFuncElement("ReliableEnter", JIT_MonReliableEnter)
911 FCFuncElement("ReliableEnterTimeout", JIT_MonTryEnter)
912 FCFuncElement("Exit", JIT_MonExit)
913 FCFuncElement("ObjWait", ObjectNative::WaitTimeout)
914 FCFuncElement("ObjPulse", ObjectNative::Pulse)
915 FCFuncElement("ObjPulseAll", ObjectNative::PulseAll)
916 FCFuncElement("IsEnteredNative", ObjectNative::IsLockHeld)
917 QCFuncElement("GetLockContentionCount", ObjectNative::GetMonitorLockContentionCount)
920 FCFuncStart(gOverlappedFuncs)
921 FCFuncElement("AllocateNativeOverlapped", AllocateNativeOverlapped)
922 FCFuncElement("FreeNativeOverlapped", FreeNativeOverlapped)
923 FCFuncElement("CheckVMForIOPacket", CheckVMForIOPacket)
924 FCFuncElement("GetOverlappedFromNative", GetOverlappedFromNative)
927 FCFuncStart(gRuntimeHelpers)
928 FCFuncElement("GetObjectValue", ObjectNative::GetObjectValue)
929 FCIntrinsic("InitializeArray", ArrayNative::InitializeArray, CORINFO_INTRINSIC_InitializeArray)
930 FCFuncElement("_RunClassConstructor", ReflectionInvocation::RunClassConstructor)
931 FCFuncElement("_RunModuleConstructor", ReflectionInvocation::RunModuleConstructor)
932 QCFuncElement("_CompileMethod", ReflectionInvocation::CompileMethod)
933 FCFuncElement("_PrepareMethod", ReflectionInvocation::PrepareMethod)
934 FCFuncElement("PrepareDelegate", ReflectionInvocation::PrepareDelegate)
935 FCFuncElement("ExecuteCodeWithGuaranteedCleanup", ReflectionInvocation::ExecuteCodeWithGuaranteedCleanup)
936 FCFuncElement("GetHashCode", ObjectNative::GetHashCode)
937 FCFuncElement("Equals", ObjectNative::Equals)
938 FCFuncElement("EnsureSufficientExecutionStack", ReflectionInvocation::EnsureSufficientExecutionStack)
939 FCFuncElement("TryEnsureSufficientExecutionStack", ReflectionInvocation::TryEnsureSufficientExecutionStack)
940 FCFuncElement("GetUninitializedObjectInternal", ReflectionSerialization::GetUninitializedObject)
943 FCFuncStart(gContextSynchronizationFuncs)
945 QCFuncElement("GetWinRTDispatcherForCurrentThread", SynchronizationContextNative::GetWinRTDispatcherForCurrentThread)
949 FCFuncStart(gDateMarshalerFuncs)
950 FCFuncElement("ConvertToNative", StubHelpers::DateMarshaler__ConvertToNative)
951 FCFuncElement("ConvertToManaged", StubHelpers::DateMarshaler__ConvertToManaged)
954 FCFuncStart(gValueClassMarshalerFuncs)
955 FCFuncElement("ConvertToNative", StubHelpers::ValueClassMarshaler__ConvertToNative)
956 FCFuncElement("ConvertToManaged", StubHelpers::ValueClassMarshaler__ConvertToManaged)
957 FCFuncElement("ClearNative", StubHelpers::ValueClassMarshaler__ClearNative)
960 FCFuncStart(gMngdNativeArrayMarshalerFuncs)
961 FCFuncElement("CreateMarshaler", MngdNativeArrayMarshaler::CreateMarshaler)
962 FCFuncElement("ConvertSpaceToNative", MngdNativeArrayMarshaler::ConvertSpaceToNative)
963 FCFuncElement("ConvertContentsToNative", MngdNativeArrayMarshaler::ConvertContentsToNative)
964 FCFuncElement("ConvertSpaceToManaged", MngdNativeArrayMarshaler::ConvertSpaceToManaged)
965 FCFuncElement("ConvertContentsToManaged", MngdNativeArrayMarshaler::ConvertContentsToManaged)
966 FCFuncElement("ClearNative", MngdNativeArrayMarshaler::ClearNative)
967 FCFuncElement("ClearNativeContents", MngdNativeArrayMarshaler::ClearNativeContents)
970 #ifdef FEATURE_COMINTEROP
971 FCFuncStart(gObjectMarshalerFuncs)
972 FCFuncElement("ConvertToNative", StubHelpers::ObjectMarshaler__ConvertToNative)
973 FCFuncElement("ConvertToManaged", StubHelpers::ObjectMarshaler__ConvertToManaged)
974 FCFuncElement("ClearNative", StubHelpers::ObjectMarshaler__ClearNative)
977 FCFuncStart(gInterfaceMarshalerFuncs)
978 FCFuncElement("ConvertToNative", StubHelpers::InterfaceMarshaler__ConvertToNative)
979 FCFuncElement("ConvertToManaged", StubHelpers::InterfaceMarshaler__ConvertToManaged)
980 QCFuncElement("ClearNative", StubHelpers::InterfaceMarshaler__ClearNative)
981 FCFuncElement("ConvertToManagedWithoutUnboxing", StubHelpers::InterfaceMarshaler__ConvertToManagedWithoutUnboxing)
984 FCFuncStart(gUriMarshalerFuncs)
985 FCFuncElement("GetRawUriFromNative", StubHelpers::UriMarshaler__GetRawUriFromNative)
986 FCFuncElement("CreateNativeUriInstanceHelper", StubHelpers::UriMarshaler__CreateNativeUriInstance)
989 FCFuncStart(gMngdSafeArrayMarshalerFuncs)
990 FCFuncElement("CreateMarshaler", MngdSafeArrayMarshaler::CreateMarshaler)
991 FCFuncElement("ConvertSpaceToNative", MngdSafeArrayMarshaler::ConvertSpaceToNative)
992 FCFuncElement("ConvertContentsToNative", MngdSafeArrayMarshaler::ConvertContentsToNative)
993 FCFuncElement("ConvertSpaceToManaged", MngdSafeArrayMarshaler::ConvertSpaceToManaged)
994 FCFuncElement("ConvertContentsToManaged", MngdSafeArrayMarshaler::ConvertContentsToManaged)
995 FCFuncElement("ClearNative", MngdSafeArrayMarshaler::ClearNative)
998 FCFuncStart(gMngdHiddenLengthArrayMarshalerFuncs)
999 FCFuncElement("CreateMarshaler", MngdHiddenLengthArrayMarshaler::CreateMarshaler)
1000 FCFuncElement("ConvertSpaceToNative", MngdHiddenLengthArrayMarshaler::ConvertSpaceToNative)
1001 FCFuncElement("ConvertContentsToNative", MngdHiddenLengthArrayMarshaler::ConvertContentsToNative)
1002 FCFuncElement("ConvertSpaceToManaged", MngdHiddenLengthArrayMarshaler::ConvertSpaceToManaged)
1003 FCFuncElement("ConvertContentsToManaged", MngdHiddenLengthArrayMarshaler::ConvertContentsToManaged)
1004 FCFuncElement("ClearNativeContents", MngdHiddenLengthArrayMarshaler::ClearNativeContents)
1007 FCFuncStart(gWinRTTypeNameConverterFuncs)
1008 FCFuncElement("ConvertToWinRTTypeName", StubHelpers::WinRTTypeNameConverter__ConvertToWinRTTypeName)
1009 FCFuncElement("GetTypeFromWinRTTypeName", StubHelpers::WinRTTypeNameConverter__GetTypeFromWinRTTypeName)
1012 #endif // FEATURE_COMINTEROP
1014 FCFuncStart(gMngdRefCustomMarshalerFuncs)
1015 FCFuncElement("CreateMarshaler", MngdRefCustomMarshaler::CreateMarshaler)
1016 FCFuncElement("ConvertContentsToNative", MngdRefCustomMarshaler::ConvertContentsToNative)
1017 FCFuncElement("ConvertContentsToManaged", MngdRefCustomMarshaler::ConvertContentsToManaged)
1018 FCFuncElement("ClearNative", MngdRefCustomMarshaler::ClearNative)
1019 FCFuncElement("ClearManaged", MngdRefCustomMarshaler::ClearManaged)
1022 FCFuncStart(gStubHelperFuncs)
1023 FCFuncElement("IsQCall", StubHelpers::IsQCall)
1024 FCFuncElement("InitDeclaringType", StubHelpers::InitDeclaringType)
1025 FCIntrinsic("GetNDirectTarget", StubHelpers::GetNDirectTarget, CORINFO_INTRINSIC_StubHelpers_GetNDirectTarget)
1026 FCFuncElement("GetDelegateTarget", StubHelpers::GetDelegateTarget)
1027 FCFuncElement("SetLastError", StubHelpers::SetLastError)
1028 FCFuncElement("ClearLastError", StubHelpers::ClearLastError)
1029 FCFuncElement("ThrowInteropParamException", StubHelpers::ThrowInteropParamException)
1030 FCFuncElement("InternalGetHRExceptionObject", StubHelpers::GetHRExceptionObject)
1031 #ifdef FEATURE_COMINTEROP
1032 FCFuncElement("InternalGetCOMHRExceptionObject", StubHelpers::GetCOMHRExceptionObject)
1033 FCFuncElement("GetCOMIPFromRCW", StubHelpers::GetCOMIPFromRCW)
1034 FCFuncElement("GetCOMIPFromRCW_WinRT", StubHelpers::GetCOMIPFromRCW_WinRT)
1035 FCFuncElement("GetCOMIPFromRCW_WinRTSharedGeneric", StubHelpers::GetCOMIPFromRCW_WinRTSharedGeneric)
1036 FCFuncElement("GetCOMIPFromRCW_WinRTDelegate", StubHelpers::GetCOMIPFromRCW_WinRTDelegate)
1037 FCFuncElement("ShouldCallWinRTInterface", StubHelpers::ShouldCallWinRTInterface)
1038 FCFuncElement("GetTargetForAmbiguousVariantCall", StubHelpers::GetTargetForAmbiguousVariantCall)
1039 FCFuncElement("GetDelegateInvokeMethod", StubHelpers::GetDelegateInvokeMethod)
1040 FCFuncElement("GetWinRTFactoryObject", StubHelpers::GetWinRTFactoryObject)
1041 FCFuncElement("GetWinRTFactoryReturnValue", StubHelpers::GetWinRTFactoryReturnValue)
1042 FCFuncElement("GetOuterInspectable", StubHelpers::GetOuterInspectable)
1043 #endif // FEATURE_COMINTEROP
1044 #ifdef PROFILING_SUPPORTED
1045 FCFuncElement("ProfilerBeginTransitionCallback", StubHelpers::ProfilerBeginTransitionCallback)
1046 FCFuncElement("ProfilerEndTransitionCallback", StubHelpers::ProfilerEndTransitionCallback)
1048 FCFuncElement("CreateCustomMarshalerHelper", StubHelpers::CreateCustomMarshalerHelper)
1049 FCFuncElement("FmtClassUpdateNativeInternal", StubHelpers::FmtClassUpdateNativeInternal)
1050 FCFuncElement("FmtClassUpdateCLRInternal", StubHelpers::FmtClassUpdateCLRInternal)
1051 FCFuncElement("LayoutDestroyNativeInternal", StubHelpers::LayoutDestroyNativeInternal)
1052 FCFuncElement("AllocateInternal", StubHelpers::AllocateInternal)
1053 FCFuncElement("MarshalToUnmanagedVaListInternal", StubHelpers::MarshalToUnmanagedVaListInternal)
1054 FCFuncElement("MarshalToManagedVaListInternal", StubHelpers::MarshalToManagedVaListInternal)
1055 FCFuncElement("CalcVaListSize", StubHelpers::CalcVaListSize)
1056 FCFuncElement("ValidateObject", StubHelpers::ValidateObject)
1057 FCFuncElement("ValidateByref", StubHelpers::ValidateByref)
1058 FCFuncElement("LogPinnedArgument", StubHelpers::LogPinnedArgument)
1059 FCIntrinsic("GetStubContext", StubHelpers::GetStubContext, CORINFO_INTRINSIC_StubHelpers_GetStubContext)
1060 #ifdef _TARGET_64BIT_
1061 FCIntrinsic("GetStubContextAddr", StubHelpers::GetStubContextAddr, CORINFO_INTRINSIC_StubHelpers_GetStubContextAddr)
1062 #endif // _TARGET_64BIT_
1063 #ifdef FEATURE_ARRAYSTUB_AS_IL
1064 FCFuncElement("ArrayTypeCheck", StubHelpers::ArrayTypeCheck)
1065 #endif //FEATURE_ARRAYSTUB_AS_IL
1066 #ifdef FEATURE_MULTICASTSTUB_AS_IL
1067 FCFuncElement("MulticastDebuggerTraceHelper", StubHelpers::MulticastDebuggerTraceHelper)
1068 #endif //FEATURE_MULTICASTSTUB_AS_IL
1071 FCFuncStart(gGCHandleFuncs)
1072 FCFuncElement("InternalAlloc", MarshalNative::GCHandleInternalAlloc)
1073 FCFuncElement("InternalFree", MarshalNative::GCHandleInternalFree)
1074 FCFuncElement("InternalGet", MarshalNative::GCHandleInternalGet)
1075 FCFuncElement("InternalSet", MarshalNative::GCHandleInternalSet)
1076 FCFuncElement("InternalCompareExchange", MarshalNative::GCHandleInternalCompareExchange)
1080 FCFuncStart(gStreamFuncs)
1081 FCFuncElement("HasOverriddenBeginEndRead", StreamNative::HasOverriddenBeginEndRead)
1082 FCFuncElement("HasOverriddenBeginEndWrite", StreamNative::HasOverriddenBeginEndWrite)
1086 #if defined(FEATURE_EVENTSOURCE_XPLAT)
1087 FCFuncStart(gEventLogger)
1088 QCFuncElement("IsEventSourceLoggingEnabled", XplatEventSourceLogger::IsEventSourceLoggingEnabled)
1089 QCFuncElement("LogEventSource", XplatEventSourceLogger::LogEventSource)
1091 #endif // defined(FEATURE_EVENTSOURCE_XPLAT)
1093 #ifdef FEATURE_PERFTRACING
1094 FCFuncStart(gEventPipeInternalFuncs)
1095 QCFuncElement("Enable", EventPipeInternal::Enable)
1096 QCFuncElement("Disable", EventPipeInternal::Disable)
1097 QCFuncElement("GetSessionInfo", EventPipeInternal::GetSessionInfo)
1098 QCFuncElement("CreateProvider", EventPipeInternal::CreateProvider)
1099 QCFuncElement("DefineEvent", EventPipeInternal::DefineEvent)
1100 QCFuncElement("DeleteProvider", EventPipeInternal::DeleteProvider)
1101 QCFuncElement("EventActivityIdControl", EventPipeInternal::EventActivityIdControl)
1102 QCFuncElement("GetProvider", EventPipeInternal::GetProvider)
1103 QCFuncElement("WriteEvent", EventPipeInternal::WriteEvent)
1104 QCFuncElement("WriteEventData", EventPipeInternal::WriteEventData)
1105 QCFuncElement("GetNextEvent", EventPipeInternal::GetNextEvent)
1106 QCFuncElement("GetWaitHandle", EventPipeInternal::GetWaitHandle)
1108 #endif // FEATURE_PERFTRACING
1110 #ifdef FEATURE_COMINTEROP
1111 FCFuncStart(gRuntimeClassFuncs)
1112 FCFuncElement("GetRedirectedGetHashCodeMD", ComObject::GetRedirectedGetHashCodeMD)
1113 FCFuncElement("RedirectGetHashCode", ComObject::RedirectGetHashCode)
1114 FCFuncElement("GetRedirectedToStringMD", ComObject::GetRedirectedToStringMD)
1115 FCFuncElement("RedirectToString", ComObject::RedirectToString)
1116 FCFuncElement("GetRedirectedEqualsMD", ComObject::GetRedirectedEqualsMD)
1117 FCFuncElement("RedirectEquals", ComObject::RedirectEquals)
1119 #endif // ifdef FEATURE_COMINTEROP
1121 FCFuncStart(gRuntimeImportsFuncs)
1122 QCFuncElement("RhZeroMemory", MemoryNative::Clear)
1123 FCFuncElement("RhBulkMoveWithWriteBarrier", MemoryNative::BulkMoveWithWriteBarrier)
1126 FCFuncStart(gWeakReferenceFuncs)
1127 FCFuncElement("Create", WeakReferenceNative::Create)
1128 FCFuncElement("Finalize", WeakReferenceNative::Finalize)
1129 FCFuncElement("get_Target", WeakReferenceNative::GetTarget)
1130 FCFuncElement("set_Target", WeakReferenceNative::SetTarget)
1131 FCFuncElement("get_IsAlive", WeakReferenceNative::IsAlive)
1132 FCFuncElement("IsTrackResurrection", WeakReferenceNative::IsTrackResurrection)
1135 FCFuncStart(gWeakReferenceOfTFuncs)
1136 FCFuncElement("Create", WeakReferenceOfTNative::Create)
1137 FCFuncElement("Finalize", WeakReferenceOfTNative::Finalize)
1138 FCFuncElement("get_Target", WeakReferenceOfTNative::GetTarget)
1139 FCFuncElement("set_Target", WeakReferenceOfTNative::SetTarget)
1140 FCFuncElement("IsTrackResurrection", WeakReferenceOfTNative::IsTrackResurrection)
1144 FCFuncStart(gPalKernel32Funcs)
1145 QCFuncElement("CloseHandle", CloseHandle)
1146 QCFuncElement("CreateEvent", CreateEventW)
1147 QCFuncElement("CreateEventEx", CreateEventExW)
1148 QCFuncElement("CreateMutex", CreateMutexW)
1149 QCFuncElement("CreateMutexEx", CreateMutexExW)
1150 QCFuncElement("CreateSemaphore", CreateSemaphoreW)
1151 QCFuncElement("CreateSemaphoreEx", CreateSemaphoreExW)
1152 QCFuncElement("FormatMessage", FormatMessageW)
1153 QCFuncElement("FreeEnvironmentStrings", FreeEnvironmentStringsW)
1154 QCFuncElement("GetCurrentProcessId", GetCurrentProcessId)
1155 QCFuncElement("GetCurrentThreadId", GetCurrentThreadId)
1156 QCFuncElement("GetEnvironmentStrings", GetEnvironmentStringsW)
1157 QCFuncElement("GetEnvironmentVariable", GetEnvironmentVariableW)
1158 QCFuncElement("GetStdHandle", GetStdHandle)
1159 QCFuncElement("GetSystemInfo", GetSystemInfo)
1160 QCFuncElement("LocalAlloc", LocalAlloc)
1161 QCFuncElement("LocalReAlloc", LocalReAlloc)
1162 QCFuncElement("LocalFree", LocalFree)
1163 QCFuncElement("OpenEvent", OpenEventW)
1164 QCFuncElement("OpenMutex", OpenMutexW)
1165 QCFuncElement("OpenSemaphore", OpenSemaphoreW)
1166 QCFuncElement("OutputDebugString", OutputDebugStringW)
1167 QCFuncElement("QueryPerformanceCounter", QueryPerformanceCounter)
1168 QCFuncElement("QueryPerformanceFrequency", QueryPerformanceFrequency)
1169 QCFuncElement("ReleaseMutex", ReleaseMutex)
1170 QCFuncElement("ReleaseSemaphore", ReleaseSemaphore)
1171 QCFuncElement("ResetEvent", ResetEvent)
1172 QCFuncElement("SetEnvironmentVariable", SetEnvironmentVariableW)
1173 QCFuncElement("SetEvent", SetEvent)
1174 QCFuncElement("WriteFile", WriteFile)
1177 FCFuncStart(gPalOle32Funcs)
1178 QCFuncElement("CoTaskMemAlloc", CoTaskMemAlloc)
1179 QCFuncElement("CoTaskMemRealloc", CoTaskMemRealloc)
1180 QCFuncElement("CoTaskMemFree", CoTaskMemFree)
1183 FCFuncStart(gPalOleAut32Funcs)
1184 QCFuncElement("SysAllocStringByteLen", SysAllocStringByteLen)
1185 QCFuncElement("SysAllocStringLen", SysAllocStringLen)
1186 QCFuncElement("SysFreeString", SysFreeString)
1187 QCFuncElement("SysStringLen", SysStringLen)
1191 #ifdef FEATURE_COMINTEROP
1194 // ECall helpers for the standard managed interfaces.
1197 #define MNGSTDITF_BEGIN_INTERFACE(FriendlyName, strMngItfName, strUCOMMngItfName, strCustomMarshalerName, strCustomMarshalerCookie, strManagedViewName, NativeItfIID, bCanCastOnNativeItfQI) \
1198 FCFuncStart(g##FriendlyName##Funcs)
1200 #define MNGSTDITF_DEFINE_METH_IMPL(FriendlyName, FCallMethName, MethName, MethSig, FcallDecl) \
1201 FCUnreferenced FCFuncElementSig(#MethName, MethSig, FriendlyName::FCallMethName)
1203 #define MNGSTDITF_END_INTERFACE(FriendlyName) \
1206 #include "mngstditflist.h"
1208 #undef MNGSTDITF_BEGIN_INTERFACE
1209 #undef MNGSTDITF_DEFINE_METH_IMPL
1210 #undef MNGSTDITF_END_INTERFACE
1212 #endif // FEATURE_COMINTEROP
1217 // Class definitions
1221 // Note these have to remain sorted by name:namespace pair (Assert will wack you if you don't)
1222 // The sorting is case-sensitive
1225 FCClassElement("ApplicationModel", "System", gApplicationModelFuncs)
1227 FCClassElement("ArgIterator", "System", gVarArgFuncs)
1228 FCClassElement("Array", "System", gArrayFuncs)
1229 FCClassElement("Assembly", "System.Reflection", gAssemblyFuncs)
1230 FCClassElement("AssemblyBuilder", "System.Reflection.Emit", gAssemblyBuilderFuncs)
1232 FCClassElement("AssemblyExtensions", "System.Reflection.Metadata", gAssemblyExtensionsFuncs)
1234 FCClassElement("AssemblyLoadContext", "System.Runtime.Loader", gAssemblyLoadContextFuncs)
1236 FCClassElement("AssemblyName", "System.Reflection", gAssemblyNameFuncs)
1237 FCClassElement("Buffer", "System", gBufferFuncs)
1238 FCClassElement("CLRConfig", "System", gClrConfig)
1239 FCClassElement("CompatibilitySwitch", "System.Runtime.Versioning", gCompatibilitySwitchFuncs)
1240 FCClassElement("CriticalHandle", "System.Runtime.InteropServices", gCriticalHandleFuncs)
1241 FCClassElement("CustomAttribute", "System.Reflection", gCOMCustomAttributeFuncs)
1242 FCClassElement("CustomAttributeEncodedArgument", "System.Reflection", gCustomAttributeEncodedArgument)
1243 FCClassElement("DateMarshaler", "System.StubHelpers", gDateMarshalerFuncs)
1244 FCClassElement("DateTime", "System", gDateTimeFuncs)
1245 FCClassElement("Debugger", "System.Diagnostics", gDiagnosticsDebugger)
1246 FCClassElement("Delegate", "System", gDelegateFuncs)
1247 FCClassElement("DependentHandle", "System.Runtime.CompilerServices", gDependentHandleFuncs)
1248 FCClassElement("Enum", "System", gEnumFuncs)
1249 FCClassElement("Environment", "System", gEnvironmentFuncs)
1250 #if defined(FEATURE_PERFTRACING)
1251 FCClassElement("EventPipeInternal", "System.Diagnostics.Tracing", gEventPipeInternalFuncs)
1252 #endif // FEATURE_PERFTRACING
1253 FCClassElement("Exception", "System", gExceptionFuncs)
1254 FCClassElement("FileLoadException", "System.IO", gFileLoadExceptionFuncs)
1255 FCClassElement("GC", "System", gGCInterfaceFuncs)
1256 FCClassElement("GCHandle", "System.Runtime.InteropServices", gGCHandleFuncs)
1257 FCClassElement("GCSettings", "System.Runtime", gGCSettingsFuncs)
1258 #ifdef FEATURE_COMINTEROP
1259 FCClassElement("IEnumerable", "System.Collections", gStdMngIEnumerableFuncs)
1260 FCClassElement("IEnumerator", "System.Collections", gStdMngIEnumeratorFuncs)
1261 FCClassElement("IExpando", "System.Runtime.InteropServices.Expando", gStdMngIExpandoFuncs)
1262 FCClassElement("IReflect", "System.Reflection", gStdMngIReflectFuncs)
1263 FCClassElement("InterfaceMarshaler", "System.StubHelpers", gInterfaceMarshalerFuncs)
1265 FCClassElement("Interlocked", "System.Threading", gInterlockedFuncs)
1267 FCClassElement("Kernel32", "", gPalKernel32Funcs)
1269 FCClassElement("LoaderAllocatorScout", "System.Reflection", gLoaderAllocatorFuncs)
1270 FCClassElement("Marshal", "System.Runtime.InteropServices", gInteropMarshalFuncs)
1271 FCClassElement("Math", "System", gMathFuncs)
1272 FCClassElement("MathF", "System", gMathFFuncs)
1273 FCClassElement("MdUtf8String", "System", gMdUtf8String)
1274 FCClassElement("MetadataImport", "System.Reflection", gMetaDataImport)
1275 FCClassElement("MissingMemberException", "System", gMissingMemberExceptionFuncs)
1276 #ifdef FEATURE_COMINTEROP
1277 FCClassElement("MngdHiddenLengthArrayMarshaler", "System.StubHelpers", gMngdHiddenLengthArrayMarshalerFuncs)
1278 #endif // FEATURE_COMINTEROP
1279 FCClassElement("MngdNativeArrayMarshaler", "System.StubHelpers", gMngdNativeArrayMarshalerFuncs)
1280 FCClassElement("MngdRefCustomMarshaler", "System.StubHelpers", gMngdRefCustomMarshalerFuncs)
1281 #ifdef FEATURE_COMINTEROP
1282 FCClassElement("MngdSafeArrayMarshaler", "System.StubHelpers", gMngdSafeArrayMarshalerFuncs)
1283 #endif // FEATURE_COMINTEROP
1284 FCClassElement("ModuleBuilder", "System.Reflection.Emit", gCOMModuleBuilderFuncs)
1285 FCClassElement("ModuleHandle", "System", gCOMModuleHandleFuncs)
1286 FCClassElement("Monitor", "System.Threading", gMonitorFuncs)
1287 FCClassElement("NativeLibrary", "System.Runtime.InteropServices", gInteropNativeLibraryFuncs)
1288 #ifdef FEATURE_COMINTEROP
1289 FCClassElement("OAVariantLib", "Microsoft.Win32", gOAVariantFuncs)
1291 FCClassElement("Object", "System", gObjectFuncs)
1292 #ifdef FEATURE_COMINTEROP
1293 FCClassElement("ObjectMarshaler", "System.StubHelpers", gObjectMarshalerFuncs)
1296 FCClassElement("Ole32", "", gPalOle32Funcs)
1297 FCClassElement("OleAut32", "", gPalOleAut32Funcs)
1299 FCClassElement("OverlappedData", "System.Threading", gOverlappedFuncs)
1302 FCClassElement("PunkSafeHandle", "System.Reflection.Emit", gSymWrapperCodePunkSafeHandleFuncs)
1303 FCClassElement("RegisteredWaitHandleSafe", "System.Threading", gRegisteredWaitHandleFuncs)
1305 FCClassElement("RuntimeAssembly", "System.Reflection", gRuntimeAssemblyFuncs)
1306 #ifdef FEATURE_COMINTEROP
1307 FCClassElement("RuntimeClass", "System.Runtime.InteropServices.WindowsRuntime", gRuntimeClassFuncs)
1308 #endif // FEATURE_COMINTEROP
1309 FCClassElement("RuntimeFieldHandle", "System", gCOMFieldHandleNewFuncs)
1310 FCClassElement("RuntimeHelpers", "System.Runtime.CompilerServices", gRuntimeHelpers)
1311 FCClassElement("RuntimeImports", "System.Runtime", gRuntimeImportsFuncs)
1312 FCClassElement("RuntimeMethodHandle", "System", gRuntimeMethodHandle)
1313 FCClassElement("RuntimeModule", "System.Reflection", gCOMModuleFuncs)
1314 FCClassElement("RuntimeType", "System", gSystem_RuntimeType)
1315 FCClassElement("RuntimeTypeHandle", "System", gCOMTypeHandleFuncs)
1316 FCClassElement("SafeTypeNameParserHandle", "System", gSafeTypeNameParserHandle)
1318 FCClassElement("Signature", "System", gSignatureNative)
1319 FCClassElement("StackTrace", "System.Diagnostics", gDiagnosticsStackTrace)
1320 FCClassElement("Stream", "System.IO", gStreamFuncs)
1321 FCClassElement("String", "System", gStringFuncs)
1322 FCClassElement("StubHelpers", "System.StubHelpers", gStubHelperFuncs)
1323 FCClassElement("SynchronizationContext", "System.Threading", gContextSynchronizationFuncs)
1324 FCClassElement("Thread", "System.Threading", gThreadFuncs)
1325 FCClassElement("ThreadPool", "System.Threading", gThreadPoolFuncs)
1326 FCClassElement("TimerQueue", "System.Threading", gTimerFuncs)
1327 FCClassElement("Type", "System", gSystem_Type)
1328 FCClassElement("TypeBuilder", "System.Reflection.Emit", gCOMClassWriter)
1329 FCClassElement("TypeLoadException", "System", gTypeLoadExceptionFuncs)
1330 FCClassElement("TypeNameBuilder", "System.Reflection.Emit", gTypeNameBuilder)
1331 FCClassElement("TypeNameParser", "System", gTypeNameParser)
1332 FCClassElement("TypedReference", "System", gTypedReferenceFuncs)
1333 #ifdef FEATURE_COMINTEROP
1334 FCClassElement("UriMarshaler", "System.StubHelpers", gUriMarshalerFuncs)
1336 #ifdef FEATURE_UTF8STRING
1337 FCClassElement("Utf8String", "System", gUtf8StringFuncs)
1338 #endif // FEATURE_UTF8STRING
1339 FCClassElement("ValueClassMarshaler", "System.StubHelpers", gValueClassMarshalerFuncs)
1340 FCClassElement("ValueType", "System", gValueTypeFuncs)
1341 #ifdef FEATURE_COMINTEROP
1342 FCClassElement("Variant", "System", gVariantFuncs)
1344 FCClassElement("WaitHandle", "System.Threading", gWaitHandleFuncs)
1345 FCClassElement("WeakReference", "System", gWeakReferenceFuncs)
1346 FCClassElement("WeakReference`1", "System", gWeakReferenceOfTFuncs)
1348 #ifdef FEATURE_COMINTEROP
1349 FCClassElement("WinRTTypeNameConverter", "System.StubHelpers", gWinRTTypeNameConverterFuncs)
1350 FCClassElement("WindowsRuntimeMarshal", "System.Runtime.InteropServices.WindowsRuntime", gWindowsRuntimeMarshalFuncs)
1351 #endif // FEATURE_COMINTEROP
1354 #if defined(FEATURE_EVENTSOURCE_XPLAT)
1355 FCClassElement("XplatEventLogger", "System.Diagnostics.Tracing", gEventLogger)
1356 #endif //defined(FEATURE_EVENTSOURCE_XPLAT)
1358 #undef FCFuncElement
1359 #undef FCFuncElementSig
1361 #undef FCIntrinsicSig
1362 #undef QCFuncElement
1365 #undef FCUnreferenced
1368 #undef FCClassElement