fixed potential exception pb on cmpxchg

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@552 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
bellard 2004-01-18 21:44:40 +00:00
parent debf7a7c7e
commit 1e4fe7cee2

View File

@ -442,12 +442,12 @@ void OPPROTO glue(glue(op_cmpxchg, MEM_SUFFIX), _T0_T1_EAX_cc)(void)
dst = EAX - T0; dst = EAX - T0;
if ((DATA_TYPE)dst == 0) { if ((DATA_TYPE)dst == 0) {
T0 = T1; T0 = T1;
#ifdef MEM_WRITE
glue(st, MEM_SUFFIX)((uint8_t *)A0, T0);
#endif
} else { } else {
EAX = (EAX & ~DATA_MASK) | (T0 & DATA_MASK); EAX = (EAX & ~DATA_MASK) | (T0 & DATA_MASK);
} }
#ifdef MEM_WRITE
glue(st, MEM_SUFFIX)((uint8_t *)A0, T0);
#endif
CC_SRC = src; CC_SRC = src;
CC_DST = dst; CC_DST = dst;
FORCE_RET(); FORCE_RET();