JIT - Just In TimeΒΆ
UAE can emulate the main CPU at considerably more speed than what any classic Amiga was capable of. Still, a huge speedup can be achieved by activating the JIT compiler in the CPU tab.
A description of what the settings will cause the JIT compiler to do:
Cache Size: The size (in MB) the JIT compiler uses to store pre-translated code. When this becomes full, or when the OS issues a flush icache instruction, this gets completely emptied, and then refilled during execution. Setting it to 0 will disable the JIT compiler.
FPU Support: If this is enabled, the JIT compiler will be used for the most commonly used FPU instructions. Unchecking this option will disable JIT-compiling for the FPU.
Constant Jump: If this is enabled,
unconditional branches will not end a block. Effectively,
UAE-JIT compiles "through" them. Generally, that's a good idea,
as it improves performance.
However, it makes soft cache flushing impossible for some
blocks, so if you experience lots and lots of soft cache
flushes (e.g. when using a Mac emulator), you might try
disabling it and see whether it does any better.
Hard Flush: If this is unchecked, an OS induced icache flush doesn't actually empty the cache, but instead a checksum will be used to check whether blocks have to be discarded. You'll probably want to leave this at its default (otherwise lots of stuff, like the OS, gets translated over and over).
Direct, Indirect: These describe how
aggressive to be when it comes to accessing Amiga memory. If
you choose "Direct", the emulation will be very aggressive. If
you choose "Indirect", the emulation will always use the slower
but safe method.
"Direct" is the default, and there is rarely a reason to
change it. "Indirect" is mainly useful for debugging, for
example with WinUAEnforcer.
No Flags: Whether to optimize away flag generation when it isn't needed. There really shouldn't be any reason why you'd want to disable this option. If you find something that works with this option off and doesn't with it on, it most likely is a bug and you should report it.
Catch unexpected exceptions If there is an error, then this option will catch it to avoid a system crash.