JDK-8300210 : ciReplay can not handle a LambdaForm changing it's vmentry
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 21
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2023-01-16
  • Updated: 2024-09-24
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.
Other
tbdUnresolved
Related Reports
Relates :  
Relates :  
Description
Replay compilation currently relies on the fact that the vmentry field of a LambdaForm (which is in turn a field of MethodHandle) does not change.

However, it can change in practice. This can be exacerbated by running with the flag: -Djava.lang.invoke.MethodHandle.COMPILE_THRESHOLD=1

When running compiler/ciReplay tests with that flag, the following tests fail:
compiler/ciReplay/TestServerVM.java
compiler/ciReplay/TestLambdas.java
compiler/ciReplay/TestInlining.java
Comments
ILW = Compiler replay fails when vmentry field changes, rare?, no workaround = MLH = P4
17-01-2023