RFR (M) 8233913: Remove implicit conversion from Method* to methodHandle

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Wed Nov 13 12:17:35 UTC 2019



On 11/12/19 10:51 PM, Ioi Lam wrote:
> Hi Coleen,
>
> I've scanned through all the changes. It looks good. Just a few small 
> nits:

Ioi,

Thank you for spending so much time looking at this!
>
>
> [1] Not sure if you want to handle it in this patch, but MethodData 
> initialization is a bit messy:
>
> For MethodData::MethodData() -> MethodData::initialize() -> 
> MethodData::init(), I think you can pass in both the THREAD and the 
> methodHandle, so you don't need to query the current thread again.This 
> can skip two Thread::current() calls for each allocated MethodData.
>
> (But you'd also need no-arg variants of initialize() and init() other 
> callers, such as reprofile in jvmciCompilerToVM.cpp .... )
>
> and why do we have MethodData::initialize() and MethodData::init()??

Ew, I don't really want to change this with this patch.  The implicit 
calls are now explicit so they look bad, so maybe someone can rewrite 
these.  I don't know why both exist either!
>
> [2] Not a big deal, but should the variables be renamed from mh to m?
>
> void TieredThresholdPolicy::print_counters(const char* prefix, Method* 
> mh) {
>
> void TieredThresholdPolicy::print_event(EventType type, Method* mh, 
> Method* imh,
>                                         int bci, CompLevel level) {
>

I fixed these and retested.

Thanks!
Coleen
>
> Thanks
> - Ioi



More information about the hotspot-runtime-dev mailing list