equal
deleted
inserted
replaced
475 } |
475 } |
476 |
476 |
477 // if this IfNode follows a range check pattern return the projection |
477 // if this IfNode follows a range check pattern return the projection |
478 // for the failed path |
478 // for the failed path |
479 ProjNode* IfNode::range_check_trap_proj(int& flip_test, Node*& l, Node*& r) { |
479 ProjNode* IfNode::range_check_trap_proj(int& flip_test, Node*& l, Node*& r) { |
|
480 if (outcnt() != 2) { |
|
481 return NULL; |
|
482 } |
480 Node* b = in(1); |
483 Node* b = in(1); |
481 if (b == NULL || !b->is_Bool()) return NULL; |
484 if (b == NULL || !b->is_Bool()) return NULL; |
482 BoolNode* bn = b->as_Bool(); |
485 BoolNode* bn = b->as_Bool(); |
483 Node* cmp = bn->in(1); |
486 Node* cmp = bn->in(1); |
484 if (cmp == NULL) return NULL; |
487 if (cmp == NULL) return NULL; |