> if your JIT VM forces periodic cache writes to > RAM (Not every time but enough times to ensure > some sort of coherence if the cache...
Actually, a little-known fact (surprise to me anyway) about the Java specification is that it only guarantees a cache sync when starting or finishing a synchronized block, or when reading or writing a variable marked as volatile. (See Doug Lea's book.) Bugs like this are nearly impossible to test for. I wonder how much Java code will break on multi-CPU machines?
> if your JIT VM forces periodic cache writes to
> RAM (Not every time but enough times to ensure
> some sort of coherence if the cache...
Actually, a little-known fact (surprise to me anyway) about the Java specification is that it
only guarantees a cache sync when starting or finishing a synchronized block, or when reading or writing a variable marked as volatile. (See Doug Lea's book.) Bugs like this are nearly impossible to test for. I wonder how much Java code will break on multi-CPU machines?