RFR: 8318609: Upcall stubs should be smaller [v2]

Martin Doerr mdoerr at openjdk.org
Sat Oct 21 12:02:52 UTC 2023


> We can use `resolve_global_jobject` (introduced by [JDK-8299089](https://bugs.openjdk.org/browse/JDK-8299089)) because we know that the handle is created by `JNIHandles::make_global` in `UL_MakeUpcallStub`. That creates much shorter code.
> 
> Size reduced from 1360 bytes to 648 bytes on x64 for a trivial upcall using G1.
> 1584 bytes to 936 bytes using ShenandoahGC.
> 1064 bytes to 848 bytes using Generational ZGC.

Martin Doerr has updated the pull request incrementally with one additional commit since the last revision:

  Move JNIHandles::resolve(receiver) into C code.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/16290/files
  - new: https://git.openjdk.org/jdk/pull/16290/files/b4b8637d..996e33f9

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=16290&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=16290&range=00-01

  Stats: 23 lines in 7 files changed: 7 ins; 8 del; 8 mod
  Patch: https://git.openjdk.org/jdk/pull/16290.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16290/head:pull/16290

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


More information about the hotspot-compiler-dev mailing list