Imported Upstream version 6.4.0.137

Former-commit-id: 943baa9f16a098c33e129777827f3a9d20da00d6
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2019-07-26 19:53:28 +00:00
parent e9207cf623
commit ef583813eb
2712 changed files with 74169 additions and 40587 deletions

View File

@ -0,0 +1,25 @@
namespace System.Runtime
{
partial class GCSettings
{
public static bool IsServerGC => false;
static GCLatencyMode GetGCLatencyMode() => GCLatencyMode.Batch;
static SetLatencyModeStatus SetGCLatencyMode(GCLatencyMode newLatencyMode)
{
if (newLatencyMode != GCLatencyMode.Batch)
throw new PlatformNotSupportedException ();
return SetLatencyModeStatus.Succeeded;
}
static GCLargeObjectHeapCompactionMode GetLOHCompactionMode() => GCLargeObjectHeapCompactionMode.Default;
static void SetLOHCompactionMode (GCLargeObjectHeapCompactionMode newLOHCompactionMode)
{
if (newLOHCompactionMode != GCLargeObjectHeapCompactionMode.Default)
throw new PlatformNotSupportedException ();
}
}
}

View File

@ -0,0 +1,28 @@
using System.Runtime.CompilerServices;
#if BIT64
using nuint = System.UInt64;
#else
using nuint = System.UInt32;
#endif
namespace System.Runtime
{
static class RuntimeImports
{
internal static unsafe void RhZeroMemory (ref byte b, nuint byteLength)
{
fixed (byte* bytePointer = &b) {
ZeroMemory (bytePointer, byteLength);
}
}
internal static unsafe void RhZeroMemory (IntPtr p, UIntPtr byteLength) => ZeroMemory ((void*) p, (nuint) byteLength);
[MethodImpl (MethodImplOptions.InternalCall)]
static extern unsafe void ZeroMemory (void* p, nuint byteLength);
[MethodImpl (MethodImplOptions.InternalCall)]
internal extern static void RhBulkMoveWithWriteBarrier (ref byte dmem, ref byte smem, nuint size);
}
}