ADC Home > Reference Library > Technical Q&As > Hardware & Drivers > Apple Hardware >
Important: The information in this document is Not Recommended and should not be used for new development.
Current information on this Reference Library topic can be found here:
|
Q: Our 68K application is crashing on Macs that have the new Dynamic Recompiling
(DR) emulator. If we call A: This is not a bug in the DR emulator. The DR emulator now has an instruction cache that need to be flushed, just like the 68020, 030, and 040. DR emulator reports itself as being a 68020 processor, just like the old emulator, but it now has an instruction cache that is variable in size (instead of the fixed sized caches on the real processors). Some applications fail to flush the instruction cache either because they did not realize it had one, or their testing on real 680x0 processors showed that flushing the cache was not needed because the cache was naturally flushed by the amount of code going through it. The fix to the crashing is to flush the cache. If you have code that conditionally flushes the cache, or you do anything that might leave the cache in an inconsistent state, unconditionally flush the cache. When running on a PowerPC-based Macintosh in PPC or 68K mode, the best way to
flush the instruction cache is to call However, you may need to flush both caches in PPC code if you are modifying
code since the code is often treated as data and is therefore in the data cache
so flushing only the instruction cache does no good (the instruction is stuck
in the data cache). For this reason Before calling any of these calls (except You should call See Also:
|
|