emitter: Add CALL that can be fixed up.

This commit is contained in:
bunnei 2016-04-09 17:42:48 -04:00
parent 1d45b57939
commit 507e0b5989
2 changed files with 13 additions and 0 deletions

View file

@ -455,6 +455,18 @@ void XEmitter::CALL(const void* fnptr)
Write32(u32(distance)); 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 XEmitter::J(bool force5bytes)
{ {
FixupBranch branch; FixupBranch branch;

View file

@ -425,6 +425,7 @@ public:
#undef CALL #undef CALL
#endif #endif
void CALL(const void* fnptr); void CALL(const void* fnptr);
FixupBranch CALL();
void CALLptr(OpArg arg); void CALLptr(OpArg arg);
FixupBranch J_CC(CCFlags conditionCode, bool force5bytes = false); FixupBranch J_CC(CCFlags conditionCode, bool force5bytes = false);