JDK-8309271 : A way to align already compiled methods with compiler directives
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 21,22
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2023-06-01
  • Updated: 2024-05-06
  • Resolved: 2024-03-14
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 23
23 b15Fixed
Related Reports
Blocks :  
Cloners :  
Relates :  
Description
Compiler Control (https://openjdk.org/jeps/165) provides method-context dependent control of the JVM compilers (C1 and C2).

If directives are added or changed, but compilation does not start, then the state of compiled methods doesn't correspond to the rules. This is not an error, and it happens in long running applications when directives are added or removed after compilation of methods that could be matched. For example, the user decides that C2 compilation needs to be disabled for some method due to a compiler bug, issues such a directive but this does not affect the application behavior. In such case, the target application needs to be restarted, and such an operation can have high costs and risks.

It would be convenient to optionally reconcile at least existing matching nmethods to the current stack of compiler directives to avoid the restarts described above. Another goal is testing/debugging the JVM compilers.
Comments
Changeset: c879627d Author: Dmitry Chuyko <dchuyko@openjdk.org> Date: 2024-03-14 12:38:48 +0000 URL: https://git.openjdk.org/jdk/commit/c879627dbd7e9295d44f19ef237edb5de10805d5
14-03-2024

A pull request was submitted for review. URL: https://git.openjdk.org/jdk/pull/14111 Date: 2023-05-24 00:38:27 +0000
01-06-2023