[lworld] RFR: 8354068: [lworld] Fold strict final fields more aggressively [v4]
Tobias Hartmann
thartmann at openjdk.org
Thu Apr 24 14:01:18 UTC 2025
On Thu, 24 Apr 2025 01:35:33 GMT, Quan Anh Mai <qamai at openjdk.org> wrote:
>> Hi,
>>
>> When we do incremental inlining, we need to be more aggressive to ensure that value objects are not unexpectedly materialized. This is done by trying to fold loads from strict final fields in an aggressive manner.
>>
>> Please take a look and leave your reviews, thanks a lot.
>
> Quan Anh Mai has updated the pull request incrementally with one additional commit since the last revision:
>
> fix non-valhalla
Not sure how I can mark a conversation as unresolved again, so also posting this here:
> But what I mean is that before your changes, we also executed this code if t_oop->is_ptr_to_boxed_value() was true but now we bail out. And if EnableValhalla is false, and primitive boxes are not value classes, we would therefore not optimize loads from those boxes anymore, right?
src/hotspot/share/opto/memnode.cpp line 152:
> 150: // constructor invocation. E.g. A field Super.x will be set during the execution of Sub::<init>,
> 151: // while a field Sub.y must be set before Super::<init> is invoked.
> 152: static ciInstanceKlass* find_constructor_call_method_holder(Node* n, Node* receiver) {
Suggestion:
static ciInstanceKlass* find_constructor_call_method_holder(Node* call, Node* receiver) {
-------------
PR Comment: https://git.openjdk.org/valhalla/pull/1424#issuecomment-2827727443
PR Review Comment: https://git.openjdk.org/valhalla/pull/1424#discussion_r2058461336
More information about the valhalla-dev
mailing list