IBM Support

IV80558: POOR EXECUTION PERFORMANCE DUE TO OVER-AGGRESSIVE LOOP OPTIMIZAT ION

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: The performance problem will show up as poor
    execution performance on a computationally bound workload
    running in a relatively tight iterative loop. Profiling will
    show large amounts of execution time spent at high method
    offsets running cold code.
    .
    Stack Trace: N/A
    .
    

Local fix

  • This issue can be worked around by applying the following Java
    option to methods which may be suffering from this problem:
    -Xjit:{package/Class.method(signature)}(disableLoopVersioner)
    This option will, in general, cause noticeable performance
    degradation in correctly optimized methods and should be used
    with great care.
    

Problem summary

  • The Loop Versioner optimization in the JIT compiler attempts to
    speed up loop execution by speculatively moving tests out of a
    loop body when they can be conservatively tested in a loop
    invariant manner ahead of the loop. In some circumstances it was
    possible for these optimizations to create a mutually exclusive
    sequence of tests leading to the hot loop being recognized as
    dead code and the unoptimized loop being executed at runtime.
    

Problem conclusion

  • The loop related optimizations in the JIT compiler have been
    enhanced to avoid generating conflicting tests to allow the
    optimized loop to execute to the greatest extent possible.
    .
    This APAR will be fixed in the following Java Releases:
       7    SR10      (7.0.10.0)
       8    SR2 FP10  (8.0.2.10)
       6    SR16 FP20 (6.0.16.20)
    .
    Contact your IBM Product's Service Team for these Service
    Refreshes and Fix Packs.
    For those running stand-alone, information about the available
    Service Refreshes and Fix Packs can be found at:
               https://www.ibm.com/developerworks/java/jdk/
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV80558

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    260

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-01-19

  • Closed date

    2016-01-19

  • Last modified date

    2016-01-19

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

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

Fix information

  • Fixed component name

    JIT

  • Fixed component ID

    620700124

Applicable component levels

  • R260 PSY

       UP

  • R130 PSY

       UP

  • R600 PSY

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSC9HBA","label":"Just In Time (JIT) Compiler"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"260","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
19 January 2016