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" "Unknown error"
}; };
const char* ErrorUtil::asString(Error err) { const char* ErrorUtil::asString(Error e) {
return errorMessages[IntUtil::iMin<Error>(err, kErrorCount)]; return errorMessages[IntUtil::iMin<Error>(e, kErrorCount)];
} }
} // AsmJit } // AsmJit

View File

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

View File

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