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

Roland Westrelin roland.westrelin at oracle.com
Mon Apr 8 06:44:29 PDT 2013


> Thanks for pointing those out. For the issue with AdvancedThresholdPolicy::update_rate() and  InterpreterRuntime::exception_handler_for_exception(), how about checking and clearing the pending exception in the private Method::get_method_counters()? 
> 
> 
>   MethodCounters* get_method_counters(TRAPS) {
>     if (_method_counters == NULL) {
>       build_method_counters(this, 
> CHECK_AND_CLEAR_NULL
> );
>     }
>     return _method_counters;
>   }
> 
> 
> For ciMethod::ensure_method_counters() and ciReplay::initialize(), change the calls build_method_counters() to also use the CHECK_AND_CLEAR_* variations?
> 
>    mcs = Method::build_method_counters(method, CHECK_AND_CLEAR);

That sounds good. Maybe also asserting that there's no pending exception before the calls that can throw an OOM exception would be safer.

Roland.


More information about the hotspot-runtime-dev mailing list