--- a/hotspot/src/cpu/ppc/vm/templateTable_ppc_64.cpp Fri Jun 24 15:09:00 2016 -0700
+++ b/hotspot/src/cpu/ppc/vm/templateTable_ppc_64.cpp Fri Jun 24 15:30:50 2016 -0700
@@ -1668,9 +1668,13 @@
__ lwz(Rscratch3, in_bytes(MethodData::backedge_mask_offset()), Rmdo);
__ addi(Rscratch2, Rscratch2, increment);
__ stw(Rscratch2, mdo_bc_offs, Rmdo);
- __ and_(Rscratch3, Rscratch2, Rscratch3);
- __ bne(CCR0, Lforward);
- __ b(Loverflow);
+ if (UseOnStackReplacement) {
+ __ and_(Rscratch3, Rscratch2, Rscratch3);
+ __ bne(CCR0, Lforward);
+ __ b(Loverflow);
+ } else {
+ __ b(Lforward);
+ }
}
// If there's no MDO, increment counter in method.
@@ -1680,9 +1684,12 @@
__ lwz(Rscratch3, in_bytes(MethodCounters::backedge_mask_offset()), R4_counters);
__ addi(Rscratch2, Rscratch2, increment);
__ stw(Rscratch2, mo_bc_offs, R4_counters);
- __ and_(Rscratch3, Rscratch2, Rscratch3);
- __ bne(CCR0, Lforward);
-
+ if (UseOnStackReplacement) {
+ __ and_(Rscratch3, Rscratch2, Rscratch3);
+ __ bne(CCR0, Lforward);
+ } else {
+ __ b(Lforward);
+ }
__ bind(Loverflow);
// Notify point for loop, pass branch bytecode.