JDK-8279515 : C1: No inlining through invokedynamic and invokestatic call sites when resolved class is not linked
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 17,18
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2022-01-05
  • Updated: 2022-03-10
  • Resolved: 2022-01-10
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 17 JDK 18 JDK 19
17.0.4-oracleFixed 18 b31Fixed 19Fixed
Related Reports
Duplicate :  
Relates :  
Relates :  
Relates :  
Description
JDK-8267806 introduced a regression where invokedynamic call site linker can be left not inlined by C1 (even though it is marked with @ForceInline annotation):
 
  @ 3   java.lang.invoke.Invokers$Holder::linkToTargetMethod (9 bytes)   not inlineable

Before JDK-8267806 it was always inlined:
  @ 3   java.lang.invoke.Invokers$Holder::linkToTargetMethod (9 bytes)   force inline by annotation
Comments
Fix Request (17u): Should get backported for parity with 17.0.4-oracle. Applies cleanly. Nightly tests have passed.
10-03-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk17u-dev/pull/209 Date: 2022-03-09 13:18:42 +0000
09-03-2022

Changeset: ad34f03b Author: Vladimir Ivanov <vlivanov@openjdk.org> Date: 2022-01-10 13:56:01 +0000 URL: https://git.openjdk.java.net/jdk18u/commit/ad34f03b549e6f37825efc3e554d2232b557611a
25-01-2022

Changeset: ad34f03b Author: Vladimir Ivanov <vlivanov@openjdk.org> Date: 2022-01-10 13:56:01 +0000 URL: https://git.openjdk.java.net/jdk/commit/ad34f03b549e6f37825efc3e554d2232b557611a
10-01-2022

Changeset: ad34f03b Author: Vladimir Ivanov <vlivanov@openjdk.org> Date: 2022-01-10 13:56:01 +0000 URL: https://git.openjdk.java.net/jdk18/commit/ad34f03b549e6f37825efc3e554d2232b557611a
10-01-2022

ILW = performance regression = MMH = P3
06-01-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk18/pull/80 Date: 2022-01-05 15:30:27 +0000
05-01-2022