--- a/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp Fri May 22 13:35:29 2015 +0200
+++ b/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp Mon May 25 09:28:47 2015 +0200
@@ -1469,7 +1469,9 @@
} else {
guarantee(in_bytes(PtrQueue::byte_width_of_active()) == 1,
"Assumption");
- flag_type = T_BYTE;
+ // Use unsigned type T_BOOLEAN here rather than signed T_BYTE since some platforms, eg. ARM,
+ // need to use unsigned instructions to use the large offset to load the satb_mark_queue.
+ flag_type = T_BOOLEAN;
}
LIR_Opr thrd = getThreadPointer();
LIR_Address* mark_active_flag_addr =