1
0
Fork 0

Fix alignment when incrementing values in the cache

This commit is contained in:
krcroft 2020-04-11 13:43:06 -07:00 committed by Patryk Obara
parent 86249ec821
commit 34d46ecd7f
2 changed files with 13 additions and 6 deletions

View file

@ -199,9 +199,11 @@ static INLINE void decode_increase_wmapmask(Bitu size) {
}
}
switch (size) {
case 1 : activecb->cache.wmapmask[mapidx]+=0x01; break;
case 2 : (*(Bit16u*)&activecb->cache.wmapmask[mapidx])+=0x0101; break;
case 4 : (*(Bit32u*)&activecb->cache.wmapmask[mapidx])+=0x01010101; break;
case 1: activecb->cache.wmapmask[mapidx] += 0x01; break;
case 2: host_addw(activecb->cache.wmapmask + mapidx, 0x0101); break;
case 4: host_addd(activecb->cache.wmapmask + mapidx, 0x01010101); break;
}
}

View file

@ -294,9 +294,14 @@ static void INLINE decode_increase_wmapmask(Bitu size) {
// update mask entries
switch (size) {
case 1 : activecb->cache.wmapmask[mapidx]+=0x01; break;
case 2 : (*(Bit16u*)&activecb->cache.wmapmask[mapidx])+=0x0101; break;
case 4 : (*(Bit32u*)&activecb->cache.wmapmask[mapidx])+=0x01010101; break;
}
case 2:
host_addw(activecb->cache.wmapmask + mapidx, 0x0101);
break;
case 4:
host_addd(activecb->cache.wmapmask + mapidx, 0x01010101);
break;
}
}
// fetch a byte, val points to the code location if possible,