RFR 8203381 Replace InstanceKlass::allocate_instance_handle with JavaCalls::construct_new_instance

David Holmes david.holmes at oracle.com
Mon May 21 02:05:20 UTC 2018

Hi Ioi,

On 19/05/2018 2:34 AM, Ioi Lam wrote:
> https://bugs.openjdk.java.net/browse/JDK-8203381
> http://cr.openjdk.java.net/~iklam/jdk11/8203381-construct-new-instance.v01/
> This patch removes a lot of the boilerplate code for allocating a
> Java object and calling its constructor. Hopefully the code is cleaner
> and easier to read.

That's a great cleanup! Why didn't we do this years ago! :)

Only nit is that now call_special is replaced with 
construct_new_instance the argument line indentation is no longer correct.

Great comments on the Thread construction process too! Hope it didn't 
take you too long to figure out why you couldn't make the replacement in 
those cases!


> Also:
> Added assert(InstanceKlass::is_initialized(), ...) in case where
> we cannot call JavaCalls::construct_new_instance for thread objects.
> Replaced unnecessary SystemDictionary::resolve_or_null() calls with
> SystemDictionary::XXX_klass().
> Tested with hs-tier[1,2,3,4,5]
> Thanks
> - Ioi

More information about the hotspot-runtime-dev mailing list