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