Request for reviews (XXL): 6961697: move nmethod constants section before instruction section
Christian Thalinger
christian.thalinger at oracle.com
Wed Jul 7 09:43:00 PDT 2010
http://cr.openjdk.java.net/~twisti/6961697/webrev.01/
6961697: move nmethod constants section before instruction section
Summary: This is a preparation for 6961690.
Reviewed-by:
To better support PC-relative addressing of nmethod constant table
entries on SPARC, the constants section should be moved before the
instruction section. This is a preparation for 6961690.
The changes are rather big because of some method renamings that were
necessary since the old naming would have been confusing:
CodeBlob::instruction_* -> CodeBlob::code_*
nmethod::code_* -> nmethod::insts_*
CodeBlob::code_* methods refer to memory that belongs to the code
section (consts, insts, and stubs that is). nmethod methods are named
as the corresponding section (consts_*, insts_*, stub_*).
There are a couple of XXX comments in the changes where it isn't clear
if e.g. an instruction_begin() call really means the beginning of the
instructions or actually the beginning of the code section. Please
examine these changes carefully!
Testing: DaCapo, JPRT
I also did some ad-hoc benchmarking to see if there is a
regression:
intelsdv03, linux-i486, C2:
============================================================================
logs.baseline/
Benchmark Samples Mean Stdev Geomean
Weight
specjbb2005 1 4617.76
============================================================================
logs.6961697/
Benchmark Samples Mean Stdev %Diff P
Significant
specjbb2005 1 4636.10 0.40
============================================================================
intelsdv03, linux-amd64, C2, -UseCompressedOops:
============================================================================
logs.baseline/
Benchmark Samples Mean Stdev Geomean
Weight
specjbb2005 1 132830.27
============================================================================
logs.6961697/
Benchmark Samples Mean Stdev %Diff P
Significant
specjbb2005 1 135457.54 1.98
============================================================================
terminus, solaris-sparc, C2:
============================================================================
logs.baseline/
Benchmark Samples Mean Stdev Geomean
Weight
specjbb2005 1 42813.38
============================================================================
logs.6961697/
Benchmark Samples Mean Stdev %Diff P
Significant
specjbb2005 1 43100.68 0.67
============================================================================
terminus, solaris-sparcv9, C2, -UseCompressedOops:
============================================================================
logs.baseline/
Benchmark Samples Mean Stdev Geomean
Weight
specjbb2005 1 34427.36
============================================================================
logs.6961697/
Benchmark Samples Mean Stdev %Diff P
Significant
specjbb2005 1 34359.02 -0.20
============================================================================
More information about the hotspot-compiler-dev
mailing list