--- a/hotspot/src/share/vm/opto/macro.cpp Mon Jan 11 14:23:35 2016 +0100
+++ b/hotspot/src/share/vm/opto/macro.cpp Tue Jan 12 09:19:09 2016 +0100
@@ -1813,10 +1813,11 @@
// there can be two Allocates to one Initialize. The answer in all these
// edge cases is safety first. It is always safe to clear immediately
// within an Allocate, and then (maybe or maybe not) clear some more later.
- if (!ZeroTLAB)
+ if (!(UseTLAB && ZeroTLAB)) {
rawmem = ClearArrayNode::clear_memory(control, rawmem, object,
header_size, size_in_bytes,
&_igvn);
+ }
} else {
if (!init->is_complete()) {
// Try to win by zeroing only what the init does not store.