RFR (M): 7173340: C2: code cleanup: use PhaseIterGVN::replace_edge(Node*, int, Node*) where applicable

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Wed Jun 6 02:22:17 PDT 2012


http://cr.openjdk.java.net/~vi/7173340/webrev.01/

The idea is to replace the following patterns with a single call to
a corresponding method from PhaseIterGVN:
   1) igvn.hash_delete(n);
      n->set_req(i, in);
      igvn._worklist.push(n);

   2) hash_delete(n);
      n->del_req(i);
      _worklist.push(n);

   3) hash_delete(n);
      _worklist.push(n);
  to
   1) PhaseIterGVN::replace_edge_of(Node*, int, Node*)
   2) PhaseIterGVN::delete_edge_of(Node*, int)
   3) PhaseIterGVN::rehash_node_delayed(Node*)

I reordered code in some places, but it should be safe. Please, confirm.

Testing: VM tests, VM regression tests

Thanks!

Best regards,
Vladimir Ivanov


More information about the hotspot-compiler-dev mailing list