On Thu, 11 Dec 2025 12:55:41 GMT, Paul Hübner <[email protected]> wrote:

>> src/hotspot/share/gc/parallel/psParallelCompact.cpp line 1481:
>> 
>>> 1479:           const bool full_header_in_current_region = cur_addr + 
>>> oopDesc::header_size() <= end;
>>> 1480: 
>>> 1481:           if (EnableValhalla && !full_header_in_current_region) {
>> 
>> We could make this criteria even more specific by checking something like 
>> the following, but I'm not sure it's worth it since not copying the full 
>> header in the same region is pretty rare.
>> 
>> 
>> static bool requires_valhalla_preservation(markWord mark) {
>>   return EnableValhalla && (mark.is_larval_state() || 
>> mark.is_null_free_array() || mark.is_flat_array() || mark.is_inline_type());
>> }
>
> If I understand it correctly, the version you have right now is less 
> conservative than `requires_valhalla_preservation` which may include false 
> positives. I think I'm inclined to checking region containment, it also makes 
> maintainability easier down the line (if we end up changing the markWord 
> bits).

Yes, the version I have is less conservative than it could be, and I agree that 
this makes the code easier to maintain.

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

PR Review Comment: 
https://git.openjdk.org/valhalla/pull/1785#discussion_r2613389856

Reply via email to