RFR(XS): 8153292: AllocateInstancePrefetchLines>AllocatePrefetchLines can trigger out-of-heap prefetching
zoltan.majo at oracle.com
Wed Apr 20 15:01:18 UTC 2016
please review the patch for 8153292.
Problem: To avoid out-of-heap accesses by instructions prefetching data,
TLABs have a reserved area. The size of that area is supposed to be
large enough to accommodate possible prefetching.
The amount of prefetched data is controlled separately for instance and
array allocations (by the AllocateInstancePrefetchLines and
AllocatePrefetchLines flags). The size of the reserved area in the TLAB
is, however, determined only based on AllocatePrefetchLines. As a
result, AllocateInstancePrefetchLines > AllocatePrefetchLines can
trigger out-of-heap memory accesses.
Solution: Set the size of the reserved TLAB area to the MAX of both flags.
- local testing on a solaris_sparc machine.
More information about the hotspot-compiler-dev