RFR(s): 8144573: TLABWasteIncrement=max_jint fires an assert on SPARC for non-G1 GC mode

sangheon sangheon.kim at oracle.com
Wed Jan 6 00:31:05 UTC 2016

Hi all,

Could I have reviews for the below change to remove size 
limitation(<4096) of TLABWasteIncrement on SPARC?

Current implementation uses 'add(Register, int, Register)' which has 
13bit limitation for 'int' parameter.
I changed to use 'set64' to load the value to register and then call 
'add'. 'set64' will run cheap path as the range of TLABWasteIncrememt is 
(0, max_juint).

This assert is only fired on non-G1 mode as G1 is the only GC that 
returns false from Universe::heap()->supports_inline_contig_alloc() by 
default option. And this decides to fall that routine.

I didn't add a test as current TestOptionsWithRanges.java is enough to 
test this case with nightly option rotation.

CR: https://bugs.openjdk.java.net/browse/JDK-8144573
Webrev: http://cr.openjdk.java.net/~sangheki/8144573/webrev.00/
Testing: JPRT, manual test on SPARC[1]

[1]: java -XX:TLABWasteIncrement=4096(and some larger values as well) 
-XX:+UseConcMarkSweepGC(UseParallelGC and UseSerialGC) -version


More information about the hotspot-gc-dev mailing list