[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-hotspot-runtime-dev
Subject:    RE: [13] RFR (M): 8223213: Implement fast class initialization checks on x86-64
From:       "Doerr, Martin" <martin.doerr () sap ! com>
Date:       2019-05-28 14:03:44
Message-ID: AM6PR02MB4788CF0DC11DD1A9123394589A1E0 () AM6PR02MB4788 ! eurprd02 ! prod ! outlook ! com
[Download RAW message or body]

Hi Vladimir,

thanks for the update. Looks good.

Best regards,
Martin


> -----Original Message-----
> From: Vladimir Ivanov <vladimir.x.ivanov@oracle.com>
> Sent: Dienstag, 28. Mai 2019 13:41
> To: Doerr, Martin <martin.doerr@sap.com>; hotspot compiler <hotspot-
> compiler-dev@openjdk.java.net>; hotspot-runtime-dev <hotspot-runtime-
> dev@openjdk.java.net>; hotspot-dev developers <hotspot-
> dev@openjdk.java.net>
> Subject: Re: [13] RFR (M): 8223213: Implement fast class initialization checks
> on x86-64
> 
> Thanks, Martin.
> 
> Updated webrev:
>    http://cr.openjdk.java.net/~vlivanov/8223213/webrev.02/
> 
> > Are these assertions safe?
> > +   assert(method()->needs_clinit_barrier(), "barrier not needed");
> > +   assert(method()->holder()->is_being_initialized(), "barrier not
> needed");
> > Can it happen that initialization concurrently completes before they are
> evaluated?
> 
> Good point. Even though ciInstanceKlass caches initialization state of
> the corresponding InstanceKlass, it seems there's a possibility that the
> state is updated during the compilation (see
> ciInstanceKlass::update_if_shared). I enhanced the asserts to check that
> initialization has been stated.
> 
> > A small suggestion for x86 TemplateTable::invokeinterface:
> > It'd be nice to replace load of interface klass by your new
> load_method_holder.
> 
> Agree. Updated.
> 
> Best regards,
> Vladimir Ivanov

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic