But getComponentType itself calls isArray, so you are paying the native method overhead anyway (though it is intrinsic).
I haven't dug further into the JIT generated code to see why isArray performs better though. /Michael ________________________________ From: Martin Buchholz <marti...@google.com> Sent: 03 May 2018 00:13 To: Michael Rasmussen Cc: core-libs-dev Subject: Re: RFR: Here are some easy patches Michael, Thanks. This may be tricky. isArray is a native method, and we don't want to pay for native method overhead - we're depending on hotspot intrinsification. I suspect isArray will lose with -Xint and perhaps also with C1. In the hotspot sources I see an ominous virtual bool is_array_klass_slow(). Perhaps other engineers can give an authoritative recommendation on which way to go.