Using VTune for HotSpot profiling (is UseVTune still functional and required?)
Alan Bateman
Alan.Bateman at Sun.COM
Mon Mar 31 10:39:16 PDT 2008
Volker Simonis wrote:
> Hi,
>
> does anybody know if the UseVTune option is still supported and
> functional. I browsed the code and saw that the vtune interface in
> "src/share/vm/runtime/vtune.hpp" is only implemented for Windows, but
> empty for Linux.
>
> Does anybody have experience in profiling the HotSpot with VTune on
> Linux? Do I need to implement the vtune interface mentioned above, or
> does it work out of the box?
>
> The VTune documentation states that it gets JIT information from the
> VM but I couldn't find out until now how this exactly works. An older
> VTune paper stated JVMPI, but I suppose this should be JVMTI now. As
> far as I know, it is possible to get JIT compilation information
> trough JVMTI, but no information about generated template code, stubs
> and adapters. This would line up with the VTune documentation which
> states that there may be a fair amount of non-assignable PCs which
> correspond to VM code that shouldn't bother the Java programmer:)
>
> Any hints are greatly appreciated!
>
AFAIK, VTune uses JVM TI on Linux but still uses the older (and
deprecated) JVMPI on Windows. In JVM TI the DynamicCodeGenerated event
is invoked with the address range for the interpreter, stubs, and other
generated code. It would be interesting to track down the
"non-assignable PCs" in case there are any places where we are missing
events.
-Alan.
More information about the hotspot-dev
mailing list