8151708: C1 FastTLABRefill can allocate TLABs past the end of the heap
authorzmajo
Fri, 15 Apr 2016 07:54:31 +0200
changeset 38042 95b4f1f6cb72
parent 38041 eae42e8b1a4b
child 38043 6d3cae25efbb
8151708: C1 FastTLABRefill can allocate TLABs past the end of the heap Summary: Use branch instruction that checks xcc instead of icc. Reviewed-by: kvn, thartmann
hotspot/src/cpu/sparc/vm/macroAssembler_sparc.cpp
--- a/hotspot/src/cpu/sparc/vm/macroAssembler_sparc.cpp	Thu Apr 14 18:15:41 2016 +0200
+++ b/hotspot/src/cpu/sparc/vm/macroAssembler_sparc.cpp	Fri Apr 15 07:54:31 2016 +0200
@@ -3257,12 +3257,12 @@
     if (var_size_in_bytes->is_valid()) {
       // size is unknown at compile time
       cmp(free, var_size_in_bytes);
-      br(Assembler::lessUnsigned, false, Assembler::pn, slow_case); // if there is not enough space go the slow case
+      brx(Assembler::lessUnsigned, false, Assembler::pn, slow_case); // if there is not enough space go the slow case
       delayed()->add(obj, var_size_in_bytes, end);
     } else {
       // size is known at compile time
       cmp(free, con_size_in_bytes);
-      br(Assembler::lessUnsigned, false, Assembler::pn, slow_case); // if there is not enough space go the slow case
+      brx(Assembler::lessUnsigned, false, Assembler::pn, slow_case); // if there is not enough space go the slow case
       delayed()->add(obj, con_size_in_bytes, end);
     }
     // Compare obj with the value at top_addr; if still equal, swap the value of