Mercurial > hg > truffle
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 { |