From: Gwenole B. <gb...@di...> - 2002-03-22 22:38:22
|
Hi, Christian, the FlushCodeCache() call for the BlockMove EmulOp looks suspicious to me. IMHO, register usage for BlockMove is the following: D0: byte count A0: source address A1: destination address JIT compiler is not affected since we used to soft flushing all the cache, anyway. What about the following ? Index: emul_op.cpp =================================================================== RCS file: /cvs/BasiliskII/src/emul_op.cpp,v retrieving revision 1.29 diff -u -r1.29 emul_op.cpp --- emul_op.cpp 18 Jan 2002 21:06:03 -0000 1.29 +++ emul_op.cpp 22 Mar 2002 22:33:16 -0000 @@ -532,7 +532,7 @@ #endif case M68K_EMUL_OP_BLOCK_MOVE: // BlockMove() cache flushing - FlushCodeCache(Mac2HostAddr(r->a[0]), r->a[1]); + FlushCodeCache(Mac2HostAddr(r->a[1]), r->d[0]); break; case M68K_EMUL_OP_DEBUGUTIL: |