Selectively disabling JIT options for WebSphere Application Server V3.5, V4.0, V5.0, V5.1 and V6.0
 Technote (troubleshooting)
 
Problem(Abstract)
Basic debugging options for the Just In Time (JIT) compiler using the variable, JITC_COMPILEOPT, for the Java™ SDK that is installed with WebSphere® Application Server.
 
Cause
You can disable the JIT and interpret the bytecode to resolve multiple problems with the JIT compiler.
 
Resolving the problem
The JIT compiler provides a comprehensive set of conditional code points that you can switch in and out by using environment variables. These variables are called the JIT compile options. All these options take the following form:
JITC_COMPILEOPT=value
You can set a value to disable a specific part of the JIT.

You can set the environment variable, JITC_COMPILEOPT, on WebSphere Application Server V3.5, V4.0, V5.0, V5.1 and V6.0. Select the version of WebSphere you want from the following list:

WebSphere Application Server V6.0
WebSphere Application Server V5.1, 5.0
WebSphere Application Server V4.0
WebSphere Application Server V3.5
JIT compiler options




WebSphere Application Server V6.0
To set the following Environment Entries from the administrative console in WebSphere versions V6.0 and WebSphere V6.0.1, follow these steps:
  1. Open the Administrative Console.
  2. Select Servers > Application Servers > server_name > Java and Process Management > Process Definition > Environment Entries > New.
  3. If you are using WebSphere Application Server V6.0.2 or greater, navigate in the Administrative Console to: Application servers > server_name > (Expand Java and Process Management) > Process Definition > Custom Properties
  4. Add the following Name/Value pairs:
    Name: JITC_COMPILEOPT
    Value: value
  5. Make sure that you save your changes to the master configuration and restart the Application Server.


WebSphere Application Server V5.0 and V5.1
To set the following Environment Entries from the administrative console in WebSphere versions V5.0 and WebSphere V5.1, follow these steps:
  1. Open the Administrative Console
  2. Select Servers > Application Servers > server_name > Process Definition > Environment Entries > New.
  3. Add the following Name/Value pairs:
    Name: JITC_COMPILEOPT
    Value: value
  4. Make sure that you save your changes to the master configuration and restart the Application Server.


WebSphere Application Server V4.0
To set the Environment Entries from startupServer script in WebSphere V4.0, follow these steps:
  1. Open the startupServer script and add the following lines:
    JITC_COMPILEOPT=value
    export JITC_COMPILEOPT

    Location of startupServer script:
    AIX®
    /usr/WebSphere/AppServer/bin/startupServer.sh

    HP-UX, Linux®, and Solaris™:
    /opt/WebSphere/AppServer/bin/startupServer.sh

    Microsoft® Windows®:
    In the adminserver.bat file, located in the install_root\AppServer\bin directory, set the JITC_COMPILEOPT environment variable:

    SET JITC_COMPILEOPT=value
  2. Apply the change, then stop and restart the WebSphere Application Server using the adminserver file.

To set the Environment Entries from the Administrative Console in WebSphere V4.0, follow these steps:
  1. Select Nodes > node_name > Application Servers > server_name.
  2. Click Environment... in the General Pane.
  3. Add the following Name/Value pairs and click OK button
    Name: JITC_COMPILEOPT
    Value: value
  4. Make sure that you save the changes by clicking Apply button and restart Application Server.


WebSphere Application Server V3.5
To set the following Environment Entries in WebSphere V3.5, follow these steps:

For Windows platforms:
  1. Set the JITC_COMPILEOPT environment variable in the adminserver.bat file, located in the install_root\AppServer\bin\debug directory:
    SET JITC_COMPILEOPT=value
  2. Apply the change, then stop and restart the WebSphere Application Server using the adminserver.bat file.

On UNIX® platforms:
Edit install_root/AppServer/bin/startupServer.sh as follows:
JITC_COMPILEOPT=value
export JITC_COMPILEOPT



JIT compiler options
The basic JIT compile options are:

To disable on-the-fly hot JITC compilation:
JITC_COMPILEOPT=NMMI2JIT

To disable method inlining:
JITC_COMPILEOPT=NINLINING

To disable intermediate code optimizations:
JITC_COMPILEOPT=NQOPTIMIZE

To disable both global and method-local optimizations:
JITC_COMPILEOPT=NALL

To skip using a package, class or method use the following parameters:

COMPILING Output which methods are compiled or are skipped while being compiled
SKIP Skip compiling all methods
SKIP{P/C}{M} Skip the M method from the C class in the P package
SKIP{P1/C1}{M1}{P2/C2}{M2} Skip compiling both P1.C1.M1() and P2.C2.M2() methods
NALL Syntax as with SKIP except that it disables only optimization of methods.

You can determine a failing method to skip as a temporary workaround by having a support representative review the compiling output and the JIT Problem Determination guide.

These options can be combined:
  • On UNIX use : (colon)
  • On Windows ; (semicolon)

The C and M can be a wildcard specification. For example:
JITC_COMPILEOPT=
COMPILING:SKIP{P1/*}{*}
{P2/Q2/C2}{M2}:NALL{P3/C3}{*}


This example shows what is compiled, skips everything in package P1 and the P2.Q2.C2.M2() method, and disables optimization of every method in the P3.C3 class.
 
 
Cross Reference information
Segment Product Component Platform Version Edition
Application Servers Runtimes for Java Technology Java SDK
 
 


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > Java SDK
Operating system(s): Windows
Software version: 6.0
Software edition:
Reference #: 1162255
IBM Group: Software Group
Modified date: Jul 19, 2006