RVM

Javac regression

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Blocker Blocker
  • Resolution: Fixed
  • Affects Version/s: None
  • Fix Version/s: 2.9.3
  • Component/s: Compiler: Optimizing
  • Labels:
    None
  • Number of attachments :
    0

Description

When compiling the method spec.benchmarks._213_javac.Instruction.optimize with just O0 as in:

RVMROOT/dist/prototype-opt_x86_64-linux/rvm -X:aos:initial_compiler=base -X:aos:enable_recompilation=false org.jikesrvm.tools.oth.OptTestHarness -oc:O0 -methodOpt spec.benchmarks._213_javac.Instruction optimize - -main SpecApplication -m20 -M20 -a _213_javac

SPEC JVM's javac fails to pass its internal check. There is no expression folding occurring so my current thinking is this is a simplifier bug. This needs to be cleared up ASAP.

Activity

Hide
Ian Rogers added a comment -

When replacing the pattern cmp, setb, movzx with xor, cmp, setb the case of long compares need special attention as the xor can't come between the cmp and sbb combination. A fix to ensure that the flag setting instruction that the xor must come before doesn't use the eflags has been committed in r13902. I'll close the issue when we get some clean regression tests.

Show
Ian Rogers added a comment - When replacing the pattern cmp, setb, movzx with xor, cmp, setb the case of long compares need special attention as the xor can't come between the cmp and sbb combination. A fix to ensure that the flag setting instruction that the xor must come before doesn't use the eflags has been committed in r13902. I'll close the issue when we get some clean regression tests.
Hide
Ian Rogers added a comment -

Passed the last lot of performance tests so closing.

Show
Ian Rogers added a comment - Passed the last lot of performance tests so closing.

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: