--- old/src/share/vm/opto/loopopts.cpp 2017-09-21 09:18:01.176998279 +0200 +++ new/src/share/vm/opto/loopopts.cpp 2017-09-21 09:18:01.096998280 +0200 @@ -1015,6 +1015,11 @@ Node* m = n->fast_out(j); if (m->is_FastLock()) return false; + if (m->is_ValueType()) { + // TODO this breaks optimizations! + // Value types should not be split through phis + //return false; + } #ifdef _LP64 if (m->Opcode() == Op_ConvI2L) return false;