RFR: 8253049: Enhance itable_stub for AArch64 and x86_64

kuaiwei github.com+1981974+kuaiwei at openjdk.java.net
Mon Sep 14 10:52:44 UTC 2020


Now itable_stub will go through instanceKlass's itable twice to look up a method entry. resolved klass is used for type
checking and method holder klass is used to find method entry. In many cases , we observed resolved klass is as same as
holder klass. So we can improve itable stub based on it. If they are same klass, stub uses a fast loop to check only
one klass. If not, a slow loop is used to checking both klasses.

Even entering in slow loop, new implementation can be better than old one in some cases. Because new stub just need go
through itable once and reduce memory operations.


bug: https://bugs.openjdk.java.net/browse/JDK-8253049

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

Commit messages:
 - 8253049: Enhance itable_stub for AArch64 and x86_64

Changes: https://git.openjdk.java.net/jdk/pull/128/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=128&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8253049
  Stats: 220 lines in 7 files changed: 172 ins; 35 del; 13 mod
  Patch: https://git.openjdk.java.net/jdk/pull/128.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/128/head:pull/128

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


More information about the hotspot-compiler-dev mailing list