[lworld] RFR: 8235914: [lworld] Profile acmp bytecode

Roland Westrelin roland at openjdk.java.net
Tue Sep 15 12:29:51 UTC 2020

This includes:
- a new ProfileData structure to profile both inputs to acmp
- profile collection at acmp in the interpreter on x86
- profile collection at acmp in c1 generated code on x86
- changes to c2's acmp implementation to leverage profiling (both existing profiling through type speculation and new
  profile data at acmp)
- small tweaks to the assembly code generated for acmp
- a change to the implementation of LIRGenerator::profile_null_free_array() so it doesn't use a branch (which is
  dangerous given the register allocator is not aware of branches added at the LIR level)
- new tests

Profile collection happens unconditionally. Leveraging profiling at acmp is under UseACmpProfile which is false by


Commit messages:
 - fix for CI test failures
 - acmp profiling

Changes: https://git.openjdk.java.net/valhalla/pull/185/files
 Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=185&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8235914
  Stats: 1273 lines in 44 files changed: 1147 ins; 70 del; 56 mod
  Patch: https://git.openjdk.java.net/valhalla/pull/185.diff
  Fetch: git fetch https://git.openjdk.java.net/valhalla pull/185/head:pull/185

PR: https://git.openjdk.java.net/valhalla/pull/185

More information about the valhalla-dev mailing list