RFR: 8346774: Use Predicate classes instead of Node classes

Christian Hagedorn chagedorn at openjdk.org
Fri Jan 24 12:17:47 UTC 2025


On Wed, 22 Jan 2025 13:10:37 GMT, Christian Hagedorn <chagedorn at openjdk.org> wrote:

> This small cleanup PR replaces a lot of usages of `Node` pointers, to pass around either the head (i.e. `IfNode`) or the tail (i.e. a success projection) of predicates, with actual `Predicate` classes. This simplifies the usages, readability and the logical flow, and enables more simplifications in the future, especially once we replace Template Assertion Predicates with a dedicated node.
> 
> I've also included some minor refactorings like adding `const` or fixing typos.
> 
> There are no semantic changes involved. The return value optimization should take care to avoid a lot of copies when returning new objects from methods. 
> 
> Thanks,
> Christian

I assumed that RVO will make sure that we do not create an extra copy regardless of whether a method is inlined or not. Maybe @kimbarrett can comment on that.

Nevertheless, let me run some performance testing.

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

PR Comment: https://git.openjdk.org/jdk/pull/23234#issuecomment-2612386921


More information about the hotspot-compiler-dev mailing list