RFR(S): 8136473: failed: no mismatched stores, except on raw memory: StoreB StoreI
roland.westrelin at oracle.com
Wed Sep 16 17:23:00 UTC 2015
Thanks for looking at this, Vladimir.
> Hmm, so you just relaxed the assert. You may need to fix EA too because it also checks for matching types(memory sizes).
> I remember we had problem with RAW accesses back when jsr292 was implemented. So EA gave up on RAW access and marks allocations as escaping. Also may be superword/vectorization will be affected.
> In general it is very bad for C2 to have different memory on the same non-RAW memory.
It already happens with vectorization. Do you see another solution (rather than relaxing the assert)? Putting a MemBarCPUOrder before and after the unaligned store?
> Modify test to make array scalar replaceable and see. Also try vectorization.
> On 9/16/15 1:35 AM, Roland Westrelin wrote:
>> The problem here is that intrinsified Unsafe.Put*Unaligned methods may cause mismatched stores to be on the same memory slice.
More information about the hotspot-compiler-dev