hotspot/src/share/vm/services/dtraceAttacher.cpp
void DTrace::set_extended_dprobes(bool flag) {
{- -------------------------------------------
(1) ExtendedDTraceProbes オプションの値を flag 引数で指定された値にセットするだけ.
---------------------------------------- -}
// explicit setting of ExtendedDTraceProbes flag
set_bool_flag("ExtendedDTraceProbes", flag);
{- -------------------------------------------
(1) flag 引数の値に応じて, DTrace::enable_dprobes() または DTrace::disable_dprobes() を呼び出す.
---------------------------------------- -}
// make sure that the fine grained flags reflect the change.
if (flag) {
enable_dprobes(DTRACE_ALL_PROBES);
} else {
/*
* FIXME: Revisit this: currently all-client-detach detection
* does not work and hence disabled. The following scheme does
* not work. So, we have to disable fine-grained flags here.
*
* disable_dprobes call has to be delayed till next "detach all "event.
* This is to be done so that concurrent DTrace clients that may
* have enabled one or more fine grained dprobes and may be running
* still. On "detach all" clients event, we would sync ExtendedDTraceProbes
* with fine grained flags which would take care of disabling fine grained flags.
*/
disable_dprobes(DTRACE_ALL_PROBES);
}
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.