[10] RFR: 8179040: Avoid Ticks::now calls when EventClassLoad is not enabled

David Holmes david.holmes at oracle.com
Tue Apr 25 20:58:52 UTC 2017


Hi Claes,

On 25/04/2017 11:21 PM, Claes Redestad wrote:
> Hi,
>
> this patch removes calling Ticks::now when EventClassLoad isn't enabled,
> which has an effect on class loading performance:
>
> http://cr.openjdk.java.net/~redestad/8179040/hotspot.01/
>
> When tracing isn't enabled trace/tracing.hpp has dummy
> implementations which are easily optimized away by a compiler, which
> I've verified happens on linux OpenJDK builds with tracing disabled.

What you have done achieves your goal and could be pushed as-is.

That said, I would consider revisiting the conditional versus 
unconditional use of trace-related code in general. So that things like:

  649   EventClassLoad class_load_start_event;
  895   post_class_load_event(&class_load_start_event, k, loader_data);

were done using TRACE_ONLY, so that all trace-related code was 
completely excluded when not using INCLUDE_TRACE.

Thanks,
David

> On builds with tracing enabled then the changes means the call to
> get the time only happen if the event is enabled, which achieves the
> sought after startup optimization. >
> Thanks!
>
> /Claes


More information about the hotspot-runtime-dev mailing list