< prev index next >
src/share/vm/opto/loopopts.cpp
Print this page
@@ -1013,10 +1013,15 @@
if (n->is_Phi()) {
for (DUIterator_Fast jmax, j = n->fast_outs(jmax); j < jmax; j++) {
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;
if (m->is_CastII() && m->isa_CastII()->has_range_check()) {
return false;
< prev index next >