RFR: 8253920: Share method trampolines in CDS dynamic archive

Calvin Cheung ccheung at openjdk.java.net
Mon Oct 26 18:21:22 UTC 2020


This patch is to allow sharing of the same method trampoline for archived Methods with the same AdapterHandleEntry when using CDS dynamic archive. 

Running javac on HelloWorld with CDS dynamic archive, the number of calls to SharedRuntime::generate_trampoline() is reduced to 406 times vs 12601 times without the patch.

In terms of saving on instructions and time (on linux-x64):
instr delta =     -2807662    -0.1369%
time  delta =       -6.860 ms -1.8798%

It passed tiers 1,2,3,4 testing.

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

Commit messages:
 - 8253920: Share method trampolines in CDS dynamic archive

Changes: https://git.openjdk.java.net/jdk/pull/868/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=868&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8253920
  Stats: 225 lines in 8 files changed: 126 ins; 90 del; 9 mod
  Patch: https://git.openjdk.java.net/jdk/pull/868.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/868/head:pull/868

PR: https://git.openjdk.java.net/jdk/pull/868


More information about the hotspot-runtime-dev mailing list