diff --git a/src/coreclr/src/System.Private.CoreLib/System.Private.CoreLib.csproj b/src/coreclr/src/System.Private.CoreLib/System.Private.CoreLib.csproj
index 4de4ac0aa5860..1b227e0521ddb 100644
--- a/src/coreclr/src/System.Private.CoreLib/System.Private.CoreLib.csproj
+++ b/src/coreclr/src/System.Private.CoreLib/System.Private.CoreLib.csproj
@@ -220,6 +220,7 @@
+
diff --git a/src/coreclr/src/System.Private.CoreLib/src/System/RuntimeHandles.cs b/src/coreclr/src/System.Private.CoreLib/src/System/RuntimeHandles.cs
index cd9dfa1368fcd..f8ff5504380a7 100644
--- a/src/coreclr/src/System.Private.CoreLib/src/System/RuntimeHandles.cs
+++ b/src/coreclr/src/System.Private.CoreLib/src/System/RuntimeHandles.cs
@@ -208,12 +208,6 @@ internal static bool HasElementType(RuntimeType type)
return outHandles;
}
- [MethodImpl(MethodImplOptions.InternalCall)]
- internal static extern object CreateInstance(RuntimeType type, bool publicOnly, bool wrapExceptions, ref bool canBeCached, ref RuntimeMethodHandleInternal ctor, ref bool hasNoDefaultCtor);
-
- [MethodImpl(MethodImplOptions.InternalCall)]
- internal static extern object Allocate(RuntimeType type);
-
internal static object CreateInstanceForAnotherGenericParameter(RuntimeType type, RuntimeType genericParameter)
{
object? instantiatedObject = null;
@@ -258,6 +252,51 @@ private static extern void CreateInstanceForAnotherGenericParameter(
int cTypeHandles,
ObjectHandleOnStack instantiatedObject);
+ ///
+ /// Given a RuntimeType, returns information about how to activate it via calli
+ /// semantics. This method will ensure the type object is fully initialized within
+ /// the VM, but it will not call any static ctors on the type.
+ ///
+ internal static void GetActivationInfo(
+ RuntimeType rt,
+ out delegate* pfnAllocator,
+ out void* vAllocatorFirstArg,
+ out delegate*