RFR: 8278079: C2: expand_dtrace_alloc_probe doesn't take effect in macro.cpp

Tobias Hartmann thartmann at openjdk.java.net
Thu Dec 2 12:44:25 UTC 2021


On Wed, 1 Dec 2021 15:41:07 GMT, Denghui Dong <ddong at openjdk.org> wrote:

> Hi,
> 
> Could I have a review of this small fix that makes expand_dtrace_alloc_probe take effect?
> 
> Thanks,
> Denghui

But isn't the intention of this code to always go to the slow path when `DTraceAllocProbes` is true (hence the `expand_fast_path = false;`) and apply dtrace probes in the runtime?

`ExtendedDTraceProbes` is then there to `Enable performance-impacting dtrace probes`, i.e. add dtrace probes to the fast allocation path in C2. And it's only used when `ExtendedDTraceProbes` is false.

src/hotspot/share/opto/macro.cpp line 1650:

> 1648:     call->init_req(TypeFunc::Control, ctrl);
> 1649:     call->init_req(TypeFunc::I_O    , top()); // does no i/o
> 1650:     call->init_req(TypeFunc::Memory , rawmem);

Good catch, looks like this was introduced by JDK-8237581.

-------------

PR: https://git.openjdk.java.net/jdk/pull/6639


More information about the hotspot-compiler-dev mailing list