RFR: 8356631: OopHandle replacement methods should not be called on empty handles

Coleen Phillimore coleenp at openjdk.org
Mon May 12 12:29:57 UTC 2025


On Fri, 9 May 2025 11:09:59 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

> I noticed that in OopHandle/WeakHandle we have {replace,xchg,cmpxchg} methods that overwrite the handle. This is only safe to do when the handle is not empty -- i.e. when there is a storage allocated for it in relevant OopStorage. Otherwise we attempt the store to nullptr, and get a SEGV.
> 
> Only OopHandle::replace does the assertion for this. We need to add these asserts everywhere else.
> 
> Additional testing:
>  - [x] Linux x86_64 server fastdebug, `all`

Looks good. thanks for adding these asserts.

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

Marked as reviewed by coleenp (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/25139#pullrequestreview-2833038630


More information about the hotspot-dev mailing list