summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2016-04-09 23:42:48 +0200
committerbunnei <bunneidev@gmail.com>2016-04-14 05:04:50 +0200
commit507e0b59896779d0276456c780ad2aefc3dbc28a (patch)
tree22ab065a6afc6de7e6b4e2fb6b17dd4f15a5daac
parentshader_jit_x64: Separate initialization and code generation for readability. (diff)
downloadyuzu-507e0b59896779d0276456c780ad2aefc3dbc28a.tar
yuzu-507e0b59896779d0276456c780ad2aefc3dbc28a.tar.gz
yuzu-507e0b59896779d0276456c780ad2aefc3dbc28a.tar.bz2
yuzu-507e0b59896779d0276456c780ad2aefc3dbc28a.tar.lz
yuzu-507e0b59896779d0276456c780ad2aefc3dbc28a.tar.xz
yuzu-507e0b59896779d0276456c780ad2aefc3dbc28a.tar.zst
yuzu-507e0b59896779d0276456c780ad2aefc3dbc28a.zip
-rw-r--r--src/common/x64/emitter.cpp12
-rw-r--r--src/common/x64/emitter.h1
2 files changed, 13 insertions, 0 deletions
diff --git a/src/common/x64/emitter.cpp b/src/common/x64/emitter.cpp
index 6c8d10ea7..5662f7f86 100644
--- a/src/common/x64/emitter.cpp
+++ b/src/common/x64/emitter.cpp
@@ -455,6 +455,18 @@ void XEmitter::CALL(const void* fnptr)
Write32(u32(distance));
}
+FixupBranch XEmitter::CALL()
+{
+ FixupBranch branch;
+ branch.type = 1;
+ branch.ptr = code + 5;
+
+ Write8(0xE8);
+ Write32(0);
+
+ return branch;
+}
+
FixupBranch XEmitter::J(bool force5bytes)
{
FixupBranch branch;
diff --git a/src/common/x64/emitter.h b/src/common/x64/emitter.h
index 80dfa96d2..a33724146 100644
--- a/src/common/x64/emitter.h
+++ b/src/common/x64/emitter.h
@@ -425,6 +425,7 @@ public:
#undef CALL
#endif
void CALL(const void* fnptr);
+ FixupBranch CALL();
void CALLptr(OpArg arg);
FixupBranch J_CC(CCFlags conditionCode, bool force5bytes = false);