Minor changes.

Fixed bug when using label as a memory operand.
This commit is contained in:
kobalicekp
2014-02-23 23:04:09 +01:00
parent 5ea8bc00c2
commit 8d2b18ccb0
3 changed files with 8 additions and 7 deletions

View File

@@ -59,8 +59,8 @@ static const char* errorMessages[] = {
"Unknown error"
};
const char* ErrorUtil::asString(Error err) {
return errorMessages[IntUtil::iMin<Error>(err, kErrorCount)];
const char* ErrorUtil::asString(Error e) {
return errorMessages[IntUtil::iMin<Error>(e, kErrorCount)];
}
} // AsmJit

View File

@@ -73,11 +73,11 @@ ASMJIT_ENUM(kArch) {
#if defined(ASMJIT_HOST_X86)
kArchHost = kArchX86,
#endif // ASMJIT_HOST
#endif // ASMJIT_HOST_X86
#if defined(ASMJIT_HOST_X64)
kArchHost = kArchX86,
#endif // ASMJIT_HOST
kArchHost = kArchX64,
#endif // ASMJIT_HOST_X64
#if defined(ASMJIT_HOST_ARM)
kArchHost = kArchArm,

View File

@@ -3143,14 +3143,15 @@ _EmitX86M:
// Size override prefix.
if (Arch == kArchX86) {
if (!rmMem->hasGpdBase())
if (rmMem->getMemType() != kMemTypeLabel && !rmMem->hasGpdBase())
EMIT_BYTE(0x67);
}
else {
if (rmMem->hasGpdBase())
if (rmMem->getMemType() != kMemTypeLabel && rmMem->hasGpdBase())
EMIT_BYTE(0x67);
}
// Segment override prefix.
if (rmMem->hasSegment()) {
EMIT_BYTE(x86SegmentPrefix[rmMem->getSegment()]);