From 29090288cdc8a14062e911b0cf8df9bd5a4d9b95 Mon Sep 17 00:00:00 2001 From: Hamish Arblaster Date: Sun, 2 Jun 2024 09:38:39 +1000 Subject: [PATCH] Update Number.NumberBuffer.cs (#102950) --- src/libraries/Common/src/System/Number.NumberBuffer.cs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/libraries/Common/src/System/Number.NumberBuffer.cs b/src/libraries/Common/src/System/Number.NumberBuffer.cs index f877d3b7298969..44c1d47d96dcab 100644 --- a/src/libraries/Common/src/System/Number.NumberBuffer.cs +++ b/src/libraries/Common/src/System/Number.NumberBuffer.cs @@ -29,9 +29,8 @@ internal unsafe ref struct NumberBuffer public bool IsNegative; public bool HasNonZeroTail; public NumberBufferKind Kind; - public byte* DigitsPtr; - public int DigitsLength; - public readonly Span Digits => new Span(DigitsPtr, DigitsLength); + public Span Digits; + public readonly byte* DigitsPtr => (byte*)Unsafe.AsPointer(ref MemoryMarshal.GetReference(Digits)); // safe since constructor expects Digits to refer to unmovable memory public NumberBuffer(NumberBufferKind kind, byte* digits, int digitsLength) : this(kind, new Span(digits, digitsLength)) { @@ -50,8 +49,7 @@ public NumberBuffer(NumberBufferKind kind, Span digits) IsNegative = false; HasNonZeroTail = false; Kind = kind; - DigitsPtr = (byte*)Unsafe.AsPointer(ref MemoryMarshal.GetReference(digits)); // Safe since memory must be fixed - DigitsLength = digits.Length; + Digits = digits; #if DEBUG Digits.Fill(0xCC); #endif