RFR: 8319813: Remove upper limit on number of compiler phases in phasetype.hpp [v5]

Daniel Lundén duke at openjdk.org
Wed Nov 22 11:22:33 UTC 2023


> This changeset removes the implicit upper limit on the number of compiler phases in `phasetype.hpp`. The limit was due to the 64-bit mask used in `Compile::should_print_phase`, causing the `assert(cpt < 64, "out of bounds");` in `phasetype.hpp` to trigger when increasing the number of phases to more than 64.
> 
> Changes:
> - Replace the 64-bit mask with a bit map (`utilities/bitMap.hpp`).
> - Clean up the `PhaseNameValidator` interface by allocating the mask internally.
> - Move the check for whether a mask is non-zero ("is set") into `PhaseNameValidator`.
> - Add a method `should_print_phase` to `DirectiveSet`, simplifying the `if`-condition in `Compile::should_print_phase`.
> 
> ### Testing
> Platforms: windows-x64, linux-x64, linux-aarch64, macosx-x64, macosx-aarch64.
> - `tier1`
> - HotSpot parts of `tier2` and `tier3`

Daniel Lundén has updated the pull request incrementally with one additional commit since the last revision:

  Fix mask -> set in comments and remove empty line

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/16729/files
  - new: https://git.openjdk.org/jdk/pull/16729/files/ed93bc16..5d7173f8

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=16729&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=16729&range=03-04

  Stats: 3 lines in 2 files changed: 0 ins; 1 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/16729.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16729/head:pull/16729

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


More information about the hotspot-compiler-dev mailing list