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

Jorn Vernee jvernee at openjdk.org
Mon May 1 13:50:56 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 47 commits:

 - Merge branch 'master' into NoNameCache2
 - Use orElseGet
   
   Co-authored-by: ExE Boss <3889017+ExE-Boss at users.noreply.github.com>
 - 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
 - ... and 37 more: https://git.openjdk.org/jdk/compare/b39a9bff...57ea4eba

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

Changes: https://git.openjdk.org/jdk/pull/13562/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=13562&range=04
  Stats: 91 lines in 2 files changed: 86 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