Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2212476 | 8 | Jon Masamitsu | P3 | Resolved | Fixed | b01 |
JDK-2210178 | 7 | Jon Masamitsu | P3 | Closed | Fixed | b144 |
JDK-2212417 | hs22 | Jon Masamitsu | P3 | Resolved | Fixed | b01 |
I noticed that I have a perf regression with the current hotspot code on c2/arm compared to measurements I did several weeks ago. So I went back in time and found that on the day I pushed c2/arm to hotspot repos, the perf problem already existed. I pinpointed the change that led to the regression to be:
changeset: 2226:c7f3d0b4570f
user: never
date: Fri Mar 18 16:00:34 2011 -0700
summary: 7017732: move static fields into Class to prepare for perm gen removal
Between this changeset and its parent, best execution time of the javac subtest of specjvm98 goes from ~10 seconds to ~20 seconds. If I run the javac test alone (rather than as the last test of the specjvm98 subtest series), best execution time is ~15 seconds. If I force JavaObjectsInPerm to true, execution time is back to ~10 seconds.
c2 JavaObjectsInPerm=false vs c2 JavaObjectsInPerm=true
============================================================================
t
Benchmark Samples Mean Stdev
specjvm98 3 56.62 0.03
compress 3 76.27 0.04
javac 3 19.16 0.06
db 3 24.79 0.02
jack 3 34.64 0.11
mtrt 3 162.04 0.03
jess 3 67.20 0.06
mpegaudio 3 137.23 0.01
============================================================================
t2
Benchmark Samples Mean Stdev %Diff P Significant
specjvm98 3 74.95 0.00 32.37 0.002 Yes
compress 3 80.06 0.00 4.96 0.188 *
javac 3 35.27 0.02 84.06 0.000 Yes
db 3 24.70 0.00 -0.39 0.803 *
jack 3 78.49 0.05 126.57 0.000 Yes
mtrt 3 177.45 0.01 9.51 0.018 *
jess 3 99.82 0.01 48.54 0.002 Yes
mpegaudio 3 137.12 0.00 -0.08 0.884 *
============================================================================
changeset: 2226:c7f3d0b4570f
user: never
date: Fri Mar 18 16:00:34 2011 -0700
summary: 7017732: move static fields into Class to prepare for perm gen removal
Between this changeset and its parent, best execution time of the javac subtest of specjvm98 goes from ~10 seconds to ~20 seconds. If I run the javac test alone (rather than as the last test of the specjvm98 subtest series), best execution time is ~15 seconds. If I force JavaObjectsInPerm to true, execution time is back to ~10 seconds.
c2 JavaObjectsInPerm=false vs c2 JavaObjectsInPerm=true
============================================================================
t
Benchmark Samples Mean Stdev
specjvm98 3 56.62 0.03
compress 3 76.27 0.04
javac 3 19.16 0.06
db 3 24.79 0.02
jack 3 34.64 0.11
mtrt 3 162.04 0.03
jess 3 67.20 0.06
mpegaudio 3 137.23 0.01
============================================================================
t2
Benchmark Samples Mean Stdev %Diff P Significant
specjvm98 3 74.95 0.00 32.37 0.002 Yes
compress 3 80.06 0.00 4.96 0.188 *
javac 3 35.27 0.02 84.06 0.000 Yes
db 3 24.70 0.00 -0.39 0.803 *
jack 3 78.49 0.05 126.57 0.000 Yes
mtrt 3 177.45 0.01 9.51 0.018 *
jess 3 99.82 0.01 48.54 0.002 Yes
mpegaudio 3 137.12 0.00 -0.08 0.884 *
============================================================================
- backported by
-
JDK-2212417 30% perf regression with c2/arm following 7017732
- Resolved
-
JDK-2212476 30% perf regression with c2/arm following 7017732
- Resolved
-
JDK-2210178 30% perf regression with c2/arm following 7017732
- Closed
- relates to
-
JDK-7047954 VM crashes with assert(is_Mem()) failed: invalid node class
- Closed
-
JDK-7048030 is_scavengable changes causing compiler to embed more constants
- Closed