RFR (trivial): 8216285: Enable inlining of CollectedHeap::obj-/array-/class_allocate

Claes Redestad claes.redestad at oracle.com
Tue Jan 8 11:55:31 UTC 2019



On 2019-01-08 12:44, Roman Kennke wrote:
>>>>> Those methods are virtual. How useful is it to flag them 'inline' ?
>>>>
>>>> Useful enough to measurably save a few ns/op on Array.newInstance and
>>>> Object.clone microbenchmarks (when running TieredStopAtLevel=1 to stay
>>>> in the JNI slow path).
>>>
>>> If a method is virtual, it cannot be inlined, right? Unless you call it
>>> in a funny non-virtual way. Or what am I missing?
>>
>> Could be these are the only implementations when compiling without
>> shenandoah so gcc realizes the virtual can be ignored?
> 
> I doubt that gcc can make that call. The linker probably could, but at
> this point it would be too late. C++ is not Java. I don't think the
> patch hurts, but I doubt its usefulness ;-)

I only go by what I see in microbenchmarks, and somehow this netted a
small improvement.

/Claes



More information about the hotspot-gc-dev mailing list