Unsafe.{get,put}-X-Unaligned; Efficient array comparison intrinsics

Andrew Haley aph at redhat.com
Wed Mar 4 15:35:22 UTC 2015

On 03/04/2015 03:07 PM, Paul Sandoz wrote:

> If so then presumably that would be applicable to both get* and
> set*?

I think so.

> Could those boolean accepting methods be intrinsified or would they
> always be Java only?

Sure, but I've been wondering if it's necessary.  Suppose we had some
hypothetical machine which is natively little-endian and has big- and
little-endian unaligned stores.  We could match a big-endian store
with something like

instruct bigEndianStoreL(iRegL src, memory mem)
  match(Set mem (StoreL mem (ReverseBytesI src)));
  format %{ "str.be  $src, $mem\t" %}

so maybe there aren't any architectures where we'd gain any advantage
from intrinsifying such loads and stores?


More information about the hotspot-compiler-dev mailing list