[code-reflection] RFR: Fix SSABraun bug and add SSA tests [v2]

Ruby Chen duke at openjdk.org
Wed Sep 10 19:43:04 UTC 2025


On Tue, 9 Sep 2025 18:52:16 GMT, Ruby Chen <duke at openjdk.org> wrote:

>> Fix a bug in SSABraun where, in `tryRemoveTrivialPhi()`, a phi stored in `same` that is later deleted in a recursive `tryRemoveTrivialPhi()` call is still returned despite being deleted. 
>> 
>> Add five tests to TestSSA: `deadCode(), ifelseLoopNested(), violaJones(), binarySearch(),` and `quicksort()`. `violaJones()` is inspired by the method `findFeaturesKernel` in HAT kernel ViolaJones, which is the bug first presented itself.
>
> Ruby Chen 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 five additional commits since the last revision:
> 
>  - Replace deleted phi after recursive call
>  - Merge branch 'openjdk:code-reflection' into inline
>  - Merge branch 'openjdk:code-reflection' into inline
>  - Merge branch 'openjdk:code-reflection' into inline
>  - Fix SSABraun bug and add SSA tests

Thanks for looking it over! Yeah, I think it might've been an oversight in the paper's algorithm. Looking at the actual implementation right now, I see how they arrived at the paper's pseudocode, but it's interesting that the paper went ahead with those slight differences :')

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

PR Comment: https://git.openjdk.org/babylon/pull/542#issuecomment-3276279590


More information about the babylon-dev mailing list