summaryrefslogtreecommitdiff
path: root/src/core/arm/dyncom
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/arm/dyncom')
-rw-r--r--src/core/arm/dyncom/arm_dyncom_interpreter.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/core/arm/dyncom/arm_dyncom_interpreter.cpp b/src/core/arm/dyncom/arm_dyncom_interpreter.cpp
index d8a708b9e..c3dba8882 100644
--- a/src/core/arm/dyncom/arm_dyncom_interpreter.cpp
+++ b/src/core/arm/dyncom/arm_dyncom_interpreter.cpp
@@ -9,6 +9,7 @@
9#include <unordered_map> 9#include <unordered_map>
10 10
11#include "common/logging/log.h" 11#include "common/logging/log.h"
12#include "common/profiler.h"
12 13
13#include "core/mem_map.h" 14#include "core/mem_map.h"
14#include "core/hle/hle.h" 15#include "core/hle/hle.h"
@@ -20,6 +21,9 @@
20#include "core/arm/skyeye_common/armmmu.h" 21#include "core/arm/skyeye_common/armmmu.h"
21#include "core/arm/skyeye_common/vfp/vfp.h" 22#include "core/arm/skyeye_common/vfp/vfp.h"
22 23
24Common::Profiling::TimingCategory profile_execute("DynCom::Execute");
25Common::Profiling::TimingCategory profile_decode("DynCom::Decode");
26
23enum { 27enum {
24 COND = (1 << 0), 28 COND = (1 << 0),
25 NON_BRANCH = (1 << 1), 29 NON_BRANCH = (1 << 1),
@@ -3569,6 +3573,8 @@ typedef struct instruction_set_encoding_item ISEITEM;
3569extern const ISEITEM arm_instruction[]; 3573extern const ISEITEM arm_instruction[];
3570 3574
3571static int InterpreterTranslate(ARMul_State* cpu, int& bb_start, addr_t addr) { 3575static int InterpreterTranslate(ARMul_State* cpu, int& bb_start, addr_t addr) {
3576 Common::Profiling::ScopeTimer timer_decode(profile_decode);
3577
3572 // Decode instruction, get index 3578 // Decode instruction, get index
3573 // Allocate memory and init InsCream 3579 // Allocate memory and init InsCream
3574 // Go on next, until terminal instruction 3580 // Go on next, until terminal instruction
@@ -3641,6 +3647,8 @@ static bool InAPrivilegedMode(ARMul_State* core) {
3641} 3647}
3642 3648
3643unsigned InterpreterMainLoop(ARMul_State* state) { 3649unsigned InterpreterMainLoop(ARMul_State* state) {
3650 Common::Profiling::ScopeTimer timer_execute(profile_execute);
3651
3644 #undef RM 3652 #undef RM
3645 #undef RS 3653 #undef RS
3646 3654