RFR: 8282143: Objects.requireNonNull should be ForceInline

Paul Sandoz psandoz at openjdk.java.net
Tue Mar 1 00:48:02 UTC 2022


On Sat, 19 Feb 2022 05:51:52 GMT, Quan Anh Mai <duke at openjdk.java.net> wrote:

> Hi,
> 
> `Objects.requireNonNull` may fail to be inlined. The call is expensive and may lead to objects escaping to the heap while the null check is cheap and is often elided. I have observed this when using the vector API when a call to `Objects.requireNonNull` leads to vectors being materialised in a hot loop.
> 
> Should the other `requireNonNull` be `ForceInline` as well?
> 
> Thank you very much.

`Objects.requireNonNull` is also used on the critical path of VarHandles, and other places in `j.l.invoke` so I think this is generally beneficial beyond use by the Vector API.

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

PR: https://git.openjdk.java.net/jdk/pull/7543


More information about the core-libs-dev mailing list