RFR: 8305093: Linker cache should not take layout names into account [v3]

Jorn Vernee jvernee at openjdk.org
Fri Apr 28 00:02:53 UTC 2023


> Strip names from the function descriptors used in linkage requests. The names are not important for classification, and this will allow the cached MethodHandle/UpcallStubFactory to be shared across linkage request with the same structure, but with layouts that have different names.
> 
> I also have another implementation that avoids copying all the layouts, and instead re-implemented equals and hashCode in the LinkRequest wrapper: https://github.com/openjdk/jdk/compare/pr/13079...JornVernee:jdk:NoNameCache But, this seems too complex. Linking code is not very performance sensitive, so I instead went with a simpler approach in this patch.

Jorn Vernee has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 45 commits:

 - Undo changes to MemberDeleted.java
 - Merge branch 'master' into NoNameCache2
 - use al instead of ValueLayout.ADDRESS
 - re-add spuriously removed blank line
 - stripNames based caching
 - Merge pull request #3 from JornVernee/IsForeignLinkerSupported
   
   rename has_port
 - rename has_port
 - Merge pull request #2 from JornVernee/WSL_BB
   
   account for missing functional in WSL in TestByteBuffer
 - account for missing mincore on WSL in TestByteBuffer
 - Merge branch 'master' into PR_21_V2
 - ... and 35 more: https://git.openjdk.org/jdk/compare/b827ce83...a8103f67

-------------

Changes: https://git.openjdk.org/jdk/pull/13562/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=13562&range=02
  Stats: 95 lines in 2 files changed: 90 ins; 1 del; 4 mod
  Patch: https://git.openjdk.org/jdk/pull/13562.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/13562/head:pull/13562

PR: https://git.openjdk.org/jdk/pull/13562


More information about the core-libs-dev mailing list