RFR (M): 7173340: C2: code cleanup: use PhaseIterGVN::replace_edge(Node*, int, Node*) where applicable (original) (raw)
Vladimir Ivanov vladimir.x.ivanov at oracle.com
Wed Jun 6 02:22:17 PDT 2012
- Previous message: RFR (S): 7169782: C2: SIGSEGV in LShiftLNode::Ideal(PhaseGVN*, bool)
- Next message: RFR (M): 7173340: C2: code cleanup: use PhaseIterGVN::replace_edge(Node*, int, Node*) where applicable
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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:
igvn.hash_delete(n); n->set_req(i, in); igvn._worklist.push(n);
hash_delete(n); n->del_req(i); _worklist.push(n);
hash_delete(n); _worklist.push(n); to
PhaseIterGVN::replace_edge_of(Node*, int, Node*)
PhaseIterGVN::delete_edge_of(Node*, int)
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
- Previous message: RFR (S): 7169782: C2: SIGSEGV in LShiftLNode::Ideal(PhaseGVN*, bool)
- Next message: RFR (M): 7173340: C2: code cleanup: use PhaseIterGVN::replace_edge(Node*, int, Node*) where applicable
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the hotspot-compiler-dev mailing list