RFR (L but tedious) 8183039: Re-examine methodHandle methods uninlined by 8144256

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Thu Jul 27 15:13:24 UTC 2017

On 7/27/17 10:35 AM, Claes Redestad wrote:
> Hi,
> this reduces number of invocations of the copy constructor by ~87% on 
> a hello world, adding up to a
> small but measurable improvement to startup.  The gain is similar to 
> what we would get from inlining
> the methods again, but without any of the static footprint increase. 
> Good!
> In classFileParser.cpp you change a constantPoolHandle to const 
> constantPoolHandle&, which is likely OK
> but seems somewhat out of place for this patch.  Rest looks good.

Thanks Claes for the performance testing!   Since constantPoolHandle is 
the same as methodHandle fundamentally.  The code is defined as macros 
for the two.  I thought that change belonged here too.


> Thanks!
> /Claes
> On 07/27/2017 03:19 PM, coleen.phillimore at oracle.com wrote:
>> Summary: Add more const references so out-of-line methodHandle 
>> destructor and copy ctor called infrequently
>> See RFE for more details.   In short, use const methodHandle& when 
>> possible.
>> open webrev at http://cr.openjdk.java.net/~coleenp/8183039.01/webrev
>> bug link https://bugs.openjdk.java.net/browse/JDK-8183039
>> Tested with RBT on linux, solaris and windows (still running) with 
>> tier2 testing and all tier1-5 tests on linux x64.
>> Thanks,
>> Coleen

More information about the hotspot-dev mailing list