RFR: 8347018: C2: assert(find_block_for_node(self->in(0)) == early) failed: The home of a memory writer must also be its earliest placement [v2]
Vladimir Kozlov
kvn at openjdk.org
Tue Jan 14 18:52:39 UTC 2025
On Tue, 14 Jan 2025 17:48:50 GMT, Christian Hagedorn <chagedorn at openjdk.org> wrote:
>> src/hotspot/share/opto/predicates.hpp line 996:
>>
>>> 994: // Additionally check if a node was cloned after the pre loop was created. This indicates that it was created by
>>> 995: // PhaseIdealLoop::clone_up_backedge_goo(). These nodes should also be pinned at the main loop entry.
>>> 996: bool check(Node* node) const override {
>>
>> Can it be more meaningful method's name? And I did not find where it is used.
>
> Since the interface name is `NodeInLoopBody`, I went with `NodeInLoopBody::check()`. But could also rename it to `check_node_in_loop_body()` for better readability. Pushed an update.
>
> It is used here:
> https://github.com/openjdk/jdk/blob/06ff4c17bdfab9e7aa323425cb18dfdc963aa972/src/hotspot/share/opto/predicates.cpp#L157
I was confused because it was not use in changes but I now see that it is virtual method.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23071#discussion_r1915436626
More information about the hotspot-compiler-dev
mailing list