On 02/17/2014 08:53 AM, Jeroen Frijters wrote: > Hi Rémi, > > I believe this is not actually safe. There is no guarantee that when > SwitchPoint.invalidateAll() returns that all calls to GET_BYTE or PUT_BYTE > that were in flight have completed. > > Regards, > Jeroen
yes, you're right, I've forgotten to say that this code is Hotspot specific. So let me re-phrase, I believe this code is safe if the VM is Hotspot because invalidation is done at a safepoint so no GET_BYTE/PUT_BYTE can be in flight. Rémi > >> -----Original Message----- >> From: mlvm-dev-boun...@openjdk.java.net [mailto:mlvm-dev- >> boun...@openjdk.java.net] On Behalf Of Remi Forax >> Sent: Sunday, February 16, 2014 22:54 >> To: Da Vinci Machine Project >> Subject: JIT and invalidation >> >> Hi John, Hi Christian, Hi all, >> I don't know if you can test this little code, but when I run it on my >> laptop (linux 64bits) it can terminate in 45s or 2 minutes, it seems >> that it depends on the order the JIT compiles the method handles. >> https://gist.github.com/forax/9041030 >> >> Sometimes it also PrintCompilation can also prints 'COMPILE SKIPPED: >> invalid non-klass dependency'. >> >> BTW, the code allows to safely* map and unmap a 32G file without not >> always paying the cost of the runtime check that test if the array is >> unmaped or not :) >> >> cheers, >> Rémi >> * I believe. >> _______________________________________________ >> mlvm-dev mailing list >> mlvm-dev@openjdk.java.net >> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev _______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev