comparison src/share/vm/c1/c1_LIRGenerator.cpp @ 9088:89e4d67fdd2a

Merge
author Gilles Duboscq <duboscq@ssw.jku.at>
date Fri, 12 Apr 2013 14:05:42 +0200
parents b9a918201d47 8be1318fbe77
children 43223d3f5dcd
comparison
equal deleted inserted replaced
9037:b008f40b67d0 9088:89e4d67fdd2a
706 static ciArrayKlass* as_array_klass(ciType* type) { 706 static ciArrayKlass* as_array_klass(ciType* type) {
707 if (type != NULL && type->is_array_klass() && type->is_loaded()) { 707 if (type != NULL && type->is_array_klass() && type->is_loaded()) {
708 return (ciArrayKlass*)type; 708 return (ciArrayKlass*)type;
709 } else { 709 } else {
710 return NULL; 710 return NULL;
711 }
712 }
713
714 static Value maxvalue(IfOp* ifop) {
715 switch (ifop->cond()) {
716 case If::eql: return NULL;
717 case If::neq: return NULL;
718 case If::lss: // x < y ? x : y
719 case If::leq: // x <= y ? x : y
720 if (ifop->x() == ifop->tval() &&
721 ifop->y() == ifop->fval()) return ifop->y();
722 return NULL;
723
724 case If::gtr: // x > y ? y : x
725 case If::geq: // x >= y ? y : x
726 if (ifop->x() == ifop->tval() &&
727 ifop->y() == ifop->fval()) return ifop->y();
728 return NULL;
729
730 } 711 }
731 } 712 }
732 713
733 static ciType* phi_declared_type(Phi* phi) { 714 static ciType* phi_declared_type(Phi* phi) {
734 ciType* t = phi->operand_at(0)->declared_type(); 715 ciType* t = phi->operand_at(0)->declared_type();