Request for review: 8010862: The Method counter fields used for profiling can be allocated lazily

Roland Westrelin roland.westrelin at oracle.com
Wed Apr 3 08:35:08 PDT 2013


Hi Jiangli,

> Please review the following change for 8010862.
> 
>  http://cr.openjdk.java.net/~jiangli/8010862/webrev.00/

parseHelper.cpp:

Why did you add a ctrl edge to the store (it didn't have one before)?

c1_LIRGenerator.cpp:

3047   LIR_Opr meth = new_register(T_METADATA);
3048   __ metadata2reg(method->constant_encoding(), meth);

is not used unless notify is true, right? I would move that code to the if (notify) {

In advancedThresholdPolicy.cpp:

If you get an exception in AdvancedThresholdPolicy::update_rate() you're leaving it pending and returning. Shouldn't you clear it?

ciMethod.cpp:

Same thing with ciMethod::ensure_method_counters(), the exception is left pending.

ciReplay.cpp:

The method counters allocation can fail here as well, right?

interpreterRuntime.cpp:
An exception would be left pending in InterpreterRuntime::exception_handler_for_exception().

In compilationPolicy.cpp:
The assert(mcs != NULL, "");
a useful message why mcs cannot be null here?

The rest looks good to me.

Roland.


More information about the hotspot-runtime-dev mailing list