[9] RFR (XS): 8157560: Reserve space for allocation prefetch only in builds that support allocation prefetching
Zoltán Majó
zoltan.majo at oracle.com
Tue May 24 10:13:53 UTC 2016
Hi Ed,
thank you for the feedback!
On 05/24/2016 10:59 AM, Edward Nevill wrote:
> Hi Zoltán,
>
> On Mon, 2016-05-23 at 13:00 +0200, Zoltán Majó wrote:
>> Hi,
>>
>>
>> please review the path for 8157560.
>>
>> https://bugs.openjdk.java.net/browse/JDK-8157560
>>
>> Problem: Every thread-local allocation buffer (TLAB) contains a reserved
>> area to accommodate allocation prefetches (i.e., to make sure that
>> instructions performing allocation prefetch do not cause faults). The
>> reserved area is at the end of the TLAB.
> On certain architectures (eg aarch64) prefetch will not cause faults. On
> these allocating the extra space is redundant.
yes, that is true. As far as I'm aware, faulting instructions are
currently generated only on SPARC (with the combination
-XX:AllocatePrefetchInstr=1 -XX:AllocatePrefetchStyle=3)
> Is it possible to have this predicated on a pd_ variable (eg
> AllocateExtraTLAB which can be true for those arches that require it and
> false for those that don't) rather than having it just conditionalised
> on COMPILER2.
I agree. Making the allocation of the reserved region dependent on a
more precise condition is certainly a good idea. But maybe we don't need
to introduce a new flag for that.
An appropriate condition would probably be:
if (Complevel_highest_tier == CompLevel_full_optimization &&
AllocatePrefetchStyle == 3 && AllocatePrefetchInstr == 1)
What do you (and others) think?
Thanks,
Zoltan
>
> All the best,
> Ed.
>
>
More information about the hotspot-compiler-dev
mailing list