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

Paul Sandoz paul.sandoz at oracle.com
Wed Mar 4 15:51:03 UTC 2015


On Mar 4, 2015, at 4:35 PM, Andrew Haley <aph at redhat.com> wrote:

> 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.  

In that case maybe they don't carry their weight. Some (i am presuming static ) helper methods as you suggest in your previous email seem reasonable in that context.


> 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?
> 

Yeah, it seems hypothetical to me, but i lack knowledge in this area.

Paul.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 841 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20150304/667faeee/signature.asc>


More information about the hotspot-compiler-dev mailing list