----- Original Message ----- > From: "Paul Sandoz" <psan...@openjdk.java.net> > To: "core-libs-dev" <core-libs-dev@openjdk.java.net> > Sent: Tuesday, March 1, 2022 1:48:02 AM > Subject: Re: RFR: 8282143: Objects.requireNonNull should be ForceInline
> On Sat, 19 Feb 2022 05:51:52 GMT, Quan Anh Mai <d...@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. It is also use by javac when the JLS requires to emit a nullcheck, like for example when creating a method reference. > > ------------- > > PR: https://git.openjdk.java.net/jdk/pull/7543