diff --git a/eng/Versions.props b/eng/Versions.props
index b839658f454eec..ff8f04758c3642 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -53,7 +53,7 @@
- 4.4.0-3.22452.8
+ 4.4.0-3.22479.16
0.2.0
7.0.100-rc.1.22402.1
diff --git a/src/coreclr/System.Private.CoreLib/src/System/Reflection/Emit/DynamicMethod.cs b/src/coreclr/System.Private.CoreLib/src/System/Reflection/Emit/DynamicMethod.cs
index a2d74336bee2b7..84bc2f8ebd3c47 100644
--- a/src/coreclr/System.Private.CoreLib/src/System/Reflection/Emit/DynamicMethod.cs
+++ b/src/coreclr/System.Private.CoreLib/src/System/Reflection/Emit/DynamicMethod.cs
@@ -504,7 +504,9 @@ Signature LazyCreateSignature()
Span shouldCopyBackParameters = new(ref argStorage._copyBack0, argCount);
StackAllocatedByRefs byrefStorage = default;
+#pragma warning disable CS8500
IntPtr* pByRefStorage = (IntPtr*)&byrefStorage;
+#pragma warning restore CS8500
CheckArguments(
copyOfParameters,
diff --git a/src/coreclr/System.Private.CoreLib/src/System/Reflection/RuntimeMethodInfo.CoreCLR.cs b/src/coreclr/System.Private.CoreLib/src/System/Reflection/RuntimeMethodInfo.CoreCLR.cs
index c55ee607da7738..4e1246b481b102 100644
--- a/src/coreclr/System.Private.CoreLib/src/System/Reflection/RuntimeMethodInfo.CoreCLR.cs
+++ b/src/coreclr/System.Private.CoreLib/src/System/Reflection/RuntimeMethodInfo.CoreCLR.cs
@@ -316,7 +316,9 @@ public override MethodImplAttributes GetMethodImplementationFlags()
Span shouldCopyBackParameters = new(ref argStorage._copyBack0, 1);
StackAllocatedByRefs byrefStorage = default;
+#pragma warning disable 8500
IntPtr* pByRefStorage = (IntPtr*)&byrefStorage;
+#pragma warning restore 8500
CheckArguments(
copyOfParameters,
diff --git a/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/DynamicInvokeInfo.cs b/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/DynamicInvokeInfo.cs
index 234f8a16e9c5c0..4f0106980837d4 100644
--- a/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/DynamicInvokeInfo.cs
+++ b/src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/DynamicInvokeInfo.cs
@@ -235,11 +235,15 @@ public DynamicInvokeInfo(MethodBase method, IntPtr invokeThunk)
StackAllocedArguments argStorage = default;
StackAllocatedByRefs byrefStorage = default;
+#pragma warning disable 8500
CheckArguments(ref argStorage._arg0!, (ByReference*)&byrefStorage, parameters, binderBundle);
+#pragma warning restore 8500
try
{
+#pragma warning disable 8500
ret = ref RawCalliHelper.Call(InvokeThunk, (void*)methodToCall, ref thisArg, ref ret, &byrefStorage);
+#pragma warning restore 8500
DebugAnnotations.PreviousCallContainsDebuggerStepInCode();
}
catch (Exception e) when (wrapInTargetInvocationException)
@@ -268,7 +272,9 @@ private unsafe ref byte InvokeWithManyArguments(
IntPtr* pStorage = stackalloc IntPtr[2 * argCount];
NativeMemory.Clear(pStorage, (nuint)(2 * argCount) * (nuint)sizeof(IntPtr));
- ByReference* pByRefStorage = (ByReference*)(pStorage + argCount);
+#pragma warning disable 8500
+ void* pByRefStorage = (ByReference*)(pStorage + argCount);
+#pragma warning restore 8500
RuntimeImports.GCFrameRegistration regArgStorage = new(pStorage, (uint)argCount, areByRefs: false);
RuntimeImports.GCFrameRegistration regByRefStorage = new(pByRefStorage, (uint)argCount, areByRefs: true);
@@ -326,7 +332,7 @@ private unsafe ref byte InvokeWithManyArguments(
private unsafe void CheckArguments(
ref object copyOfParameters,
- ByReference* byrefParameters,
+ void* byrefParameters,
object?[] parameters,
BinderBundle binderBundle)
{
@@ -398,8 +404,10 @@ private unsafe void CheckArguments(
Unsafe.Add(ref copyOfParameters, i) = arg!;
- byrefParameters[i] = new ByReference(ref (argumentInfo.Transform & Transform.Reference) != 0 ?
+#pragma warning disable 8500, 9094
+ ((ByReference*)byrefParameters)[i] = new ByReference(ref (argumentInfo.Transform & Transform.Reference) != 0 ?
ref Unsafe.As