< prev index next >

src/hotspot/share/opto/castnode.cpp

Print this page

        

@@ -290,16 +290,19 @@
   if (_carry_dependency) {
     return this;
   }
   const Type* t = phase->type(in(1));
   if (EnableVectorReboxing && in(1)->Opcode() == Op_VectorBox) {
-    return t->higher_equal_speculative(phase->type(this)) ? in(1) : this;
-  } else {
+    if (t->higher_equal_speculative(phase->type(this))) {
+      return in(1);
+    }
+  } else if (t == phase->type(this)) {
     // Toned down to rescue meeting at a Phi 3 different oops all implementing
     // the same interface.
-    return (t == phase->type(this)) ? in(1) : this;
+    return in(1);
   }
+  return this;
 }
 
 //------------------------------Value------------------------------------------
 // Take 'join' of input and cast-up type, unless working with an Interface
 const Type* CheckCastPPNode::Value(PhaseGVN* phase) const {
< prev index next >