Nodes generated from a flat access should be pinned so that pointer-looking-like integers do not float across safepoints. I think flat stores are good because the CastP2XNode is pinned under the current control, preventing the node from floating above a SafePointNode, and safepoints consume all memory, preventing the StoreNode from floating below them. But for flat loads I'm so sure, while the LoadNode cannot float above safepoints because it has a control input, I don't see why the CastI2N cannot float below a SafePointNode.
- relates to
-
JDK-8375718 [lworld] Emit verification code that CastI2N is really working with a correct narrow oop
-
- Open
-