project64/Source/Project64-core/N64System/Recompiler/RecompilerMemory.h

40 lines
1.4 KiB
C++

/****************************************************************************
* *
* Project64 - A Nintendo 64 emulator. *
* http://www.pj64-emu.com/ *
* Copyright (C) 2012 Project64. All rights reserved. *
* *
* License: *
* GNU/GPLv2 http://www.gnu.org/licenses/gpl-2.0.html *
* *
****************************************************************************/
#pragma once
#include <Project64-core/N64System/Recompiler/x86/x86ops.h>
class CRecompMemory
{
protected:
CRecompMemory();
~CRecompMemory();
bool AllocateMemory();
void CheckRecompMem();
void Reset();
void ShowMemUsed();
public:
uint8_t** RecompPos() { return &m_RecompPos; }
private:
CRecompMemory(const CRecompMemory&); // Disable copy constructor
CRecompMemory& operator=(const CRecompMemory&); // Disable assignment
uint8_t * m_RecompCode;
uint32_t m_RecompSize;
uint8_t * m_RecompPos;
enum { MaxCompileBufferSize = 0x03C00000 };
enum { InitialCompileBufferSize = 0x00500000 };
enum { IncreaseCompileBufferSize = 0x00100000 };
};