Mercurial > hg > truffle
comparison src/share/vm/opto/multnode.cpp @ 14909:4ca6dc0799b6
Backout jdk9 merge
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Tue, 01 Apr 2014 13:57:07 +0200 |
parents | cd5d10655495 |
children | 89152779163c |
comparison
equal
deleted
inserted
replaced
14908:8db6e76cb658 | 14909:4ca6dc0799b6 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
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 } | |
57 } else { | 62 } else { |
58 assert(p == this && this->is_Start(), "else must be proj"); | 63 assert(p == this && this->is_Start(), "else must be proj"); |
59 continue; | 64 continue; |
60 } | 65 } |
61 } | 66 } |
87 t = t->is_tuple()->field_at(_con); | 92 t = t->is_tuple()->field_at(_con); |
88 Node* n = in(0); | 93 Node* n = in(0); |
89 if ((_con == TypeFunc::Parms) && | 94 if ((_con == TypeFunc::Parms) && |
90 n->is_CallStaticJava() && n->as_CallStaticJava()->is_boxing_method()) { | 95 n->is_CallStaticJava() && n->as_CallStaticJava()->is_boxing_method()) { |
91 // The result of autoboxing is always non-null on normal path. | 96 // The result of autoboxing is always non-null on normal path. |
92 t = t->join_speculative(TypePtr::NOTNULL); | 97 t = t->join(TypePtr::NOTNULL); |
93 } | 98 } |
94 return t; | 99 return t; |
95 } | 100 } |
96 | 101 |
97 const Type *ProjNode::bottom_type() const { | 102 const Type *ProjNode::bottom_type() const { |