RFR: 8266252: Streamline AbstractInterpreter::method_kind [v3]

Claes Redestad redestad at openjdk.java.net
Thu May 6 23:38:58 UTC 2021


> This patch refactors AbstractInterpreter::method_kind to reduce branches on average while better compartmentalizing the exceptional cases.
> 
> Additionally Method::is_empty_method is trivial enough that making it inlineable helps reduce cost while reducing size of the libjvm.
> 
> Result is a 40% speed-up, or a reduction of .25% of instructions on Hello World that scales to larger applications.

Claes Redestad has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision:

 - Review comments
 - Merge branch 'master' into method_kind
 - assert that vmIntrinsics::_dsqrt are only selected for Math/StrictMath::sqrt
 - Improve comment
 - Select native as the kind for StrictMath::sqrt
 - Streamline AbstractInterpreter::method_kind

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/3798/files
  - new: https://git.openjdk.java.net/jdk/pull/3798/files/4e616b33..bb781718

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=3798&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=3798&range=01-02

  Stats: 26769 lines in 625 files changed: 15562 ins; 6174 del; 5033 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3798.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3798/head:pull/3798

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


More information about the hotspot-runtime-dev mailing list