JDK-8283689 : Update the foreign linker VM implementation
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 19
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2022-03-25
  • Updated: 2022-06-08
  • Resolved: 2022-05-18
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 19
19 b23Fixed
Related Reports
Relates :  
Relates :  
Description
Bring over changes to the foreign linker VM code from the panama-foreign branch. To recap. This includes the following changes:

    - VM stubs for downcalls are now generated up front, instead of lazily by C2.
    - the VM support for upcalls/downcalls now support all possible call shapes. And VM stubs and Java code implementing the buffered invocation strategy has been removed.
    - The existing C2 intrinsification support for the linkToNative method handle linker was no longer needed and has been removed (support might be re-added in another form later).
    - Some other cleanups, such as: OptimizedEntryBlob (for upcalls) now implements RuntimeBlob directly. Binding to java classes has been rewritten to use javaClasses.h/cpp (this wasn't previously possible due to these java classes being in an incubator module).

This is split out of the main JEP integration due to limited resources, as well as making it easier to review.

I've written up an overview of the Linker architecture here: http://cr.openjdk.java.net/~jvernee/docs/FL_Overview.html.
Comments
Changeset: 81e4bdbe Author: Jorn Vernee <jvernee@openjdk.org> Date: 2022-05-18 09:49:55 +0000 URL: https://git.openjdk.java.net/jdk/commit/81e4bdbe1358b7feced08ba758ddb66415968036
18-05-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk/pull/7959 Date: 2022-03-25 13:48:20 +0000
01-04-2022