[9] RFR (XS): 8151708: C1 FastTLABRefill can allocate TLABs past the end of the heap

Zoltán Majó zoltan.majo at oracle.com
Thu Apr 14 11:47:28 UTC 2016


Hi,


please review the patch for 8151708.

https://bugs.openjdk.java.net/browse/JDK-8151708

Problem: On solaris_sparc, the VM can set the TLAB's top pointer to a 
value past the end of the Java heap. The problem appears with large 
values of MinTLABSize.The reason for the problem is that the 'brcs' 
instruction at

http://hg.openjdk.java.net/jdk9/hs-comp/hotspot/file/a76d63163758/src/cpu/sparc/vm/macroAssembler_sparc.cpp#l3260
http://hg.openjdk.java.net/jdk9/hs-comp/hotspot/file/a76d63163758/src/cpu/sparc/vm/macroAssembler_sparc.cpp#l3265

checks the condition codes in 'icc' (32-bit), but not in 'xcc' (64-bit).

Solution: As the VM is handling addresses at the above-mentioned 
locations, the appropriate condition codes are supposed to be checked. 
Use 'BPcc' instead of 'Bicc' at these locations.

Webrev:
http://cr.openjdk.java.net/~zmajo/8151708/webrev.00/

Testing:
- JPRT
- reproducer on solaris_sparc.

Thank you!

Best regards,


Zoltan



More information about the hotspot-compiler-dev mailing list