JitMemoryBlock.cs 763 B

123456789101112131415161718192021222324
  1. using ARMeilleure.Memory;
  2. using Ryujinx.Memory;
  3. using System;
  4. namespace Ryujinx.Cpu
  5. {
  6. class JitMemoryBlock : IJitMemoryBlock
  7. {
  8. private readonly MemoryBlock _impl;
  9. public IntPtr Pointer => _impl.Pointer;
  10. public JitMemoryBlock(ulong size, MemoryAllocationFlags flags)
  11. {
  12. _impl = new MemoryBlock(size, flags);
  13. }
  14. public bool Commit(ulong offset, ulong size) => _impl.Commit(offset, size);
  15. public void MapAsRx(ulong offset, ulong size) => _impl.Reprotect(offset, size, MemoryPermission.ReadAndExecute);
  16. public void MapAsRwx(ulong offset, ulong size) => _impl.Reprotect(offset, size, MemoryPermission.ReadWriteExecute);
  17. public void Dispose() => _impl.Dispose();
  18. }
  19. }