RFR 8203381 Replace InstanceKlass::allocate_instance_handle with JavaCalls::construct_new_instance
ioi.lam at oracle.com
Tue May 22 04:24:32 UTC 2018
On 5/20/18 7:05 PM, David Holmes wrote:
> Hi Ioi,
> On 19/05/2018 2:34 AM, Ioi Lam wrote:
>> 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
I noticed that there isn't a uniform style of indentation with passing
function parameters. Usually people indent to the open parenthesis, but
I am hesitant to do that when the open parenthesis is more than 40 chars
from the beginning of a line. Otherwise I'll end up with lots of skinny
lines. They would also run past 80-char width when you have "wide"
loader, module_name, CHECK_NH);
So if you don't have a big objection, I'll just keep the indentation as is.
> 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!
>> 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
>> Tested with hs-tier[1,2,3,4,5]
>> - Ioi
More information about the hotspot-runtime-dev