x86emitter: jump: use base type directly

which fix 16 bits call (no prefix)
This commit is contained in:
Gregory Hainaut 2016-01-17 00:02:21 +01:00
parent 968af6148e
commit 395d43fd9c
2 changed files with 4 additions and 10 deletions

View File

@ -43,11 +43,8 @@ struct xImpl_JmpCall
{
bool isJmp;
void operator()( const xRegister32& absreg ) const;
void operator()( const xIndirect32& src ) const;
void operator()( const xRegister16& absreg ) const;
void operator()( const xIndirect16& src ) const;
void operator()( const xRegisterInt& absreg ) const;
void operator()( const xIndirect32orLess& src ) const;
// Special form for calling functions. This form automatically resolves the
// correct displacement based on the size of the instruction being generated.

View File

@ -33,11 +33,8 @@
namespace x86Emitter {
void xImpl_JmpCall::operator()( const xRegister32& absreg ) const { xOpWrite( 0x00, 0xff, isJmp ? 4 : 2, absreg ); }
void xImpl_JmpCall::operator()( const xIndirect32& src ) const { xOpWrite( 0x00, 0xff, isJmp ? 4 : 2, src ); }
void xImpl_JmpCall::operator()( const xRegister16& absreg ) const { xOpWrite( 0x66, 0xff, isJmp ? 4 : 2, absreg ); }
void xImpl_JmpCall::operator()( const xIndirect16& src ) const { xOpWrite( 0x66, 0xff, isJmp ? 4 : 2, src ); }
void xImpl_JmpCall::operator()( const xRegisterInt& absreg ) const { xOpWrite( 0, 0xff, isJmp ? 4 : 2, absreg ); }
void xImpl_JmpCall::operator()( const xIndirect32orLess& src ) const { xOpWrite( 0, 0xff, isJmp ? 4 : 2, src ); }
const xImpl_JmpCall xJMP = { true };
const xImpl_JmpCall xCALL = { false };