Not currently generating instructions, but most of the flow is right up to that point. A lot of work required to refactor the emitter, but wanted to get this checked in.
48 lines
1019 B
C++
48 lines
1019 B
C++
/**
|
|
******************************************************************************
|
|
* 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_BACKEND_H_
|
|
#define XENIA_CPU_BACKEND_H_
|
|
|
|
#include <xenia/common.h>
|
|
|
|
#include <xenia/core/memory.h>
|
|
|
|
|
|
namespace xe {
|
|
namespace cpu {
|
|
|
|
|
|
class JIT;
|
|
class LibraryLoader;
|
|
|
|
namespace sdb {
|
|
class SymbolTable;
|
|
} // namespace sdb
|
|
|
|
|
|
class Backend {
|
|
public:
|
|
virtual ~Backend() {}
|
|
|
|
virtual LibraryLoader* CreateLibraryLoader() = 0;
|
|
|
|
virtual JIT* CreateJIT(xe_memory_ref memory, sdb::SymbolTable* sym_table) = 0;
|
|
|
|
protected:
|
|
Backend() {}
|
|
};
|
|
|
|
|
|
} // namespace cpu
|
|
} // namespace xe
|
|
|
|
|
|
#endif // XENIA_CPU_BACKEND_H_
|