Limitations when profiling an application on AS/400

 

AS/400 JVMPI method entry and method exit limitations

Method entry/exit events are not implemented for optimization level 40 Direct Execution (DE) code. This is the default mode of the JDK code. If these events are needed for the JDK classes, run the application in JIT or Interpret mode. The default mode for the iSeries JVM is mixed-mode. That is, if DE code is present, it is used. Otherwise the JIT generates code as needed. See the Startup Information in the JVMPI specification for AS/400 for more JIT information.

 

Profiling with Direct Execution enabled can lead to unpredictable results

Profiling with Direct Execution (DE) mode enabled for certain classes can lead to unpredictable results, especially if you are profiling with the Execution time analysis option enabled, i.e.

STACK_INFORMATION takes on one of the documented values other than NONE 
(STACK_INFORMATION=normal, or STACK_INFORMATION=contiguous, etc), 
and TRACE_MODE is not equal to NONE.  

The user should only profile in pure JIT mode with the VM arguments '-Dos400.enbpfrcol=1 -Djava.compiler=jitc' or in interpreted mode with the VM argument '-interpret'.

Related concepts
Overview of the Profiling Tool
Profiling monitor view

Related tasks
Profiling an application

Related references
Profiling resources