IZ83215: JAVA JIT - LONG COMPILATION TIMES

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Error Message: Long compilation times (1-5min observed)
    resulting in long GC delays in Java5 (The problem exists in
    Java6, but it does not cause GC delays).
    When the delay is seen the stack trace would contain several
    recursive calls to the following JIT compiler function:
    lookForModifiedParameters__28TR_ParameterToArgumentMapperFP7TR_N
    ode()
    .
    Stack Trace:
    lookForModifiedParameters__28TR_ParameterToArgumentMapperFP7TR_N
    ode() at 0xd207ad94
    ...
    lookForModifiedParameters__28TR_ParameterToArgumentMapperFP7TR_N
    ode() at 0xd207ad98
    lookForModifiedParameters__28TR_ParameterToArgumentMapperFv() at
    0xd207ad18
    initialize__28TR_ParameterToArgumentMapperFv() at 0xd2078a44
    inlineCallSite__14TR_InlinerBaseFP23TR_ResolvedMethodSymbolP12TR
    _CallStackP10TR_TreeTopP7TR_NodeT4P24TR_VirtualGuardSelectionP19
    TR_OpaqueClassBlocki() at 0xd2077e58
    inlineCallSite__14TR_InlinerBaseFP23TR_ResolvedMethodSymbolP12TR
    _CallStackP10TR_TreeTopP7TR_NodeT4P24TR_VirtualGuardSelectionP19
    TR_OpaqueClassBlockP14TR_PrexArgInfo() at 0xd2075350
    inlineCallSites__19TR_CallGraphInlinerFP23TR_ResolvedMethodSymbo
    lP12TR_CallStackP24TR_InnerPreexistenceInfo() at 0xd2076090
    performInlining__14TR_InlinerBaseFP23TR_ResolvedMethodSymbol()
    at 0xd2071350
    perform__10TR_InlinerFv() at 0xd20711f4
    IPRA.$performOptimization__16TR_OptimizerImplFPQ2_16TR_Optimizer
    Impl12OptimizationiN22() at 0xd1fdc2f8
    optimize__16TR_OptimizerImplFv() at 0xd1fdaf84
    performOptimizations__14TR_CompilationFv() at 0xd1f91acc
    compile__14TR_CompilationFv() at 0xd1f916b8
    .
    In general this problem will not last long enough to be mistaken
    for a hang (i.e. this problem should not cause delays that lasts
    for hours, only minutes). The problem can occur in Java5 and
    Java6 but the symptoms are more likely to remain hidden in
    Java6.  All IBM J9 platforms are effected including 32 and 64bit
    JVMs.
    

Local fix

  • The problem can be avoid by disabling the JIT optimization
    called inlining, but doing so will have a noticeable impact on
    the performance of JIT compiled code.
    -Xjit:disableInlining
    This option can be applied to a single method which will have
    very little impact on performance, but you will need to
    determine what method is causing the problem to occur in order
    limit the option to only one method.
    

Problem summary

  • The JIT compiler is recursively calling a function due to a
    string of Java methods where the parameter to one method call is
    the return value from the previous call.
    

Problem conclusion

  • This defect will be fixed in:
    5.0.0 SR13
    6.0.0 SR9
    .
    The JIT was modified to eliminate unnecessary recursion.
    .
    To obtain the fix:
    Install build 20100924 or later
    

Temporary fix

Comments

APAR Information

  • APAR number

    IZ83215

  • Reported component name

    JAVA 5 JIT

  • Reported component ID

    620500124

  • Reported release

    500

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2010-08-24

  • Closed date

    2010-09-29

  • Last modified date

    2010-09-29

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    IZ83220 IZ83221

Fix information

  • Fixed component name

    JAVA 5 JIT

  • Fixed component ID

    620500124

Applicable component levels

  • R500 PSN

       UP



Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

Runtimes for Java Technology
Just In Time (JIT) Compiler

Software version:

5.0

Reference #:

IZ83215

Modified date:

2010-09-29

Translate my page

Machine Translation

Content navigation