From cb21bbdbfd792d0419445fca692d43a9e85aec00 Mon Sep 17 00:00:00 2001 From: Francesco Bertolaccini Date: Sat, 29 Mar 2025 18:35:37 +0100 Subject: [PATCH] Add support for Fastcall function pointers --- src/coreclr/jit/importercalls.cpp | 4 +--- src/coreclr/vm/dllimport.cpp | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/coreclr/jit/importercalls.cpp b/src/coreclr/jit/importercalls.cpp index cbc2c89f136ad3..be877b5b1bdee8 100644 --- a/src/coreclr/jit/importercalls.cpp +++ b/src/coreclr/jit/importercalls.cpp @@ -6526,9 +6526,7 @@ void Compiler::impCheckForPInvokeCall( // If we can't get the unmanaged calling convention or the calling convention is unsupported in the JIT, // return here without inlining the native call. - if (unmanagedCallConv == CorInfoCallConvExtension::Managed || - unmanagedCallConv == CorInfoCallConvExtension::Fastcall || - unmanagedCallConv == CorInfoCallConvExtension::FastcallMemberFunction) + if (unmanagedCallConv == CorInfoCallConvExtension::Managed) { return; } diff --git a/src/coreclr/vm/dllimport.cpp b/src/coreclr/vm/dllimport.cpp index f070d81f95980a..b24c87f5e38476 100644 --- a/src/coreclr/vm/dllimport.cpp +++ b/src/coreclr/vm/dllimport.cpp @@ -4231,9 +4231,7 @@ static void CreateNDirectStubAccessMetadata( } else { - if (unmgdCallConv == CorInfoCallConvExtension::Managed || - unmgdCallConv == CorInfoCallConvExtension::Fastcall || - unmgdCallConv == CorInfoCallConvExtension::FastcallMemberFunction) + if (unmgdCallConv == CorInfoCallConvExtension::Managed) { COMPlusThrow(kTypeLoadException, IDS_INVALID_PINVOKE_CALLCONV); }