Backend/A64: add jitstate_info.h
This commit is contained in:
parent
7905eeb94b
commit
b8369d77ac
@ -328,6 +328,7 @@ elseif(ARCHITECTURE_Aarch64)
|
||||
backend/A64/emitter/a64_emitter.h
|
||||
backend/A64/emitter/arm_common.h
|
||||
backend/A64/emitter/code_block.h
|
||||
backend/A64/jitstate_info.h
|
||||
)
|
||||
else()
|
||||
message(FATAL_ERROR "Unsupported architecture")
|
||||
|
48
src/backend/A64/jitstate_info.h
Normal file
48
src/backend/A64/jitstate_info.h
Normal file
@ -0,0 +1,48 @@
|
||||
/* This file is part of the dynarmic project.
|
||||
* Copyright (c) 2018 MerryMage
|
||||
* This software may be used and distributed according to the terms of the GNU
|
||||
* General Public License version 2 or any later version.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <cstddef>
|
||||
|
||||
#include "common/common_types.h"
|
||||
|
||||
namespace Dynarmic::BackendA64 {
|
||||
|
||||
struct JitStateInfo {
|
||||
template <typename JitStateType>
|
||||
JitStateInfo(const JitStateType&)
|
||||
: offsetof_cycles_remaining(offsetof(JitStateType, cycles_remaining))
|
||||
, offsetof_cycles_to_run(offsetof(JitStateType, cycles_to_run))
|
||||
, offsetof_save_host_MXCSR(offsetof(JitStateType, save_host_MXCSR))
|
||||
, offsetof_guest_MXCSR(offsetof(JitStateType, guest_MXCSR))
|
||||
, offsetof_rsb_ptr(offsetof(JitStateType, rsb_ptr))
|
||||
, rsb_ptr_mask(JitStateType::RSBPtrMask)
|
||||
, offsetof_rsb_location_descriptors(offsetof(JitStateType, rsb_location_descriptors))
|
||||
, offsetof_rsb_codeptrs(offsetof(JitStateType, rsb_codeptrs))
|
||||
, offsetof_CPSR_nzcv(offsetof(JitStateType, CPSR_nzcv))
|
||||
, offsetof_FPSCR_IDC(offsetof(JitStateType, FPSCR_IDC))
|
||||
, offsetof_FPSCR_UFC(offsetof(JitStateType, FPSCR_UFC))
|
||||
, offsetof_fpsr_exc(offsetof(JitStateType, fpsr_exc))
|
||||
, offsetof_fpsr_qc(offsetof(JitStateType, fpsr_qc))
|
||||
{}
|
||||
|
||||
const size_t offsetof_cycles_remaining;
|
||||
const size_t offsetof_cycles_to_run;
|
||||
const size_t offsetof_save_host_MXCSR;
|
||||
const size_t offsetof_guest_MXCSR;
|
||||
const size_t offsetof_rsb_ptr;
|
||||
const size_t rsb_ptr_mask;
|
||||
const size_t offsetof_rsb_location_descriptors;
|
||||
const size_t offsetof_rsb_codeptrs;
|
||||
const size_t offsetof_CPSR_nzcv;
|
||||
const size_t offsetof_FPSCR_IDC;
|
||||
const size_t offsetof_FPSCR_UFC;
|
||||
const size_t offsetof_fpsr_exc;
|
||||
const size_t offsetof_fpsr_qc;
|
||||
};
|
||||
|
||||
} // namespace Dynarmic::BackendA64
|
Loading…
x
Reference in New Issue
Block a user