JDK-8250597 : G1: Improve inlining around trim_queue
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 16
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2020-07-27
  • Updated: 2024-11-20
  • Resolved: 2020-08-13
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 16
16 b12Fixed
Related Reports
Relates :  
Description
G1's processing of evacuation task queues declares and relies on a lot of inlining for performance.  However, some of the inlining boundries might not be the best choices.  In particular, copy_to_survivor_space is out-of-line but called for most tasks.  Meanwhile, the surrounding iteration code is inlined into callers.  
Comments
Hi [~kbarrett] seems the ATTRIBUTE_FLATTEN cause trouble in the link-time-optimization enabled build, see https://bugs.openjdk.org/browse/JDK-8343698 .
12-11-2024

Fix Request (11u): This change improves latency with G1 in some cases and makes trim_queue() code structure closer to current mainline. The original patch does not apply cleanly. However the refactoring is rather simple because it is a rearrangement of code between functions with compiler hints. PR: https://github.com/openjdk/jdk11u-dev/pull/26 The change is isolated and is a set of code moves so the risk is low. Testing: tier1, tier2 on aarch64 and x86_64 in development, the change has been also included in Liberica JDK 11u EA for some time.
25-10-2021

URL: https://hg.openjdk.java.net/jdk/jdk/rev/73778bfbffe3 User: kbarrett Date: 2020-08-13 14:21:17 +0000
13-08-2020