JDK-8343056 : C2: Micro-optimize Node lists grow
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 17,21,23,24
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2024-10-25
  • Updated: 2025-03-07
  • Resolved: 2024-10-28
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 24
24 b22Fixed
Related Reports
Duplicate :  
Description
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.
Comments
Changeset: a5ad974b Branch: master Author: Aleksey Shipilev <shade@openjdk.org> Date: 2024-10-28 12:11:51 +0000 URL: https://git.openjdk.org/jdk/commit/a5ad974bec932c63ddc647c9986a513ae32ef663
28-10-2024

A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/21707 Date: 2024-10-25 09:44:23 +0000
25-10-2024