Request for reviews (L): 7009309: JSR 292: compiler/6991596/Test6991596.java crashes on fastdebug JDK7/b122
Christian Thalinger
christian.thalinger at oracle.com
Mon Jan 24 04:42:18 PST 2011
HEADS-UP: Please take a look at this one (or review it) if you are using or supporting older pre-SSE2 systems or use UseSSE=0 or UseSSE=1! Thank you!
http://cr.openjdk.java.net/~twisti/7009309/webrev.01/
7009309: JSR 292: compiler/6991596/Test6991596.java crashes on fastdebug JDK7/b122
Reviewed-by:
The reason the test fails is because of the extra cleanup code in the
I2C adapter that's executed in C2 when SSE2 is not available (or
UseSSE=1 is used).
The suggested fix is to remove that extra logic completely and always
do the FPU cleaning when SSE2 is not available. This would also be a
nice cleanup of the code in question.
I did a refworkload run of specjvm98_client with 5 iterations and
-Xint on a dual P3 system and it's slightly slower:
============================================================================
logs.baseline-Xint
Benchmark Samples Mean Stdev Geomean Weight
specjvm98_client 5 11.78 0.10
============================================================================
logs.fix-Xint
Benchmark Samples Mean Stdev %Diff P Significant
specjvm98_client 5 11.63 0.09 -1.27 0.035 *
============================================================================
This slowdown would only apply to very old systems and given the fact
that most x86 chips today are 64-bit and/or have SSE2, I think this
should not be a big deal. And for smaller systems which use C1 and
rely on startup performance this does not apply anyway.
However, in mixed mode the slowdown should completely disappear as the
extra code is only executed when returning from compiled code to the
interpreter. A quick mixed mode run on that system even shows a
speedup:
============================================================================
logs.baseline
Benchmark Samples Mean Stdev Geomean Weight
specjvm98_client 5 66.81 2.31
============================================================================
logs.fix
Benchmark Samples Mean Stdev %Diff P Significant
specjvm98_client 5 68.20 2.04 2.08 0.343 *
============================================================================
More information about the hotspot-dev
mailing list