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

Reply via email to