src/share/vm/opto/connode.cpp

changeset 1040
98cb887364d3
parent 803
36ccc817fca4
child 1077
660978a2a31a
equal deleted inserted replaced
1039:ec59443af135 1040:98cb887364d3
69 69
70 (2) Plug the control edge from 1 of the 2 oops in. Apparent problem here is 70 (2) Plug the control edge from 1 of the 2 oops in. Apparent problem here is
71 to figure out which test post-dominates. The real problem is that it doesn't 71 to figure out which test post-dominates. The real problem is that it doesn't
72 matter which one you pick. After you pick up, the dominating-test elider in 72 matter which one you pick. After you pick up, the dominating-test elider in
73 IGVN can remove the test and allow you to hoist up to the dominating test on 73 IGVN can remove the test and allow you to hoist up to the dominating test on
74 the choosen oop bypassing the test on the not-choosen oop. Seen in testing. 74 the chosen oop bypassing the test on the not-chosen oop. Seen in testing.
75 Oops. 75 Oops.
76 76
77 (3) Leave the CastPP's in. This makes the graph more accurate in some sense; 77 (3) Leave the CastPP's in. This makes the graph more accurate in some sense;
78 we get to keep around the knowledge that an oop is not-null after some test. 78 we get to keep around the knowledge that an oop is not-null after some test.
79 Alas, the CastPP's interfere with GVN (some values are the regular oop, some 79 Alas, the CastPP's interfere with GVN (some values are the regular oop, some

mercurial