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