[code-reflection] RFR: Aggregated work on Verifier and BytecodeLift deconstruction [v6]

Paul Sandoz psandoz at openjdk.org
Wed Nov 6 23:27:54 UTC 2024


On Wed, 6 Nov 2024 20:30:54 GMT, Adam Sotona <asotona at openjdk.org> wrote:

>> It has exactly same meaning as `isDominatedBy`. Second part is focused on blocks only because individual dominance test in the first part covers the situations where any member of the tested set precedes the value in the same block (or in the entry block) - so it is individually dominant and the method returns true. If any member of the set is individually dominant, the whole set is dominant.
>
> I've moved it to BytecodeUtil.

Thank you. For the record i think it currently stretches the definition of dominance. For the second case consider the blocks connected as follows:

    e
   /  \
  a   b
   \  /
    c
```  
Where `this` value is in block `c` and the given values are in block `a` and `b` respectively. It is stretching the definition to say that `a` and `b` collectively dominate `c`. (FWIW in this case the dominance frontiers of `a` and `b` are the same, the set consisting of `c` i.e., `a` does not strictly dominate `c`, but some predecessor of `c` does, in this case `a`, which dominates itself.)

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

PR Review Comment: https://git.openjdk.org/babylon/pull/258#discussion_r1831848853


More information about the babylon-dev mailing list