[9] RFR (S): 8152773: C2: LoadNode properties aren't preserved when converting between signed/unsigned variants

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Fri Mar 25 17:38:16 UTC 2016


AndINode::Ideal() converts signed loads to unsigned for some masks. But 
it constructs fresh nodes and doesn't copy LoadNode properties from the 
node being replaced. It means that operations marked as pinned, 
mismatched or unaligned will not be treated as such anymore.

The problem was found by compiler/unsafe/UnsafeGetStableArrayElement.

Testing: failing test, JPRT (in progress), RBT (in progress).

Best regards,
Vladimir Ivanov

More information about the hotspot-compiler-dev mailing list