RFR: 8341293: Split field loads through Nested Phis [v9]
Dhamoder Nalla
dhanalla at openjdk.org
Tue Jul 15 12:36:44 UTC 2025
On Fri, 25 Apr 2025 15:04:06 GMT, Dhamoder Nalla <dhanalla at openjdk.org> wrote:
>> Dhamoder Nalla has updated the pull request incrementally with one additional commit since the last revision:
>>
>> address CR comments
>
>> Looks like you deleted some of the tests you had there. Can you explain why? This was not by any chance the one that failed? [3c56f98](https://github.com/openjdk/jdk/commit/3c56f98d88433a4fada2c7e43147fc2e91df5e89)
>
> Thanks @eme64 for taking a look at it,
> I haven't deleted any tests; the test cases list below remains unchanged. The assertion is addressed by the code change https://github.com/openjdk/jdk/commit/3c56f98d88433a4fada2c7e43147fc2e91df5e89#diff-03f7ae3cf79ff61be6e4f0590b7809a87825b073341fdbfcf36143b99c304474L4523
>
> try {
> Asserts.assertEQ(testRematerialize_SingleObj_Interp(cond1, x, y), testRematerialize_SingleObj_C2(cond1, x, y));
> } catch (Exception e) {}
> Asserts.assertEQ(testRematerialize_TryCatch_Interp(cond1, l, x, y), testRematerialize_TryCatch_C2(cond1, l, x, y));
> Asserts.assertEQ(testMerge_TryCatchFinally_Interp(cond1, l, x, y), testMerge_TryCatchFinally_C2(cond1, l, x, y));
> Asserts.assertEQ(testRematerialize_MultiObj_Interp(cond1, cond2, x, y), testRematerialize_MultiObj_C2(cond1, cond2, x, y));
> Asserts.assertEQ(testGlobalEscapeInThread_Intrep(cond1, l, x, y), testGlobalEscapeInThread_C2(cond1, l, x, y));
> Asserts.assertEQ(testGlobalEscapeInThreadWithSync_Intrep(cond1, x, y), testGlobalEscapeInThreadWithSync_C2(cond1, x, y));
> Asserts.assertEQ(testFieldEscapeWithMerge_Intrep(cond1, x, y), testFieldEscapeWithMerge_C2(cond1, x, y));
> Asserts.assertEQ(testNestedPhi_FieldLoad_Interp(cond1, cond2, x, y), testNestedPhi_FieldLoad_C2(cond1, cond2, x, y));
> Asserts.assertEQ(testThreeLevelNestedPhi_Interp(cond1, cond2, x, y), testThreeLevelNestedPhi_C2(cond1, cond2, x, y));
> Asserts.assertEQ(testNestedPhiProcessOrder_Interp(cond1, cond2, x, y), testNestedPhiProcessOrder_C2(cond1, cond2, x, y));
> Asserts.assertEQ(testNestedPhi_TryCatch_Interp(cond1, cond2, x, y), testNestedPhi_TryCatch_C2(cond1, cond2, x, y));
> Asserts.assertEQ(testBailOut_Interp(cond1, cond2, x, y), testBailOut_C2(cond1, cond2, x, y));
> Asserts.assertEQ(testNestedPhiPolymorphic_Interp(cond1, cond2, x, y), testNestedPhiPolymorphic_C2(cond1, cond2, x, y));
> Asserts.assertEQ(testNestedPhiWithTrap_Interp(cond1, cond2, x, y), testNestedPhiWithTrap_C2(cond1, cond2, x, y));
> Asserts.assertEQ(testNestedPhiWithLambda_Interp(cond1, cond2, x, y), tes...
> Thank you for persisting on this @dhanalla . I just did a quick look. I'll look again and run tests as soon as I get some time.
Thank you @JohnTortugo for reviewing this PR.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/21270#issuecomment-3073421226
More information about the hotspot-compiler-dev
mailing list