Issue Details (XML | Word | Printable)

Key: RVM-351
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Blocker Blocker
Assignee: Ian Rogers
Reporter: Ian Rogers
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
RVM

Javac regression

Created: 27/Nov/07 05:52 PM   Updated: 29/Nov/07 02:43 PM
Component/s: Compiler: Optimizing
Affects Version/s: None
Fix Version/s: 2.9.3

Time Tracking:
Not Specified


 Description  « Hide
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.



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Ian Rogers added a comment - 28/Nov/07 04:11 AM
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.

Ian Rogers added a comment - 29/Nov/07 02:43 PM
Passed the last lot of performance tests so closing.