RFR: 8268858: Determine register pressure automatically by the number of available registers for allocation [v2]

Vladimir Kozlov kvn at openjdk.java.net
Mon Jun 21 18:54:39 UTC 2021


On Mon, 21 Jun 2021 17:47:29 GMT, Joshua Zhu <jzhu at openjdk.org> wrote:

>> src/hotspot/cpu/x86/x86_64.ad line 1776:
>> 
>>> 1774:   // The following default threshold works best for LCM's register pressure
>>> 1775:   // scheduling on x64.
>>> 1776:   uint default_float_pressure_threshold = _FLOAT_REG_mask.Size() - 2;
>> 
>> Why it works best? Did you tested different values or it is required for correctness? If for correctness - why?
>
> Not for correctness.
> The value was tested and verified in SPECjvm2008 by the author of LCM's register pressure scheduling.
> Therefore I continue to use the original value.
> “I did in fact experiment around with different values for both float and int pressure thresholds.  The versions in changelist work best for x64 and x86.” [1]
> [1] http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2015-September/019005.html

Okay, I got it. So originally for 64-bit FLOATPRESSURE was 14 (16 -2) and that is where `-2` came from.

-------------

PR: https://git.openjdk.java.net/jdk/pull/4505


More information about the hotspot-compiler-dev mailing list