JDK 9 rampdown and a plea for mercy
Andrew Haley
aph at redhat.com
Mon Mar 13 15:58:56 UTC 2017
On 10/03/17 19:54, Roland Westrelin wrote:
>
>> Roland has had a look at what is happening, and he thinks that this
>> can be fixed fairly quickly: he already has a working patch. Is there
>> any way that we can get it in?
>
> The 3 changes I think are needed are:
>
> - we add MemBarCPUOrder around accesses when we don't know whether they
> are on heap or off heap (i.e. if base == null or not). That hurts
> optimizations a lot. I'd like to enable profiling of arguments at
> calls to unsafe methods so we can have speculative data on base and
> can then null check it if profiling tells us it's not null.
>
> - We add MemBarCPUOrder around all "mismatched" accesses (integer write
> to byte array). That seems too strong to me for arrays. I'd like to
> relax that.
>
> - There's an addressing shape that's not supported by superword that
> prevent vectorization from triggering with ByteBuffers. I think that
> can be fixed.
I think we should concentrate on whatever is the simplest and
least-potentially-breaking change. MemBarCPUOrders wreck the
performance of most HeapByteBuffer writes so if we can get rid of them
we should, IMO. I've certainly heard people say that ByteBuffers are
slow, and I really want that problem to go away. Vectorization is the
cherry on top of the cake, and I can live without it.
Andrew.
More information about the hotspot-dev
mailing list