RFR: 8355775: Improve symbolic sharing in dynamic constant pool entries

Chen Liang liach at openjdk.org
Mon Apr 28 20:54:58 UTC 2025


Some dynamic constant pool entries with heavy symbolic descriptors currently don't share them, yet they are used by stack map generation, and computing a new descriptor every time introduces a heavy cost.

This cost is obvious if bytecode generation uses constant dynamic - the stack map generator parses the whole dynamic constant symbol to interpret the return type of an ldc condy, such as in FFM downcalls.

Both the lack of expensive symbol caching in dynamic cp entries and the incorrect query in StackMapGenerator should be fixed.

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

Commit messages:
 - Fix the site in StackMapGenerator too
 - Cache symbol for dynamics and copying - useful for stack map generation

Changes: https://git.openjdk.org/jdk/pull/24938/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24938&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8355775
  Stats: 105 lines in 6 files changed: 56 ins; 34 del; 15 mod
  Patch: https://git.openjdk.org/jdk/pull/24938.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/24938/head:pull/24938

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


More information about the core-libs-dev mailing list