summaryrefslogtreecommitdiff
path: root/src/core/arm/dyncom
diff options
context:
space:
mode:
authorYuri Kunde Schlesner <yuriks@yuriks.net>2016-08-28 22:21:24 -0700
committerGitHub <noreply@github.com>2016-08-28 22:21:24 -0700
commit474586bc53eb6fda40fb0db23ea1d50d32af28b6 (patch)
tree49df9979f3351f3eac26d8a74e25c5181ba35e6c /src/core/arm/dyncom
parent950f6c0c200fd6a91131f088a68f9605ebd925e8 (diff)
parent1c9612b79155de9538d4b71ff71938786adcea11 (diff)
Merge pull request #1948 from wwylele/cro++
Implemented CRO
Diffstat (limited to 'src/core/arm/dyncom')
-rw-r--r--src/core/arm/dyncom/arm_dyncom.cpp6
-rw-r--r--src/core/arm/dyncom/arm_dyncom.h2
2 files changed, 8 insertions, 0 deletions
diff --git a/src/core/arm/dyncom/arm_dyncom.cpp b/src/core/arm/dyncom/arm_dyncom.cpp
index 13492a08b..ab77da965 100644
--- a/src/core/arm/dyncom/arm_dyncom.cpp
+++ b/src/core/arm/dyncom/arm_dyncom.cpp
@@ -12,6 +12,7 @@
#include "core/arm/dyncom/arm_dyncom.h"
#include "core/arm/dyncom/arm_dyncom_interpreter.h"
#include "core/arm/dyncom/arm_dyncom_run.h"
+#include "core/arm/dyncom/arm_dyncom_trans.h"
#include "core/core.h"
#include "core/core_timing.h"
@@ -23,6 +24,11 @@ ARM_DynCom::ARM_DynCom(PrivilegeMode initial_mode) {
ARM_DynCom::~ARM_DynCom() {
}
+void ARM_DynCom::ClearInstructionCache() {
+ state->instruction_cache.clear();
+ trans_cache_buf_top = 0;
+}
+
void ARM_DynCom::SetPC(u32 pc) {
state->Reg[15] = pc;
}
diff --git a/src/core/arm/dyncom/arm_dyncom.h b/src/core/arm/dyncom/arm_dyncom.h
index 3664fd728..e763abc24 100644
--- a/src/core/arm/dyncom/arm_dyncom.h
+++ b/src/core/arm/dyncom/arm_dyncom.h
@@ -21,6 +21,8 @@ public:
ARM_DynCom(PrivilegeMode initial_mode);
~ARM_DynCom();
+ void ClearInstructionCache() override;
+
void SetPC(u32 pc) override;
u32 GetPC() const override;
u32 GetReg(int index) const override;