Request for reviews (M): 7039731: arraycopy could use prefetch on SPARC

Vladimir Kozlov vladimir.kozlov at oracle.com
Fri Sep 2 12:06:51 PDT 2011


I think, it is big enough. Java object are mostly small. I think I did an 
experiment back on T2 and did not saw improvement with larger unroll.

Vladimir

Tom Rodriguez wrote:
> On Sep 2, 2011, at 11:54 AM, Vladimir Kozlov wrote:
> 
>> Thank you, Tom
>>
>> Tom Rodriguez wrote:
>>> I think this looks ok.  How did you settle on 64 bytes?
>> What do you mean? disjoint_long_copy_core() already did 64 bytes copy per iteration before these changes. For smaller element's sizes the shifting code is large enough to hide latency from compare and branch so it only copy 16 bytes per iteration.
> 
> I'm just wondering whether 64 is big enough.  It seems kind of small but maybe there's no benefit to larger sizes.
> 
> tom
> 
>> Thanks,
>> Vladimir
>>
>>> tom
>>> On Sep 2, 2011, at 9:57 AM, Vladimir Kozlov wrote:
>>>> http://cr.openjdk.java.net/~kvn/7039731/webrev
>>>>
>>>> 7039731: arraycopy could use prefetch on SPARC
>>>>
>>>> Use BIS and prefetch in arraycopy stubs for Sparc (BIS for T4 only).
>>>>
>>>> Thanks,
>>>> Vladimir
> 


More information about the hotspot-compiler-dev mailing list