RFR: 8341697: C2: Register allocation inefficiency in tight loop [v4]

Rene Schwietzke duke at openjdk.org
Mon Oct 14 06:41:12 UTC 2024


On Sat, 12 Oct 2024 10:52:11 GMT, Quan Anh Mai <qamai at openjdk.org> wrote:

>> Quan Anh Mai has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   add LoopAwaredSpilling flag, refine implementation
>
> New benchmark results:
> 
>                                                                    Before                 After
>     Benchmark                           (prob)  Mode  Cnt       Score      Error      Score     Error  Units
>     LoopCounterBench.field_ret             N/A  avgt    5     425.678 ±    5.086    419.819 ±   1.965  ns/op
>     LoopCounterBench.localVar_ret          N/A  avgt    5    1126.937 ±    1.078    325.651 ±   5.309  ns/op
>     LoopCounterBench.reloadAtEntry_ret     N/A  avgt    5     582.465 ±    2.649    491.421 ±   0.909  ns/op
>     LoopCounterBench.spillUncommon_ret     0.0  avgt    5     490.901 ±    5.505    490.981 ±   2.118  ns/op
>     LoopCounterBench.spillUncommon_ret    0.01  avgt    5    2491.557 ±    4.837   1912.170 ±  19.208  ns/op
>     LoopCounterBench.spillUncommon_ret     0.1  avgt    5   21316.571 ±   88.198  10518.618 ± 183.380  ns/op
>     LoopCounterBench.spillUncommon_ret     0.2  avgt    5   42095.064 ±  210.995  19908.240 ± 313.108  ns/op
>     LoopCounterBench.spillUncommon_ret     0.5  avgt    5  113825.492 ± 1637.428  48194.341 ± 719.049  ns/op

Sure thing, I will give it a try in the coming days. @merykitty 's results look promising.

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

PR Comment: https://git.openjdk.org/jdk/pull/21472#issuecomment-2409100311


More information about the hotspot-compiler-dev mailing list