On Thu, 5 Jun 2025 21:06:44 GMT, Radim Vansa <rva...@openjdk.org> wrote:

>> src/hotspot/share/oops/fieldInfo.hpp line 238:
>> 
>>> 236: 
>>> 237:   private:
>>> 238:   uint32_t next_uint() { return _r.next_uint(); }
>> 
>> Why did you make this change and have the callers expose _r ?
>
> AFAIU `_r` is not exposed, it's private. My change removes `next_uint()` 
> because it's at wrong level of abstraction: `FieldInfoReader` should expose 
> things java/injected fields counts (and field info itself), not just some 
> 'uint's.
> The encapsulation is imperfect as the methods have to be called anyway only 
> in the correct order but to me it seemed as a way forward.

Okay I see why you made this change.  Removing the friends was good because it 
removes other callers that shouldn't call next_uint(), but the callers within 
FieldInfoStream now have to call _r.next_uint() which is extra exposure to the 
name _r, that could be a lot more descriptive. I don't see what's wrong with 
FieldInfoStream calling next_uint() a private method that has access to the 
Unsigned5 stream.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24847#discussion_r2132424315

Reply via email to