allocation prefetching with block initializing instructions

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue Aug 16 08:13:30 PDT 2011


Martin,

I have next RFE which I am working on. I do use BIS in ClearArray. I still need to figure out how to use it for zeroing 
new objects in runtime: pd_fill_to_aligned_words() in copy_sparc.hpp which is used for big arrays.

7059037: Use BIS for zeroing on T4

Regards,
Vladimir

On 8/16/11 3:31 AM, Doerr, Martin wrote:
> Hello everybody,
> I have read your emails about the allocation prefetching on SPARC.
> Avoiding fetching the cache lines from memory seems to make a lot of sense.
> However, it should be possible to use these block initializing stores to replace
> the ClearArray nodes in addition. We are loosing quite some time in these
> clear loops.
> Have you guys already thought about this?
> I had played with the ZeroTLAB switch some time ago, but the TLABs appear to
> get too large so clearing them at once doesn't perform well. But if we only
> clear to something like a prefetch watermark and get rid of the ClearArray
> we should get better performance. We only have to make sure that we always clear
> up to some distance behind the object being allocated.
> I'm looking forward to read your comments. Kind regards,
> Martin D


More information about the hotspot-compiler-dev mailing list