[lworld] Integrated: 8275825: [lworld] Unnecessary buffering because trivial accessor methods are not C2 compiled

Tobias Hartmann thartmann at openjdk.java.net
Tue Oct 26 12:52:37 UTC 2021


On Tue, 26 Oct 2021 11:31:44 GMT, Tobias Hartmann <thartmann at openjdk.org> wrote:

> Trivial accessor (getter/setter) methods are not C2 compiled but remain at C1 level. This is problematic for methods operating on inline type fields because C1 will not perform scalarization in arguments and returns, leading to frequent buffering. The fix is to not treat these methods as trivial.
> 
> The fix also includes some refactoring and a fix to `AdapterFingerPrint::as_basic_args_string` where we hit a `ShouldNotReachHere` when printing basic types of scalarized inline type argument fields because they are not widened.
> 
> Thanks to @kuksenko for reporting!
> 
> Best regards,
> Tobias

This pull request has now been integrated.

Changeset: 9c886f31
Author:    Tobias Hartmann <thartmann at openjdk.org>
URL:       https://git.openjdk.java.net/valhalla/commit/9c886f310d94a66c3bc481a6484ecee4b8274e65
Stats:     141 lines in 6 files changed: 114 ins; 11 del; 16 mod

8275825: [lworld] Unnecessary buffering because trivial accessor methods are not C2 compiled

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

PR: https://git.openjdk.java.net/valhalla/pull/571



More information about the valhalla-dev mailing list