MemoryManagerHostTracked: use rented memory when contiguous in GetWritableRegion()

This commit is contained in:
Jim Horvath 2024-04-05 10:58:39 -04:00
commit 389b136d9e

View file

@ -1,10 +1,12 @@
using ARMeilleure.Memory; using ARMeilleure.Memory;
using Ryujinx.Common.Memory;
using Ryujinx.Cpu.Jit.HostTracked; using Ryujinx.Cpu.Jit.HostTracked;
using Ryujinx.Cpu.Signal; using Ryujinx.Cpu.Signal;
using Ryujinx.Memory; using Ryujinx.Memory;
using Ryujinx.Memory.Range; using Ryujinx.Memory.Range;
using Ryujinx.Memory.Tracking; using Ryujinx.Memory.Tracking;
using System; using System;
using System.Buffers;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
@ -237,11 +239,11 @@ namespace Ryujinx.Cpu.Jit
} }
else else
{ {
Memory<byte> memory = new byte[size]; IMemoryOwner<byte> memoryOwner = ByteMemoryPool.Rent(size);
Read(va, memory.Span); Read(va, memoryOwner.Memory.Span);
return new WritableRegion(this, va, memory); return new WritableRegion(this, va, memoryOwner);
} }
} }