Lines Matching refs:proj
45 // Return true if proj is the form of "proj->[region->..]call_uct"
46 bool PhaseIdealLoop::is_uncommon_trap_proj(ProjNode* proj, Deoptimization::DeoptReason reason) {
48 assert(proj, "invalid argument");
49 Node* out = proj;
71 // Return true for "if(test)-> proj -> ...
77 bool PhaseIdealLoop::is_uncommon_trap_if_pattern(ProjNode *proj, Deoptimization::DeoptReason reason) {
78 Node *in0 = proj->in(0);
92 ProjNode* other_proj = iff->proj_out(1-proj->_con)->as_Proj();
755 // Create list of if-projs such that a newer proj dominates all older
768 bool hoisted = false; // true if at least one proj is promoted
773 ProjNode* proj = if_proj_list.pop()->as_Proj();
774 IfNode* iff = proj->in(0)->as_If();
776 if (!is_uncommon_trap_if_pattern(proj, Deoptimization::Reason_none)) {
783 // (1) there is one backward branch. In this case, any remaining proj
787 // (2) both arms are forwarded, i.e. a diamond shape. In this case, "proj"
807 if (proj->_con != predicate_proj->_con) {
825 assert(proj->_con == predicate_proj->_con, "must match");
891 invar.map_ctrl(proj, new_predicate_proj); // so that invariance test can be appropriate
894 dominated_by( new_predicate_proj, iff, proj->_con != new_predicate_proj->_con );