RFR(S): 8136473: failed: no mismatched stores, except on raw memory: StoreB StoreI

Roland Westrelin roland.westrelin at oracle.com
Wed Sep 16 10:57:45 UTC 2015


Hi Paul,

Thanks for taking a look at this.

> Excuse my ignorance here but is it necessary to check for Op_StoreB in the following?

You’re right. Checking for Op_StoreB is a mistake. I’ll remove it.

Roland.

> 
> 2366 #ifdef ASSERT
> 2367 static bool maybe_unaligned_store(Node* n) {
> 2368   StoreNode* st = n->as_Store();
> 2369   return st->Opcode() == Op_StoreL ||
> 2370     st->Opcode() == Op_StoreI ||
> 2371     st->Opcode() == Op_StoreB ||
> 2372     st->Opcode() == Op_StoreC;
> 2373 }
> 2374 #endif
> 
> Paul.
> 
> On 16 Sep 2015, at 10:35, Roland Westrelin <roland.westrelin at oracle.com> wrote:
> 
>> http://cr.openjdk.java.net/~roland/8136473/webrev.00/
>> 
>> The problem here is that intrinsified Unsafe.Put*Unaligned methods may cause mismatched stores to be on the same memory slice.
>> 
>> Roland.
> 



More information about the hotspot-compiler-dev mailing list