Integrated: 8343056: C2: Micro-optimize Node lists grow

Aleksey Shipilev shade at openjdk.org
Mon Oct 28 12:17:54 UTC 2024


On Fri, 25 Oct 2024 09:44:23 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

> Seen this in Leyden profiles, but it is a generic issue. The profiles show `Node::grow` and `VectorSet::grow` as hot methods. The methods are small, and since they are implementing doubling-the-array scheme, we often exit early without actually growing. Outlining the actual growing part from the capacity check would allow inlining the common case.
> 
> I'll put some performance data in the comments.
> 
> Additional testing:
>  - [x] Linux x86_64 server fastdebug, `tier1`

This pull request has now been integrated.

Changeset: a5ad974b
Author:    Aleksey Shipilev <shade at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/a5ad974bec932c63ddc647c9986a513ae32ef663
Stats:     27 lines in 4 files changed: 14 ins; 6 del; 7 mod

8343056: C2: Micro-optimize Node lists grow

Reviewed-by: kvn, redestad

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

PR: https://git.openjdk.org/jdk/pull/21707


More information about the hotspot-dev mailing list