Adding 'x64' backend.

Does not compile.
This commit is contained in:
Ben Vanik
2013-05-23 18:04:12 -07:00
parent 86002b2f44
commit bedf86d259
16 changed files with 5116 additions and 3 deletions

View File

@@ -0,0 +1,54 @@
/**
******************************************************************************
* Xenia : Xbox 360 Emulator Research Project *
******************************************************************************
* Copyright 2013 Ben Vanik. All rights reserved. *
* Released under the BSD license - see LICENSE in the root for more details. *
******************************************************************************
*/
#ifndef XENIA_CPU_X64_X64_JIT_H_
#define XENIA_CPU_X64_X64_JIT_H_
#include <xenia/core.h>
#include <xenia/cpu/jit.h>
#include <xenia/cpu/ppc.h>
#include <xenia/cpu/sdb.h>
#include <xenia/cpu/x64/x64_emitter.h>
#include <jit/jit.h>
namespace xe {
namespace cpu {
namespace x64 {
class X64JIT : public JIT {
public:
X64JIT(xe_memory_ref memory, sdb::SymbolTable* sym_table);
virtual ~X64JIT();
virtual int Setup();
virtual int InitModule(ExecModule* module);
virtual int UninitModule(ExecModule* module);
virtual int Execute(xe_ppc_state_t* ppc_state,
sdb::FunctionSymbol* fn_symbol);
protected:
int InjectGlobals();
jit_context_t context_;
X64Emitter* emitter_;
};
} // namespace x64
} // namespace cpu
} // namespace xe
#endif // XENIA_CPU_X64_X64_JIT_H_