RFR: JDK-8277139 Improve code readability in PredecessorValidator (c1_IR.cpp)

Christian Hagedorn chagedorn at openjdk.java.net
Mon Nov 22 16:08:25 UTC 2021


On Mon, 15 Nov 2021 18:26:36 GMT, Ludvig Janiuk <duke at openjdk.java.net> wrote:

> Refactor PredecessorValidator, more or less applying the following:
> 
> declare variables where used
> redeclare instead of reuse variables
> move assert to a more logical place
> remove unused length variable
> inline variables where senseful
> split loops
> extract methods
> 
> this is done in preparation for work on optimizing IR::verify. IR::verify calls PredecessorValidator. If the work of PredecessorValidator is made clearer, it will be easier to reason about where IR::verify doesn't need to be called (or where a subset of it would suffice).

Otherwise, looks good!

src/hotspot/share/c1/c1_IR.cpp line 1303:

> 1301: 
> 1302:  private:
> 1303:   void verify_successor_xentry_flag(const BlockBegin *block) const {

For this and other methods below: Asterisk should be at the type: `BlockBegin* block`.

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

Marked as reviewed by chagedorn (Reviewer).

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


More information about the hotspot-compiler-dev mailing list