diff options
| author | skidau <skidau@gmail.com> | 2014-10-07 13:26:23 +1100 |
|---|---|---|
| committer | skidau <skidau@gmail.com> | 2014-10-07 13:26:23 +1100 |
| commit | b3b34d16e6591cfe3aa879b2d4643c1415424a3b (patch) | |
| tree | 6db8662f202359d6061179976bf65a53dba46694 /Source/Core/Common/x64Analyzer.cpp | |
| parent | 8fdf43109f69cdf0a8219b1232ad3043987beb00 (diff) | |
| parent | c7208318fb9f9fd535f0f78c7c2956d874ef5b98 (diff) | |
Merge pull request #1218 from hthh/trampolinecaching
JIT: reuse trampolines when possible
Diffstat (limited to 'Source/Core/Common/x64Analyzer.cpp')
| -rw-r--r-- | Source/Core/Common/x64Analyzer.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Source/Core/Common/x64Analyzer.cpp b/Source/Core/Common/x64Analyzer.cpp index 5be91ea585..7e8b40e6cd 100644 --- a/Source/Core/Common/x64Analyzer.cpp +++ b/Source/Core/Common/x64Analyzer.cpp @@ -223,3 +223,19 @@ bool DisassembleMov(const unsigned char *codePtr, InstructionInfo *info) info->instructionSize = (int)(codePtr - startCodePtr); return true; } + +bool InstructionInfo::operator==(const InstructionInfo &other) const +{ + return operandSize == other.operandSize && + instructionSize == other.instructionSize && + regOperandReg == other.regOperandReg && + otherReg == other.otherReg && + scaledReg == other.scaledReg && + zeroExtend == other.zeroExtend && + signExtend == other.signExtend && + hasImmediate == other.hasImmediate && + isMemoryWrite == other.isMemoryWrite && + byteSwap == other.byteSwap && + immediate == other.immediate && + displacement == other.displacement; +} |
