JDK-8264699 : Re-examine deopt of frames to allow EA be enabled with JVMTI agents
  • Type: Bug
  • Component: hotspot
  • Sub-Component: jvmti
  • Affected Version: 19,repo-loom
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2021-04-05
  • Updated: 2022-10-06
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
The changes in JDK-8227745 to deopt frames with non-escaping objects is incompatible with loom and will need to be re-examined. The code is disabled in the loom repo and the following tests excluded:

serviceability/jvmti/Heap/IterateHeapWithEscapeAnalysisEnabled.java	
com/sun/jdi/EATests.java
Comments
I doubt this will be fixed in repo-loom or even in jdk 19. Moved to jdk 20.
19-04-2022

Deferred locals do not work with virtual threads. It's possible that in the future we'll have a different mechanism. For that reason, we've also change the debugger/JVMTI spec to disallow setting locals in non-top frames.
07-04-2022

What is the new issue with JDK-8227745? Even without JDK-8227745, it seems like the JavaThread::__jvmti_deferred_updates logic using a frame id (raw stack pointer) to trigger the cleanup would be problematic for loom.
16-03-2022