< prev index next >

src/hotspot/share/opto/callnode.cpp

Print this page

        

@@ -1192,35 +1192,11 @@
 
 
 //------------------------------Ideal------------------------------------------
 // Skip over any collapsed Regions
 Node *SafePointNode::Ideal(PhaseGVN *phase, bool can_reshape) {
-  if (remove_dead_region(phase, can_reshape)) {
-    return this;
-  }
-  if (jvms() != NULL) {
-    bool progress = false;
-    // A ValueTypeNode that was already heap allocated in the debug
-    // info?  Reference the object directly. Helps removal of useless
-    // value type allocations with incremental inlining.
-    for (uint i = jvms()->debug_start(); i < jvms()->debug_end(); i++) {
-      Node *arg = in(i);
-      if (arg->is_ValueType()) {
-        ValueTypeNode* vt = arg->as_ValueType();
-        Node* in_oop = vt->get_oop();
-        const Type* oop_type = phase->type(in_oop);
-        if (!TypePtr::NULL_PTR->higher_equal(oop_type)) {
-          set_req(i, in_oop);
-          progress = true;
-        }
-      }
-    }
-    if (progress) {
-      return this;
-    }
-  }
-  return NULL;
+  return remove_dead_region(phase, can_reshape) ? this : NULL;
 }
 
 //------------------------------Identity---------------------------------------
 // Remove obviously duplicate safepoints
 Node* SafePointNode::Identity(PhaseGVN* phase) {
< prev index next >