RFR: 8269476: Skip nmethod entry barrier if there is no oops in the jit code

王超 github.com+25214855+casparcwang at openjdk.java.net
Mon Jun 28 08:59:20 UTC 2021


Lots of c1 and c2 jit methods do not contain any oop, so the nmethod entry barrier can be skipped.

1, c1 jit code will patch oops or Klass into the nmethod, so the entry barrier cannot directly be eliminated, current implementation uses a jump instruction to replace the jcc instruction. If the jit code is patched to contain oops, the entry barrier is patched back to the jcc instruction.

2, only the jit code of core library methods do not contain any oops.

3, currently only support zgc

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

Commit messages:
 - Remove redundent whitepace
 - Fix 'int to char' cast warning
 - bypass the entry barrier if there is no oop in the nm

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

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


More information about the hotspot-dev mailing list