On Fri, 13 Feb 2026 18:58:47 GMT, Frederic Parain <[email protected]> wrote:
>> First batch of changes to remove potentially dangerous calls to
>> objArrayOopDesc::obj_at().
>> Changes are more extensive than intended. In most cases, code modifications
>> consist in using a refArrayOop type instead of a objArrayOop type, because
>> most of the arrays the JVM deals with for its own purpose are always
>> reference arrays (because they are arrays of identity type elements). The
>> patch also adds a new API allowing the VM to request the allocation of a
>> reference array.
>> Code dealing with user provided arrays must be ready to handle exceptions
>> when accessing objArrays.
>>
>> This is a short term fix, fixing a few bugs, and trying to make the code
>> more robust using the meta-data types. For the long term, a better solution
>> is needed. Accesses to both arrays and fields are becoming more and more
>> complex because of the introduction of flattening, multiple layouts,
>> additional properties. Forcing enforcement at each access would be expensive
>> and wasteful, as the JVM usually operates on well-known objects or arrays.
>> But because of the increasing complexity, having a way to quickly check the
>> validity of an access would help making the VM code more robust.
>
> Frederic Parain has updated the pull request incrementally with two
> additional commits since the last revision:
>
> - Fixes from Stefan's comments
> - Fix more use sites and some TRAPS returns
Looks good. Saw one small nit.
src/hotspot/share/services/management.cpp line 1448:
> 1446: refArrayOop r = oopFactory::new_refArray(vmClasses::String_klass(),
> 1447: nFlags,
> 1448: CHECK_NULL);
Suggestion:
refArrayOop r = oopFactory::new_refArray(vmClasses::String_klass(),
nFlags,
CHECK_NULL);
-------------
Marked as reviewed by stefank (Committer).
PR Review:
https://git.openjdk.org/valhalla/pull/2033#pullrequestreview-3807390114
PR Review Comment:
https://git.openjdk.org/valhalla/pull/2033#discussion_r2811322855