Backend: Create "backend" folder

similar to the "frontend" folder
This commit is contained in:
BreadFish64 2018-08-14 13:13:47 -05:00 committed by MerryMage
parent 3b13f1eb12
commit 2a65442933
42 changed files with 122 additions and 121 deletions

View file

@ -207,51 +207,51 @@ add_library(dynarmic
if (ARCHITECTURE_x86_64) if (ARCHITECTURE_x86_64)
target_sources(dynarmic PRIVATE target_sources(dynarmic PRIVATE
backend_x64/a32_emit_x64.cpp backend/x64/a32_emit_x64.cpp
backend_x64/a32_emit_x64.h backend/x64/a32_emit_x64.h
backend_x64/a32_interface.cpp backend/x64/a32_interface.cpp
backend_x64/a32_jitstate.cpp backend/x64/a32_jitstate.cpp
backend_x64/a32_jitstate.h backend/x64/a32_jitstate.h
backend_x64/a64_emit_x64.cpp backend/x64/a64_emit_x64.cpp
backend_x64/a64_emit_x64.h backend/x64/a64_emit_x64.h
backend_x64/a64_exclusive_monitor.cpp backend/x64/a64_exclusive_monitor.cpp
backend_x64/a64_interface.cpp backend/x64/a64_interface.cpp
backend_x64/a64_jitstate.cpp backend/x64/a64_jitstate.cpp
backend_x64/a64_jitstate.h backend/x64/a64_jitstate.h
backend_x64/abi.cpp backend/x64/abi.cpp
backend_x64/abi.h backend/x64/abi.h
backend_x64/block_of_code.cpp backend/x64/block_of_code.cpp
backend_x64/block_of_code.h backend/x64/block_of_code.h
backend_x64/block_range_information.cpp backend/x64/block_range_information.cpp
backend_x64/block_range_information.h backend/x64/block_range_information.h
backend_x64/callback.cpp backend/x64/callback.cpp
backend_x64/callback.h backend/x64/callback.h
backend_x64/constant_pool.cpp backend/x64/constant_pool.cpp
backend_x64/constant_pool.h backend/x64/constant_pool.h
backend_x64/devirtualize.h backend/x64/devirtualize.h
backend_x64/emit_x64.cpp backend/x64/emit_x64.cpp
backend_x64/emit_x64.h backend/x64/emit_x64.h
backend_x64/emit_x64_aes.cpp backend/x64/emit_x64_aes.cpp
backend_x64/emit_x64_crc32.cpp backend/x64/emit_x64_crc32.cpp
backend_x64/emit_x64_data_processing.cpp backend/x64/emit_x64_data_processing.cpp
backend_x64/emit_x64_floating_point.cpp backend/x64/emit_x64_floating_point.cpp
backend_x64/emit_x64_packed.cpp backend/x64/emit_x64_packed.cpp
backend_x64/emit_x64_saturation.cpp backend/x64/emit_x64_saturation.cpp
backend_x64/emit_x64_sm4.cpp backend/x64/emit_x64_sm4.cpp
backend_x64/emit_x64_vector.cpp backend/x64/emit_x64_vector.cpp
backend_x64/emit_x64_vector_floating_point.cpp backend/x64/emit_x64_vector_floating_point.cpp
backend_x64/hostloc.cpp backend/x64/hostloc.cpp
backend_x64/hostloc.h backend/x64/hostloc.h
backend_x64/jitstate_info.h backend/x64/jitstate_info.h
backend_x64/oparg.h backend/x64/oparg.h
backend_x64/reg_alloc.cpp backend/x64/reg_alloc.cpp
backend_x64/reg_alloc.h backend/x64/reg_alloc.h
) )
if (WIN32) if (WIN32)
target_sources(dynarmic PRIVATE backend_x64/exception_handler_windows.cpp) target_sources(dynarmic PRIVATE backend/x64/exception_handler_windows.cpp)
else() else()
target_sources(dynarmic PRIVATE backend_x64/exception_handler_generic.cpp) target_sources(dynarmic PRIVATE backend/x64/exception_handler_generic.cpp)
endif() endif()
else() else()
message(FATAL_ERROR "Unsupported architecture") message(FATAL_ERROR "Unsupported architecture")

View file

@ -12,12 +12,12 @@
#include <dynarmic/A32/coprocessor.h> #include <dynarmic/A32/coprocessor.h>
#include "backend_x64/a32_emit_x64.h" #include "backend/x64/a32_emit_x64.h"
#include "backend_x64/a32_jitstate.h" #include "backend/x64/a32_jitstate.h"
#include "backend_x64/abi.h" #include "backend/x64/abi.h"
#include "backend_x64/block_of_code.h" #include "backend/x64/block_of_code.h"
#include "backend_x64/devirtualize.h" #include "backend/x64/devirtualize.h"
#include "backend_x64/emit_x64.h" #include "backend/x64/emit_x64.h"
#include "common/address_range.h" #include "common/address_range.h"
#include "common/assert.h" #include "common/assert.h"
#include "common/bit_util.h" #include "common/bit_util.h"

View file

@ -8,9 +8,9 @@
#include <boost/optional.hpp> #include <boost/optional.hpp>
#include "backend_x64/a32_jitstate.h" #include "backend/x64/a32_jitstate.h"
#include "backend_x64/block_range_information.h" #include "backend/x64/block_range_information.h"
#include "backend_x64/emit_x64.h" #include "backend/x64/emit_x64.h"
#include "dynarmic/A32/a32.h" #include "dynarmic/A32/a32.h"
#include "dynarmic/A32/config.h" #include "dynarmic/A32/config.h"
#include "frontend/A32/location_descriptor.h" #include "frontend/A32/location_descriptor.h"

View file

@ -9,12 +9,12 @@
#include <boost/icl/interval_set.hpp> #include <boost/icl/interval_set.hpp>
#include <fmt/format.h> #include <fmt/format.h>
#include "backend_x64/a32_emit_x64.h" #include "backend/x64/a32_emit_x64.h"
#include "backend_x64/a32_jitstate.h" #include "backend/x64/a32_jitstate.h"
#include "backend_x64/block_of_code.h" #include "backend/x64/block_of_code.h"
#include "backend_x64/callback.h" #include "backend/x64/callback.h"
#include "backend_x64/devirtualize.h" #include "backend/x64/devirtualize.h"
#include "backend_x64/jitstate_info.h" #include "backend/x64/jitstate_info.h"
#include "common/assert.h" #include "common/assert.h"
#include "common/common_types.h" #include "common/common_types.h"
#include "common/llvm_disassemble.h" #include "common/llvm_disassemble.h"
@ -49,6 +49,7 @@ struct Jit::Impl {
A32JitState jit_state; A32JitState jit_state;
BlockOfCode block_of_code; BlockOfCode block_of_code;
A32EmitX64 emitter; A32EmitX64 emitter;
const A32::UserConfig config; const A32::UserConfig config;
// Requests made during execution to invalidate the cache are queued up here. // Requests made during execution to invalidate the cache are queued up here.

View file

@ -4,8 +4,8 @@
* General Public License version 2 or any later version. * General Public License version 2 or any later version.
*/ */
#include "backend_x64/a32_jitstate.h" #include "backend/x64/a32_jitstate.h"
#include "backend_x64/block_of_code.h" #include "backend/x64/block_of_code.h"
#include "common/assert.h" #include "common/assert.h"
#include "common/bit_util.h" #include "common/bit_util.h"
#include "common/common_types.h" #include "common/common_types.h"

View file

@ -9,12 +9,12 @@
#include <dynarmic/A64/exclusive_monitor.h> #include <dynarmic/A64/exclusive_monitor.h>
#include <fmt/ostream.h> #include <fmt/ostream.h>
#include "backend_x64/a64_emit_x64.h" #include "backend/x64/a64_emit_x64.h"
#include "backend_x64/a64_jitstate.h" #include "backend/x64/a64_jitstate.h"
#include "backend_x64/abi.h" #include "backend/x64/abi.h"
#include "backend_x64/block_of_code.h" #include "backend/x64/block_of_code.h"
#include "backend_x64/devirtualize.h" #include "backend/x64/devirtualize.h"
#include "backend_x64/emit_x64.h" #include "backend/x64/emit_x64.h"
#include "common/address_range.h" #include "common/address_range.h"
#include "common/assert.h" #include "common/assert.h"
#include "common/bit_util.h" #include "common/bit_util.h"

View file

@ -9,9 +9,9 @@
#include <map> #include <map>
#include <tuple> #include <tuple>
#include "backend_x64/a64_jitstate.h" #include "backend/x64/a64_jitstate.h"
#include "backend_x64/block_range_information.h" #include "backend/x64/block_range_information.h"
#include "backend_x64/emit_x64.h" #include "backend/x64/emit_x64.h"
#include "dynarmic/A64/a64.h" #include "dynarmic/A64/a64.h"
#include "dynarmic/A64/config.h" #include "dynarmic/A64/config.h"
#include "frontend/A64/location_descriptor.h" #include "frontend/A64/location_descriptor.h"

View file

@ -9,14 +9,14 @@
#include <boost/icl/interval_set.hpp> #include <boost/icl/interval_set.hpp>
#include "backend_x64/a64_emit_x64.h" #include "backend/x64/a64_emit_x64.h"
#include "backend_x64/a64_jitstate.h" #include "backend/x64/a64_jitstate.h"
#include "backend_x64/block_of_code.h" #include "backend/x64/block_of_code.h"
#include "backend_x64/devirtualize.h" #include "backend/x64/devirtualize.h"
#include "backend_x64/jitstate_info.h" #include "backend/x64/jitstate_info.h"
#include "common/assert.h" #include "common/assert.h"
#include "common/scope_exit.h"
#include "common/llvm_disassemble.h" #include "common/llvm_disassemble.h"
#include "common/scope_exit.h"
#include "dynarmic/A64/a64.h" #include "dynarmic/A64/a64.h"
#include "frontend/A64/translate/translate.h" #include "frontend/A64/translate/translate.h"
#include "frontend/ir/basic_block.h" #include "frontend/ir/basic_block.h"

View file

@ -4,7 +4,7 @@
* General Public License version 2 or any later version. * General Public License version 2 or any later version.
*/ */
#include "backend_x64/a64_jitstate.h" #include "backend/x64/a64_jitstate.h"
#include "common/bit_util.h" #include "common/bit_util.h"
#include "frontend/A64/location_descriptor.h" #include "frontend/A64/location_descriptor.h"

View file

@ -19,7 +19,7 @@
#include <xbyak.h> #include <xbyak.h>
#include "backend_x64/abi.h" #include "backend/x64/abi.h"
#include "common/common_types.h" #include "common/common_types.h"
#include "common/iterator_util.h" #include "common/iterator_util.h"

View file

@ -7,7 +7,7 @@
#include <array> #include <array>
#include "backend_x64/hostloc.h" #include "backend/x64/hostloc.h"
namespace Dynarmic::BackendX64 { namespace Dynarmic::BackendX64 {

View file

@ -10,9 +10,9 @@
#include <xbyak.h> #include <xbyak.h>
#include "backend_x64/a32_jitstate.h" #include "backend/x64/a32_jitstate.h"
#include "backend_x64/abi.h" #include "backend/x64/abi.h"
#include "backend_x64/block_of_code.h" #include "backend/x64/block_of_code.h"
#include "common/assert.h" #include "common/assert.h"
namespace Dynarmic::BackendX64 { namespace Dynarmic::BackendX64 {

View file

@ -13,9 +13,9 @@
#include <xbyak.h> #include <xbyak.h>
#include <xbyak_util.h> #include <xbyak_util.h>
#include "backend_x64/callback.h" #include "backend/x64/callback.h"
#include "backend_x64/constant_pool.h" #include "backend/x64/constant_pool.h"
#include "backend_x64/jitstate_info.h" #include "backend/x64/jitstate_info.h"
#include "common/common_types.h" #include "common/common_types.h"
namespace Dynarmic::BackendX64 { namespace Dynarmic::BackendX64 {

View file

@ -9,7 +9,7 @@
#include <boost/icl/interval_map.hpp> #include <boost/icl/interval_map.hpp>
#include <boost/icl/interval_set.hpp> #include <boost/icl/interval_set.hpp>
#include "backend_x64/block_range_information.h" #include "backend/x64/block_range_information.h"
#include "common/common_types.h" #include "common/common_types.h"
namespace Dynarmic::BackendX64 { namespace Dynarmic::BackendX64 {

View file

@ -4,8 +4,8 @@
* General Public License version 2 or any later version. * General Public License version 2 or any later version.
*/ */
#include "backend_x64/block_of_code.h" #include "backend/x64/callback.h"
#include "backend_x64/callback.h" #include "backend/x64/block_of_code.h"
namespace Dynarmic::BackendX64 { namespace Dynarmic::BackendX64 {

View file

@ -6,8 +6,8 @@
#include <cstring> #include <cstring>
#include "backend_x64/block_of_code.h" #include "backend/x64/block_of_code.h"
#include "backend_x64/constant_pool.h" #include "backend/x64/constant_pool.h"
#include "common/assert.h" #include "common/assert.h"
namespace Dynarmic::BackendX64 { namespace Dynarmic::BackendX64 {

View file

@ -9,7 +9,7 @@
#include <cstring> #include <cstring>
#include <memory> #include <memory>
#include "backend_x64/callback.h" #include "backend/x64/callback.h"
#include "common/assert.h" #include "common/assert.h"
#include "common/cast_util.h" #include "common/cast_util.h"
#include "common/common_types.h" #include "common/common_types.h"

View file

@ -6,8 +6,8 @@
#include <unordered_map> #include <unordered_map>
#include "backend_x64/block_of_code.h" #include "backend/x64/block_of_code.h"
#include "backend_x64/emit_x64.h" #include "backend/x64/emit_x64.h"
#include "common/assert.h" #include "common/assert.h"
#include "common/bit_util.h" #include "common/bit_util.h"
#include "common/common_types.h" #include "common/common_types.h"

View file

@ -16,7 +16,7 @@
#include <xbyak_util.h> #include <xbyak_util.h>
#include "backend_x64/reg_alloc.h" #include "backend/x64/reg_alloc.h"
#include "common/address_range.h" #include "common/address_range.h"
#include "common/bit_util.h" #include "common/bit_util.h"
#include "common/fp/rounding_mode.h" #include "common/fp/rounding_mode.h"

View file

@ -4,9 +4,9 @@
* General Public License version 2 or any later version. * General Public License version 2 or any later version.
*/ */
#include "backend_x64/abi.h" #include "backend/x64/abi.h"
#include "backend_x64/block_of_code.h" #include "backend/x64/block_of_code.h"
#include "backend_x64/emit_x64.h" #include "backend/x64/emit_x64.h"
#include "common/common_types.h" #include "common/common_types.h"
#include "common/crypto/aes.h" #include "common/crypto/aes.h"
#include "frontend/ir/microinstruction.h" #include "frontend/ir/microinstruction.h"

View file

@ -7,8 +7,8 @@
#include <array> #include <array>
#include <climits> #include <climits>
#include "backend_x64/block_of_code.h" #include "backend/x64/block_of_code.h"
#include "backend_x64/emit_x64.h" #include "backend/x64/emit_x64.h"
#include "common/common_types.h" #include "common/common_types.h"
#include "common/crypto/crc32.h" #include "common/crypto/crc32.h"
#include "frontend/ir/microinstruction.h" #include "frontend/ir/microinstruction.h"

View file

@ -4,8 +4,8 @@
* General Public License version 2 or any later version. * General Public License version 2 or any later version.
*/ */
#include "backend_x64/block_of_code.h" #include "backend/x64/block_of_code.h"
#include "backend_x64/emit_x64.h" #include "backend/x64/emit_x64.h"
#include "common/assert.h" #include "common/assert.h"
#include "common/common_types.h" #include "common/common_types.h"
#include "frontend/ir/basic_block.h" #include "frontend/ir/basic_block.h"

View file

@ -7,9 +7,9 @@
#include <type_traits> #include <type_traits>
#include <utility> #include <utility>
#include "backend_x64/abi.h" #include "backend/x64/abi.h"
#include "backend_x64/block_of_code.h" #include "backend/x64/block_of_code.h"
#include "backend_x64/emit_x64.h" #include "backend/x64/emit_x64.h"
#include "common/assert.h" #include "common/assert.h"
#include "common/common_types.h" #include "common/common_types.h"
#include "common/fp/fpcr.h" #include "common/fp/fpcr.h"

View file

@ -4,8 +4,8 @@
* General Public License version 2 or any later version. * General Public License version 2 or any later version.
*/ */
#include "backend_x64/block_of_code.h" #include "backend/x64/block_of_code.h"
#include "backend_x64/emit_x64.h" #include "backend/x64/emit_x64.h"
#include "common/assert.h" #include "common/assert.h"
#include "common/common_types.h" #include "common/common_types.h"
#include "frontend/ir/basic_block.h" #include "frontend/ir/basic_block.h"

View file

@ -6,8 +6,8 @@
#include <limits> #include <limits>
#include "backend_x64/block_of_code.h" #include "backend/x64/block_of_code.h"
#include "backend_x64/emit_x64.h" #include "backend/x64/emit_x64.h"
#include "common/assert.h" #include "common/assert.h"
#include "common/bit_util.h" #include "common/bit_util.h"
#include "common/common_types.h" #include "common/common_types.h"

View file

@ -4,8 +4,8 @@
* General Public icense version 2 or any later version. * General Public icense version 2 or any later version.
*/ */
#include "backend_x64/block_of_code.h" #include "backend/x64/block_of_code.h"
#include "backend_x64/emit_x64.h" #include "backend/x64/emit_x64.h"
#include "common/common_types.h" #include "common/common_types.h"
#include "common/crypto/sm4.h" #include "common/crypto/sm4.h"
#include "frontend/ir/microinstruction.h" #include "frontend/ir/microinstruction.h"

View file

@ -9,9 +9,9 @@
#include <functional> #include <functional>
#include <type_traits> #include <type_traits>
#include "backend_x64/abi.h" #include "backend/x64/abi.h"
#include "backend_x64/block_of_code.h" #include "backend/x64/block_of_code.h"
#include "backend_x64/emit_x64.h" #include "backend/x64/emit_x64.h"
#include "common/assert.h" #include "common/assert.h"
#include "common/bit_util.h" #include "common/bit_util.h"
#include "common/common_types.h" #include "common/common_types.h"

View file

@ -9,9 +9,9 @@
#include <type_traits> #include <type_traits>
#include <utility> #include <utility>
#include "backend_x64/abi.h" #include "backend/x64/abi.h"
#include "backend_x64/block_of_code.h" #include "backend/x64/block_of_code.h"
#include "backend_x64/emit_x64.h" #include "backend/x64/emit_x64.h"
#include "common/assert.h" #include "common/assert.h"
#include "common/bit_util.h" #include "common/bit_util.h"
#include "common/fp/fpcr.h" #include "common/fp/fpcr.h"

View file

@ -4,7 +4,7 @@
* General Public License version 2 or any later version. * General Public License version 2 or any later version.
*/ */
#include "backend_x64/block_of_code.h" #include "backend/x64/block_of_code.h"
namespace Dynarmic::BackendX64 { namespace Dynarmic::BackendX64 {

View file

@ -10,7 +10,7 @@
#define WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN
#include <windows.h> #include <windows.h>
#include "backend_x64/block_of_code.h" #include "backend/x64/block_of_code.h"
#include "common/assert.h" #include "common/assert.h"
#include "common/common_types.h" #include "common/common_types.h"

View file

@ -6,7 +6,7 @@
#include <xbyak.h> #include <xbyak.h>
#include "backend_x64/hostloc.h" #include "backend/x64/hostloc.h"
namespace Dynarmic::BackendX64 { namespace Dynarmic::BackendX64 {

View file

@ -11,8 +11,8 @@
#include <fmt/ostream.h> #include <fmt/ostream.h>
#include <xbyak.h> #include <xbyak.h>
#include "backend_x64/abi.h" #include "backend/x64/abi.h"
#include "backend_x64/reg_alloc.h" #include "backend/x64/reg_alloc.h"
#include "common/assert.h" #include "common/assert.h"
namespace Dynarmic::BackendX64 { namespace Dynarmic::BackendX64 {

View file

@ -14,9 +14,9 @@
#include <boost/optional.hpp> #include <boost/optional.hpp>
#include <xbyak.h> #include <xbyak.h>
#include "backend_x64/block_of_code.h" #include "backend/x64/block_of_code.h"
#include "backend_x64/hostloc.h" #include "backend/x64/hostloc.h"
#include "backend_x64/oparg.h" #include "backend/x64/oparg.h"
#include "common/common_types.h" #include "common/common_types.h"
#include "frontend/ir/cond.h" #include "frontend/ir/cond.h"
#include "frontend/ir/microinstruction.h" #include "frontend/ir/microinstruction.h"