Selectively disabling JIT options for WebSphere Application Server V3.5, V4.0, V5.0, V5.1 and V6.0

Technote (FAQ)
Problem
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.
Solution
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 have a name of the 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.

WebSphere Application Server V3.5
  • Microsoft® Windows® platforms
    In the adminserver.bat file, located in the WAS_HOME\AppServer\bin\debug directory, set the JITC_COMPILEOPT environment variable:

    SET JITC_COMPILEOPT=value

    Apply the change, then stop and restart the WebSphere Application Server using the adminserver.bat file.

  • UNIX® platforms
    Edit WAS_HOME/AppServer/bin/startupServer.sh

    JITC_COMPILEOPT=value
    export JITC_COMPILEOPT

WebSphere Application Server V4.0
  • Edit startupServer script

    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
    • Windows
      In the adminserver.bat file, located in the WAS_HOME\AppServer\bin directory, set the JITC_COMPILEOPT environment variable:

      SET JITC_COMPILEOPT=value

      Apply the change, then stop and restart the WebSphere Application Server using the adminserver.bat file.

  • Or use administrative Console
    1. To set the following Environment Entries from the Administrative Console, select Nodes >Node Name> Application Servers >Server Name
    2. Click Environment... in 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.


On WebSphere Application Server V5.0 and V5.1
  1. To set the following Environment Entries from the Administrative Console, select Servers > Application Servers >Server Name> Process Definition > Environment Entries > New.

  2. Add the following Name/Value pairs:

    Name: JITC_COMPILEOPT
    Value: value

  3. Make sure that you save the changes to the master configuration and restart Application Server.
On WebSphere Application Server V6.0
  1. To set the following Environment Entries from the Administrative Console, select Servers > Application Servers >Server Name> Java and Process Management> Process Definition > Environment Entries > New.

  2. Add the following Name/Value pairs:

    Name: JITC_COMPILEOPT
    Value: value

  3. Make sure that you save the changes to the master configuration and restart Application Server.

The basic JIT compile options are:
  1. To disable on-the-fly hot JITC compilation:

    JITC_COMPILEOPT=NMMI2JIT
  2. To disable method inlining:

    JITC_COMPILEOPT=NINLINING
  3. To disable intermediate code optimizations:

    JITC_COMPILEOPT=NQOPTIMIZE
  4. To disable both global and method-local optimizations:

    JITC_COMPILEOPT=NALL
  5. To skip using a package, class or method use the following parameters:
    COMPILINGOutput which methods are compiled or are skipped while being compiled
    SKIPSkip 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
    NALLSyntax 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}{*}


    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.











Document Information

Product categories: Software, Application Servers, Distributed Application & Web Servers, WebSphere Application Server, Java SDK
Operating system(s): AIX, Windows 2000, Windows NT
Software version: 3.5.7, 4.0, 5.0, 5.1, 6.0
Software edition: Advanced
Reference #: 1162255
IBM Group: Software Group
Modified date: 2005-01-20