RFR: 8253270: Limit fastdebug inlining in G1 evacuation

Albert Mingkun Yang ayang at openjdk.java.net
Thu Sep 17 09:45:25 UTC 2020


On Thu, 17 Sep 2020 09:17:31 GMT, Stefan Johansson <sjohanss at openjdk.org> wrote:

>> Please review this change to G1 evacuation to prevent inlining of some functions in debug (particularly, fastdebug)
>> builds. This reduces the size of the generated code to stay away from limits encountered with gcc when compiling for
>> aarch64.  As a side benefit, this adds more call frames that might be helpful with debugging.  Testing: tier1
>> Verified expected inlining on linux-x64 and linux-aarch64 in both release and fastdebug builds.
>
> Looks good.

> It also speeds up compilation of that file in fastdebug builds by a noticeable amount.

I see; I believe this is worth mentioning in the comments; sth like these functions should be inlined for performance
reasons in release build, and should *not* be inlined for faster-build reasons in debug build. IOW, this new macro is
not only a workaround for compiler bugs but a deliberate choice for certain purposes, which justifies its long-term
presence.

> The JDK-8253169 failure occurs with gcc9.2, but not with gcc10.2, so may have been fixed already.

I see; thank you for the info.

> Increasing the mininum required gcc version for linux-aarch64 to 10.x doesn't seem reasonable at this time, without a
> much better reason than this.

OK.

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

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



More information about the hotspot-gc-dev mailing list