comparison src/share/vm/opto/multnode.cpp @ 18041:52b4284cb496

Merge with jdk8u20-b26
author Gilles Duboscq <duboscq@ssw.jku.at>
date Wed, 15 Oct 2014 16:02:50 +0200
parents 89152779163c
children 7848fc12602b
comparison
equal deleted inserted replaced
17606:45d7b2c7029d 18041:52b4284cb496
52 ProjNode *proj = p->as_Proj(); 52 ProjNode *proj = p->as_Proj();
53 if (proj->_con == which_proj) { 53 if (proj->_con == which_proj) {
54 assert(Opcode() != Op_If || proj->Opcode() == (which_proj?Op_IfTrue:Op_IfFalse), "bad if #2"); 54 assert(Opcode() != Op_If || proj->Opcode() == (which_proj?Op_IfTrue:Op_IfFalse), "bad if #2");
55 return proj; 55 return proj;
56 } 56 }
57 } else if (p->is_FlagsProj()) {
58 FlagsProjNode *proj = p->as_FlagsProj();
59 if (proj->_con == which_proj) {
60 return proj;
61 }
62 } else { 57 } else {
63 assert(p == this && this->is_Start(), "else must be proj"); 58 assert(p == this && this->is_Start(), "else must be proj");
64 continue; 59 continue;
65 } 60 }
66 } 61 }
92 t = t->is_tuple()->field_at(_con); 87 t = t->is_tuple()->field_at(_con);
93 Node* n = in(0); 88 Node* n = in(0);
94 if ((_con == TypeFunc::Parms) && 89 if ((_con == TypeFunc::Parms) &&
95 n->is_CallStaticJava() && n->as_CallStaticJava()->is_boxing_method()) { 90 n->is_CallStaticJava() && n->as_CallStaticJava()->is_boxing_method()) {
96 // The result of autoboxing is always non-null on normal path. 91 // The result of autoboxing is always non-null on normal path.
97 t = t->join(TypePtr::NOTNULL); 92 t = t->join_speculative(TypePtr::NOTNULL);
98 } 93 }
99 return t; 94 return t;
100 } 95 }
101 96
102 const Type *ProjNode::bottom_type() const { 97 const Type *ProjNode::bottom_type() const {