RFR (M): 8000805: JMM issue: short loads are non-atomic

John Rose 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.

— John

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 mailing list