United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6810845 Performance regression in mpegaudio on x64
JDK-6810845 : Performance regression in mpegaudio on x64

Details
Type:
Enhancement
Submit Date:
2009-02-26
Status:
Resolved
Updated Date:
2010-04-03
Project Name:
JDK
Resolved Date:
2009-04-08
Component:
hotspot
OS:
solaris_10
Sub-Component:
compiler
CPU:
x86
Priority:
P3
Resolution:
Fixed
Affected Versions:
hs15
Fixed Versions:
hs15 (b05)

Related Reports
Backport:
Backport:
Relates:

Sub Tasks

Description
The regression was introduced by changes in

6743900: frequency based block layout

Switching off BlockLayoutByFrequency does not help.

i% gamma -showversion SpecApplication -s100 -M5 -m5 -g -d3000 -a _222_mpegaudio | grep Finished
java version "1.6.0_06-p"
Java(TM) SE Runtime Environment (build 1.6.0_06-p-b04)
OpenJDK 64-Bit Server VM (build 14.0-b06-2008-10-31-000942.never.6764622, mixed mode)

======= _222_mpegaudio Finished in 1.572 secs
======= _222_mpegaudio Finished in 1.238 secs
======= _222_mpegaudio Finished in 1.214 secs
======= _222_mpegaudio Finished in 1.213 secs
======= _222_mpegaudio Finished in 1.208 secs

% gamma -showversion SpecApplication -s100 -M5 -m5 -g -d3000 -a _222_mpegaudio | grep Finished
java version "1.6.0_06-p"
Java(TM) SE Runtime Environment (build 1.6.0_06-p-b04)
OpenJDK 64-Bit Server VM (build 14.0-b06-2008-11-06-230423.rasbold.6743900, mixed mode)

======= _222_mpegaudio Finished in 1.786 secs
======= _222_mpegaudio Finished in 1.454 secs
======= _222_mpegaudio Finished in 1.425 secs
======= _222_mpegaudio Finished in 1.426 secs
======= _222_mpegaudio Finished in 1.422 secs

% gamma -XX:-BlockLayoutByFrequency -showversion SpecApplication -s100 -M5 -m5 -g -d3000 -a _222_mpegaudio | grep Finished
java version "1.6.0_06-p"
Java(TM) SE Runtime Environment (build 1.6.0_06-p-b04)
OpenJDK 64-Bit Server VM (build 14.0-b06-2008-11-06-230423.rasbold.6743900, mixed mode)

======= _222_mpegaudio Finished in 1.799 secs
======= _222_mpegaudio Finished in 1.471 secs
======= _222_mpegaudio Finished in 1.446 secs
======= _222_mpegaudio Finished in 1.445 secs
======= _222_mpegaudio Finished in 1.441 secs

                                    

Comments
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/fbc12e71c476
                                     
2009-03-27
PUBLIC COMMENTS

Problem:
Fix for 6743900 normalized blocks frequency with First block
frequency equals to 1.0. The fix reduced frequencies in average.
Register Allocator relays on blocks frequencies and in some
places it has static values against which it compares frequencies.
As result of 6743900 fix some of the code under the frequencies
checks is not triggered. In the bug case the code which is not
executed is LRG spilling for debug info in uncommon blocks which
prevents spilling in hot paths for high LRGs.
And this causes performance regression.

Solution:
Used the outer loop frequency in frequencies checks in RA
instead of static values. Also add the check for
uncommon blocks.
Fixed performance issue with compressed oops which converts
types to Bottom for memory operations which use a compressed 
oop as base.
Switch on by default BlockLayoutRotateLoops to improve performance.
                                     
2009-03-31



Hardware and Software, Engineered to Work Together