RFR (M): 8000805: JMM issue: short loads are non-atomic
john.r.rose at oracle.com
Mon Oct 22 14:01:53 PDT 2012
That's much better, even though it's a little bit weaker.
In the long term, we should think about adding bitwise liveness analysis into the system, instead of using pattern matching. If the live bits out of a LoadB are contained in 0xFF, then we can transform to LoadUB.
Doing this would require a type system that can represent per-bit liveness, and an analysis phase that pushes such types backwards through the graph. That is a straightforward extension of our existing type system, augmenting the existing arithmetic range endpoints with corresponding bit masks. Might be a good pet project for someone.
On Oct 22, 2012, at 8:09 AM, Vladimir Ivanov wrote:
> Updated version: http://cr.openjdk.java.net/~vlivanov/8000805/webrev.01/
> Removed changes in AD files and perform transforms during IGVN phase
> when Load has a single user.
More information about the hotspot-compiler-dev