[9] RFR(S): 8140390: Char stores/loads accessing byte arrays must be marked as unmatched

Tobias Hartmann tobias.hartmann at oracle.com
Fri Nov 20 08:54:22 UTC 2015

Hi John,

thanks for the review.

On 19.11.2015 21:07, John Rose wrote:
> On Nov 18, 2015, at 7:59 AM, Roland Westrelin <roland.westrelin at oracle.com> wrote:
>>> http://cr.openjdk.java.net/~thartmann/8140390/webrev.00/
>> That looks good to me.
>> Roland.
> It looks good to me, too, but I'm not fully comfortable with three booleans in a row.
> The API is starting to look like a Turing Tape.  Let's file a cleanup bug on it,
> to collapse those three booleans into a single bitmask, with named components,
> something like LoadNode::ControlDependency.  (MemNode::Mismatch=4, etc.)

I agree that a bitmask would be better here. I filed JDK-8143385 to keep track of this.

> More substantively, Panama will eventually make mismatched accesses very
> common, as we overlay C-like data structures inside of byte[] and long[] carriers,
> or inside flat carrier objects (e.g., Long4 with fields long c0,c1,c2,c3).
> Have we got a robust solution to keep the memory references straight,
> when we are using C-like viewing casts on carrier bits?

I'm not sure about this. I think Vladimir I. is prototyping this at the moment.


More information about the hotspot-compiler-dev mailing list