IBM Support

IJ15187: DIVISION BY CERTAIN CONSTANTS IS OPTIMIZED INCORRECTLY ON BIG-ENDIAN POWER

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: N/A
    .
    Stack Trace: N/A
    .
    Performing 64-bit division of non-constant values by the
    constants 12884901888 (0x300000000), 21474836480 (0x500000000),
    30064771072 (0x700000000), 38654705664 (0x900000000),
    42949672960 (0xa00000000), or 51539607552 (0xc00000000) on
    big-endian Power machines may return incorrect results in JITted
    methods. This affects both Linux and AIX on big-endian Power
    running Java 8. This issue does not affect Java 7 or prior, nor
    does it affect little-endian Power or any other architectures.
    

Local fix

  • N/A
    

Problem summary

  • During optimization on certain architectures, division of
    non-constant values by known constants is optimized into a
    multiplication by a magic value to avoid long-latency division
    instructions. The function for doing this was returning
    incorrect magic values for certain large denominators due to an
    endianness bug that would result in an internal table being read
    with the two words of a 64-bit integer reversed.
    

Problem conclusion

  • The optimizer has been fixed to return the correct magic values
    for all denominators regardless of the endianness of the
    machine.
    .
    This APAR will be fixed in the following Java Releases:
       8    SR5 FP35  (8.0.5.35)
    .
    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

    IJ15187

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    130

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-04-01

  • Closed date

    2019-04-01

  • Last modified date

    2019-04-01

  • 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

[{"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":"130","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
01 April 2019